A user in the cygwin mailing list noted a problem with popen in that it
doesn't accept the 'b' or 't' qualifiers in the type argument. newlib's
__sflags() allows the 'b' option regardless of target and the 't' option
under cygwin so it seems like popen() should accept something similar.
However, SuSv3 says that only "r" and "w" are correct arguments for
popen. I don't see why popen should be different than fopen but I have
checked in the below cygwin-only change which is compliant with this
standard.
If the consensus is that popen should unconditionally accept the 'b'
option as fopen currently does, then I'll be happy to make that change.