[PATCH:twm] Add some const.

Thomas Klausner wiz at netbsd.org
Wed Sep 23 09:30:19 PDT 2015


Well, yes, but for context, here is the full function after the change:

char *
ExpandFilename(const char *name)
{
    char *newname;

    if (name[0] != '~') return strdup(name);

    newname = malloc (HomeLen + strlen(name) + 2);
    if (!newname) {
        fprintf (stderr,
                 "%s:  unable to allocate %ld bytes to expand filename %s/%s\n",
                 ProgramName, HomeLen + (unsigned long)strlen(name) + 2,
                 Home, &name[1]);
    } else {
        (void) sprintf (newname, "%s/%s", Home, &name[1]);
    }

    return newname;
}

So in other words, now the function is consistent in returning a
malloc()ed string when it succeeds.
 Thomas

On Wed, Sep 23, 2015 at 08:59:22AM -0700, Jasper St. Pierre wrote:
> Should also mention that it also adds a strdup -- I feel that the code
> calling this might conditionally free. Would be nice to double-check
> callers.
> 
> On Wed, Sep 23, 2015 at 1:58 AM, Thomas Klausner <wiz at netbsd.org> wrote:
> > From: Christos Zoulas <christos at NetBSD.org>
> >
> > Signed-off-by: Thomas Klausner <wiz at NetBSD.org>
> > ---
> >  src/util.c | 4 ++--
> >  src/util.h | 2 +-
> >  2 files changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/src/util.c b/src/util.c
> > index 4b94051..5e8f0db 100644
> > --- a/src/util.c
> > +++ b/src/util.c
> > @@ -256,11 +256,11 @@ Zoom(Window wf, Window wt)
> >   *  \param name  the filename to expand
> >   */
> >  char *
> > -ExpandFilename(char *name)
> > +ExpandFilename(const char *name)
> >  {
> >      char *newname;
> >
> > -    if (name[0] != '~') return name;
> > +    if (name[0] != '~') return strdup(name);
> >
> >      newname = malloc (HomeLen + strlen(name) + 2);
> >      if (!newname) {
> > diff --git a/src/util.h b/src/util.h
> > index 7f4527c..4b2d3a8 100644
> > --- a/src/util.h
> > +++ b/src/util.h
> > @@ -64,7 +64,7 @@ in this Software without prior written authorization from The Open Group.
> >  extern void MoveOutline ( Window root, int x, int y, int width, int height,
> >                           int bw, int th );
> >  extern void Zoom ( Window wf, Window wt );
> > -extern char * ExpandFilename ( char *name );
> > +extern char * ExpandFilename ( const char *name );
> >  extern void GetUnknownIcon ( const char *name );
> >  extern Pixmap FindBitmap ( const char *name, unsigned int *widthp,
> >                            unsigned int *heightp );
> > --
> > 2.5.2
> >
> > _______________________________________________
> > xorg-devel at lists.x.org: X.Org development
> > Archives: http://lists.x.org/archives/xorg-devel
> > Info: http://lists.x.org/mailman/listinfo/xorg-devel
> 
> 
> 
> -- 
>   Jasper
> 


More information about the xorg-devel mailing list