lee@sq.sq.com (Liam R. E. Quin) (08/23/90)
X11 R4 xterm has a -S option that takes the last two characters of a
terminal name ("p3" for /dev/ttyp3, for example) and the number of
a file descriptor, so you can do
xterm -Sp312
to read from file descriptor 12 on /dev/ttyp3.
It works unless the file descriptor is zero, in which case the test in
the code seems to be incorrect.
Here is a (totally unofficial and not tested) patch. I don't seem to
be able to recompile xterm without remaking all of the libraries, or
spending hours hacking the makefile to use -lX11 instead of ../../lib/X/X11
and so on, sorry.
In any case it seems better to test the return value of sscanf() in the
following code.
Lee
Directory: /usr/src/x/mit/clients/xterm
*** main.c.orig Wed Aug 22 16:09:47 1990
--- main.c Wed Aug 22 16:13:11 1990
***************
*** 722,730 ****
#endif /* TIOCCONS */
continue;
case 'S':
! sscanf(*argv + 2, "%c%c%d", passedPty, passedPty+1,
! &am_slave);
! if (am_slave <= 0) Syntax(*argv);
continue;
#ifdef DEBUG
case 'D':
--- 722,731 ----
#endif /* TIOCCONS */
continue;
case 'S':
! if (sscanf(*argv + 2, "%c%c%d", passedPty, passedPty+1,
! &am_slave) != 3) {
! Syntax(*argv);
! }
continue;
#ifdef DEBUG
case 'D':
--
Liam R. E. Quin, lee@sq.com, {utai,utzoo}!sq!lee, SoftQuad Inc., Toronto
Nicholas: [...] The best/ Thing we can do is to make wherever we're lost in
Look as much like home as we can. [Christopher Fry, The Lady's Not For Burning]arne@rrzbu.hanse.de (Arne Ludwig) (09/03/90)
lee@sq.sq.com (Liam R. E. Quin) writes: >Here is a (totally unofficial and not tested) patch. I don't seem to >be able to recompile xterm without remaking all of the libraries, or >spending hours hacking the makefile to use -lX11 instead of ../../lib/X/X11 >and so on, sorry. Use xmkmf. Or alternatively imake -DUseInstalled -I<local-config> >In any case it seems better to test the return value of sscanf() in the >following code. This is a bad idea. Berkeley sscanf returned "char *" instead of "int", causing your patch to fail on many systems. -- Arne Ludwig arne@rrzbu.hanse.de ...uunet!??????!rrzbu!arne