Date: Mon, 4 Jan 2010 09:33:38 -0800 From: Jeremy Chadwick <freebsd@jdc.parodius.com> To: freebsd-stable@freebsd.org Cc: Ed Schouten <ed@80386.nl> Subject: Re: TIOCSTI possibly broken under 8.0 ? Message-ID: <20100104173338.GA75363@icarus.home.lan> In-Reply-To: <E1NRq8Q-0000aC-Sa@dilbert.ticketswitch.com> References: <E1NRq8Q-0000aC-Sa@dilbert.ticketswitch.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jan 04, 2010 at 04:50:26PM +0000, Pete French wrote:
> 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;
> }
Adding Ed Schouten to the thread, who will probably be able to shed
some light on things. :-)
--
| Jeremy Chadwick jdc@parodius.com |
| Parodius Networking http://www.parodius.com/ |
| UNIX Systems Administrator Mountain View, CA, USA |
| Making life hard for others since 1977. PGP: 4BD6C0CB |
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100104173338.GA75363>
