[git commit] shell/math: remove a redundant check

Denys Vlasenko vda.linux at googlemail.com
Tue Jun 13 23:05:40 UTC 2023


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

function                                             old     new   delta
arith_apply                                         1134    1087     -47

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

diff --git a/shell/math.c b/shell/math.c
index d5f3ce361..9ca7c6bb1 100644
--- a/shell/math.c
+++ b/shell/math.c
@@ -435,10 +435,11 @@ arith_apply(arith_state_t *math_state, operator op, var_or_num_t *numstack, var_
 				c *= rez;
 			rez = c;
 		}
-		else if (right_side_val == 0)
-			return "divide by zero";
-		else if (op == TOK_DIV || op == TOK_DIV_ASSIGN
-		      || op == TOK_REM || op == TOK_REM_ASSIGN) {
+		else /*if (op == TOK_DIV || op == TOK_DIV_ASSIGN
+		      || op == TOK_REM || op == TOK_REM_ASSIGN) - always true */
+		{
+			if (right_side_val == 0)
+				return "divide by zero";
 			/*
 			 * bash 4.2.45 x86 64bit: SEGV on 'echo $((2**63 / -1))'
 			 *
@@ -456,9 +457,8 @@ arith_apply(arith_state_t *math_state, operator op, var_or_num_t *numstack, var_
 			}
 			if (op == TOK_DIV || op == TOK_DIV_ASSIGN)
 				rez /= right_side_val;
-			else {
+			else
 				rez %= right_side_val;
-			}
 		}
 	}
 


More information about the busybox-cvs mailing list