summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/datatype.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/datatype.c b/src/datatype.c
index 2a9fcdb0..76f2af13 100644
--- a/src/datatype.c
+++ b/src/datatype.c
@@ -276,11 +276,9 @@ static struct error_record *integer_type_parse(const struct expr *sym,
struct expr **res)
{
mpz_t v;
- int len;
mpz_init(v);
- if (gmp_sscanf(sym->identifier, "%Zu%n", v, &len) != 1 ||
- (int)strlen(sym->identifier) != len) {
+ if (mpz_set_str(v, sym->identifier, 0)) {
mpz_clear(v);
return error(&sym->location, "Could not parse %s",
sym->dtype->desc);