fix: restore ioctl block in simple.lisp (was lost in edit)
This commit is contained in:
@@ -40,9 +40,22 @@
|
||||
(values a nil)))))))
|
||||
(when (and cols rows (> cols 0) (> rows 0))
|
||||
(values cols rows)))
|
||||
;; ioctl on stdout fd — fast, correct after SIGWINCH at runtime.
|
||||
(multiple-value-bind (cols rows)
|
||||
(when (and rows cols (> rows 0) (> cols 0))
|
||||
(values cols rows))))))
|
||||
(ignore-errors
|
||||
(let* ((+tiocgwinsz+ 21523)
|
||||
(winsize (sb-alien:make-alien sb-alien:unsigned-short 4)))
|
||||
(unwind-protect
|
||||
(progn
|
||||
(sb-unix:unix-ioctl (sb-sys:fd-stream-fd
|
||||
(backend-output-stream b))
|
||||
+tiocgwinsz+
|
||||
(sb-alien:alien-sap winsize))
|
||||
(values (sb-alien:deref winsize 1)
|
||||
(sb-alien:deref winsize 0)))
|
||||
(sb-alien:free-alien winsize))))
|
||||
(when (and cols rows (> cols 0) (> rows 0))
|
||||
(values cols rows)))
|
||||
(ignore-errors
|
||||
(let ((tty-fd (sb-unix:unix-open "/dev/tty" 0 0))) ; O_RDONLY
|
||||
(when (and tty-fd (numberp tty-fd) (> tty-fd 0))
|
||||
|
||||
Reference in New Issue
Block a user