How come the "b" in fopen() doesn't work? 

> -----Original Message-----
> From: Pierre-Alain Joye [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, November 15, 2006 11:14 AM
> To: [email protected]
> Subject: [PHP-CVS] cvs: php-src(PHP_5_2) /ext/zip/lib 
> zip_close.c zip_open.c zip_source_file.c 
> 
> pajoye                Wed Nov 15 19:14:02 2006 UTC
> 
>   Modified files:              (Branch: PHP_5_2)
>     /php-src/ext/zip/lib      zip_close.c zip_open.c 
> zip_source_file.c 
>   Log:
>   #9278 and #39506, force the binary mode for the zip 
> operation only. At least I do not have to set/restore it in 
> each function.
>   
> http://cvs.php.net/viewvc.cgi/php-src/ext/zip/lib/zip_close.c?
> r1=1.1.2.3&r2=1.1.2.4&diff_format=u
> Index: php-src/ext/zip/lib/zip_close.c
> diff -u php-src/ext/zip/lib/zip_close.c:1.1.2.3 
> php-src/ext/zip/lib/zip_close.c:1.1.2.4
> --- php-src/ext/zip/lib/zip_close.c:1.1.2.3   Sat Nov 11 19:06:56 2006
> +++ php-src/ext/zip/lib/zip_close.c   Wed Nov 15 19:14:02 2006
> @@ -548,6 +548,9 @@
>       free(temp);
>       return NULL;
>      }
> +#ifdef PHP_WIN32
> +     _setmode(_fileno(tfp), _O_BINARY );
> +#endif
>  
>      *outp = tfp;
>      return temp;
> http://cvs.php.net/viewvc.cgi/php-src/ext/zip/lib/zip_open.c?r
> 1=1.1.2.2&r2=1.1.2.3&diff_format=u
> Index: php-src/ext/zip/lib/zip_open.c
> diff -u php-src/ext/zip/lib/zip_open.c:1.1.2.2 
> php-src/ext/zip/lib/zip_open.c:1.1.2.3
> --- php-src/ext/zip/lib/zip_open.c:1.1.2.2    Wed Nov 15 16:24:24 2006
> +++ php-src/ext/zip/lib/zip_open.c    Wed Nov 15 19:14:02 2006
> @@ -75,10 +75,6 @@
>       return NULL;
>      }
>  
> -#ifdef PHP_WIN32 
> -     _fmode = _O_BINARY;
> -#endif
> -
>      if (flags & ZIP_OVERWRITE || stat(fn, &st) != 0) {
>       if ((flags & ZIP_CREATE) || (flags & ZIP_OVERWRITE)) {
>           if ((za=_zip_new(&error)) == NULL) { @@ -104,7 +100,6 @@
>       return NULL;
>      }
>  
> -
>      /* ZIP_CREATE gets ignored if file exists and not ZIP_EXCL,
>         just like open() */
>       if ((fp=fopen(fn, "rb")) == NULL) {
> @@ -112,6 +107,10 @@
>               return NULL;
>       }
>  
> +#ifdef PHP_WIN32
> +     _setmode(_fileno(fp), _O_BINARY );
> +#endif
> +
>      clearerr(fp);
>      fseek(fp, 0, SEEK_END);
>      len = ftell(fp);
> http://cvs.php.net/viewvc.cgi/php-src/ext/zip/lib/zip_source_f
> ile.c?r1=1.1&r2=1.1.2.1&diff_format=u
> Index: php-src/ext/zip/lib/zip_source_file.c
> diff -u php-src/ext/zip/lib/zip_source_file.c:1.1 
> php-src/ext/zip/lib/zip_source_file.c:1.1.2.1
> --- php-src/ext/zip/lib/zip_source_file.c:1.1 Mon Jul 24 16:58:58 2006
> +++ php-src/ext/zip/lib/zip_source_file.c     Wed Nov 15 19:14:02 2006
> @@ -62,6 +62,10 @@
>       return NULL;
>      }
>  
> +#ifdef PHP_WIN32
> +     _setmode(_fileno(fp), _O_BINARY );
> +#endif
> +
>      if ((zs=zip_source_filep(za, fp, start, len)) == NULL) {
>       fclose(fp);
>       return NULL;
> 
> --
> 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