diff options
Diffstat (limited to 'Objects/unicodeobject.c')
| -rw-r--r-- | Objects/unicodeobject.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index 18780ea4a4..9c1705d0dd 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -392,15 +392,21 @@ _PyUnicode_CheckConsistency(PyObject *op, int check_content) maxchar = ch; } if (kind == PyUnicode_1BYTE_KIND) { - if (ascii->state.ascii == 0) + if (ascii->state.ascii == 0) { assert(maxchar >= 128); + assert(maxchar <= 255); + } else assert(maxchar < 128); } - else if (kind == PyUnicode_2BYTE_KIND) + else if (kind == PyUnicode_2BYTE_KIND) { assert(maxchar >= 0x100); - else + assert(maxchar <= 0xFFFF); + } + else { assert(maxchar >= 0x10000); + assert(maxchar <= 0x10FFFF); + } } if (check_content && !unicode_is_singleton(op)) assert(ascii->hash == -1); |
