Don't use PyNumber_Float() since it's is nearly useless. Instead, rely on
PyFloat_AsDouble to generate a good error message.
diff --git a/Modules/selectmodule.c b/Modules/selectmodule.c
index 805dc1a..0ff0b2c 100644
--- a/Modules/selectmodule.c
+++ b/Modules/selectmodule.c
@@ -214,11 +214,9 @@
return NULL;
}
else {
- tout = PyNumber_Float(tout);
- if (!tout)
+ timeout = PyFloat_AsDouble(tout);
+ if (timeout == -1 && PyErr_Occurred())
return NULL;
- timeout = PyFloat_AS_DOUBLE(tout);
- Py_DECREF(tout);
if (timeout > (double)LONG_MAX) {
PyErr_SetString(PyExc_OverflowError,
"timeout period too long");