brian@ucselx.sdsu.edu (Brian Ho) (08/08/90)
I have find a bug (may not appear in other system) in the PBM software.
The bug is in the program which converts a .PCX (paint brush image format)
to a Pbm portable bitmap.
The bug (very small) appear at line 102 in program "pcxtopbm.c" which is
under /pbmplus/pbm/. The orignal code read :
if (b & 0xC0 == 0xC0)
..
..
However, some system (e.g. Sun 3/50) does not like this. It miss interpret it
as
if (b & (OxCO == 0xC0)
..
..
Therefore, I have simply put a parentesis around the '&' clause
if ((b & OxC0) == 0xC0)
..
..
and it works Great!!!!!!!
I don't if it (the bug) appears in other system.. keep me posted...
my E-mail address is
brian@yucatec.sdsu.edu
eden@cs.sdsu.edufalk@peregrine.Sun.COM (Ed Falk) (08/12/90)
In article <1990Aug7.200352.1484@ucselx.sdsu.edu> brian@ucselx.sdsu.edu (Brian Ho) writes: >I have find a bug (may not appear in other system) in the PBM software. >The bug is in the program which converts a .PCX (paint brush image format) >to a Pbm portable bitmap. > >The bug (very small) appear at line 102 in program "pcxtopbm.c" which is >under /pbmplus/pbm/. The orignal code read : > > if (b & 0xC0 == 0xC0) > .. > .. > >However, some system (e.g. Sun 3/50) does not like this. It miss interpret it >as > if (b & (OxCO == 0xC0) > .. > .. According to "The C Programmer's Handbook" by AT&T Bell Labs, this is the correct behavior. If you find a compiler that *doesn't* parse this way, contact the vendor immediately. (personally, I think this is the wrong order of precedence, but K&R defined it that way so that's the way it is.) -ed falk, sun microsystems -- sun!falk, falk@sun.com "What are politicians going to tell people when the Constitution is gone and we still have a drug problem?" -- William Simpson, A.C.L.U.