scsh-users
[Top] [All Lists]

Bug in Solaris tty-info code

To: scsh-bugs@martigny.ai.mit.edu
Subject: Bug in Solaris tty-info code
From: euler@lavielle.com (Lutz Euler)
Date: Mon, 16 Sep 1996 17:21:16 +0200
Dear scsh maintainers,

This is scsh 0.4.2 on Solaris 2.4 and 2.5, both on Sparc and Intel platforms.
Calling the function "set-tty-info/now" yields an error. Same with "/drain"
and "/flush". I am calling it with definitely legal parameters, as they
were just gotten from "tty-info". See the log:

> > (set-tty-info/now 0 (tty-info 0))
> 
> Error: 22
>        "Invalid argument"
>        #{Procedure 9744 %set-tty-info}
>        0
>        0
>        "
>        0
>        9474
>        0
>        1
>        0
>        189
>        0
>        35378
>        0
>        13
>        4
>        0
> 1>

The reason is:
The file "scsh/solaris/tty-consts.scm" defines "%set-tty-info/now" etc.
differently from the header file. I had to change it to:

(define %set-tty-info/now       21518)  ; TCSANOW   Make change immediately.
(define %set-tty-info/drain     21519)  ; TCSADRAIN Drain output, then change.
(define %set-tty-info/flush     21520)  ; TCSAFLUSH Drain output, flush input.

to make it work.

Here are the relevant parts of the header file "/usr/include/sys/termios.h":

#pragma ident   "@(#)termios.h  1.23    93/12/15 SMI"   /* SVr4.0 1.31  */
[...] 
#define _TIOC   ('T'<<8)
[...] 
#define TCSANOW         (_TIOC|14) /* same as TCSETS */
[...]
#define TCSADRAIN       (_TIOC|15) /* same as TCSETSW */
[...]
#define TCSAFLUSH       (_TIOC|16) /* same as TCSETSF */
[...]

I hope this can be fixed portably in the next version.
Thank you for the work on scsh!

Yours

Lutz Euler
-- 
Lavielle EDV Systemberatung GmbH & Co.
Lotharstrasse 2b, D-22041 Hamburg, Germany
Tel.:  ++49 40 / 65 80 88
Fax:   ++49 40 / 65 808-202
EMail: euler@lavielle.com

<Prev in Thread] Current Thread [Next in Thread>
  • Bug in Solaris tty-info code, Lutz Euler <=