static int initfsencoding(PyInterpreterState *interp) { PyObject *codec; if (Py_FileSystemDefaultEncoding == NULL) { Py_FileSystemDefaultEncoding = get_locale_encoding(); if (Py_FileSystemDefaultEncoding == NULL) Py_FatalError("Py_Initialize: Unable to get the locale encoding"); Py_HasFileSystemDefaultEncoding = 0; interp->fscodec_initialized = 1; return 0; } /* the encoding is mbcs, utf-8 or ascii */ codec = _PyCodec_Lookup(Py_FileSystemDefaultEncoding); if (!codec) { /* Such error can only occurs in critical situations: no more * memory, import a module of the standard library failed, * etc. */ return -1; } Py_DECREF(codec); interp->fscodec_initialized = 1; return 0; }
static int initfsencoding(PyInterpreterState *interp) { PyObject *codec; #ifdef MS_WINDOWS if (Py_LegacyWindowsFSEncodingFlag) { Py_FileSystemDefaultEncoding = "mbcs"; Py_FileSystemDefaultEncodeErrors = "replace"; } else { Py_FileSystemDefaultEncoding = "utf-8"; Py_FileSystemDefaultEncodeErrors = "surrogatepass"; } #else if (Py_FileSystemDefaultEncoding == NULL) { Py_FileSystemDefaultEncoding = get_locale_encoding(); if (Py_FileSystemDefaultEncoding == NULL) Py_FatalError("Py_Initialize: Unable to get the locale encoding"); Py_HasFileSystemDefaultEncoding = 0; interp->fscodec_initialized = 1; return 0; } #endif /* the encoding is mbcs, utf-8 or ascii */ codec = _PyCodec_Lookup(Py_FileSystemDefaultEncoding); if (!codec) { /* Such error can only occurs in critical situations: no more * memory, import a module of the standard library failed, * etc. */ return -1; } Py_DECREF(codec); interp->fscodec_initialized = 1; return 0; }