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

Peter Hutterer peter.hutterer at who-t.net
Mon Dec 9 13:53:11 PST 2013


On Mon, Dec 09, 2013 at 01:13:38PM +0100, Daniel Martin wrote:
> 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()

yeah, actually that'd make it more obvious. might as well have a prefix for
all str functions.

Cheers,
   Peter

> 
> >> +{
> >> +    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