summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2011-08-30 16:21:00 +0000
committerAlan Conway <aconway@apache.org>2011-08-30 16:21:00 +0000
commit4dcedd1cba9f465a9595a9f5f365b2331ff98fe1 (patch)
tree43f3348fee989b34b95cf1b7574e84282b2e1609
parentd9e5d1733dafa6a7b7cb8c325a1ccebed96bfd88 (diff)
downloadqpid-python-4dcedd1cba9f465a9595a9f5f365b2331ff98fe1.tar.gz
NO-JIRA: Revert change to Msg.h introduced in r1162273
The change did not compile on windows due to EXTERN declaration issues. Changes has been backed out as it is not critical and can be addressed elsewhere. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1163275 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/cpp/include/qpid/Msg.h2
-rw-r--r--qpid/cpp/src/Makefile.am1
-rw-r--r--qpid/cpp/src/qpid/Msg.cpp56
-rw-r--r--qpid/cpp/src/qpid/log/Statement.cpp25
4 files changed, 25 insertions, 59 deletions
diff --git a/qpid/cpp/include/qpid/Msg.h b/qpid/cpp/include/qpid/Msg.h
index 7a39a41c8d..5f0b11bc60 100644
--- a/qpid/cpp/include/qpid/Msg.h
+++ b/qpid/cpp/include/qpid/Msg.h
@@ -42,7 +42,7 @@ struct Msg {
std::ostringstream os;
Msg() {}
Msg(const Msg& m) : os(m.str()) {}
- QPID_TYPES_EXTERN std::string str() const;
+ std::string str() const { return os.str(); }
operator std::string() const { return str(); }
Msg& operator<<(long n) { os << n; return *this; }
diff --git a/qpid/cpp/src/Makefile.am b/qpid/cpp/src/Makefile.am
index 9171caed1e..2663987f75 100644
--- a/qpid/cpp/src/Makefile.am
+++ b/qpid/cpp/src/Makefile.am
@@ -744,7 +744,6 @@ libqpidclient_la_LDFLAGS = -version-info $(QPIDCLIENT_VERSION_INFO)
libqpidtypes_la_LIBADD= -luuid
libqpidtypes_la_SOURCES= \
- qpid/Msg.cpp \
qpid/types/Exception.cpp \
qpid/types/Uuid.cpp \
qpid/types/Variant.cpp \
diff --git a/qpid/cpp/src/qpid/Msg.cpp b/qpid/cpp/src/qpid/Msg.cpp
deleted file mode 100644
index eb0f26d67b..0000000000
--- a/qpid/cpp/src/qpid/Msg.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-#include "qpid/Msg.h"
-#include <algorithm>
-#include <string>
-
-namespace qpid {
-using namespace std;
-
-struct NonPrint { bool operator()(unsigned char c) { return !isprint(c) && !isspace(c); } };
-
-const char hex[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
-
-std::string quote(const std::string& str) {
- NonPrint nonPrint;
- size_t n = std::count_if(str.begin(), str.end(), nonPrint);
- if (n==0) return str;
- std::string ret;
- ret.reserve(str.size()+2*n); // Avoid extra allocations.
- for (string::const_iterator i = str.begin(); i != str.end(); ++i) {
- if (nonPrint(*i)) {
- ret.push_back('\\');
- ret.push_back('x');
- ret.push_back(hex[((*i) >> 4)&0xf]);
- ret.push_back(hex[(*i) & 0xf]);
- }
- else ret.push_back(*i);
- }
- return ret;
-}
-
-// Quote the string so messages with null characters are preserved, e.g. messages with XIDs */
-std::string Msg::str() const {
- return quote(os.str());
-}
-
-} // namespace qpid
diff --git a/qpid/cpp/src/qpid/log/Statement.cpp b/qpid/cpp/src/qpid/log/Statement.cpp
index 85b4d1f155..7dfdf08703 100644
--- a/qpid/cpp/src/qpid/log/Statement.cpp
+++ b/qpid/cpp/src/qpid/log/Statement.cpp
@@ -24,9 +24,32 @@
#include <ctype.h>
namespace qpid {
-std::string quote(const std::string& str); // Defined in Msg.cpp
namespace log {
+namespace {
+struct NonPrint { bool operator()(unsigned char c) { return !isprint(c) && !isspace(c); } };
+
+const char hex[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
+
+std::string quote(const std::string& str) {
+ NonPrint nonPrint;
+ size_t n = std::count_if(str.begin(), str.end(), nonPrint);
+ if (n==0) return str;
+ std::string ret;
+ ret.reserve(str.size()+2*n); // Avoid extra allocations.
+ for (std::string::const_iterator i = str.begin(); i != str.end(); ++i) {
+ if (nonPrint(*i)) {
+ ret.push_back('\\');
+ ret.push_back('x');
+ ret.push_back(hex[((*i) >> 4)&0xf]);
+ ret.push_back(hex[(*i) & 0xf]);
+ }
+ else ret.push_back(*i);
+ }
+ return ret;
+}
+}
+
void Statement::log(const std::string& message) {
Logger::instance().log(*this, quote(message));
}