gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-exchange] branch master updated: omit charset from en_US.UTF-8 en


From: gnunet
Subject: [taler-exchange] branch master updated: omit charset from en_US.UTF-8 env variable when picking i18n strings
Date: Mon, 05 Apr 2021 19:27:21 +0200

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository exchange.

The following commit(s) were added to refs/heads/master by this push:
     new 63c6654c omit charset from en_US.UTF-8 env variable when picking i18n 
strings
63c6654c is described below

commit 63c6654c0f41b8a8d9c436c2735e7392dd2b59bf
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Mon Apr 5 19:27:19 2021 +0200

    omit charset from en_US.UTF-8 env variable when picking i18n strings
---
 src/json/json_helper.c | 32 +++++++++++++++++++++++++++-----
 1 file changed, 27 insertions(+), 5 deletions(-)

diff --git a/src/json/json_helper.c b/src/json/json_helper.c
index 2a9b01a7..b39500f7 100644
--- a/src/json/json_helper.c
+++ b/src/json/json_helper.c
@@ -380,7 +380,7 @@ struct I18nContext
   /**
    * Language pattern to match.
    */
-  const char *lp;
+  char *lp;
 
   /**
    * Name of the field to match.
@@ -466,6 +466,7 @@ i18n_cleaner (void *cls,
 {
   struct I18nContext *ctx = cls;
 
+  GNUNET_free (ctx->lp);
   GNUNET_free (ctx);
 }
 
@@ -486,7 +487,7 @@ TALER_JSON_spec_i18n_string (const char *name,
     .size_ptr = NULL
   };
 
-  ctx->lp = language_pattern;
+  ctx->lp = GNUNET_strdup (language_pattern);
   ctx->field = name;
   *strptr = NULL;
   return ret;
@@ -497,9 +498,30 @@ struct GNUNET_JSON_Specification
 TALER_JSON_spec_i18n_str (const char *name,
                           const char **strptr)
 {
-  return TALER_JSON_spec_i18n_string (name,
-                                      getenv ("LANG"),
-                                      strptr);
+  const char *lang = getenv ("LANG");
+  char *dot;
+  char *l;
+  struct GNUNET_JSON_Specification ret;
+
+  if (NULL != lang)
+  {
+    dot = strchr (lang,
+                  '.');
+    if (NULL == dot)
+      l = GNUNET_strdup (lang);
+    else
+      l = GNUNET_strndup (lang,
+                          dot - lang);
+  }
+  else
+  {
+    l = NULL;
+  }
+  ret = TALER_JSON_spec_i18n_string (name,
+                                     l,
+                                     strptr);
+  GNUNET_free (l);
+  return ret;
 }
 
 

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]