[PATCH 1/5] misc: add xrtrim() - right-trim a string

Daniel Martin consume.noise at gmail.com
Mon Dec 9 04:13:38 PST 2013


On 9 December 2013 02:01, Peter Hutterer <peter.hutterer at who-t.net> wrote:
> On Sat, Dec 07, 2013 at 04:48:46PM +0100, Daniel Martin wrote:
>> Signed-off-by: Daniel Martin <consume.noise at gmail.com>
>> ---
>>  include/misc.h |  1 +
>>  os/utils.c     | 16 ++++++++++++++++
>>  2 files changed, 17 insertions(+)
>>
>> diff --git a/include/misc.h b/include/misc.h
>> index 17de710..aab556a 100644
>> --- a/include/misc.h
>> +++ b/include/misc.h
>> @@ -246,6 +246,7 @@ padding_for_int32(const int bytes)
>>  }
>>
>>
>> +extern int xrtrim(char *str, int str_len);
>>  extern char **xstrtokenize(const char *str, const char *separators);
>>  extern void FormatInt64(int64_t num, char *string);
>>  extern void FormatUInt64(uint64_t num, char *string);
>> diff --git a/os/utils.c b/os/utils.c
>> index fb20da7..56a1a6d 100644
>> --- a/os/utils.c
>> +++ b/os/utils.c
>> @@ -1943,6 +1943,22 @@ CheckUserAuthorization(void)
>>  }
>>
>>  /*
>> + * Right-trim a string. Returns the string length after trimming.
>> + */
>> +int
>> +xrtrim(char *str, int str_len)
>
> can we divide this into two functions, one with a length argument and one
> without? cheap enough to do it now even if your patchset doesn't need it
> atm.

Should I add a 'str' prefix as in xsrtokenize()? Though, this would look a bit
weird: xstrrtrim() and xstrntrim()

>> +{
>> +    int i = str_len;
>> +
>> +    while (i > 0 && !isgraph(str[i - 1]))
>> +        i--;
>> +
>> +    str[i] = '\0';
>> +
>> +    return i;
>> +}
>> +
>> +/*
>>   * Tokenize a string into a NULL terminated array of strings. Always returns
>>   * an allocated array unless an error occurs.
>>   */
>> --
>> 1.8.4.2
>>
>
> fwiw, this is exactly that type of function that the tests in xserver/test/
> are useful for (possibly the only thing...) so I'd prefer to see a few tests
> just to make sure we don't screw this up in the future.
>
> Cheers,
>    Peter


More information about the xorg-devel mailing list