* Author: S. Piccardi
* May. 2003
*
- * $Id: endian.c,v 1.1 2003/06/01 21:41:28 piccardi Exp $
- *
***************************************************************/
-#include <stdio.h>
-int main(int argc, char *argv[])
+int endian(void)
{
/*
* Variables definition
*/
- int i, val;
- char buf[sizeof(int)];
- char * char_ptr;
- int * int_ptr;
+ short magic, test;
+ char * ptr;
- val = 0xABCDEF01; /* endianess magic number */
- int_ptr = (int *) buf;
- *int_ptr = val;
- char_ptr = (char *) &val;
- for (i=0; i<sizeof(int); i++) {
- char_ptr[i] = buf[i];
- }
- printf("Value %x\n", val);
- return 0;
+ magic = 0xABCD; /* endianess magic number */
+ ptr = (char *) &magic;
+ test = (ptr[1]<<8) + (ptr[0]&0xFF); /* build value byte by byte */
+ return (magic == test); /* if the same is little endian */
}