summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/json/json_parser.tab.c26
-rw-r--r--ext/json/json_parser.y26
-rw-r--r--ext/json/php_json_parser.h2
3 files changed, 27 insertions, 27 deletions
diff --git a/ext/json/json_parser.tab.c b/ext/json/json_parser.tab.c
index eb8c6be5ff..7a799f9739 100644
--- a/ext/json/json_parser.tab.c
+++ b/ext/json/json_parser.tab.c
@@ -1464,7 +1464,7 @@ yyreduce:
{
PHP_JSON_DEPTH_INC;
- if (parser->methods->object_start && FAILURE == parser->methods->object_start(parser)) {
+ if (parser->methods.object_start && FAILURE == parser->methods.object_start(parser)) {
YYERROR;
}
}
@@ -1476,7 +1476,7 @@ yyreduce:
{
ZVAL_COPY_VALUE(&(yyval.value), &(yyvsp[-1].value));
PHP_JSON_DEPTH_DEC;
- if (parser->methods->object_end && FAILURE == parser->methods->object_end(parser, &(yyval.value))) {
+ if (parser->methods.object_end && FAILURE == parser->methods.object_end(parser, &(yyval.value))) {
YYERROR;
}
}
@@ -1495,7 +1495,7 @@ yyreduce:
case 8:
{
- parser->methods->object_create(parser, &(yyval.value));
+ parser->methods.object_create(parser, &(yyval.value));
}
break;
@@ -1503,8 +1503,8 @@ yyreduce:
case 10:
{
- parser->methods->object_create(parser, &(yyval.value));
- if (parser->methods->object_update(parser, &(yyval.value), (yyvsp[0].pair).key, &(yyvsp[0].pair).val) == FAILURE) {
+ parser->methods.object_create(parser, &(yyval.value));
+ if (parser->methods.object_update(parser, &(yyval.value), (yyvsp[0].pair).key, &(yyvsp[0].pair).val) == FAILURE) {
YYERROR;
}
}
@@ -1514,7 +1514,7 @@ yyreduce:
case 11:
{
- if (parser->methods->object_update(parser, &(yyvsp[-2].value), (yyvsp[0].pair).key, &(yyvsp[0].pair).val) == FAILURE) {
+ if (parser->methods.object_update(parser, &(yyvsp[-2].value), (yyvsp[0].pair).key, &(yyvsp[0].pair).val) == FAILURE) {
YYERROR;
}
ZVAL_COPY_VALUE(&(yyval.value), &(yyvsp[-2].value));
@@ -1551,7 +1551,7 @@ yyreduce:
{
PHP_JSON_DEPTH_INC;
- if (parser->methods->array_start && FAILURE == parser->methods->array_start(parser)) {
+ if (parser->methods.array_start && FAILURE == parser->methods.array_start(parser)) {
YYERROR;
}
}
@@ -1563,7 +1563,7 @@ yyreduce:
{
ZVAL_COPY_VALUE(&(yyval.value), &(yyvsp[-1].value));
PHP_JSON_DEPTH_DEC;
- if (parser->methods->array_end && FAILURE == parser->methods->array_end(parser, &(yyval.value))) {
+ if (parser->methods.array_end && FAILURE == parser->methods.array_end(parser, &(yyval.value))) {
YYERROR;
}
}
@@ -1582,7 +1582,7 @@ yyreduce:
case 19:
{
- parser->methods->array_create(parser, &(yyval.value));
+ parser->methods.array_create(parser, &(yyval.value));
}
break;
@@ -1590,8 +1590,8 @@ yyreduce:
case 21:
{
- parser->methods->array_create(parser, &(yyval.value));
- parser->methods->array_append(parser, &(yyval.value), &(yyvsp[0].value));
+ parser->methods.array_create(parser, &(yyval.value));
+ parser->methods.array_append(parser, &(yyval.value), &(yyvsp[0].value));
}
break;
@@ -1599,7 +1599,7 @@ yyreduce:
case 22:
{
- parser->methods->array_append(parser, &(yyvsp[-2].value), &(yyvsp[0].value));
+ parser->methods.array_append(parser, &(yyvsp[-2].value), &(yyvsp[0].value));
ZVAL_COPY_VALUE(&(yyval.value), &(yyvsp[-2].value));
}
@@ -1947,7 +1947,7 @@ void php_json_parser_init_ex(php_json_parser *parser,
parser->depth = 1;
parser->max_depth = max_depth;
parser->return_value = return_value;
- parser->methods = parser_methods;
+ memcpy(&parser->methods, parser_methods, sizeof(php_json_parser_methods));
}
void php_json_parser_init(php_json_parser *parser,
diff --git a/ext/json/json_parser.y b/ext/json/json_parser.y
index c7c4f74a16..a2d96efd8e 100644
--- a/ext/json/json_parser.y
+++ b/ext/json/json_parser.y
@@ -102,7 +102,7 @@ object:
'{'
{
PHP_JSON_DEPTH_INC;
- if (parser->methods->object_start && FAILURE == parser->methods->object_start(parser)) {
+ if (parser->methods.object_start && FAILURE == parser->methods.object_start(parser)) {
YYERROR;
}
}
@@ -110,7 +110,7 @@ object:
{
ZVAL_COPY_VALUE(&$$, &$3);
PHP_JSON_DEPTH_DEC;
- if (parser->methods->object_end && FAILURE == parser->methods->object_end(parser, &$$)) {
+ if (parser->methods.object_end && FAILURE == parser->methods.object_end(parser, &$$)) {
YYERROR;
}
}
@@ -128,7 +128,7 @@ object_end:
members:
/* empty */
{
- parser->methods->object_create(parser, &$$);
+ parser->methods.object_create(parser, &$$);
}
| member
;
@@ -136,14 +136,14 @@ members:
member:
pair
{
- parser->methods->object_create(parser, &$$);
- if (parser->methods->object_update(parser, &$$, $1.key, &$1.val) == FAILURE) {
+ parser->methods.object_create(parser, &$$);
+ if (parser->methods.object_update(parser, &$$, $1.key, &$1.val) == FAILURE) {
YYERROR;
}
}
| member ',' pair
{
- if (parser->methods->object_update(parser, &$1, $3.key, &$3.val) == FAILURE) {
+ if (parser->methods.object_update(parser, &$1, $3.key, &$3.val) == FAILURE) {
YYERROR;
}
ZVAL_COPY_VALUE(&$$, &$1);
@@ -170,7 +170,7 @@ array:
'['
{
PHP_JSON_DEPTH_INC;
- if (parser->methods->array_start && FAILURE == parser->methods->array_start(parser)) {
+ if (parser->methods.array_start && FAILURE == parser->methods.array_start(parser)) {
YYERROR;
}
}
@@ -178,7 +178,7 @@ array:
{
ZVAL_COPY_VALUE(&$$, &$3);
PHP_JSON_DEPTH_DEC;
- if (parser->methods->array_end && FAILURE == parser->methods->array_end(parser, &$$)) {
+ if (parser->methods.array_end && FAILURE == parser->methods.array_end(parser, &$$)) {
YYERROR;
}
}
@@ -196,7 +196,7 @@ array_end:
elements:
/* empty */
{
- parser->methods->array_create(parser, &$$);
+ parser->methods.array_create(parser, &$$);
}
| element
;
@@ -204,12 +204,12 @@ elements:
element:
value
{
- parser->methods->array_create(parser, &$$);
- parser->methods->array_append(parser, &$$, &$1);
+ parser->methods.array_create(parser, &$$);
+ parser->methods.array_append(parser, &$$, &$1);
}
| element ',' value
{
- parser->methods->array_append(parser, &$1, &$3);
+ parser->methods.array_append(parser, &$1, &$3);
ZVAL_COPY_VALUE(&$$, &$1);
}
| element errlex
@@ -339,7 +339,7 @@ void php_json_parser_init_ex(php_json_parser *parser,
parser->depth = 1;
parser->max_depth = max_depth;
parser->return_value = return_value;
- parser->methods = parser_methods;
+ memcpy(&parser->methods, parser_methods, sizeof(php_json_parser_methods));
}
void php_json_parser_init(php_json_parser *parser,
diff --git a/ext/json/php_json_parser.h b/ext/json/php_json_parser.h
index edc6c4ee41..997213f42e 100644
--- a/ext/json/php_json_parser.h
+++ b/ext/json/php_json_parser.h
@@ -57,7 +57,7 @@ struct _php_json_parser {
zval *return_value;
unsigned int depth;
int max_depth;
- const php_json_parser_methods *methods;
+ php_json_parser_methods methods;
};
PHP_JSON_API void php_json_parser_init_ex(