Re: [PATCH v4 12/17] strbuf: add strbuf_replace()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]