From c3e4a2854a1eb075c2d059ec69b9e3a83a49cd20 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 13 Mar 2007 00:04:38 +0000 Subject: [PATCH] fix odbc resource handling, patch by Dave Lawson --- ext/odbc/php_odbc.c | 9 +++------ ext/odbc/php_odbc_includes.h | 1 - 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c index d82e0efaa1..2c2b0b7978 100644 --- a/ext/odbc/php_odbc.c +++ b/ext/odbc/php_odbc.c @@ -915,11 +915,10 @@ PHP_FUNCTION(odbc_prepare) } else { result->values = NULL; } - result->id = zend_list_insert(result, le_result); zend_list_addref(conn->id); result->conn_ptr = conn; result->fetched = 0; - RETURN_RESOURCE(result->id); + ZEND_REGISTER_RESOURCE(return_value, result, le_result); } /* }}} */ @@ -1335,12 +1334,10 @@ PHP_FUNCTION(odbc_exec) } else { result->values = NULL; } - result->id = zend_list_insert(result, le_result); zend_list_addref(conn->id); result->conn_ptr = conn; result->fetched = 0; - - RETURN_RESOURCE(result->id); + ZEND_REGISTER_RESOURCE(return_value, result, le_result); } /* }}} */ @@ -2044,7 +2041,7 @@ PHP_FUNCTION(odbc_free_result) result->values = NULL; } - zend_list_delete(result->id); + zend_list_delete(Z_LVAL_PP(pv_res)); RETURN_TRUE; } diff --git a/ext/odbc/php_odbc_includes.h b/ext/odbc/php_odbc_includes.h index d812621148..fc5bb47a28 100644 --- a/ext/odbc/php_odbc_includes.h +++ b/ext/odbc/php_odbc_includes.h @@ -236,7 +236,6 @@ typedef struct odbc_result_value { typedef struct odbc_result { ODBC_SQL_STMT_T stmt; - int id; odbc_result_value *values; SWORD numcols; SWORD numparams; -- 2.50.1