The problem is possibly that bswap_32() is a macro which accesses its parameter (*ptr++) twice. That would cause *ptr++ to be incremented twice and to return the wrong value the second time.
-Bill Knight On Thu, 26 Feb 2004 21:18:39 +0100, Chris Liechti wrote: Garst R. Reese wrote: > Beware, > mmc.c:39: warning: operation on `ptr' may be undefined > is emmitted with the following code. > int32_t sum, ptr; > sum += bswap_32(*ptr++); well you never init ptr, thus the warning. add: ptr = 0; or most likely something other than zero... and without "sum = 0" at the beginning you'll probably never be happy with the result ;-) note: local vars are not initialized, unlike globals. you have to explictly assign a value. chris ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click _______________________________________________ Mspgcc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mspgcc-users
