Author: carnold
Date: Thu Feb 14 23:34:06 2008
New Revision: 627965

URL: http://svn.apache.org/viewvc?rev=627965&view=rev
Log:
LOGCXX-241: Take File::getOSName() private

Modified:
    logging/log4cxx/trunk/src/main/cpp/gzcompressaction.cpp
    logging/log4cxx/trunk/src/main/cpp/transcoder.cpp
    logging/log4cxx/trunk/src/main/cpp/zipcompressaction.cpp
    logging/log4cxx/trunk/src/main/include/log4cxx/file.h
    logging/log4cxx/trunk/src/main/include/log4cxx/helpers/transcoder.h
    logging/log4cxx/trunk/src/test/cpp/util/transformer.cpp

Modified: logging/log4cxx/trunk/src/main/cpp/gzcompressaction.cpp
URL: 
http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/gzcompressaction.cpp?rev=627965&r1=627964&r2=627965&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/gzcompressaction.cpp (original)
+++ logging/log4cxx/trunk/src/main/cpp/gzcompressaction.cpp Thu Feb 14 23:34:06 
2008
@@ -51,8 +51,7 @@
         apr_file_t* child_out;
         apr_int32_t flags = APR_FOPEN_READ | APR_FOPEN_WRITE |
             APR_FOPEN_CREATE | APR_FOPEN_TRUNCATE;
-        stat = apr_file_open(&child_out, destination.getOSName().c_str(),
-            flags, APR_OS_DEFAULT, pool);
+        stat = destination.open(&child_out, flags, APR_OS_DEFAULT, p);
         if (stat != APR_SUCCESS) throw IOException(stat);
 
         stat =  apr_procattr_child_out_set(attr, child_out, NULL);
@@ -73,7 +72,7 @@
         int i = 0;
         args[i++] = "gzip";
         args[i++] = "-c";
-        args[i++] = apr_pstrdup(pool, source.getOSName().c_str());
+        args[i++] = Transcoder::encode(source.getPath(), p);
         args[i++] = NULL;
     
 

Modified: logging/log4cxx/trunk/src/main/cpp/transcoder.cpp
URL: 
http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/transcoder.cpp?rev=627965&r1=627964&r2=627965&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/transcoder.cpp (original)
+++ logging/log4cxx/trunk/src/main/cpp/transcoder.cpp Thu Feb 14 23:34:06 2008
@@ -25,6 +25,7 @@
 #include <log4cxx/helpers/charsetencoder.h>
 #include <vector>
 #include <apr.h>
+#include <apr_strings.h>
 #define LOG4CXX 1
 #include <log4cxx/private/log4cxx_private.h>
 
@@ -258,6 +259,18 @@
   }
 #endif  
 }
+
+char* Transcoder::encode(const LogString& src, Pool& p) {
+#if LOG4CXX_CHARSET_UTF8 && LOG4CXX_LOGCHAR_IS_UTF8
+   return apr_pstrndup((apr_pool_t*) p.getAPRPool(), src.data(), src.length());
+#else
+   std::string tmp;
+   encode(src, tmp);
+   return apr_pstrndup((apr_pool_t*) p.getAPRPool(), tmp.data(), tmp.length());
+#endif
+}
+
+
 
 void Transcoder::encode(const LogString& src, std::string& dst) {
 #if LOG4CXX_CHARSET_UTF8 && LOG4CXX_LOGCHAR_IS_UTF8

Modified: logging/log4cxx/trunk/src/main/cpp/zipcompressaction.cpp
URL: 
http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/zipcompressaction.cpp?rev=627965&r1=627964&r2=627965&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/zipcompressaction.cpp (original)
+++ logging/log4cxx/trunk/src/main/cpp/zipcompressaction.cpp Thu Feb 14 
23:34:06 2008
@@ -61,8 +61,8 @@
         int i = 0;
         args[i++] = "zip";
       args[i++] = "-q";
-        args[i++] = apr_pstrdup(pool, destination.getOSName().c_str());
-        args[i++] = apr_pstrdup(pool, source.getOSName().c_str());
+        args[i++] = Transcoder::encode(destination.getPath(), p);
+        args[i++] = Transcoder::encode(source.getPath(), p);
         args[i++] = NULL;
     
         if (destination.exists(p)) {

Modified: logging/log4cxx/trunk/src/main/include/log4cxx/file.h
URL: 
http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/include/log4cxx/file.h?rev=627965&r1=627964&r2=627965&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/include/log4cxx/file.h (original)
+++ logging/log4cxx/trunk/src/main/include/log4cxx/file.h Thu Feb 14 23:34:06 
2008
@@ -63,7 +63,6 @@
                     LogString getName() const;
                     LogString getPath() const;
                     File& setPath(const LogString&);
-                    std::string getOSName() const;
 
                     log4cxx_status_t open(apr_file_t** file, int flags,
                           int perm, log4cxx::helpers::Pool& p) const;
@@ -80,6 +79,7 @@
                     LogString name;
                     std::string osName;
                     static std::string convertBackSlashes(const std::string& 
src);
+                    std::string getOSName() const;
                 };
 } // namespace log4cxx
 

