Author: georg.brandl Date: Mon Apr 3 14:26:26 2006 New Revision: 43586 Modified: python/trunk/Modules/posixmodule.c Log: Bug #1451503: allow unicode filenames in os.startfile(). Modified: python/trunk/Modules/posixmodule.c ============================================================================== --- python/trunk/Modules/posixmodule.c (original) +++ python/trunk/Modules/posixmodule.c Mon Apr 3 14:26:26 2006 @@ -7467,6 +7467,41 @@ char *filepath; char *operation = NULL; HINSTANCE rc; +#ifdef Py_WIN_WIDE_FILENAMES + if (unicode_file_names()) { + PyObject *unipath, *woperation; + if (!PyArg_ParseTuple(args, "U|s:startfile", + &unipath, &operation)) { + PyErr_Clear(); + goto normal; + } + + woperation = PyUnicode_DecodeASCII(operation, + strlen(operation), NULL); + if (!woperation) { + PyErr_Clear(); + goto normal; + } + + Py_BEGIN_ALLOW_THREADS + rc = ShellExecuteW((HWND)0, operation, + PyUnicode_AS_UNICODE(unipath), + PyUnicode_AS_UNICODE(woperation), + NULL, NULL, SW_SHOWNORMAL); + Py_END_ALLOW_THREADS + + Py_DECREF(woperation); + if (rc <= (HINSTANCE)32) { + PyObject *errval = win32_error_unicode("startfile", + PyUnicode_AS_UNICODE(unipath)); + return errval; + } + Py_INCREF(Py_None); + return Py_None; + } +#endif + +normal: if (!PyArg_ParseTuple(args, "et|s:startfile", Py_FileSystemDefaultEncoding, &filepath, &operation))
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4