}
/* }}} */
-zend_function *spl_filesystem_object_get_method_check(zval **object_ptr, char *method, int method_len, const struct _zend_literal *key TSRMLS_DC) /* {{{ */
+zend_function *spl_filesystem_object_get_method_check(zend_object **object, zend_string *method, const zval *key) /* {{{ */
{
- spl_filesystem_object *fsobj = zend_object_store_get_object(*object_ptr TSRMLS_CC);
+ spl_filesystem_object *fsobj = spl_filesystem_from_obj(*object);
- if (fsobj->u.dir.entry.d_name[0] == '\0' && fsobj->orig_path == NULL) {
+ if (fsobj->u.dir.dirp == NULL && fsobj->orig_path == NULL) {
- method = "_bad_state_ex";
- method_len = sizeof("_bad_state_ex") - 1;
- key = NULL;
+ zend_function *func;
+ zend_string *tmp = zend_string_init("_bad_state_ex", sizeof("_bad_state_ex") - 1, 0);
+ func = zend_get_std_object_handlers()->get_method(object, tmp, NULL);
+ zend_string_release(tmp);
+ return func;
}
- return zend_get_std_object_handlers()->get_method(object_ptr, method, method_len, key TSRMLS_CC);
+ return zend_get_std_object_handlers()->get_method(object, method, key);
}
/* }}} */