Merged revisions 80105 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r80105 | victor.stinner | 2010-04-16 13:45:13 +0200 (ven., 16 avril 2010) | 3 lines

  Issue #8412: os.system() now accepts bytes, bytearray and str with
  surrogates.
........
This commit is contained in:
Victor Stinner 2010-04-16 12:47:52 +00:00
parent 81eb8d4610
commit a5ab4fcf68
2 changed files with 17 additions and 9 deletions

View file

@ -184,6 +184,9 @@ Core and Builtins
Library
-------
- Issue #8412: os.system() now accepts bytes, bytearray and str with
surrogates.
- Issue #4282: Fix the main function of the profile module for a non-ASCII
script, open the file in binary mode and not in text mode with the default
(utf8) encoding.

View file

@ -2814,18 +2814,23 @@ posix_system(PyObject *self, PyObject *args)
wchar_t *command;
if (!PyArg_ParseTuple(args, "u:system", &command))
return NULL;
#else
char *command;
if (!PyArg_ParseTuple(args, "s:system", &command))
return NULL;
#endif
Py_BEGIN_ALLOW_THREADS
#ifdef MS_WINDOWS
sts = _wsystem(command);
#else
sts = system(command);
#endif
Py_END_ALLOW_THREADS
#else
PyObject *command_obj;
char *command;
if (!PyArg_ParseTuple(args, "O&:system",
PyUnicode_FSConverter, &command_obj))
return NULL;
command = bytes2str(command_obj, 1);
Py_BEGIN_ALLOW_THREADS
sts = system(command);
Py_END_ALLOW_THREADS
release_bytes(command_obj);
#endif
return PyLong_FromLong(sts);
}
#endif