byteorder.c 426 B

12345678910111213141516171819202122232425
  1. #include "unp.h"
  2. int
  3. main(int argc, char **argv)
  4. {
  5. union {
  6. short s;
  7. char c[sizeof(short)];
  8. } un;
  9. un.s = 0x0102;
  10. printf("%s: ", CPU_VENDOR_OS);
  11. if (sizeof(short) == 2) {
  12. if (un.c[0] == 1 && un.c[1] == 2)
  13. printf("big-endian\n");
  14. else if (un.c[0] == 2 && un.c[1] == 1)
  15. printf("little-endian\n");
  16. else
  17. printf("unknown\n");
  18. } else
  19. printf("sizeof(short) = %d\n", sizeof(short));
  20. exit(0);
  21. }