[klibc] [klibc:update-dash] dash: var: Set IFS to fixed value at start time
klibc-bot for Herbert Xu
herbert at gondor.apana.org.au
Sat Mar 28 14:49:19 PDT 2020
Commit-ID: 6dc1db1bce863f0e0e0abda1b9a58d8cb22863ca
Gitweb: http://git.kernel.org/?p=libs/klibc/klibc.git;a=commit;h=6dc1db1bce863f0e0e0abda1b9a58d8cb22863ca
Author: Herbert Xu <herbert at gondor.apana.org.au>
AuthorDate: Sat, 19 May 2018 02:39:43 +0800
Committer: Ben Hutchings <ben at decadent.org.uk>
CommitDate: Sat, 28 Mar 2020 21:42:55 +0000
[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 at gondor.apana.org.au>
Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
---
usr/dash/var.c | 11 ++---------
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 cc6f7f2a..604ab1f7 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 11ce9b7d..52f559d1 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)
More information about the klibc
mailing list