On Sun, Dec 17, 2017 at 05:54:23PM +0800, Michael W. Bombardieri wrote: > Hello, > > The free() at the top of dounsetenv() in csh(1) isn't needed > because name is always freed before returning at bottom of function. > Also, name itself is never returned so it doesn't need to be static. > > ./csh > setenv HEY YU > unsetenv HEY > printenv > > I ran the above and it seems to work the same as before. > > - Michael > > > Index: func.c > =================================================================== > RCS file: /cvs/src/bin/csh/func.c,v > retrieving revision 1.36 > diff -u -p -u -r1.36 func.c > --- func.c 16 Dec 2017 10:27:21 -0000 1.36 > +++ func.c 17 Dec 2017 09:41:01 -0000 > @@ -924,11 +924,9 @@ void > /*ARGSUSED*/ > dounsetenv(Char **v, struct command *t) > { > - Char **ep, *p, *n; > + Char **ep, *p, *n, *name; > int i, maxi; > - static Char *name = NULL; > > - free(name); > /* > * Find the longest environment variable > */ >
Committed, thanks!