aboutsummaryrefslogtreecommitdiffstats
path: root/g10/passphrase.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/passphrase.c')
-rw-r--r--g10/passphrase.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/g10/passphrase.c b/g10/passphrase.c
index ac7e71591..0db9404b9 100644
--- a/g10/passphrase.c
+++ b/g10/passphrase.c
@@ -673,32 +673,26 @@ agent_get_passphrase ( u32 *keyid, int mode, const char *tryagain_text,
const char *algo_name = gcry_pk_algo_name ( pk->pubkey_algo );
const char *timestr;
char *maink;
- const char *fmtstr;
if ( !algo_name )
algo_name = "?";
- fmtstr = _(" (main key ID %08lX)");
- maink = xmalloc ( strlen (fmtstr) + 20 );
if( keyid[2] && keyid[3] && keyid[0] != keyid[2]
&& keyid[1] != keyid[3] )
- sprintf( maink, fmtstr, (ulong)keyid[3] );
+ maink = xasprintf ( _(" (main key ID %08lX)"), (ulong)keyid[3] );
else
- *maink = 0;
+ maink = NULL;
uid = get_user_id ( keyid, &uidlen );
timestr = strtimestamp (pk->timestamp);
- fmtstr = _("You need a passphrase to unlock the"
+ atext = xasprintf (
+ _("You need a passphrase to unlock the"
" secret key for user:\n"
"\"%.*s\"\n"
- "%u-bit %s key, ID %08lX, created %s%s\n" );
- atext = xmalloc ( 100 + strlen (fmtstr)
- + uidlen + 15 + strlen(algo_name) + 8
- + strlen (timestr) + strlen (maink) );
- sprintf (atext, fmtstr,
+ "%u-bit %s key, ID %08lX, created %s%s\n" ),
uidlen, uid,
nbits_from_pk (pk), algo_name, (ulong)keyid[1], timestr,
- maink );
+ maink?maink:"" );
xfree (uid);
xfree (maink);