SF #859573: Reduce compiler warnings on gcc 3.2 and above.

This commit is contained in:
Hye-Shik Chang 2003-12-19 01:59:56 +00:00
parent 8d2e08dcdf
commit 4a264fb054
1 changed files with 14 additions and 1 deletions

View File

@ -1556,7 +1556,11 @@ PyUnicode_EncodeUTF16(const Py_UNICODE *s,
{ {
PyObject *v; PyObject *v;
unsigned char *p; unsigned char *p;
#ifdef Py_UNICODE_WIDE
int i, pairs; int i, pairs;
#else
const int pairs = 0;
#endif
/* Offsets from p for storing byte pairs in the right order. */ /* Offsets from p for storing byte pairs in the right order. */
#ifdef BYTEORDER_IS_LITTLE_ENDIAN #ifdef BYTEORDER_IS_LITTLE_ENDIAN
int ihi = 1, ilo = 0; int ihi = 1, ilo = 0;
@ -1571,9 +1575,11 @@ PyUnicode_EncodeUTF16(const Py_UNICODE *s,
p += 2; \ p += 2; \
} while(0) } while(0)
#ifdef Py_UNICODE_WIDE
for (i = pairs = 0; i < size; i++) for (i = pairs = 0; i < size; i++)
if (s[i] >= 0x10000) if (s[i] >= 0x10000)
pairs++; pairs++;
#endif
v = PyString_FromStringAndSize(NULL, v = PyString_FromStringAndSize(NULL,
2 * (size + pairs + (byteorder == 0))); 2 * (size + pairs + (byteorder == 0)));
if (v == NULL) if (v == NULL)
@ -1599,10 +1605,12 @@ PyUnicode_EncodeUTF16(const Py_UNICODE *s,
while (size-- > 0) { while (size-- > 0) {
Py_UNICODE ch = *s++; Py_UNICODE ch = *s++;
Py_UNICODE ch2 = 0; Py_UNICODE ch2 = 0;
#ifdef Py_UNICODE_WIDE
if (ch >= 0x10000) { if (ch >= 0x10000) {
ch2 = 0xDC00 | ((ch-0x10000) & 0x3FF); ch2 = 0xDC00 | ((ch-0x10000) & 0x3FF);
ch = 0xD800 | ((ch-0x10000) >> 10); ch = 0xD800 | ((ch-0x10000) >> 10);
} }
#endif
STORECHAR(ch); STORECHAR(ch);
if (ch2) if (ch2)
STORECHAR(ch2); STORECHAR(ch2);
@ -2203,7 +2211,7 @@ PyObject *PyUnicode_DecodeLatin1(const char *s,
Py_UNICODE *p; Py_UNICODE *p;
/* Latin-1 is equivalent to the first 256 ordinals in Unicode. */ /* Latin-1 is equivalent to the first 256 ordinals in Unicode. */
if (size == 1 && *(unsigned char*)s < 256) { if (size == 1) {
Py_UNICODE r = *(unsigned char*)s; Py_UNICODE r = *(unsigned char*)s;
return PyUnicode_FromUnicode(&r, 1); return PyUnicode_FromUnicode(&r, 1);
} }
@ -2405,6 +2413,10 @@ static PyObject *unicode_encode_ucs1(const Py_UNICODE *p,
repsize += 2+2+1; repsize += 2+2+1;
else if (*p<1000) else if (*p<1000)
repsize += 2+3+1; repsize += 2+3+1;
#ifndef Py_UNICODE_WIDE
else
repsize += 2+4+1;
#else
else if (*p<10000) else if (*p<10000)
repsize += 2+4+1; repsize += 2+4+1;
else if (*p<100000) else if (*p<100000)
@ -2413,6 +2425,7 @@ static PyObject *unicode_encode_ucs1(const Py_UNICODE *p,
repsize += 2+6+1; repsize += 2+6+1;
else else
repsize += 2+7+1; repsize += 2+7+1;
#endif
} }
requiredsize = respos+repsize+(endp-collend); requiredsize = respos+repsize+(endp-collend);
if (requiredsize > ressize) { if (requiredsize > ressize) {