Modified: logging/log4cxx/trunk/src/main/include/log4cxx/helpers/transcoder.h
URL: 
http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/include/log4cxx/helpers/transcoder.h?rev=627965&r1=627964&r2=627965&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/include/log4cxx/helpers/transcoder.h 
(original)
+++ logging/log4cxx/trunk/src/main/include/log4cxx/helpers/transcoder.h Thu Feb 
14 23:34:06 2008
@@ -91,6 +91,15 @@
       */
       static void encode(const LogString& src, std::string& dst);
 
+      /**
+        *     Encodes the specified LogString to the current
+        *       character set. 
+        *      @param src string to encode.
+        *      @param p pool from which to allocate return value.
+        *      @return pool allocated string.
+        */
+      static char* encode(const LogString& src, log4cxx::helpers::Pool& p);
+
 
 
 #if LOG4CXX_WCHAR_T_API || LOG4CXX_LOGCHAR_IS_WCHAR_T

Modified: logging/log4cxx/trunk/src/test/cpp/util/transformer.cpp
URL: 
http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/test/cpp/util/transformer.cpp?rev=627965&r1=627964&r2=627965&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/test/cpp/util/transformer.cpp (original)
+++ logging/log4cxx/trunk/src/test/cpp/util/transformer.cpp Thu Feb 14 23:34:06 
2008
@@ -61,8 +61,8 @@
 
 
 void Transformer::copyFile(const File& in, const File& out) {
-       apr_pool_t* pool;
-       apr_status_t stat = apr_pool_create(&pool, NULL);
+       Pool p;
+       apr_pool_t* pool = reinterpret_cast<apr_pool_t*>(p.getAPRPool());
 
 
         //
@@ -71,13 +71,11 @@
         //
         apr_file_t* child_out;
         apr_int32_t flags = APR_FOPEN_WRITE | APR_FOPEN_CREATE | 
APR_FOPEN_TRUNCATE;
-        stat = apr_file_open(&child_out, out.getOSName().c_str(),
-          flags, APR_OS_DEFAULT, pool);
+        apr_status_t stat = out.open(&child_out, flags, APR_OS_DEFAULT, p);
         assert(stat == APR_SUCCESS);
 
         apr_file_t* in_file;
-        stat = apr_file_open(&in_file, in.getOSName().c_str(),
-           APR_FOPEN_READ, APR_OS_DEFAULT, pool);
+        stat = in.open(&in_file, APR_FOPEN_READ, APR_OS_DEFAULT, p);
         assert(stat == APR_SUCCESS);
         apr_size_t bufsize = 32000;
         void* buf = apr_palloc(pool, bufsize);
@@ -92,7 +90,6 @@
         }
         stat = apr_file_close(child_out);
         assert(stat == APR_SUCCESS);
-        apr_pool_destroy(pool);
 }
 
 void Transformer::createSedCommandFile(const std::string& regexName,
@@ -128,14 +125,15 @@
     if (patterns.size() == 0) {
         copyFile(in, out);
     } else {
-       apr_pool_t* pool;
-        apr_status_t stat = apr_pool_create(&pool, NULL);
-
+       Pool p;
+        apr_pool_t* pool = reinterpret_cast<apr_pool_t*>(p.getAPRPool());
+ 
         //
         //   write the regex's to a temporary file since they
         //      may get mangled if passed as parameters
         //
-        std::string regexName(in.getOSName());
+        std::string regexName;
+        Transcoder::encode(in.getPath(), regexName);
         regexName.append(".sed");
         createSedCommandFile(regexName, patterns, pool);
 
@@ -145,7 +143,7 @@
         //
         //
         apr_procattr_t* attr = NULL;
-        stat = apr_procattr_create(&attr, pool);
+        apr_status_t stat = apr_procattr_create(&attr, pool);
         assert(stat == APR_SUCCESS);
 
         stat = apr_procattr_io_set(attr, APR_NO_PIPE, APR_FULL_BLOCK,
@@ -179,7 +177,7 @@
 
         //
         //    specify the input file
-        args[i++] = apr_pstrdup(pool, in.getOSName().c_str());
+        args[i++] = Transcoder::encode(in.getPath(), p);
         args[i] = NULL;
 
 
@@ -190,8 +188,7 @@
         apr_file_t* child_out;
         apr_int32_t flags = APR_FOPEN_READ | APR_FOPEN_WRITE |
             APR_FOPEN_CREATE | APR_FOPEN_TRUNCATE;
-        stat = apr_file_open(&child_out, out.getOSName().c_str(),
-          flags, APR_OS_DEFAULT, pool);
+        stat = out.open(&child_out, flags, APR_OS_DEFAULT, p);
         assert(stat == APR_SUCCESS);
 
         stat =  apr_procattr_child_out_set(attr, child_out, NULL);
@@ -218,9 +215,6 @@
         apr_proc_wait(&pid, NULL, NULL, APR_WAIT);
         stat = apr_file_close(child_out);
         assert(stat == APR_SUCCESS);
-
-        apr_pool_destroy(pool);
-
      }
 
 


Reply via email to