Date: Thu, 4 Sep 1997 20:42:34 +0300 (IDT) From: Eli Zaretskii To: Oberhumer Markus cc: djgpp-workers Subject: Re: stdin + binmode (yet another one ;-) In-Reply-To: <199709032209.SAA03594@delorie.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Precedence: bulk On Thu, 4 Sep 1997, Oberhumer Markus wrote: I'm not saying I oppose your suggestion too strongly, but let me just be the Devil's advocate here, so this issue doesn't look too one-sided, OK? > - Borland's, Microsoft's and Watcom's setmode don't do it (just checked), > so it's an incompatibility anyway These are hardly a model for imitation. At least Borland doesn't even switch the device to raw mode, so you can't have true binary reads from the console (e.g., read a single character with a call to `read' library functions, or anything else that calls a DOS function). > - Disabling Ctrl-C ought to be done via the termios stuff, > so it's a bad design Don't forget that termios is with us only beginning with last 2.01 beta releases, and it is incomplete, whereas the Ctrl-C disable was there in v2 from day one. You will need to convert all programs that want to see Ctrl-C to termios before you could remove that. OTOH, nothing prevents you from using termios right now instead of setmode, if you don't want the (mis)feature of the latter. Whoever uses the setmode method should read the docs carefully and understand what they are doing. > - Having to reboot your computer is EVIL ;-) Don't set stdin to binary unless you know the perils ;-). But seriously, setting a device to binary mode means you want true binary reads, i.e. each character needs to get into the buffer verbatim. It is incorrect IMHO to have stdin in binary mode with a caveat that Ctrl-C character cannot be read; it is much worse if Ctrl-C will abort the program that is reading its input!