diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | src/var.c | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index aa230ab..b990628 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2014-10-07 Herbert Xu <herbert@gondor.apana.org.au> + + * Use setvareq to set OPTIND initially. + 2014-10-06 Herbert Xu <herbert@gondor.apana.org.au> * Exit without arguments in a trap should use status outside traps. diff --git a/src/var.c b/src/var.c index fa24854..cc6f7f2 100644 --- a/src/var.c +++ b/src/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); |