diff options
author | Karel Zak | 2012-11-22 14:26:41 +0100 |
---|---|---|
committer | Karel Zak | 2012-11-22 14:26:41 +0100 |
commit | 4e76adb0e1aed7b8a094d26adcef793b51ce252b (patch) | |
tree | 29730e24ef5102f911a755bee0750b91e40e6071 /include/ttyutils.h | |
parent | build-sys: use libcommon.a for lslocks (diff) | |
download | kernel-qcow2-util-linux-4e76adb0e1aed7b8a094d26adcef793b51ce252b.tar.gz kernel-qcow2-util-linux-4e76adb0e1aed7b8a094d26adcef793b51ce252b.tar.xz kernel-qcow2-util-linux-4e76adb0e1aed7b8a094d26adcef793b51ce252b.zip |
lib/ttyutils: create .c file
Well, now all tty stuff are incline functions in include/ttyutils.h.
It's seems more elegant to create regular lib/ttyutils.c for libcommon
and write test program.
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'include/ttyutils.h')
-rw-r--r-- | include/ttyutils.h | 35 |
1 files changed, 3 insertions, 32 deletions
diff --git a/include/ttyutils.h b/include/ttyutils.h index 3c40d72a4..0bcae1493 100644 --- a/include/ttyutils.h +++ b/include/ttyutils.h @@ -8,6 +8,9 @@ #include <sys/ioctl.h> #endif +extern int get_terminal_width(void); + + #define UL_TTY_KEEPCFLAGS (1 << 1) #define UL_TTY_UTF8 (1 << 2) @@ -79,38 +82,6 @@ static inline void reset_virtual_console(struct termios *tp, int flags) tp->c_cc[VEOL2] = _POSIX_VDISABLE; } -static inline int get_terminal_width(void) -{ -#ifdef TIOCGSIZE - struct ttysize t_win; -#endif -#ifdef TIOCGWINSZ - struct winsize w_win; -#endif - const char *cp; - -#ifdef TIOCGSIZE - if (ioctl (0, TIOCGSIZE, &t_win) == 0) - return t_win.ts_cols; -#endif -#ifdef TIOCGWINSZ - if (ioctl (0, TIOCGWINSZ, &w_win) == 0) - return w_win.ws_col; -#endif - cp = getenv("COLUMNS"); - if (cp) { - char *end = NULL; - long c; - - errno = 0; - c = strtol(cp, &end, 10); - - if (errno == 0 && end && *end == '\0' && end > cp && - c > 0 && c <= INT_MAX) - return c; - } - return 0; -} #endif /* UTIL_LINUX_TTYUTILS_H */ |