#include static unsigned char * src; #define read32u() \ (src += 4, \ (src[-4] << 24) + (src[-3] << 16) + (src[-2] << 8) + src[-1]) #define Intext_magic_number 0x8495A6BEU int check_magic() { unsigned long magic; magic = read32u(); return (magic == Intext_magic_number); } static unsigned char testdata[4] = { 0x84, 0x95, 0xA6, 0xBE }; int main() { src = testdata; if (check_magic()) printf("OK\n"); else printf("Bug\n"); return 0; }