Kaydet (Commit) 783d0c1a authored tarafından Serhiy Storchaka's avatar Serhiy Storchaka Kaydeden (comit) GitHub

bpo-28667: Fix a compile warning on FreeBSD when compare with FD_SETSIZE. (#501)

FreeBSD is the only platforms with unsigned FD_SETSIZE.
üst bc44f045
...@@ -39,7 +39,7 @@ PyAPI_DATA(PyTypeObject) PyStdPrinter_Type; ...@@ -39,7 +39,7 @@ PyAPI_DATA(PyTypeObject) PyStdPrinter_Type;
/* A routine to check if a file descriptor can be select()-ed. */ /* A routine to check if a file descriptor can be select()-ed. */
#ifdef HAVE_SELECT #ifdef HAVE_SELECT
#define _PyIsSelectable_fd(FD) (((FD) >= 0) && ((FD) < FD_SETSIZE)) #define _PyIsSelectable_fd(FD) ((unsigned int)(FD) < (unsigned int)FD_SETSIZE)
#else #else
#define _PyIsSelectable_fd(FD) (1) #define _PyIsSelectable_fd(FD) (1)
#endif /* HAVE_SELECT */ #endif /* HAVE_SELECT */
......
...@@ -68,8 +68,8 @@ typedef struct { ...@@ -68,8 +68,8 @@ typedef struct {
static void static void
reap_obj(pylist fd2obj[FD_SETSIZE + 1]) reap_obj(pylist fd2obj[FD_SETSIZE + 1])
{ {
int i; unsigned int i;
for (i = 0; i < FD_SETSIZE + 1 && fd2obj[i].sentinel >= 0; i++) { for (i = 0; i < (unsigned int)FD_SETSIZE + 1 && fd2obj[i].sentinel >= 0; i++) {
Py_CLEAR(fd2obj[i].obj); Py_CLEAR(fd2obj[i].obj);
} }
fd2obj[0].sentinel = -1; fd2obj[0].sentinel = -1;
...@@ -83,7 +83,7 @@ static int ...@@ -83,7 +83,7 @@ static int
seq2set(PyObject *seq, fd_set *set, pylist fd2obj[FD_SETSIZE + 1]) seq2set(PyObject *seq, fd_set *set, pylist fd2obj[FD_SETSIZE + 1])
{ {
int max = -1; int max = -1;
int index = 0; unsigned int index = 0;
Py_ssize_t i; Py_ssize_t i;
PyObject* fast_seq = NULL; PyObject* fast_seq = NULL;
PyObject* o = NULL; PyObject* o = NULL;
...@@ -120,7 +120,7 @@ seq2set(PyObject *seq, fd_set *set, pylist fd2obj[FD_SETSIZE + 1]) ...@@ -120,7 +120,7 @@ seq2set(PyObject *seq, fd_set *set, pylist fd2obj[FD_SETSIZE + 1])
FD_SET(v, set); FD_SET(v, set);
/* add object and its file descriptor to the list */ /* add object and its file descriptor to the list */
if (index >= FD_SETSIZE) { if (index >= (unsigned int)FD_SETSIZE) {
PyErr_SetString(PyExc_ValueError, PyErr_SetString(PyExc_ValueError,
"too many file descriptors in select()"); "too many file descriptors in select()");
goto finally; goto finally;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment