Message ID | 1419787065-26146-3-git-send-email-cyrus@openwrt.org |
---|---|
State | Changes Requested |
Delegated to: | Pablo Neira |
Headers | show |
diff --git a/src/datatype.c b/src/datatype.c index 2a9fcdb..76f2af1 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);
This simplifies the integer parsing logic and restricts it to functions being part of the mini-gmp subset. Signed-off-by: Steven Barth <cyrus@openwrt.org> --- src/datatype.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)