aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2014-08-26 08:16:04 +0000
committerWerner Koch <[email protected]>2014-08-26 08:16:44 +0000
commitc45b9819e8f4b35681c91ffb67abdc38dcc32a2a (patch)
tree2b0f56c9dd75ea937eb23a8d1f9c27d85bfce660
parentPost release updates. (diff)
downloadgnupg-c45b9819e8f4b35681c91ffb67abdc38dcc32a2a.tar.gz
gnupg-c45b9819e8f4b35681c91ffb67abdc38dcc32a2a.zip
gpg: Allow for positional parameters in the passphrase prompt.
* g10/passphrase.c (passphrase_get): Replace sprintf by xasprintf. -- Without that at least the French translation does not always work because it requires positional parameters. Windows for example does not support them as they are not defined by C99 but by POSIX.
-rw-r--r--g10/passphrase.c35
1 files changed, 12 insertions, 23 deletions
diff --git a/g10/passphrase.c b/g10/passphrase.c
index 97527180a..54caf723d 100644
--- a/g10/passphrase.c
+++ b/g10/passphrase.c
@@ -341,38 +341,27 @@ passphrase_get ( u32 *keyid, int mode, const char *cacheid, int repeat,
if ( !algo_name )
algo_name = "?";
-#define KEYIDSTRING _(" (main key ID %s)")
-
- maink = xmalloc ( strlen (KEYIDSTRING) + keystrlen() + 20 );
- if( keyid[2] && keyid[3] && keyid[0] != keyid[2]
+ if (keyid[2] && keyid[3]
+ && keyid[0] != keyid[2]
&& keyid[1] != keyid[3] )
- sprintf( maink, KEYIDSTRING, keystr(&keyid[2]) );
+ maink = xasprintf (_(" (main key ID %s)"), keystr (&keyid[2]));
else
- *maink = 0;
+ maink = xstrdup ("");
uid = get_user_id ( keyid, &uidlen );
timestr = strtimestamp (pk->timestamp);
-#undef KEYIDSTRING
-
-#define PROMPTSTRING _("Please enter the passphrase to unlock the" \
- " secret key for the OpenPGP certificate:\n" \
- "\"%.*s\"\n" \
- "%u-bit %s key, ID %s,\n" \
- "created %s%s.\n" )
-
- atext = xmalloc ( 100 + strlen (PROMPTSTRING)
- + uidlen + 15 + strlen(algo_name) + keystrlen()
- + strlen (timestr) + strlen (maink) );
- sprintf (atext, PROMPTSTRING,
- (int)uidlen, uid,
- nbits_from_pk (pk), algo_name, keystr(&keyid[0]), timestr,
- maink );
+ atext = xasprintf (_("Please enter the passphrase to unlock the"
+ " secret key for the OpenPGP certificate:\n"
+ "\"%.*s\"\n"
+ "%u-bit %s key, ID %s,\n"
+ "created %s%s.\n"),
+ (int)uidlen, uid,
+ nbits_from_pk (pk), algo_name, keystr(&keyid[0]),
+ timestr, maink);
xfree (uid);
xfree (maink);
-#undef PROMPTSTRING
-
{
size_t dummy;
fingerprint_from_pk( pk, fpr, &dummy );