diff options
Diffstat (limited to '')
-rw-r--r-- | src/debug.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/debug.h b/src/debug.h index ead92b24..c99b7003 100644 --- a/src/debug.h +++ b/src/debug.h @@ -26,6 +26,9 @@ #include <stdint.h> #endif +#include "gpgme.h" /* Required for gpgme_error stuff. */ + + /* Indirect stringification, requires __STDC__ to work. */ #define STRINGIFY(v) #v #define XSTRINGIFY(v) STRINGIFY(v) @@ -81,6 +84,13 @@ void _gpgme_debug_buffer (int lvl, const char *const fmt, void _gpgme_debug_frame_begin (void); void _gpgme_debug_frame_end (void); +static inline gpgme_error_t +_gpgme_trace_gpgme_error (gpgme_error_t err, const char *file, int line) +{ + _gpgme_debug (DEBUG_ENGINE, "%s:%d: returning error: %s\n", + _gpgme_debug_srcname (file), line, gpgme_strerror (err)); + return err; +} /* Trace support. */ @@ -262,4 +272,11 @@ void _gpgme_debug_frame_end (void); _gpgme_debug_end (&(hlp)) #define TRACE_ENABLED(hlp) (!!(hlp)) +/* And finally a simple macro to trace the location of an error code. + This macro is independent of the other trace macros and may be used + without any preconditions. */ +#define trace_gpg_error(e) \ + _gpgme_trace_gpgme_error (gpg_error (e), __FILE__, __LINE__) + + #endif /* DEBUG_H */ |