diff options
Diffstat (limited to 'src/endian_check.cpp')
-rw-r--r-- | src/endian_check.cpp | 54 |
1 files changed, 25 insertions, 29 deletions
diff --git a/src/endian_check.cpp b/src/endian_check.cpp index 9c6fe7125..27769aa54 100644 --- a/src/endian_check.cpp +++ b/src/endian_check.cpp @@ -12,45 +12,41 @@ #include <stdio.h> #include <string.h> -/** Main call of the endian_check program +/** + * Main call of the endian_check program * @param argc argument count * @param argv arguments themselves - * @return exit code */ -int main (int argc, char *argv[]) { - unsigned char EndianTest[2] = { 1, 0 }; + * @return exit code + */ +int main (int argc, char *argv[]) +{ + unsigned char endian_test[2] = { 1, 0 }; int force_BE = 0, force_LE = 0, force_PREPROCESSOR = 0; - if (argc > 1 && strcmp(argv[1], "BE") == 0) - force_BE = 1; - if (argc > 1 && strcmp(argv[1], "LE") == 0) - force_LE = 1; - if (argc > 1 && strcmp(argv[1], "PREPROCESSOR") == 0) - force_PREPROCESSOR = 1; + if (argc > 1 && strcmp(argv[1], "BE") == 0) force_BE = 1; + if (argc > 1 && strcmp(argv[1], "LE") == 0) force_LE = 1; + if (argc > 1 && strcmp(argv[1], "PREPROCESSOR") == 0) force_PREPROCESSOR = 1; printf("#ifndef ENDIAN_H\n#define ENDIAN_H\n"); if (force_LE == 1) { printf("#define TTD_LITTLE_ENDIAN\n"); + } else if (force_BE == 1) { + printf("#define TTD_BIG_ENDIAN\n"); + } else if (force_PREPROCESSOR == 1) { + /* Support for universal binaries on OSX + * Universal binaries supports both PPC and x86 + * If a compiler for OSX gets this setting, it will always pick the correct endian and no test is needed + */ + printf("#ifdef __BIG_ENDIAN__\n"); + printf("#define TTD_BIG_ENDIAN\n"); + printf("#else\n"); + printf("#define TTD_LITTLE_ENDIAN\n"); + printf("#endif\n"); + } else if (*(short*)endian_test == 1 ) { + printf("#define TTD_LITTLE_ENDIAN\n"); } else { - if (force_BE == 1) { - printf("#define TTD_BIG_ENDIAN\n"); - } else { - if (force_PREPROCESSOR == 1) { - /** adding support for universal binaries on OSX - * Universal binaries supports both PPC and x86 - * If a compiler for OSX gets this setting, it will always pick the correct endian and no test is needed */ - printf("#ifdef __BIG_ENDIAN__\n"); - printf("#define TTD_BIG_ENDIAN\n"); - printf("#else\n"); - printf("#define TTD_LITTLE_ENDIAN\n"); - printf("#endif\n"); - } else { - if ( *(short *) EndianTest == 1 ) - printf("#define TTD_LITTLE_ENDIAN\n"); - else - printf("#define TTD_BIG_ENDIAN\n"); - } - } + printf("#define TTD_BIG_ENDIAN\n"); } printf("#endif\n"); |