diff options
Diffstat (limited to 'ext/oci8/oci8_collection.c')
| -rw-r--r-- | ext/oci8/oci8_collection.c | 36 |
1 files changed, 15 insertions, 21 deletions
diff --git a/ext/oci8/oci8_collection.c b/ext/oci8/oci8_collection.c index d525ef4a9b..341a983ef5 100644 --- a/ext/oci8/oci8_collection.c +++ b/ext/oci8/oci8_collection.c @@ -1,6 +1,6 @@ /* +----------------------------------------------------------------------+ - | PHP Version 5 | + | PHP Version 7 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2014 The PHP Group | +----------------------------------------------------------------------+ @@ -56,7 +56,7 @@ php_oci_collection *php_oci_collection_create(php_oci_connection *connection, ch collection->connection = connection; collection->collection = NULL; - zend_list_addref(collection->connection->id); + ++GC_REFCOUNT(collection->connection->id); /* get type handle by name */ PHP_OCI_CALL_RETURN(errstatus, OCITypeByName, @@ -260,7 +260,7 @@ int php_oci_collection_size(php_oci_collection *collection, sb4 *size TSRMLS_DC) /* {{{ php_oci_collection_max() Return max number of elements in the collection */ -int php_oci_collection_max(php_oci_collection *collection, long *max TSRMLS_DC) +int php_oci_collection_max(php_oci_collection *collection, zend_long *max TSRMLS_DC) { php_oci_connection *connection = collection->connection; @@ -273,7 +273,7 @@ int php_oci_collection_max(php_oci_collection *collection, long *max TSRMLS_DC) /* {{{ php_oci_collection_trim() Trim collection to the given number of elements */ -int php_oci_collection_trim(php_oci_collection *collection, long trim_size TSRMLS_DC) +int php_oci_collection_trim(php_oci_collection *collection, zend_long trim_size TSRMLS_DC) { php_oci_connection *connection = collection->connection; sword errstatus; @@ -473,7 +473,7 @@ int php_oci_collection_append(php_oci_collection *collection, char *element, int /* {{{ php_oci_collection_element_get() Get the element with the given index */ -int php_oci_collection_element_get(php_oci_collection *collection, long index, zval **result_element TSRMLS_DC) +int php_oci_collection_element_get(php_oci_collection *collection, zend_long index, zval *result_element TSRMLS_DC) { php_oci_connection *connection = collection->connection; dvoid *element; @@ -483,8 +483,7 @@ int php_oci_collection_element_get(php_oci_collection *collection, long index, z ub4 buff_len = 1024; sword errstatus; - MAKE_STD_ZVAL(*result_element); - ZVAL_NULL(*result_element); + ZVAL_NULL(result_element); connection->errcode = 0; /* retain backwards compat with OCI8 1.4 */ @@ -503,13 +502,11 @@ int php_oci_collection_element_get(php_oci_collection *collection, long index, z if (errstatus != OCI_SUCCESS) { connection->errcode = php_oci_error(connection->err, errstatus TSRMLS_CC); PHP_OCI_HANDLE_ERROR(connection, connection->errcode); - FREE_ZVAL(*result_element); return 1; } if (exists == 0) { /* element doesn't exist */ - FREE_ZVAL(*result_element); return 1; } @@ -525,12 +522,11 @@ int php_oci_collection_element_get(php_oci_collection *collection, long index, z if (errstatus != OCI_SUCCESS) { connection->errcode = php_oci_error(connection->err, errstatus TSRMLS_CC); PHP_OCI_HANDLE_ERROR(connection, connection->errcode); - FREE_ZVAL(*result_element); return 1; } - ZVAL_STRINGL(*result_element, (char *)buff, buff_len, 1); - Z_STRVAL_P(*result_element)[buff_len] = '\0'; + ZVAL_STRINGL(result_element, (char *)buff, buff_len); + Z_STRVAL_P(result_element)[buff_len] = '\0'; return 0; break; @@ -543,7 +539,7 @@ int php_oci_collection_element_get(php_oci_collection *collection, long index, z PHP_OCI_CALL_RETURN(str, OCIStringPtr, (connection->env, oci_string)); if (str) { - ZVAL_STRING(*result_element, (char *)str, 1); + ZVAL_STRING(result_element, (char *)str); } return 0; } @@ -568,18 +564,16 @@ int php_oci_collection_element_get(php_oci_collection *collection, long index, z if (errstatus != OCI_SUCCESS) { connection->errcode = php_oci_error(connection->err, errstatus TSRMLS_CC); PHP_OCI_HANDLE_ERROR(connection, connection->errcode); - FREE_ZVAL(*result_element); return 1; } - ZVAL_DOUBLE(*result_element, double_number); + ZVAL_DOUBLE(result_element, double_number); return 0; } break; default: php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Unknown or unsupported type of element: %d", collection->element_typecode); - FREE_ZVAL(*result_element); return 1; break; } @@ -590,7 +584,7 @@ int php_oci_collection_element_get(php_oci_collection *collection, long index, z /* {{{ php_oci_collection_element_set_null() Set the element with the given index to NULL */ -int php_oci_collection_element_set_null(php_oci_collection *collection, long index TSRMLS_DC) +int php_oci_collection_element_set_null(php_oci_collection *collection, zend_long index TSRMLS_DC) { OCIInd null_index = OCI_IND_NULL; php_oci_connection *connection = collection->connection; @@ -611,7 +605,7 @@ int php_oci_collection_element_set_null(php_oci_collection *collection, long ind /* {{{ php_oci_collection_element_set_date() Change element's value to the given DATE */ -int php_oci_collection_element_set_date(php_oci_collection *collection, long index, char *date, int date_len TSRMLS_DC) +int php_oci_collection_element_set_date(php_oci_collection *collection, zend_long index, char *date, int date_len TSRMLS_DC) { OCIInd new_index = OCI_IND_NOTNULL; OCIDate oci_date; @@ -652,7 +646,7 @@ int php_oci_collection_element_set_date(php_oci_collection *collection, long ind /* {{{ php_oci_collection_element_set_number() Change element's value to the given NUMBER */ -int php_oci_collection_element_set_number(php_oci_collection *collection, long index, char *number, int number_len TSRMLS_DC) +int php_oci_collection_element_set_number(php_oci_collection *collection, zend_long index, char *number, int number_len TSRMLS_DC) { OCIInd new_index = OCI_IND_NOTNULL; double element_double; @@ -694,7 +688,7 @@ int php_oci_collection_element_set_number(php_oci_collection *collection, long i /* {{{ php_oci_collection_element_set_string() Change element's value to the given string */ -int php_oci_collection_element_set_string(php_oci_collection *collection, long index, char *element, int element_len TSRMLS_DC) +int php_oci_collection_element_set_string(php_oci_collection *collection, zend_long index, char *element, int element_len TSRMLS_DC) { OCIInd new_index = OCI_IND_NOTNULL; OCIString *ocistr = (OCIString *)0; @@ -733,7 +727,7 @@ int php_oci_collection_element_set_string(php_oci_collection *collection, long i /* {{{ php_oci_collection_element_set() Collection element setter */ -int php_oci_collection_element_set(php_oci_collection *collection, long index, char *value, int value_len TSRMLS_DC) +int php_oci_collection_element_set(php_oci_collection *collection, zend_long index, char *value, int value_len TSRMLS_DC) { if (value_len == 0) { return php_oci_collection_element_set_null(collection, index TSRMLS_CC); |
