Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Index: trunk/ext/reflection/php_reflection.c
- ===================================================================
- --- trunk/ext/reflection/php_reflection.c (revision 318478)
- +++ trunk/ext/reflection/php_reflection.c (working copy)
- @@ -50,6 +50,15 @@
- zval_ptr_dtor(&member); \
- } while (0)
- +#define reflection_fix_reference(fptr, args_num, params) do { \
- + uint i = 0; \
- + for(;i<args_num;i++) { \
- + if (ARG_SHOULD_BE_SENT_BY_REF(fptr, i+1)) { \
- + Z_SET_ISREF_P(*(params[i])); \
- + } \
- + } \
- + } while (0)
- +
- /* Class entry pointers */
- PHPAPI zend_class_entry *reflector_ptr;
- PHPAPI zend_class_entry *reflection_exception_ptr;
- @@ -1879,6 +1888,8 @@
- fcc.calling_scope = EG(scope);
- fcc.called_scope = NULL;
- fcc.object_ptr = NULL;
- +
- + reflection_fix_reference(fptr, num_args, params);
- result = zend_call_function(&fci, &fcc TSRMLS_CC);
- @@ -2812,6 +2823,8 @@
- fcc.called_scope = obj_ce;
- fcc.object_ptr = object_ptr;
- + reflection_fix_reference(mptr, fci.param_count, fci.params);
- +
- result = zend_call_function(&fci, &fcc TSRMLS_CC);
- if (params) {
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement