X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=tools%2Fnamespacize.c;h=100d79428a1a1de6877c298d48c11e3bab5a0245;hp=5ac85f502f2abb0f5cc9cea1d583c68fdf5546d0;hb=a446f1d4d161d66bbb19ba2551cf6429a4865964;hpb=100444225380d3f5ca29424ea54703d308c7c651 diff --git a/tools/namespacize.c b/tools/namespacize.c index 5ac85f50..100d7942 100644 --- a/tools/namespacize.c +++ b/tools/namespacize.c @@ -53,7 +53,8 @@ static char **get_dir(const char *dir) names[size++] = talloc_asprintf(names, "%s/%s", dir, ent->d_name); } - names[size++] = NULL; + /* FIXME: if the loop doesn't run at least once, we'll segfault here */ + names[size] = NULL; closedir(d); return names; } @@ -111,7 +112,7 @@ static void look_for_macros(char *contents, struct replace **repl) for (p = contents; *p; p++) { if (*p == '\n') state = LINESTART; - else if (!isspace(*p)) { + else if (!cisspace(*p)) { if (state == LINESTART && *p == '#') state = HASH; else if (state==HASH && !strncmp(p, "define", 6)) { @@ -177,9 +178,9 @@ static char *get_statement(const void *ctx, char **p) return answer; } /* Compress whitespace into a single ' ' */ - if (isspace(c)) { + if (cisspace(c)) { c = ' '; - while (isspace((*p)[1])) + while (cisspace((*p)[1])) (*p)++; } else if (c == '{' || c == '(' || c == '[') { if (c == '(') @@ -316,11 +317,11 @@ static char *find_word(char *f, const char *str) while ((p = strstr(p, str)) != NULL) { /* Check it's not in the middle of a word. */ - if (p > f && (isalnum(p[-1]) || p[-1] == '_')) { + if (p > f && (cisalnum(p[-1]) || p[-1] == '_')) { p++; continue; } - if (isalnum(p[strlen(str)]) || p[strlen(str)] == '_') { + if (cisalnum(p[strlen(str)]) || p[strlen(str)] == '_') { p++; continue; } @@ -350,7 +351,7 @@ static const char *rewrite_file(const char *filename, off = p - file; memcpy(new, file, off); - if (isupper(repl->string[0])) + if (cisupper(repl->string[0])) memcpy(new + off, "CCAN_", 5); else memcpy(new + off, "ccan_", 5);