diff --git a/src/xml_parser.c b/src/xml_parser.c index 2609e59..b29cb73 100644 --- a/src/xml_parser.c +++ b/src/xml_parser.c @@ -826,13 +826,42 @@ char * strToUpper(char *str) return ret; } +char * strToCamel(char *str) +{ + char *lowString = strToLower(str); + char buffer[1024]; + char *run, *prev; + + strcpy (buffer, ""); + + prev = lowString; + run = strchr (lowString, '_'); + while (run) + { + *run = 0; + prev[0] = toupper(prev[0]); + strcat (buffer, prev); + prev = run+1; + run = strchr (prev, '_'); + } + + prev[0] = toupper(prev[0]); + strcat (buffer, prev); + + free (lowString); + return strdup (buffer); +} + char * strToFirstUp(char *str) { - char *ret = strToLower(str); - ret[0] = toupper(ret[0]); - return ret; +// char *ret = strToLower(str); +// ret[0] = toupper(ret[0]); +// return ret; + return strToCamel (str); } + + static void usage(void) { printf("Usage: %9s [options] \n",programName);