Author: carnold
Date: Wed Nov 14 07:36:37 2007
New Revision: 594916

URL: http://svn.apache.org/viewvc?rev=594916&view=rev
Log:
LOGCXX-167: Use non-APR encoders/decoders for default for common encodings

Modified:
    logging/log4cxx/trunk/src/main/cpp/charsetdecoder.cpp
    logging/log4cxx/trunk/src/main/cpp/charsetencoder.cpp

Modified: logging/log4cxx/trunk/src/main/cpp/charsetdecoder.cpp
URL: 
http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/charsetdecoder.cpp?rev=594916&r1=594915&r2=594916&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/charsetdecoder.cpp (original)
+++ logging/log4cxx/trunk/src/main/cpp/charsetdecoder.cpp Wed Nov 14 07:36:37 
2007
@@ -385,9 +385,11 @@
                            const char* enc = 
apr_os_locale_encoding((apr_pool_t*) subpool.getAPRPool());
                            {
                                 synchronized sync(mutex);
-                                if (enc == 0 && decoder == 0) {
-                                    encoding = "C";
-                                    decoder = new USASCIICharsetDecoder();
+                                if (enc == 0) {
+                                    if (decoder == 0) {
+                                        encoding = "C";
+                                        decoder = new USASCIICharsetDecoder();
+                                    }
                                 } else if (encoding != enc) {
                                     encoding = enc;
                                     try {

Modified: logging/log4cxx/trunk/src/main/cpp/charsetencoder.cpp
URL: 
http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/charsetencoder.cpp?rev=594916&r1=594915&r2=594916&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/charsetencoder.cpp (original)
+++ logging/log4cxx/trunk/src/main/cpp/charsetencoder.cpp Wed Nov 14 07:36:37 
2007
@@ -493,7 +493,12 @@
                            const char* enc = 
apr_os_locale_encoding((apr_pool_t*) subpool.getAPRPool());
                            {
                                 synchronized sync(mutex);
-                                if (encoding != enc) {
+                                if (enc == 0) {
+                                   if (encoder == 0) {
+                                       encoding = "C";
+                                       encoder = new USASCIICharsetEncoder();
+                                   }
+                                } else if (encoding != enc) {
                                     encoding = enc;
                                     try {
                                         encoder = 
CharsetEncoder::getEncoder(encoding);


Reply via email to