summaryrefslogtreecommitdiff
path: root/py/mpz.c
diff options
context:
space:
mode:
Diffstat (limited to 'py/mpz.c')
-rw-r--r--py/mpz.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/py/mpz.c b/py/mpz.c
index e0475d60a..2a4fb4659 100644
--- a/py/mpz.c
+++ b/py/mpz.c
@@ -285,7 +285,11 @@ STATIC mp_uint_t mpn_xor(mpz_dig_t *idig, const mpz_dig_t *jdig, mp_uint_t jlen,
*idig = *jdig;
}
- return idig - oidig;
+ // remove trailing zeros
+ for (--idig; idig >= oidig && *idig == 0; --idig) {
+ }
+
+ return idig + 1 - oidig;
}
/* computes i = i * d1 + d2