TIOCSTI possibly broken under 8.0 ?
Pete French
petefrench at ticketswitch.com
Mon Jan 4 16:50:28 UTC 2010
TIOCSTI appears to be broken - the code attached at the bottom
works fine in 7.x but fails in 8.0. What the code is attempting to
do is to print a prompt for text input, along with an initial
value for that text which can be edited by the user. I am assuming
this is a bug, and not incorrect usage of TIOCSTI, but evven if not
it is still a regression compared to 7.x.
The reason I am intested in this is that this is the code which
is used by /usr/bin/mail to allow the headers to be edited in an
email, so this does break a very basic piece of the base system.
cheers,
-pete.
#include <stdio.h>
#include <sys/ttycom.h>
char *src = "hello world";
int
main(int argc, char *argv[])
{
char ch;
int c;
char *cp;
char x[512];
puts("Enter text: ");
fflush(stdout);
cp = src == NULL ? "" : src;
while ((c = *cp++) != '\0') {
ch = c;
ioctl(0, TIOCSTI, &ch);
}
fgets(x, 511, stdin);
printf("We got: %s\n", x);
fflush(stdout);
return 0;
}
More information about the freebsd-stable
mailing list