Mercurial > cpython-lru_cache-weakref
diff Modules/_cursesmodule.c @ 17255:22d349748384 2.0
More _curses compilation-problem fixes.
NetBSD, IRIX and platforms with term.h that makes "lines" a macro
| author | Moshe Zadka <moshez@math.huji.ac.il> |
|---|---|
| date | Fri, 30 Mar 2001 14:23:06 +0000 |
| parents | 4aa7afbf29d8 |
| children |
line wrap: on
line diff
--- a/Modules/_cursesmodule.c Fri Mar 30 13:55:52 2001 +0000 +++ b/Modules/_cursesmodule.c Fri Mar 30 14:23:06 2001 +0000 @@ -84,6 +84,7 @@ module in other ways. So the code will just specify an explicit prototype here. */ extern char *tigetstr(char *); +extern char *tparm(char *instring, ...); #endif #if defined(sgi) || defined(__sun__) @@ -91,6 +92,10 @@ typedef chtype attr_t; /* No attr_t type is available */ #endif +#if defined(_AIX) +#define STRICT_SYSV_CURSES +#endif + /* Definition of exception curses.error */ static PyObject *PyCursesError; @@ -261,9 +266,17 @@ Window_OneArgNoReturnFunction(wattrset, attr_t, "l;attr") Window_OneArgNoReturnFunction(clearok, int, "i;True(1) or False(0)") Window_OneArgNoReturnFunction(idlok, int, "i;True(1) or False(0)") +#if defined(__NetBSD__) +Window_OneArgNoReturnVoidFunction(keypad, int, "i;True(1) or False(0)") +#else Window_OneArgNoReturnFunction(keypad, int, "i;True(1) or False(0)") +#endif Window_OneArgNoReturnFunction(leaveok, int, "i;True(1) or False(0)") +#if defined(__NetBSD__) +Window_OneArgNoReturnVoidFunction(nodelay, int, "i;True(1) or False(0)") +#else Window_OneArgNoReturnFunction(nodelay, int, "i;True(1) or False(0)") +#endif Window_OneArgNoReturnFunction(notimeout, int, "i;True(1) or False(0)") Window_OneArgNoReturnFunction(scrollok, int, "i;True(1) or False(0)") Window_OneArgNoReturnFunction(winsdelln, int, "i;nlines") @@ -606,10 +619,12 @@ return NULL; } +#if !defined(__NetBSD__) if (self->win->_flags & _ISPAD) return PyCursesCheckERR(pechochar(self->win, ch | attr), "echochar"); else +#endif return PyCursesCheckERR(wechochar(self->win, ch | attr), "echochar"); } @@ -686,7 +701,11 @@ if (rtn<=255) return Py_BuildValue("c", rtn); else +#if defined(__NetBSD__) + return PyString_FromString(unctrl(rtn)); +#else return PyString_FromString((char *)keyname(rtn)); +#endif } static PyObject * @@ -1005,7 +1024,11 @@ int pminrow,pmincol,sminrow,smincol,smaxrow,smaxcol; int rtn; +#if defined(__NetBSD__) + if (0) { +#else if (self->win->_flags & _ISPAD) { +#endif switch(ARG_COUNT(args)) { case 6: if (!PyArg_Parse(args, @@ -1067,7 +1090,11 @@ int pminrow,pmincol,sminrow,smincol,smaxrow,smaxcol; int rtn; +#if defined(__NetBSD__) + if (0) { +#else if (self->win->_flags & _ISPAD) { +#endif switch(ARG_COUNT(args)) { case 6: if (!PyArg_Parse(args, @@ -1131,9 +1158,11 @@ } /* printf("Subwin: %i %i %i %i \n", nlines, ncols, begin_y, begin_x); */ +#if !defined(__NetBSD__) if (self->win->_flags & _ISPAD) win = subpad(self->win, nlines, ncols, begin_y, begin_x); else +#endif win = subwin(self->win, nlines, ncols, begin_y, begin_x); if (win == NULL) { @@ -1147,15 +1176,15 @@ static PyObject * PyCursesWindow_Scroll(PyCursesWindowObject *self, PyObject *args) { - int lines; + int nlines; switch(ARG_COUNT(args)) { case 0: return PyCursesCheckERR(scroll(self->win), "scroll"); break; case 1: - if (!PyArg_Parse(args, "i;lines", &lines)) + if (!PyArg_Parse(args, "i;nlines", &nlines)) return NULL; - return PyCursesCheckERR(wscrl(self->win, lines), "scroll"); + return PyCursesCheckERR(wscrl(self->win, nlines), "scroll"); default: PyErr_SetString(PyExc_TypeError, "scroll requires 0 or 1 arguments"); return NULL; @@ -1687,7 +1716,7 @@ PyCurses_InitScr(PyObject *self, PyObject *args) { WINDOW *win; - PyObject *lines, *cols; + PyObject *nlines, *cols; if (!PyArg_NoArgs(args)) return NULL; @@ -1771,9 +1800,9 @@ SetDictInt("ACS_STERLING", (ACS_STERLING)); #endif - lines = PyInt_FromLong((long) LINES); - PyDict_SetItemString(ModDict, "LINES", lines); - Py_DECREF(lines); + nlines = PyInt_FromLong((long) LINES); + PyDict_SetItemString(ModDict, "LINES", nlines); + Py_DECREF(nlines); cols = PyInt_FromLong((long) COLS); PyDict_SetItemString(ModDict, "COLS", cols); Py_DECREF(cols); @@ -1801,6 +1830,7 @@ return PyCursesCheckERR(intrflush(NULL,ch), "intrflush"); } +#if !defined(__NetBSD__) static PyObject * PyCurses_KeyName(PyObject *self, PyObject *args) { @@ -1815,6 +1845,7 @@ return PyString_FromString((knp == NULL) ? "" : (char *)knp); } +#endif static PyObject * PyCurses_KillChar(PyObject *self, PyObject *args) @@ -2214,7 +2245,9 @@ {"initscr", (PyCFunction)PyCurses_InitScr}, {"intrflush", (PyCFunction)PyCurses_IntrFlush}, {"isendwin", (PyCFunction)PyCurses_isendwin}, +#if !defined(__NetBSD__) {"keyname", (PyCFunction)PyCurses_KeyName}, +#endif {"killchar", (PyCFunction)PyCurses_KillChar}, {"longname", (PyCFunction)PyCurses_longname}, {"meta", (PyCFunction)PyCurses_Meta}, @@ -2288,7 +2321,9 @@ SetDictInt("A_DIM", A_DIM); SetDictInt("A_BOLD", A_BOLD); SetDictInt("A_ALTCHARSET", A_ALTCHARSET); +#if !defined(__NetBSD__) SetDictInt("A_INVIS", A_INVIS); +#endif SetDictInt("A_PROTECT", A_PROTECT); SetDictInt("A_CHARTEXT", A_CHARTEXT); SetDictInt("A_COLOR", A_COLOR); @@ -2360,6 +2395,7 @@ int key; char *key_n; char *key_n2; +#if !defined(__NetBSD__) for (key=KEY_MIN;key < KEY_MAX; key++) { key_n = (char *)keyname(key); if (key_n == NULL || strcmp(key_n,"UNKNOWN KEY")==0) @@ -2383,6 +2419,7 @@ if (key_n2 != key_n) free(key_n2); } +#endif SetDictInt("KEY_MIN", KEY_MIN); SetDictInt("KEY_MAX", KEY_MAX); }
