diff options
author | Junio C Hamano <gitster@pobox.com> | 2010-01-20 14:40:12 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-01-20 14:40:12 -0800 |
commit | 0877510ad4e8b951b08f9cbb25cfc0d994468979 (patch) | |
tree | dcfc43b1cf44ba49c3f9f206504d2f1cfee8bcc6 /strbuf.c | |
parent | 15a873d6e85d8089117a6a2141c8158bd370cf49 (diff) | |
parent | 1a893064d7b403625896a2c8bdab39f0f7db61d5 (diff) | |
download | git-0877510ad4e8b951b08f9cbb25cfc0d994468979.tar.gz git-0877510ad4e8b951b08f9cbb25cfc0d994468979.tar.xz |
Merge branch 'jk/warn-author-committer-after-commit'
* jk/warn-author-committer-after-commit:
user_ident_sufficiently_given(): refactor the logic to be usable from elsewhere
commit.c::print_summary: do not release the format string too early
commit: allow suppression of implicit identity advice
commit: show interesting ident information in summary
strbuf: add strbuf_addbuf_percentquote
strbuf_expand: convert "%%" to "%"
Conflicts:
builtin-commit.c
ident.c
Diffstat (limited to 'strbuf.c')
-rw-r--r-- | strbuf.c | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -220,6 +220,12 @@ void strbuf_expand(struct strbuf *sb, const char *format, expand_fn_t fn, break; format = percent + 1; + if (*format == '%') { + strbuf_addch(sb, '%'); + format++; + continue; + } + consumed = fn(sb, format, context); if (consumed) format += consumed; @@ -244,6 +250,17 @@ size_t strbuf_expand_dict_cb(struct strbuf *sb, const char *placeholder, return 0; } +void strbuf_addbuf_percentquote(struct strbuf *dst, const struct strbuf *src) +{ + int i, len = src->len; + + for (i = 0; i < len; i++) { + if (src->buf[i] == '%') + strbuf_addch(dst, '%'); + strbuf_addch(dst, src->buf[i]); + } +} + size_t strbuf_fread(struct strbuf *sb, size_t size, FILE *f) { size_t res; |