Commit f1c96e9d authored by Rusty Russell's avatar Rusty Russell

ccanlint: fix idempotent handler

Test for inserting idempotent header was wrong way around, and we check
all headers at once, rather than finishing after one.

Also, turn - into _ rather than removing.
parent f9b11b0d
......@@ -24,13 +24,14 @@ static const char explain[]
static void fix_name(char *name)
{
unsigned int i, j;
unsigned int i;
for (i = j = 0; name[i]; i++) {
if (isalnum(name[i]) || name[i] == '_')
name[j++] = toupper(name[i]);
for (i = 0; name[i]; i++) {
if (isalnum(name[i]))
name[i] = toupper(name[i]);
else
name[i] = '_';
}
name[j] = '\0';
}
static void handle_idem(struct manifest *m, struct score *score)
......@@ -44,10 +45,10 @@ static void handle_idem(struct manifest *m, struct score *score)
/* Main header gets CCAN_FOO_H, others CCAN_FOO_XXX_H */
if (strstarts(e->file->name, m->basename)
|| strlen(e->file->name) != strlen(m->basename) + 2)
|| strlen(e->file->name) == strlen(m->basename) + 2)
name = talloc_asprintf(score, "CCAN_%s_H", m->basename);
else
name = talloc_asprintf(score, "CCAN_%s_%s_H",
name = talloc_asprintf(score, "CCAN_%s_%s",
m->basename, e->file->name);
fix_name(name);
......@@ -183,13 +184,13 @@ static void check_idempotent(struct manifest *m,
struct ccan_file *f;
list_for_each(&m->h_files, f, list) {
if (!check_idem(f, score)) {
if (!check_idem(f, score))
score->error = "Headers are not idempotent";
return;
}
}
if (!score->error) {
score->pass = true;
score->score = score->total;
}
}
struct ccanlint idempotent = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment