summaryrefslogtreecommitdiff
path: root/libpqpp/pq-error.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libpqpp/pq-error.cpp')
-rw-r--r--libpqpp/pq-error.cpp30
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;
}