[Spice-devel] [PATCH spice-gtk 3/5] Move strtok_r from glib-compat to spice-uri

Pavel Grunt pgrunt at redhat.com
Thu Mar 17 10:37:53 UTC 2016


On Thu, 2016-03-17 at 11:32 +0100, Victor Toso wrote:
> Hi,
> 
> On Thu, Mar 17, 2016 at 11:30:21AM +0100, Victor Toso wrote:
> > 
> > Hi,
> > 
> > On Thu, Mar 17, 2016 at 11:19:34AM +0100, Pavel Grunt wrote:
> > > 
> > > It is not glib specific and it is only used in spice-uri
> > True but I bet string utils in glib and handle this too.
> > Could you include a FIXME somewhere ?
> Actually, this is part of string.h, I wonder why we are including it
> here.
> 
It is not on Windows, I should add a comment to the text.

Pavel

> > 
> > 
> > Acked-by: Victor Toso <victortoso at redhat.com>
> > 
> > > 
> > > ---
> > >  src/glib-compat.c | 31 -------------------------------
> > >  src/glib-compat.h |  4 ----
> > >  src/spice-uri.c   | 29 +++++++++++++++++++++++++++++
> > >  3 files changed, 29 insertions(+), 35 deletions(-)
> > > 
> > > diff --git a/src/glib-compat.c b/src/glib-compat.c
> > > index 41a7f52..622620b 100644
> > > --- a/src/glib-compat.c
> > > +++ b/src/glib-compat.c
> > > @@ -110,34 +110,3 @@ g_queue_free_full (GQueue        *queue,
> > >    g_queue_free (queue);
> > >  }
> > >  #endif
> > > -
> > > -
> > > -#ifndef HAVE_STRTOK_R
> > > -G_GNUC_INTERNAL
> > > -char *strtok_r(char *s, const char *delim, char **save_ptr)
> > > -{
> > > -    char *token;
> > > -
> > > -    if (s == NULL)
> > > -        s = *save_ptr;
> > > -
> > > -    /* Scan leading delimiters. */
> > > -    s += strspn (s, delim);
> > > -    if (*s == '\0')
> > > -        return NULL;
> > > -
> > > -    /* Find the end of the token. */
> > > -    token = s;
> > > -    s = strpbrk (token, delim);
> > > -    if (s == NULL)
> > > -        /* This token finishes the string. */
> > > -        *save_ptr = strchr (token, '\0');
> > > -    else
> > > -    {
> > > -        /* Terminate the token and make *SAVE_PTR point past it.
> > > */
> > > -        *s = '\0';
> > > -        *save_ptr = s + 1;
> > > -    }
> > > -    return token;
> > > -}
> > > -#endif
> > > diff --git a/src/glib-compat.h b/src/glib-compat.h
> > > index 512ea55..51eef5c 100644
> > > --- a/src/glib-compat.h
> > > +++ b/src/glib-compat.h
> > > @@ -62,8 +62,4 @@ g_queue_free_full (GQueue        *queue,
> > >    } G_STMT_END
> > >  #endif
> > >  
> > > -#ifndef HAVE_STRTOK_R
> > > -char* strtok_r(char *s, const char *delim, char **save_ptr);
> > > -#endif
> > > -
> > >  #endif /* GLIB_COMPAT_H */
> > > diff --git a/src/spice-uri.c b/src/spice-uri.c
> > > index e2c5c9a..d925973 100644
> > > --- a/src/spice-uri.c
> > > +++ b/src/spice-uri.c
> > > @@ -60,6 +60,35 @@ enum  {
> > >      SPICE_URI_PORT
> > >  };
> > >  
> > > +#ifndef HAVE_STRTOK_R
> > > +static char *strtok_r(char *s, const char *delim, char
> > > **save_ptr)
> > > +{
> > > +    char *token;
> > > +
> > > +    if (s == NULL)
> > > +        s = *save_ptr;
> > > +
> > > +    /* Scan leading delimiters. */
> > > +    s += strspn (s, delim);
> > > +    if (*s == '\0')
> > > +        return NULL;
> > > +
> > > +    /* Find the end of the token. */
> > > +    token = s;
> > > +    s = strpbrk (token, delim);
> > > +    if (s == NULL)
> > > +        /* This token finishes the string. */
> > > +        *save_ptr = strchr (token, '\0');
> > > +    else
> > > +    {
> > > +        /* Terminate the token and make *SAVE_PTR point past it.
> > > */
> > > +        *s = '\0';
> > > +        *save_ptr = s + 1;
> > > +    }
> > > +    return token;
> > > +}
> > > +#endif
> > > +
> > >  G_GNUC_INTERNAL
> > >  SpiceURI* spice_uri_new(void)
> > >  {


More information about the Spice-devel mailing list