diff --git a/doc/ChangeLog b/doc/ChangeLog index 3355b406..ebe0aa4a 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,8 @@ +2005-03-24 Marcus Brinkmann + + * gpgme.texi (Library Version Check): Make example code compatible + to W32 systems. + 2006-06-21 Marcus Brinkmann * gpgme.texi (Passphrase Callback): Fix inverted condition in diff --git a/doc/gpgme.texi b/doc/gpgme.texi index b6809ade..5053645d 100644 --- a/doc/gpgme.texi +++ b/doc/gpgme.texi @@ -609,13 +609,16 @@ init_program (void) setlocale (LC_ALL, ""); gpgme_check_version (NULL); gpgme_set_locale (NULL, LC_CTYPE, setlocale (LC_CTYPE, NULL)); +#ifdef LC_MESSAGES gpgme_set_locale (NULL, LC_MESSAGES, setlocale (LC_MESSAGES, NULL)); +#endif @} @end example Note that you are highly recommended to initialize the locale settings like this. @acronym{GPGME} can not do this for you because it would -not be thread safe. +not be thread safe. The conditional on LC_MESSAGES is only necessary +for portability to W32 systems. @node Signal Handling diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog index 447190f8..a1b4fe9e 100644 --- a/gpgme/ChangeLog +++ b/gpgme/ChangeLog @@ -1,3 +1,8 @@ +2005-03-24 Marcus Brinkmann + + * gpgme.c (gpgme_set_locale): Remove conditional on + HAVE_W32_SYSTEM, and just check for LC_MESSAGES. + 2006-07-16 Marcus Brinkmann * rungpg.c (read_status): Strip potential carriage return. diff --git a/gpgme/gpgme.c b/gpgme/gpgme.c index e4a147ae..85f377ff 100644 --- a/gpgme/gpgme.c +++ b/gpgme/gpgme.c @@ -1,6 +1,6 @@ /* gpgme.c - GnuPG Made Easy. Copyright (C) 2000 Werner Koch (dd9jn) - Copyright (C) 2001, 2002, 2003, 2004 g10 Code GmbH + Copyright (C) 2001, 2002, 2003, 2004, 2005 g10 Code GmbH This file is part of GPGME. @@ -341,10 +341,9 @@ gpgme_get_io_cbs (gpgme_ctx_t ctx, gpgme_io_cbs_t io_cbs) gpgme_error_t gpgme_set_locale (gpgme_ctx_t ctx, int category, const char *value) { -#ifndef HAVE_W32_SYSTEM int failed = 0; - char *new_lc_ctype; - char *new_lc_messages; + char *new_lc_ctype = NULL; + char *new_lc_messages = NULL; #define PREPARE_ONE_LOCALE(lcat, ucat) \ if (!failed && value \ @@ -353,12 +352,12 @@ gpgme_set_locale (gpgme_ctx_t ctx, int category, const char *value) new_lc_ ## lcat = strdup (value); \ if (!new_lc_ ## lcat) \ failed = 1; \ - } \ - else \ - new_lc_ ## lcat = NULL; + } PREPARE_ONE_LOCALE (ctype, CTYPE); +#ifdef LC_MESSAGES PREPARE_ONE_LOCALE (messages, MESSAGES); +#endif if (failed) { @@ -392,12 +391,12 @@ gpgme_set_locale (gpgme_ctx_t ctx, int category, const char *value) if (!ctx) LOCK (def_lc_lock); SET_ONE_LOCALE (ctype, CTYPE); +#ifdef LC_MESSAGES SET_ONE_LOCALE (messages, MESSAGES); +#endif if (!ctx) UNLOCK (def_lc_lock); -#endif /*!HAVE_W32_SYSTEM*/ - return 0; }