[klibc] [klibc:update-dash] dash: [VAR] Use setvareq to set OPTIND initially

klibc-bot for Herbert Xu herbert at gondor.apana.org.au
Sat Mar 28 14:48:23 PDT 2020


Commit-ID:  2a6d1412a44d0a9caf1e70dd74e6cd549fa47373
Gitweb:     http://git.kernel.org/?p=libs/klibc/klibc.git;a=commit;h=2a6d1412a44d0a9caf1e70dd74e6cd549fa47373
Author:     Herbert Xu <herbert at gondor.apana.org.au>
AuthorDate: Tue, 7 Oct 2014 22:24:42 +0800
Committer:  Ben Hutchings <ben at decadent.org.uk>
CommitDate: Sat, 28 Mar 2020 21:42:54 +0000

[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 at gondor.apana.org.au>
Signed-off-by: Ben Hutchings <ben at decadent.org.uk>

---
 usr/dash/var.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/usr/dash/var.c b/usr/dash/var.c
index fa248544..cc6f7f2a 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);


More information about the klibc mailing list