From eb0faef81dae2cba1f62056fdc4dc2a7d58ac86a Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Mon, 6 Feb 2012 20:50:47 +0100 Subject: common: Add a global variable to for the default error source. For the shared code parts it is cumbersome to pass an error sourse variable to each function. Its value is always a constant for a given binary and thus a global variable makes things a lot easier than the former macro stuff. * common/init.c (default_errsource): New global var. (init_common_subsystems): Rename to _init_common_subsystems. Set DEFAULT_ERRSOURCE. * common/init.h: Assert value of GPG_ERR_SOURCE_DEFAULT. (init_common_subsystems): New macro. * common/util.h (default_errsource): Add declaration. * kbx/keybox-defs.h: Add some GPG_ERR_SOURCE_DEFAULT trickery. --- common/util.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'common/util.h') diff --git a/common/util.h b/common/util.h index 9381f29e4..5ea7b819a 100644 --- a/common/util.h +++ b/common/util.h @@ -63,7 +63,6 @@ #include "../common/utf8conv.h" #include "../common/dynload.h" -#include "init.h" #include "gettime.h" /* Redefine asprintf by our estream version which uses our own memory @@ -113,6 +112,12 @@ typedef char **rl_completion_func_t (const char *, int, int); #define xmalloc_clear(a) gcry_xcalloc (1, (a)) #define xmalloc_secure_clear(a) gcry_xcalloc_secure (1, (a)) +/* The default error source of the application. This is different + from GPG_ERR_SOURCE_DEFAULT in that it does not depend on the + source file and thus is usable in code shared by applications. + Defined by init.c. */ +extern gpg_err_source_t default_errsource; + /* Convenience function to return a gpg-error code for memory allocation failures. This function makes sure that an error will be returned even if accidently ERRNO is not set. */ -- cgit v1.2.3