[git commit] hush: trivial code shrink in builtin_getopts

Denys Vlasenko vda.linux at googlemail.com
Thu Aug 17 10:36:39 UTC 2017


commit: https://git.busybox.net/busybox/commit/?id=048491fbdccc35edd481218baeedb31c5253aa12
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

function                                             old     new   delta
builtin_getopts                                      368     363      -5

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 shell/hush.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/shell/hush.c b/shell/hush.c
index 42f95ef..cdc3a86 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -9897,12 +9897,13 @@ Test that VAR is a valid variable name?
 		return EXIT_FAILURE;
 	}
 
-	if (optstring[0] == ':') {
-		opterr = 0;
-	} else {
+	c = 0;
+	if (optstring[0] != ':') {
 		cp = get_local_var_value("OPTERR");
-		opterr = cp ? atoi(cp) : 1;
+		/* 0 if "OPTERR=0", 1 otherwise */
+		c = (!cp || NOT_LONE_CHAR(cp, '0'));
 	}
+	opterr = c;
 	cp = get_local_var_value("OPTIND");
 	optind = cp ? atoi(cp) : 0;
 	optarg = NULL;


More information about the busybox-cvs mailing list