summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--include/opkele/exception.h8
-rw-r--r--lib/exception.cc10
2 files changed, 16 insertions, 2 deletions
diff --git a/include/opkele/exception.h b/include/opkele/exception.h
index 2ac0661..c5f5811 100644
--- a/include/opkele/exception.h
+++ b/include/opkele/exception.h
@@ -30,3 +30,4 @@
#else /* OPKELE_HAVE_KONFORKA */
-# include <stdexcept>
+# include <exception>
+# include <string>
/**
@@ -76,5 +77,8 @@ namespace opkele {
# else /* OPKELE_HAVE_KONFORKA */
+ string _what;
explicit
exception(const string& w)
- : std::exception(w) { }
+ : _what(w) { }
+ virtual ~exception() throw();
+ virtual const char * what() const throw();
# endif /* OPKELE_HAVE_KONFORKA */
diff --git a/lib/exception.cc b/lib/exception.cc
index b7c1702..4fe6c87 100644
--- a/lib/exception.cc
+++ b/lib/exception.cc
@@ -6,2 +6,12 @@ namespace opkele {
+# ifndef OPKELE_HAVE_KONFORKA
+
+ exception::~exception() throw() {
+ }
+ const char *exception::what() const throw() {
+ return _what.c_str();
+ }
+
+# endif
+
exception_openssl::exception_openssl(OPKELE_E_PARS)