Re: [PATCH 2/9] strbuf: add strbuf_tolower function
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 22, 2014, 18:36 UTC
- Message-ID
- <xmqq38g1oe2y.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <20140522055852.GA16587@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 27 quoted lines
> On Wed, May 21, 2014 at 05:07:36PM -0700, Kyle J. McKay wrote:
>
>> >+void strbuf_tolower(struct strbuf *sb)
>> >+{
>> >+ size_t i;
>> >+ for (i = 0; i < sb->len; i++)
>> >+ sb->buf[i] = tolower(sb->buf[i]);
>> >+}
>> >+
>>
>> Wouldn't a direct transfer of the lowercase function be something more like:
>>
>>
>> void strbuf_tolower(struct strbuf *sb)
>> {
>> char *p = sb->buf;
>> for (; *p; p++)
>> *p = tolower(*p);
>> }
>>
>> That seems to me to be a bit more efficient. According to the comments in
>> strbuf.c, "people can always assume buf is non NULL and ->buf is NUL
>> terminated even for a freshly initialized strbuf."
>
> Yes, and that would be fine with me (I actually wrote strbuf_tolower for
> my own use, and _then_ realized that we already had such a thing that
> could be replaced).Do we forbid that sb->buf[x] for some x < sb->len to be NUL, and if there is such a byte we stop running tolower() on the remainder?