17db96d56Sopenharmony_ci/*[clinic input] 27db96d56Sopenharmony_cipreserve 37db96d56Sopenharmony_ci[clinic start generated code]*/ 47db96d56Sopenharmony_ci 57db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_register__doc__, 67db96d56Sopenharmony_ci"register($module, search_function, /)\n" 77db96d56Sopenharmony_ci"--\n" 87db96d56Sopenharmony_ci"\n" 97db96d56Sopenharmony_ci"Register a codec search function.\n" 107db96d56Sopenharmony_ci"\n" 117db96d56Sopenharmony_ci"Search functions are expected to take one argument, the encoding name in\n" 127db96d56Sopenharmony_ci"all lower case letters, and either return None, or a tuple of functions\n" 137db96d56Sopenharmony_ci"(encoder, decoder, stream_reader, stream_writer) (or a CodecInfo object)."); 147db96d56Sopenharmony_ci 157db96d56Sopenharmony_ci#define _CODECS_REGISTER_METHODDEF \ 167db96d56Sopenharmony_ci {"register", (PyCFunction)_codecs_register, METH_O, _codecs_register__doc__}, 177db96d56Sopenharmony_ci 187db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_unregister__doc__, 197db96d56Sopenharmony_ci"unregister($module, search_function, /)\n" 207db96d56Sopenharmony_ci"--\n" 217db96d56Sopenharmony_ci"\n" 227db96d56Sopenharmony_ci"Unregister a codec search function and clear the registry\'s cache.\n" 237db96d56Sopenharmony_ci"\n" 247db96d56Sopenharmony_ci"If the search function is not registered, do nothing."); 257db96d56Sopenharmony_ci 267db96d56Sopenharmony_ci#define _CODECS_UNREGISTER_METHODDEF \ 277db96d56Sopenharmony_ci {"unregister", (PyCFunction)_codecs_unregister, METH_O, _codecs_unregister__doc__}, 287db96d56Sopenharmony_ci 297db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_lookup__doc__, 307db96d56Sopenharmony_ci"lookup($module, encoding, /)\n" 317db96d56Sopenharmony_ci"--\n" 327db96d56Sopenharmony_ci"\n" 337db96d56Sopenharmony_ci"Looks up a codec tuple in the Python codec registry and returns a CodecInfo object."); 347db96d56Sopenharmony_ci 357db96d56Sopenharmony_ci#define _CODECS_LOOKUP_METHODDEF \ 367db96d56Sopenharmony_ci {"lookup", (PyCFunction)_codecs_lookup, METH_O, _codecs_lookup__doc__}, 377db96d56Sopenharmony_ci 387db96d56Sopenharmony_cistatic PyObject * 397db96d56Sopenharmony_ci_codecs_lookup_impl(PyObject *module, const char *encoding); 407db96d56Sopenharmony_ci 417db96d56Sopenharmony_cistatic PyObject * 427db96d56Sopenharmony_ci_codecs_lookup(PyObject *module, PyObject *arg) 437db96d56Sopenharmony_ci{ 447db96d56Sopenharmony_ci PyObject *return_value = NULL; 457db96d56Sopenharmony_ci const char *encoding; 467db96d56Sopenharmony_ci 477db96d56Sopenharmony_ci if (!PyUnicode_Check(arg)) { 487db96d56Sopenharmony_ci _PyArg_BadArgument("lookup", "argument", "str", arg); 497db96d56Sopenharmony_ci goto exit; 507db96d56Sopenharmony_ci } 517db96d56Sopenharmony_ci Py_ssize_t encoding_length; 527db96d56Sopenharmony_ci encoding = PyUnicode_AsUTF8AndSize(arg, &encoding_length); 537db96d56Sopenharmony_ci if (encoding == NULL) { 547db96d56Sopenharmony_ci goto exit; 557db96d56Sopenharmony_ci } 567db96d56Sopenharmony_ci if (strlen(encoding) != (size_t)encoding_length) { 577db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 587db96d56Sopenharmony_ci goto exit; 597db96d56Sopenharmony_ci } 607db96d56Sopenharmony_ci return_value = _codecs_lookup_impl(module, encoding); 617db96d56Sopenharmony_ci 627db96d56Sopenharmony_ciexit: 637db96d56Sopenharmony_ci return return_value; 647db96d56Sopenharmony_ci} 657db96d56Sopenharmony_ci 667db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_encode__doc__, 677db96d56Sopenharmony_ci"encode($module, /, obj, encoding=\'utf-8\', errors=\'strict\')\n" 687db96d56Sopenharmony_ci"--\n" 697db96d56Sopenharmony_ci"\n" 707db96d56Sopenharmony_ci"Encodes obj using the codec registered for encoding.\n" 717db96d56Sopenharmony_ci"\n" 727db96d56Sopenharmony_ci"The default encoding is \'utf-8\'. errors may be given to set a\n" 737db96d56Sopenharmony_ci"different error handling scheme. Default is \'strict\' meaning that encoding\n" 747db96d56Sopenharmony_ci"errors raise a ValueError. Other possible values are \'ignore\', \'replace\'\n" 757db96d56Sopenharmony_ci"and \'backslashreplace\' as well as any other name registered with\n" 767db96d56Sopenharmony_ci"codecs.register_error that can handle ValueErrors."); 777db96d56Sopenharmony_ci 787db96d56Sopenharmony_ci#define _CODECS_ENCODE_METHODDEF \ 797db96d56Sopenharmony_ci {"encode", _PyCFunction_CAST(_codecs_encode), METH_FASTCALL|METH_KEYWORDS, _codecs_encode__doc__}, 807db96d56Sopenharmony_ci 817db96d56Sopenharmony_cistatic PyObject * 827db96d56Sopenharmony_ci_codecs_encode_impl(PyObject *module, PyObject *obj, const char *encoding, 837db96d56Sopenharmony_ci const char *errors); 847db96d56Sopenharmony_ci 857db96d56Sopenharmony_cistatic PyObject * 867db96d56Sopenharmony_ci_codecs_encode(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) 877db96d56Sopenharmony_ci{ 887db96d56Sopenharmony_ci PyObject *return_value = NULL; 897db96d56Sopenharmony_ci static const char * const _keywords[] = {"obj", "encoding", "errors", NULL}; 907db96d56Sopenharmony_ci static _PyArg_Parser _parser = {NULL, _keywords, "encode", 0}; 917db96d56Sopenharmony_ci PyObject *argsbuf[3]; 927db96d56Sopenharmony_ci Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 1; 937db96d56Sopenharmony_ci PyObject *obj; 947db96d56Sopenharmony_ci const char *encoding = NULL; 957db96d56Sopenharmony_ci const char *errors = NULL; 967db96d56Sopenharmony_ci 977db96d56Sopenharmony_ci args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 1, 3, 0, argsbuf); 987db96d56Sopenharmony_ci if (!args) { 997db96d56Sopenharmony_ci goto exit; 1007db96d56Sopenharmony_ci } 1017db96d56Sopenharmony_ci obj = args[0]; 1027db96d56Sopenharmony_ci if (!noptargs) { 1037db96d56Sopenharmony_ci goto skip_optional_pos; 1047db96d56Sopenharmony_ci } 1057db96d56Sopenharmony_ci if (args[1]) { 1067db96d56Sopenharmony_ci if (!PyUnicode_Check(args[1])) { 1077db96d56Sopenharmony_ci _PyArg_BadArgument("encode", "argument 'encoding'", "str", args[1]); 1087db96d56Sopenharmony_ci goto exit; 1097db96d56Sopenharmony_ci } 1107db96d56Sopenharmony_ci Py_ssize_t encoding_length; 1117db96d56Sopenharmony_ci encoding = PyUnicode_AsUTF8AndSize(args[1], &encoding_length); 1127db96d56Sopenharmony_ci if (encoding == NULL) { 1137db96d56Sopenharmony_ci goto exit; 1147db96d56Sopenharmony_ci } 1157db96d56Sopenharmony_ci if (strlen(encoding) != (size_t)encoding_length) { 1167db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 1177db96d56Sopenharmony_ci goto exit; 1187db96d56Sopenharmony_ci } 1197db96d56Sopenharmony_ci if (!--noptargs) { 1207db96d56Sopenharmony_ci goto skip_optional_pos; 1217db96d56Sopenharmony_ci } 1227db96d56Sopenharmony_ci } 1237db96d56Sopenharmony_ci if (!PyUnicode_Check(args[2])) { 1247db96d56Sopenharmony_ci _PyArg_BadArgument("encode", "argument 'errors'", "str", args[2]); 1257db96d56Sopenharmony_ci goto exit; 1267db96d56Sopenharmony_ci } 1277db96d56Sopenharmony_ci Py_ssize_t errors_length; 1287db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[2], &errors_length); 1297db96d56Sopenharmony_ci if (errors == NULL) { 1307db96d56Sopenharmony_ci goto exit; 1317db96d56Sopenharmony_ci } 1327db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 1337db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 1347db96d56Sopenharmony_ci goto exit; 1357db96d56Sopenharmony_ci } 1367db96d56Sopenharmony_ciskip_optional_pos: 1377db96d56Sopenharmony_ci return_value = _codecs_encode_impl(module, obj, encoding, errors); 1387db96d56Sopenharmony_ci 1397db96d56Sopenharmony_ciexit: 1407db96d56Sopenharmony_ci return return_value; 1417db96d56Sopenharmony_ci} 1427db96d56Sopenharmony_ci 1437db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_decode__doc__, 1447db96d56Sopenharmony_ci"decode($module, /, obj, encoding=\'utf-8\', errors=\'strict\')\n" 1457db96d56Sopenharmony_ci"--\n" 1467db96d56Sopenharmony_ci"\n" 1477db96d56Sopenharmony_ci"Decodes obj using the codec registered for encoding.\n" 1487db96d56Sopenharmony_ci"\n" 1497db96d56Sopenharmony_ci"Default encoding is \'utf-8\'. errors may be given to set a\n" 1507db96d56Sopenharmony_ci"different error handling scheme. Default is \'strict\' meaning that encoding\n" 1517db96d56Sopenharmony_ci"errors raise a ValueError. Other possible values are \'ignore\', \'replace\'\n" 1527db96d56Sopenharmony_ci"and \'backslashreplace\' as well as any other name registered with\n" 1537db96d56Sopenharmony_ci"codecs.register_error that can handle ValueErrors."); 1547db96d56Sopenharmony_ci 1557db96d56Sopenharmony_ci#define _CODECS_DECODE_METHODDEF \ 1567db96d56Sopenharmony_ci {"decode", _PyCFunction_CAST(_codecs_decode), METH_FASTCALL|METH_KEYWORDS, _codecs_decode__doc__}, 1577db96d56Sopenharmony_ci 1587db96d56Sopenharmony_cistatic PyObject * 1597db96d56Sopenharmony_ci_codecs_decode_impl(PyObject *module, PyObject *obj, const char *encoding, 1607db96d56Sopenharmony_ci const char *errors); 1617db96d56Sopenharmony_ci 1627db96d56Sopenharmony_cistatic PyObject * 1637db96d56Sopenharmony_ci_codecs_decode(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) 1647db96d56Sopenharmony_ci{ 1657db96d56Sopenharmony_ci PyObject *return_value = NULL; 1667db96d56Sopenharmony_ci static const char * const _keywords[] = {"obj", "encoding", "errors", NULL}; 1677db96d56Sopenharmony_ci static _PyArg_Parser _parser = {NULL, _keywords, "decode", 0}; 1687db96d56Sopenharmony_ci PyObject *argsbuf[3]; 1697db96d56Sopenharmony_ci Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 1; 1707db96d56Sopenharmony_ci PyObject *obj; 1717db96d56Sopenharmony_ci const char *encoding = NULL; 1727db96d56Sopenharmony_ci const char *errors = NULL; 1737db96d56Sopenharmony_ci 1747db96d56Sopenharmony_ci args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 1, 3, 0, argsbuf); 1757db96d56Sopenharmony_ci if (!args) { 1767db96d56Sopenharmony_ci goto exit; 1777db96d56Sopenharmony_ci } 1787db96d56Sopenharmony_ci obj = args[0]; 1797db96d56Sopenharmony_ci if (!noptargs) { 1807db96d56Sopenharmony_ci goto skip_optional_pos; 1817db96d56Sopenharmony_ci } 1827db96d56Sopenharmony_ci if (args[1]) { 1837db96d56Sopenharmony_ci if (!PyUnicode_Check(args[1])) { 1847db96d56Sopenharmony_ci _PyArg_BadArgument("decode", "argument 'encoding'", "str", args[1]); 1857db96d56Sopenharmony_ci goto exit; 1867db96d56Sopenharmony_ci } 1877db96d56Sopenharmony_ci Py_ssize_t encoding_length; 1887db96d56Sopenharmony_ci encoding = PyUnicode_AsUTF8AndSize(args[1], &encoding_length); 1897db96d56Sopenharmony_ci if (encoding == NULL) { 1907db96d56Sopenharmony_ci goto exit; 1917db96d56Sopenharmony_ci } 1927db96d56Sopenharmony_ci if (strlen(encoding) != (size_t)encoding_length) { 1937db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 1947db96d56Sopenharmony_ci goto exit; 1957db96d56Sopenharmony_ci } 1967db96d56Sopenharmony_ci if (!--noptargs) { 1977db96d56Sopenharmony_ci goto skip_optional_pos; 1987db96d56Sopenharmony_ci } 1997db96d56Sopenharmony_ci } 2007db96d56Sopenharmony_ci if (!PyUnicode_Check(args[2])) { 2017db96d56Sopenharmony_ci _PyArg_BadArgument("decode", "argument 'errors'", "str", args[2]); 2027db96d56Sopenharmony_ci goto exit; 2037db96d56Sopenharmony_ci } 2047db96d56Sopenharmony_ci Py_ssize_t errors_length; 2057db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[2], &errors_length); 2067db96d56Sopenharmony_ci if (errors == NULL) { 2077db96d56Sopenharmony_ci goto exit; 2087db96d56Sopenharmony_ci } 2097db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 2107db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 2117db96d56Sopenharmony_ci goto exit; 2127db96d56Sopenharmony_ci } 2137db96d56Sopenharmony_ciskip_optional_pos: 2147db96d56Sopenharmony_ci return_value = _codecs_decode_impl(module, obj, encoding, errors); 2157db96d56Sopenharmony_ci 2167db96d56Sopenharmony_ciexit: 2177db96d56Sopenharmony_ci return return_value; 2187db96d56Sopenharmony_ci} 2197db96d56Sopenharmony_ci 2207db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_escape_decode__doc__, 2217db96d56Sopenharmony_ci"escape_decode($module, data, errors=None, /)\n" 2227db96d56Sopenharmony_ci"--\n" 2237db96d56Sopenharmony_ci"\n"); 2247db96d56Sopenharmony_ci 2257db96d56Sopenharmony_ci#define _CODECS_ESCAPE_DECODE_METHODDEF \ 2267db96d56Sopenharmony_ci {"escape_decode", _PyCFunction_CAST(_codecs_escape_decode), METH_FASTCALL, _codecs_escape_decode__doc__}, 2277db96d56Sopenharmony_ci 2287db96d56Sopenharmony_cistatic PyObject * 2297db96d56Sopenharmony_ci_codecs_escape_decode_impl(PyObject *module, Py_buffer *data, 2307db96d56Sopenharmony_ci const char *errors); 2317db96d56Sopenharmony_ci 2327db96d56Sopenharmony_cistatic PyObject * 2337db96d56Sopenharmony_ci_codecs_escape_decode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 2347db96d56Sopenharmony_ci{ 2357db96d56Sopenharmony_ci PyObject *return_value = NULL; 2367db96d56Sopenharmony_ci Py_buffer data = {NULL, NULL}; 2377db96d56Sopenharmony_ci const char *errors = NULL; 2387db96d56Sopenharmony_ci 2397db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("escape_decode", nargs, 1, 2)) { 2407db96d56Sopenharmony_ci goto exit; 2417db96d56Sopenharmony_ci } 2427db96d56Sopenharmony_ci if (PyUnicode_Check(args[0])) { 2437db96d56Sopenharmony_ci Py_ssize_t len; 2447db96d56Sopenharmony_ci const char *ptr = PyUnicode_AsUTF8AndSize(args[0], &len); 2457db96d56Sopenharmony_ci if (ptr == NULL) { 2467db96d56Sopenharmony_ci goto exit; 2477db96d56Sopenharmony_ci } 2487db96d56Sopenharmony_ci PyBuffer_FillInfo(&data, args[0], (void *)ptr, len, 1, 0); 2497db96d56Sopenharmony_ci } 2507db96d56Sopenharmony_ci else { /* any bytes-like object */ 2517db96d56Sopenharmony_ci if (PyObject_GetBuffer(args[0], &data, PyBUF_SIMPLE) != 0) { 2527db96d56Sopenharmony_ci goto exit; 2537db96d56Sopenharmony_ci } 2547db96d56Sopenharmony_ci if (!PyBuffer_IsContiguous(&data, 'C')) { 2557db96d56Sopenharmony_ci _PyArg_BadArgument("escape_decode", "argument 1", "contiguous buffer", args[0]); 2567db96d56Sopenharmony_ci goto exit; 2577db96d56Sopenharmony_ci } 2587db96d56Sopenharmony_ci } 2597db96d56Sopenharmony_ci if (nargs < 2) { 2607db96d56Sopenharmony_ci goto skip_optional; 2617db96d56Sopenharmony_ci } 2627db96d56Sopenharmony_ci if (args[1] == Py_None) { 2637db96d56Sopenharmony_ci errors = NULL; 2647db96d56Sopenharmony_ci } 2657db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 2667db96d56Sopenharmony_ci Py_ssize_t errors_length; 2677db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 2687db96d56Sopenharmony_ci if (errors == NULL) { 2697db96d56Sopenharmony_ci goto exit; 2707db96d56Sopenharmony_ci } 2717db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 2727db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 2737db96d56Sopenharmony_ci goto exit; 2747db96d56Sopenharmony_ci } 2757db96d56Sopenharmony_ci } 2767db96d56Sopenharmony_ci else { 2777db96d56Sopenharmony_ci _PyArg_BadArgument("escape_decode", "argument 2", "str or None", args[1]); 2787db96d56Sopenharmony_ci goto exit; 2797db96d56Sopenharmony_ci } 2807db96d56Sopenharmony_ciskip_optional: 2817db96d56Sopenharmony_ci return_value = _codecs_escape_decode_impl(module, &data, errors); 2827db96d56Sopenharmony_ci 2837db96d56Sopenharmony_ciexit: 2847db96d56Sopenharmony_ci /* Cleanup for data */ 2857db96d56Sopenharmony_ci if (data.obj) { 2867db96d56Sopenharmony_ci PyBuffer_Release(&data); 2877db96d56Sopenharmony_ci } 2887db96d56Sopenharmony_ci 2897db96d56Sopenharmony_ci return return_value; 2907db96d56Sopenharmony_ci} 2917db96d56Sopenharmony_ci 2927db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_escape_encode__doc__, 2937db96d56Sopenharmony_ci"escape_encode($module, data, errors=None, /)\n" 2947db96d56Sopenharmony_ci"--\n" 2957db96d56Sopenharmony_ci"\n"); 2967db96d56Sopenharmony_ci 2977db96d56Sopenharmony_ci#define _CODECS_ESCAPE_ENCODE_METHODDEF \ 2987db96d56Sopenharmony_ci {"escape_encode", _PyCFunction_CAST(_codecs_escape_encode), METH_FASTCALL, _codecs_escape_encode__doc__}, 2997db96d56Sopenharmony_ci 3007db96d56Sopenharmony_cistatic PyObject * 3017db96d56Sopenharmony_ci_codecs_escape_encode_impl(PyObject *module, PyObject *data, 3027db96d56Sopenharmony_ci const char *errors); 3037db96d56Sopenharmony_ci 3047db96d56Sopenharmony_cistatic PyObject * 3057db96d56Sopenharmony_ci_codecs_escape_encode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 3067db96d56Sopenharmony_ci{ 3077db96d56Sopenharmony_ci PyObject *return_value = NULL; 3087db96d56Sopenharmony_ci PyObject *data; 3097db96d56Sopenharmony_ci const char *errors = NULL; 3107db96d56Sopenharmony_ci 3117db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("escape_encode", nargs, 1, 2)) { 3127db96d56Sopenharmony_ci goto exit; 3137db96d56Sopenharmony_ci } 3147db96d56Sopenharmony_ci if (!PyBytes_Check(args[0])) { 3157db96d56Sopenharmony_ci _PyArg_BadArgument("escape_encode", "argument 1", "bytes", args[0]); 3167db96d56Sopenharmony_ci goto exit; 3177db96d56Sopenharmony_ci } 3187db96d56Sopenharmony_ci data = args[0]; 3197db96d56Sopenharmony_ci if (nargs < 2) { 3207db96d56Sopenharmony_ci goto skip_optional; 3217db96d56Sopenharmony_ci } 3227db96d56Sopenharmony_ci if (args[1] == Py_None) { 3237db96d56Sopenharmony_ci errors = NULL; 3247db96d56Sopenharmony_ci } 3257db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 3267db96d56Sopenharmony_ci Py_ssize_t errors_length; 3277db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 3287db96d56Sopenharmony_ci if (errors == NULL) { 3297db96d56Sopenharmony_ci goto exit; 3307db96d56Sopenharmony_ci } 3317db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 3327db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 3337db96d56Sopenharmony_ci goto exit; 3347db96d56Sopenharmony_ci } 3357db96d56Sopenharmony_ci } 3367db96d56Sopenharmony_ci else { 3377db96d56Sopenharmony_ci _PyArg_BadArgument("escape_encode", "argument 2", "str or None", args[1]); 3387db96d56Sopenharmony_ci goto exit; 3397db96d56Sopenharmony_ci } 3407db96d56Sopenharmony_ciskip_optional: 3417db96d56Sopenharmony_ci return_value = _codecs_escape_encode_impl(module, data, errors); 3427db96d56Sopenharmony_ci 3437db96d56Sopenharmony_ciexit: 3447db96d56Sopenharmony_ci return return_value; 3457db96d56Sopenharmony_ci} 3467db96d56Sopenharmony_ci 3477db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_utf_7_decode__doc__, 3487db96d56Sopenharmony_ci"utf_7_decode($module, data, errors=None, final=False, /)\n" 3497db96d56Sopenharmony_ci"--\n" 3507db96d56Sopenharmony_ci"\n"); 3517db96d56Sopenharmony_ci 3527db96d56Sopenharmony_ci#define _CODECS_UTF_7_DECODE_METHODDEF \ 3537db96d56Sopenharmony_ci {"utf_7_decode", _PyCFunction_CAST(_codecs_utf_7_decode), METH_FASTCALL, _codecs_utf_7_decode__doc__}, 3547db96d56Sopenharmony_ci 3557db96d56Sopenharmony_cistatic PyObject * 3567db96d56Sopenharmony_ci_codecs_utf_7_decode_impl(PyObject *module, Py_buffer *data, 3577db96d56Sopenharmony_ci const char *errors, int final); 3587db96d56Sopenharmony_ci 3597db96d56Sopenharmony_cistatic PyObject * 3607db96d56Sopenharmony_ci_codecs_utf_7_decode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 3617db96d56Sopenharmony_ci{ 3627db96d56Sopenharmony_ci PyObject *return_value = NULL; 3637db96d56Sopenharmony_ci Py_buffer data = {NULL, NULL}; 3647db96d56Sopenharmony_ci const char *errors = NULL; 3657db96d56Sopenharmony_ci int final = 0; 3667db96d56Sopenharmony_ci 3677db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("utf_7_decode", nargs, 1, 3)) { 3687db96d56Sopenharmony_ci goto exit; 3697db96d56Sopenharmony_ci } 3707db96d56Sopenharmony_ci if (PyObject_GetBuffer(args[0], &data, PyBUF_SIMPLE) != 0) { 3717db96d56Sopenharmony_ci goto exit; 3727db96d56Sopenharmony_ci } 3737db96d56Sopenharmony_ci if (!PyBuffer_IsContiguous(&data, 'C')) { 3747db96d56Sopenharmony_ci _PyArg_BadArgument("utf_7_decode", "argument 1", "contiguous buffer", args[0]); 3757db96d56Sopenharmony_ci goto exit; 3767db96d56Sopenharmony_ci } 3777db96d56Sopenharmony_ci if (nargs < 2) { 3787db96d56Sopenharmony_ci goto skip_optional; 3797db96d56Sopenharmony_ci } 3807db96d56Sopenharmony_ci if (args[1] == Py_None) { 3817db96d56Sopenharmony_ci errors = NULL; 3827db96d56Sopenharmony_ci } 3837db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 3847db96d56Sopenharmony_ci Py_ssize_t errors_length; 3857db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 3867db96d56Sopenharmony_ci if (errors == NULL) { 3877db96d56Sopenharmony_ci goto exit; 3887db96d56Sopenharmony_ci } 3897db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 3907db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 3917db96d56Sopenharmony_ci goto exit; 3927db96d56Sopenharmony_ci } 3937db96d56Sopenharmony_ci } 3947db96d56Sopenharmony_ci else { 3957db96d56Sopenharmony_ci _PyArg_BadArgument("utf_7_decode", "argument 2", "str or None", args[1]); 3967db96d56Sopenharmony_ci goto exit; 3977db96d56Sopenharmony_ci } 3987db96d56Sopenharmony_ci if (nargs < 3) { 3997db96d56Sopenharmony_ci goto skip_optional; 4007db96d56Sopenharmony_ci } 4017db96d56Sopenharmony_ci final = _PyLong_AsInt(args[2]); 4027db96d56Sopenharmony_ci if (final == -1 && PyErr_Occurred()) { 4037db96d56Sopenharmony_ci goto exit; 4047db96d56Sopenharmony_ci } 4057db96d56Sopenharmony_ciskip_optional: 4067db96d56Sopenharmony_ci return_value = _codecs_utf_7_decode_impl(module, &data, errors, final); 4077db96d56Sopenharmony_ci 4087db96d56Sopenharmony_ciexit: 4097db96d56Sopenharmony_ci /* Cleanup for data */ 4107db96d56Sopenharmony_ci if (data.obj) { 4117db96d56Sopenharmony_ci PyBuffer_Release(&data); 4127db96d56Sopenharmony_ci } 4137db96d56Sopenharmony_ci 4147db96d56Sopenharmony_ci return return_value; 4157db96d56Sopenharmony_ci} 4167db96d56Sopenharmony_ci 4177db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_utf_8_decode__doc__, 4187db96d56Sopenharmony_ci"utf_8_decode($module, data, errors=None, final=False, /)\n" 4197db96d56Sopenharmony_ci"--\n" 4207db96d56Sopenharmony_ci"\n"); 4217db96d56Sopenharmony_ci 4227db96d56Sopenharmony_ci#define _CODECS_UTF_8_DECODE_METHODDEF \ 4237db96d56Sopenharmony_ci {"utf_8_decode", _PyCFunction_CAST(_codecs_utf_8_decode), METH_FASTCALL, _codecs_utf_8_decode__doc__}, 4247db96d56Sopenharmony_ci 4257db96d56Sopenharmony_cistatic PyObject * 4267db96d56Sopenharmony_ci_codecs_utf_8_decode_impl(PyObject *module, Py_buffer *data, 4277db96d56Sopenharmony_ci const char *errors, int final); 4287db96d56Sopenharmony_ci 4297db96d56Sopenharmony_cistatic PyObject * 4307db96d56Sopenharmony_ci_codecs_utf_8_decode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 4317db96d56Sopenharmony_ci{ 4327db96d56Sopenharmony_ci PyObject *return_value = NULL; 4337db96d56Sopenharmony_ci Py_buffer data = {NULL, NULL}; 4347db96d56Sopenharmony_ci const char *errors = NULL; 4357db96d56Sopenharmony_ci int final = 0; 4367db96d56Sopenharmony_ci 4377db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("utf_8_decode", nargs, 1, 3)) { 4387db96d56Sopenharmony_ci goto exit; 4397db96d56Sopenharmony_ci } 4407db96d56Sopenharmony_ci if (PyObject_GetBuffer(args[0], &data, PyBUF_SIMPLE) != 0) { 4417db96d56Sopenharmony_ci goto exit; 4427db96d56Sopenharmony_ci } 4437db96d56Sopenharmony_ci if (!PyBuffer_IsContiguous(&data, 'C')) { 4447db96d56Sopenharmony_ci _PyArg_BadArgument("utf_8_decode", "argument 1", "contiguous buffer", args[0]); 4457db96d56Sopenharmony_ci goto exit; 4467db96d56Sopenharmony_ci } 4477db96d56Sopenharmony_ci if (nargs < 2) { 4487db96d56Sopenharmony_ci goto skip_optional; 4497db96d56Sopenharmony_ci } 4507db96d56Sopenharmony_ci if (args[1] == Py_None) { 4517db96d56Sopenharmony_ci errors = NULL; 4527db96d56Sopenharmony_ci } 4537db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 4547db96d56Sopenharmony_ci Py_ssize_t errors_length; 4557db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 4567db96d56Sopenharmony_ci if (errors == NULL) { 4577db96d56Sopenharmony_ci goto exit; 4587db96d56Sopenharmony_ci } 4597db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 4607db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 4617db96d56Sopenharmony_ci goto exit; 4627db96d56Sopenharmony_ci } 4637db96d56Sopenharmony_ci } 4647db96d56Sopenharmony_ci else { 4657db96d56Sopenharmony_ci _PyArg_BadArgument("utf_8_decode", "argument 2", "str or None", args[1]); 4667db96d56Sopenharmony_ci goto exit; 4677db96d56Sopenharmony_ci } 4687db96d56Sopenharmony_ci if (nargs < 3) { 4697db96d56Sopenharmony_ci goto skip_optional; 4707db96d56Sopenharmony_ci } 4717db96d56Sopenharmony_ci final = _PyLong_AsInt(args[2]); 4727db96d56Sopenharmony_ci if (final == -1 && PyErr_Occurred()) { 4737db96d56Sopenharmony_ci goto exit; 4747db96d56Sopenharmony_ci } 4757db96d56Sopenharmony_ciskip_optional: 4767db96d56Sopenharmony_ci return_value = _codecs_utf_8_decode_impl(module, &data, errors, final); 4777db96d56Sopenharmony_ci 4787db96d56Sopenharmony_ciexit: 4797db96d56Sopenharmony_ci /* Cleanup for data */ 4807db96d56Sopenharmony_ci if (data.obj) { 4817db96d56Sopenharmony_ci PyBuffer_Release(&data); 4827db96d56Sopenharmony_ci } 4837db96d56Sopenharmony_ci 4847db96d56Sopenharmony_ci return return_value; 4857db96d56Sopenharmony_ci} 4867db96d56Sopenharmony_ci 4877db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_utf_16_decode__doc__, 4887db96d56Sopenharmony_ci"utf_16_decode($module, data, errors=None, final=False, /)\n" 4897db96d56Sopenharmony_ci"--\n" 4907db96d56Sopenharmony_ci"\n"); 4917db96d56Sopenharmony_ci 4927db96d56Sopenharmony_ci#define _CODECS_UTF_16_DECODE_METHODDEF \ 4937db96d56Sopenharmony_ci {"utf_16_decode", _PyCFunction_CAST(_codecs_utf_16_decode), METH_FASTCALL, _codecs_utf_16_decode__doc__}, 4947db96d56Sopenharmony_ci 4957db96d56Sopenharmony_cistatic PyObject * 4967db96d56Sopenharmony_ci_codecs_utf_16_decode_impl(PyObject *module, Py_buffer *data, 4977db96d56Sopenharmony_ci const char *errors, int final); 4987db96d56Sopenharmony_ci 4997db96d56Sopenharmony_cistatic PyObject * 5007db96d56Sopenharmony_ci_codecs_utf_16_decode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 5017db96d56Sopenharmony_ci{ 5027db96d56Sopenharmony_ci PyObject *return_value = NULL; 5037db96d56Sopenharmony_ci Py_buffer data = {NULL, NULL}; 5047db96d56Sopenharmony_ci const char *errors = NULL; 5057db96d56Sopenharmony_ci int final = 0; 5067db96d56Sopenharmony_ci 5077db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("utf_16_decode", nargs, 1, 3)) { 5087db96d56Sopenharmony_ci goto exit; 5097db96d56Sopenharmony_ci } 5107db96d56Sopenharmony_ci if (PyObject_GetBuffer(args[0], &data, PyBUF_SIMPLE) != 0) { 5117db96d56Sopenharmony_ci goto exit; 5127db96d56Sopenharmony_ci } 5137db96d56Sopenharmony_ci if (!PyBuffer_IsContiguous(&data, 'C')) { 5147db96d56Sopenharmony_ci _PyArg_BadArgument("utf_16_decode", "argument 1", "contiguous buffer", args[0]); 5157db96d56Sopenharmony_ci goto exit; 5167db96d56Sopenharmony_ci } 5177db96d56Sopenharmony_ci if (nargs < 2) { 5187db96d56Sopenharmony_ci goto skip_optional; 5197db96d56Sopenharmony_ci } 5207db96d56Sopenharmony_ci if (args[1] == Py_None) { 5217db96d56Sopenharmony_ci errors = NULL; 5227db96d56Sopenharmony_ci } 5237db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 5247db96d56Sopenharmony_ci Py_ssize_t errors_length; 5257db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 5267db96d56Sopenharmony_ci if (errors == NULL) { 5277db96d56Sopenharmony_ci goto exit; 5287db96d56Sopenharmony_ci } 5297db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 5307db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 5317db96d56Sopenharmony_ci goto exit; 5327db96d56Sopenharmony_ci } 5337db96d56Sopenharmony_ci } 5347db96d56Sopenharmony_ci else { 5357db96d56Sopenharmony_ci _PyArg_BadArgument("utf_16_decode", "argument 2", "str or None", args[1]); 5367db96d56Sopenharmony_ci goto exit; 5377db96d56Sopenharmony_ci } 5387db96d56Sopenharmony_ci if (nargs < 3) { 5397db96d56Sopenharmony_ci goto skip_optional; 5407db96d56Sopenharmony_ci } 5417db96d56Sopenharmony_ci final = _PyLong_AsInt(args[2]); 5427db96d56Sopenharmony_ci if (final == -1 && PyErr_Occurred()) { 5437db96d56Sopenharmony_ci goto exit; 5447db96d56Sopenharmony_ci } 5457db96d56Sopenharmony_ciskip_optional: 5467db96d56Sopenharmony_ci return_value = _codecs_utf_16_decode_impl(module, &data, errors, final); 5477db96d56Sopenharmony_ci 5487db96d56Sopenharmony_ciexit: 5497db96d56Sopenharmony_ci /* Cleanup for data */ 5507db96d56Sopenharmony_ci if (data.obj) { 5517db96d56Sopenharmony_ci PyBuffer_Release(&data); 5527db96d56Sopenharmony_ci } 5537db96d56Sopenharmony_ci 5547db96d56Sopenharmony_ci return return_value; 5557db96d56Sopenharmony_ci} 5567db96d56Sopenharmony_ci 5577db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_utf_16_le_decode__doc__, 5587db96d56Sopenharmony_ci"utf_16_le_decode($module, data, errors=None, final=False, /)\n" 5597db96d56Sopenharmony_ci"--\n" 5607db96d56Sopenharmony_ci"\n"); 5617db96d56Sopenharmony_ci 5627db96d56Sopenharmony_ci#define _CODECS_UTF_16_LE_DECODE_METHODDEF \ 5637db96d56Sopenharmony_ci {"utf_16_le_decode", _PyCFunction_CAST(_codecs_utf_16_le_decode), METH_FASTCALL, _codecs_utf_16_le_decode__doc__}, 5647db96d56Sopenharmony_ci 5657db96d56Sopenharmony_cistatic PyObject * 5667db96d56Sopenharmony_ci_codecs_utf_16_le_decode_impl(PyObject *module, Py_buffer *data, 5677db96d56Sopenharmony_ci const char *errors, int final); 5687db96d56Sopenharmony_ci 5697db96d56Sopenharmony_cistatic PyObject * 5707db96d56Sopenharmony_ci_codecs_utf_16_le_decode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 5717db96d56Sopenharmony_ci{ 5727db96d56Sopenharmony_ci PyObject *return_value = NULL; 5737db96d56Sopenharmony_ci Py_buffer data = {NULL, NULL}; 5747db96d56Sopenharmony_ci const char *errors = NULL; 5757db96d56Sopenharmony_ci int final = 0; 5767db96d56Sopenharmony_ci 5777db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("utf_16_le_decode", nargs, 1, 3)) { 5787db96d56Sopenharmony_ci goto exit; 5797db96d56Sopenharmony_ci } 5807db96d56Sopenharmony_ci if (PyObject_GetBuffer(args[0], &data, PyBUF_SIMPLE) != 0) { 5817db96d56Sopenharmony_ci goto exit; 5827db96d56Sopenharmony_ci } 5837db96d56Sopenharmony_ci if (!PyBuffer_IsContiguous(&data, 'C')) { 5847db96d56Sopenharmony_ci _PyArg_BadArgument("utf_16_le_decode", "argument 1", "contiguous buffer", args[0]); 5857db96d56Sopenharmony_ci goto exit; 5867db96d56Sopenharmony_ci } 5877db96d56Sopenharmony_ci if (nargs < 2) { 5887db96d56Sopenharmony_ci goto skip_optional; 5897db96d56Sopenharmony_ci } 5907db96d56Sopenharmony_ci if (args[1] == Py_None) { 5917db96d56Sopenharmony_ci errors = NULL; 5927db96d56Sopenharmony_ci } 5937db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 5947db96d56Sopenharmony_ci Py_ssize_t errors_length; 5957db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 5967db96d56Sopenharmony_ci if (errors == NULL) { 5977db96d56Sopenharmony_ci goto exit; 5987db96d56Sopenharmony_ci } 5997db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 6007db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 6017db96d56Sopenharmony_ci goto exit; 6027db96d56Sopenharmony_ci } 6037db96d56Sopenharmony_ci } 6047db96d56Sopenharmony_ci else { 6057db96d56Sopenharmony_ci _PyArg_BadArgument("utf_16_le_decode", "argument 2", "str or None", args[1]); 6067db96d56Sopenharmony_ci goto exit; 6077db96d56Sopenharmony_ci } 6087db96d56Sopenharmony_ci if (nargs < 3) { 6097db96d56Sopenharmony_ci goto skip_optional; 6107db96d56Sopenharmony_ci } 6117db96d56Sopenharmony_ci final = _PyLong_AsInt(args[2]); 6127db96d56Sopenharmony_ci if (final == -1 && PyErr_Occurred()) { 6137db96d56Sopenharmony_ci goto exit; 6147db96d56Sopenharmony_ci } 6157db96d56Sopenharmony_ciskip_optional: 6167db96d56Sopenharmony_ci return_value = _codecs_utf_16_le_decode_impl(module, &data, errors, final); 6177db96d56Sopenharmony_ci 6187db96d56Sopenharmony_ciexit: 6197db96d56Sopenharmony_ci /* Cleanup for data */ 6207db96d56Sopenharmony_ci if (data.obj) { 6217db96d56Sopenharmony_ci PyBuffer_Release(&data); 6227db96d56Sopenharmony_ci } 6237db96d56Sopenharmony_ci 6247db96d56Sopenharmony_ci return return_value; 6257db96d56Sopenharmony_ci} 6267db96d56Sopenharmony_ci 6277db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_utf_16_be_decode__doc__, 6287db96d56Sopenharmony_ci"utf_16_be_decode($module, data, errors=None, final=False, /)\n" 6297db96d56Sopenharmony_ci"--\n" 6307db96d56Sopenharmony_ci"\n"); 6317db96d56Sopenharmony_ci 6327db96d56Sopenharmony_ci#define _CODECS_UTF_16_BE_DECODE_METHODDEF \ 6337db96d56Sopenharmony_ci {"utf_16_be_decode", _PyCFunction_CAST(_codecs_utf_16_be_decode), METH_FASTCALL, _codecs_utf_16_be_decode__doc__}, 6347db96d56Sopenharmony_ci 6357db96d56Sopenharmony_cistatic PyObject * 6367db96d56Sopenharmony_ci_codecs_utf_16_be_decode_impl(PyObject *module, Py_buffer *data, 6377db96d56Sopenharmony_ci const char *errors, int final); 6387db96d56Sopenharmony_ci 6397db96d56Sopenharmony_cistatic PyObject * 6407db96d56Sopenharmony_ci_codecs_utf_16_be_decode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 6417db96d56Sopenharmony_ci{ 6427db96d56Sopenharmony_ci PyObject *return_value = NULL; 6437db96d56Sopenharmony_ci Py_buffer data = {NULL, NULL}; 6447db96d56Sopenharmony_ci const char *errors = NULL; 6457db96d56Sopenharmony_ci int final = 0; 6467db96d56Sopenharmony_ci 6477db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("utf_16_be_decode", nargs, 1, 3)) { 6487db96d56Sopenharmony_ci goto exit; 6497db96d56Sopenharmony_ci } 6507db96d56Sopenharmony_ci if (PyObject_GetBuffer(args[0], &data, PyBUF_SIMPLE) != 0) { 6517db96d56Sopenharmony_ci goto exit; 6527db96d56Sopenharmony_ci } 6537db96d56Sopenharmony_ci if (!PyBuffer_IsContiguous(&data, 'C')) { 6547db96d56Sopenharmony_ci _PyArg_BadArgument("utf_16_be_decode", "argument 1", "contiguous buffer", args[0]); 6557db96d56Sopenharmony_ci goto exit; 6567db96d56Sopenharmony_ci } 6577db96d56Sopenharmony_ci if (nargs < 2) { 6587db96d56Sopenharmony_ci goto skip_optional; 6597db96d56Sopenharmony_ci } 6607db96d56Sopenharmony_ci if (args[1] == Py_None) { 6617db96d56Sopenharmony_ci errors = NULL; 6627db96d56Sopenharmony_ci } 6637db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 6647db96d56Sopenharmony_ci Py_ssize_t errors_length; 6657db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 6667db96d56Sopenharmony_ci if (errors == NULL) { 6677db96d56Sopenharmony_ci goto exit; 6687db96d56Sopenharmony_ci } 6697db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 6707db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 6717db96d56Sopenharmony_ci goto exit; 6727db96d56Sopenharmony_ci } 6737db96d56Sopenharmony_ci } 6747db96d56Sopenharmony_ci else { 6757db96d56Sopenharmony_ci _PyArg_BadArgument("utf_16_be_decode", "argument 2", "str or None", args[1]); 6767db96d56Sopenharmony_ci goto exit; 6777db96d56Sopenharmony_ci } 6787db96d56Sopenharmony_ci if (nargs < 3) { 6797db96d56Sopenharmony_ci goto skip_optional; 6807db96d56Sopenharmony_ci } 6817db96d56Sopenharmony_ci final = _PyLong_AsInt(args[2]); 6827db96d56Sopenharmony_ci if (final == -1 && PyErr_Occurred()) { 6837db96d56Sopenharmony_ci goto exit; 6847db96d56Sopenharmony_ci } 6857db96d56Sopenharmony_ciskip_optional: 6867db96d56Sopenharmony_ci return_value = _codecs_utf_16_be_decode_impl(module, &data, errors, final); 6877db96d56Sopenharmony_ci 6887db96d56Sopenharmony_ciexit: 6897db96d56Sopenharmony_ci /* Cleanup for data */ 6907db96d56Sopenharmony_ci if (data.obj) { 6917db96d56Sopenharmony_ci PyBuffer_Release(&data); 6927db96d56Sopenharmony_ci } 6937db96d56Sopenharmony_ci 6947db96d56Sopenharmony_ci return return_value; 6957db96d56Sopenharmony_ci} 6967db96d56Sopenharmony_ci 6977db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_utf_16_ex_decode__doc__, 6987db96d56Sopenharmony_ci"utf_16_ex_decode($module, data, errors=None, byteorder=0, final=False,\n" 6997db96d56Sopenharmony_ci" /)\n" 7007db96d56Sopenharmony_ci"--\n" 7017db96d56Sopenharmony_ci"\n"); 7027db96d56Sopenharmony_ci 7037db96d56Sopenharmony_ci#define _CODECS_UTF_16_EX_DECODE_METHODDEF \ 7047db96d56Sopenharmony_ci {"utf_16_ex_decode", _PyCFunction_CAST(_codecs_utf_16_ex_decode), METH_FASTCALL, _codecs_utf_16_ex_decode__doc__}, 7057db96d56Sopenharmony_ci 7067db96d56Sopenharmony_cistatic PyObject * 7077db96d56Sopenharmony_ci_codecs_utf_16_ex_decode_impl(PyObject *module, Py_buffer *data, 7087db96d56Sopenharmony_ci const char *errors, int byteorder, int final); 7097db96d56Sopenharmony_ci 7107db96d56Sopenharmony_cistatic PyObject * 7117db96d56Sopenharmony_ci_codecs_utf_16_ex_decode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 7127db96d56Sopenharmony_ci{ 7137db96d56Sopenharmony_ci PyObject *return_value = NULL; 7147db96d56Sopenharmony_ci Py_buffer data = {NULL, NULL}; 7157db96d56Sopenharmony_ci const char *errors = NULL; 7167db96d56Sopenharmony_ci int byteorder = 0; 7177db96d56Sopenharmony_ci int final = 0; 7187db96d56Sopenharmony_ci 7197db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("utf_16_ex_decode", nargs, 1, 4)) { 7207db96d56Sopenharmony_ci goto exit; 7217db96d56Sopenharmony_ci } 7227db96d56Sopenharmony_ci if (PyObject_GetBuffer(args[0], &data, PyBUF_SIMPLE) != 0) { 7237db96d56Sopenharmony_ci goto exit; 7247db96d56Sopenharmony_ci } 7257db96d56Sopenharmony_ci if (!PyBuffer_IsContiguous(&data, 'C')) { 7267db96d56Sopenharmony_ci _PyArg_BadArgument("utf_16_ex_decode", "argument 1", "contiguous buffer", args[0]); 7277db96d56Sopenharmony_ci goto exit; 7287db96d56Sopenharmony_ci } 7297db96d56Sopenharmony_ci if (nargs < 2) { 7307db96d56Sopenharmony_ci goto skip_optional; 7317db96d56Sopenharmony_ci } 7327db96d56Sopenharmony_ci if (args[1] == Py_None) { 7337db96d56Sopenharmony_ci errors = NULL; 7347db96d56Sopenharmony_ci } 7357db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 7367db96d56Sopenharmony_ci Py_ssize_t errors_length; 7377db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 7387db96d56Sopenharmony_ci if (errors == NULL) { 7397db96d56Sopenharmony_ci goto exit; 7407db96d56Sopenharmony_ci } 7417db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 7427db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 7437db96d56Sopenharmony_ci goto exit; 7447db96d56Sopenharmony_ci } 7457db96d56Sopenharmony_ci } 7467db96d56Sopenharmony_ci else { 7477db96d56Sopenharmony_ci _PyArg_BadArgument("utf_16_ex_decode", "argument 2", "str or None", args[1]); 7487db96d56Sopenharmony_ci goto exit; 7497db96d56Sopenharmony_ci } 7507db96d56Sopenharmony_ci if (nargs < 3) { 7517db96d56Sopenharmony_ci goto skip_optional; 7527db96d56Sopenharmony_ci } 7537db96d56Sopenharmony_ci byteorder = _PyLong_AsInt(args[2]); 7547db96d56Sopenharmony_ci if (byteorder == -1 && PyErr_Occurred()) { 7557db96d56Sopenharmony_ci goto exit; 7567db96d56Sopenharmony_ci } 7577db96d56Sopenharmony_ci if (nargs < 4) { 7587db96d56Sopenharmony_ci goto skip_optional; 7597db96d56Sopenharmony_ci } 7607db96d56Sopenharmony_ci final = _PyLong_AsInt(args[3]); 7617db96d56Sopenharmony_ci if (final == -1 && PyErr_Occurred()) { 7627db96d56Sopenharmony_ci goto exit; 7637db96d56Sopenharmony_ci } 7647db96d56Sopenharmony_ciskip_optional: 7657db96d56Sopenharmony_ci return_value = _codecs_utf_16_ex_decode_impl(module, &data, errors, byteorder, final); 7667db96d56Sopenharmony_ci 7677db96d56Sopenharmony_ciexit: 7687db96d56Sopenharmony_ci /* Cleanup for data */ 7697db96d56Sopenharmony_ci if (data.obj) { 7707db96d56Sopenharmony_ci PyBuffer_Release(&data); 7717db96d56Sopenharmony_ci } 7727db96d56Sopenharmony_ci 7737db96d56Sopenharmony_ci return return_value; 7747db96d56Sopenharmony_ci} 7757db96d56Sopenharmony_ci 7767db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_utf_32_decode__doc__, 7777db96d56Sopenharmony_ci"utf_32_decode($module, data, errors=None, final=False, /)\n" 7787db96d56Sopenharmony_ci"--\n" 7797db96d56Sopenharmony_ci"\n"); 7807db96d56Sopenharmony_ci 7817db96d56Sopenharmony_ci#define _CODECS_UTF_32_DECODE_METHODDEF \ 7827db96d56Sopenharmony_ci {"utf_32_decode", _PyCFunction_CAST(_codecs_utf_32_decode), METH_FASTCALL, _codecs_utf_32_decode__doc__}, 7837db96d56Sopenharmony_ci 7847db96d56Sopenharmony_cistatic PyObject * 7857db96d56Sopenharmony_ci_codecs_utf_32_decode_impl(PyObject *module, Py_buffer *data, 7867db96d56Sopenharmony_ci const char *errors, int final); 7877db96d56Sopenharmony_ci 7887db96d56Sopenharmony_cistatic PyObject * 7897db96d56Sopenharmony_ci_codecs_utf_32_decode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 7907db96d56Sopenharmony_ci{ 7917db96d56Sopenharmony_ci PyObject *return_value = NULL; 7927db96d56Sopenharmony_ci Py_buffer data = {NULL, NULL}; 7937db96d56Sopenharmony_ci const char *errors = NULL; 7947db96d56Sopenharmony_ci int final = 0; 7957db96d56Sopenharmony_ci 7967db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("utf_32_decode", nargs, 1, 3)) { 7977db96d56Sopenharmony_ci goto exit; 7987db96d56Sopenharmony_ci } 7997db96d56Sopenharmony_ci if (PyObject_GetBuffer(args[0], &data, PyBUF_SIMPLE) != 0) { 8007db96d56Sopenharmony_ci goto exit; 8017db96d56Sopenharmony_ci } 8027db96d56Sopenharmony_ci if (!PyBuffer_IsContiguous(&data, 'C')) { 8037db96d56Sopenharmony_ci _PyArg_BadArgument("utf_32_decode", "argument 1", "contiguous buffer", args[0]); 8047db96d56Sopenharmony_ci goto exit; 8057db96d56Sopenharmony_ci } 8067db96d56Sopenharmony_ci if (nargs < 2) { 8077db96d56Sopenharmony_ci goto skip_optional; 8087db96d56Sopenharmony_ci } 8097db96d56Sopenharmony_ci if (args[1] == Py_None) { 8107db96d56Sopenharmony_ci errors = NULL; 8117db96d56Sopenharmony_ci } 8127db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 8137db96d56Sopenharmony_ci Py_ssize_t errors_length; 8147db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 8157db96d56Sopenharmony_ci if (errors == NULL) { 8167db96d56Sopenharmony_ci goto exit; 8177db96d56Sopenharmony_ci } 8187db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 8197db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 8207db96d56Sopenharmony_ci goto exit; 8217db96d56Sopenharmony_ci } 8227db96d56Sopenharmony_ci } 8237db96d56Sopenharmony_ci else { 8247db96d56Sopenharmony_ci _PyArg_BadArgument("utf_32_decode", "argument 2", "str or None", args[1]); 8257db96d56Sopenharmony_ci goto exit; 8267db96d56Sopenharmony_ci } 8277db96d56Sopenharmony_ci if (nargs < 3) { 8287db96d56Sopenharmony_ci goto skip_optional; 8297db96d56Sopenharmony_ci } 8307db96d56Sopenharmony_ci final = _PyLong_AsInt(args[2]); 8317db96d56Sopenharmony_ci if (final == -1 && PyErr_Occurred()) { 8327db96d56Sopenharmony_ci goto exit; 8337db96d56Sopenharmony_ci } 8347db96d56Sopenharmony_ciskip_optional: 8357db96d56Sopenharmony_ci return_value = _codecs_utf_32_decode_impl(module, &data, errors, final); 8367db96d56Sopenharmony_ci 8377db96d56Sopenharmony_ciexit: 8387db96d56Sopenharmony_ci /* Cleanup for data */ 8397db96d56Sopenharmony_ci if (data.obj) { 8407db96d56Sopenharmony_ci PyBuffer_Release(&data); 8417db96d56Sopenharmony_ci } 8427db96d56Sopenharmony_ci 8437db96d56Sopenharmony_ci return return_value; 8447db96d56Sopenharmony_ci} 8457db96d56Sopenharmony_ci 8467db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_utf_32_le_decode__doc__, 8477db96d56Sopenharmony_ci"utf_32_le_decode($module, data, errors=None, final=False, /)\n" 8487db96d56Sopenharmony_ci"--\n" 8497db96d56Sopenharmony_ci"\n"); 8507db96d56Sopenharmony_ci 8517db96d56Sopenharmony_ci#define _CODECS_UTF_32_LE_DECODE_METHODDEF \ 8527db96d56Sopenharmony_ci {"utf_32_le_decode", _PyCFunction_CAST(_codecs_utf_32_le_decode), METH_FASTCALL, _codecs_utf_32_le_decode__doc__}, 8537db96d56Sopenharmony_ci 8547db96d56Sopenharmony_cistatic PyObject * 8557db96d56Sopenharmony_ci_codecs_utf_32_le_decode_impl(PyObject *module, Py_buffer *data, 8567db96d56Sopenharmony_ci const char *errors, int final); 8577db96d56Sopenharmony_ci 8587db96d56Sopenharmony_cistatic PyObject * 8597db96d56Sopenharmony_ci_codecs_utf_32_le_decode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 8607db96d56Sopenharmony_ci{ 8617db96d56Sopenharmony_ci PyObject *return_value = NULL; 8627db96d56Sopenharmony_ci Py_buffer data = {NULL, NULL}; 8637db96d56Sopenharmony_ci const char *errors = NULL; 8647db96d56Sopenharmony_ci int final = 0; 8657db96d56Sopenharmony_ci 8667db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("utf_32_le_decode", nargs, 1, 3)) { 8677db96d56Sopenharmony_ci goto exit; 8687db96d56Sopenharmony_ci } 8697db96d56Sopenharmony_ci if (PyObject_GetBuffer(args[0], &data, PyBUF_SIMPLE) != 0) { 8707db96d56Sopenharmony_ci goto exit; 8717db96d56Sopenharmony_ci } 8727db96d56Sopenharmony_ci if (!PyBuffer_IsContiguous(&data, 'C')) { 8737db96d56Sopenharmony_ci _PyArg_BadArgument("utf_32_le_decode", "argument 1", "contiguous buffer", args[0]); 8747db96d56Sopenharmony_ci goto exit; 8757db96d56Sopenharmony_ci } 8767db96d56Sopenharmony_ci if (nargs < 2) { 8777db96d56Sopenharmony_ci goto skip_optional; 8787db96d56Sopenharmony_ci } 8797db96d56Sopenharmony_ci if (args[1] == Py_None) { 8807db96d56Sopenharmony_ci errors = NULL; 8817db96d56Sopenharmony_ci } 8827db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 8837db96d56Sopenharmony_ci Py_ssize_t errors_length; 8847db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 8857db96d56Sopenharmony_ci if (errors == NULL) { 8867db96d56Sopenharmony_ci goto exit; 8877db96d56Sopenharmony_ci } 8887db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 8897db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 8907db96d56Sopenharmony_ci goto exit; 8917db96d56Sopenharmony_ci } 8927db96d56Sopenharmony_ci } 8937db96d56Sopenharmony_ci else { 8947db96d56Sopenharmony_ci _PyArg_BadArgument("utf_32_le_decode", "argument 2", "str or None", args[1]); 8957db96d56Sopenharmony_ci goto exit; 8967db96d56Sopenharmony_ci } 8977db96d56Sopenharmony_ci if (nargs < 3) { 8987db96d56Sopenharmony_ci goto skip_optional; 8997db96d56Sopenharmony_ci } 9007db96d56Sopenharmony_ci final = _PyLong_AsInt(args[2]); 9017db96d56Sopenharmony_ci if (final == -1 && PyErr_Occurred()) { 9027db96d56Sopenharmony_ci goto exit; 9037db96d56Sopenharmony_ci } 9047db96d56Sopenharmony_ciskip_optional: 9057db96d56Sopenharmony_ci return_value = _codecs_utf_32_le_decode_impl(module, &data, errors, final); 9067db96d56Sopenharmony_ci 9077db96d56Sopenharmony_ciexit: 9087db96d56Sopenharmony_ci /* Cleanup for data */ 9097db96d56Sopenharmony_ci if (data.obj) { 9107db96d56Sopenharmony_ci PyBuffer_Release(&data); 9117db96d56Sopenharmony_ci } 9127db96d56Sopenharmony_ci 9137db96d56Sopenharmony_ci return return_value; 9147db96d56Sopenharmony_ci} 9157db96d56Sopenharmony_ci 9167db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_utf_32_be_decode__doc__, 9177db96d56Sopenharmony_ci"utf_32_be_decode($module, data, errors=None, final=False, /)\n" 9187db96d56Sopenharmony_ci"--\n" 9197db96d56Sopenharmony_ci"\n"); 9207db96d56Sopenharmony_ci 9217db96d56Sopenharmony_ci#define _CODECS_UTF_32_BE_DECODE_METHODDEF \ 9227db96d56Sopenharmony_ci {"utf_32_be_decode", _PyCFunction_CAST(_codecs_utf_32_be_decode), METH_FASTCALL, _codecs_utf_32_be_decode__doc__}, 9237db96d56Sopenharmony_ci 9247db96d56Sopenharmony_cistatic PyObject * 9257db96d56Sopenharmony_ci_codecs_utf_32_be_decode_impl(PyObject *module, Py_buffer *data, 9267db96d56Sopenharmony_ci const char *errors, int final); 9277db96d56Sopenharmony_ci 9287db96d56Sopenharmony_cistatic PyObject * 9297db96d56Sopenharmony_ci_codecs_utf_32_be_decode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 9307db96d56Sopenharmony_ci{ 9317db96d56Sopenharmony_ci PyObject *return_value = NULL; 9327db96d56Sopenharmony_ci Py_buffer data = {NULL, NULL}; 9337db96d56Sopenharmony_ci const char *errors = NULL; 9347db96d56Sopenharmony_ci int final = 0; 9357db96d56Sopenharmony_ci 9367db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("utf_32_be_decode", nargs, 1, 3)) { 9377db96d56Sopenharmony_ci goto exit; 9387db96d56Sopenharmony_ci } 9397db96d56Sopenharmony_ci if (PyObject_GetBuffer(args[0], &data, PyBUF_SIMPLE) != 0) { 9407db96d56Sopenharmony_ci goto exit; 9417db96d56Sopenharmony_ci } 9427db96d56Sopenharmony_ci if (!PyBuffer_IsContiguous(&data, 'C')) { 9437db96d56Sopenharmony_ci _PyArg_BadArgument("utf_32_be_decode", "argument 1", "contiguous buffer", args[0]); 9447db96d56Sopenharmony_ci goto exit; 9457db96d56Sopenharmony_ci } 9467db96d56Sopenharmony_ci if (nargs < 2) { 9477db96d56Sopenharmony_ci goto skip_optional; 9487db96d56Sopenharmony_ci } 9497db96d56Sopenharmony_ci if (args[1] == Py_None) { 9507db96d56Sopenharmony_ci errors = NULL; 9517db96d56Sopenharmony_ci } 9527db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 9537db96d56Sopenharmony_ci Py_ssize_t errors_length; 9547db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 9557db96d56Sopenharmony_ci if (errors == NULL) { 9567db96d56Sopenharmony_ci goto exit; 9577db96d56Sopenharmony_ci } 9587db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 9597db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 9607db96d56Sopenharmony_ci goto exit; 9617db96d56Sopenharmony_ci } 9627db96d56Sopenharmony_ci } 9637db96d56Sopenharmony_ci else { 9647db96d56Sopenharmony_ci _PyArg_BadArgument("utf_32_be_decode", "argument 2", "str or None", args[1]); 9657db96d56Sopenharmony_ci goto exit; 9667db96d56Sopenharmony_ci } 9677db96d56Sopenharmony_ci if (nargs < 3) { 9687db96d56Sopenharmony_ci goto skip_optional; 9697db96d56Sopenharmony_ci } 9707db96d56Sopenharmony_ci final = _PyLong_AsInt(args[2]); 9717db96d56Sopenharmony_ci if (final == -1 && PyErr_Occurred()) { 9727db96d56Sopenharmony_ci goto exit; 9737db96d56Sopenharmony_ci } 9747db96d56Sopenharmony_ciskip_optional: 9757db96d56Sopenharmony_ci return_value = _codecs_utf_32_be_decode_impl(module, &data, errors, final); 9767db96d56Sopenharmony_ci 9777db96d56Sopenharmony_ciexit: 9787db96d56Sopenharmony_ci /* Cleanup for data */ 9797db96d56Sopenharmony_ci if (data.obj) { 9807db96d56Sopenharmony_ci PyBuffer_Release(&data); 9817db96d56Sopenharmony_ci } 9827db96d56Sopenharmony_ci 9837db96d56Sopenharmony_ci return return_value; 9847db96d56Sopenharmony_ci} 9857db96d56Sopenharmony_ci 9867db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_utf_32_ex_decode__doc__, 9877db96d56Sopenharmony_ci"utf_32_ex_decode($module, data, errors=None, byteorder=0, final=False,\n" 9887db96d56Sopenharmony_ci" /)\n" 9897db96d56Sopenharmony_ci"--\n" 9907db96d56Sopenharmony_ci"\n"); 9917db96d56Sopenharmony_ci 9927db96d56Sopenharmony_ci#define _CODECS_UTF_32_EX_DECODE_METHODDEF \ 9937db96d56Sopenharmony_ci {"utf_32_ex_decode", _PyCFunction_CAST(_codecs_utf_32_ex_decode), METH_FASTCALL, _codecs_utf_32_ex_decode__doc__}, 9947db96d56Sopenharmony_ci 9957db96d56Sopenharmony_cistatic PyObject * 9967db96d56Sopenharmony_ci_codecs_utf_32_ex_decode_impl(PyObject *module, Py_buffer *data, 9977db96d56Sopenharmony_ci const char *errors, int byteorder, int final); 9987db96d56Sopenharmony_ci 9997db96d56Sopenharmony_cistatic PyObject * 10007db96d56Sopenharmony_ci_codecs_utf_32_ex_decode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 10017db96d56Sopenharmony_ci{ 10027db96d56Sopenharmony_ci PyObject *return_value = NULL; 10037db96d56Sopenharmony_ci Py_buffer data = {NULL, NULL}; 10047db96d56Sopenharmony_ci const char *errors = NULL; 10057db96d56Sopenharmony_ci int byteorder = 0; 10067db96d56Sopenharmony_ci int final = 0; 10077db96d56Sopenharmony_ci 10087db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("utf_32_ex_decode", nargs, 1, 4)) { 10097db96d56Sopenharmony_ci goto exit; 10107db96d56Sopenharmony_ci } 10117db96d56Sopenharmony_ci if (PyObject_GetBuffer(args[0], &data, PyBUF_SIMPLE) != 0) { 10127db96d56Sopenharmony_ci goto exit; 10137db96d56Sopenharmony_ci } 10147db96d56Sopenharmony_ci if (!PyBuffer_IsContiguous(&data, 'C')) { 10157db96d56Sopenharmony_ci _PyArg_BadArgument("utf_32_ex_decode", "argument 1", "contiguous buffer", args[0]); 10167db96d56Sopenharmony_ci goto exit; 10177db96d56Sopenharmony_ci } 10187db96d56Sopenharmony_ci if (nargs < 2) { 10197db96d56Sopenharmony_ci goto skip_optional; 10207db96d56Sopenharmony_ci } 10217db96d56Sopenharmony_ci if (args[1] == Py_None) { 10227db96d56Sopenharmony_ci errors = NULL; 10237db96d56Sopenharmony_ci } 10247db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 10257db96d56Sopenharmony_ci Py_ssize_t errors_length; 10267db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 10277db96d56Sopenharmony_ci if (errors == NULL) { 10287db96d56Sopenharmony_ci goto exit; 10297db96d56Sopenharmony_ci } 10307db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 10317db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 10327db96d56Sopenharmony_ci goto exit; 10337db96d56Sopenharmony_ci } 10347db96d56Sopenharmony_ci } 10357db96d56Sopenharmony_ci else { 10367db96d56Sopenharmony_ci _PyArg_BadArgument("utf_32_ex_decode", "argument 2", "str or None", args[1]); 10377db96d56Sopenharmony_ci goto exit; 10387db96d56Sopenharmony_ci } 10397db96d56Sopenharmony_ci if (nargs < 3) { 10407db96d56Sopenharmony_ci goto skip_optional; 10417db96d56Sopenharmony_ci } 10427db96d56Sopenharmony_ci byteorder = _PyLong_AsInt(args[2]); 10437db96d56Sopenharmony_ci if (byteorder == -1 && PyErr_Occurred()) { 10447db96d56Sopenharmony_ci goto exit; 10457db96d56Sopenharmony_ci } 10467db96d56Sopenharmony_ci if (nargs < 4) { 10477db96d56Sopenharmony_ci goto skip_optional; 10487db96d56Sopenharmony_ci } 10497db96d56Sopenharmony_ci final = _PyLong_AsInt(args[3]); 10507db96d56Sopenharmony_ci if (final == -1 && PyErr_Occurred()) { 10517db96d56Sopenharmony_ci goto exit; 10527db96d56Sopenharmony_ci } 10537db96d56Sopenharmony_ciskip_optional: 10547db96d56Sopenharmony_ci return_value = _codecs_utf_32_ex_decode_impl(module, &data, errors, byteorder, final); 10557db96d56Sopenharmony_ci 10567db96d56Sopenharmony_ciexit: 10577db96d56Sopenharmony_ci /* Cleanup for data */ 10587db96d56Sopenharmony_ci if (data.obj) { 10597db96d56Sopenharmony_ci PyBuffer_Release(&data); 10607db96d56Sopenharmony_ci } 10617db96d56Sopenharmony_ci 10627db96d56Sopenharmony_ci return return_value; 10637db96d56Sopenharmony_ci} 10647db96d56Sopenharmony_ci 10657db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_unicode_escape_decode__doc__, 10667db96d56Sopenharmony_ci"unicode_escape_decode($module, data, errors=None, final=True, /)\n" 10677db96d56Sopenharmony_ci"--\n" 10687db96d56Sopenharmony_ci"\n"); 10697db96d56Sopenharmony_ci 10707db96d56Sopenharmony_ci#define _CODECS_UNICODE_ESCAPE_DECODE_METHODDEF \ 10717db96d56Sopenharmony_ci {"unicode_escape_decode", _PyCFunction_CAST(_codecs_unicode_escape_decode), METH_FASTCALL, _codecs_unicode_escape_decode__doc__}, 10727db96d56Sopenharmony_ci 10737db96d56Sopenharmony_cistatic PyObject * 10747db96d56Sopenharmony_ci_codecs_unicode_escape_decode_impl(PyObject *module, Py_buffer *data, 10757db96d56Sopenharmony_ci const char *errors, int final); 10767db96d56Sopenharmony_ci 10777db96d56Sopenharmony_cistatic PyObject * 10787db96d56Sopenharmony_ci_codecs_unicode_escape_decode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 10797db96d56Sopenharmony_ci{ 10807db96d56Sopenharmony_ci PyObject *return_value = NULL; 10817db96d56Sopenharmony_ci Py_buffer data = {NULL, NULL}; 10827db96d56Sopenharmony_ci const char *errors = NULL; 10837db96d56Sopenharmony_ci int final = 1; 10847db96d56Sopenharmony_ci 10857db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("unicode_escape_decode", nargs, 1, 3)) { 10867db96d56Sopenharmony_ci goto exit; 10877db96d56Sopenharmony_ci } 10887db96d56Sopenharmony_ci if (PyUnicode_Check(args[0])) { 10897db96d56Sopenharmony_ci Py_ssize_t len; 10907db96d56Sopenharmony_ci const char *ptr = PyUnicode_AsUTF8AndSize(args[0], &len); 10917db96d56Sopenharmony_ci if (ptr == NULL) { 10927db96d56Sopenharmony_ci goto exit; 10937db96d56Sopenharmony_ci } 10947db96d56Sopenharmony_ci PyBuffer_FillInfo(&data, args[0], (void *)ptr, len, 1, 0); 10957db96d56Sopenharmony_ci } 10967db96d56Sopenharmony_ci else { /* any bytes-like object */ 10977db96d56Sopenharmony_ci if (PyObject_GetBuffer(args[0], &data, PyBUF_SIMPLE) != 0) { 10987db96d56Sopenharmony_ci goto exit; 10997db96d56Sopenharmony_ci } 11007db96d56Sopenharmony_ci if (!PyBuffer_IsContiguous(&data, 'C')) { 11017db96d56Sopenharmony_ci _PyArg_BadArgument("unicode_escape_decode", "argument 1", "contiguous buffer", args[0]); 11027db96d56Sopenharmony_ci goto exit; 11037db96d56Sopenharmony_ci } 11047db96d56Sopenharmony_ci } 11057db96d56Sopenharmony_ci if (nargs < 2) { 11067db96d56Sopenharmony_ci goto skip_optional; 11077db96d56Sopenharmony_ci } 11087db96d56Sopenharmony_ci if (args[1] == Py_None) { 11097db96d56Sopenharmony_ci errors = NULL; 11107db96d56Sopenharmony_ci } 11117db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 11127db96d56Sopenharmony_ci Py_ssize_t errors_length; 11137db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 11147db96d56Sopenharmony_ci if (errors == NULL) { 11157db96d56Sopenharmony_ci goto exit; 11167db96d56Sopenharmony_ci } 11177db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 11187db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 11197db96d56Sopenharmony_ci goto exit; 11207db96d56Sopenharmony_ci } 11217db96d56Sopenharmony_ci } 11227db96d56Sopenharmony_ci else { 11237db96d56Sopenharmony_ci _PyArg_BadArgument("unicode_escape_decode", "argument 2", "str or None", args[1]); 11247db96d56Sopenharmony_ci goto exit; 11257db96d56Sopenharmony_ci } 11267db96d56Sopenharmony_ci if (nargs < 3) { 11277db96d56Sopenharmony_ci goto skip_optional; 11287db96d56Sopenharmony_ci } 11297db96d56Sopenharmony_ci final = _PyLong_AsInt(args[2]); 11307db96d56Sopenharmony_ci if (final == -1 && PyErr_Occurred()) { 11317db96d56Sopenharmony_ci goto exit; 11327db96d56Sopenharmony_ci } 11337db96d56Sopenharmony_ciskip_optional: 11347db96d56Sopenharmony_ci return_value = _codecs_unicode_escape_decode_impl(module, &data, errors, final); 11357db96d56Sopenharmony_ci 11367db96d56Sopenharmony_ciexit: 11377db96d56Sopenharmony_ci /* Cleanup for data */ 11387db96d56Sopenharmony_ci if (data.obj) { 11397db96d56Sopenharmony_ci PyBuffer_Release(&data); 11407db96d56Sopenharmony_ci } 11417db96d56Sopenharmony_ci 11427db96d56Sopenharmony_ci return return_value; 11437db96d56Sopenharmony_ci} 11447db96d56Sopenharmony_ci 11457db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_raw_unicode_escape_decode__doc__, 11467db96d56Sopenharmony_ci"raw_unicode_escape_decode($module, data, errors=None, final=True, /)\n" 11477db96d56Sopenharmony_ci"--\n" 11487db96d56Sopenharmony_ci"\n"); 11497db96d56Sopenharmony_ci 11507db96d56Sopenharmony_ci#define _CODECS_RAW_UNICODE_ESCAPE_DECODE_METHODDEF \ 11517db96d56Sopenharmony_ci {"raw_unicode_escape_decode", _PyCFunction_CAST(_codecs_raw_unicode_escape_decode), METH_FASTCALL, _codecs_raw_unicode_escape_decode__doc__}, 11527db96d56Sopenharmony_ci 11537db96d56Sopenharmony_cistatic PyObject * 11547db96d56Sopenharmony_ci_codecs_raw_unicode_escape_decode_impl(PyObject *module, Py_buffer *data, 11557db96d56Sopenharmony_ci const char *errors, int final); 11567db96d56Sopenharmony_ci 11577db96d56Sopenharmony_cistatic PyObject * 11587db96d56Sopenharmony_ci_codecs_raw_unicode_escape_decode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 11597db96d56Sopenharmony_ci{ 11607db96d56Sopenharmony_ci PyObject *return_value = NULL; 11617db96d56Sopenharmony_ci Py_buffer data = {NULL, NULL}; 11627db96d56Sopenharmony_ci const char *errors = NULL; 11637db96d56Sopenharmony_ci int final = 1; 11647db96d56Sopenharmony_ci 11657db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("raw_unicode_escape_decode", nargs, 1, 3)) { 11667db96d56Sopenharmony_ci goto exit; 11677db96d56Sopenharmony_ci } 11687db96d56Sopenharmony_ci if (PyUnicode_Check(args[0])) { 11697db96d56Sopenharmony_ci Py_ssize_t len; 11707db96d56Sopenharmony_ci const char *ptr = PyUnicode_AsUTF8AndSize(args[0], &len); 11717db96d56Sopenharmony_ci if (ptr == NULL) { 11727db96d56Sopenharmony_ci goto exit; 11737db96d56Sopenharmony_ci } 11747db96d56Sopenharmony_ci PyBuffer_FillInfo(&data, args[0], (void *)ptr, len, 1, 0); 11757db96d56Sopenharmony_ci } 11767db96d56Sopenharmony_ci else { /* any bytes-like object */ 11777db96d56Sopenharmony_ci if (PyObject_GetBuffer(args[0], &data, PyBUF_SIMPLE) != 0) { 11787db96d56Sopenharmony_ci goto exit; 11797db96d56Sopenharmony_ci } 11807db96d56Sopenharmony_ci if (!PyBuffer_IsContiguous(&data, 'C')) { 11817db96d56Sopenharmony_ci _PyArg_BadArgument("raw_unicode_escape_decode", "argument 1", "contiguous buffer", args[0]); 11827db96d56Sopenharmony_ci goto exit; 11837db96d56Sopenharmony_ci } 11847db96d56Sopenharmony_ci } 11857db96d56Sopenharmony_ci if (nargs < 2) { 11867db96d56Sopenharmony_ci goto skip_optional; 11877db96d56Sopenharmony_ci } 11887db96d56Sopenharmony_ci if (args[1] == Py_None) { 11897db96d56Sopenharmony_ci errors = NULL; 11907db96d56Sopenharmony_ci } 11917db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 11927db96d56Sopenharmony_ci Py_ssize_t errors_length; 11937db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 11947db96d56Sopenharmony_ci if (errors == NULL) { 11957db96d56Sopenharmony_ci goto exit; 11967db96d56Sopenharmony_ci } 11977db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 11987db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 11997db96d56Sopenharmony_ci goto exit; 12007db96d56Sopenharmony_ci } 12017db96d56Sopenharmony_ci } 12027db96d56Sopenharmony_ci else { 12037db96d56Sopenharmony_ci _PyArg_BadArgument("raw_unicode_escape_decode", "argument 2", "str or None", args[1]); 12047db96d56Sopenharmony_ci goto exit; 12057db96d56Sopenharmony_ci } 12067db96d56Sopenharmony_ci if (nargs < 3) { 12077db96d56Sopenharmony_ci goto skip_optional; 12087db96d56Sopenharmony_ci } 12097db96d56Sopenharmony_ci final = _PyLong_AsInt(args[2]); 12107db96d56Sopenharmony_ci if (final == -1 && PyErr_Occurred()) { 12117db96d56Sopenharmony_ci goto exit; 12127db96d56Sopenharmony_ci } 12137db96d56Sopenharmony_ciskip_optional: 12147db96d56Sopenharmony_ci return_value = _codecs_raw_unicode_escape_decode_impl(module, &data, errors, final); 12157db96d56Sopenharmony_ci 12167db96d56Sopenharmony_ciexit: 12177db96d56Sopenharmony_ci /* Cleanup for data */ 12187db96d56Sopenharmony_ci if (data.obj) { 12197db96d56Sopenharmony_ci PyBuffer_Release(&data); 12207db96d56Sopenharmony_ci } 12217db96d56Sopenharmony_ci 12227db96d56Sopenharmony_ci return return_value; 12237db96d56Sopenharmony_ci} 12247db96d56Sopenharmony_ci 12257db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_latin_1_decode__doc__, 12267db96d56Sopenharmony_ci"latin_1_decode($module, data, errors=None, /)\n" 12277db96d56Sopenharmony_ci"--\n" 12287db96d56Sopenharmony_ci"\n"); 12297db96d56Sopenharmony_ci 12307db96d56Sopenharmony_ci#define _CODECS_LATIN_1_DECODE_METHODDEF \ 12317db96d56Sopenharmony_ci {"latin_1_decode", _PyCFunction_CAST(_codecs_latin_1_decode), METH_FASTCALL, _codecs_latin_1_decode__doc__}, 12327db96d56Sopenharmony_ci 12337db96d56Sopenharmony_cistatic PyObject * 12347db96d56Sopenharmony_ci_codecs_latin_1_decode_impl(PyObject *module, Py_buffer *data, 12357db96d56Sopenharmony_ci const char *errors); 12367db96d56Sopenharmony_ci 12377db96d56Sopenharmony_cistatic PyObject * 12387db96d56Sopenharmony_ci_codecs_latin_1_decode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 12397db96d56Sopenharmony_ci{ 12407db96d56Sopenharmony_ci PyObject *return_value = NULL; 12417db96d56Sopenharmony_ci Py_buffer data = {NULL, NULL}; 12427db96d56Sopenharmony_ci const char *errors = NULL; 12437db96d56Sopenharmony_ci 12447db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("latin_1_decode", nargs, 1, 2)) { 12457db96d56Sopenharmony_ci goto exit; 12467db96d56Sopenharmony_ci } 12477db96d56Sopenharmony_ci if (PyObject_GetBuffer(args[0], &data, PyBUF_SIMPLE) != 0) { 12487db96d56Sopenharmony_ci goto exit; 12497db96d56Sopenharmony_ci } 12507db96d56Sopenharmony_ci if (!PyBuffer_IsContiguous(&data, 'C')) { 12517db96d56Sopenharmony_ci _PyArg_BadArgument("latin_1_decode", "argument 1", "contiguous buffer", args[0]); 12527db96d56Sopenharmony_ci goto exit; 12537db96d56Sopenharmony_ci } 12547db96d56Sopenharmony_ci if (nargs < 2) { 12557db96d56Sopenharmony_ci goto skip_optional; 12567db96d56Sopenharmony_ci } 12577db96d56Sopenharmony_ci if (args[1] == Py_None) { 12587db96d56Sopenharmony_ci errors = NULL; 12597db96d56Sopenharmony_ci } 12607db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 12617db96d56Sopenharmony_ci Py_ssize_t errors_length; 12627db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 12637db96d56Sopenharmony_ci if (errors == NULL) { 12647db96d56Sopenharmony_ci goto exit; 12657db96d56Sopenharmony_ci } 12667db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 12677db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 12687db96d56Sopenharmony_ci goto exit; 12697db96d56Sopenharmony_ci } 12707db96d56Sopenharmony_ci } 12717db96d56Sopenharmony_ci else { 12727db96d56Sopenharmony_ci _PyArg_BadArgument("latin_1_decode", "argument 2", "str or None", args[1]); 12737db96d56Sopenharmony_ci goto exit; 12747db96d56Sopenharmony_ci } 12757db96d56Sopenharmony_ciskip_optional: 12767db96d56Sopenharmony_ci return_value = _codecs_latin_1_decode_impl(module, &data, errors); 12777db96d56Sopenharmony_ci 12787db96d56Sopenharmony_ciexit: 12797db96d56Sopenharmony_ci /* Cleanup for data */ 12807db96d56Sopenharmony_ci if (data.obj) { 12817db96d56Sopenharmony_ci PyBuffer_Release(&data); 12827db96d56Sopenharmony_ci } 12837db96d56Sopenharmony_ci 12847db96d56Sopenharmony_ci return return_value; 12857db96d56Sopenharmony_ci} 12867db96d56Sopenharmony_ci 12877db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_ascii_decode__doc__, 12887db96d56Sopenharmony_ci"ascii_decode($module, data, errors=None, /)\n" 12897db96d56Sopenharmony_ci"--\n" 12907db96d56Sopenharmony_ci"\n"); 12917db96d56Sopenharmony_ci 12927db96d56Sopenharmony_ci#define _CODECS_ASCII_DECODE_METHODDEF \ 12937db96d56Sopenharmony_ci {"ascii_decode", _PyCFunction_CAST(_codecs_ascii_decode), METH_FASTCALL, _codecs_ascii_decode__doc__}, 12947db96d56Sopenharmony_ci 12957db96d56Sopenharmony_cistatic PyObject * 12967db96d56Sopenharmony_ci_codecs_ascii_decode_impl(PyObject *module, Py_buffer *data, 12977db96d56Sopenharmony_ci const char *errors); 12987db96d56Sopenharmony_ci 12997db96d56Sopenharmony_cistatic PyObject * 13007db96d56Sopenharmony_ci_codecs_ascii_decode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 13017db96d56Sopenharmony_ci{ 13027db96d56Sopenharmony_ci PyObject *return_value = NULL; 13037db96d56Sopenharmony_ci Py_buffer data = {NULL, NULL}; 13047db96d56Sopenharmony_ci const char *errors = NULL; 13057db96d56Sopenharmony_ci 13067db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("ascii_decode", nargs, 1, 2)) { 13077db96d56Sopenharmony_ci goto exit; 13087db96d56Sopenharmony_ci } 13097db96d56Sopenharmony_ci if (PyObject_GetBuffer(args[0], &data, PyBUF_SIMPLE) != 0) { 13107db96d56Sopenharmony_ci goto exit; 13117db96d56Sopenharmony_ci } 13127db96d56Sopenharmony_ci if (!PyBuffer_IsContiguous(&data, 'C')) { 13137db96d56Sopenharmony_ci _PyArg_BadArgument("ascii_decode", "argument 1", "contiguous buffer", args[0]); 13147db96d56Sopenharmony_ci goto exit; 13157db96d56Sopenharmony_ci } 13167db96d56Sopenharmony_ci if (nargs < 2) { 13177db96d56Sopenharmony_ci goto skip_optional; 13187db96d56Sopenharmony_ci } 13197db96d56Sopenharmony_ci if (args[1] == Py_None) { 13207db96d56Sopenharmony_ci errors = NULL; 13217db96d56Sopenharmony_ci } 13227db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 13237db96d56Sopenharmony_ci Py_ssize_t errors_length; 13247db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 13257db96d56Sopenharmony_ci if (errors == NULL) { 13267db96d56Sopenharmony_ci goto exit; 13277db96d56Sopenharmony_ci } 13287db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 13297db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 13307db96d56Sopenharmony_ci goto exit; 13317db96d56Sopenharmony_ci } 13327db96d56Sopenharmony_ci } 13337db96d56Sopenharmony_ci else { 13347db96d56Sopenharmony_ci _PyArg_BadArgument("ascii_decode", "argument 2", "str or None", args[1]); 13357db96d56Sopenharmony_ci goto exit; 13367db96d56Sopenharmony_ci } 13377db96d56Sopenharmony_ciskip_optional: 13387db96d56Sopenharmony_ci return_value = _codecs_ascii_decode_impl(module, &data, errors); 13397db96d56Sopenharmony_ci 13407db96d56Sopenharmony_ciexit: 13417db96d56Sopenharmony_ci /* Cleanup for data */ 13427db96d56Sopenharmony_ci if (data.obj) { 13437db96d56Sopenharmony_ci PyBuffer_Release(&data); 13447db96d56Sopenharmony_ci } 13457db96d56Sopenharmony_ci 13467db96d56Sopenharmony_ci return return_value; 13477db96d56Sopenharmony_ci} 13487db96d56Sopenharmony_ci 13497db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_charmap_decode__doc__, 13507db96d56Sopenharmony_ci"charmap_decode($module, data, errors=None, mapping=None, /)\n" 13517db96d56Sopenharmony_ci"--\n" 13527db96d56Sopenharmony_ci"\n"); 13537db96d56Sopenharmony_ci 13547db96d56Sopenharmony_ci#define _CODECS_CHARMAP_DECODE_METHODDEF \ 13557db96d56Sopenharmony_ci {"charmap_decode", _PyCFunction_CAST(_codecs_charmap_decode), METH_FASTCALL, _codecs_charmap_decode__doc__}, 13567db96d56Sopenharmony_ci 13577db96d56Sopenharmony_cistatic PyObject * 13587db96d56Sopenharmony_ci_codecs_charmap_decode_impl(PyObject *module, Py_buffer *data, 13597db96d56Sopenharmony_ci const char *errors, PyObject *mapping); 13607db96d56Sopenharmony_ci 13617db96d56Sopenharmony_cistatic PyObject * 13627db96d56Sopenharmony_ci_codecs_charmap_decode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 13637db96d56Sopenharmony_ci{ 13647db96d56Sopenharmony_ci PyObject *return_value = NULL; 13657db96d56Sopenharmony_ci Py_buffer data = {NULL, NULL}; 13667db96d56Sopenharmony_ci const char *errors = NULL; 13677db96d56Sopenharmony_ci PyObject *mapping = Py_None; 13687db96d56Sopenharmony_ci 13697db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("charmap_decode", nargs, 1, 3)) { 13707db96d56Sopenharmony_ci goto exit; 13717db96d56Sopenharmony_ci } 13727db96d56Sopenharmony_ci if (PyObject_GetBuffer(args[0], &data, PyBUF_SIMPLE) != 0) { 13737db96d56Sopenharmony_ci goto exit; 13747db96d56Sopenharmony_ci } 13757db96d56Sopenharmony_ci if (!PyBuffer_IsContiguous(&data, 'C')) { 13767db96d56Sopenharmony_ci _PyArg_BadArgument("charmap_decode", "argument 1", "contiguous buffer", args[0]); 13777db96d56Sopenharmony_ci goto exit; 13787db96d56Sopenharmony_ci } 13797db96d56Sopenharmony_ci if (nargs < 2) { 13807db96d56Sopenharmony_ci goto skip_optional; 13817db96d56Sopenharmony_ci } 13827db96d56Sopenharmony_ci if (args[1] == Py_None) { 13837db96d56Sopenharmony_ci errors = NULL; 13847db96d56Sopenharmony_ci } 13857db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 13867db96d56Sopenharmony_ci Py_ssize_t errors_length; 13877db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 13887db96d56Sopenharmony_ci if (errors == NULL) { 13897db96d56Sopenharmony_ci goto exit; 13907db96d56Sopenharmony_ci } 13917db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 13927db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 13937db96d56Sopenharmony_ci goto exit; 13947db96d56Sopenharmony_ci } 13957db96d56Sopenharmony_ci } 13967db96d56Sopenharmony_ci else { 13977db96d56Sopenharmony_ci _PyArg_BadArgument("charmap_decode", "argument 2", "str or None", args[1]); 13987db96d56Sopenharmony_ci goto exit; 13997db96d56Sopenharmony_ci } 14007db96d56Sopenharmony_ci if (nargs < 3) { 14017db96d56Sopenharmony_ci goto skip_optional; 14027db96d56Sopenharmony_ci } 14037db96d56Sopenharmony_ci mapping = args[2]; 14047db96d56Sopenharmony_ciskip_optional: 14057db96d56Sopenharmony_ci return_value = _codecs_charmap_decode_impl(module, &data, errors, mapping); 14067db96d56Sopenharmony_ci 14077db96d56Sopenharmony_ciexit: 14087db96d56Sopenharmony_ci /* Cleanup for data */ 14097db96d56Sopenharmony_ci if (data.obj) { 14107db96d56Sopenharmony_ci PyBuffer_Release(&data); 14117db96d56Sopenharmony_ci } 14127db96d56Sopenharmony_ci 14137db96d56Sopenharmony_ci return return_value; 14147db96d56Sopenharmony_ci} 14157db96d56Sopenharmony_ci 14167db96d56Sopenharmony_ci#if defined(MS_WINDOWS) 14177db96d56Sopenharmony_ci 14187db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_mbcs_decode__doc__, 14197db96d56Sopenharmony_ci"mbcs_decode($module, data, errors=None, final=False, /)\n" 14207db96d56Sopenharmony_ci"--\n" 14217db96d56Sopenharmony_ci"\n"); 14227db96d56Sopenharmony_ci 14237db96d56Sopenharmony_ci#define _CODECS_MBCS_DECODE_METHODDEF \ 14247db96d56Sopenharmony_ci {"mbcs_decode", _PyCFunction_CAST(_codecs_mbcs_decode), METH_FASTCALL, _codecs_mbcs_decode__doc__}, 14257db96d56Sopenharmony_ci 14267db96d56Sopenharmony_cistatic PyObject * 14277db96d56Sopenharmony_ci_codecs_mbcs_decode_impl(PyObject *module, Py_buffer *data, 14287db96d56Sopenharmony_ci const char *errors, int final); 14297db96d56Sopenharmony_ci 14307db96d56Sopenharmony_cistatic PyObject * 14317db96d56Sopenharmony_ci_codecs_mbcs_decode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 14327db96d56Sopenharmony_ci{ 14337db96d56Sopenharmony_ci PyObject *return_value = NULL; 14347db96d56Sopenharmony_ci Py_buffer data = {NULL, NULL}; 14357db96d56Sopenharmony_ci const char *errors = NULL; 14367db96d56Sopenharmony_ci int final = 0; 14377db96d56Sopenharmony_ci 14387db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("mbcs_decode", nargs, 1, 3)) { 14397db96d56Sopenharmony_ci goto exit; 14407db96d56Sopenharmony_ci } 14417db96d56Sopenharmony_ci if (PyObject_GetBuffer(args[0], &data, PyBUF_SIMPLE) != 0) { 14427db96d56Sopenharmony_ci goto exit; 14437db96d56Sopenharmony_ci } 14447db96d56Sopenharmony_ci if (!PyBuffer_IsContiguous(&data, 'C')) { 14457db96d56Sopenharmony_ci _PyArg_BadArgument("mbcs_decode", "argument 1", "contiguous buffer", args[0]); 14467db96d56Sopenharmony_ci goto exit; 14477db96d56Sopenharmony_ci } 14487db96d56Sopenharmony_ci if (nargs < 2) { 14497db96d56Sopenharmony_ci goto skip_optional; 14507db96d56Sopenharmony_ci } 14517db96d56Sopenharmony_ci if (args[1] == Py_None) { 14527db96d56Sopenharmony_ci errors = NULL; 14537db96d56Sopenharmony_ci } 14547db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 14557db96d56Sopenharmony_ci Py_ssize_t errors_length; 14567db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 14577db96d56Sopenharmony_ci if (errors == NULL) { 14587db96d56Sopenharmony_ci goto exit; 14597db96d56Sopenharmony_ci } 14607db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 14617db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 14627db96d56Sopenharmony_ci goto exit; 14637db96d56Sopenharmony_ci } 14647db96d56Sopenharmony_ci } 14657db96d56Sopenharmony_ci else { 14667db96d56Sopenharmony_ci _PyArg_BadArgument("mbcs_decode", "argument 2", "str or None", args[1]); 14677db96d56Sopenharmony_ci goto exit; 14687db96d56Sopenharmony_ci } 14697db96d56Sopenharmony_ci if (nargs < 3) { 14707db96d56Sopenharmony_ci goto skip_optional; 14717db96d56Sopenharmony_ci } 14727db96d56Sopenharmony_ci final = _PyLong_AsInt(args[2]); 14737db96d56Sopenharmony_ci if (final == -1 && PyErr_Occurred()) { 14747db96d56Sopenharmony_ci goto exit; 14757db96d56Sopenharmony_ci } 14767db96d56Sopenharmony_ciskip_optional: 14777db96d56Sopenharmony_ci return_value = _codecs_mbcs_decode_impl(module, &data, errors, final); 14787db96d56Sopenharmony_ci 14797db96d56Sopenharmony_ciexit: 14807db96d56Sopenharmony_ci /* Cleanup for data */ 14817db96d56Sopenharmony_ci if (data.obj) { 14827db96d56Sopenharmony_ci PyBuffer_Release(&data); 14837db96d56Sopenharmony_ci } 14847db96d56Sopenharmony_ci 14857db96d56Sopenharmony_ci return return_value; 14867db96d56Sopenharmony_ci} 14877db96d56Sopenharmony_ci 14887db96d56Sopenharmony_ci#endif /* defined(MS_WINDOWS) */ 14897db96d56Sopenharmony_ci 14907db96d56Sopenharmony_ci#if defined(MS_WINDOWS) 14917db96d56Sopenharmony_ci 14927db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_oem_decode__doc__, 14937db96d56Sopenharmony_ci"oem_decode($module, data, errors=None, final=False, /)\n" 14947db96d56Sopenharmony_ci"--\n" 14957db96d56Sopenharmony_ci"\n"); 14967db96d56Sopenharmony_ci 14977db96d56Sopenharmony_ci#define _CODECS_OEM_DECODE_METHODDEF \ 14987db96d56Sopenharmony_ci {"oem_decode", _PyCFunction_CAST(_codecs_oem_decode), METH_FASTCALL, _codecs_oem_decode__doc__}, 14997db96d56Sopenharmony_ci 15007db96d56Sopenharmony_cistatic PyObject * 15017db96d56Sopenharmony_ci_codecs_oem_decode_impl(PyObject *module, Py_buffer *data, 15027db96d56Sopenharmony_ci const char *errors, int final); 15037db96d56Sopenharmony_ci 15047db96d56Sopenharmony_cistatic PyObject * 15057db96d56Sopenharmony_ci_codecs_oem_decode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 15067db96d56Sopenharmony_ci{ 15077db96d56Sopenharmony_ci PyObject *return_value = NULL; 15087db96d56Sopenharmony_ci Py_buffer data = {NULL, NULL}; 15097db96d56Sopenharmony_ci const char *errors = NULL; 15107db96d56Sopenharmony_ci int final = 0; 15117db96d56Sopenharmony_ci 15127db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("oem_decode", nargs, 1, 3)) { 15137db96d56Sopenharmony_ci goto exit; 15147db96d56Sopenharmony_ci } 15157db96d56Sopenharmony_ci if (PyObject_GetBuffer(args[0], &data, PyBUF_SIMPLE) != 0) { 15167db96d56Sopenharmony_ci goto exit; 15177db96d56Sopenharmony_ci } 15187db96d56Sopenharmony_ci if (!PyBuffer_IsContiguous(&data, 'C')) { 15197db96d56Sopenharmony_ci _PyArg_BadArgument("oem_decode", "argument 1", "contiguous buffer", args[0]); 15207db96d56Sopenharmony_ci goto exit; 15217db96d56Sopenharmony_ci } 15227db96d56Sopenharmony_ci if (nargs < 2) { 15237db96d56Sopenharmony_ci goto skip_optional; 15247db96d56Sopenharmony_ci } 15257db96d56Sopenharmony_ci if (args[1] == Py_None) { 15267db96d56Sopenharmony_ci errors = NULL; 15277db96d56Sopenharmony_ci } 15287db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 15297db96d56Sopenharmony_ci Py_ssize_t errors_length; 15307db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 15317db96d56Sopenharmony_ci if (errors == NULL) { 15327db96d56Sopenharmony_ci goto exit; 15337db96d56Sopenharmony_ci } 15347db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 15357db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 15367db96d56Sopenharmony_ci goto exit; 15377db96d56Sopenharmony_ci } 15387db96d56Sopenharmony_ci } 15397db96d56Sopenharmony_ci else { 15407db96d56Sopenharmony_ci _PyArg_BadArgument("oem_decode", "argument 2", "str or None", args[1]); 15417db96d56Sopenharmony_ci goto exit; 15427db96d56Sopenharmony_ci } 15437db96d56Sopenharmony_ci if (nargs < 3) { 15447db96d56Sopenharmony_ci goto skip_optional; 15457db96d56Sopenharmony_ci } 15467db96d56Sopenharmony_ci final = _PyLong_AsInt(args[2]); 15477db96d56Sopenharmony_ci if (final == -1 && PyErr_Occurred()) { 15487db96d56Sopenharmony_ci goto exit; 15497db96d56Sopenharmony_ci } 15507db96d56Sopenharmony_ciskip_optional: 15517db96d56Sopenharmony_ci return_value = _codecs_oem_decode_impl(module, &data, errors, final); 15527db96d56Sopenharmony_ci 15537db96d56Sopenharmony_ciexit: 15547db96d56Sopenharmony_ci /* Cleanup for data */ 15557db96d56Sopenharmony_ci if (data.obj) { 15567db96d56Sopenharmony_ci PyBuffer_Release(&data); 15577db96d56Sopenharmony_ci } 15587db96d56Sopenharmony_ci 15597db96d56Sopenharmony_ci return return_value; 15607db96d56Sopenharmony_ci} 15617db96d56Sopenharmony_ci 15627db96d56Sopenharmony_ci#endif /* defined(MS_WINDOWS) */ 15637db96d56Sopenharmony_ci 15647db96d56Sopenharmony_ci#if defined(MS_WINDOWS) 15657db96d56Sopenharmony_ci 15667db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_code_page_decode__doc__, 15677db96d56Sopenharmony_ci"code_page_decode($module, codepage, data, errors=None, final=False, /)\n" 15687db96d56Sopenharmony_ci"--\n" 15697db96d56Sopenharmony_ci"\n"); 15707db96d56Sopenharmony_ci 15717db96d56Sopenharmony_ci#define _CODECS_CODE_PAGE_DECODE_METHODDEF \ 15727db96d56Sopenharmony_ci {"code_page_decode", _PyCFunction_CAST(_codecs_code_page_decode), METH_FASTCALL, _codecs_code_page_decode__doc__}, 15737db96d56Sopenharmony_ci 15747db96d56Sopenharmony_cistatic PyObject * 15757db96d56Sopenharmony_ci_codecs_code_page_decode_impl(PyObject *module, int codepage, 15767db96d56Sopenharmony_ci Py_buffer *data, const char *errors, int final); 15777db96d56Sopenharmony_ci 15787db96d56Sopenharmony_cistatic PyObject * 15797db96d56Sopenharmony_ci_codecs_code_page_decode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 15807db96d56Sopenharmony_ci{ 15817db96d56Sopenharmony_ci PyObject *return_value = NULL; 15827db96d56Sopenharmony_ci int codepage; 15837db96d56Sopenharmony_ci Py_buffer data = {NULL, NULL}; 15847db96d56Sopenharmony_ci const char *errors = NULL; 15857db96d56Sopenharmony_ci int final = 0; 15867db96d56Sopenharmony_ci 15877db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("code_page_decode", nargs, 2, 4)) { 15887db96d56Sopenharmony_ci goto exit; 15897db96d56Sopenharmony_ci } 15907db96d56Sopenharmony_ci codepage = _PyLong_AsInt(args[0]); 15917db96d56Sopenharmony_ci if (codepage == -1 && PyErr_Occurred()) { 15927db96d56Sopenharmony_ci goto exit; 15937db96d56Sopenharmony_ci } 15947db96d56Sopenharmony_ci if (PyObject_GetBuffer(args[1], &data, PyBUF_SIMPLE) != 0) { 15957db96d56Sopenharmony_ci goto exit; 15967db96d56Sopenharmony_ci } 15977db96d56Sopenharmony_ci if (!PyBuffer_IsContiguous(&data, 'C')) { 15987db96d56Sopenharmony_ci _PyArg_BadArgument("code_page_decode", "argument 2", "contiguous buffer", args[1]); 15997db96d56Sopenharmony_ci goto exit; 16007db96d56Sopenharmony_ci } 16017db96d56Sopenharmony_ci if (nargs < 3) { 16027db96d56Sopenharmony_ci goto skip_optional; 16037db96d56Sopenharmony_ci } 16047db96d56Sopenharmony_ci if (args[2] == Py_None) { 16057db96d56Sopenharmony_ci errors = NULL; 16067db96d56Sopenharmony_ci } 16077db96d56Sopenharmony_ci else if (PyUnicode_Check(args[2])) { 16087db96d56Sopenharmony_ci Py_ssize_t errors_length; 16097db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[2], &errors_length); 16107db96d56Sopenharmony_ci if (errors == NULL) { 16117db96d56Sopenharmony_ci goto exit; 16127db96d56Sopenharmony_ci } 16137db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 16147db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 16157db96d56Sopenharmony_ci goto exit; 16167db96d56Sopenharmony_ci } 16177db96d56Sopenharmony_ci } 16187db96d56Sopenharmony_ci else { 16197db96d56Sopenharmony_ci _PyArg_BadArgument("code_page_decode", "argument 3", "str or None", args[2]); 16207db96d56Sopenharmony_ci goto exit; 16217db96d56Sopenharmony_ci } 16227db96d56Sopenharmony_ci if (nargs < 4) { 16237db96d56Sopenharmony_ci goto skip_optional; 16247db96d56Sopenharmony_ci } 16257db96d56Sopenharmony_ci final = _PyLong_AsInt(args[3]); 16267db96d56Sopenharmony_ci if (final == -1 && PyErr_Occurred()) { 16277db96d56Sopenharmony_ci goto exit; 16287db96d56Sopenharmony_ci } 16297db96d56Sopenharmony_ciskip_optional: 16307db96d56Sopenharmony_ci return_value = _codecs_code_page_decode_impl(module, codepage, &data, errors, final); 16317db96d56Sopenharmony_ci 16327db96d56Sopenharmony_ciexit: 16337db96d56Sopenharmony_ci /* Cleanup for data */ 16347db96d56Sopenharmony_ci if (data.obj) { 16357db96d56Sopenharmony_ci PyBuffer_Release(&data); 16367db96d56Sopenharmony_ci } 16377db96d56Sopenharmony_ci 16387db96d56Sopenharmony_ci return return_value; 16397db96d56Sopenharmony_ci} 16407db96d56Sopenharmony_ci 16417db96d56Sopenharmony_ci#endif /* defined(MS_WINDOWS) */ 16427db96d56Sopenharmony_ci 16437db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_readbuffer_encode__doc__, 16447db96d56Sopenharmony_ci"readbuffer_encode($module, data, errors=None, /)\n" 16457db96d56Sopenharmony_ci"--\n" 16467db96d56Sopenharmony_ci"\n"); 16477db96d56Sopenharmony_ci 16487db96d56Sopenharmony_ci#define _CODECS_READBUFFER_ENCODE_METHODDEF \ 16497db96d56Sopenharmony_ci {"readbuffer_encode", _PyCFunction_CAST(_codecs_readbuffer_encode), METH_FASTCALL, _codecs_readbuffer_encode__doc__}, 16507db96d56Sopenharmony_ci 16517db96d56Sopenharmony_cistatic PyObject * 16527db96d56Sopenharmony_ci_codecs_readbuffer_encode_impl(PyObject *module, Py_buffer *data, 16537db96d56Sopenharmony_ci const char *errors); 16547db96d56Sopenharmony_ci 16557db96d56Sopenharmony_cistatic PyObject * 16567db96d56Sopenharmony_ci_codecs_readbuffer_encode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 16577db96d56Sopenharmony_ci{ 16587db96d56Sopenharmony_ci PyObject *return_value = NULL; 16597db96d56Sopenharmony_ci Py_buffer data = {NULL, NULL}; 16607db96d56Sopenharmony_ci const char *errors = NULL; 16617db96d56Sopenharmony_ci 16627db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("readbuffer_encode", nargs, 1, 2)) { 16637db96d56Sopenharmony_ci goto exit; 16647db96d56Sopenharmony_ci } 16657db96d56Sopenharmony_ci if (PyUnicode_Check(args[0])) { 16667db96d56Sopenharmony_ci Py_ssize_t len; 16677db96d56Sopenharmony_ci const char *ptr = PyUnicode_AsUTF8AndSize(args[0], &len); 16687db96d56Sopenharmony_ci if (ptr == NULL) { 16697db96d56Sopenharmony_ci goto exit; 16707db96d56Sopenharmony_ci } 16717db96d56Sopenharmony_ci PyBuffer_FillInfo(&data, args[0], (void *)ptr, len, 1, 0); 16727db96d56Sopenharmony_ci } 16737db96d56Sopenharmony_ci else { /* any bytes-like object */ 16747db96d56Sopenharmony_ci if (PyObject_GetBuffer(args[0], &data, PyBUF_SIMPLE) != 0) { 16757db96d56Sopenharmony_ci goto exit; 16767db96d56Sopenharmony_ci } 16777db96d56Sopenharmony_ci if (!PyBuffer_IsContiguous(&data, 'C')) { 16787db96d56Sopenharmony_ci _PyArg_BadArgument("readbuffer_encode", "argument 1", "contiguous buffer", args[0]); 16797db96d56Sopenharmony_ci goto exit; 16807db96d56Sopenharmony_ci } 16817db96d56Sopenharmony_ci } 16827db96d56Sopenharmony_ci if (nargs < 2) { 16837db96d56Sopenharmony_ci goto skip_optional; 16847db96d56Sopenharmony_ci } 16857db96d56Sopenharmony_ci if (args[1] == Py_None) { 16867db96d56Sopenharmony_ci errors = NULL; 16877db96d56Sopenharmony_ci } 16887db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 16897db96d56Sopenharmony_ci Py_ssize_t errors_length; 16907db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 16917db96d56Sopenharmony_ci if (errors == NULL) { 16927db96d56Sopenharmony_ci goto exit; 16937db96d56Sopenharmony_ci } 16947db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 16957db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 16967db96d56Sopenharmony_ci goto exit; 16977db96d56Sopenharmony_ci } 16987db96d56Sopenharmony_ci } 16997db96d56Sopenharmony_ci else { 17007db96d56Sopenharmony_ci _PyArg_BadArgument("readbuffer_encode", "argument 2", "str or None", args[1]); 17017db96d56Sopenharmony_ci goto exit; 17027db96d56Sopenharmony_ci } 17037db96d56Sopenharmony_ciskip_optional: 17047db96d56Sopenharmony_ci return_value = _codecs_readbuffer_encode_impl(module, &data, errors); 17057db96d56Sopenharmony_ci 17067db96d56Sopenharmony_ciexit: 17077db96d56Sopenharmony_ci /* Cleanup for data */ 17087db96d56Sopenharmony_ci if (data.obj) { 17097db96d56Sopenharmony_ci PyBuffer_Release(&data); 17107db96d56Sopenharmony_ci } 17117db96d56Sopenharmony_ci 17127db96d56Sopenharmony_ci return return_value; 17137db96d56Sopenharmony_ci} 17147db96d56Sopenharmony_ci 17157db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_utf_7_encode__doc__, 17167db96d56Sopenharmony_ci"utf_7_encode($module, str, errors=None, /)\n" 17177db96d56Sopenharmony_ci"--\n" 17187db96d56Sopenharmony_ci"\n"); 17197db96d56Sopenharmony_ci 17207db96d56Sopenharmony_ci#define _CODECS_UTF_7_ENCODE_METHODDEF \ 17217db96d56Sopenharmony_ci {"utf_7_encode", _PyCFunction_CAST(_codecs_utf_7_encode), METH_FASTCALL, _codecs_utf_7_encode__doc__}, 17227db96d56Sopenharmony_ci 17237db96d56Sopenharmony_cistatic PyObject * 17247db96d56Sopenharmony_ci_codecs_utf_7_encode_impl(PyObject *module, PyObject *str, 17257db96d56Sopenharmony_ci const char *errors); 17267db96d56Sopenharmony_ci 17277db96d56Sopenharmony_cistatic PyObject * 17287db96d56Sopenharmony_ci_codecs_utf_7_encode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 17297db96d56Sopenharmony_ci{ 17307db96d56Sopenharmony_ci PyObject *return_value = NULL; 17317db96d56Sopenharmony_ci PyObject *str; 17327db96d56Sopenharmony_ci const char *errors = NULL; 17337db96d56Sopenharmony_ci 17347db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("utf_7_encode", nargs, 1, 2)) { 17357db96d56Sopenharmony_ci goto exit; 17367db96d56Sopenharmony_ci } 17377db96d56Sopenharmony_ci if (!PyUnicode_Check(args[0])) { 17387db96d56Sopenharmony_ci _PyArg_BadArgument("utf_7_encode", "argument 1", "str", args[0]); 17397db96d56Sopenharmony_ci goto exit; 17407db96d56Sopenharmony_ci } 17417db96d56Sopenharmony_ci if (PyUnicode_READY(args[0]) == -1) { 17427db96d56Sopenharmony_ci goto exit; 17437db96d56Sopenharmony_ci } 17447db96d56Sopenharmony_ci str = args[0]; 17457db96d56Sopenharmony_ci if (nargs < 2) { 17467db96d56Sopenharmony_ci goto skip_optional; 17477db96d56Sopenharmony_ci } 17487db96d56Sopenharmony_ci if (args[1] == Py_None) { 17497db96d56Sopenharmony_ci errors = NULL; 17507db96d56Sopenharmony_ci } 17517db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 17527db96d56Sopenharmony_ci Py_ssize_t errors_length; 17537db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 17547db96d56Sopenharmony_ci if (errors == NULL) { 17557db96d56Sopenharmony_ci goto exit; 17567db96d56Sopenharmony_ci } 17577db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 17587db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 17597db96d56Sopenharmony_ci goto exit; 17607db96d56Sopenharmony_ci } 17617db96d56Sopenharmony_ci } 17627db96d56Sopenharmony_ci else { 17637db96d56Sopenharmony_ci _PyArg_BadArgument("utf_7_encode", "argument 2", "str or None", args[1]); 17647db96d56Sopenharmony_ci goto exit; 17657db96d56Sopenharmony_ci } 17667db96d56Sopenharmony_ciskip_optional: 17677db96d56Sopenharmony_ci return_value = _codecs_utf_7_encode_impl(module, str, errors); 17687db96d56Sopenharmony_ci 17697db96d56Sopenharmony_ciexit: 17707db96d56Sopenharmony_ci return return_value; 17717db96d56Sopenharmony_ci} 17727db96d56Sopenharmony_ci 17737db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_utf_8_encode__doc__, 17747db96d56Sopenharmony_ci"utf_8_encode($module, str, errors=None, /)\n" 17757db96d56Sopenharmony_ci"--\n" 17767db96d56Sopenharmony_ci"\n"); 17777db96d56Sopenharmony_ci 17787db96d56Sopenharmony_ci#define _CODECS_UTF_8_ENCODE_METHODDEF \ 17797db96d56Sopenharmony_ci {"utf_8_encode", _PyCFunction_CAST(_codecs_utf_8_encode), METH_FASTCALL, _codecs_utf_8_encode__doc__}, 17807db96d56Sopenharmony_ci 17817db96d56Sopenharmony_cistatic PyObject * 17827db96d56Sopenharmony_ci_codecs_utf_8_encode_impl(PyObject *module, PyObject *str, 17837db96d56Sopenharmony_ci const char *errors); 17847db96d56Sopenharmony_ci 17857db96d56Sopenharmony_cistatic PyObject * 17867db96d56Sopenharmony_ci_codecs_utf_8_encode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 17877db96d56Sopenharmony_ci{ 17887db96d56Sopenharmony_ci PyObject *return_value = NULL; 17897db96d56Sopenharmony_ci PyObject *str; 17907db96d56Sopenharmony_ci const char *errors = NULL; 17917db96d56Sopenharmony_ci 17927db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("utf_8_encode", nargs, 1, 2)) { 17937db96d56Sopenharmony_ci goto exit; 17947db96d56Sopenharmony_ci } 17957db96d56Sopenharmony_ci if (!PyUnicode_Check(args[0])) { 17967db96d56Sopenharmony_ci _PyArg_BadArgument("utf_8_encode", "argument 1", "str", args[0]); 17977db96d56Sopenharmony_ci goto exit; 17987db96d56Sopenharmony_ci } 17997db96d56Sopenharmony_ci if (PyUnicode_READY(args[0]) == -1) { 18007db96d56Sopenharmony_ci goto exit; 18017db96d56Sopenharmony_ci } 18027db96d56Sopenharmony_ci str = args[0]; 18037db96d56Sopenharmony_ci if (nargs < 2) { 18047db96d56Sopenharmony_ci goto skip_optional; 18057db96d56Sopenharmony_ci } 18067db96d56Sopenharmony_ci if (args[1] == Py_None) { 18077db96d56Sopenharmony_ci errors = NULL; 18087db96d56Sopenharmony_ci } 18097db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 18107db96d56Sopenharmony_ci Py_ssize_t errors_length; 18117db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 18127db96d56Sopenharmony_ci if (errors == NULL) { 18137db96d56Sopenharmony_ci goto exit; 18147db96d56Sopenharmony_ci } 18157db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 18167db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 18177db96d56Sopenharmony_ci goto exit; 18187db96d56Sopenharmony_ci } 18197db96d56Sopenharmony_ci } 18207db96d56Sopenharmony_ci else { 18217db96d56Sopenharmony_ci _PyArg_BadArgument("utf_8_encode", "argument 2", "str or None", args[1]); 18227db96d56Sopenharmony_ci goto exit; 18237db96d56Sopenharmony_ci } 18247db96d56Sopenharmony_ciskip_optional: 18257db96d56Sopenharmony_ci return_value = _codecs_utf_8_encode_impl(module, str, errors); 18267db96d56Sopenharmony_ci 18277db96d56Sopenharmony_ciexit: 18287db96d56Sopenharmony_ci return return_value; 18297db96d56Sopenharmony_ci} 18307db96d56Sopenharmony_ci 18317db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_utf_16_encode__doc__, 18327db96d56Sopenharmony_ci"utf_16_encode($module, str, errors=None, byteorder=0, /)\n" 18337db96d56Sopenharmony_ci"--\n" 18347db96d56Sopenharmony_ci"\n"); 18357db96d56Sopenharmony_ci 18367db96d56Sopenharmony_ci#define _CODECS_UTF_16_ENCODE_METHODDEF \ 18377db96d56Sopenharmony_ci {"utf_16_encode", _PyCFunction_CAST(_codecs_utf_16_encode), METH_FASTCALL, _codecs_utf_16_encode__doc__}, 18387db96d56Sopenharmony_ci 18397db96d56Sopenharmony_cistatic PyObject * 18407db96d56Sopenharmony_ci_codecs_utf_16_encode_impl(PyObject *module, PyObject *str, 18417db96d56Sopenharmony_ci const char *errors, int byteorder); 18427db96d56Sopenharmony_ci 18437db96d56Sopenharmony_cistatic PyObject * 18447db96d56Sopenharmony_ci_codecs_utf_16_encode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 18457db96d56Sopenharmony_ci{ 18467db96d56Sopenharmony_ci PyObject *return_value = NULL; 18477db96d56Sopenharmony_ci PyObject *str; 18487db96d56Sopenharmony_ci const char *errors = NULL; 18497db96d56Sopenharmony_ci int byteorder = 0; 18507db96d56Sopenharmony_ci 18517db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("utf_16_encode", nargs, 1, 3)) { 18527db96d56Sopenharmony_ci goto exit; 18537db96d56Sopenharmony_ci } 18547db96d56Sopenharmony_ci if (!PyUnicode_Check(args[0])) { 18557db96d56Sopenharmony_ci _PyArg_BadArgument("utf_16_encode", "argument 1", "str", args[0]); 18567db96d56Sopenharmony_ci goto exit; 18577db96d56Sopenharmony_ci } 18587db96d56Sopenharmony_ci if (PyUnicode_READY(args[0]) == -1) { 18597db96d56Sopenharmony_ci goto exit; 18607db96d56Sopenharmony_ci } 18617db96d56Sopenharmony_ci str = args[0]; 18627db96d56Sopenharmony_ci if (nargs < 2) { 18637db96d56Sopenharmony_ci goto skip_optional; 18647db96d56Sopenharmony_ci } 18657db96d56Sopenharmony_ci if (args[1] == Py_None) { 18667db96d56Sopenharmony_ci errors = NULL; 18677db96d56Sopenharmony_ci } 18687db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 18697db96d56Sopenharmony_ci Py_ssize_t errors_length; 18707db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 18717db96d56Sopenharmony_ci if (errors == NULL) { 18727db96d56Sopenharmony_ci goto exit; 18737db96d56Sopenharmony_ci } 18747db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 18757db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 18767db96d56Sopenharmony_ci goto exit; 18777db96d56Sopenharmony_ci } 18787db96d56Sopenharmony_ci } 18797db96d56Sopenharmony_ci else { 18807db96d56Sopenharmony_ci _PyArg_BadArgument("utf_16_encode", "argument 2", "str or None", args[1]); 18817db96d56Sopenharmony_ci goto exit; 18827db96d56Sopenharmony_ci } 18837db96d56Sopenharmony_ci if (nargs < 3) { 18847db96d56Sopenharmony_ci goto skip_optional; 18857db96d56Sopenharmony_ci } 18867db96d56Sopenharmony_ci byteorder = _PyLong_AsInt(args[2]); 18877db96d56Sopenharmony_ci if (byteorder == -1 && PyErr_Occurred()) { 18887db96d56Sopenharmony_ci goto exit; 18897db96d56Sopenharmony_ci } 18907db96d56Sopenharmony_ciskip_optional: 18917db96d56Sopenharmony_ci return_value = _codecs_utf_16_encode_impl(module, str, errors, byteorder); 18927db96d56Sopenharmony_ci 18937db96d56Sopenharmony_ciexit: 18947db96d56Sopenharmony_ci return return_value; 18957db96d56Sopenharmony_ci} 18967db96d56Sopenharmony_ci 18977db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_utf_16_le_encode__doc__, 18987db96d56Sopenharmony_ci"utf_16_le_encode($module, str, errors=None, /)\n" 18997db96d56Sopenharmony_ci"--\n" 19007db96d56Sopenharmony_ci"\n"); 19017db96d56Sopenharmony_ci 19027db96d56Sopenharmony_ci#define _CODECS_UTF_16_LE_ENCODE_METHODDEF \ 19037db96d56Sopenharmony_ci {"utf_16_le_encode", _PyCFunction_CAST(_codecs_utf_16_le_encode), METH_FASTCALL, _codecs_utf_16_le_encode__doc__}, 19047db96d56Sopenharmony_ci 19057db96d56Sopenharmony_cistatic PyObject * 19067db96d56Sopenharmony_ci_codecs_utf_16_le_encode_impl(PyObject *module, PyObject *str, 19077db96d56Sopenharmony_ci const char *errors); 19087db96d56Sopenharmony_ci 19097db96d56Sopenharmony_cistatic PyObject * 19107db96d56Sopenharmony_ci_codecs_utf_16_le_encode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 19117db96d56Sopenharmony_ci{ 19127db96d56Sopenharmony_ci PyObject *return_value = NULL; 19137db96d56Sopenharmony_ci PyObject *str; 19147db96d56Sopenharmony_ci const char *errors = NULL; 19157db96d56Sopenharmony_ci 19167db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("utf_16_le_encode", nargs, 1, 2)) { 19177db96d56Sopenharmony_ci goto exit; 19187db96d56Sopenharmony_ci } 19197db96d56Sopenharmony_ci if (!PyUnicode_Check(args[0])) { 19207db96d56Sopenharmony_ci _PyArg_BadArgument("utf_16_le_encode", "argument 1", "str", args[0]); 19217db96d56Sopenharmony_ci goto exit; 19227db96d56Sopenharmony_ci } 19237db96d56Sopenharmony_ci if (PyUnicode_READY(args[0]) == -1) { 19247db96d56Sopenharmony_ci goto exit; 19257db96d56Sopenharmony_ci } 19267db96d56Sopenharmony_ci str = args[0]; 19277db96d56Sopenharmony_ci if (nargs < 2) { 19287db96d56Sopenharmony_ci goto skip_optional; 19297db96d56Sopenharmony_ci } 19307db96d56Sopenharmony_ci if (args[1] == Py_None) { 19317db96d56Sopenharmony_ci errors = NULL; 19327db96d56Sopenharmony_ci } 19337db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 19347db96d56Sopenharmony_ci Py_ssize_t errors_length; 19357db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 19367db96d56Sopenharmony_ci if (errors == NULL) { 19377db96d56Sopenharmony_ci goto exit; 19387db96d56Sopenharmony_ci } 19397db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 19407db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 19417db96d56Sopenharmony_ci goto exit; 19427db96d56Sopenharmony_ci } 19437db96d56Sopenharmony_ci } 19447db96d56Sopenharmony_ci else { 19457db96d56Sopenharmony_ci _PyArg_BadArgument("utf_16_le_encode", "argument 2", "str or None", args[1]); 19467db96d56Sopenharmony_ci goto exit; 19477db96d56Sopenharmony_ci } 19487db96d56Sopenharmony_ciskip_optional: 19497db96d56Sopenharmony_ci return_value = _codecs_utf_16_le_encode_impl(module, str, errors); 19507db96d56Sopenharmony_ci 19517db96d56Sopenharmony_ciexit: 19527db96d56Sopenharmony_ci return return_value; 19537db96d56Sopenharmony_ci} 19547db96d56Sopenharmony_ci 19557db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_utf_16_be_encode__doc__, 19567db96d56Sopenharmony_ci"utf_16_be_encode($module, str, errors=None, /)\n" 19577db96d56Sopenharmony_ci"--\n" 19587db96d56Sopenharmony_ci"\n"); 19597db96d56Sopenharmony_ci 19607db96d56Sopenharmony_ci#define _CODECS_UTF_16_BE_ENCODE_METHODDEF \ 19617db96d56Sopenharmony_ci {"utf_16_be_encode", _PyCFunction_CAST(_codecs_utf_16_be_encode), METH_FASTCALL, _codecs_utf_16_be_encode__doc__}, 19627db96d56Sopenharmony_ci 19637db96d56Sopenharmony_cistatic PyObject * 19647db96d56Sopenharmony_ci_codecs_utf_16_be_encode_impl(PyObject *module, PyObject *str, 19657db96d56Sopenharmony_ci const char *errors); 19667db96d56Sopenharmony_ci 19677db96d56Sopenharmony_cistatic PyObject * 19687db96d56Sopenharmony_ci_codecs_utf_16_be_encode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 19697db96d56Sopenharmony_ci{ 19707db96d56Sopenharmony_ci PyObject *return_value = NULL; 19717db96d56Sopenharmony_ci PyObject *str; 19727db96d56Sopenharmony_ci const char *errors = NULL; 19737db96d56Sopenharmony_ci 19747db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("utf_16_be_encode", nargs, 1, 2)) { 19757db96d56Sopenharmony_ci goto exit; 19767db96d56Sopenharmony_ci } 19777db96d56Sopenharmony_ci if (!PyUnicode_Check(args[0])) { 19787db96d56Sopenharmony_ci _PyArg_BadArgument("utf_16_be_encode", "argument 1", "str", args[0]); 19797db96d56Sopenharmony_ci goto exit; 19807db96d56Sopenharmony_ci } 19817db96d56Sopenharmony_ci if (PyUnicode_READY(args[0]) == -1) { 19827db96d56Sopenharmony_ci goto exit; 19837db96d56Sopenharmony_ci } 19847db96d56Sopenharmony_ci str = args[0]; 19857db96d56Sopenharmony_ci if (nargs < 2) { 19867db96d56Sopenharmony_ci goto skip_optional; 19877db96d56Sopenharmony_ci } 19887db96d56Sopenharmony_ci if (args[1] == Py_None) { 19897db96d56Sopenharmony_ci errors = NULL; 19907db96d56Sopenharmony_ci } 19917db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 19927db96d56Sopenharmony_ci Py_ssize_t errors_length; 19937db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 19947db96d56Sopenharmony_ci if (errors == NULL) { 19957db96d56Sopenharmony_ci goto exit; 19967db96d56Sopenharmony_ci } 19977db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 19987db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 19997db96d56Sopenharmony_ci goto exit; 20007db96d56Sopenharmony_ci } 20017db96d56Sopenharmony_ci } 20027db96d56Sopenharmony_ci else { 20037db96d56Sopenharmony_ci _PyArg_BadArgument("utf_16_be_encode", "argument 2", "str or None", args[1]); 20047db96d56Sopenharmony_ci goto exit; 20057db96d56Sopenharmony_ci } 20067db96d56Sopenharmony_ciskip_optional: 20077db96d56Sopenharmony_ci return_value = _codecs_utf_16_be_encode_impl(module, str, errors); 20087db96d56Sopenharmony_ci 20097db96d56Sopenharmony_ciexit: 20107db96d56Sopenharmony_ci return return_value; 20117db96d56Sopenharmony_ci} 20127db96d56Sopenharmony_ci 20137db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_utf_32_encode__doc__, 20147db96d56Sopenharmony_ci"utf_32_encode($module, str, errors=None, byteorder=0, /)\n" 20157db96d56Sopenharmony_ci"--\n" 20167db96d56Sopenharmony_ci"\n"); 20177db96d56Sopenharmony_ci 20187db96d56Sopenharmony_ci#define _CODECS_UTF_32_ENCODE_METHODDEF \ 20197db96d56Sopenharmony_ci {"utf_32_encode", _PyCFunction_CAST(_codecs_utf_32_encode), METH_FASTCALL, _codecs_utf_32_encode__doc__}, 20207db96d56Sopenharmony_ci 20217db96d56Sopenharmony_cistatic PyObject * 20227db96d56Sopenharmony_ci_codecs_utf_32_encode_impl(PyObject *module, PyObject *str, 20237db96d56Sopenharmony_ci const char *errors, int byteorder); 20247db96d56Sopenharmony_ci 20257db96d56Sopenharmony_cistatic PyObject * 20267db96d56Sopenharmony_ci_codecs_utf_32_encode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 20277db96d56Sopenharmony_ci{ 20287db96d56Sopenharmony_ci PyObject *return_value = NULL; 20297db96d56Sopenharmony_ci PyObject *str; 20307db96d56Sopenharmony_ci const char *errors = NULL; 20317db96d56Sopenharmony_ci int byteorder = 0; 20327db96d56Sopenharmony_ci 20337db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("utf_32_encode", nargs, 1, 3)) { 20347db96d56Sopenharmony_ci goto exit; 20357db96d56Sopenharmony_ci } 20367db96d56Sopenharmony_ci if (!PyUnicode_Check(args[0])) { 20377db96d56Sopenharmony_ci _PyArg_BadArgument("utf_32_encode", "argument 1", "str", args[0]); 20387db96d56Sopenharmony_ci goto exit; 20397db96d56Sopenharmony_ci } 20407db96d56Sopenharmony_ci if (PyUnicode_READY(args[0]) == -1) { 20417db96d56Sopenharmony_ci goto exit; 20427db96d56Sopenharmony_ci } 20437db96d56Sopenharmony_ci str = args[0]; 20447db96d56Sopenharmony_ci if (nargs < 2) { 20457db96d56Sopenharmony_ci goto skip_optional; 20467db96d56Sopenharmony_ci } 20477db96d56Sopenharmony_ci if (args[1] == Py_None) { 20487db96d56Sopenharmony_ci errors = NULL; 20497db96d56Sopenharmony_ci } 20507db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 20517db96d56Sopenharmony_ci Py_ssize_t errors_length; 20527db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 20537db96d56Sopenharmony_ci if (errors == NULL) { 20547db96d56Sopenharmony_ci goto exit; 20557db96d56Sopenharmony_ci } 20567db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 20577db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 20587db96d56Sopenharmony_ci goto exit; 20597db96d56Sopenharmony_ci } 20607db96d56Sopenharmony_ci } 20617db96d56Sopenharmony_ci else { 20627db96d56Sopenharmony_ci _PyArg_BadArgument("utf_32_encode", "argument 2", "str or None", args[1]); 20637db96d56Sopenharmony_ci goto exit; 20647db96d56Sopenharmony_ci } 20657db96d56Sopenharmony_ci if (nargs < 3) { 20667db96d56Sopenharmony_ci goto skip_optional; 20677db96d56Sopenharmony_ci } 20687db96d56Sopenharmony_ci byteorder = _PyLong_AsInt(args[2]); 20697db96d56Sopenharmony_ci if (byteorder == -1 && PyErr_Occurred()) { 20707db96d56Sopenharmony_ci goto exit; 20717db96d56Sopenharmony_ci } 20727db96d56Sopenharmony_ciskip_optional: 20737db96d56Sopenharmony_ci return_value = _codecs_utf_32_encode_impl(module, str, errors, byteorder); 20747db96d56Sopenharmony_ci 20757db96d56Sopenharmony_ciexit: 20767db96d56Sopenharmony_ci return return_value; 20777db96d56Sopenharmony_ci} 20787db96d56Sopenharmony_ci 20797db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_utf_32_le_encode__doc__, 20807db96d56Sopenharmony_ci"utf_32_le_encode($module, str, errors=None, /)\n" 20817db96d56Sopenharmony_ci"--\n" 20827db96d56Sopenharmony_ci"\n"); 20837db96d56Sopenharmony_ci 20847db96d56Sopenharmony_ci#define _CODECS_UTF_32_LE_ENCODE_METHODDEF \ 20857db96d56Sopenharmony_ci {"utf_32_le_encode", _PyCFunction_CAST(_codecs_utf_32_le_encode), METH_FASTCALL, _codecs_utf_32_le_encode__doc__}, 20867db96d56Sopenharmony_ci 20877db96d56Sopenharmony_cistatic PyObject * 20887db96d56Sopenharmony_ci_codecs_utf_32_le_encode_impl(PyObject *module, PyObject *str, 20897db96d56Sopenharmony_ci const char *errors); 20907db96d56Sopenharmony_ci 20917db96d56Sopenharmony_cistatic PyObject * 20927db96d56Sopenharmony_ci_codecs_utf_32_le_encode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 20937db96d56Sopenharmony_ci{ 20947db96d56Sopenharmony_ci PyObject *return_value = NULL; 20957db96d56Sopenharmony_ci PyObject *str; 20967db96d56Sopenharmony_ci const char *errors = NULL; 20977db96d56Sopenharmony_ci 20987db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("utf_32_le_encode", nargs, 1, 2)) { 20997db96d56Sopenharmony_ci goto exit; 21007db96d56Sopenharmony_ci } 21017db96d56Sopenharmony_ci if (!PyUnicode_Check(args[0])) { 21027db96d56Sopenharmony_ci _PyArg_BadArgument("utf_32_le_encode", "argument 1", "str", args[0]); 21037db96d56Sopenharmony_ci goto exit; 21047db96d56Sopenharmony_ci } 21057db96d56Sopenharmony_ci if (PyUnicode_READY(args[0]) == -1) { 21067db96d56Sopenharmony_ci goto exit; 21077db96d56Sopenharmony_ci } 21087db96d56Sopenharmony_ci str = args[0]; 21097db96d56Sopenharmony_ci if (nargs < 2) { 21107db96d56Sopenharmony_ci goto skip_optional; 21117db96d56Sopenharmony_ci } 21127db96d56Sopenharmony_ci if (args[1] == Py_None) { 21137db96d56Sopenharmony_ci errors = NULL; 21147db96d56Sopenharmony_ci } 21157db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 21167db96d56Sopenharmony_ci Py_ssize_t errors_length; 21177db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 21187db96d56Sopenharmony_ci if (errors == NULL) { 21197db96d56Sopenharmony_ci goto exit; 21207db96d56Sopenharmony_ci } 21217db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 21227db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 21237db96d56Sopenharmony_ci goto exit; 21247db96d56Sopenharmony_ci } 21257db96d56Sopenharmony_ci } 21267db96d56Sopenharmony_ci else { 21277db96d56Sopenharmony_ci _PyArg_BadArgument("utf_32_le_encode", "argument 2", "str or None", args[1]); 21287db96d56Sopenharmony_ci goto exit; 21297db96d56Sopenharmony_ci } 21307db96d56Sopenharmony_ciskip_optional: 21317db96d56Sopenharmony_ci return_value = _codecs_utf_32_le_encode_impl(module, str, errors); 21327db96d56Sopenharmony_ci 21337db96d56Sopenharmony_ciexit: 21347db96d56Sopenharmony_ci return return_value; 21357db96d56Sopenharmony_ci} 21367db96d56Sopenharmony_ci 21377db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_utf_32_be_encode__doc__, 21387db96d56Sopenharmony_ci"utf_32_be_encode($module, str, errors=None, /)\n" 21397db96d56Sopenharmony_ci"--\n" 21407db96d56Sopenharmony_ci"\n"); 21417db96d56Sopenharmony_ci 21427db96d56Sopenharmony_ci#define _CODECS_UTF_32_BE_ENCODE_METHODDEF \ 21437db96d56Sopenharmony_ci {"utf_32_be_encode", _PyCFunction_CAST(_codecs_utf_32_be_encode), METH_FASTCALL, _codecs_utf_32_be_encode__doc__}, 21447db96d56Sopenharmony_ci 21457db96d56Sopenharmony_cistatic PyObject * 21467db96d56Sopenharmony_ci_codecs_utf_32_be_encode_impl(PyObject *module, PyObject *str, 21477db96d56Sopenharmony_ci const char *errors); 21487db96d56Sopenharmony_ci 21497db96d56Sopenharmony_cistatic PyObject * 21507db96d56Sopenharmony_ci_codecs_utf_32_be_encode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 21517db96d56Sopenharmony_ci{ 21527db96d56Sopenharmony_ci PyObject *return_value = NULL; 21537db96d56Sopenharmony_ci PyObject *str; 21547db96d56Sopenharmony_ci const char *errors = NULL; 21557db96d56Sopenharmony_ci 21567db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("utf_32_be_encode", nargs, 1, 2)) { 21577db96d56Sopenharmony_ci goto exit; 21587db96d56Sopenharmony_ci } 21597db96d56Sopenharmony_ci if (!PyUnicode_Check(args[0])) { 21607db96d56Sopenharmony_ci _PyArg_BadArgument("utf_32_be_encode", "argument 1", "str", args[0]); 21617db96d56Sopenharmony_ci goto exit; 21627db96d56Sopenharmony_ci } 21637db96d56Sopenharmony_ci if (PyUnicode_READY(args[0]) == -1) { 21647db96d56Sopenharmony_ci goto exit; 21657db96d56Sopenharmony_ci } 21667db96d56Sopenharmony_ci str = args[0]; 21677db96d56Sopenharmony_ci if (nargs < 2) { 21687db96d56Sopenharmony_ci goto skip_optional; 21697db96d56Sopenharmony_ci } 21707db96d56Sopenharmony_ci if (args[1] == Py_None) { 21717db96d56Sopenharmony_ci errors = NULL; 21727db96d56Sopenharmony_ci } 21737db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 21747db96d56Sopenharmony_ci Py_ssize_t errors_length; 21757db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 21767db96d56Sopenharmony_ci if (errors == NULL) { 21777db96d56Sopenharmony_ci goto exit; 21787db96d56Sopenharmony_ci } 21797db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 21807db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 21817db96d56Sopenharmony_ci goto exit; 21827db96d56Sopenharmony_ci } 21837db96d56Sopenharmony_ci } 21847db96d56Sopenharmony_ci else { 21857db96d56Sopenharmony_ci _PyArg_BadArgument("utf_32_be_encode", "argument 2", "str or None", args[1]); 21867db96d56Sopenharmony_ci goto exit; 21877db96d56Sopenharmony_ci } 21887db96d56Sopenharmony_ciskip_optional: 21897db96d56Sopenharmony_ci return_value = _codecs_utf_32_be_encode_impl(module, str, errors); 21907db96d56Sopenharmony_ci 21917db96d56Sopenharmony_ciexit: 21927db96d56Sopenharmony_ci return return_value; 21937db96d56Sopenharmony_ci} 21947db96d56Sopenharmony_ci 21957db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_unicode_escape_encode__doc__, 21967db96d56Sopenharmony_ci"unicode_escape_encode($module, str, errors=None, /)\n" 21977db96d56Sopenharmony_ci"--\n" 21987db96d56Sopenharmony_ci"\n"); 21997db96d56Sopenharmony_ci 22007db96d56Sopenharmony_ci#define _CODECS_UNICODE_ESCAPE_ENCODE_METHODDEF \ 22017db96d56Sopenharmony_ci {"unicode_escape_encode", _PyCFunction_CAST(_codecs_unicode_escape_encode), METH_FASTCALL, _codecs_unicode_escape_encode__doc__}, 22027db96d56Sopenharmony_ci 22037db96d56Sopenharmony_cistatic PyObject * 22047db96d56Sopenharmony_ci_codecs_unicode_escape_encode_impl(PyObject *module, PyObject *str, 22057db96d56Sopenharmony_ci const char *errors); 22067db96d56Sopenharmony_ci 22077db96d56Sopenharmony_cistatic PyObject * 22087db96d56Sopenharmony_ci_codecs_unicode_escape_encode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 22097db96d56Sopenharmony_ci{ 22107db96d56Sopenharmony_ci PyObject *return_value = NULL; 22117db96d56Sopenharmony_ci PyObject *str; 22127db96d56Sopenharmony_ci const char *errors = NULL; 22137db96d56Sopenharmony_ci 22147db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("unicode_escape_encode", nargs, 1, 2)) { 22157db96d56Sopenharmony_ci goto exit; 22167db96d56Sopenharmony_ci } 22177db96d56Sopenharmony_ci if (!PyUnicode_Check(args[0])) { 22187db96d56Sopenharmony_ci _PyArg_BadArgument("unicode_escape_encode", "argument 1", "str", args[0]); 22197db96d56Sopenharmony_ci goto exit; 22207db96d56Sopenharmony_ci } 22217db96d56Sopenharmony_ci if (PyUnicode_READY(args[0]) == -1) { 22227db96d56Sopenharmony_ci goto exit; 22237db96d56Sopenharmony_ci } 22247db96d56Sopenharmony_ci str = args[0]; 22257db96d56Sopenharmony_ci if (nargs < 2) { 22267db96d56Sopenharmony_ci goto skip_optional; 22277db96d56Sopenharmony_ci } 22287db96d56Sopenharmony_ci if (args[1] == Py_None) { 22297db96d56Sopenharmony_ci errors = NULL; 22307db96d56Sopenharmony_ci } 22317db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 22327db96d56Sopenharmony_ci Py_ssize_t errors_length; 22337db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 22347db96d56Sopenharmony_ci if (errors == NULL) { 22357db96d56Sopenharmony_ci goto exit; 22367db96d56Sopenharmony_ci } 22377db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 22387db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 22397db96d56Sopenharmony_ci goto exit; 22407db96d56Sopenharmony_ci } 22417db96d56Sopenharmony_ci } 22427db96d56Sopenharmony_ci else { 22437db96d56Sopenharmony_ci _PyArg_BadArgument("unicode_escape_encode", "argument 2", "str or None", args[1]); 22447db96d56Sopenharmony_ci goto exit; 22457db96d56Sopenharmony_ci } 22467db96d56Sopenharmony_ciskip_optional: 22477db96d56Sopenharmony_ci return_value = _codecs_unicode_escape_encode_impl(module, str, errors); 22487db96d56Sopenharmony_ci 22497db96d56Sopenharmony_ciexit: 22507db96d56Sopenharmony_ci return return_value; 22517db96d56Sopenharmony_ci} 22527db96d56Sopenharmony_ci 22537db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_raw_unicode_escape_encode__doc__, 22547db96d56Sopenharmony_ci"raw_unicode_escape_encode($module, str, errors=None, /)\n" 22557db96d56Sopenharmony_ci"--\n" 22567db96d56Sopenharmony_ci"\n"); 22577db96d56Sopenharmony_ci 22587db96d56Sopenharmony_ci#define _CODECS_RAW_UNICODE_ESCAPE_ENCODE_METHODDEF \ 22597db96d56Sopenharmony_ci {"raw_unicode_escape_encode", _PyCFunction_CAST(_codecs_raw_unicode_escape_encode), METH_FASTCALL, _codecs_raw_unicode_escape_encode__doc__}, 22607db96d56Sopenharmony_ci 22617db96d56Sopenharmony_cistatic PyObject * 22627db96d56Sopenharmony_ci_codecs_raw_unicode_escape_encode_impl(PyObject *module, PyObject *str, 22637db96d56Sopenharmony_ci const char *errors); 22647db96d56Sopenharmony_ci 22657db96d56Sopenharmony_cistatic PyObject * 22667db96d56Sopenharmony_ci_codecs_raw_unicode_escape_encode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 22677db96d56Sopenharmony_ci{ 22687db96d56Sopenharmony_ci PyObject *return_value = NULL; 22697db96d56Sopenharmony_ci PyObject *str; 22707db96d56Sopenharmony_ci const char *errors = NULL; 22717db96d56Sopenharmony_ci 22727db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("raw_unicode_escape_encode", nargs, 1, 2)) { 22737db96d56Sopenharmony_ci goto exit; 22747db96d56Sopenharmony_ci } 22757db96d56Sopenharmony_ci if (!PyUnicode_Check(args[0])) { 22767db96d56Sopenharmony_ci _PyArg_BadArgument("raw_unicode_escape_encode", "argument 1", "str", args[0]); 22777db96d56Sopenharmony_ci goto exit; 22787db96d56Sopenharmony_ci } 22797db96d56Sopenharmony_ci if (PyUnicode_READY(args[0]) == -1) { 22807db96d56Sopenharmony_ci goto exit; 22817db96d56Sopenharmony_ci } 22827db96d56Sopenharmony_ci str = args[0]; 22837db96d56Sopenharmony_ci if (nargs < 2) { 22847db96d56Sopenharmony_ci goto skip_optional; 22857db96d56Sopenharmony_ci } 22867db96d56Sopenharmony_ci if (args[1] == Py_None) { 22877db96d56Sopenharmony_ci errors = NULL; 22887db96d56Sopenharmony_ci } 22897db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 22907db96d56Sopenharmony_ci Py_ssize_t errors_length; 22917db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 22927db96d56Sopenharmony_ci if (errors == NULL) { 22937db96d56Sopenharmony_ci goto exit; 22947db96d56Sopenharmony_ci } 22957db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 22967db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 22977db96d56Sopenharmony_ci goto exit; 22987db96d56Sopenharmony_ci } 22997db96d56Sopenharmony_ci } 23007db96d56Sopenharmony_ci else { 23017db96d56Sopenharmony_ci _PyArg_BadArgument("raw_unicode_escape_encode", "argument 2", "str or None", args[1]); 23027db96d56Sopenharmony_ci goto exit; 23037db96d56Sopenharmony_ci } 23047db96d56Sopenharmony_ciskip_optional: 23057db96d56Sopenharmony_ci return_value = _codecs_raw_unicode_escape_encode_impl(module, str, errors); 23067db96d56Sopenharmony_ci 23077db96d56Sopenharmony_ciexit: 23087db96d56Sopenharmony_ci return return_value; 23097db96d56Sopenharmony_ci} 23107db96d56Sopenharmony_ci 23117db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_latin_1_encode__doc__, 23127db96d56Sopenharmony_ci"latin_1_encode($module, str, errors=None, /)\n" 23137db96d56Sopenharmony_ci"--\n" 23147db96d56Sopenharmony_ci"\n"); 23157db96d56Sopenharmony_ci 23167db96d56Sopenharmony_ci#define _CODECS_LATIN_1_ENCODE_METHODDEF \ 23177db96d56Sopenharmony_ci {"latin_1_encode", _PyCFunction_CAST(_codecs_latin_1_encode), METH_FASTCALL, _codecs_latin_1_encode__doc__}, 23187db96d56Sopenharmony_ci 23197db96d56Sopenharmony_cistatic PyObject * 23207db96d56Sopenharmony_ci_codecs_latin_1_encode_impl(PyObject *module, PyObject *str, 23217db96d56Sopenharmony_ci const char *errors); 23227db96d56Sopenharmony_ci 23237db96d56Sopenharmony_cistatic PyObject * 23247db96d56Sopenharmony_ci_codecs_latin_1_encode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 23257db96d56Sopenharmony_ci{ 23267db96d56Sopenharmony_ci PyObject *return_value = NULL; 23277db96d56Sopenharmony_ci PyObject *str; 23287db96d56Sopenharmony_ci const char *errors = NULL; 23297db96d56Sopenharmony_ci 23307db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("latin_1_encode", nargs, 1, 2)) { 23317db96d56Sopenharmony_ci goto exit; 23327db96d56Sopenharmony_ci } 23337db96d56Sopenharmony_ci if (!PyUnicode_Check(args[0])) { 23347db96d56Sopenharmony_ci _PyArg_BadArgument("latin_1_encode", "argument 1", "str", args[0]); 23357db96d56Sopenharmony_ci goto exit; 23367db96d56Sopenharmony_ci } 23377db96d56Sopenharmony_ci if (PyUnicode_READY(args[0]) == -1) { 23387db96d56Sopenharmony_ci goto exit; 23397db96d56Sopenharmony_ci } 23407db96d56Sopenharmony_ci str = args[0]; 23417db96d56Sopenharmony_ci if (nargs < 2) { 23427db96d56Sopenharmony_ci goto skip_optional; 23437db96d56Sopenharmony_ci } 23447db96d56Sopenharmony_ci if (args[1] == Py_None) { 23457db96d56Sopenharmony_ci errors = NULL; 23467db96d56Sopenharmony_ci } 23477db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 23487db96d56Sopenharmony_ci Py_ssize_t errors_length; 23497db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 23507db96d56Sopenharmony_ci if (errors == NULL) { 23517db96d56Sopenharmony_ci goto exit; 23527db96d56Sopenharmony_ci } 23537db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 23547db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 23557db96d56Sopenharmony_ci goto exit; 23567db96d56Sopenharmony_ci } 23577db96d56Sopenharmony_ci } 23587db96d56Sopenharmony_ci else { 23597db96d56Sopenharmony_ci _PyArg_BadArgument("latin_1_encode", "argument 2", "str or None", args[1]); 23607db96d56Sopenharmony_ci goto exit; 23617db96d56Sopenharmony_ci } 23627db96d56Sopenharmony_ciskip_optional: 23637db96d56Sopenharmony_ci return_value = _codecs_latin_1_encode_impl(module, str, errors); 23647db96d56Sopenharmony_ci 23657db96d56Sopenharmony_ciexit: 23667db96d56Sopenharmony_ci return return_value; 23677db96d56Sopenharmony_ci} 23687db96d56Sopenharmony_ci 23697db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_ascii_encode__doc__, 23707db96d56Sopenharmony_ci"ascii_encode($module, str, errors=None, /)\n" 23717db96d56Sopenharmony_ci"--\n" 23727db96d56Sopenharmony_ci"\n"); 23737db96d56Sopenharmony_ci 23747db96d56Sopenharmony_ci#define _CODECS_ASCII_ENCODE_METHODDEF \ 23757db96d56Sopenharmony_ci {"ascii_encode", _PyCFunction_CAST(_codecs_ascii_encode), METH_FASTCALL, _codecs_ascii_encode__doc__}, 23767db96d56Sopenharmony_ci 23777db96d56Sopenharmony_cistatic PyObject * 23787db96d56Sopenharmony_ci_codecs_ascii_encode_impl(PyObject *module, PyObject *str, 23797db96d56Sopenharmony_ci const char *errors); 23807db96d56Sopenharmony_ci 23817db96d56Sopenharmony_cistatic PyObject * 23827db96d56Sopenharmony_ci_codecs_ascii_encode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 23837db96d56Sopenharmony_ci{ 23847db96d56Sopenharmony_ci PyObject *return_value = NULL; 23857db96d56Sopenharmony_ci PyObject *str; 23867db96d56Sopenharmony_ci const char *errors = NULL; 23877db96d56Sopenharmony_ci 23887db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("ascii_encode", nargs, 1, 2)) { 23897db96d56Sopenharmony_ci goto exit; 23907db96d56Sopenharmony_ci } 23917db96d56Sopenharmony_ci if (!PyUnicode_Check(args[0])) { 23927db96d56Sopenharmony_ci _PyArg_BadArgument("ascii_encode", "argument 1", "str", args[0]); 23937db96d56Sopenharmony_ci goto exit; 23947db96d56Sopenharmony_ci } 23957db96d56Sopenharmony_ci if (PyUnicode_READY(args[0]) == -1) { 23967db96d56Sopenharmony_ci goto exit; 23977db96d56Sopenharmony_ci } 23987db96d56Sopenharmony_ci str = args[0]; 23997db96d56Sopenharmony_ci if (nargs < 2) { 24007db96d56Sopenharmony_ci goto skip_optional; 24017db96d56Sopenharmony_ci } 24027db96d56Sopenharmony_ci if (args[1] == Py_None) { 24037db96d56Sopenharmony_ci errors = NULL; 24047db96d56Sopenharmony_ci } 24057db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 24067db96d56Sopenharmony_ci Py_ssize_t errors_length; 24077db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 24087db96d56Sopenharmony_ci if (errors == NULL) { 24097db96d56Sopenharmony_ci goto exit; 24107db96d56Sopenharmony_ci } 24117db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 24127db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 24137db96d56Sopenharmony_ci goto exit; 24147db96d56Sopenharmony_ci } 24157db96d56Sopenharmony_ci } 24167db96d56Sopenharmony_ci else { 24177db96d56Sopenharmony_ci _PyArg_BadArgument("ascii_encode", "argument 2", "str or None", args[1]); 24187db96d56Sopenharmony_ci goto exit; 24197db96d56Sopenharmony_ci } 24207db96d56Sopenharmony_ciskip_optional: 24217db96d56Sopenharmony_ci return_value = _codecs_ascii_encode_impl(module, str, errors); 24227db96d56Sopenharmony_ci 24237db96d56Sopenharmony_ciexit: 24247db96d56Sopenharmony_ci return return_value; 24257db96d56Sopenharmony_ci} 24267db96d56Sopenharmony_ci 24277db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_charmap_encode__doc__, 24287db96d56Sopenharmony_ci"charmap_encode($module, str, errors=None, mapping=None, /)\n" 24297db96d56Sopenharmony_ci"--\n" 24307db96d56Sopenharmony_ci"\n"); 24317db96d56Sopenharmony_ci 24327db96d56Sopenharmony_ci#define _CODECS_CHARMAP_ENCODE_METHODDEF \ 24337db96d56Sopenharmony_ci {"charmap_encode", _PyCFunction_CAST(_codecs_charmap_encode), METH_FASTCALL, _codecs_charmap_encode__doc__}, 24347db96d56Sopenharmony_ci 24357db96d56Sopenharmony_cistatic PyObject * 24367db96d56Sopenharmony_ci_codecs_charmap_encode_impl(PyObject *module, PyObject *str, 24377db96d56Sopenharmony_ci const char *errors, PyObject *mapping); 24387db96d56Sopenharmony_ci 24397db96d56Sopenharmony_cistatic PyObject * 24407db96d56Sopenharmony_ci_codecs_charmap_encode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 24417db96d56Sopenharmony_ci{ 24427db96d56Sopenharmony_ci PyObject *return_value = NULL; 24437db96d56Sopenharmony_ci PyObject *str; 24447db96d56Sopenharmony_ci const char *errors = NULL; 24457db96d56Sopenharmony_ci PyObject *mapping = Py_None; 24467db96d56Sopenharmony_ci 24477db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("charmap_encode", nargs, 1, 3)) { 24487db96d56Sopenharmony_ci goto exit; 24497db96d56Sopenharmony_ci } 24507db96d56Sopenharmony_ci if (!PyUnicode_Check(args[0])) { 24517db96d56Sopenharmony_ci _PyArg_BadArgument("charmap_encode", "argument 1", "str", args[0]); 24527db96d56Sopenharmony_ci goto exit; 24537db96d56Sopenharmony_ci } 24547db96d56Sopenharmony_ci if (PyUnicode_READY(args[0]) == -1) { 24557db96d56Sopenharmony_ci goto exit; 24567db96d56Sopenharmony_ci } 24577db96d56Sopenharmony_ci str = args[0]; 24587db96d56Sopenharmony_ci if (nargs < 2) { 24597db96d56Sopenharmony_ci goto skip_optional; 24607db96d56Sopenharmony_ci } 24617db96d56Sopenharmony_ci if (args[1] == Py_None) { 24627db96d56Sopenharmony_ci errors = NULL; 24637db96d56Sopenharmony_ci } 24647db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 24657db96d56Sopenharmony_ci Py_ssize_t errors_length; 24667db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 24677db96d56Sopenharmony_ci if (errors == NULL) { 24687db96d56Sopenharmony_ci goto exit; 24697db96d56Sopenharmony_ci } 24707db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 24717db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 24727db96d56Sopenharmony_ci goto exit; 24737db96d56Sopenharmony_ci } 24747db96d56Sopenharmony_ci } 24757db96d56Sopenharmony_ci else { 24767db96d56Sopenharmony_ci _PyArg_BadArgument("charmap_encode", "argument 2", "str or None", args[1]); 24777db96d56Sopenharmony_ci goto exit; 24787db96d56Sopenharmony_ci } 24797db96d56Sopenharmony_ci if (nargs < 3) { 24807db96d56Sopenharmony_ci goto skip_optional; 24817db96d56Sopenharmony_ci } 24827db96d56Sopenharmony_ci mapping = args[2]; 24837db96d56Sopenharmony_ciskip_optional: 24847db96d56Sopenharmony_ci return_value = _codecs_charmap_encode_impl(module, str, errors, mapping); 24857db96d56Sopenharmony_ci 24867db96d56Sopenharmony_ciexit: 24877db96d56Sopenharmony_ci return return_value; 24887db96d56Sopenharmony_ci} 24897db96d56Sopenharmony_ci 24907db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_charmap_build__doc__, 24917db96d56Sopenharmony_ci"charmap_build($module, map, /)\n" 24927db96d56Sopenharmony_ci"--\n" 24937db96d56Sopenharmony_ci"\n"); 24947db96d56Sopenharmony_ci 24957db96d56Sopenharmony_ci#define _CODECS_CHARMAP_BUILD_METHODDEF \ 24967db96d56Sopenharmony_ci {"charmap_build", (PyCFunction)_codecs_charmap_build, METH_O, _codecs_charmap_build__doc__}, 24977db96d56Sopenharmony_ci 24987db96d56Sopenharmony_cistatic PyObject * 24997db96d56Sopenharmony_ci_codecs_charmap_build_impl(PyObject *module, PyObject *map); 25007db96d56Sopenharmony_ci 25017db96d56Sopenharmony_cistatic PyObject * 25027db96d56Sopenharmony_ci_codecs_charmap_build(PyObject *module, PyObject *arg) 25037db96d56Sopenharmony_ci{ 25047db96d56Sopenharmony_ci PyObject *return_value = NULL; 25057db96d56Sopenharmony_ci PyObject *map; 25067db96d56Sopenharmony_ci 25077db96d56Sopenharmony_ci if (!PyUnicode_Check(arg)) { 25087db96d56Sopenharmony_ci _PyArg_BadArgument("charmap_build", "argument", "str", arg); 25097db96d56Sopenharmony_ci goto exit; 25107db96d56Sopenharmony_ci } 25117db96d56Sopenharmony_ci if (PyUnicode_READY(arg) == -1) { 25127db96d56Sopenharmony_ci goto exit; 25137db96d56Sopenharmony_ci } 25147db96d56Sopenharmony_ci map = arg; 25157db96d56Sopenharmony_ci return_value = _codecs_charmap_build_impl(module, map); 25167db96d56Sopenharmony_ci 25177db96d56Sopenharmony_ciexit: 25187db96d56Sopenharmony_ci return return_value; 25197db96d56Sopenharmony_ci} 25207db96d56Sopenharmony_ci 25217db96d56Sopenharmony_ci#if defined(MS_WINDOWS) 25227db96d56Sopenharmony_ci 25237db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_mbcs_encode__doc__, 25247db96d56Sopenharmony_ci"mbcs_encode($module, str, errors=None, /)\n" 25257db96d56Sopenharmony_ci"--\n" 25267db96d56Sopenharmony_ci"\n"); 25277db96d56Sopenharmony_ci 25287db96d56Sopenharmony_ci#define _CODECS_MBCS_ENCODE_METHODDEF \ 25297db96d56Sopenharmony_ci {"mbcs_encode", _PyCFunction_CAST(_codecs_mbcs_encode), METH_FASTCALL, _codecs_mbcs_encode__doc__}, 25307db96d56Sopenharmony_ci 25317db96d56Sopenharmony_cistatic PyObject * 25327db96d56Sopenharmony_ci_codecs_mbcs_encode_impl(PyObject *module, PyObject *str, const char *errors); 25337db96d56Sopenharmony_ci 25347db96d56Sopenharmony_cistatic PyObject * 25357db96d56Sopenharmony_ci_codecs_mbcs_encode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 25367db96d56Sopenharmony_ci{ 25377db96d56Sopenharmony_ci PyObject *return_value = NULL; 25387db96d56Sopenharmony_ci PyObject *str; 25397db96d56Sopenharmony_ci const char *errors = NULL; 25407db96d56Sopenharmony_ci 25417db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("mbcs_encode", nargs, 1, 2)) { 25427db96d56Sopenharmony_ci goto exit; 25437db96d56Sopenharmony_ci } 25447db96d56Sopenharmony_ci if (!PyUnicode_Check(args[0])) { 25457db96d56Sopenharmony_ci _PyArg_BadArgument("mbcs_encode", "argument 1", "str", args[0]); 25467db96d56Sopenharmony_ci goto exit; 25477db96d56Sopenharmony_ci } 25487db96d56Sopenharmony_ci if (PyUnicode_READY(args[0]) == -1) { 25497db96d56Sopenharmony_ci goto exit; 25507db96d56Sopenharmony_ci } 25517db96d56Sopenharmony_ci str = args[0]; 25527db96d56Sopenharmony_ci if (nargs < 2) { 25537db96d56Sopenharmony_ci goto skip_optional; 25547db96d56Sopenharmony_ci } 25557db96d56Sopenharmony_ci if (args[1] == Py_None) { 25567db96d56Sopenharmony_ci errors = NULL; 25577db96d56Sopenharmony_ci } 25587db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 25597db96d56Sopenharmony_ci Py_ssize_t errors_length; 25607db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 25617db96d56Sopenharmony_ci if (errors == NULL) { 25627db96d56Sopenharmony_ci goto exit; 25637db96d56Sopenharmony_ci } 25647db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 25657db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 25667db96d56Sopenharmony_ci goto exit; 25677db96d56Sopenharmony_ci } 25687db96d56Sopenharmony_ci } 25697db96d56Sopenharmony_ci else { 25707db96d56Sopenharmony_ci _PyArg_BadArgument("mbcs_encode", "argument 2", "str or None", args[1]); 25717db96d56Sopenharmony_ci goto exit; 25727db96d56Sopenharmony_ci } 25737db96d56Sopenharmony_ciskip_optional: 25747db96d56Sopenharmony_ci return_value = _codecs_mbcs_encode_impl(module, str, errors); 25757db96d56Sopenharmony_ci 25767db96d56Sopenharmony_ciexit: 25777db96d56Sopenharmony_ci return return_value; 25787db96d56Sopenharmony_ci} 25797db96d56Sopenharmony_ci 25807db96d56Sopenharmony_ci#endif /* defined(MS_WINDOWS) */ 25817db96d56Sopenharmony_ci 25827db96d56Sopenharmony_ci#if defined(MS_WINDOWS) 25837db96d56Sopenharmony_ci 25847db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_oem_encode__doc__, 25857db96d56Sopenharmony_ci"oem_encode($module, str, errors=None, /)\n" 25867db96d56Sopenharmony_ci"--\n" 25877db96d56Sopenharmony_ci"\n"); 25887db96d56Sopenharmony_ci 25897db96d56Sopenharmony_ci#define _CODECS_OEM_ENCODE_METHODDEF \ 25907db96d56Sopenharmony_ci {"oem_encode", _PyCFunction_CAST(_codecs_oem_encode), METH_FASTCALL, _codecs_oem_encode__doc__}, 25917db96d56Sopenharmony_ci 25927db96d56Sopenharmony_cistatic PyObject * 25937db96d56Sopenharmony_ci_codecs_oem_encode_impl(PyObject *module, PyObject *str, const char *errors); 25947db96d56Sopenharmony_ci 25957db96d56Sopenharmony_cistatic PyObject * 25967db96d56Sopenharmony_ci_codecs_oem_encode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 25977db96d56Sopenharmony_ci{ 25987db96d56Sopenharmony_ci PyObject *return_value = NULL; 25997db96d56Sopenharmony_ci PyObject *str; 26007db96d56Sopenharmony_ci const char *errors = NULL; 26017db96d56Sopenharmony_ci 26027db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("oem_encode", nargs, 1, 2)) { 26037db96d56Sopenharmony_ci goto exit; 26047db96d56Sopenharmony_ci } 26057db96d56Sopenharmony_ci if (!PyUnicode_Check(args[0])) { 26067db96d56Sopenharmony_ci _PyArg_BadArgument("oem_encode", "argument 1", "str", args[0]); 26077db96d56Sopenharmony_ci goto exit; 26087db96d56Sopenharmony_ci } 26097db96d56Sopenharmony_ci if (PyUnicode_READY(args[0]) == -1) { 26107db96d56Sopenharmony_ci goto exit; 26117db96d56Sopenharmony_ci } 26127db96d56Sopenharmony_ci str = args[0]; 26137db96d56Sopenharmony_ci if (nargs < 2) { 26147db96d56Sopenharmony_ci goto skip_optional; 26157db96d56Sopenharmony_ci } 26167db96d56Sopenharmony_ci if (args[1] == Py_None) { 26177db96d56Sopenharmony_ci errors = NULL; 26187db96d56Sopenharmony_ci } 26197db96d56Sopenharmony_ci else if (PyUnicode_Check(args[1])) { 26207db96d56Sopenharmony_ci Py_ssize_t errors_length; 26217db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[1], &errors_length); 26227db96d56Sopenharmony_ci if (errors == NULL) { 26237db96d56Sopenharmony_ci goto exit; 26247db96d56Sopenharmony_ci } 26257db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 26267db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 26277db96d56Sopenharmony_ci goto exit; 26287db96d56Sopenharmony_ci } 26297db96d56Sopenharmony_ci } 26307db96d56Sopenharmony_ci else { 26317db96d56Sopenharmony_ci _PyArg_BadArgument("oem_encode", "argument 2", "str or None", args[1]); 26327db96d56Sopenharmony_ci goto exit; 26337db96d56Sopenharmony_ci } 26347db96d56Sopenharmony_ciskip_optional: 26357db96d56Sopenharmony_ci return_value = _codecs_oem_encode_impl(module, str, errors); 26367db96d56Sopenharmony_ci 26377db96d56Sopenharmony_ciexit: 26387db96d56Sopenharmony_ci return return_value; 26397db96d56Sopenharmony_ci} 26407db96d56Sopenharmony_ci 26417db96d56Sopenharmony_ci#endif /* defined(MS_WINDOWS) */ 26427db96d56Sopenharmony_ci 26437db96d56Sopenharmony_ci#if defined(MS_WINDOWS) 26447db96d56Sopenharmony_ci 26457db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_code_page_encode__doc__, 26467db96d56Sopenharmony_ci"code_page_encode($module, code_page, str, errors=None, /)\n" 26477db96d56Sopenharmony_ci"--\n" 26487db96d56Sopenharmony_ci"\n"); 26497db96d56Sopenharmony_ci 26507db96d56Sopenharmony_ci#define _CODECS_CODE_PAGE_ENCODE_METHODDEF \ 26517db96d56Sopenharmony_ci {"code_page_encode", _PyCFunction_CAST(_codecs_code_page_encode), METH_FASTCALL, _codecs_code_page_encode__doc__}, 26527db96d56Sopenharmony_ci 26537db96d56Sopenharmony_cistatic PyObject * 26547db96d56Sopenharmony_ci_codecs_code_page_encode_impl(PyObject *module, int code_page, PyObject *str, 26557db96d56Sopenharmony_ci const char *errors); 26567db96d56Sopenharmony_ci 26577db96d56Sopenharmony_cistatic PyObject * 26587db96d56Sopenharmony_ci_codecs_code_page_encode(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 26597db96d56Sopenharmony_ci{ 26607db96d56Sopenharmony_ci PyObject *return_value = NULL; 26617db96d56Sopenharmony_ci int code_page; 26627db96d56Sopenharmony_ci PyObject *str; 26637db96d56Sopenharmony_ci const char *errors = NULL; 26647db96d56Sopenharmony_ci 26657db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("code_page_encode", nargs, 2, 3)) { 26667db96d56Sopenharmony_ci goto exit; 26677db96d56Sopenharmony_ci } 26687db96d56Sopenharmony_ci code_page = _PyLong_AsInt(args[0]); 26697db96d56Sopenharmony_ci if (code_page == -1 && PyErr_Occurred()) { 26707db96d56Sopenharmony_ci goto exit; 26717db96d56Sopenharmony_ci } 26727db96d56Sopenharmony_ci if (!PyUnicode_Check(args[1])) { 26737db96d56Sopenharmony_ci _PyArg_BadArgument("code_page_encode", "argument 2", "str", args[1]); 26747db96d56Sopenharmony_ci goto exit; 26757db96d56Sopenharmony_ci } 26767db96d56Sopenharmony_ci if (PyUnicode_READY(args[1]) == -1) { 26777db96d56Sopenharmony_ci goto exit; 26787db96d56Sopenharmony_ci } 26797db96d56Sopenharmony_ci str = args[1]; 26807db96d56Sopenharmony_ci if (nargs < 3) { 26817db96d56Sopenharmony_ci goto skip_optional; 26827db96d56Sopenharmony_ci } 26837db96d56Sopenharmony_ci if (args[2] == Py_None) { 26847db96d56Sopenharmony_ci errors = NULL; 26857db96d56Sopenharmony_ci } 26867db96d56Sopenharmony_ci else if (PyUnicode_Check(args[2])) { 26877db96d56Sopenharmony_ci Py_ssize_t errors_length; 26887db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[2], &errors_length); 26897db96d56Sopenharmony_ci if (errors == NULL) { 26907db96d56Sopenharmony_ci goto exit; 26917db96d56Sopenharmony_ci } 26927db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 26937db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 26947db96d56Sopenharmony_ci goto exit; 26957db96d56Sopenharmony_ci } 26967db96d56Sopenharmony_ci } 26977db96d56Sopenharmony_ci else { 26987db96d56Sopenharmony_ci _PyArg_BadArgument("code_page_encode", "argument 3", "str or None", args[2]); 26997db96d56Sopenharmony_ci goto exit; 27007db96d56Sopenharmony_ci } 27017db96d56Sopenharmony_ciskip_optional: 27027db96d56Sopenharmony_ci return_value = _codecs_code_page_encode_impl(module, code_page, str, errors); 27037db96d56Sopenharmony_ci 27047db96d56Sopenharmony_ciexit: 27057db96d56Sopenharmony_ci return return_value; 27067db96d56Sopenharmony_ci} 27077db96d56Sopenharmony_ci 27087db96d56Sopenharmony_ci#endif /* defined(MS_WINDOWS) */ 27097db96d56Sopenharmony_ci 27107db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_register_error__doc__, 27117db96d56Sopenharmony_ci"register_error($module, errors, handler, /)\n" 27127db96d56Sopenharmony_ci"--\n" 27137db96d56Sopenharmony_ci"\n" 27147db96d56Sopenharmony_ci"Register the specified error handler under the name errors.\n" 27157db96d56Sopenharmony_ci"\n" 27167db96d56Sopenharmony_ci"handler must be a callable object, that will be called with an exception\n" 27177db96d56Sopenharmony_ci"instance containing information about the location of the encoding/decoding\n" 27187db96d56Sopenharmony_ci"error and must return a (replacement, new position) tuple."); 27197db96d56Sopenharmony_ci 27207db96d56Sopenharmony_ci#define _CODECS_REGISTER_ERROR_METHODDEF \ 27217db96d56Sopenharmony_ci {"register_error", _PyCFunction_CAST(_codecs_register_error), METH_FASTCALL, _codecs_register_error__doc__}, 27227db96d56Sopenharmony_ci 27237db96d56Sopenharmony_cistatic PyObject * 27247db96d56Sopenharmony_ci_codecs_register_error_impl(PyObject *module, const char *errors, 27257db96d56Sopenharmony_ci PyObject *handler); 27267db96d56Sopenharmony_ci 27277db96d56Sopenharmony_cistatic PyObject * 27287db96d56Sopenharmony_ci_codecs_register_error(PyObject *module, PyObject *const *args, Py_ssize_t nargs) 27297db96d56Sopenharmony_ci{ 27307db96d56Sopenharmony_ci PyObject *return_value = NULL; 27317db96d56Sopenharmony_ci const char *errors; 27327db96d56Sopenharmony_ci PyObject *handler; 27337db96d56Sopenharmony_ci 27347db96d56Sopenharmony_ci if (!_PyArg_CheckPositional("register_error", nargs, 2, 2)) { 27357db96d56Sopenharmony_ci goto exit; 27367db96d56Sopenharmony_ci } 27377db96d56Sopenharmony_ci if (!PyUnicode_Check(args[0])) { 27387db96d56Sopenharmony_ci _PyArg_BadArgument("register_error", "argument 1", "str", args[0]); 27397db96d56Sopenharmony_ci goto exit; 27407db96d56Sopenharmony_ci } 27417db96d56Sopenharmony_ci Py_ssize_t errors_length; 27427db96d56Sopenharmony_ci errors = PyUnicode_AsUTF8AndSize(args[0], &errors_length); 27437db96d56Sopenharmony_ci if (errors == NULL) { 27447db96d56Sopenharmony_ci goto exit; 27457db96d56Sopenharmony_ci } 27467db96d56Sopenharmony_ci if (strlen(errors) != (size_t)errors_length) { 27477db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 27487db96d56Sopenharmony_ci goto exit; 27497db96d56Sopenharmony_ci } 27507db96d56Sopenharmony_ci handler = args[1]; 27517db96d56Sopenharmony_ci return_value = _codecs_register_error_impl(module, errors, handler); 27527db96d56Sopenharmony_ci 27537db96d56Sopenharmony_ciexit: 27547db96d56Sopenharmony_ci return return_value; 27557db96d56Sopenharmony_ci} 27567db96d56Sopenharmony_ci 27577db96d56Sopenharmony_ciPyDoc_STRVAR(_codecs_lookup_error__doc__, 27587db96d56Sopenharmony_ci"lookup_error($module, name, /)\n" 27597db96d56Sopenharmony_ci"--\n" 27607db96d56Sopenharmony_ci"\n" 27617db96d56Sopenharmony_ci"lookup_error(errors) -> handler\n" 27627db96d56Sopenharmony_ci"\n" 27637db96d56Sopenharmony_ci"Return the error handler for the specified error handling name or raise a\n" 27647db96d56Sopenharmony_ci"LookupError, if no handler exists under this name."); 27657db96d56Sopenharmony_ci 27667db96d56Sopenharmony_ci#define _CODECS_LOOKUP_ERROR_METHODDEF \ 27677db96d56Sopenharmony_ci {"lookup_error", (PyCFunction)_codecs_lookup_error, METH_O, _codecs_lookup_error__doc__}, 27687db96d56Sopenharmony_ci 27697db96d56Sopenharmony_cistatic PyObject * 27707db96d56Sopenharmony_ci_codecs_lookup_error_impl(PyObject *module, const char *name); 27717db96d56Sopenharmony_ci 27727db96d56Sopenharmony_cistatic PyObject * 27737db96d56Sopenharmony_ci_codecs_lookup_error(PyObject *module, PyObject *arg) 27747db96d56Sopenharmony_ci{ 27757db96d56Sopenharmony_ci PyObject *return_value = NULL; 27767db96d56Sopenharmony_ci const char *name; 27777db96d56Sopenharmony_ci 27787db96d56Sopenharmony_ci if (!PyUnicode_Check(arg)) { 27797db96d56Sopenharmony_ci _PyArg_BadArgument("lookup_error", "argument", "str", arg); 27807db96d56Sopenharmony_ci goto exit; 27817db96d56Sopenharmony_ci } 27827db96d56Sopenharmony_ci Py_ssize_t name_length; 27837db96d56Sopenharmony_ci name = PyUnicode_AsUTF8AndSize(arg, &name_length); 27847db96d56Sopenharmony_ci if (name == NULL) { 27857db96d56Sopenharmony_ci goto exit; 27867db96d56Sopenharmony_ci } 27877db96d56Sopenharmony_ci if (strlen(name) != (size_t)name_length) { 27887db96d56Sopenharmony_ci PyErr_SetString(PyExc_ValueError, "embedded null character"); 27897db96d56Sopenharmony_ci goto exit; 27907db96d56Sopenharmony_ci } 27917db96d56Sopenharmony_ci return_value = _codecs_lookup_error_impl(module, name); 27927db96d56Sopenharmony_ci 27937db96d56Sopenharmony_ciexit: 27947db96d56Sopenharmony_ci return return_value; 27957db96d56Sopenharmony_ci} 27967db96d56Sopenharmony_ci 27977db96d56Sopenharmony_ci#ifndef _CODECS_MBCS_DECODE_METHODDEF 27987db96d56Sopenharmony_ci #define _CODECS_MBCS_DECODE_METHODDEF 27997db96d56Sopenharmony_ci#endif /* !defined(_CODECS_MBCS_DECODE_METHODDEF) */ 28007db96d56Sopenharmony_ci 28017db96d56Sopenharmony_ci#ifndef _CODECS_OEM_DECODE_METHODDEF 28027db96d56Sopenharmony_ci #define _CODECS_OEM_DECODE_METHODDEF 28037db96d56Sopenharmony_ci#endif /* !defined(_CODECS_OEM_DECODE_METHODDEF) */ 28047db96d56Sopenharmony_ci 28057db96d56Sopenharmony_ci#ifndef _CODECS_CODE_PAGE_DECODE_METHODDEF 28067db96d56Sopenharmony_ci #define _CODECS_CODE_PAGE_DECODE_METHODDEF 28077db96d56Sopenharmony_ci#endif /* !defined(_CODECS_CODE_PAGE_DECODE_METHODDEF) */ 28087db96d56Sopenharmony_ci 28097db96d56Sopenharmony_ci#ifndef _CODECS_MBCS_ENCODE_METHODDEF 28107db96d56Sopenharmony_ci #define _CODECS_MBCS_ENCODE_METHODDEF 28117db96d56Sopenharmony_ci#endif /* !defined(_CODECS_MBCS_ENCODE_METHODDEF) */ 28127db96d56Sopenharmony_ci 28137db96d56Sopenharmony_ci#ifndef _CODECS_OEM_ENCODE_METHODDEF 28147db96d56Sopenharmony_ci #define _CODECS_OEM_ENCODE_METHODDEF 28157db96d56Sopenharmony_ci#endif /* !defined(_CODECS_OEM_ENCODE_METHODDEF) */ 28167db96d56Sopenharmony_ci 28177db96d56Sopenharmony_ci#ifndef _CODECS_CODE_PAGE_ENCODE_METHODDEF 28187db96d56Sopenharmony_ci #define _CODECS_CODE_PAGE_ENCODE_METHODDEF 28197db96d56Sopenharmony_ci#endif /* !defined(_CODECS_CODE_PAGE_ENCODE_METHODDEF) */ 28207db96d56Sopenharmony_ci/*[clinic end generated code: output=92250568c3a6f0a0 input=a9049054013a1b77]*/ 2821