You might prefer to use the setlinebuf call.
setlinebuf(stdout);
This makes all printf's to stdout flush whenever a \n is encountered, makes the code a little nicer and covers your butt if you forget somewhere to use fflush.
Thanks. I may or may not end up doing this but I appreciate learning all my options.
One of the applications I have in mind is a metaengine into which you can plug an engine like GNU Go and get another engine that's stronger and slower because it does limited full board search through the GTP. I'm past the point where I was stuck in the pipes thanks to David Denholm.
So we'll see if the experiment works ...
Dan