1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* ext/json: Update github/flori/json from 1.4.2+ to

e22b2f2bdfe6a9b0. this fixes some bugs.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
naruse 2010-12-01 16:26:13 +00:00
parent b60cc77902
commit 4a84c27e3e
16 changed files with 570 additions and 1695 deletions

View file

@ -4,7 +4,7 @@
/* unicode */
static const char digit_values[256] = {
static const char digit_values[256] = {
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1,
@ -40,7 +40,7 @@ static UTF32 unescape_unicode(const unsigned char *p)
return result;
}
static int convert_UTF32_to_UTF8(char *buf, UTF32 ch)
static int convert_UTF32_to_UTF8(char *buf, UTF32 ch)
{
int len = 1;
if (ch <= 0x7F) {
@ -228,7 +228,7 @@ tr11:
#line 116 "parser.rl"
{
VALUE v = Qnil;
char *np = JSON_parse_value(json, p, pe, &v);
char *np = JSON_parse_value(json, p, pe, &v);
if (np == NULL) {
p--; {p++; cs = 9; goto _out;}
} else {
@ -530,7 +530,7 @@ tr2:
goto st21;
tr5:
#line 229 "parser.rl"
{
{
char *np;
json->current_nesting++;
np = JSON_parse_array(json, p, pe, result);
@ -540,7 +540,7 @@ tr5:
goto st21;
tr9:
#line 237 "parser.rl"
{
{
char *np;
json->current_nesting++;
np = JSON_parse_object(json, p, pe, result);
@ -1093,7 +1093,7 @@ tr2:
#line 339 "parser.rl"
{
VALUE v = Qnil;
char *np = JSON_parse_value(json, p, pe, &v);
char *np = JSON_parse_value(json, p, pe, &v);
if (np == NULL) {
p--; {p++; cs = 3; goto _out;}
} else {
@ -1312,7 +1312,7 @@ static VALUE json_string_unescape(VALUE result, char *string, char *stringEnd)
unescape = (char *) "\f";
break;
case 'u':
if (pe > stringEnd - 4) {
if (pe > stringEnd - 4) {
return Qnil;
} else {
char buf[4];
@ -1404,13 +1404,13 @@ tr2:
{
*result = json_string_unescape(*result, json->memo + 1, p);
if (NIL_P(*result)) {
p--;
{p++; cs = 8; goto _out;}
} else {
FORCE_UTF8(*result);
{p = (( p + 1))-1;}
}
}
p--;
{p++; cs = 8; goto _out;}
} else {
FORCE_UTF8(*result);
{p = (( p + 1))-1;}
}
}
#line 468 "parser.rl"
{ p--; {p++; cs = 8; goto _out;} }
goto st8;
@ -1519,7 +1519,7 @@ static const int JSON_en_main = 1;
#line 518 "parser.rl"
/*
/*
* Document-class: JSON::Ext::Parser
*
* This is the JSON parser implemented as a C extension. It can be configured