mirror of
https://github.com/python/cpython.git
synced 2025-11-03 03:22:27 +00:00
Use 'ISO8859-1' instead of 'ASCII' when testing whether byteswapping
is required for the chosen internal encoding in the init function, as this seems to have a better chance of working under Irix and Solaris. Also change the test character from '\x01' to '0'. This might fix SF bug #690309.
This commit is contained in:
parent
14821c5914
commit
e9b851a5e9
1 changed files with 5 additions and 5 deletions
|
|
@ -663,7 +663,7 @@ init_iconv_codec(void)
|
||||||
{
|
{
|
||||||
PyObject *m;
|
PyObject *m;
|
||||||
|
|
||||||
char in = 1;
|
char in = '0';
|
||||||
char *inptr = ∈
|
char *inptr = ∈
|
||||||
size_t insize = 1;
|
size_t insize = 1;
|
||||||
Py_UNICODE out = 0;
|
Py_UNICODE out = 0;
|
||||||
|
|
@ -671,7 +671,7 @@ init_iconv_codec(void)
|
||||||
size_t outsize = sizeof(out);
|
size_t outsize = sizeof(out);
|
||||||
size_t res;
|
size_t res;
|
||||||
|
|
||||||
iconv_t hdl = iconv_open(UNICODE_ENCODING, "ASCII");
|
iconv_t hdl = iconv_open(UNICODE_ENCODING, "ISO8859-1");
|
||||||
|
|
||||||
if (hdl == (iconv_t)-1) {
|
if (hdl == (iconv_t)-1) {
|
||||||
PyErr_SetString(PyExc_RuntimeError,
|
PyErr_SetString(PyExc_RuntimeError,
|
||||||
|
|
@ -688,12 +688,12 @@ init_iconv_codec(void)
|
||||||
|
|
||||||
/* Check whether conv() returned native endianess or not for the chosen
|
/* Check whether conv() returned native endianess or not for the chosen
|
||||||
encoding */
|
encoding */
|
||||||
if (out == 0x1)
|
if (out == 0x30)
|
||||||
byteswap = 0;
|
byteswap = 0;
|
||||||
#if Py_UNICODE_SIZE == 2
|
#if Py_UNICODE_SIZE == 2
|
||||||
else if (out == 0x0100)
|
else if (out == 0x3000)
|
||||||
#else
|
#else
|
||||||
else if (out == 0x01000000)
|
else if (out == 0x30000000)
|
||||||
#endif
|
#endif
|
||||||
byteswap = 1;
|
byteswap = 1;
|
||||||
else {
|
else {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue