mirror of
https://github.com/python/cpython.git
synced 2025-07-18 16:55:20 +00:00
[3.13] gh-126742: Add _PyErr_SetLocaleString, use it for gdbm & dlerror messages (GH-126746) (GH-128023)
- Add a helper to set an error from locale-encoded `char*`
- Use the helper for gdbm & dlerror messages
(cherry picked from commit 7303f06846
)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
This commit is contained in:
parent
367ea89384
commit
fe08cdf265
12 changed files with 176 additions and 69 deletions
|
@ -299,6 +299,15 @@ PyErr_SetString(PyObject *exception, const char *string)
|
|||
_PyErr_SetString(tstate, exception, string);
|
||||
}
|
||||
|
||||
void
|
||||
_PyErr_SetLocaleString(PyObject *exception, const char *string)
|
||||
{
|
||||
PyObject *value = PyUnicode_DecodeLocale(string, "surrogateescape");
|
||||
if (value != NULL) {
|
||||
PyErr_SetObject(exception, value);
|
||||
Py_DECREF(value);
|
||||
}
|
||||
}
|
||||
|
||||
PyObject* _Py_HOT_FUNCTION
|
||||
PyErr_Occurred(void)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue