diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2018-05-19 02:39:43 +0800 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2020-03-28 21:42:55 +0000 |
commit | 6dc1db1bce863f0e0e0abda1b9a58d8cb22863ca (patch) | |
tree | 1109b81283b3f09dab998bfe0832514b04b377ca | |
parent | f7bb177a0dbd9750f78988a3636fa3c32418f6d7 (diff) | |
download | klibc-6dc1db1bce863f0e0e0abda1b9a58d8cb22863ca.tar.gz |
[klibc] dash: var: Set IFS to fixed value at start time
[ dash commit 6458796c79e643503d14e18c611cfbf68c4a8cce ]
This patch forces the IFS variable to always be set to its default
value, regardless of the environment.
It also removes the long unused IFS_BROKEN code.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-rw-r--r-- | usr/dash/var.c | 11 | ||||
-rw-r--r-- | usr/dash/var.h | 6 |
2 files changed, 3 insertions, 14 deletions
diff --git a/usr/dash/var.c b/usr/dash/var.c index cc6f7f2a910a9..604ab1f7327d2 100644 --- a/usr/dash/var.c +++ b/usr/dash/var.c @@ -75,11 +75,7 @@ MKINIT struct localvar_list *localvar_stack; const char defpathvar[] = "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"; -#ifdef IFS_BROKEN -const char defifsvar[] = "IFS= \t\n"; -#else -const char defifs[] = " \t\n"; -#endif +char defifsvar[] = "IFS= \t\n"; MKINIT char defoptindvar[] = "OPTIND=1"; int lineno; @@ -90,11 +86,7 @@ struct var varinit[] = { #if ATTY { 0, VSTRFIXED|VTEXTFIXED|VUNSET, "ATTY\0", 0 }, #endif -#ifdef IFS_BROKEN { 0, VSTRFIXED|VTEXTFIXED, defifsvar, 0 }, -#else - { 0, VSTRFIXED|VTEXTFIXED|VUNSET, "IFS\0", 0 }, -#endif { 0, VSTRFIXED|VTEXTFIXED|VUNSET, "MAIL\0", changemail }, { 0, VSTRFIXED|VTEXTFIXED|VUNSET, "MAILPATH\0", changemail }, { 0, VSTRFIXED|VTEXTFIXED, defpathvar, changepath }, @@ -143,6 +135,7 @@ INIT { } } + setvareq(defifsvar, VTEXTFIXED); setvareq(defoptindvar, VTEXTFIXED); fmtstr(ppid + 5, sizeof(ppid) - 5, "%ld", (long) getppid()); diff --git a/usr/dash/var.h b/usr/dash/var.h index 11ce9b7d06b0a..52f559d1e2b9e 100644 --- a/usr/dash/var.h +++ b/usr/dash/var.h @@ -100,12 +100,8 @@ extern struct var varinit[]; #define vhistsize (&vterm)[1] #endif -#ifdef IFS_BROKEN -extern const char defifsvar[]; +extern char defifsvar[]; #define defifs (defifsvar + 4) -#else -extern const char defifs[]; -#endif extern const char defpathvar[]; #define defpath (defpathvar + 36) |