From: Luke Dashjr Date: Wed, 5 Feb 2014 21:27:40 +0000 (+0000) Subject: opt: only use termios if HAVE_SYS_TERMIOS_H is defined X-Git-Url: http://git.ozlabs.org/?p=ccan;a=commitdiff_plain;h=d218dcd458cbec7a1b958af39b70cd068da7b040;ds=sidebyside opt: only use termios if HAVE_SYS_TERMIOS_H is defined This fixes building for Windows and other platforms which lack Signed-off-by: Luke Dashjr Signed-off-by: Rusty Russell --- diff --git a/ccan/opt/usage.c b/ccan/opt/usage.c index 1142fb85..ef33f918 100644 --- a/ccan/opt/usage.c +++ b/ccan/opt/usage.c @@ -1,7 +1,9 @@ /* Licensed under GPLv3+ - see LICENSE file for details */ #include +#ifdef HAVE_SYS_TERMIOS_H #include #include /* Required on Solaris for struct winsize */ +#endif #include /* Required on Solaris for ioctl */ #include #include @@ -17,19 +19,23 @@ const char opt_hidden[1]; static unsigned int get_columns(void) { - struct winsize w; + int ws_col = 0; const char *env = getenv("COLUMNS"); - w.ws_col = 0; if (env) - 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.