aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/interface-curses.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/interface-curses.cpp')
-rw-r--r--src/interface-curses.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/interface-curses.cpp b/src/interface-curses.cpp
index e46af51..c3216ce 100644
--- a/src/interface-curses.cpp
+++ b/src/interface-curses.cpp
@@ -384,20 +384,21 @@ InterfaceCurses::vmsg_impl(MessageType type, const gchar *fmt, va_list ap)
{
attr_t attr;
+ if (!msg_window) { /* batch mode */
+ stdio_vmsg(type, fmt, ap);
+ return;
+ }
+
/*
* On most platforms we can write to stdout/stderr
* even in interactive mode.
*/
#if defined(XCURSES) || defined(PDCURSES_WIN32A) || \
defined(NCURSES_UNIX) || defined(NCURSES_WIN32)
- stdio_vmsg(type, fmt, ap);
- if (!msg_window) /* batch mode */
- return;
-#else
- if (!msg_window) { /* batch mode */
- stdio_vmsg(type, fmt, ap);
- return;
- }
+ va_list aq;
+ va_copy(aq, ap);
+ stdio_vmsg(type, fmt, aq);
+ va_end(aq);
#endif
switch (type) {