38d96942 missed a side-effect in PerlIO_open flags parsing.
The mode++ was essential in allowing 'rb' for the PerlIO_open() flags.
Without the mode++ the 'b' was left unprocessed and this caused
the oflags to become bogus.
Compress::Bzip2 caught this: https://rt.perl.org/Ticket/Display.html?id=122012
(also Unicode::Map8, Text::Scan, and otehrs)
While doing this, realized that for the "O_BINARY versus O_TEXT" it's
probably the clearest to test for the non-zero-ness of those two flags.
(Is there any "unit testing" of PerlIO? In this case it would be:
PerlIO_open -> PerlIO_openn -> PerlIOBuf_open -> PerlIOUnix_open ->
PerlIOUnix_oflags with mode of "rb")