cvs: php4 /ext/zlib Makefile.in php_zlib.h zlib.c zlib_fopen_wrapper.c

From: Date: Tue, 21 Nov 2000 00:40:13 +0000
Subject: cvs: php4 /ext/zlib Makefile.in php_zlib.h zlib.c zlib_fopen_wrapper.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-2711@lists.php.net to get a copy of this message
hholzgra Mon Nov 20 16:40:13 2000 EDT Added files: /php4/ext/zlib zlib_fopen_wrapper.c Modified files: /php4/ext/zlib Makefile.in php_zlib.h zlib.c Log: all the _GNU_SOURCE dependant stuff is now in zlib_fopen_wrapper.c so all the #define/#include workarounds in zlib.c are no longer needed Index: php4/ext/zlib/Makefile.in diff -u php4/ext/zlib/Makefile.in:1.10 php4/ext/zlib/Makefile.in:1.11 --- php4/ext/zlib/Makefile.in:1.10 Mon May 1 18:15:10 2000 +++ php4/ext/zlib/Makefile.in Mon Nov 20 16:40:12 2000 @@ -1,6 +1,6 @@ LTLIBRARY_NAME = libzlib.la -LTLIBRARY_SOURCES = zlib.c +LTLIBRARY_SOURCES = zlib.c zlib_fopen_wrapper.c LTLIBRARY_SHARED_NAME = zlib.la LTLIBRARY_SHARED_LIBADD = $(ZLIB_SHARED_LIBADD) Index: php4/ext/zlib/php_zlib.h diff -u php4/ext/zlib/php_zlib.h:1.11 php4/ext/zlib/php_zlib.h:1.12 --- php4/ext/zlib/php_zlib.h:1.11 Mon Nov 13 10:54:37 2000 +++ php4/ext/zlib/php_zlib.h Mon Nov 20 16:40:12 2000 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_zlib.h,v 1.11 2000/11/13 18:54:37 zeev Exp $ */ +/* $Id: php_zlib.h,v 1.12 2000/11/21 00:40:12 hholzgra Exp $ */ #ifndef PHP_ZLIB_H #define PHP_ZLIB_H @@ -60,6 +60,9 @@ PHP_FUNCTION(gzinflate); PHP_FUNCTION(gzencode); PHP_FUNCTION(ob_gzhandler); + +FILE *zlib_fopen_wrapper(char *path, char *mode, int options, int *issock, int *socketd, char **opened_path); + #ifdef ZTS #define ZLIBLS_D php_zlib_globals *zlib_globals Index: php4/ext/zlib/zlib.c diff -u php4/ext/zlib/zlib.c:1.67 php4/ext/zlib/zlib.c:1.68 --- php4/ext/zlib/zlib.c:1.67 Mon Nov 20 13:36:38 2000 +++ php4/ext/zlib/zlib.c Mon Nov 20 16:40:12 2000 @@ -16,18 +16,9 @@ | Stefan Röhrich <sr@linux.de> | +----------------------------------------------------------------------+ */ -/* $Id: zlib.c,v 1.67 2000/11/20 21:36:38 hholzgra Exp $ */ +/* $Id: zlib.c,v 1.68 2000/11/21 00:40:12 hholzgra Exp $ */ #define IS_EXT_MODULE -#ifndef PHP_WIN32 -#include "php_config.h" -#endif - -#if HAVE_FOPENCOOKIE -#define _GNU_SOURCE -#include <stdio.h> -#endif - #include "php.h" #include "SAPI.h" @@ -81,10 +72,6 @@ static php_zlib_globals zlib_globals; #endif -#if HAVE_FOPENCOOKIE -static FILE *zlib_fopen_wrapper(char *path, char *mode, int options, int *issock, int *socketd, char **opened_path); -#endif - #define OS_CODE 0x03 /* FIXME */ #define CODING_GZIP 1 #define CODING_DEFLATE 2 @@ -941,78 +928,6 @@ } /* }}} */ -#if HAVE_FOPENCOOKIE -struct gz_cookie { - gzFile gz_file; -}; - -static ssize_t gz_reader(void *cookie, char *buffer, size_t size) -{ - return gzread(((struct gz_cookie *)cookie)->gz_file,buffer,size); -} - -static ssize_t gz_writer(void *cookie, const char *buffer, size_t size) { - return gzwrite(((struct gz_cookie *)cookie)->gz_file,(char *)buffer,size); -} - -static int gz_seeker(void *cookie,off_t position, int whence) { - return gzseek(((struct gz_cookie *)cookie)->gz_file,(z_off_t)position,whence); -} - -static int gz_closer(void *cookie) { - int ret=gzclose(((struct gz_cookie *)cookie)->gz_file); - efree(cookie); - cookie=NULL; - return ret; -} - - - -static COOKIE_IO_FUNCTIONS_T gz_cookie_functions = -{ gz_reader -, gz_writer -, gz_seeker -, gz_closer -}; - -static FILE *zlib_fopen_wrapper(char *path, char *mode, int options, int *issock, int *socketd, char **opened_path) -{ - struct gz_cookie *gc = NULL; - FILE *fp; - int fissock=0, fsocketd=0; - - gc = (struct gz_cookie *)emalloc(sizeof(struct gz_cookie)); - - if(gc) { - *issock = 0; - - while(*path!=':') - path++; - - path++; - - fp = php_fopen_wrapper(path, mode, options|IGNORE_URL, &fissock, &fsocketd, NULL); - - if (!fp) { - efree(gc); - return NULL; - } - - gc->gz_file = gzdopen(fileno(fp), mode); - - if(gc->gz_file) { - return fopencookie(gc,mode,gz_cookie_functions); - } else { - efree(gc); - return NULL; - } - } - errno = ENOENT; - return NULL; -} - - -#endif static int php_do_deflate(uint str_length, Bytef **p_buffer, uint *p_buf_used ZLIBLS_DC) Index: php4/ext/zlib/zlib_fopen_wrapper.c +++ php4/ext/zlib/zlib_fopen_wrapper.c /* +----------------------------------------------------------------------+ | PHP version 4.0 | +----------------------------------------------------------------------+ | Copyright (c) 1997, 1998, 1999, 2000 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 2.02 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available at through the world-wide-web at | | http://www.php.net/license/2_02.txt. | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Rasmus Lerdorf <rasmus@lerdorf.on.ca> | | Stefan Röhrich <sr@linux.de> | +----------------------------------------------------------------------+ */ /* $Id: zlib_fopen_wrapper.c,v 1.1 2000/11/21 00:40:13 hholzgra Exp $ */ #define IS_EXT_MODULE #define _GNU_SOURCE #include "php.h" #include "php_zlib.h" #include "fopen-wrappers.h" #if HAVE_FOPENCOOKIE struct gz_cookie { gzFile gz_file; }; static ssize_t gz_reader(void *cookie, char *buffer, size_t size) { return gzread(((struct gz_cookie *)cookie)->gz_file,buffer,size); } static ssize_t gz_writer(void *cookie, const char *buffer, size_t size) { return gzwrite(((struct gz_cookie *)cookie)->gz_file,(char *)buffer,size); } static int gz_seeker(void *cookie,off_t position, int whence) { return gzseek(((struct gz_cookie *)cookie)->gz_file,(z_off_t)position,whence); } static int gz_closer(void *cookie) { int ret=gzclose(((struct gz_cookie *)cookie)->gz_file); free(cookie); cookie=NULL; return ret; } static COOKIE_IO_FUNCTIONS_T gz_cookie_functions = { gz_reader , gz_writer , gz_seeker , gz_closer }; FILE *zlib_fopen_wrapper(char *path, char *mode, int options, int *issock, int *socketd, char **opened_path) { struct gz_cookie *gc = NULL; FILE *fp; int fissock=0, fsocketd=0; gc = (struct gz_cookie *)malloc(sizeof(struct gz_cookie)); if(gc) { *issock = 0; while(*path!=':') path++; path++; fp = php_fopen_wrapper(path, mode, options|IGNORE_URL, &fissock, &fsocketd, NULL); if (!fp) { free(gc); return NULL; } gc->gz_file = gzdopen(fileno(fp), mode); if(gc->gz_file) { return fopencookie(gc,mode,gz_cookie_functions); } else { free(gc); return NULL; } } errno = ENOENT; return NULL; } #endif /* * Local variables: * tab-width: 4 * c-basic-offset: 4 * End: */

« previous php.cvs (#2711) next »