diff options
-rw-r--r-- | con.c | 14 | ||||
-rw-r--r-- | con.h | 7 | ||||
-rw-r--r-- | nav.c | 2 |
3 files changed, 16 insertions, 7 deletions
diff --git a/con.c b/con.c index f00d379..f9dae8a 100644 --- a/con.c +++ b/con.c @@ -1,14 +1,18 @@ #include <sys/ioctl.h> #include <unistd.h> -unsigned con_lines(void) { +#include "con.h" + +struct consz con_size(void) { struct winsize w; ioctl(STDOUT_FILENO, TIOCGWINSZ, &w); - return w.ws_row; + return (struct consz) { w.ws_row, w.ws_col }; +} + +unsigned con_rows(void) { + return con_size().rows; } unsigned con_cols(void) { - struct winsize w; - ioctl(STDOUT_FILENO, TIOCGWINSZ, &w); - return w.ws_col; + return con_size().cols; } diff --git a/con.h b/con.h index 0c6fa33..ab2f16a 100644 --- a/con.h +++ b/con.h @@ -1,7 +1,12 @@ #ifndef CON_H #define CON_H -unsigned con_lines(void); +struct consz { + unsigned rows, cols; +}; + +struct consz con_size(void); +unsigned con_rows(void); unsigned con_cols(void); #endif diff --git a/nav.c b/nav.c index 7d5af9e..1067c8b 100644 --- a/nav.c +++ b/nav.c @@ -51,7 +51,7 @@ void nav_next(struct nav_state *ns) { /* paging */ size_t pg_lines(void) { - return con_lines() - 1; + return con_rows() - 1; } struct doc_line *nav_cur_line(struct nav_state *ns) { |