fixed issues with last-folder patch.
git-svn-id: svn://svn.berlios.de/mutt-ng/trunk@49
e385b8ad-14ed-0310-8656-
cc95a2468c6d
/* use the raw keypress */
ch = LastKey;
/* use the raw keypress */
ch = LastKey;
- if ((ch == '.') && (flags & (M_FILE | M_EFILE)))
+ if ((ch == '#') && (flags & M_LASTFOLDER))
+ my_wcstombs (buf, buflen, state->wbuf, state->lastchar);
#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_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 */
/* flags for mutt_get_token() */
#define M_TOKEN_EQUAL 1 /* treat '=' as a special */
- prompt = _("Save to file ('.' for last used folder): ");
+ prompt = _("Save to file ('#' for last used folder): ");
- 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)
{
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: ")
ret = mutt_get_field (_("Save to file: ")
- , buf, sizeof (buf), M_FILE | M_CLEAR);
+ , buf, sizeof (buf), M_FILE);
if ((ret != 0) || (!buf[0]))
if ((ret != 0) || (!buf[0]))