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);
-
}