pretty: factor out expand_separator()
Deduplicate the code for setting the options "separator" and "key_value_separator" by moving it into a new helper function, expand_separator(). Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe committed
Jun 17, 2023 at 22:40 UTC
3c3d0c4242d834c49d77da321425819c175df61c
1 file changed
+13
-14
pretty.c
+13
-14
@@ -1250,6 +1250,17 @@ static int format_trailer_match_cb(const struct strbuf *key, void *ud)
1250
return 0;
1251
}
1252
1253
+static struct strbuf *expand_separator(struct strbuf *sb,
1254
+ const char *argval, size_t arglen)
1255
+{
1256
+ char *fmt = xstrndup(argval, arglen);
1257
+
1258
+ strbuf_reset(sb);
1259
+ strbuf_expand(sb, fmt, strbuf_expand_literal_cb, NULL);
1260
+ free(fmt);
1261
+ return sb;
1262
+}
1263
+
1264
int format_set_trailers_options(struct process_trailer_options *opts,
1265
struct string_list *filter_list,
1266
struct strbuf *sepbuf,
@@ -1278,21 +1289,9 @@ int format_set_trailers_options(struct process_trailer_options *opts,
1289
opts->filter_data = filter_list;
1290
opts->only_trailers = 1;
1291
} else if (match_placeholder_arg_value(*arg, "separator", arg, &argval, &arglen)) {
1281
- char *fmt;
1282
-
1283
- strbuf_reset(sepbuf);
1284
- fmt = xstrndup(argval, arglen);
1285
- strbuf_expand(sepbuf, fmt, strbuf_expand_literal_cb, NULL);
1286
- free(fmt);
1287
- opts->separator = sepbuf;
1292
+ opts->separator = expand_separator(sepbuf, argval, arglen);
1293
} else if (match_placeholder_arg_value(*arg, "key_value_separator", arg, &argval, &arglen)) {
1289
- char *fmt;
1290
-
1291
- strbuf_reset(kvsepbuf);
1292
- fmt = xstrndup(argval, arglen);
1293
- strbuf_expand(kvsepbuf, fmt, strbuf_expand_literal_cb, NULL);
1294
- free(fmt);
1295
- opts->key_value_separator = kvsepbuf;
1294
+ opts->key_value_separator = expand_separator(kvsepbuf, argval, arglen);
1295
} else if (!match_placeholder_bool_arg(*arg, "only", arg, &opts->only_trailers) &&
1296
!match_placeholder_bool_arg(*arg, "unfold", arg, &opts->unfold) &&
1297
!match_placeholder_bool_arg(*arg, "keyonly", arg, &opts->key_only) &&