]> granicus.if.org Git - python/commitdiff
SF patch #577031, remove PyArg_Parse() since it's deprecated
authorNeal Norwitz <nnorwitz@gmail.com>
Sun, 28 Jul 2002 15:12:10 +0000 (15:12 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Sun, 28 Jul 2002 15:12:10 +0000 (15:12 +0000)
Modules/selectmodule.c

index 4149dc5251cce67bc0a7aa5991bb160f20891a3c..2caa0225f4c5ed7c0bdc78db6d67f7134fa66043 100644 (file)
@@ -208,12 +208,17 @@ select_select(PyObject *self, PyObject *args)
 
        if (tout == Py_None)
                tvp = (struct timeval *)0;
-       else if (!PyArg_Parse(tout, "d", &timeout)) {
+       else if (!PyNumber_Check(tout)) {
                PyErr_SetString(PyExc_TypeError,
                                "timeout must be a float or None");
                return NULL;
        }
        else {
+               tout = PyNumber_Float(tout);
+               if (!tout)
+                       return NULL;
+               timeout = PyFloat_AS_DOUBLE(tout);
+               Py_DECREF(tout);
                if (timeout > (double)LONG_MAX) {
                        PyErr_SetString(PyExc_OverflowError,
                                        "timeout period too long");
@@ -450,11 +455,18 @@ poll_poll(pollObject *self, PyObject *args)
        /* Check values for timeout */
        if (tout == NULL || tout == Py_None)
                timeout = -1;
-       else if (!PyArg_Parse(tout, "i", &timeout)) {
+       else if (!PyNumber_Check(tout)) {
                PyErr_SetString(PyExc_TypeError,
                                "timeout must be an integer or None");
                return NULL;
        }
+       else {
+               tout = PyNumber_Int(tout);
+               if (!tout)
+                       return NULL;
+               timeout = PyInt_AS_LONG(tout);
+               Py_DECREF(tout);
+       }
 
        /* Ensure the ufd array is up to date */
        if (!self->ufd_uptodate)