ems: Surely these |= assignments should be != tests?

Code has been like this since it was imported into CVS
with 65db5f4237d15d1584ec1a6a987ba21ca24f5a36

The compiler was complaining and it really seems like this
code is meant to be testing for "status not good" rather
than "if (status = status | 0)"

Maybe I'm missing something... Shouldn't make any difference
as they both eventually result in only being true if status
is non-zero.