aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2014-10-07 22:24:42 +0800
committerBen Hutchings <ben@decadent.org.uk>2020-03-28 21:42:54 +0000
commit2a6d1412a44d0a9caf1e70dd74e6cd549fa47373 (patch)
tree4f916803ceec6765ffa6604c1098bd3c079be97b
parentf7b7191322ba416a519761f9d7144b734ca48c87 (diff)
downloadklibc-2a6d1412a44d0a9caf1e70dd74e6cd549fa47373.tar.gz
[klibc] dash: [VAR] Use setvareq to set OPTIND initially
[ dash commit f20dcdd0948d7ebb7d462a0288ea218468ad4f6c ] There is no need to setvarint to set the initial value of OPTIND of one. This patch switchs to setvareq which also lets us avoid an unnecessary memory allocation. 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.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/usr/dash/var.c b/usr/dash/var.c
index fa248544bccf2..cc6f7f2a910a9 100644
--- a/usr/dash/var.c
+++ b/usr/dash/var.c
@@ -80,6 +80,7 @@ const char defifsvar[] = "IFS= \t\n";
#else
const char defifs[] = " \t\n";
#endif
+MKINIT char defoptindvar[] = "OPTIND=1";
int lineno;
char linenovar[sizeof("LINENO=")+sizeof(int)*CHAR_BIT/3+1] = "LINENO=";
@@ -100,7 +101,7 @@ struct var varinit[] = {
{ 0, VSTRFIXED|VTEXTFIXED, "PS1=$ ", 0 },
{ 0, VSTRFIXED|VTEXTFIXED, "PS2=> ", 0 },
{ 0, VSTRFIXED|VTEXTFIXED, "PS4=+ ", 0 },
- { 0, VSTRFIXED|VTEXTFIXED, "OPTIND=1", getoptsreset },
+ { 0, VSTRFIXED|VTEXTFIXED, defoptindvar, getoptsreset },
#ifdef WITH_LINENO
{ 0, VSTRFIXED|VTEXTFIXED, linenovar, 0 },
#endif
@@ -142,7 +143,7 @@ INIT {
}
}
- setvarint("OPTIND", 1, 0);
+ setvareq(defoptindvar, VTEXTFIXED);
fmtstr(ppid + 5, sizeof(ppid) - 5, "%ld", (long) getppid());
setvareq(ppid, VTEXTFIXED);