This is a bogus patch; the return value of the php_stream_copy_to_XXX
functions are the number of bytes that were copied, and this patch
breaks that.

The correct fix for #22234 is to fix php_copy_file() to handle a 0
return from this function.

Please revert!

--Wez.

On Sat, 15 Feb 2003, Moriyoshi Koizumi wrote:

> moriyoshi             Sat Feb 15 14:56:13 2003 EDT
>
>   Modified files:
>     /php4/main        streams.c
>   Log:
>   Fixed bug #22234
>
>
> Index: php4/main/streams.c
> diff -u php4/main/streams.c:1.154 php4/main/streams.c:1.155
> --- php4/main/streams.c:1.154 Thu Feb 13 16:08:04 2003
> +++ php4/main/streams.c       Sat Feb 15 14:56:12 2003
> @@ -20,7 +20,7 @@
>     +----------------------------------------------------------------------+
>   */
>
> -/* $Id: streams.c,v 1.154 2003/02/13 21:08:04 wez Exp $ */
> +/* $Id: streams.c,v 1.155 2003/02/15 19:56:12 moriyoshi Exp $ */
>
>  #define _GNU_SOURCE
>  #include "php.h"
> @@ -1206,6 +1206,17 @@
>               /* fall through - we might be able to copy in smaller chunks */
>       }
>  #endif
> +
> +     {
> +             php_stream_statbuf sbuf;
> +             if (php_stream_stat(src, &sbuf TSRMLS_CC) == 0) {
> +                     /* in the event that the source file is 0 bytes, return 1 to 
>indicate success
> +                      * because opening the file to write had already created a 
>copy */
> +                     if (sbuf.sb.st_size == 0) {
> +                             return 1;
> +                     }
> +             }
> +     }
>
>       while(1) {
>               readchunk = sizeof(buf);
>
>
>
> --
> PHP CVS Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
>


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

Reply via email to