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)
/* 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);
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;
- }
}
- score->pass = true;
- score->score = score->total;
+ if (!score->error) {
+ score->pass = true;
+ score->score = score->total;
+ }
}
struct ccanlint idempotent = {