woody@tybalt.caltech.edu (William Edward Woody) (05/01/88)
I think I've found a bug in MPW C v2.0.2. Can others out there verify if this is a problem? The bug: In the expression: screen->h = (page->h) >> p2wscale + xOffset; where the variables above are: Point *screen,*page; short p2wscale,xOffset; If p2wscale == 0, the value of screen->h is set to xOffset; the expression (page->h) >> p2wscale evaluates to 0, even when page->h is not zero. Shouldn't screen->h evaluate to page->h + xOffset when p2wscale is zero? Has others noticed this problem? Please respond directly to me, as I sometimes don't read this net too closely, and responces can sometimes slip through. - William Edward Woody woody@tybalt.caltech.edu (Mac>][n&&/|\)&&(MacII>AT) Disclamer: I haven't the foggiest idea what I'm talking about...
kaufman@polya.STANFORD.EDU (Marc T. Kaufman) (05/01/88)
In article <6330@cit-vax.Caltech.Edu> woody@tybalt.caltech.edu (William Edward Woody) writes: >I think I've found a bug in MPW C v2.0.2. Can others out there >verify if this is a problem? >The bug: > In the expression: > screen->h = (page->h) >> p2wscale + xOffset; According to the C standard (and, indeed, according to the compiler), this expression is evaluated as: screen->h = (page->h) >> (p2wscale + xOffset); since '+' has a higher precedence than '>>'