(my_dgettext): Switch the codeset once to utf-8.
authorWerner Koch <wk@gnupg.org>
Wed, 7 Apr 2004 16:53:55 +0000 (16:53 +0000)
committerWerner Koch <wk@gnupg.org>
Wed, 7 Apr 2004 16:53:55 +0000 (16:53 +0000)
Allow building with out NLS.

tools/ChangeLog
tools/gpgconf-comp.c

index a9bd5fb..0a4046c 100644 (file)
@@ -1,3 +1,8 @@
+2004-04-07  Werner Koch  <wk@gnupg.org>
+
+       * gpgconf-comp.c (my_dgettext): Switch the codeset once to utf-8.
+       Allow building with out NLS.
+
 2004-03-23  Marcus Brinkmann  <marcus@g10code.de>
 
        * gpgconf-comp.c (gc_options_dirmngr): Set GC_OPT_FLAG_ARG_OPT for
index fa755af..0b56129 100644 (file)
@@ -855,16 +855,31 @@ gpg_agent_runtime_change (void)
 }
 
 \f
-/* Robust version of dgettext.  */
+/* More or less Robust version of dgettext.  It has the sidefeect of
+   switching the codeset to utf-8 becuase this is what we want to
+   output.  In theory it is posible to keep the orginal code set and
+   switch back for regular disgnostic output (redefine "_(" for that)
+   but given the natur of this tool, being something invoked from
+   other pograms, it does not make much sense.  */
 static const char *
 my_dgettext (const char *domain, const char *msgid)
 {
+#ifdef ENABLE_NLS
   if (domain)
     {
-      char *text = dgettext (domain, msgid);
+      static int switched_codeset;
+      char *text;
+      
+      if (!switched_codeset)
+        {
+          bind_textdomain_codeset (PACKAGE_GT, "utf-8");
+          switched_codeset = 1;
+        }
+      text = dgettext (domain, msgid);
       return text ? text : msgid;
     }
   else
+#endif
     return msgid;
 }