diff options
| author | Albert Cervin <albert@acervin.com> | 2025-10-15 17:13:05 +0200 |
|---|---|---|
| committer | Albert Cervin <albert@acervin.com> | 2025-10-17 12:21:04 +0200 |
| commit | 4689f3f38277bb64981fc960e8e384e2d065d659 (patch) | |
| tree | fd6cbb8e91aedf04daa1698c1e5909d8547cb050 /src/dged/display.c | |
| parent | 186374797aa883de9c4ac49d428af8dca000d2ed (diff) | |
| download | dged-openbsd-fixes.tar.gz dged-openbsd-fixes.tar.xz dged-openbsd-fixes.zip | |
Make it work again on OpenBSDopenbsd-fixes
- Some unused variables
- Fix zero window size under lldb
- Make instantiation of languages more robust
Diffstat (limited to 'src/dged/display.c')
| -rw-r--r-- | src/dged/display.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/dged/display.c b/src/dged/display.c index e39391b..e992cc9 100644 --- a/src/dged/display.c +++ b/src/dged/display.c @@ -7,6 +7,7 @@ #include <assert.h> #include <ctype.h> +#include <fcntl.h> #include <stdarg.h> #include <stdio.h> #include <stdlib.h> @@ -91,7 +92,15 @@ struct command_list { struct winsize getsize(void) { struct winsize ws; - ioctl(STDOUT_FILENO, TIOCGWINSZ, &ws); + if (ioctl(STDOUT_FILENO, TIOCGWINSZ, &ws) == -1 || ws.ws_row == 0 || + ws.ws_col == 0) { + int fd = open("/dev/tty", O_RDONLY); + if (fd != -1) { + ioctl(fd, TIOCGWINSZ, &ws); + close(fd); + } + } + return ws; } |
