diff options
author | René Scharfe <l.s.r@web.de> | 2023-06-17 23:42:26 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-06-18 22:55:30 +0300 |
commit | 39dbd49b4138b6cdc9fb73e317d4e9f06df0c5c5 (patch) | |
tree | 2b722043cd3649825a6cf80157d174135e251071 /strbuf.c | |
parent | 44ccb337f10a08bb265b911f86deaf5f3347d967 (diff) |
replace strbuf_expand_dict_cb() with strbuf_expand_step()
Avoid the overhead of setting up a dictionary and passing it via
strbuf_expand() to strbuf_expand_dict_cb() by using strbuf_expand_step()
in a loop instead. It requires explicit handling of %% and unrecognized
placeholders, but is more direct and simpler overall, and expands only
on demand.
Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'strbuf.c')
-rw-r--r-- | strbuf.c | 16 |
1 files changed, 0 insertions, 16 deletions
@@ -468,22 +468,6 @@ size_t strbuf_expand_literal_cb(struct strbuf *sb, return 0; } -size_t strbuf_expand_dict_cb(struct strbuf *sb, const char *placeholder, - void *context) -{ - struct strbuf_expand_dict_entry *e = context; - size_t len; - - for (; e->placeholder && (len = strlen(e->placeholder)); e++) { - if (!strncmp(placeholder, e->placeholder, len)) { - if (e->value) - strbuf_addstr(sb, e->value); - return len; - } - } - return 0; -} - void strbuf_addbuf_percentquote(struct strbuf *dst, const struct strbuf *src) { size_t i, len = src->len; |