aboutsummaryrefslogtreecommitdiffstats
path: root/g10/keyedit.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/keyedit.c')
-rw-r--r--g10/keyedit.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/g10/keyedit.c b/g10/keyedit.c
index 14596a817..2aa7c28e2 100644
--- a/g10/keyedit.c
+++ b/g10/keyedit.c
@@ -1098,7 +1098,7 @@ sign_uids( KBNODE keyblock, strlist_t locusr, int *ret_modified,
* We use only one passphrase for all keys.
*/
static int
-change_passphrase( KBNODE keyblock )
+change_passphrase (KBNODE keyblock, int *r_err)
{
int rc = 0;
int changed=0;
@@ -1262,6 +1262,8 @@ change_passphrase( KBNODE keyblock )
leave:
xfree( passphrase );
set_next_passphrase( NULL );
+ if (r_err)
+ *r_err = rc;
return changed && !rc;
}
@@ -2121,7 +2123,7 @@ keyedit_menu( const char *username, strlist_t locusr,
break;
case cmdPASSWD:
- if( change_passphrase( sec_keyblock ) )
+ if (change_passphrase (sec_keyblock, NULL))
sec_modified = 1;
break;
@@ -2341,11 +2343,8 @@ keyedit_passwd (const char *username)
if (err)
goto leave;
- if (!change_passphrase (keyblock))
- {
- err = gpg_error (GPG_ERR_GENERAL);
- goto leave;
- }
+ if (!change_passphrase (keyblock, &err))
+ goto leave;
err = keydb_update_keyblock (kdh, keyblock);
if (err)
@@ -2362,6 +2361,8 @@ keyedit_passwd (const char *username)
username, gpg_strerror (err));
write_status_error ("keyedit.passwd", gpg_err_code (err));
}
+ else
+ write_status_text (STATUS_SUCCESS, "keyedit.passwd");
}