Patch #477752: Drop old-style getargs from curses.
diff --git a/Include/py_curses.h b/Include/py_curses.h
index 1b6d2d3..621dd41 100644
--- a/Include/py_curses.h
+++ b/Include/py_curses.h
@@ -68,10 +68,6 @@
static char *catchall_ERR = "curses function returned ERR";
static char *catchall_NULL = "curses function returned NULL";
-/* Utility macros */
-#define ARG_COUNT(X) \
- (((X) == NULL) ? 0 : (PyTuple_Check(X) ? PyTuple_Size(X) : 1))
-
/* Function Prototype Macros - They are ugly but very, very useful. ;-)
X - function name
@@ -81,10 +77,9 @@
*/
#define NoArgNoReturnFunction(X) \
-static PyObject *PyCurses_ ## X (PyObject *self, PyObject *args) \
+static PyObject *PyCurses_ ## X (PyObject *self) \
{ \
PyCursesInitialised \
- if (!PyArg_NoArgs(args)) return NULL; \
return PyCursesCheckERR(X(), # X); }
#define NoArgOrFlagNoReturnFunction(X) \
@@ -92,11 +87,11 @@
{ \
int flag = 0; \
PyCursesInitialised \
- switch(ARG_COUNT(args)) { \
+ switch(PyTuple_Size(args)) { \
case 0: \
return PyCursesCheckERR(X(), # X); \
case 1: \
- if (!PyArg_Parse(args, "i;True(1) or False(0)", &flag)) return NULL; \
+ if (!PyArg_ParseTuple(args, "i;True(1) or False(0)", &flag)) return NULL; \
if (flag) return PyCursesCheckERR(X(), # X); \
else return PyCursesCheckERR(no ## X (), # X); \
default: \
@@ -104,25 +99,22 @@
return NULL; } }
#define NoArgReturnIntFunction(X) \
-static PyObject *PyCurses_ ## X (PyObject *self, PyObject *args) \
+static PyObject *PyCurses_ ## X (PyObject *self) \
{ \
PyCursesInitialised \
- if (!PyArg_NoArgs(args)) return NULL; \
return PyInt_FromLong((long) X()); }
#define NoArgReturnStringFunction(X) \
-static PyObject *PyCurses_ ## X (PyObject *self, PyObject *args) \
+static PyObject *PyCurses_ ## X (PyObject *self) \
{ \
PyCursesInitialised \
- if (!PyArg_NoArgs(args)) return NULL; \
return PyString_FromString(X()); }
#define NoArgTrueFalseFunction(X) \
-static PyObject *PyCurses_ ## X (PyObject *self, PyObject *args) \
+static PyObject *PyCurses_ ## X (PyObject *self) \
{ \
PyCursesInitialised \
- if (!PyArg_NoArgs(args)) return NULL; \
if (X () == FALSE) { \
Py_INCREF(Py_False); \
return Py_False; \
@@ -131,10 +123,9 @@
return Py_True; }
#define NoArgNoReturnVoidFunction(X) \
-static PyObject *PyCurses_ ## X (PyObject *self, PyObject *args) \
+static PyObject *PyCurses_ ## X (PyObject *self) \
{ \
PyCursesInitialised \
- if (!PyArg_NoArgs(args)) return NULL; \
X(); \
Py_INCREF(Py_None); \
return Py_None; }