Index: Modules/posixmodule.c =================================================================== --- Modules/posixmodule.c (révision 72287) +++ Modules/posixmodule.c (copie de travail) @@ -5602,8 +5602,8 @@ uid_t uid; if (!PyArg_ParseTuple(args, "l:setuid", &uid_arg)) return NULL; - uid = uid_arg; - if (uid != uid_arg) { + uid = (uid_t)uid_arg; + if ((long)uid != uid_arg) { PyErr_SetString(PyExc_OverflowError, "user id too big"); return NULL; } @@ -5627,8 +5627,8 @@ uid_t euid; if (!PyArg_ParseTuple(args, "l", &euid_arg)) return NULL; - euid = euid_arg; - if (euid != euid_arg) { + euid = (uid_t)euid_arg; + if ((long)euid != euid_arg) { PyErr_SetString(PyExc_OverflowError, "user id too big"); return NULL; } @@ -5653,8 +5653,8 @@ gid_t egid; if (!PyArg_ParseTuple(args, "l", &egid_arg)) return NULL; - egid = egid_arg; - if (egid != egid_arg) { + egid = (gid_t)egid_arg; + if ((long)egid != egid_arg) { PyErr_SetString(PyExc_OverflowError, "group id too big"); return NULL; } @@ -5679,9 +5679,9 @@ uid_t ruid, euid; if (!PyArg_ParseTuple(args, "ll", &ruid_arg, &euid_arg)) return NULL; - ruid = ruid_arg; - euid = euid_arg; - if (euid != euid_arg || ruid != ruid_arg) { + ruid = (uid_t)ruid_arg; + euid = (uid_t)euid_arg; + if ((long)euid != euid_arg || (long)ruid != ruid_arg) { PyErr_SetString(PyExc_OverflowError, "user id too big"); return NULL; } @@ -5706,9 +5706,9 @@ gid_t rgid, egid; if (!PyArg_ParseTuple(args, "ll", &rgid_arg, &egid_arg)) return NULL; - rgid = rgid_arg; - egid = egid_arg; - if (egid != egid_arg || rgid != rgid_arg) { + rgid = (gid_t)rgid_arg; + egid = (gid_t)egid_arg; + if ((long)egid != egid_arg || (long)rgid != rgid_arg) { PyErr_SetString(PyExc_OverflowError, "group id too big"); return NULL; } @@ -5734,7 +5734,7 @@ if (!PyArg_ParseTuple(args, "l:setgid", &gid_arg)) return NULL; gid = gid_arg; - if (gid != gid_arg) { + if ((long)gid != gid_arg) { PyErr_SetString(PyExc_OverflowError, "group id too big"); return NULL; } @@ -5784,9 +5784,9 @@ Py_DECREF(elem); return NULL; } - grouplist[i] = x; + grouplist[i] = (gid_t)x; /* read back to see if it fits in gid_t */ - if (grouplist[i] != x) { + if ((unsigned long)grouplist[i] != x) { PyErr_SetString(PyExc_TypeError, "group id too big"); Py_DECREF(elem); @@ -5795,8 +5795,8 @@ } } else { long x = PyInt_AsLong(elem); - grouplist[i] = x; - if (grouplist[i] != x) { + grouplist[i] = (gid_t)x; + if ((long)grouplist[i] != x) { PyErr_SetString(PyExc_TypeError, "group id too big"); Py_DECREF(elem);