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;

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to