From: Denys Vlasenko <vda.linux@googlemail.com>
Date: Mon, 10 Dec 2018 11:57:01 +0000 (+0100)
Subject: bc: simplify bc_program_len()
X-Git-Tag: 1_30_0~235
X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=a7f1a3654041ed4b1d4716f71a8396977aca8223;p=oweals%2Fbusybox.git

bc: simplify bc_program_len()

function                                             old     new   delta
bc_program_len                                        42      34      -8

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
---

diff --git a/miscutils/bc.c b/miscutils/bc.c
index 1879581e3..afd5c8d0e 100644
--- a/miscutils/bc.c
+++ b/miscutils/bc.c
@@ -6254,12 +6254,14 @@ static unsigned long bc_program_scale(BcNum *n)
 
 static unsigned long bc_program_len(BcNum *n)
 {
-	unsigned long len = n->len;
-	size_t i;
-
-	if (n->rdx != n->len) return len;
-	for (i = n->len - 1; i < n->len && n->num[i] == 0; --len, --i);
+	size_t len = n->len;
 
+	if (n->rdx != len) return len;
+	for (;;) {
+		if (len == 0) break;
+		len--;
+		if (n->num[len] != 0) break;
+	}
 	return len;
 }