Advertisement
Guest User

Untitled

a guest
Feb 18th, 2020
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. static PyObject *
  2. unicodedata_UCD_script_extensions_impl(PyObject *self, int chr)
  3. /*[clinic end generated code: output=5f72d9e14acbb33b input=e50b55edf9630a73]*/
  4. {
  5. int index;
  6. Py_UCS4 c = (Py_UCS4)chr;
  7. index = (int) _getpropset_ex(c)->script_extensions;
  8. if (self && UCD_Check(self)) {
  9. const change_record *old = get_old_record(self, c);
  10. if (old->category_changed == 0)
  11. index = 0; /* unassigned */
  12. else if (old->script_extensions_changed != 0xFF)
  13. index = old->script_extensions_changed;
  14. }
  15. PyObject *scriptex_string = PyUnicode_FromString(_PyUnicode_ScriptExtensionsSets[index]);
  16. if (scriptex_string == NULL)
  17. goto err;
  18. PyObject *divider = PyUnicode_FromString(" ");
  19. if (divider == NULL)
  20. goto err;
  21. PyObject *se_list = PyUnicode_Split(scriptex_string, divider, -1);
  22. // if (se_list == NULL)
  23. // goto err;
  24. Py_DECREF(scriptex_string);
  25. Py_DECREF(divider);
  26. // PyObject *result = PySet_New(se_list);
  27. // Py_DECREF(se_list);
  28. return se_list;
  29.  
  30. err:
  31. Py_XDECREF(scriptex_string);
  32. Py_XDECREF(divider);
  33. Py_XDECREF(se_list);
  34. return NULL;
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement