Kaydet (Commit) 7db07e69 authored tarafından Hye-Shik Chang's avatar Hye-Shik Chang

Fix gcc 3.3 warnings related to Py_UNICODE_WIDE.

üst f1ca7f56
...@@ -36,9 +36,12 @@ gettyperecord(Py_UNICODE code) ...@@ -36,9 +36,12 @@ gettyperecord(Py_UNICODE code)
{ {
int index; int index;
#ifdef Py_UNICODE_WIDE
if (code >= 0x110000) if (code >= 0x110000)
index = 0; index = 0;
else { else
#endif
{
index = index1[(code>>SHIFT)]; index = index1[(code>>SHIFT)];
index = index2[(index<<SHIFT)+(code&((1<<SHIFT)-1))]; index = index2[(index<<SHIFT)+(code&((1<<SHIFT)-1))];
} }
......
...@@ -563,12 +563,17 @@ PyObject *PyCodec_XMLCharRefReplaceErrors(PyObject *exc) ...@@ -563,12 +563,17 @@ PyObject *PyCodec_XMLCharRefReplaceErrors(PyObject *exc)
ressize += 2+3+1; ressize += 2+3+1;
else if (*p<10000) else if (*p<10000)
ressize += 2+4+1; ressize += 2+4+1;
#ifndef Py_UNICODE_WIDE
else
ressize += 2+5+1;
#else
else if (*p<100000) else if (*p<100000)
ressize += 2+5+1; ressize += 2+5+1;
else if (*p<1000000) else if (*p<1000000)
ressize += 2+6+1; ressize += 2+6+1;
else else
ressize += 2+7+1; ressize += 2+7+1;
#endif
} }
/* allocate replacement */ /* allocate replacement */
res = PyUnicode_FromUnicode(NULL, ressize); res = PyUnicode_FromUnicode(NULL, ressize);
...@@ -600,6 +605,12 @@ PyObject *PyCodec_XMLCharRefReplaceErrors(PyObject *exc) ...@@ -600,6 +605,12 @@ PyObject *PyCodec_XMLCharRefReplaceErrors(PyObject *exc)
digits = 4; digits = 4;
base = 1000; base = 1000;
} }
#ifndef Py_UNICODE_WIDE
else {
digits = 5;
base = 10000;
}
#else
else if (*p<100000) { else if (*p<100000) {
digits = 5; digits = 5;
base = 10000; base = 10000;
...@@ -612,6 +623,7 @@ PyObject *PyCodec_XMLCharRefReplaceErrors(PyObject *exc) ...@@ -612,6 +623,7 @@ PyObject *PyCodec_XMLCharRefReplaceErrors(PyObject *exc)
digits = 7; digits = 7;
base = 1000000; base = 1000000;
} }
#endif
while (digits-->0) { while (digits-->0) {
*outp++ = '0' + c/base; *outp++ = '0' + c/base;
c %= base; c %= base;
...@@ -655,9 +667,12 @@ PyObject *PyCodec_BackslashReplaceErrors(PyObject *exc) ...@@ -655,9 +667,12 @@ PyObject *PyCodec_BackslashReplaceErrors(PyObject *exc)
return NULL; return NULL;
startp = PyUnicode_AS_UNICODE(object); startp = PyUnicode_AS_UNICODE(object);
for (p = startp+start, ressize = 0; p < startp+end; ++p) { for (p = startp+start, ressize = 0; p < startp+end; ++p) {
#ifdef Py_UNICODE_WIDE
if (*p >= 0x00010000) if (*p >= 0x00010000)
ressize += 1+1+8; ressize += 1+1+8;
else if (*p >= 0x100) { else
#endif
if (*p >= 0x100) {
ressize += 1+1+4; ressize += 1+1+4;
} }
else else
...@@ -670,6 +685,7 @@ PyObject *PyCodec_BackslashReplaceErrors(PyObject *exc) ...@@ -670,6 +685,7 @@ PyObject *PyCodec_BackslashReplaceErrors(PyObject *exc)
p < startp+end; ++p) { p < startp+end; ++p) {
Py_UNICODE c = *p; Py_UNICODE c = *p;
*outp++ = '\\'; *outp++ = '\\';
#ifdef Py_UNICODE_WIDE
if (c >= 0x00010000) { if (c >= 0x00010000) {
*outp++ = 'U'; *outp++ = 'U';
*outp++ = hexdigits[(c>>28)&0xf]; *outp++ = hexdigits[(c>>28)&0xf];
...@@ -679,7 +695,9 @@ PyObject *PyCodec_BackslashReplaceErrors(PyObject *exc) ...@@ -679,7 +695,9 @@ PyObject *PyCodec_BackslashReplaceErrors(PyObject *exc)
*outp++ = hexdigits[(c>>12)&0xf]; *outp++ = hexdigits[(c>>12)&0xf];
*outp++ = hexdigits[(c>>8)&0xf]; *outp++ = hexdigits[(c>>8)&0xf];
} }
else if (c >= 0x100) { else
#endif
if (c >= 0x100) {
*outp++ = 'u'; *outp++ = 'u';
*outp++ = hexdigits[(c>>12)&0xf]; *outp++ = hexdigits[(c>>12)&0xf];
*outp++ = hexdigits[(c>>8)&0xf]; *outp++ = hexdigits[(c>>8)&0xf];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment