diff options
| author | Martin v. Löwis <martin@v.loewis.de> | 2003-10-31 10:01:53 +0000 |
|---|---|---|
| committer | Martin v. Löwis <martin@v.loewis.de> | 2003-10-31 10:01:53 +0000 |
| commit | 9ad853bc371e420b20dacbfe00af9da2ba5d3b6d (patch) | |
| tree | 3cf8fcbd54ffdf4aa26c396b2cef9816eae07597 /Modules | |
| parent | 9885c93b9975542c63d6f567ea7113865f04bc2f (diff) | |
| download | cpython-git-9ad853bc371e420b20dacbfe00af9da2ba5d3b6d.tar.gz | |
Patch #788404: ignore "b" and "t" mode modifiers in posix_popen.
Fixes #703198. Backported to 2.3.
Diffstat (limited to 'Modules')
| -rw-r--r-- | Modules/posixmodule.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index a882023394..9c58c9d686 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -4348,6 +4348,11 @@ posix_popen(PyObject *self, PyObject *args) PyObject *f; if (!PyArg_ParseTuple(args, "s|si:popen", &name, &mode, &bufsize)) return NULL; + /* Strip mode of binary or text modifiers */ + if (strcmp(mode, "rb") == 0 || strcmp(mode, "rt") == 0) + mode = "r"; + else if (strcmp(mode, "wb") == 0 || strcmp(mode, "wt") == 0) + mode = "w"; Py_BEGIN_ALLOW_THREADS fp = popen(name, mode); Py_END_ALLOW_THREADS |
