add support for terminal size for ecl Thanks to pjb on #ecl that wrote the ffi code - clic - Clic is an command line interactive client for gopher written in Common LISP
 (HTM) git clone git://bitreich.org/clic/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/clic/
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Tags
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit ba86c5e114249375116d7d40a5b66bc2e2baa4ce
 (DIR) parent c6ebdeef05fc755afb9f9506445026dded37a077
 (HTM) Author: Solene Rapenne <solene@perso.pw>
       Date:   Sat, 11 Nov 2017 22:06:08 +0000
       
       add support for terminal size for ecl
       Thanks to pjb on #ecl that wrote the ffi code
       
       Diffstat:
         M clic.lisp                           |      14 ++++++++++----
       
       1 file changed, 10 insertions(+), 4 deletions(-)
       ---
 (DIR) diff --git a/clic.lisp b/clic.lisp
       @@ -9,7 +9,7 @@
        ;;;; SBCL only
        #+sbcl
        (progn
       -  (load-shared-object "./extension.so")
       +  (load-shared-object #p"./extension.so")
          (declaim (inline getTerminalHeight))
          (sb-alien:define-alien-routine "getTerminalHeight" unsigned-int)
          (defun c-termsize ()
       @@ -18,9 +18,15 @@
        
        #+ecl
        (progn
       -  "we don't do C binding with ecl"
       -  (defun c-termsize()
       -    40))
       +  (ffi:clines "
       +    #include <sys/ioctl.h>
       +    #include <limits.h>
       +    unsigned int getTerminalHeight()  {
       +      struct winsize w; 
       +      return ioctl(1,TIOCGWINSZ,&w)<0?UINT_MAX:w.ws_row;}")
       +  (ffi:def-function
       +      ("getTerminalHeight" c-termsize)
       +      () :returning :unsigned-int))
        ;;;; END C binding
        
        ;; structure to store links