summaryrefslogtreecommitdiffstats
path: root/parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'parse.c')
-rw-r--r--parse.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/parse.c b/parse.c
index e2a3dbf..e6d58c5 100644
--- a/parse.c
+++ b/parse.c
@@ -658,10 +658,16 @@ static const char *parse_icmp(const struct parser_state *state, const char *str,
* Check if a string could be an integer comparison.
*/
static bool looks_like_icmp(const char *str) {
- if (str[0] == '-' || str[0] == '+') {
- ++str;
+ int i;
+
+ // One +/- for the comparison flag, one for the sign
+ for (i = 0; i < 2; ++i) {
+ if (str[i] != '-' && str[i] != '+') {
+ break;
+ }
}
- return str[0] >= '0' && str[0] <= '9';
+
+ return str[i] >= '0' && str[i] <= '9';
}
/**