From b1f72ada5914518aed2a88f83ea86536dd17818d Mon Sep 17 00:00:00 2001 From: stefan schippers Date: Wed, 15 Nov 2023 20:15:02 +0100 Subject: [PATCH] isonlydigit() will return true also for negative integers --- src/token.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/token.c b/src/token.c index efb87192..cde05a9d 100644 --- a/src/token.c +++ b/src/token.c @@ -3203,13 +3203,23 @@ const char *net_name(int i, int j, int *multip, int hash_prefix_unnamed_net, int int isonlydigit(const char *s) { - char c; - if(s == NULL || *s == '\0') return 0; - while( (c = *s) ) { - if(c < '0' || c > '9') return 0; - ++s; + char c; + int res = 1; + int first = 1; + if(s == NULL || *s == '\0') return 0; + while( (c = *s++) ) { + if(first == 1) { + first = 0; + if(c == '-') { + continue; + } } - return 1; + if(c < '0' || c > '9') { + res = 0; + break; + } + } + return res; }