aboutsummaryrefslogtreecommitdiffstats
path: root/g10/plaintext.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/plaintext.c')
-rw-r--r--g10/plaintext.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/g10/plaintext.c b/g10/plaintext.c
index 5820af6c6..f883f4a73 100644
--- a/g10/plaintext.c
+++ b/g10/plaintext.c
@@ -89,9 +89,17 @@ handle_plaintext( PKT_plaintext *pt, md_filter_context_t *mfx,
setmode ( fileno(fp) , O_BINARY );
#endif
}
- else if( !overwrite_filep( fname ) ) {
- rc = G10ERR_CREATE_FILE;
- goto leave;
+ else {
+ while( !overwrite_filep (fname) ) {
+ char *tmp = ask_outfile_name (NULL, 0);
+ if ( !tmp || !*tmp ) {
+ m_free (tmp);
+ rc = G10ERR_CREATE_FILE;
+ goto leave;
+ }
+ m_free (fname);
+ fname = tmp;
+ }
}
if( fp || nooutput )