cvs: php4 /ext/odbc php_odbc.c php_odbc.h

From: Date: Wed, 30 Apr 2003 10:45:45 +0000
Subject: cvs: php4 /ext/odbc php_odbc.c php_odbc.h
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-20607@lists.php.net to get a copy of this message
wez Wed Apr 30 06:45:45 2003 EDT Modified files: /php4/ext/odbc php_odbc.c php_odbc.h Log: Fix memory leak in odbc_fetch_(array|object). Enable those functions for IBM DB2. Index: php4/ext/odbc/php_odbc.c diff -u php4/ext/odbc/php_odbc.c:1.159 php4/ext/odbc/php_odbc.c:1.160 --- php4/ext/odbc/php_odbc.c:1.159 Tue Mar 18 07:06:01 2003 +++ php4/ext/odbc/php_odbc.c Wed Apr 30 06:45:45 2003 @@ -20,7 +20,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_odbc.c,v 1.159 2003/03/18 12:06:01 ssb Exp $ */ +/* $Id: php_odbc.c,v 1.160 2003/04/30 10:45:45 wez Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -84,7 +84,7 @@ PHP_FE(odbc_error, NULL) PHP_FE(odbc_errormsg, NULL) PHP_FE(odbc_exec, NULL) -#if defined(HAVE_DBMAKER) || defined(PHP_WIN32) +#ifdef PHP_ODBC_HAVE_FETCH_HASH PHP_FE(odbc_fetch_array, NULL) PHP_FE(odbc_fetch_object, NULL) #endif @@ -1328,7 +1328,7 @@ } /* }}} */ -#if defined(HAVE_DBMAKER) || defined(PHP_WIN32) +#ifdef PHP_ODBC_HAVE_FETCH_HASH #define ODBC_NUM 1 #define ODBC_OBJECT 2 @@ -1378,8 +1378,6 @@ RETURN_FALSE; } - array_init(return_value); - #ifdef HAVE_SQL_EXTENDED_FETCH if (result->fetch_abs) { if (rownum > 0) @@ -1394,6 +1392,8 @@ RETURN_FALSE; } + array_init(return_value); + #ifdef HAVE_SQL_EXTENDED_FETCH if (rownum > 0 && result->fetch_abs) result->fetched = rownum; @@ -1402,8 +1402,7 @@ result->fetched++; for(i = 0; i < result->numcols; i++) { - ALLOC_ZVAL(tmp); - tmp->refcount = 1; + ALLOC_INIT_ZVAL(tmp); Z_TYPE_P(tmp) = IS_STRING; Z_STRLEN_P(tmp) = 0; sql_c_type = SQL_C_CHAR; Index: php4/ext/odbc/php_odbc.h diff -u php4/ext/odbc/php_odbc.h:1.52 php4/ext/odbc/php_odbc.h:1.53 --- php4/ext/odbc/php_odbc.h:1.52 Tue Mar 18 07:06:01 2003 +++ php4/ext/odbc/php_odbc.h Wed Apr 30 06:45:45 2003 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_odbc.h,v 1.52 2003/03/18 12:06:01 ssb Exp $ */ +/* $Id: php_odbc.h,v 1.53 2003/04/30 10:45:45 wez Exp $ */ #ifndef PHP_ODBC_H #define PHP_ODBC_H @@ -33,6 +33,10 @@ extern zend_module_entry odbc_module_entry; #define odbc_module_ptr &odbc_module_entry +#if defined(HAVE_DBMAKER) || defined(PHP_WIN32) || defined(HAVE_IBMDB2) +# define PHP_ODBC_HAVE_FETCH_HASH 1 +#endif + /* user functions */ PHP_MINIT_FUNCTION(odbc); PHP_MSHUTDOWN_FUNCTION(odbc); @@ -54,7 +58,7 @@ PHP_FUNCTION(odbc_do); PHP_FUNCTION(odbc_exec); PHP_FUNCTION(odbc_execute); -#if defined(HAVE_DBMAKER) || defined(PHP_WIN32) +#ifdef PHP_ODBC_HAVE_FETCH_HASH PHP_FUNCTION(odbc_fetch_array); PHP_FUNCTION(odbc_fetch_object); #endif

« previous php.cvs (#20607) next »