On Tue, Oct 11, 2005 at 08:47:08PM +0300, Alexander Gattin wrote: > > No, there's only 1 BTW very common issue which does not > need any fixing IMNSHO. > > Interactive operation works, cmdline operation works. > What else? Nobody promised operating in semi- or > improperly emulated interactive modes (proper > emulation is achieved with expect, python-expect, > libexpect-perl or alike).
I don't understand why you mention expect. This program is intended to solve more complex problems than this one. > I personally (we all?) didn't see any patch from you, It's in the bug log. But it's just a one-liner based on the code lines you quoted, so it's not really worth searching for it.. > although, well, today _I_ am actually experimenting > with shadow hacked with my own patches which among > others include a workaround for this issue you suffer > from. That's nice to hear. > But this insertion of fflush() here and there without > any defined plan etc. is just chaotic patching/fixing, > it won't resolve the conceptual issues -- and even with > "shadow" patched to its furthest limits, you would > still require to use smth. expect-like for your > purposes, becaue there are still awk/grep/sed (*) and > other old good :/ Unix utils besides shadow suite... These utilities are general purpose and not specificaly intended to obtain input from the user. In case a script invokes them with this purpose, it is the responsability of such script to ensure that question prompts are flushed out before reading from stdin is attempted. > (*) http://suxx.kak-sam.to/awkgrep.jpg Heh, funny. -- Robert Millan
--- shadow-4.0.12.old/libmisc/fields.c 2005-06-14 22:27:35.000000000 +0200 +++ shadow-4.0.12/libmisc/fields.c 2005-10-11 07:58:57.000000000 +0200 @@ -71,6 +71,7 @@ maxsize = sizeof (newf); printf ("\t%s [%s]: ", prompt, buf); + fflush (stdout); if (fgets (newf, maxsize, stdin) != newf) return;