2005-03-24  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.texi (Library Version Check): Make example code compatible
	to W32 systems.

gpgme/
2005-03-24  Marcus Brinkmann  <marcus@g10code.de>

	* gpgme.c (gpgme_set_locale): Remove conditional on
	HAVE_W32_SYSTEM, and just check for LC_MESSAGES.
This commit is contained in:
Marcus Brinkmann 2006-07-16 13:36:04 +00:00
parent 6bde056355
commit fba48de1ee
4 changed files with 22 additions and 10 deletions

View File

@ -1,3 +1,8 @@
2005-03-24 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Library Version Check): Make example code compatible
to W32 systems.
2006-06-21 Marcus Brinkmann <marcus@g10code.de> 2006-06-21 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Passphrase Callback): Fix inverted condition in * gpgme.texi (Passphrase Callback): Fix inverted condition in

View File

@ -609,13 +609,16 @@ init_program (void)
setlocale (LC_ALL, ""); setlocale (LC_ALL, "");
gpgme_check_version (NULL); gpgme_check_version (NULL);
gpgme_set_locale (NULL, LC_CTYPE, setlocale (LC_CTYPE, NULL)); gpgme_set_locale (NULL, LC_CTYPE, setlocale (LC_CTYPE, NULL));
#ifdef LC_MESSAGES
gpgme_set_locale (NULL, LC_MESSAGES, setlocale (LC_MESSAGES, NULL)); gpgme_set_locale (NULL, LC_MESSAGES, setlocale (LC_MESSAGES, NULL));
#endif
@} @}
@end example @end example
Note that you are highly recommended to initialize the locale settings Note that you are highly recommended to initialize the locale settings
like this. @acronym{GPGME} can not do this for you because it would 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 @node Signal Handling

View File

@ -1,3 +1,8 @@
2005-03-24 Marcus Brinkmann <marcus@g10code.de>
* gpgme.c (gpgme_set_locale): Remove conditional on
HAVE_W32_SYSTEM, and just check for LC_MESSAGES.
2006-07-16 Marcus Brinkmann <marcus@g10code.de> 2006-07-16 Marcus Brinkmann <marcus@g10code.de>
* rungpg.c (read_status): Strip potential carriage return. * rungpg.c (read_status): Strip potential carriage return.

View File

@ -1,6 +1,6 @@
/* gpgme.c - GnuPG Made Easy. /* gpgme.c - GnuPG Made Easy.
Copyright (C) 2000 Werner Koch (dd9jn) 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. 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_error_t
gpgme_set_locale (gpgme_ctx_t ctx, int category, const char *value) gpgme_set_locale (gpgme_ctx_t ctx, int category, const char *value)
{ {
#ifndef HAVE_W32_SYSTEM
int failed = 0; int failed = 0;
char *new_lc_ctype; char *new_lc_ctype = NULL;
char *new_lc_messages; char *new_lc_messages = NULL;
#define PREPARE_ONE_LOCALE(lcat, ucat) \ #define PREPARE_ONE_LOCALE(lcat, ucat) \
if (!failed && value \ if (!failed && value \
@ -353,12 +352,12 @@ gpgme_set_locale (gpgme_ctx_t ctx, int category, const char *value)
new_lc_ ## lcat = strdup (value); \ new_lc_ ## lcat = strdup (value); \
if (!new_lc_ ## lcat) \ if (!new_lc_ ## lcat) \
failed = 1; \ failed = 1; \
} \ }
else \
new_lc_ ## lcat = NULL;
PREPARE_ONE_LOCALE (ctype, CTYPE); PREPARE_ONE_LOCALE (ctype, CTYPE);
#ifdef LC_MESSAGES
PREPARE_ONE_LOCALE (messages, MESSAGES); PREPARE_ONE_LOCALE (messages, MESSAGES);
#endif
if (failed) if (failed)
{ {
@ -392,12 +391,12 @@ gpgme_set_locale (gpgme_ctx_t ctx, int category, const char *value)
if (!ctx) if (!ctx)
LOCK (def_lc_lock); LOCK (def_lc_lock);
SET_ONE_LOCALE (ctype, CTYPE); SET_ONE_LOCALE (ctype, CTYPE);
#ifdef LC_MESSAGES
SET_ONE_LOCALE (messages, MESSAGES); SET_ONE_LOCALE (messages, MESSAGES);
#endif
if (!ctx) if (!ctx)
UNLOCK (def_lc_lock); UNLOCK (def_lc_lock);
#endif /*!HAVE_W32_SYSTEM*/
return 0; return 0;
} }