diff options
Diffstat (limited to 'g10/keyedit.c')
-rw-r--r-- | g10/keyedit.c | 15 |
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"); } |