From bdb7bcf93889c279c48acb0b75792ba310116074 Mon Sep 17 00:00:00 2001 From: Marcus Brinkmann Date: Thu, 28 May 2009 15:16:01 +0000 Subject: doc/ 2009-05-28 Marcus Brinkmann * gpgme.texi (Library Version Check): Document selftest error. (Creating Contexts): Likewise. src/ 2009-05-28 Marcus Brinkmann * gpgme.h.in (gpgme_check_version_internal): New prototype. (gpgme_check_version): New macro, overriding function of the same name. * libgpgme.vers, gpgme.def: Add gpgme_check_version_internal.o * context.h (_gpgme_selftest): New variable declaration. * version.c: Include "context.h". (gpgme_check_version): Set _gpgme_selftest on success. (gpgme_check_version_internal): New function. * gpgme.c (_gpgme_selftest): Define it. (gpgme_new): Check the selftest result. --- src/gpgme.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/gpgme.c') diff --git a/src/gpgme.c b/src/gpgme.c index 99d27ce6..b76b3991 100644 --- a/src/gpgme.c +++ b/src/gpgme.c @@ -41,6 +41,9 @@ DEFINE_STATIC_LOCK (def_lc_lock); static char *def_lc_ctype; static char *def_lc_messages; + +gpgme_error_t _gpgme_selftest = GPG_ERR_NOT_OPERATIONAL; + /* Create a new context as an environment for GPGME crypto operations. */ @@ -50,6 +53,9 @@ gpgme_new (gpgme_ctx_t *r_ctx) gpgme_ctx_t ctx; TRACE_BEG (DEBUG_CTX, "gpgme_new", r_ctx); + if (_gpgme_selftest) + return TRACE_ERR (gpgme_error (_gpgme_selftest)); + ctx = calloc (1, sizeof *ctx); if (!ctx) return TRACE_ERR (gpg_error_from_errno (errno)); -- cgit v1.2.3