diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2020-07-26 15:13:42 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2020-07-26 15:13:42 +0300 |
commit | b11ce4a54d8ed198e734b3f8a86ed0d245bdd664 (patch) | |
tree | 1d3169ad20dd942fdd0cc6e18e4d561c7df6db5a /extension | |
parent | a5cc0427756754da6e84bf9427b9f404d157244e (diff) | |
parent | 34c8c8d06b766703fdc86136a0656e4baeeb7b69 (diff) | |
download | egawk-b11ce4a54d8ed198e734b3f8a86ed0d245bdd664.tar.gz egawk-b11ce4a54d8ed198e734b3f8a86ed0d245bdd664.tar.bz2 egawk-b11ce4a54d8ed198e734b3f8a86ed0d245bdd664.zip |
Merge branch 'gawk-5.1-stable'
Diffstat (limited to 'extension')
-rw-r--r-- | extension/ChangeLog | 5 | ||||
-rw-r--r-- | extension/intdiv.c | 11 |
2 files changed, 8 insertions, 8 deletions
diff --git a/extension/ChangeLog b/extension/ChangeLog index 7b924399..1a018897 100644 --- a/extension/ChangeLog +++ b/extension/ChangeLog @@ -1,3 +1,8 @@ +2020-07-26 Arnold D. Robbins <arnold@skeeve.com> + + * intdiv.c (do_intdiv): Change quotient and remainder to + local variables. No need to allocate/free them via the API. + 2020-07-22 Arnold D. Robbins <arnold@skeeve.com> * configure.ac: Use parent directory's m4 and build-aux. 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) |