diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c index d82e0efaa11..2c2b0b7978b 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 d8126211480..fc5bb47a287 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;