[Python-checkins] python/dist/src/Objects unicodectype.c,2.12,2.13
loewis@users.sourceforge.net
loewis@users.sourceforge.net
Fri, 18 Oct 2002 09:40:39 -0700
Update of /cvsroot/python/python/dist/src/Objects
In directory usw-pr-cvs1:/tmp/cvs-serv21136/Objects
Modified Files:
unicodectype.c
Log Message:
Make lower/upper/title work for non-BMP characters.
Index: unicodectype.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/unicodectype.c,v
retrieving revision 2.12
retrieving revision 2.13
diff -C2 -d -r2.12 -r2.13
*** unicodectype.c 18 Oct 2002 16:11:53 -0000 2.12
--- unicodectype.c 18 Oct 2002 16:40:36 -0000 2.13
***************
*** 63,78 ****
{
const _PyUnicode_TypeRecord *ctype = gettyperecord(ch);
if (ctype->title)
! ch += ctype->title;
else
! ch += ctype->upper;
! #ifdef Py_UNICODE_WIDE
! /* The database assumes that the values wrap around at 0x10000. */
! if (ch > 0x10000)
! ch -= 0x10000;
! #endif
! return ch;
}
--- 63,77 ----
{
const _PyUnicode_TypeRecord *ctype = gettyperecord(ch);
+ int delta;
if (ctype->title)
! delta = ctype->title;
else
! delta = ctype->upper;
! if (delta >= 32768)
! delta -= 65536;
!
! return ch + delta;
}
***************
*** 359,370 ****
{
const _PyUnicode_TypeRecord *ctype = gettyperecord(ch);
!
! ch += ctype->upper;
! #ifdef Py_UNICODE_WIDE
! /* The database assumes that the values wrap around at 0x10000. */
! if (ch > 0x10000)
! ch -= 0x10000;
! #endif
! return ch;
}
--- 358,365 ----
{
const _PyUnicode_TypeRecord *ctype = gettyperecord(ch);
! int delta = ctype->upper;
! if (delta >= 32768)
! delta -= 65536;
! return ch + delta;
}
***************
*** 375,386 ****
{
const _PyUnicode_TypeRecord *ctype = gettyperecord(ch);
!
! ch += ctype->lower;
! #ifdef Py_UNICODE_WIDE
! /* The database assumes that the values wrap around at 0x10000. */
! if (ch > 0x10000)
! ch -= 0x10000;
! #endif
! return ch;
}
--- 370,377 ----
{
const _PyUnicode_TypeRecord *ctype = gettyperecord(ch);
! int delta = ctype->lower;
! if (delta >= 32768)
! delta -= 65536;
! return ch + delta;
}