summaryrefslogtreecommitdiff
path: root/src/shared/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/util.c')
-rw-r--r--src/shared/util.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/shared/util.c b/src/shared/util.c
index 97f766c33c..e0156868ad 100644
--- a/src/shared/util.c
+++ b/src/shared/util.c
@@ -70,6 +70,7 @@
int saved_argc = 0;
char **saved_argv = NULL;
+int parsed_columns = 0;
size_t page_size(void) {
static __thread size_t pgsz = 0;
@@ -3740,7 +3741,7 @@ int fd_columns(int fd) {
}
static unsigned columns_cached(bool cached) {
- static __thread int parsed_columns = 0, env_columns = -1;
+ static __thread int env_columns = -1;
const char *e;
if (_likely_(parsed_columns > 0 && cached))
@@ -3776,6 +3777,11 @@ unsigned columns_uncached(void) {
return columns_cached(false);
}
+/* intended to be used as a SIGWINCH sighandler */
+void columns_cache_reset(int signum) {
+ parsed_columns = 0;
+}
+
int fd_lines(int fd) {
struct winsize ws;
zero(ws);