#endif
#include "mutt.h"
+#include "enter.h"
#include "mutt_menu.h"
#include "mutt_curses.h"
#include "pager.h"
CLEARLINE (LINES - 1);
}
-static void fix_end_of_file (const char *data)
-{
- FILE *fp;
- int c;
-
- if ((fp = safe_fopen (data, "a+")) == NULL)
- return;
- fseek (fp, -1, SEEK_END);
- if ((c = fgetc (fp)) != '\n')
- fputc ('\n', fp);
- safe_fclose (&fp);
-}
-
void mutt_edit_file (const char *editor, const char *data)
{
char cmd[LONG_STRING];
mutt_expand_file_fmt (cmd, sizeof (cmd), editor, data);
if (mutt_system (cmd) == -1)
mutt_error (_("Error running \"%s\"!"), cmd);
- fix_end_of_file (data);
keypad (stdscr, TRUE);
clearok (stdscr, TRUE);
}
if (Timeout)
timeout (-1); /* restore blocking operation */
if (mutt_yesorno (_("Exit Mutt-ng?"), M_YES) == M_YES) {
- endwin ();
+ mutt_endwin (NULL);
exit (1);
}
mutt_clear_error ();
set_option (OPTMSGERR);
}
+#ifdef USE_SOCKET
+void mutt_progress_bar (progress_t* progress, long pos) {
+ char posstr[SHORT_STRING];
+
+ if (!pos) {
+ if (!NetInc)
+ mutt_message (progress->msg);
+ else {
+ if (progress->size)
+ mutt_pretty_size (progress->sizestr, sizeof (progress->sizestr),
+ progress->size);
+ progress->pos = 0;
+ }
+ }
+
+ if (!NetInc)
+ return;
+
+ if (pos >= progress->pos + (NetInc << 10)) {
+ progress->pos = pos;
+ pos = pos / (NetInc << 10) * (NetInc << 10);
+ mutt_pretty_size (posstr, sizeof (posstr), pos);
+ if (progress->size)
+ mutt_message ("%s %s/%s", progress->msg, posstr, progress->sizestr);
+ else
+ mutt_message ("%s %s", progress->msg, posstr);
+ }
+}
+#endif
+
void mutt_curses_message (const char *fmt, ...)
{
char TmpErrorbuf[STRING];