summaryrefslogtreecommitdiff
path: root/Objects/unicodectype.c
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2008-09-10 14:08:48 +0000
committerMartin v. Löwis <martin@v.loewis.de>2008-09-10 14:08:48 +0000
commit93cbca33f2ab8dd8ed0f8582d94ed1a65fd137a4 (patch)
treebdd0c8f060a25f4d264bbd0db694ec0e6f8b8eae /Objects/unicodectype.c
parent1009d391873b523232440856fe1e728c3c94caab (diff)
downloadcpython-git-93cbca33f2ab8dd8ed0f8582d94ed1a65fd137a4.tar.gz
Merged revisions 66362 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r66362 | martin.v.loewis | 2008-09-10 15:38:12 +0200 (Mi, 10 Sep 2008) | 3 lines Issue #3811: The Unicode database was updated to 5.1. Reviewed by Fredrik Lundh and Marc-Andre Lemburg. ........
Diffstat (limited to 'Objects/unicodectype.c')
-rw-r--r--Objects/unicodectype.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/Objects/unicodectype.c b/Objects/unicodectype.c
index 82ef886fba..40694c619c 100644
--- a/Objects/unicodectype.c
+++ b/Objects/unicodectype.c
@@ -22,6 +22,7 @@
#define XID_START_MASK 0x100
#define XID_CONTINUE_MASK 0x200
#define PRINTABLE_MASK 0x400
+#define NODELTA_MASK 0x800
typedef struct {
const Py_UNICODE upper;
@@ -85,6 +86,9 @@ Py_UNICODE _PyUnicode_ToTitlecase(register Py_UNICODE ch)
else
delta = ctype->upper;
+ if (ctype->flags & NODELTA_MASK)
+ return delta;
+
if (delta >= 32768)
delta -= 65536;
@@ -767,6 +771,8 @@ Py_UNICODE _PyUnicode_ToUppercase(Py_UNICODE ch)
{
const _PyUnicode_TypeRecord *ctype = gettyperecord(ch);
int delta = ctype->upper;
+ if (ctype->flags & NODELTA_MASK)
+ return delta;
if (delta >= 32768)
delta -= 65536;
return ch + delta;
@@ -779,6 +785,8 @@ Py_UNICODE _PyUnicode_ToLowercase(Py_UNICODE ch)
{
const _PyUnicode_TypeRecord *ctype = gettyperecord(ch);
int delta = ctype->lower;
+ if (ctype->flags & NODELTA_MASK)
+ return delta;
if (delta >= 32768)
delta -= 65536;
return ch + delta;