On Thu, Jan 30, 2014 at 1:49 AM, Christian Couder <chriscool@xxxxxxxxxxxxx> wrote: > Signed-off-by: Christian Couder <chriscool@xxxxxxxxxxxxx> > --- > diff --git a/strbuf.c b/strbuf.c > index 2124bb8..e45e513 100644 > --- a/strbuf.c > +++ b/strbuf.c > @@ -197,6 +197,13 @@ void strbuf_splice(struct strbuf *sb, size_t pos, size_t len, > strbuf_setlen(sb, sb->len + dlen - len); > } > > +void strbuf_replace(struct strbuf *sb, const char *a, const char *b) > +{ > + char *ptr = strstr(sb->buf, a); This could be 'const char *'. > + if (ptr) > + strbuf_splice(sb, ptr - sb->buf, strlen(a), b, strlen(b)); > +} > + > void strbuf_insert(struct strbuf *sb, size_t pos, const void *data, size_t len) > { > strbuf_splice(sb, pos, 0, data, len); > diff --git a/strbuf.h b/strbuf.h > index 02bff3a..38faf70 100644 > --- a/strbuf.h > +++ b/strbuf.h > @@ -111,6 +111,9 @@ extern void strbuf_remove(struct strbuf *, size_t pos, size_t len); > extern void strbuf_splice(struct strbuf *, size_t pos, size_t len, > const void *, size_t); > > +/* first occurence of a replaced with b */ > +extern void strbuf_replace(struct strbuf *, const char *a, const char *b); Updating Documentation/technical/api-strbuf.txt to mention this new function would be appropriate. > extern void strbuf_add_commented_lines(struct strbuf *out, const char *buf, size_t size); > > extern void strbuf_add(struct strbuf *, const void *, size_t); -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html