[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