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/init.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'common/init.h') diff --git a/common/init.h b/common/init.h index e8fe499d8..b13c060a6 100644 --- a/common/init.h +++ b/common/init.h @@ -1,5 +1,5 @@ /* init.h - Definitions for init fucntions. - * Copyright (C) 2007 Free Software Foundation, Inc. + * Copyright (C) 2007, 2012 Free Software Foundation, Inc. * * This file is part of GnuPG. * @@ -20,7 +20,15 @@ #ifndef GNUPG_COMMON_INIT_H #define GNUPG_COMMON_INIT_H -void init_common_subsystems (int *argcp, char ***argvp); +#ifndef GPG_ERR_SOURCE_DEFAULT +# error GPG_ERR_SOURCE_DEFAULT is not defined +#elseif GPG_ERR_SOURCE_DEFAULT == GPG_ERR_SOURCE_UNKNOWN +# error GPG_ERR_SOURCE_DEFAULT has default value +#endif +void _init_common_subsystems (gpg_err_source_t errsource, + int *argcp, char ***argvp); +#define init_common_subsystems(a,b) \ + _init_common_subsystems (GPG_ERR_SOURCE_DEFAULT, (a), (b)) #endif /*GNUPG_COMMON_INIT_H*/ -- cgit v1.2.3