iliaa           Mon Jan 19 13:40:40 2004 EDT

  Modified files:              
    /php-src/ext/standard       file.c 
  Log:
  Fixed bug #26967 (make various file operations return FALSE on error).
  
  
http://cvs.php.net/diff.php/php-src/ext/standard/file.c?r1=1.377&r2=1.378&ty=u
Index: php-src/ext/standard/file.c
diff -u php-src/ext/standard/file.c:1.377 php-src/ext/standard/file.c:1.378
--- php-src/ext/standard/file.c:1.377   Sun Jan 18 15:29:34 2004
+++ php-src/ext/standard/file.c Mon Jan 19 13:40:39 2004
@@ -21,7 +21,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: file.c,v 1.377 2004/01/18 20:29:34 moriyoshi Exp $ */
+/* $Id: file.c,v 1.378 2004/01/19 18:40:39 iliaa Exp $ */
 
 /* Synced with php 3.0 revision 1.218 1999-06-16 [ssb] */
 
@@ -119,6 +119,13 @@
 #endif
 
 /* }}} */
+
+#define PHP_STREAM_TO_ZVAL(stream, arg) \
+       php_stream_from_zval_no_verify(stream, arg); \
+       if (stream == NULL) {   \
+               RETURN_FALSE;   \
+       }
+
 /* {{{ ZTS-stuff / Globals / Prototypes */
 
 /* sharing globals is *evil* */
@@ -255,7 +262,7 @@
                return;
        }
 
-       php_stream_from_zval(stream, &arg1);
+       PHP_STREAM_TO_ZVAL(stream, &arg1);
 
        act = operation & 3;
        if (act < 1 || act > 3) {
@@ -771,7 +778,7 @@
                WRONG_PARAM_COUNT;
        }
 
-       php_stream_from_zval(stream, arg1);
+       PHP_STREAM_TO_ZVAL(stream, arg1);
        if (!stream->is_persistent) {
                zend_list_delete(stream->rsrc_id);
        } else {
@@ -860,7 +867,7 @@
                WRONG_PARAM_COUNT;
        }
 
-       php_stream_from_zval(stream, arg1);
+       PHP_STREAM_TO_ZVAL(stream, arg1);
 
        zend_list_delete(stream->rsrc_id);
        RETURN_LONG(FG(pclose_ret));
@@ -878,7 +885,7 @@
                WRONG_PARAM_COUNT;
        }
 
-       php_stream_from_zval(stream, arg1);
+       PHP_STREAM_TO_ZVAL(stream, arg1);
 
        if (php_stream_eof(stream)) {
                RETURN_TRUE;
@@ -903,11 +910,7 @@
                WRONG_PARAM_COUNT;
        }
 
-       php_stream_from_zval_no_verify(stream, arg1);
-       if (stream == NULL) {
-               /* we want false return value, rather than NULL */
-               goto exit_failed;
-       }
+       PHP_STREAM_TO_ZVAL(stream, arg1);
 
        if (argc == 1) {
                /* ask streams to give us a buffer of an appropriate size */
@@ -964,7 +967,7 @@
                WRONG_PARAM_COUNT;
        }
 
-       php_stream_from_zval(stream, arg1);
+       PHP_STREAM_TO_ZVAL(stream, arg1);
 
        buf = safe_emalloc(2, sizeof(char), 0);
 
@@ -1022,7 +1025,7 @@
                        break;
        }
 
-       php_stream_from_zval(stream, fd);
+       PHP_STREAM_TO_ZVAL(stream, fd);
 
        if (bytes != NULL) {
                convert_to_long_ex(bytes);
@@ -1145,7 +1148,7 @@
                        break;
        }
 
-       php_stream_from_zval(stream, arg1);
+       PHP_STREAM_TO_ZVAL(stream, arg1);
 
        if (!arg3 && PG(magic_quotes_runtime)) {
                buffer = estrndup(Z_STRVAL_PP(arg2), Z_STRLEN_PP(arg2));
@@ -1173,7 +1176,7 @@
                WRONG_PARAM_COUNT;
        }
 
-       php_stream_from_zval(stream, arg1);
+       PHP_STREAM_TO_ZVAL(stream, arg1);
 
        ret = php_stream_flush(stream);
        if (ret) {
@@ -1194,7 +1197,7 @@
                WRONG_PARAM_COUNT;
        }
 
-       php_stream_from_zval(stream, arg1);
+       PHP_STREAM_TO_ZVAL(stream, arg1);
 
        if (-1 == php_stream_rewind(stream)) {
                RETURN_FALSE;
@@ -1215,7 +1218,7 @@
                WRONG_PARAM_COUNT;
        }
 
-       php_stream_from_zval(stream, arg1);
+       PHP_STREAM_TO_ZVAL(stream, arg1);
 
        ret = php_stream_tell(stream);
        if (ret == -1)  {
@@ -1237,7 +1240,7 @@
                WRONG_PARAM_COUNT;
        }
 
-       php_stream_from_zval(stream, arg1);
+       PHP_STREAM_TO_ZVAL(stream, arg1);
 
        convert_to_long_ex(arg2);
        if (argcount > 2) {
@@ -1379,7 +1382,7 @@
                WRONG_PARAM_COUNT;
        }
 
-       php_stream_from_zval(stream, arg1);
+       PHP_STREAM_TO_ZVAL(stream, arg1);
 
        size = php_stream_passthru(stream);
        RETURN_LONG(size);
@@ -1465,7 +1468,7 @@
                WRONG_PARAM_COUNT;
        }
 
-       php_stream_from_zval(stream, fp);
+       PHP_STREAM_TO_ZVAL(stream, fp);
 
        convert_to_long_ex(size);
 
@@ -1495,7 +1498,7 @@
                WRONG_PARAM_COUNT;
        }
 
-       php_stream_from_zval(stream, fp);
+       PHP_STREAM_TO_ZVAL(stream, fp);
 
        if (php_stream_stat(stream, &stat_ssb)) {
                RETURN_FALSE;
@@ -1636,7 +1639,7 @@
                WRONG_PARAM_COUNT;
        }
 
-       php_stream_from_zval(stream, arg1);
+       PHP_STREAM_TO_ZVAL(stream, arg1);
 
        convert_to_long_ex(arg2);
        len = Z_LVAL_PP(arg2);
@@ -1756,7 +1759,7 @@
                        len = -1;
                }
 
-               php_stream_from_zval(stream, &fd);
+               PHP_STREAM_TO_ZVAL(stream, &fd);
        }
 
        if (len < 0) {

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to