From 183eae9096ed346f2649bdb32cf75dc7c0b5851b Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Thu, 14 Jun 2001 19:22:55 +0000 Subject: [PATCH] Multiple *ptr++ constructs in one expression have undefined behaviour, moved them out of the expression. --- objects/dib.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/objects/dib.c b/objects/dib.c index 632d8a52f6e..6aaa51ba8f9 100644 --- a/objects/dib.c +++ b/objects/dib.c @@ -559,10 +559,11 @@ INT WINAPI GetDIBits( LPBYTE srcbits = sbits; for( y = 0; y < lines; y++) { - for( x = 0; x < srcwidth; x++ ) - *dstbits++ = ((*srcbits++ >> 3) & bmask) | - (((WORD)*srcbits++ << 2) & gmask) | - (((WORD)*srcbits++ << 7) & rmask); + for( x = 0; x < srcwidth; x++, srcbits += 3) + *dstbits++ = ((srcbits[0] >> 3) & bmask) | + (((WORD)srcbits[1] << 2) & gmask) | + (((WORD)srcbits[2] << 7) & rmask); + dstbits = (LPWORD)(dbits+=dstwidthb); srcbits = (sbits += srcwidthb); }