aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--extension/ChangeLog5
-rw-r--r--extension/intdiv.c10
2 files changed, 6 insertions, 9 deletions
diff --git a/extension/ChangeLog b/extension/ChangeLog
index 784daf21..d8eb6187 100644
--- a/extension/ChangeLog
+++ b/extension/ChangeLog
@@ -1,3 +1,8 @@
+2017-04-13 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+ * intdiv.c (do_intdiv): On a division by zero fatal error, there's
+ no need to clear the numerator and denominator and add a fake return.
+
2017-04-13 Arnold D. Robbins <arnold@skeeve.com>
* configure.ac: Alphabetize function list in AC_CHECK_FUNCS.
diff --git a/extension/intdiv.c b/extension/intdiv.c
index bde92893..e3dd0eef 100644
--- a/extension/intdiv.c
+++ b/extension/intdiv.c
@@ -161,16 +161,8 @@ do_intdiv(int nargs, awk_value_t *result, struct awk_ext_func *unused)
mpz_clear(numer);
return make_number(-1, result);
}
- if (mpz_sgn(denom) == 0) {
- if (numer == numer_tmp)
- mpz_clear(numer);
- if (denom == denom_tmp)
- mpz_clear(denom);
-
+ if (mpz_sgn(denom) == 0)
fatal(ext_id, _("intdiv: division by zero attempted"));
- // won't get here, but keep the compiler happy
- return make_number(-1, result);
- }
/* ask gawk to allocate return values for us */
quotient = get_mpz_ptr();