]> git.ozlabs.org Git - ccan/blobdiff - tools/ccanlint/tests/examples_compile.c
tools: fix ctype.h and string usage.
[ccan] / tools / ccanlint / tests / examples_compile.c
index 1ccc620248cadd3b0723de8ee01fcbef8732e687..7d28aad6ca63ec965f796e3d9f3f2e33ad393082 100644 (file)
@@ -121,7 +121,11 @@ static bool compile(const void *ctx,
        file->compiled = maybe_temp_file(ctx, "", keep, file->fullname);
        if (!compile_and_link(ctx, file->fullname, ccan_dir,
                              obj_list(m, file),
-                             "", lib_list(m), file->compiled, output)) {
+                             compiler, cflags,
+                             lib_list(m), file->compiled, output)) {
+               /* Don't keep failures. */
+               if (keep)
+                       unlink(file->compiled);
                talloc_free(file->compiled);
                file->compiled = NULL;
                return false;
@@ -141,13 +145,13 @@ static char *start_main(char *ret, const char *why)
 static char *add_func(char *others, const char *line)
 {
        const char *p, *end = strchr(line, '(') - 1;
-       while (isspace(*end)) {
+       while (cisspace(*end)) {
                end--;
                if (end == line)
                        return others;
        }
 
-       for (p = end; isalnum(*p) || *p == '_'; p--) {
+       for (p = end; cisalnum(*p) || *p == '_'; p--) {
                if (p == line)
                        return others;
        }
@@ -184,7 +188,7 @@ static bool looks_internal(char **lines, char **why)
                const char *line = lines[i] + strspn(lines[i], " \t");
                unsigned len = strspn(line, IDENT_CHARS);
 
-               if (!line[0] || isspace(line[0]) || strstarts(line, "//"))
+               if (!line[0] || cisspace(line[0]) || strstarts(line, "//"))
                        continue;
 
                /* The winners. */
@@ -224,7 +228,7 @@ static bool looks_internal(char **lines, char **why)
 
                /* Single identifier then operator == inside function. */
                if (last_ended && len
-                   && ispunct(line[len+strspn(line+len, " ")])) {
+                   && cispunct(line[len+strspn(line+len, " ")])) {
                        *why = "starts with identifier then punctuation";
                        return true;
                }
@@ -310,23 +314,24 @@ static char *mangle(struct manifest *m, char **lines)
        bool in_function = false, fake_function = false, has_main = false;
        unsigned int i;
 
-       ret = talloc_strdup(m, "/* Prepend a heap of headers. */\n"
-                           "#include <assert.h>\n"
-                           "#include <err.h>\n"
-                           "#include <errno.h>\n"
-                           "#include <fcntl.h>\n"
-                           "#include <limits.h>\n"
-                           "#include <stdbool.h>\n"
-                           "#include <stdint.h>\n"
-                           "#include <stdio.h>\n"
-                           "#include <stdlib.h>\n"
-                           "#include <string.h>\n"
-                           "#include <sys/stat.h>\n"
-                           "#include <sys/types.h>\n"
-                           "#include <unistd.h>\n");
-       ret = talloc_asprintf_append(ret, "/* Include header from module. */\n"
-                                    "#include <ccan/%s/%s.h>\n",
-                                    m->basename, m->basename);
+       ret = talloc_asprintf(m, 
+                             "/* Include header from module. */\n"
+                             "#include <ccan/%s/%s.h>\n"
+                             "/* Prepend a heap of headers. */\n"
+                             "#include <assert.h>\n"
+                             "#include <err.h>\n"
+                             "#include <errno.h>\n"
+                             "#include <fcntl.h>\n"
+                             "#include <limits.h>\n"
+                             "#include <stdbool.h>\n"
+                             "#include <stdint.h>\n"
+                             "#include <stdio.h>\n"
+                             "#include <stdlib.h>\n"
+                             "#include <string.h>\n"
+                             "#include <sys/stat.h>\n"
+                             "#include <sys/types.h>\n"
+                             "#include <unistd.h>\n",
+                             m->basename, m->basename);
 
        ret = talloc_asprintf_append(ret, "/* Useful dummy functions. */\n"
                                     "extern int somefunc(void);\n"
@@ -356,7 +361,7 @@ static char *mangle(struct manifest *m, char **lines)
                } else {
                        /* Character at start of line, with ( and no ;
                         * == function start.  Ignore comments. */
-                       if (!isspace(line[0])
+                       if (!cisspace(line[0])
                            && strchr(line, '(')
                            && !strchr(line, ';')
                            && !strstr(line, "//")) {
@@ -596,7 +601,7 @@ static void build_examples(struct manifest *m, bool keep,
                                      err[1]);
                        }
                }
-               score_file_error(score, i, 0, error);
+               score_file_error(score, i, 0, "%s", error);
                /* This didn't work, so not a candidate for combining. */
                prev = NULL;