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:
parent
b60cc77902
commit
4a84c27e3e
16 changed files with 570 additions and 1695 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue