Shawn Walker wrote:
On 31/10/2007, Nikolay Molchanov <[EMAIL PROTECTED]> wrote:
I'm not suggesting to change stdio, I'm suggesting to change pkgrm code to use
"read(0, buf, 1);"
in loop to read 1 byte from standard input until the end of line or EOF happens.
Basically it is the same loop as it uses to write its questions:

12580:    write(2, " D", 1)                = 1
12580:    write(2, " o", 1)                = 1
12580:    write(2, "  ", 1)                = 1
12580:    write(2, " y", 1)                = 1
12580:    write(2, " o", 1)                = 1
12580:    write(2, " u", 1)                = 1
12580:    write(2, "  ", 1)                = 1
...

In this case it will leave the pointer in the input file at the beginning of 
next line,
so the child process will read from this point.

That seems like a lot of hackery for little benefit.


There is no "hackery". What do you mean "hackery", reading one byte? Why writing
one byte is not a "hackery"?

And the benefits for the users are obvious: the existing behavior is buggy and simply
unusable in non-interactive mode, because it misses the replies.
If all replies are "y", command /bin/yes can solve this problem. If some replies should
be "n" - there is no solution.

Thanks,
Nik


_______________________________________________
opensolaris-discuss mailing list
[email protected]

Reply via email to