summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/json/parser/parser.c4
-rw-r--r--ext/json/parser/prereq.mk1
2 files changed, 3 insertions, 2 deletions
diff --git a/ext/json/parser/parser.c b/ext/json/parser/parser.c
index 0f98cf9827..e4a305663c 100644
--- a/ext/json/parser/parser.c
+++ b/ext/json/parser/parser.c
@@ -1563,7 +1563,7 @@ case 2:
case 34: goto tr2;
case 92: goto st3;
}
- if ( 0 <= (*p) && (*p) <= 31 )
+ if ( 0 <= (signed char)(*p) && (*p) <= 31 )
goto st0;
goto st2;
tr2:
@@ -1593,7 +1593,7 @@ st3:
case 3:
if ( (*p) == 117 )
goto st4;
- if ( 0 <= (*p) && (*p) <= 31 )
+ if ( 0 <= (signed char)(*p) && (*p) <= 31 )
goto st0;
goto st2;
st4:
diff --git a/ext/json/parser/prereq.mk b/ext/json/parser/prereq.mk
index 37bacc3380..9111431ab8 100644
--- a/ext/json/parser/prereq.mk
+++ b/ext/json/parser/prereq.mk
@@ -6,6 +6,7 @@ RAGEL = ragel
$(RAGEL) -G2 $<
$(BASERUBY) -pli -e '$$_.sub!(/[ \t]+$$/, "")' \
-e '$$_.sub!(/^static const int (JSON_.*=.*);$$/, "enum {\\1};")' \
+ -e '$$_.sub!(/0 <= \(\*p\) && \(\*p\) <= 31/, "0 <= (signed char)(*p) && (*p) <= 31")' \
-e '$$_ = "/* This file is automatically generated from parser.rl by using ragel */" + $$_ if $$. == 1' $@
parser.c: