diff options
Diffstat (limited to 'libpqpp/pq-error.cpp')
-rw-r--r-- | libpqpp/pq-error.cpp | 30 |
1 files changed, 5 insertions, 25 deletions
diff --git a/libpqpp/pq-error.cpp b/libpqpp/pq-error.cpp index 0d0299c..3a16185 100644 --- a/libpqpp/pq-error.cpp +++ b/libpqpp/pq-error.cpp @@ -1,34 +1,14 @@ #include "pq-error.h" #include <string.h> -PQ::Error::Error() : - msg(NULL) +PQ::Error::Error(const PGconn * conn) : + msg(PQerrorMessage(conn)) { } -PQ::Error::Error(const PQ::Error & e) : - msg(e.msg ? strdup(e.msg) : NULL) -{ -} - -PQ::Error::Error(const char * e) : - msg(e ? strdup(e) : NULL) -{ -} - -PQ::Error::~Error() throw() -{ - free(msg); -} - -const char * -PQ::Error::what() const throw() -{ - return msg ? msg : "No message"; -} - -PQ::ConnectionError::ConnectionError(const PGconn * conn) : - PQ::Error(PQerrorMessage(conn)) +std::string +PQ::Error::message() const throw() { + return msg; } |