X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=sim%2Fucsim%2Futils.cc;h=b7a625d393c0e4a2d2b479c343d85d2af1d0810f;hb=705b7357c506ef25bf9e84dea2d1a9b4eefea251;hp=41eddffe37844302d6e9efcf1b41cbb70c98d235;hpb=0e1bba0730e55b3d40c1c644d94befc99c87270d;p=fw%2Fsdcc diff --git a/sim/ucsim/utils.cc b/sim/ucsim/utils.cc index 41eddffe..b7a625d3 100644 --- a/sim/ucsim/utils.cc +++ b/sim/ucsim/utils.cc @@ -121,12 +121,12 @@ vformat_string(char *format, va_list ap) return(msg); #else # ifdef HAVE_VSNPRINTF - char *msg= malloc(80*25); + char *msg= (char*)malloc(80*25); vsnprintf(msg, 80*25, format, ap); return(msg); # else # ifdef HAVE_VPRINTF - char *msg= malloc(80*25); + char *msg= (char*)malloc(80*25); vsprintf(msg, format, ap); /* Dangerous */ return(msg); # endif @@ -182,4 +182,48 @@ object_name(class cl_base *o) } +char * +case_string(enum letter_case lcase, char *str) +{ + char *p= strdup(str); + char *s= p; + + switch (lcase) + { + case case_upper: + while (p && *p) { + *p= toupper(*p); + p++; + } + break; + case case_lower: + while (p && *p) { + *p= tolower(*p); + p++; + } + break; + case case_case: + if (!p || *p == '\0') + break; + while (isspace(*p)) p++; + if (*p) + *p= toupper(*p); + break; + } + return(s); +} + +/*char * +case_string(enum letter_case lcase, const char *str) +{ + char *p= NIL; + + if (!str || + !*str) + return(NIL); + p= strdup(str); + return case_string(lcase, p); +}*/ + + /* End of utils.cc */