diff options
author | Alan Conway <aconway@apache.org> | 2014-02-06 21:36:03 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2014-02-06 21:36:03 +0000 |
commit | ff10451274634cdd25765ba68cc4dd975a2b6015 (patch) | |
tree | 698113c5285f845ef2c8391fcae595b1ed72fb03 | |
parent | c53117656a1ee4e1e7e5419a591f782f7ddfba7f (diff) | |
download | qpid-python-ff10451274634cdd25765ba68cc4dd975a2b6015.tar.gz |
NO-JIRA: Fix windows build problem introduced by r1565431 in log/Statement.cpp commit.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1565448 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | qpid/cpp/src/qpid/log/Statement.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/qpid/cpp/src/qpid/log/Statement.cpp b/qpid/cpp/src/qpid/log/Statement.cpp index d70dbc501a..86b069fd91 100644 --- a/qpid/cpp/src/qpid/log/Statement.cpp +++ b/qpid/cpp/src/qpid/log/Statement.cpp @@ -153,17 +153,21 @@ Statement::Initializer::Initializer(Statement& s) : statement(s) { // "qpid::name::space::Function". if (s.function) { const char* end = s.function + strlen(s.function); - const char* fEnd = std::find(s.function, end, '('); + const char* fEnd = std::find(s.function, end, '('); typedef std::reverse_iterator<const char*> Reverse; const char* fBegin = find(Reverse(fEnd), Reverse(s.function), ' ').base(); - s.function = ::strndup(fBegin, fEnd-fBegin); + size_t n = fEnd - fBegin; + char* name = new char[n+1]; + std::copy(fBegin, fEnd, name); + name[n] = '\0'; + s.function = name; } Statement::categorize(s); Logger::instance().add(s); } Statement::Initializer::~Initializer() { - ::free(const_cast<char*>(statement.function)); + delete[] const_cast<char*>(statement.function); statement.function = 0; } |