| timbo@cvs.perl.org 2005-06-03, 8:27 pm |
| Author: timbo
Date: Tue Oct 19 13:56:21 2004
New Revision: 502
Modified:
dbd-oracle/trunk/dbdimp.h
Log:
Simplify UTF8_FIXUP_CSID
Add CSFORM_IMPLIED_CSID(
csform)
Simplify CSFORM_IMPLIES_UTF8(
csform)
Modified: dbd-oracle/trunk/dbdimp.h
====================
====================
====================
==================
--- dbd-oracle/trunk/dbdimp.h (original)
+++ dbd-oracle/trunk/dbdimp.h Tue Oct 19 13:56:21 2004
@@ -234,27 +234,19 @@
#define CS_IS_UTF16( cs ) ( cs == al16utf16_csid )
#define UTF8_FIXUP_CSID( csid ,csform ,where ) \
- if ( ( CS_IS_UTF8( csid ) || CS_IS_UTF16( csid ) ) \
- && (csid != ncharsetid) ) { \
- if ( csform == SQLCS_NCHAR ) { \
- if (DBIS->debug >= 2) \
- PerlIO_printf(DBILOG
FP, \
- " csid is UTF (%d) and csform=SQLCS_NCHAR setting csid to ncharsetid=%d for LobWrite (in %s)\n", \
- csid ,ncharsetid, where ); \
- csid = ncharsetid; \
- } \
- else { \
- if (DBIS->debug >= 2) \
- PerlIO_printf(DBILOG
FP, \
- " csid is UTF (%d) and csform!=SQLCS_NCHAR setting csid to charsetid=%d for LobWrite (in %s)\n", \
- csid ,charsetid, where ); \
- csid = charsetid; \
- } \
+ if ( (CS_IS_UTF8(csid) || CS_IS_UTF16(csid)) && (csid != ncharsetid) ) { \
+ ub2 new_csid = ( csform == SQLCS_NCHAR ) ? ncharsetid : charsetid; \
+ if (DBIS->debug >= 3) \
+ PerlIO_printf(DBILOG
FP, " csform %d so changing csid %d (UTF) to %d (in %s)\n", \
+ csform, csid, new_csid, where ); \
+ csid = new_csid; \
}
+#define CSFORM_IMPLIED_CSID(
csform) \
+ ((csform==SQLCS_NCHA
R) ? ncharsetid : charsetid)
+
#define CSFORM_IMPLIES_UTF8(
csform) \
- ( (csform!=SQLCS_NCHAR
&& CS_IS_UTF8( charsetid)) \
- || (csform==SQLCS_NCHAR
&& CS_IS_UTF8(ncharseti
d)) )
+ CS_IS_UTF8( CSFORM_IMPLIED_CSID(
csform ) )
#define DBD_SET_UTF8_FORM(sv
,csform) \
(CSFORM_IMPLIES_UTF8
(csform) ? SvUTF8_on(sv) : 0)
|