X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=strbuf.c;h=bc3a0802ea7e7b1743602972de182391b4bf0b3f;hb=76d44c8cfda9be1db78884580ab045c421b083fe;hp=d71a623b9c7a6f5c5d786a692eec852f54a1a317;hpb=8cc5b29065e19267cbc08b39c34674b02c2e3d59;p=git.git diff --git a/strbuf.c b/strbuf.c index d71a623b9..bc3a0802e 100644 --- a/strbuf.c +++ b/strbuf.c @@ -100,13 +100,6 @@ void strbuf_ltrim(struct strbuf *sb) sb->buf[sb->len] = '\0'; } -void strbuf_tolower(struct strbuf *sb) -{ - int i; - for (i = 0; i < sb->len; i++) - sb->buf[i] = tolower(sb->buf[i]); -} - struct strbuf **strbuf_split(const struct strbuf *sb, int delim) { int alloc = 2, pos = 0; @@ -236,6 +229,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; @@ -260,6 +259,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;