return (ret);
}
+int _mutt_get_field_att (/* const */ char *field, char *buf, size_t buflen, int complete, int multiple, char ***files, int *numfiles)
+{
+ int ret;
+ int x, y;
+
+ ENTER_STATE *es = mutt_new_enter_state();
+
+ do
+ {
+ CLEARLINE (LINES-1);
+ addstr (field);
+ mutt_refresh ();
+ getyx (stdscr, y, x);
+ ret = _mutt_enter_string_att (buf, buflen, y, x, complete, multiple, files, numfiles, es);
+ }
+ while (ret == 1);
+ CLEARLINE (LINES-1);
+ mutt_free_enter_state (&es);
+
+ return (ret);
+}
+
+
int mutt_get_password (char *msg, char *buf, size_t buflen)
{
int rc;
if (menu->current < 0)
menu->current = ci_first_message ();
-
+
}
static void resort_index (MUTTMENU *menu)
M_REDRAW_LINE /* redraw entire line */
};
+static int _mutt_enter_string_foo (char *buf, size_t buflen, int y, int x, int flags, int multiple, char ***files, int *numfiles, ENTER_STATE *state, int att_save);
+
static int my_wcwidth (wchar_t wc)
{
int n = wcwidth (wc);
return rv;
}
-int _mutt_enter_string (char *buf, size_t buflen, int y, int x,
+int _mutt_enter_string(char *buf, size_t buflen, int y, int x,
+ int flags, int multiple, char ***files, int *numfiles,
+ ENTER_STATE *state)
+{
+ return _mutt_enter_string_foo(buf,buflen,y,x,flags,multiple,files,numfiles,state,0);
+}
+
+int _mutt_enter_string_att(char *buf, size_t buflen, int y, int x,
int flags, int multiple, char ***files, int *numfiles,
ENTER_STATE *state)
+{
+ return _mutt_enter_string_foo(buf,buflen,y,x,flags,multiple,files,numfiles,state,1);
+}
+
+static int _mutt_enter_string_foo (char *buf, size_t buflen, int y, int x,
+ int flags, int multiple, char ***files, int *numfiles,
+ ENTER_STATE *state, int att_save) /* the last parameter is a hack!! */
{
int width = COLS - x - 1;
int redraw;
/* use the raw keypress */
ch = LastKey;
- if (ch == '.')
+ if (att_save && ch == '.')
{
rv = 2;
goto bye;
int _mutt_enter_fname (const char *, char *, size_t, int *, int, int, char ***, int *);
int mutt_enter_string (char *buf, size_t buflen, int y, int x, int flags);
int _mutt_enter_string (char *, size_t, int, int, int, int, char ***, int *, ENTER_STATE *);
+int _mutt_enter_string_att (char *, size_t, int, int, int, int, char ***, int *, ENTER_STATE *);
#define mutt_get_field(A,B,C,D) _mutt_get_field(A,B,C,D,0,NULL,NULL)
+#define mutt_get_field_att(A,B,C,D) _mutt_get_field_att(A,B,C,D,0,NULL,NULL)
int _mutt_get_field (char *, char *, size_t, int, int, char ***, int *);
+int _mutt_get_field_att (char *, char *, size_t, int, int, char ***, int *);
int mutt_get_hook_type (const char *);
int mutt_get_password (char *, char *, size_t);
int mutt_get_postponed (CONTEXT *, HEADER *, HEADER **, char *, size_t);
prompt = _("Save to file: ");
while (prompt)
{
- ret = mutt_get_field (_("Save to file ('.' for last used folder): ")
+ ret = mutt_get_field_att (_("Save to file ('.' for last used folder): ")
, buf, sizeof (buf), M_FILE | M_CLEAR);
if (((ret != 0) && (ret != 2)) || (!buf[0]))
return -1;