Re: [PATCH v4 05/17] strbuf: add strbuf_isspace()

[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:
> This helper function checks if a strbuf
> contains only space chars or not.
>
> Signed-off-by: Christian Couder <chriscool@xxxxxxxxxxxxx>
> ---
> diff --git a/strbuf.c b/strbuf.c
> index 83caf4a..2124bb8 100644
> --- a/strbuf.c
> +++ b/strbuf.c
> @@ -124,6 +124,13 @@ void strbuf_ltrim(struct strbuf *sb)
>         sb->buf[sb->len] = '\0';
>  }
>
> +int strbuf_isspace(struct strbuf *sb)
> +{
> +       char *b;
> +       for (b = sb->buf; *b && isspace(*b); b++);

Quoting from the strbuf documentation:

    ... strbufs may have embedded NULs. An strbuf is NUL
    terminated for convenience, but no function in the
    strbuf API actually relies on the string being free of
    NULs.

So, the termination condition (*b) of this loop is questionable.
Looping from 0 to < sb->len makes more sense.

> +       return !*b;

Ditto for the return. This will incorrectly return 'true' if an
embedded NUL is encountered.

> +}
> +
>  struct strbuf **strbuf_split_buf(const char *str, size_t slen,
>                                  int terminator, int max)
>  {
--
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]