On Tue, Mar 27, 2012 at 08:56:56PM +0200, Matt Peterson wrote: > On Tuesday, 27 March 2012 at 15:14:07 UTC, Andrei Alexandrescu > wrote: [...] > >You're in a sparse minority at best. Every Unix application out there > >uses Ctrl-D for end-of-console-input, and your users would be > >surprised by your exotic use of it. > > > >Why not pick any other character for end of chunk - double newline, > >Ctrl-S, pretty much anything but Ctrl-D? It's a waste of your time to > >fight a long-established standard. [...] > > GDB handles Ctrl-D differently. It doesn't close the input on the > first one, it waits for the second one and then exits. After the first > one it acts like you typed 'quit', which asks you if you really want > to quit when there's a program still running.
That's because gdb uses libreadline (or something along those lines) with cbreak, so it can intercept control characters without them getting interpreted by the terminal. This requires manual control of terminal functions, which is something outside the scope of readf(). (You'd be better off writing your own terminal handling from scratch, if that's what you want.) T -- This is a tpyo.