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




Reply via email to