Value of 'undefined' tty characters
dce at mips.UUCP
dce at mips.UUCP
Fri Jan 16 05:16:01 AEST 1987
The 4.3BSD User's Reference Manual entry for tty(4) states that when one
of the tchars characters has a value of -1, the effect of that character
is eliminated (this is on page 14, paragraph 2 on the online manual page).
In our system (Mips M/500 running a 4.3BSD-derived Unix), the default
char type is unsigned. Because of this, the commands that need to check
for a tchars element being -1 (specifically, tset, reset, and csh) do not
work correctly by default. The only recourse has been to tell the
compiler to default to using signed characters, and this is not a
particularly nice solution.
There are three obvious solutions:
1. Change the types of the characters in <sys/ttychars.h> from
'char' to 'signed char' (the 'signed' keyword is available in
our system).
PRO - Code that compares the tchars characters with -1
will work without special compilation flags.
CON - Who knows what effect this will have on other code that
compares or sets these values?
2. Change the 'undefined' value to an unsigned value (what value is
reasonable? 255? 0?).
PRO - Removes dependency upon having signed characters.
CON - Requires changes to existing code.
3. Remove the feature of being able to have an 'undefined' value (this
is how System V seems to work).
PRO - There's no longer a problem.
CON - Commands that require this functionality no longer have it.
Any help on solving this problem would be appreciated.
David Elliott
decwrl!mips!dce
More information about the Comp.unix.questions
mailing list