From b2b5c2916e7850ad2f4d1a1b6c8aeb0f1ed49be6 Mon Sep 17 00:00:00 2001 From: ak1 Date: Fri, 4 Feb 2005 15:44:11 +0000 Subject: [PATCH] Andreas Krennmair: fixed issues with last-folder patch. git-svn-id: svn://svn.berlios.de/mutt-ng/trunk@49 e385b8ad-14ed-0310-8656-cc95a2468c6d --- enter.c | 3 ++- mutt.h | 1 + recvattach.c | 15 ++++++++------- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/enter.c b/enter.c index afc23f6..5ad1f0a 100644 --- a/enter.c +++ b/enter.c @@ -614,9 +614,10 @@ self_insert: /* use the raw keypress */ ch = LastKey; - if ((ch == '.') && (flags & (M_FILE | M_EFILE))) + if ((ch == '#') && (flags & M_LASTFOLDER)) { rv = 2; + my_wcstombs (buf, buflen, state->wbuf, state->lastchar); goto bye; } diff --git a/mutt.h b/mutt.h index 21b4373..d5dba99 100644 --- a/mutt.h +++ b/mutt.h @@ -108,6 +108,7 @@ #define M_CLEAR (1<<5) /* clear input if printable character is pressed */ #define M_COMMAND (1<<6) /* do command completion */ #define M_PATTERN (1<<7) /* pattern mode - only used for history classes */ +#define M_LASTFOLDER (1<<8) /* last-folder mode - hack hack hack */ /* flags for mutt_get_token() */ #define M_TOKEN_EQUAL 1 /* treat '=' as a special */ diff --git a/recvattach.c b/recvattach.c index 3375b99..ba5f0fa 100644 --- a/recvattach.c +++ b/recvattach.c @@ -413,21 +413,22 @@ static int mutt_query_save_attachment (FILE *fp, BODY *body, HEADER *hdr, char * else buf[0] = 0; - prompt = _("Save to file ('.' for last used folder): "); + prompt = _("Save to file ('#' for last used folder): "); while (prompt) { - ret = mutt_get_field (prompt, buf, sizeof (buf), M_FILE | M_CLEAR); - if (((ret != 0) && (ret != 2)) || (!buf[0])) + ret = mutt_get_field (prompt, buf, sizeof (buf), M_FILE | M_CLEAR | M_LASTFOLDER); + if (((ret != 0) && (ret != 2)) || (!buf[0] && ret != 2)) return -1; if (ret == 2) { - strfcpy (buf, LastSaveFolder, sizeof (buf)); - strcat(buf,body->filename); + char tmpbuf[_POSIX_PATH_MAX]; + snprintf(tmpbuf,sizeof(tmpbuf),"%s%s",LastSaveFolder,buf); + strfcpy (buf, tmpbuf, sizeof (buf)); ret = mutt_get_field (_("Save to file: ") - , buf, sizeof (buf), M_FILE | M_CLEAR); + , buf, sizeof (buf), M_FILE); if ((ret != 0) || (!buf[0])) - return -1; + return -1; } else { -- 2.20.1