2010-05-07 Marcus Brinkmann <marcus@g10code.de>
authorMarcus Brinkmann <mb@g10code.com>
Fri, 7 May 2010 01:32:54 +0000 (01:32 +0000)
committerMarcus Brinkmann <mb@g10code.com>
Fri, 7 May 2010 01:32:54 +0000 (01:32 +0000)
* engine-g13.c, gpgme.c, engine-gpgsm.c, engine-gpg.c,
op-support.c, engine-assuan.c, gpgme-tool.c: Include <locale.h>
only if available with HAVE_LOCALE_H and conditionalize use of
LC_CTYPE on its definition.
* engine-gpgconf.c: Do not include <locale.h>.

ChangeLog
configure.ac
src/ChangeLog
src/engine-assuan.c
src/engine-g13.c
src/engine-gpg.c
src/engine-gpgconf.c
src/engine-gpgsm.c
src/gpgme-tool.c
src/gpgme.c
src/op-support.c

index 38e126f74e2c0b733f78636f6919c729a334e52f..baaa69e962f9b4397dd3f4553348d9a53bc1561f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2010-05-07  Marcus Brinkmann  <marcus@g10code.de>
+
+       * configure.ac: Check for locale.h.
+
 2010-05-06  Marcus Brinkmann  <marcus@g10code.de>
 
        * configure.ac: Detect Windows CE.
index c0bcac1cb3bc26030c2b3416b46fe6fa26f15779..6ac1a5ea43cb708b4a94e96cbdd16b163b528853 100644 (file)
@@ -203,6 +203,7 @@ AM_CONDITIONAL(HAVE_PTHREAD, test "$have_pthread" = "yes")
 
 
 # Checks for header files.
+AC_CHECK_HEADERS([locale.h])
 AC_CHECK_HEADERS(sys/select.h)
 AC_CHECK_HEADERS([sys/uio.h])
 
index a28350160dcbebd3c4d8335ae8e877e4ed8d7d68..4f1ca96e688eb8cd8d4f44eed7ad74e9655ebb89 100644 (file)
@@ -1,5 +1,11 @@
 2010-05-07  Marcus Brinkmann  <marcus@g10code.de>
 
+       * engine-g13.c, gpgme.c, engine-gpgsm.c, engine-gpg.c,
+       op-support.c, engine-assuan.c, gpgme-tool.c: Include <locale.h>
+       only if available with HAVE_LOCALE_H and conditionalize use of
+       LC_CTYPE on its definition.
+       * engine-gpgconf.c: Do not include <locale.h>.
+
        * engine-gpgsm.c (gpgsm_new, start): Cast between int and
        assuan_fd_t.
        * assuan-support.c (my_pipe, my_close, my_read, my_write): Likewise.
index d8d30866262149d3829e98bdc3dba4da8b864160..73ece80d55c123b417ec35118227530ba8f68e3d 100644 (file)
@@ -33,7 +33,9 @@
 #include <sys/types.h>
 #include <assert.h>
 #include <unistd.h>
+#ifdef HAVE_LOCALE_H
 #include <locale.h>
+#endif
 #include <errno.h>
 
 #include "gpgme.h"
@@ -358,7 +360,10 @@ llass_set_locale (void *engine, int category, const char *value)
   /* FIXME: If value is NULL, we need to reset the option to default.
      But we can't do this.  So we error out here.  gpg-agent needs
      support for this.  */
-  if (category == LC_CTYPE)
+  if (0)
+    ;
+#ifdef LC_CTYPE
+  else if (category == LC_CTYPE)
     {
       catstr = "lc-ctype";
       if (!value && llass->lc_ctype_set)
@@ -366,6 +371,7 @@ llass_set_locale (void *engine, int category, const char *value)
       if (value)
        llass->lc_ctype_set = 1;
     }
