Skip to content

Commit 325e4ba

Browse files
authored
bpo-35537: Fix function name in os.posix_spawnp() errors (GH-11719)
1 parent 1e39b83 commit 325e4ba

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

Modules/posixmodule.c

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5166,11 +5166,11 @@ convert_sched_param(PyObject *param, struct sched_param *res);
51665166
#endif
51675167

51685168
static int
5169-
parse_posix_spawn_flags(PyObject *setpgroup, int resetids, int setsid, PyObject *setsigmask,
5169+
parse_posix_spawn_flags(const char *func_name, PyObject *setpgroup,
5170+
int resetids, int setsid, PyObject *setsigmask,
51705171
PyObject *setsigdef, PyObject *scheduler,
51715172
posix_spawnattr_t *attrp)
51725173
{
5173-
const char *func_name = "posix_spawnp";
51745174
long all_flags = 0;
51755175

51765176
errno = posix_spawnattr_init(attrp);
@@ -5400,6 +5400,7 @@ py_posix_spawn(int use_posix_spawnp, PyObject *module, path_t *path, PyObject *a
54005400
PyObject *setpgroup, int resetids, int setsid, PyObject *setsigmask,
54015401
PyObject *setsigdef, PyObject *scheduler)
54025402
{
5403+
const char *func_name = use_posix_spawnp ? "posix_spawnp" : "posix_spawn";
54035404
EXECV_CHAR **argvlist = NULL;
54045405
EXECV_CHAR **envlist = NULL;
54055406
posix_spawn_file_actions_t file_actions_buf;
@@ -5417,19 +5418,20 @@ py_posix_spawn(int use_posix_spawnp, PyObject *module, path_t *path, PyObject *a
54175418
like posix.environ. */
54185419

54195420
if (!PyList_Check(argv) && !PyTuple_Check(argv)) {
5420-
PyErr_SetString(PyExc_TypeError,
5421-
"posix_spawn: argv must be a tuple or list");
5421+
PyErr_Format(PyExc_TypeError,
5422+
"%s: argv must be a tuple or list", func_name);
54225423
goto exit;
54235424
}
54245425
argc = PySequence_Size(argv);
54255426
if (argc < 1) {
5426-
PyErr_SetString(PyExc_ValueError, "posix_spawn: argv must not be empty");
5427+
PyErr_Format(PyExc_ValueError,
5428+
"%s: argv must not be empty", func_name);
54275429
return NULL;
54285430
}
54295431

54305432
if (!PyMapping_Check(env)) {
5431-
PyErr_SetString(PyExc_TypeError,
5432-
"posix_spawn: environment must be a mapping object");
5433+
PyErr_Format(PyExc_TypeError,
5434+
"%s: environment must be a mapping object", func_name);
54335435
goto exit;
54345436
}
54355437

@@ -5438,8 +5440,8 @@ py_posix_spawn(int use_posix_spawnp, PyObject *module, path_t *path, PyObject *a
54385440
goto exit;
54395441
}
54405442
if (!argvlist[0][0]) {
5441-
PyErr_SetString(PyExc_ValueError,
5442-
"posix_spawn: argv first element cannot be empty");
5443+
PyErr_Format(PyExc_ValueError,
5444+
"%s: argv first element cannot be empty", func_name);
54435445
goto exit;
54445446
}
54455447

@@ -5467,8 +5469,8 @@ py_posix_spawn(int use_posix_spawnp, PyObject *module, path_t *path, PyObject *a
54675469
file_actionsp = &file_actions_buf;
54685470
}
54695471

5470-
if (parse_posix_spawn_flags(setpgroup, resetids, setsid, setsigmask,
5471-
setsigdef, scheduler, &attr)) {
5472+
if (parse_posix_spawn_flags(func_name, setpgroup, resetids, setsid,
5473+
setsigmask, setsigdef, scheduler, &attr)) {
54725474
goto exit;
54735475
}
54745476
attrp = &attr;

0 commit comments

Comments
 (0)