This fixes building for Windows and other platforms which lack <sys/termios.h>
Signed-off-by: Luke Dashjr <luke-jr+git@utopios.org>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
/* Licensed under GPLv3+ - see LICENSE file for details */
#include <ccan/opt/opt.h>
/* Licensed under GPLv3+ - see LICENSE file for details */
#include <ccan/opt/opt.h>
+#ifdef HAVE_SYS_TERMIOS_H
#include <sys/ioctl.h>
#include <sys/termios.h> /* Required on Solaris for struct winsize */
#include <sys/ioctl.h>
#include <sys/termios.h> /* Required on Solaris for struct winsize */
#include <sys/unistd.h> /* Required on Solaris for ioctl */
#include <string.h>
#include <stdlib.h>
#include <sys/unistd.h> /* Required on Solaris for ioctl */
#include <string.h>
#include <stdlib.h>
static unsigned int get_columns(void)
{
static unsigned int get_columns(void)
{
const char *env = getenv("COLUMNS");
const char *env = getenv("COLUMNS");
- w.ws_col = atoi(env);
- if (!w.ws_col)
- if (ioctl(0, TIOCGWINSZ, &w) == -1)
- w.ws_col = 0;
- if (!w.ws_col)
- w.ws_col = 80;
-
- return w.ws_col;
+ ws_col = atoi(env);
+#ifdef HAVE_SYS_TERMIOS_H
+ if (!ws_col)
+ {
+ struct winsize w;
+ if (ioctl(0, TIOCGWINSZ, &w) != -1)
+ ws_col = w.ws_col;
+ }
+#endif
+ if (!ws_col)
+ ws_col = 80;
+
+ return ws_col;
}
/* Return number of chars of words to put on this line.
}
/* Return number of chars of words to put on this line.