From: Stuart C. <ky...@4u...> - 2003-03-03 00:36:48
|
Daniel Caujolle-Bert wrote: > XINE_ASSERT((int)ptr % align == 0, "Improper pointer alignment."); > > and % will simply crash the printf() call (bswap.h for the one who > want to check. Just on this subject, x % y shouldn't crash anything unless y is 0. Converting ptr to an int shouldn't try and dereference it. To be safer, perhaps you should use: XINE_ASSERT(((int)ptr & alignbits) == 0, "Improper pointer alignment."); where alignbits = 0x03 for testing 4-byte alignment = 0x07 for testing 8-byte alignment = 0x0F for testing 16-byte alignment, and so on Regards Stuart |