diff options
author | Steven Barth <cyrus@openwrt.org> | 2015-01-06 23:40:23 +0100 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2015-01-07 13:08:41 +0100 |
commit | 95af7f0a4c87894ef818f248845e1954fa780bec (patch) | |
tree | 781ab04886a5b1fea94dfa8670b91f34995e0f15 /src | |
parent | 5727cb06ce1ff42a855e8994910452c8e3d862e4 (diff) |
datatype: use mpz_set_str instead of gmp_sscanf
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>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/datatype.c | 4 |
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); |