); SAEximRunCond expanded to false Now that config is stored on the trailer_item it can easily be accessed print time and the changing of the token into the configured (canonical) spelling can be done print time instead. No functional change intended. Signed-off-by: Anders Waldenborg <anders@xxxxxxx> --- trailer.c | 42 +++++++++++++++++------------------------- 1 file changed, 17 insertions(+), 25 deletions(-) diff --git a/trailer.c b/trailer.c index 71921e70ce..d6882155be 100644 --- a/trailer.c +++ b/trailer.c @@ -149,20 +149,24 @@ static char last_non_space_char(const char *s) static void print_item(FILE *outfile, const struct trailer_item *item) { - char c; - - if (!item->token) { - fprintf(outfile, "%s\n", item->value); - return; + if (item->token) { + const char *tok = item->token; + const struct conf_info *conf = item->conf; + char c; + + if (conf && conf->key) + tok = conf->key; + + c = last_non_space_char(tok); + if (!c) + return; + if (strchr(separators, c)) + fputs(tok, outfile); + else + fprintf(outfile, "%s%c ", tok, separators[0]); } - c = last_non_space_char(item->token); - if (!c) - return; - if (strchr(separators, c)) - fprintf(outfile, "%s%s\n", item->token, item->value); - else - fprintf(outfile, "%s%c %s\n", item->token, separators[0], item->value); + fprintf(outfile, "%s\n", item->value); } static void print_all(FILE *outfile, struct list_head *head, @@ -569,15 +573,6 @@ static void ensure_configured(void) configured = 1; } -static const char *token_from_conf(const struct conf_info *conf, char *tok) -{ - if (conf->key) - return conf->key; - if (tok) - return tok; - return conf->name; -} - static int token_matches_conf(const char *tok, const struct conf_info *conf, size_t tok_len) { if (!strncasecmp(tok, conf->name, tok_len)) @@ -646,11 +641,8 @@ static void parse_trailer(struct strbuf *tok, struct strbuf *val, list_for_each(pos, &conf_head) { item = list_entry(pos, struct conf_info_item, list); if (token_matches_conf(tok->buf, &item->conf, tok_len)) { - char *tok_buf = strbuf_detach(tok, NULL); if (conf) *conf = &item->conf; - strbuf_addstr(tok, token_from_conf(&item->conf, tok_buf)); - free(tok_buf); break; } } @@ -706,7 +698,7 @@ static void process_command_line_args(struct list_head *arg_head, item = list_entry(pos, struct conf_info_item, list); if (item->conf.command) add_arg_item(arg_head, - xstrdup(token_from_conf(&item->conf, NULL)), + xstrdup(item->conf.name), xstrdup(""), &item->conf, NULL); } -- 2.25.1