summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIngo Klöcker <dev@ingo-kloecker.de>2023-04-04 12:11:15 +0200
committerIngo Klöcker <dev@ingo-kloecker.de>2023-04-04 12:11:15 +0200
commitd256ba7cc57d9bfcfa05fb05cf66dc992efbb695 (patch)
tree9676aba4fa8ba878fb1cfa08409acd65ec62b392
parent34cc7daba12a2a6baa3cfa337762656c210686fa (diff)
downloadgpgme-d256ba7cc57d9bfcfa05fb05cf66dc992efbb695.tar.gz
w32: Always use UTF-8 for localized texts
* configure.ac: Define GPG_ERR_ENABLE_GETTEXT_MACROS. * src/version.c (do_subsystem_inits) [W32]: Switch gettext to UTF-8. -- On Windows, applications using GpgME can now rely on localized texts returned by GpgME, e.g. the texts for error codes, to be UTF-8 encoded. In particular, this saves a useless and possibly lossy conversion to native encoding and back to UTF-8. On other OSes, where we use the system provided gettext, we assume that UTF-8 is used nowadays. GnuPG-bug-id: 5960
-rw-r--r--NEWS3
-rw-r--r--configure.ac3
-rw-r--r--src/version.c3
3 files changed, 9 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index bcabe2ce..a945fb5b 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,9 @@
Noteworthy changes in version 1.20.0 (unreleased)
-------------------------------------------------
+ * On Windows, the gettext functions provided by gpgrt are switched into utf8
+ mode, so that all localized texts returned by GpgME or gpgrt, e.g. the
+ texts for error codes are now UTF-8 encoded.
* Interface changes relative to the 1.19.0 release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/configure.ac b/configure.ac
index 0c15ab08..3ec1ea44 100644
--- a/configure.ac
+++ b/configure.ac
@@ -922,6 +922,9 @@ AH_BOTTOM([
# define GPGME_GCC_A_PURE
#endif
+/* Under Windows we use the gettext code from gpgrt. */
+#define GPG_ERR_ENABLE_GETTEXT_MACROS
+
/* Under WindowsCE we need gpg-error's strerror macro. */
#define GPG_ERR_ENABLE_ERRNO_MACROS 1
diff --git a/src/version.c b/src/version.c
index 5beb63a3..693a1e83 100644
--- a/src/version.c
+++ b/src/version.c
@@ -72,6 +72,9 @@ do_subsystem_inits (void)
WSAStartup (0x202, &wsadat);
}
+
+ /* We want gpgrt's gettext to always output UTF-8. */
+ gettext_use_utf8 (1);
#endif
_gpgme_debug_subsystem_init ();