X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=tools%2Fccanlint%2Ffile_analysis.c;h=2a66a545846e37e119ffc5921395f3309a0f049f;hp=dc23eb964b2f5ba3c49bf03a3e52dd3de1311d1b;hb=2c67a284d11b5b030d8095df7ff2b31275d7d29c;hpb=a3d9f540245cbb6d4e2dc16d51d838d753c636a2 diff --git a/tools/ccanlint/file_analysis.c b/tools/ccanlint/file_analysis.c index dc23eb96..2a66a545 100644 --- a/tools/ccanlint/file_analysis.c +++ b/tools/ccanlint/file_analysis.c @@ -17,12 +17,9 @@ char **get_ccan_file_lines(struct ccan_file *f) { - if (!f->lines) { - char *buffer = grab_file(f, f->name, NULL); - if (!buffer) - err(1, "Getting file %s", f->name); - f->lines = strsplit(f, buffer, "\n", &f->num_lines); - } + if (!f->lines) + f->lines = strsplit(f, f->contents, "\n", &f->num_lines); + return f->lines; } @@ -74,15 +71,26 @@ static void add_files(struct manifest *m, const char *dir) continue; } - if (streq(f->name, "_info.c")) { + if (streq(f->name, "_info")) { m->info_file = f; + f->contents = grab_file(f, f->name, &f->contents_size); + if (!f->contents) + err(1, "Reading file %s", f->name); continue; } is_c_src = strends(f->name, ".c"); - if (!is_c_src && !strends(f->name, ".h")) + if (!is_c_src && !strends(f->name, ".h")) { + /* We don't pull in contents of non-source files */ dest = &m->other_files; - else if (!strchr(f->name, '/')) { + continue; + } + + f->contents = grab_file(f, f->name, &f->contents_size); + if (!f->contents) + err(1, "Reading file %s", f->name); + + if (!strchr(f->name, '/')) { if (is_c_src) dest = &m->c_files; else