From cdb96f1a6ab4b8bbcca35c48cd8c232e50c04390 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Sun, 21 Apr 2019 17:03:29 -0400 Subject: parse: Allow things like -uid ++10 GNU find does too. --- parse.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'parse.c') 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'; } /** -- cgit v1.2.3