Update of /cvsroot/python/python/dist/src/Python In directory usw-pr-cvs1:/tmp/cvs-serv32278/Python Modified Files: Tag: release22-maint bltinmodule.c Log Message: Backport: 2002/08/11 12:23:04 lemburg Python/bltinmodule.c 2.262 2002/08/11 12:23:04 lemburg Objects/unicodeobject.c 2.162 2002/08/11 12:23:03 lemburg Misc/NEWS 1.461 2002/08/11 12:23:03 lemburg Lib/test/test_unicode.py 1.65 2002/08/11 12:23:03 lemburg Include/unicodeobject.h 2.39 Add C API PyUnicode_FromOrdinal() which exposes unichr() at C level. u'%c' will now raise a ValueError in case the argument is an integer outside the valid range of Unicode code point ordinals. Closes SF bug #593581. Index: bltinmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Python/bltinmodule.c,v retrieving revision 2.246.4.5 retrieving revision 2.246.4.6 diff -C2 -d -r2.246.4.5 -r2.246.4.6 *** bltinmodule.c 24 Sep 2002 11:23:05 -0000 2.246.4.5 --- bltinmodule.c 7 Oct 2002 12:32:57 -0000 2.246.4.6 *************** *** 302,343 **** { long x; - Py_UNICODE s[2]; if (!PyArg_ParseTuple(args, "l:unichr", &x)) return NULL; ! #ifdef Py_UNICODE_WIDE ! if (x < 0 || x > 0x10ffff) { ! PyErr_SetString(PyExc_ValueError, ! "unichr() arg not in range(0x110000) " ! "(wide Python build)"); ! return NULL; ! } ! #else ! if (x < 0 || x > 0xffff) { ! PyErr_SetString(PyExc_ValueError, ! "unichr() arg not in range(0x10000) " ! "(narrow Python build)"); ! return NULL; ! } ! #endif ! ! if (x <= 0xffff) { ! /* UCS-2 character */ ! s[0] = (Py_UNICODE) x; ! return PyUnicode_FromUnicode(s, 1); ! } ! else { ! #ifndef Py_UNICODE_WIDE ! /* UCS-4 character. store as two surrogate characters */ ! x -= 0x10000L; ! s[0] = 0xD800 + (Py_UNICODE) (x >> 10); ! s[1] = 0xDC00 + (Py_UNICODE) (x & 0x03FF); ! return PyUnicode_FromUnicode(s, 2); ! #else ! s[0] = (Py_UNICODE)x; ! return PyUnicode_FromUnicode(s, 1); ! #endif ! } } --- 302,310 ---- { long x; if (!PyArg_ParseTuple(args, "l:unichr", &x)) return NULL; ! return PyUnicode_FromOrdinal(x); }
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4