]> granicus.if.org Git - php/commitdiff
Temporary fix zcontext
authorXinchen Hui <laruence@gmail.com>
Fri, 28 Feb 2014 14:21:51 +0000 (22:21 +0800)
committerXinchen Hui <laruence@gmail.com>
Fri, 28 Feb 2014 14:21:51 +0000 (22:21 +0800)
ext/spl/spl_directory.c
ext/spl/spl_directory.h

index 46855ef957e80950378119810dfbc9b5a0033c3b..f9a50968b016efa4e490917adf7d8b531bc90896 100644 (file)
@@ -275,7 +275,7 @@ static int spl_filesystem_file_open(spl_filesystem_object *intern, int use_inclu
                return FAILURE;
        }
 
-       intern->u.file.context = php_stream_context_from_zval(&intern->u.file.zcontext, 0);
+       intern->u.file.context = php_stream_context_from_zval(intern->u.file.zcontext, 0);
        intern->u.file.stream = php_stream_open_wrapper_ex(intern->file_name, intern->u.file.open_mode, (use_include_path ? USE_PATH : 0) | REPORT_ERRORS, NULL, intern->u.file.context);
 
        if (!intern->file_name_len || !intern->u.file.stream) {
@@ -287,10 +287,12 @@ static int spl_filesystem_file_open(spl_filesystem_object *intern, int use_inclu
                return FAILURE;
        }
 
-       if (!ZVAL_IS_UNDEF(&intern->u.file.zcontext)) {
+       /*
+       if (intern->u.file.zcontext) {
                //zend_list_addref(Z_RES_VAL(intern->u.file.zcontext));
-               Z_ADDREF_P(&intern->u.file.zcontext);
+               Z_ADDREF_P(intern->u.file.zcontext);
        }
+       */
 
        if (intern->file_name_len > 1 && IS_SLASH_AT(intern->file_name, intern->file_name_len-1)) {
                intern->file_name_len--;
@@ -2339,7 +2341,6 @@ SPL_METHOD(SplTempFileObject, __construct)
        }
        intern->u.file.open_mode = "wb";
        intern->u.file.open_mode_len = 1;
-       ZVAL_UNDEF(&intern->u.file.zcontext);
        
        if (spl_filesystem_file_open(intern, 0, 0 TSRMLS_CC) == SUCCESS) {
                intern->_path_len = 0;
index 72c701d117997114e26f1e6dfdc667e8771af3b3..32757c13e5ad12967380563d0a483619b88eaca3 100644 (file)
@@ -87,7 +87,7 @@ struct _spl_filesystem_object {
                struct {
                        php_stream         *stream;
                        php_stream_context *context;
-                       zval               zcontext;
+                       zval               *zcontext;
                        char               *open_mode;
                        int                open_mode_len;
                        zval               current_zval;