cvs: php-src /ext/oci8 oci8_collection.c

From: Date: Wed, 28 Mar 2007 23:05:36 +0000
Subject: cvs: php-src /ext/oci8 oci8_collection.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-43672@lists.php.net to get a copy of this message
tony2001 Wed Mar 28 23:05:36 2007 UTC Modified files: /php-src/ext/oci8 oci8_collection.c Log: Oracle seems to return non zero terminated strings or strings with only 1 zero at the end in Unicode mode surely u_strlen() doesn't like it, so lets use OCIStringSize() and avoid u_strlen() http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/oci8_collection.c?r1=1.12&r2=1.13&diff_format=u Index: php-src/ext/oci8/oci8_collection.c diff -u php-src/ext/oci8/oci8_collection.c:1.12 php-src/ext/oci8/oci8_collection.c:1.13 --- php-src/ext/oci8/oci8_collection.c:1.12 Mon Jan 1 09:29:26 2007 +++ php-src/ext/oci8/oci8_collection.c Wed Mar 28 23:05:36 2007 @@ -25,7 +25,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: oci8_collection.c,v 1.12 2007/01/01 09:29:26 sebastian Exp $ */ +/* $Id: oci8_collection.c,v 1.13 2007/03/28 23:05:36 tony2001 Exp $ */ @@ -503,14 +503,17 @@ { OCIString *oci_string = *(OCIString **)element; text *str; + ub4 str_len; PHP_OCI_CALL_RETURN(str, OCIStringPtr, (connection->env, oci_string)); if (str) { + PHP_OCI_CALL_RETURN(str_len, OCIStringSize, (connection->env, oci_string)); + if (UG(unicode)) { - ZVAL_UNICODE(*result_element, (UChar *)str, 1); + ZVAL_UNICODEL(*result_element, (UChar *)str, TEXT_CHARS(str_len), 1); } else { - ZVAL_STRING(*result_element, str, 1); + ZVAL_STRINGL(*result_element, str, str_len, 1); } } return 0;

« previous php.cvs (#43672) next »