mirror of
https://github.com/python/cpython.git
synced 2025-07-07 19:35:27 +00:00
bpo-42157: unicodedata avoids references to UCD_Type (GH-22990)
* UCD_Check() uses PyModule_Check() * Simplify the internal _PyUnicode_Name_CAPI structure: * Remove size and state members * Remove state and self parameters of getcode() and getname() functions * Remove global_module_state
This commit is contained in:
parent
8374d2ee15
commit
920cb647ba
7 changed files with 129 additions and 139 deletions
|
@ -987,8 +987,7 @@ PyObject *PyCodec_NameReplaceErrors(PyObject *exc)
|
|||
for (i = start, ressize = 0; i < end; ++i) {
|
||||
/* object is guaranteed to be "ready" */
|
||||
c = PyUnicode_READ_CHAR(object, i);
|
||||
if (ucnhash_capi->getname(ucnhash_capi->state, NULL,
|
||||
c, buffer, sizeof(buffer), 1)) {
|
||||
if (ucnhash_capi->getname(c, buffer, sizeof(buffer), 1)) {
|
||||
replsize = 1+1+1+(int)strlen(buffer)+1;
|
||||
}
|
||||
else if (c >= 0x10000) {
|
||||
|
@ -1011,8 +1010,7 @@ PyObject *PyCodec_NameReplaceErrors(PyObject *exc)
|
|||
i < end; ++i) {
|
||||
c = PyUnicode_READ_CHAR(object, i);
|
||||
*outp++ = '\\';
|
||||
if (ucnhash_capi->getname(ucnhash_capi->state, NULL,
|
||||
c, buffer, sizeof(buffer), 1)) {
|
||||
if (ucnhash_capi->getname(c, buffer, sizeof(buffer), 1)) {
|
||||
*outp++ = 'N';
|
||||
*outp++ = '{';
|
||||
strcpy((char *)outp, buffer);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue