aboutsummaryrefslogtreecommitdiff
path: root/src/backend/regex/regc_lex.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2016-02-15 17:11:51 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2016-02-15 17:12:16 -0500
commit8c95ae81fab11b75a611b57d6aaa0ef77e8b8e41 (patch)
tree002389ee2dba77b323df92ce0b28f57d95be37d6 /src/backend/regex/regc_lex.c
parentdb76b1efbbab2441428a9ef21f7ac9ba43c52482 (diff)
downloadpostgresql-8c95ae81fab11b75a611b57d6aaa0ef77e8b8e41.tar.gz
postgresql-8c95ae81fab11b75a611b57d6aaa0ef77e8b8e41.zip
Suppress compiler warnings about useless comparison of unsigned to zero.
Reportedly, some compilers warn about tests like "c < 0" if c is unsigned, and hence complain about the character range checks I added in commit 3bb3f42f3749d40b8d4de65871e8d828b18d4a45. This is a bit of a pain since the regex library doesn't really want to assume that chr is unsigned. However, since any such reconfiguration would involve manual edits of regcustom.h anyway, we can put it on the shoulders of whoever wants to do that to adjust this new range-checking macro correctly. Per gripes from Coverity and Andres.
Diffstat (limited to 'src/backend/regex/regc_lex.c')
-rw-r--r--src/backend/regex/regc_lex.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/backend/regex/regc_lex.c b/src/backend/regex/regc_lex.c
index 962cb230bb7..f62ec7dc810 100644
--- a/src/backend/regex/regc_lex.c
+++ b/src/backend/regex/regc_lex.c
@@ -813,13 +813,13 @@ lexescape(struct vars * v)
break;
case CHR('u'):
c = lexdigits(v, 16, 4, 4);
- if (ISERR() || c < CHR_MIN || c > CHR_MAX)
+ if (ISERR() || !CHR_IS_IN_RANGE(c))
FAILW(REG_EESCAPE);
RETV(PLAIN, c);
break;
case CHR('U'):
c = lexdigits(v, 16, 8, 8);
- if (ISERR() || c < CHR_MIN || c > CHR_MAX)
+ if (ISERR() || !CHR_IS_IN_RANGE(c))
FAILW(REG_EESCAPE);
RETV(PLAIN, c);
break;
@@ -837,7 +837,7 @@ lexescape(struct vars * v)
case CHR('x'):
NOTE(REG_UUNPORT);
c = lexdigits(v, 16, 1, 255); /* REs >255 long outside spec */
- if (ISERR() || c < CHR_MIN || c > CHR_MAX)
+ if (ISERR() || !CHR_IS_IN_RANGE(c))
FAILW(REG_EESCAPE);
RETV(PLAIN, c);
break;