diff options
Diffstat (limited to 'src/debug.h')
| -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 */  | 
