Skip to content

Commit 81eadeb

Browse files
committed
Add support for offset as a reference
1 parent 544ced1 commit 81eadeb

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

ext/intl/resourcebundle/resourcebundle_class.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,7 @@ zval *resourcebundle_array_get(zend_object *object, zval *offset, int type, zval
239239
return NULL;
240240
}
241241

242+
ZVAL_DEREF(offset);
242243
if (Z_TYPE_P(offset) == IS_LONG) {
243244
return resource_bundle_array_fetch(object, /* offset_str */ NULL, Z_LVAL_P(offset), rv, /* fallback */ true, /* arg_num */ 0);
244245
} else if (Z_TYPE_P(offset) == IS_STRING) {

ext/intl/tests/resourcebundle_arrayaccess.phpt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ intl
2323
$r2 = $r['testarray'];
2424
printf( "testarray: %s\n", $r2[2] );
2525

26+
echo "Using a reference as an offset:\n";
27+
$offset = 'teststring';
28+
$ref = &$offset;
29+
var_dump($r[$ref]);
30+
2631
$t = $r['nonexisting'];
2732
echo debug( $t );
2833
?>
@@ -46,5 +51,7 @@ Array
4651
testbin: a1b2c3d4e5f67890
4752
testtable: 3
4853
testarray: string 3
54+
Using a reference as an offset:
55+
string(12) "Hello World!"
4956
NULL
5057
2: Cannot load resource element 'nonexisting': U_MISSING_RESOURCE_ERROR

0 commit comments

Comments
 (0)