[svn:dbd-oracle] r11999 - dbd-oracle/trunk

[email protected]
Newsgroups perl.dbd.oracle.changes
Message-ID <[email protected]>
Author: byterock
Date: Fri Oct 24 12:30:51 2008
New Revision: 11999

Modified:
   dbd-oracle/trunk/dbdimp.c
   dbd-oracle/trunk/dbdimp.h

Log:
found one other little bug with utf8 now fixed. This version now does not leak memory

Modified: dbd-oracle/trunk/dbdimp.c
==============================================================================
--- dbd-oracle/trunk/dbdimp.c	(original)
+++ dbd-oracle/trunk/dbdimp.c	Fri Oct 24 12:30:51 2008
@@ -3176,12 +3176,13 @@
 	/* if app has specified a csid then use that, else use default */
 	csid = (phs->csid) ? phs->csid : phs->csid_orig;
 
+
 	/* if data is utf8 but charset isn't then switch to utf8 csid if possible */
 	if ((utf8 & ARRAY_BIND_UTF8) && !CS_IS_UTF8(csid)) {
 	   /* if the specified or default csid is not utf8 _compatible_ AND we have
 	    * mixed utf8 and native (non-utf8) data, then it's a fatal problem
 	    * utf8 _compatible_ means, can be upgraded to utf8, ie. utf8 or ascii */
-	    if ((utf8 & ARRAY_BIND_NATIVE) && CS_IS_NOT_UTF8(csid)) {
+	    if ((utf8 & ARRAY_BIND_NATIVE) && !CS_IS_UTF8_COMPATIBLE(csid)) {
 				oratext  charsetname[OCI_NLS_MAXBUFSZ];
 				OCINlsCharSetIdToName(imp_sth->envhp,charsetname, sizeof(charsetname),csid );
 

Modified: dbd-oracle/trunk/dbdimp.h
==============================================================================
--- dbd-oracle/trunk/dbdimp.h	(original)
+++ dbd-oracle/trunk/dbdimp.h	Fri Oct 24 12:30:51 2008
@@ -259,16 +259,14 @@
 extern ub2 al32utf8_csid;
 extern ub2 al16utf16_csid;
 
-#define CS_IS_NOT_UTF8( cs ) ( cs == us7ascii_csid )
-
 #define CS_IS_UTF8( cs ) \
-   (  ( cs == utf8_csid )  )
+    (  ( cs == utf8_csid ) || ( cs == al32utf8_csid ) )
 
 #define CS_IS_UTF8_COMPATIBLE( cs ) \
   ( CS_IS_UTF8(cs) || ( (cs) == us7ascii_csid ) )
 
+ #define CS_IS_UTF16( cs ) ( cs == al16utf16_csid )
 
-#define CS_IS_UTF16( cs ) ( cs == al16utf16_csid )
 
 #define CSFORM_IMPLIED_CSID(csform) \
     ((csform==SQLCS_NCHAR) ? ncharsetid : charsetid)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.