aboutsummaryrefslogtreecommitdiffstats
path: root/extension/intdiv.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2020-07-26 15:13:42 +0300
committerArnold D. Robbins <arnold@skeeve.com>2020-07-26 15:13:42 +0300
commitb11ce4a54d8ed198e734b3f8a86ed0d245bdd664 (patch)
tree1d3169ad20dd942fdd0cc6e18e4d561c7df6db5a /extension/intdiv.c
parenta5cc0427756754da6e84bf9427b9f404d157244e (diff)
parent34c8c8d06b766703fdc86136a0656e4baeeb7b69 (diff)
downloadegawk-b11ce4a54d8ed198e734b3f8a86ed0d245bdd664.tar.gz
egawk-b11ce4a54d8ed198e734b3f8a86ed0d245bdd664.tar.bz2
egawk-b11ce4a54d8ed198e734b3f8a86ed0d245bdd664.zip
Merge branch 'gawk-5.1-stable'
Diffstat (limited to 'extension/intdiv.c')
-rw-r--r--extension/intdiv.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/extension/intdiv.c b/extension/intdiv.c
index 34b19a02..94c970ed 100644
--- a/extension/intdiv.c
+++ b/extension/intdiv.c
@@ -191,7 +191,7 @@ do_intdiv(int nargs, awk_value_t *result, struct awk_ext_func *unused)
/* extended precision */
mpz_ptr numer, denom;
mpz_t numer_tmp, denom_tmp;
- mpz_ptr quotient, remainder;
+ mpz_t quotient, remainder;
/* convert numerator and denominator to integer */
if (!(numer = mpz_conv(&nv, numer_tmp))) {
@@ -213,9 +213,8 @@ do_intdiv(int nargs, awk_value_t *result, struct awk_ext_func *unused)
return make_number(-1, result);
}
- /* ask gawk to allocate return values for us */
- quotient = get_mpz_ptr();
- remainder = get_mpz_ptr();
+ mpz_init(quotient);
+ mpz_init(remainder);
/* do the division */
mpz_tdiv_qr(quotient, remainder, numer, denom);
@@ -223,12 +222,8 @@ do_intdiv(int nargs, awk_value_t *result, struct awk_ext_func *unused)
array_set_mpz(array, "quotient", 8, quotient);
array_set_mpz(array, "remainder", 9, remainder);
- /* values were copied, so release out local ones */
mpz_clear(quotient);
- gawk_free(quotient);
-
mpz_clear(remainder);
- gawk_free(remainder);
/* release temporary variables */
if (numer == numer_tmp)