diff options
author | Christian Heimes <christian@cheimes.de> | 2012-10-17 21:52:17 (GMT) |
---|---|---|
committer | Christian Heimes <christian@cheimes.de> | 2012-10-17 21:52:17 (GMT) |
commit | 743e0cd6b5d59767aae2524700857f188ca1e80e (patch) | |
tree | 89897c0424a3b361e04d451e2b3a64e5c7c17756 /Python/sysmodule.c | |
parent | 1e9af84e2ef41115dd07d00b57e5a2a7041bfeed (diff) | |
download | cpython-743e0cd6b5d59767aae2524700857f188ca1e80e.zip cpython-743e0cd6b5d59767aae2524700857f188ca1e80e.tar.gz cpython-743e0cd6b5d59767aae2524700857f188ca1e80e.tar.bz2 |
Issue #16166: Add PY_LITTLE_ENDIAN and PY_BIG_ENDIAN macros and unified
endianess detection and handling.
Diffstat (limited to 'Python/sysmodule.c')
-rw-r--r-- | Python/sysmodule.c | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/Python/sysmodule.c b/Python/sysmodule.c index 20bfa55..cafbb58 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -1561,7 +1561,6 @@ PyObject * _PySys_Init(void) { PyObject *m, *v, *sysdict, *version_info; - char *s; m = PyModule_Create(&sysmodule); if (m == NULL) @@ -1638,20 +1637,14 @@ _PySys_Init(void) PyLong_FromLong(0x10FFFF)); SET_SYS_FROM_STRING("builtin_module_names", list_builtin_module_names()); - { - /* Assumes that longs are at least 2 bytes long. - Should be safe! */ - unsigned long number = 1; - char *value; - - s = (char *) &number; - if (s[0] == 0) - value = "big"; - else - value = "little"; - SET_SYS_FROM_STRING("byteorder", - PyUnicode_FromString(value)); - } +#if PY_BIG_ENDIAN + SET_SYS_FROM_STRING("byteorder", + PyUnicode_FromString("big")); +#else + SET_SYS_FROM_STRING("byteorder", + PyUnicode_FromString("little")); +#endif + #ifdef MS_COREDLL SET_SYS_FROM_STRING("dllhandle", PyLong_FromVoidPtr(PyWin_DLLhModule)); |