X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=tools%2Fccanlint%2Ftests%2Freduce_features.c;h=34a897061bb4fbe16c69800bf699f930d753502b;hp=5093af9f95f4b328273ce9bf831b376c41972ae1;hb=HEAD;hpb=aabf300e324f7da5134d7ad45afba11225045c24 diff --git a/tools/ccanlint/tests/reduce_features.c b/tools/ccanlint/tests/reduce_features.c index 5093af9f..34a89706 100644 --- a/tools/ccanlint/tests/reduce_features.c +++ b/tools/ccanlint/tests/reduce_features.c @@ -2,9 +2,7 @@ #include #include #include -#include #include -#include #include #include #include @@ -20,7 +18,7 @@ bool features_were_reduced; static const char *can_run(struct manifest *m) { if (!config_header) - return talloc_strdup(m, "Could not read config.h"); + return tal_strdup(m, "Could not read config.h"); return NULL; } @@ -85,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; @@ -103,11 +101,12 @@ static struct htable_option *get_used_options(struct manifest *m) static struct htable_option *get_config_options(struct manifest *m) { - const char **lines = (const char **)strsplit(m, config_header, "\n"); + const char **lines = (const char **)tal_strsplit(m, config_header, "\n", + STR_EMPTY_OK); unsigned int i; struct htable_option *opts = htable_option_new(); - for (i = 0; i < talloc_array_length(lines) - 1; i++) { + for (i = 0; i < tal_count(lines) - 1; i++) { char *sym; if (!get_token(&lines[i], "#")) @@ -131,7 +130,8 @@ static struct htable_option *get_config_options(struct manifest *m) } static void do_reduce_features(struct manifest *m, - unsigned int *timeleft, struct score *score) + unsigned int *timeleft UNNEEDED, + struct score *score) { struct htable_option *options_used, *options_avail, *options; struct htable_option_iter i; @@ -166,13 +166,12 @@ static void do_reduce_features(struct manifest *m, return; /* Now make our own config.h variant, with our own options. */ - hdr = talloc_strdup(m, "/* Modified by reduce_features */\n"); - hdr = talloc_append_string(hdr, config_header); + hdr = tal_strcat(m, "/* Modified by reduce_features */\n", + config_header); for (sym = htable_option_first(options, &i); sym; sym = htable_option_next(options, &i)) { - hdr = talloc_asprintf_append - (hdr, "#undef %s\n#define %s 0\n", sym, sym); + tal_append_fmt(&hdr, "#undef %s\n#define %s 0\n", sym, sym); } if (mkdir("reduced-features", 0700) != 0 && errno != EEXIST) err(1, "Creating reduced-features directory"); @@ -182,6 +181,7 @@ static void do_reduce_features(struct manifest *m, err(1, "Creating reduced-features/config.h"); if (!write_all(fd, hdr, strlen(hdr))) err(1, "Writing reduced-features/config.h"); + htable_option_free(options); close(fd); features_were_reduced = true; }