diff options
author | Werner Koch <[email protected]> | 1999-07-01 10:53:35 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 1999-07-01 10:53:35 +0000 |
commit | 28eb86c0063dabf55763e00c4f9abcae8117c493 (patch) | |
tree | dd18314317ef387a4d65464277a44355a00773d6 /g10/openfile.c | |
parent | See ChangeLog: Tue Jun 29 21:44:25 CEST 1999 Werner Koch (diff) | |
download | gnupg-28eb86c0063dabf55763e00c4f9abcae8117c493.tar.gz gnupg-28eb86c0063dabf55763e00c4f9abcae8117c493.zip |
See ChangeLog: Thu Jul 1 12:47:31 CEST 1999 Werner Koch
Diffstat (limited to 'g10/openfile.c')
-rw-r--r-- | g10/openfile.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/g10/openfile.c b/g10/openfile.c index af0ab3c1d..ebf954843 100644 --- a/g10/openfile.c +++ b/g10/openfile.c @@ -99,6 +99,44 @@ make_outfile_name( const char *iname ) } +/**************** + * Ask for a outputfilename and use the given one as default. + * Return NULL if no file has been given or it is not possible to + * ask the user. + */ +char * +ask_outfile_name( const char *name, size_t namelen ) +{ + size_t n; + const char *s; + char *prompt; + char *fname; + char *defname; + + if( opt.batch ) + return NULL; + + s = _("Enter new filename"); + + n = strlen(s) + namelen + 10; + defname = name && namelen? make_printable_string( name, namelen, 0): NULL; + prompt = m_alloc(n); + if( defname ) + sprintf(prompt, "%s [%s]: ", s, defname ); + else + sprintf(prompt, "%s: ", s ); + fname = cpr_get("openfile.askoutname", prompt ); + cpr_kill_prompt(); + m_free(prompt); + if( !*fname ) { + m_free( fname ); fname = NULL; + fname = defname; defname = NULL; + } + m_free(defname); + return fname; +} + + /**************** * Make an output filename for the inputfile INAME. |