+#endif
 #ifdef LC_MESSAGES
   else if (category == LC_MESSAGES)
     {
index 208fb35c7da5b0fed4ade90b1dc172ac42c4db83..8b2af4d7b61c07852007ba36972994567ec0edd8 100644 (file)
@@ -28,7 +28,9 @@
 #include <sys/types.h>
 #include <assert.h>
 #include <unistd.h>
+#ifdef HAVE_LOCALE_H
 #include <locale.h>
+#endif
 #include <fcntl.h> /* FIXME */
 #include <errno.h>
 
@@ -354,7 +356,10 @@ g13_set_locale (void *engine, int category, const char *value)
   /* FIXME: If value is NULL, we need to reset the option to default.
      But we can't do this.  So we error out here.  G13 needs support
      for this.  */
-  if (category == LC_CTYPE)
+  if (0)
+    ;
+#ifdef LC_CTYPE
+  else if (category == LC_CTYPE)
     {
       catstr = "lc-ctype";
       if (!value && g13->lc_ctype_set)
@@ -362,6 +367,7 @@ g13_set_locale (void *engine, int category, const char *value)
       if (value)
        g13->lc_ctype_set = 1;
     }
+#endif
 #ifdef LC_MESSAGES
   else if (category == LC_MESSAGES)
     {
index a05fca28e7e09f364ddd619c7112366418acbd16..da66d4d76b8501e9127a8461d4b9da32dc92b5a9 100644 (file)
@@ -28,7 +28,9 @@
 #include <assert.h>
 #include <errno.h>
 #include <unistd.h>
+#ifdef HAVE_LOCALE_H
 #include <locale.h>
+#endif
 
 #include "gpgme.h"
 #include "util.h"
@@ -563,7 +565,10 @@ gpg_set_locale (void *engine, int category, const char *value)
 {
   engine_gpg_t gpg = engine;
 
-  if (category == LC_CTYPE)
+  if (0)
+    ;
+#ifdef LC_CTYPE
+  else if (category == LC_CTYPE)
     {
       if (gpg->lc_ctype)
         {
@@ -577,6 +582,7 @@ gpg_set_locale (void *engine, int category, const char *value)
            return gpg_error_from_syserror ();
        }
     }
+#endif
 #ifdef LC_MESSAGES
   else if (category == LC_MESSAGES)
     {
index 6448b0663d3402923086e711403db80549c0542d..d3c47a755b1ee1273dee9c570af6591ce5757b1c 100644 (file)
@@ -27,7 +27,6 @@
 #include <sys/types.h>
 #include <assert.h>
 #include <unistd.h>
-#include <locale.h>
 #include <fcntl.h> /* FIXME */
 #include <errno.h>
 
index fce46599a736f7a8eb3507b972bc6e1ec4b06ea8..64189bf8ec326c26cb52152e40ed1df2d797aace 100644 (file)
@@ -29,7 +29,9 @@
 #include <sys/types.h>
 #include <assert.h>
 #include <unistd.h>
+#ifdef HAVE_LOCALE_H
 #include <locale.h>
+#endif
 #include <fcntl.h> /* FIXME */
 #include <errno.h>
 
@@ -507,7 +509,10 @@ gpgsm_set_locale (void *engine, int category, const char *value)
   /* FIXME: If value is NULL, we need to reset the option to default.
      But we can't do this.  So we error out here.  GPGSM needs support
      for this.  */
-  if (category == LC_CTYPE)
+  if (0)
+    ;
+#ifdef LC_CTYPE
+  else if (category == LC_CTYPE)
     {
       catstr = "lc-ctype";
       if (!value && gpgsm->lc_ctype_set)
@@ -515,6 +520,7 @@ gpgsm_set_locale (void *engine, int category, const char *value)
       if (value)
        gpgsm->lc_ctype_set = 1;
     }
+#endif
 #ifdef LC_MESSAGES
   else if (category == LC_MESSAGES)
     {
index 63df70d1fb9ca091c29d0ef085bcdae50fb68429..f102979d5da209f857787f8d6b15f97c20d39a67 100644 (file)
@@ -28,7 +28,9 @@
 #include <getopt.h>
 #include <ctype.h>
 #include <stdarg.h>
+#ifdef HAVE_LOCALE_H
 #include <locale.h>
+#endif
 #ifdef HAVE_ARGP_H
 #include <argp.h>
 #endif
@@ -2908,10 +2910,13 @@ main (int argc, char *argv[])
 
   setlocale (LC_ALL, "");
   gpgme_check_version (NULL);
+#ifdef LC_CTYPE
   gpgme_set_locale (NULL, LC_CTYPE, setlocale (LC_CTYPE, NULL));
+#endif
 #ifdef LC_MESSAGES
   gpgme_set_locale (NULL, LC_MESSAGES, setlocale (LC_MESSAGES, NULL));
 #endif
+
   args_init (&args);
 
   argp_parse (&argp, argc, argv, 0, 0, &args);
index fe601a09d33dcdb84e6e2db13a601574e433aa89..b6a518ff201af56e81c8be98d240d718a1b510ce 100644 (file)
@@ -27,7 +27,9 @@
 #include <string.h>
 #include <assert.h>
 #include <errno.h>
+#ifdef HAVE_LOCALE_H
 #include <locale.h>
+#endif
 
 #include "util.h"
 #include "context.h"
@@ -600,7 +602,9 @@ gpgme_set_locale (gpgme_ctx_t ctx, int category, const char *value)
         failed = 1;                                            \
     }
 
+#ifdef LC_CTYPE
   PREPARE_ONE_LOCALE (ctype, CTYPE);
+#endif
 #ifdef LC_MESSAGES
   PREPARE_ONE_LOCALE (messages, MESSAGES);
 #endif
@@ -636,7 +640,9 @@ gpgme_set_locale (gpgme_ctx_t ctx, int category, const char *value)
 
   if (!ctx)
     LOCK (def_lc_lock);
+#ifdef LC_CTYPE
   SET_ONE_LOCALE (ctype, CTYPE);
+#endif
 #ifdef LC_MESSAGES
   SET_ONE_LOCALE (messages, MESSAGES);
 #endif
index 67385360c0884d74c09429119df5d4567b0569e9..66e6849f50907ff14f87d5dbb713c3f2bf3301fd 100644 (file)
@@ -23,7 +23,9 @@
 #include <stdlib.h>
 #include <errno.h>
 #include <string.h>
+#ifdef HAVE_LOCALE_H
 #include <locale.h>
+#endif
 
 #include "gpgme.h"
 #include "context.h"
@@ -114,7 +116,10 @@ _gpgme_op_reset (gpgme_ctx_t ctx, int type)
 
   if (!reuse_engine)
     {
+      err = 0;
+#ifdef LC_CTYPE
       err = _gpgme_engine_set_locale (ctx->engine, LC_CTYPE, ctx->lc_ctype);
+#endif
 #ifdef LC_MESSAGES
       if (!err)
         err = _gpgme_engine_set_locale (ctx->engine,