fcall_cache.initialized = EG(autoload_func) ? 1 : 0;
fcall_cache.function_handler = EG(autoload_func);
fcall_cache.calling_scope = NULL;
+ fcall_cache.called_scope = NULL;
fcall_cache.object_pp = NULL;
exception = EG(exception);
fcc.initialized = 1;
fcc.function_handler = ce->constructor;
fcc.calling_scope = EG(scope);
+ fcc.called_scope = Z_OBJCE_P(return_value);
fcc.object_pp = &return_value;
if (zend_call_function(&fci, &fcc TSRMLS_CC) == FAILURE) {
fcc.initialized = 1;
fcc.function_handler = ce->constructor;
fcc.calling_scope = EG(scope);
+ fcc.called_scope = Z_OBJCE_P(return_value);
fcc.object_pp = &return_value;
if (zend_call_function(&fci, &fcc TSRMLS_CC) == FAILURE) {
fcc.initialized = 1;
fcc.function_handler = dbstmt_ce->constructor;
fcc.calling_scope = EG(scope);
+ fcc.called_scope = Z_OBJCE_P(object);
fcc.object_pp = &object;
if (zend_call_function(&fci, &fcc TSRMLS_CC) == FAILURE) {
fcc->initialized = 1;
fcc->function_handler = ce->constructor;
fcc->calling_scope = EG(scope);
+ fcc->called_scope = ce;
return 1;
} else if (stmt->fetch.cls.ctor_args) {
pdo_raise_impl_error(stmt->dbh, stmt, "HY000", "user-supplied class does not have a constructor, use NULL for the ctor_params parameter, or simply omit it" TSRMLS_CC);
fcc->initialized = 1;
fcc->function_handler = function_handler;
fcc->calling_scope = EG(scope);
+ fcc->called_scope = Z_OBJCE_P(object);
fcc->object_pp = object;
return 1;
fcc.initialized = 1;
fcc.function_handler = ce->constructor;
fcc.calling_scope = EG(scope);
+ fcc.called_scope = Z_OBJCE_P(return_value);
fcc.object_pp = &return_value;
if (zend_call_function(&fci, &fcc TSRMLS_CC) == FAILURE) {
fcc.initialized = 1;
fcc.function_handler = ce_ptr->constructor;
fcc.calling_scope = ce_ptr;
+ fcc.called_scope = Z_OBJCE_P(reflection_ptr);
fcc.object_pp = &reflector_ptr;
result = zend_call_function(&fci, &fcc TSRMLS_CC);
fcc.initialized = 1;
fcc.function_handler = fptr;
fcc.calling_scope = EG(scope);
+ fcc.called_scope = NULL;
fcc.object_pp = NULL;
result = zend_call_function(&fci, &fcc TSRMLS_CC);
fcc.initialized = 1;
fcc.function_handler = fptr;
fcc.calling_scope = EG(scope);
+ fcc.called_scope = NULL;
fcc.object_pp = NULL;
result = zend_call_function(&fci, &fcc TSRMLS_CC);
fcc.initialized = 1;
fcc.function_handler = mptr;
fcc.calling_scope = obj_ce;
+ fcc.called_scope = Z_OBJCE_PP(object_pp);
fcc.object_pp = object_pp;
result = zend_call_function(&fci, &fcc TSRMLS_CC);
fcc.initialized = 1;
fcc.function_handler = mptr;
fcc.calling_scope = obj_ce;
+ fcc.called_scope = Z_OBJCE_P(object);
fcc.object_pp = &object;
result = zend_call_function(&fci, &fcc TSRMLS_CC);
fcc.initialized = 1;
fcc.function_handler = ce->constructor;
fcc.calling_scope = EG(scope);
+ fcc.called_scope = Z_OBJCE_P(return_value);
fcc.object_pp = &return_value;
if (zend_call_function(&fci, &fcc TSRMLS_CC) == FAILURE) {
fcc.initialized = 1;
fcc.function_handler = ce->constructor;
fcc.calling_scope = EG(scope);
+ fcc.called_scope = Z_OBJCE_P(return_value);
fcc.object_pp = &return_value;
if (zend_call_function(&fci, &fcc TSRMLS_CC) == FAILURE) {
fcic.initialized = 1;
fcic.function_handler = func_ptr;
fcic.calling_scope = NULL;
+ fcic.called_scope = NULL;
fcic.object_pp = NULL;
result = zend_call_function(&fci, &fcic TSRMLS_CC);
fcc.initialized = 1;
fcc.function_handler = ce->constructor;
fcc.calling_scope = EG(scope);
+ fcc.called_scope = Z_OBJCE_P(return_value);
fcc.object_pp = &return_value;
if (zend_call_function(&fci, &fcc TSRMLS_CC) == FAILURE) {
fcc.initialized = 1;
fcc.function_handler = uwrap->ce->constructor;
fcc.calling_scope = EG(scope);
+ fcc.called_scope = Z_OBJCE_P(us->object);
fcc.object_pp = &us->object;
if (zend_call_function(&fci, &fcc TSRMLS_CC) == FAILURE) {