gpg: Avoid extra translation strings.
authorWerner Koch <wk@gnupg.org>
Fri, 27 Nov 2015 17:23:33 +0000 (18:23 +0100)
committerWerner Koch <wk@gnupg.org>
Fri, 27 Nov 2015 17:32:27 +0000 (18:32 +0100)
* g10/keyedit.c (menu_expire): Use only one prompt.
--

The old code was anyway not fully i18n because it did not used
ngettext.  Further we ran into const char*/char* conflicts on Windows
where we use a different gettext implementation.

FWIW: A better pattern in the case of a static and a malloced string
w/o error return on malloc failure would be:

  const char *s;
  char *s_buf;
  s_buf = xtryasprintf ("%d foo", n);
  if (!s_buf)
    s = "several foo";
  else
    s = s_buf;
  bar (s);
  xfree (s_buf);

g10/keyedit.c

index 9cf6f44..d7c70e6 100644 (file)
@@ -4003,22 +4003,10 @@ menu_expire (KBNODE pub_keyblock)
   n1 = count_selected_keys (pub_keyblock);
   if (n1 > 1)
     {
   n1 = count_selected_keys (pub_keyblock);
   if (n1 > 1)
     {
-      char *s = xtryasprintf (_("Are you sure you want to change the"
-                                " expiration time %d subkeys? (y/N) "), n1);
-      int s_need_free;
-      if (s)
-        s_need_free = 0;
-      else
-        {
-          s = _("Are you sure you want to change the"
-                " expiration time for multiple subkeys? (y/N) ");
-          s_need_free = 0;
-        }
-
-      rc = cpr_get_answer_is_yes ("keyedit.expire_multiple_subkeys.okay", s);
-      if (s_need_free)
-        xfree (s);
-      if (! rc)
+      if (!cpr_get_answer_is_yes
+          ("keyedit.expire_multiple_subkeys.okay",
+           _("Are you sure you want to change the"
+             " expiration time for multiple subkeys? (y/N) ")))
        return 0;
     }
   else if (n1)
        return 0;
     }
   else if (n1)