mirror of
https://github.com/python/cpython.git
synced 2025-07-07 19:35:27 +00:00
gh-126742: Add _PyErr_SetLocaleString, use it for gdbm & dlerror messages (GH-126746)
- Add a helper to set an error from locale-encoded `char*` - Use the helper for gdbm & dlerror messages Co-authored-by: Victor Stinner <vstinner@python.org>
This commit is contained in:
parent
b9a492b809
commit
7303f06846
12 changed files with 176 additions and 69 deletions
|
@ -301,6 +301,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