int i;
event_t ch;
int mutt_enter_fname (const char *prompt, char *buf, size_t blen, int *redraw, int buffy){  int i;  mvaddstr (LINES-1, 0, (char *) prompt);  addstr (_(" ('?' for list): "));  if (buf[0])    addstr (buf);  clrtoeol ();  mutt_refresh ();  if ((i = mutt_getch ()) == ERR)  {    CLEARLINE (LINES-1);    return (-1);  }  else if (i == '?')  {    mutt_refresh ();    buf[0] = 0;    mutt_select_file (buf, blen, 0);    *redraw = REDRAW_FULL;  }  else  {    char *pc = safe_malloc (strlen (prompt) + 3);    sprintf (pc, "%s: ", prompt);    mutt_ungetch (i);    if (mutt_get_field (pc, buf, blen, (buffy ? M_EFILE : M_FILE) | M_CLEAR)	!= 0)      buf[0] = 0;    MAYBE_REDRAW (*redraw);    FREE (&pc);  }  return 0;}