summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--include/Makefile.am3
-rw-r--r--include/opkele/debug.h17
-rw-r--r--include/opkele/exception.h7
-rw-r--r--lib/exception.cc16
4 files changed, 37 insertions, 6 deletions
diff --git a/include/Makefile.am b/include/Makefile.am
index 26cb614..1076c12 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -17,4 +17,5 @@ nobase_include_HEADERS = \
17EXTRA_DIST = \ 17EXTRA_DIST = \
18 opkele/data.h \ 18 opkele/data.h \
19 opkele/curl.h opkele/expat.h \ 19 opkele/curl.h opkele/expat.h \
20 opkele/util.h 20 opkele/util.h \
21 opkele/debug.h
diff --git a/include/opkele/debug.h b/include/opkele/debug.h
new file mode 100644
index 0000000..a02f8d4
--- a/dev/null
+++ b/include/opkele/debug.h
@@ -0,0 +1,17 @@
1#ifndef __OPKELE_DEBUG_H
2#define __OPKELE_DEBUG_H
3
4#ifdef NDEBUG
5
6 #define D_(x) ((void)0)
7 #define DOUT_(x)((void)0)
8
9#else /* NDEBUG */
10
11 #define D_(x) x
12#include <iostream>
13 #define DOUT_(x)std::clog << x << std::endl
14
15#endif /* NDEBUG */
16
17#endif /* __OPKELE_DEBUG_H */
diff --git a/include/opkele/exception.h b/include/opkele/exception.h
index 36bd07a..64f189e 100644
--- a/include/opkele/exception.h
+++ b/include/opkele/exception.h
@@ -77,13 +77,10 @@ namespace opkele {
77 public: 77 public:
78# ifdef OPKELE_HAVE_KONFORKA 78# ifdef OPKELE_HAVE_KONFORKA
79 explicit 79 explicit
80 exception(const string& fi,const string& fu,int l,const string& w) 80 exception(const string& fi,const string& fu,int l,const string& w);
81 : konforka::exception(fi,fu,l,w) { }
82# else /* OPKELE_HAVE_KONFORKA */ 81# else /* OPKELE_HAVE_KONFORKA */
83 string _what; 82 string _what;
84 explicit 83 explicit exception(const string& w);
85 exception(const string& w)
86 : _what(w) { }
87 virtual ~exception() throw(); 84 virtual ~exception() throw();
88 virtual const char * what() const throw(); 85 virtual const char * what() const throw();
89# endif /* OPKELE_HAVE_KONFORKA */ 86# endif /* OPKELE_HAVE_KONFORKA */
diff --git a/lib/exception.cc b/lib/exception.cc
index 510982e..0b775f7 100644
--- a/lib/exception.cc
+++ b/lib/exception.cc
@@ -1,17 +1,33 @@
1#include <openssl/err.h> 1#include <openssl/err.h>
2#include <curl/curl.h> 2#include <curl/curl.h>
3#include <opkele/exception.h> 3#include <opkele/exception.h>
4#include <opkele/debug.h>
4 5
5namespace opkele { 6namespace opkele {
6 7
7# ifndef OPKELE_HAVE_KONFORKA 8# ifndef OPKELE_HAVE_KONFORKA
8 9
10 exception::exception(const string& w)
11 : _what(w)
12 {
13 DOUT_("throwing exception(\""<<w<<"\")");
14 }
15
9 exception::~exception() throw() { 16 exception::~exception() throw() {
10 } 17 }
11 const char *exception::what() const throw() { 18 const char *exception::what() const throw() {
12 return _what.c_str(); 19 return _what.c_str();
13 } 20 }
21
22# else
14 23
24 exception::exception(const string& fi,const string& fu,int l,const string& w)
25 : konforka::exception(fi,fu,l,w)
26 {
27 DOUT_("throwing exception(\""<<w<<"\")");
28 DOUT_(" from "<<fi<<':'<<fu<<':'<<l);
29 }
30
15# endif 31# endif
16 32
17 exception_openssl::exception_openssl(OPKELE_E_PARS) 33 exception_openssl::exception_openssl(OPKELE_E_PARS)