From: Junio C Hamano <gits...@pobox.com>
>
> Christian Couder <chrisc...@tuxfamily.org> writes:
> 
>> diff --git a/wrapper.c b/wrapper.c
>> index 0cc5636..c46026a 100644
>> --- a/wrapper.c
>> +++ b/wrapper.c
>> @@ -455,3 +455,17 @@ struct passwd *xgetpwuid_self(void)
>>                  errno ? strerror(errno) : _("no such user"));
>>      return pw;
>>  }
>> +
>> +void lowercase(char *p)
>> +{
>> +    for (; *p; p++)
>> +            *p = tolower(*p);
>> +}
>> +
>> +char *xstrdup_tolower(const char *str)
>> +{
>> +    char *dup = xstrdup(str);
>> +    lowercase(dup);
>> +    return dup;
>> +}
>> +
> 
> As a pure code-movement step, this may be OK, but I am not sure if
> both of them want to be public functions in this shape.
> 
> Perhaps
> 
> char *downcase_copy(const char *str)
> {
>       char *copy = xmalloc(strlen(str) + 1);
>         int i;
>         for (i = 0; str[i]; i++)
>               copy[i] = tolower(str[i]);
>       copy[i] = '\0';
>         return copy;
> }
> 
> may avoid having to copy things twice.

Yeah, but it seems a bit wasteful to allocate memory for a new string,
then downcase it, then compare it with strcmp() and then free it,
instead of just using strcasecmp() on the original string.

> Do you need the other
> function exposed?

No, with the change you suggest, I don't.

Thanks,
Christian.

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to