Commit 5f551788 authored by Rusty Russell's avatar Rusty Russell

ccanlint: remove redundant num_lines in struct ccan_file.

We can use tal_count.
Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
parent 756407b4
......@@ -218,9 +218,10 @@ struct line_info *get_ccan_line_info(struct ccan_file *f)
return f->line_info;
get_ccan_file_lines(f);
f->line_info = tal_arr(f->lines, struct line_info, f->num_lines);
f->line_info = tal_arr(f->lines, struct line_info,
tal_count(f->lines)-1);
for (i = 0; i < f->num_lines; continued = continues(f->lines[i++])) {
for (i = 0; f->lines[i]; continued = continues(f->lines[i++])) {
char *p;
bool still_doc_line;
......
......@@ -64,7 +64,7 @@ static void handle_idem(struct manifest *m, struct score *score)
if (fprintf(out, "#ifndef %s\n#define %s\n", name, name) < 0)
err(1, "Writing %s", tmpname);
for (i = 0; i < e->file->num_lines; i++)
for (i = 0; e->file->lines[i]; i++)
if (fprintf(out, "%s\n", e->file->lines[i]) < 0)
err(1, "Writing %s", tmpname);
......@@ -86,11 +86,11 @@ static void check_idem(struct ccan_file *f, struct score *score)
const char *line, *sym;
line_info = get_ccan_line_info(f);
if (f->num_lines < 3)
if (tal_count(f->lines) < 4)
/* FIXME: We assume small headers probably uninteresting. */
return;
for (i = 0; i < f->num_lines; i++) {
for (i = 0; f->lines[i]; i++) {
if (line_info[i].type == DOC_LINE
|| line_info[i].type == COMMENT_LINE)
continue;
......@@ -104,11 +104,11 @@ static void check_idem(struct ccan_file *f, struct score *score)
}
/* No code at all? Don't complain. */
if (i == f->num_lines)
if (!f->lines[i])
return;
first_preproc_line = i;
for (i = first_preproc_line+1; i < f->num_lines; i++) {
for (i = first_preproc_line+1; f->lines[i]; i++) {
if (line_info[i].type == DOC_LINE
|| line_info[i].type == COMMENT_LINE)
continue;
......@@ -122,7 +122,7 @@ static void check_idem(struct ccan_file *f, struct score *score)
}
/* No code at all? Weird. */
if (i == f->num_lines)
if (!f->lines[i])
return;
/* We expect a condition on this line. */
......@@ -158,7 +158,7 @@ static void check_idem(struct ccan_file *f, struct score *score)
}
/* Rest of code should all be covered by that conditional. */
for (i++; i < f->num_lines; i++) {
for (i++; f->lines[i]; i++) {
unsigned int val = 0;
if (line_info[i].type == DOC_LINE
|| line_info[i].type == COMMENT_LINE)
......
......@@ -34,7 +34,7 @@ static void check_trailing_whitespace(struct manifest *m,
foreach_ptr(list, &m->c_files, &m->h_files) {
list_for_each(list, f, list) {
char **lines = get_ccan_file_lines(f);
for (i = 0; i < f->num_lines; i++) {
for (i = 0; f->lines[i]; i++) {
char *err = get_trailing_whitespace(score,
lines[i]);
if (err)
......
......@@ -83,7 +83,7 @@ static struct htable_option *get_used_options(struct manifest *m)
info = get_ccan_line_info(f);
struct pp_conditions *prev = NULL;
for (i = 0; i < f->num_lines; i++) {
for (i = 0; f->lines[i]; i++) {
if (info[i].cond && info[i].cond != prev) {
num += add_options(opts, info[i].cond);
prev = info[i].cond;
......
......@@ -57,8 +57,6 @@ char **get_ccan_file_lines(struct ccan_file *f)
f->lines = tal_strsplit(f, get_ccan_file_contents(f), "\n",
STR_EMPTY_OK);
/* FIXME: is f->num_lines necessary? */
f->num_lines = tal_count(f->lines) - 1;
return f->lines;
}
......
......@@ -64,7 +64,6 @@ struct ccan_file {
size_t contents_size;
/* Use get_ccan_file_lines / get_ccan_line_info to fill these. */
unsigned int num_lines;
char **lines;
struct line_info *line_info;
......
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