diff options
| author | Jordan K. Hubbard <jkh@FreeBSD.org> | 1997-06-11 08:39:27 +0000 |
|---|---|---|
| committer | Jordan K. Hubbard <jkh@FreeBSD.org> | 1997-06-11 08:39:27 +0000 |
| commit | 8bf99afffaab5068a3f3920cd8398a8ee8fe6df9 (patch) | |
| tree | 1ef143fd5ba754258a6f4c5653f85ed267eafaaa /release/sysinstall/variable.c | |
| parent | e2567457c4d567452c1a4524aeaa00b6421974d2 (diff) | |
Notes
Diffstat (limited to 'release/sysinstall/variable.c')
| -rw-r--r-- | release/sysinstall/variable.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/release/sysinstall/variable.c b/release/sysinstall/variable.c index 04bef8ea15a4..deeb01f9c3e7 100644 --- a/release/sysinstall/variable.c +++ b/release/sysinstall/variable.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: variable.c,v 1.11.2.3 1997/01/17 08:53:50 jkh Exp $ + * $Id: variable.c,v 1.11.2.4 1997/06/06 13:01:08 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -111,16 +111,15 @@ variable_unset(char *var) Variable *vp; char name[512], *cp; - unsetenv(var); - if ((cp = index(var, '=')) != NULL) { - sstrncpy(name, cp, cp - var); - var = string_skipwhite(string_prune(name)); - } - + if ((cp = index(var, '=')) != NULL) + sstrncpy(name, var, cp - var); + else + SAFE_STRCPY(name, var); + unsetenv(name); /* Now search to see if it's in our list, if we have one.. */ if (!VarHead) return; - else if (!VarHead->next && !strcmp(VarHead->name, var)) { + else if (!VarHead->next && !strcmp(VarHead->name, name)) { safe_free(VarHead->name); safe_free(VarHead->value); free(VarHead); @@ -128,12 +127,12 @@ variable_unset(char *var) } else { for (vp = VarHead; vp; vp = vp->next) { - if (!strcmp(vp->name, var)) { + if (!strcmp(vp->name, name)) { Variable *save = vp->next; + safe_free(vp->name); + safe_free(vp->value); *vp = *save; - safe_free(save->name); - safe_free(save->value); safe_free(save); break; } |
