summaryrefslogtreecommitdiffstats
path: root/usr.sbin/sade/variable.c
diff options
context:
space:
mode:
authorjkh <jkh@FreeBSD.org>1998-03-10 17:24:08 +0000
committerjkh <jkh@FreeBSD.org>1998-03-10 17:24:08 +0000
commite87fd2716b04ff0159c7b9cdd217b3e8e2dfe3a0 (patch)
treee06d26dadf47e16bc37e47e259ab897f74fc22ef /usr.sbin/sade/variable.c
parent29b4135e6e482b2938c2441a8ea9c474ccbeff2a (diff)
downloadFreeBSD-src-e87fd2716b04ff0159c7b9cdd217b3e8e2dfe3a0.zip
FreeBSD-src-e87fd2716b04ff0159c7b9cdd217b3e8e2dfe3a0.tar.gz
Correct misfeature with quoting, better error reporting.
Diffstat (limited to 'usr.sbin/sade/variable.c')
-rw-r--r--usr.sbin/sade/variable.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/usr.sbin/sade/variable.c b/usr.sbin/sade/variable.c
index a13b71d..c5fcc27 100644
--- a/usr.sbin/sade/variable.c
+++ b/usr.sbin/sade/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.20 1997/06/13 14:21:22 jkh Exp $
+ * $Id: variable.c,v 1.21 1997/10/12 16:21:21 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@@ -171,14 +171,18 @@ variable_get_value(char *var, char *prompt)
int
variable_check(char *data)
{
- char *w, *cp, *cp2, *cp3, tmp[256];
+ char *cp, *cp2, *cp3, tmp[256];
- w = data;
- if (!w)
+ if (!data)
return FALSE;
- SAFE_STRCPY(tmp, w);
+ SAFE_STRCPY(tmp, data);
if ((cp = index(tmp, '=')) != NULL) {
*(cp++) = '\0';
+ if (*cp == '"') { /* smash quotes if present */
+ ++cp;
+ if ((cp3 = index(cp, '"')) != NULL)
+ *cp3 = '\0';
+ }
if ((cp3 = index(cp, ',')) != NULL)
*cp3 = '\0';
cp2 = getenv(tmp);
@@ -189,5 +193,5 @@ variable_check(char *data)
return FALSE;
}
else
- return (int)getenv(tmp);
+ return getenv(tmp) ? 1 : 0;
}
OpenPOWER on IntegriCloud