gh-94526: getpath_dirname() no longer encodes the path (GH-97645)
Fix the Python path configuration used to initialized sys.path at Python startup. Paths are no longer encoded to UTF-8/strict to avoid encoding errors if it contains surrogate characters (bytes paths are decoded with the surrogateescape error handler). getpath_basename() and getpath_dirname() functions no longer encode the path to UTF-8/strict, but work directly on Unicode strings. These functions now use PyUnicode_FindChar() and PyUnicode_Substring() on the Unicode path, rather than strrchr() on the encoded bytes string. (cherry picked from commit 9f2f1dd131b912e224cd0269adde8879799686c4) Co-authored-by: Victor Stinner <vstinner@python.org>
M
Miss Islington (bot) committed
6537bc9a49d31a3dc7f5df1284285bafdd0f56ef
Parent: 0fbee30
Committed by GitHub <noreply@github.com>
on 9/30/2022, 1:38:41 PM