From 0885d1e2839bb5a74fcec2107c9d1f061cb9c4a9 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Tue, 15 Apr 2025 10:36:51 -0400 Subject: bfstd: Add a tcsetwinsize() polyfill --- src/bfstd.c | 8 ++++++++ src/bfstd.h | 5 +++++ 2 files changed, 13 insertions(+) (limited to 'src') diff --git a/src/bfstd.c b/src/bfstd.c index 64cc605..4269d55 100644 --- a/src/bfstd.c +++ b/src/bfstd.c @@ -568,6 +568,14 @@ int xtcgetwinsize(int fd, struct winsize *ws) { #endif } +int xtcsetwinsize(int fd, const struct winsize *ws) { +#if BFS_HAS_TCSETWINSIZE + return tcsetwinsize(fd, ws); +#else + return ioctl(fd, TIOCSWINSZ, ws); +#endif +} + int dup_cloexec(int fd) { #ifdef F_DUPFD_CLOEXEC return fcntl(fd, F_DUPFD_CLOEXEC, 0); diff --git a/src/bfstd.h b/src/bfstd.h index a17ce95..51920c9 100644 --- a/src/bfstd.h +++ b/src/bfstd.h @@ -350,6 +350,11 @@ int open_cterm(int flags); */ int xtcgetwinsize(int fd, struct winsize *ws); +/** + * tcsetwinsize()/ioctl(TIOCSWINSZ) wrapper. + */ +int xtcsetwinsize(int fd, const struct winsize *ws); + // #include /** -- cgit v1.2.3