mirror of https://github.com/python/cpython
Patch 1114: fix compilation of curses module on 64-bit AIX, and any other LP64 platforms where attr_t isn't a C long
This commit is contained in:
parent
e0a49b6e05
commit
62182c8b72
|
@ -1060,6 +1060,10 @@ Extension Modules
|
||||||
|
|
||||||
- Bug #1548092: fix curses.tparm seg fault on invalid input.
|
- Bug #1548092: fix curses.tparm seg fault on invalid input.
|
||||||
|
|
||||||
|
- Patch #1114: fix curses module compilation on 64-bit AIX, & possibly
|
||||||
|
other 64-bit LP64 platforms where attr_t is not the same size as a long.
|
||||||
|
(Contributed by Luke Mewburn.)
|
||||||
|
|
||||||
- Bug #1550714: fix SystemError from itertools.tee on negative value for n.
|
- Bug #1550714: fix SystemError from itertools.tee on negative value for n.
|
||||||
|
|
||||||
- Fixed a few bugs on cjkcodecs:
|
- Fixed a few bugs on cjkcodecs:
|
||||||
|
|
|
@ -315,9 +315,6 @@ Window_NoArg2TupleReturnFunction(getbegyx, int, "ii")
|
||||||
Window_NoArg2TupleReturnFunction(getmaxyx, int, "ii")
|
Window_NoArg2TupleReturnFunction(getmaxyx, int, "ii")
|
||||||
Window_NoArg2TupleReturnFunction(getparyx, int, "ii")
|
Window_NoArg2TupleReturnFunction(getparyx, int, "ii")
|
||||||
|
|
||||||
Window_OneArgNoReturnFunction(wattron, attr_t, "l;attr")
|
|
||||||
Window_OneArgNoReturnFunction(wattroff, attr_t, "l;attr")
|
|
||||||
Window_OneArgNoReturnFunction(wattrset, attr_t, "l;attr")
|
|
||||||
Window_OneArgNoReturnFunction(clearok, int, "i;True(1) or False(0)")
|
Window_OneArgNoReturnFunction(clearok, int, "i;True(1) or False(0)")
|
||||||
Window_OneArgNoReturnFunction(idlok, int, "i;True(1) or False(0)")
|
Window_OneArgNoReturnFunction(idlok, int, "i;True(1) or False(0)")
|
||||||
#if defined(__NetBSD__)
|
#if defined(__NetBSD__)
|
||||||
|
@ -372,6 +369,7 @@ PyCursesWindow_AddCh(PyCursesWindowObject *self, PyObject *args)
|
||||||
PyObject *temp;
|
PyObject *temp;
|
||||||
chtype ch = 0;
|
chtype ch = 0;
|
||||||
attr_t attr = A_NORMAL;
|
attr_t attr = A_NORMAL;
|
||||||
|
long lattr;
|
||||||
|
|
||||||
switch (PyTuple_Size(args)) {
|
switch (PyTuple_Size(args)) {
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -379,8 +377,9 @@ PyCursesWindow_AddCh(PyCursesWindowObject *self, PyObject *args)
|
||||||
return NULL;
|
return NULL;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (!PyArg_ParseTuple(args, "Ol;ch or int,attr", &temp, &attr))
|
if (!PyArg_ParseTuple(args, "Ol;ch or int,attr", &temp, &lattr))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
attr = lattr;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
if (!PyArg_ParseTuple(args,"iiO;y,x,ch or int", &y, &x, &temp))
|
if (!PyArg_ParseTuple(args,"iiO;y,x,ch or int", &y, &x, &temp))
|
||||||
|
@ -389,8 +388,9 @@ PyCursesWindow_AddCh(PyCursesWindowObject *self, PyObject *args)
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
if (!PyArg_ParseTuple(args,"iiOl;y,x,ch or int, attr",
|
if (!PyArg_ParseTuple(args,"iiOl;y,x,ch or int, attr",
|
||||||
&y, &x, &temp, &attr))
|
&y, &x, &temp, &lattr))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
attr = lattr;
|
||||||
use_xy = TRUE;
|
use_xy = TRUE;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -418,6 +418,7 @@ PyCursesWindow_AddStr(PyCursesWindowObject *self, PyObject *args)
|
||||||
int x, y;
|
int x, y;
|
||||||
char *str;
|
char *str;
|
||||||
attr_t attr = A_NORMAL , attr_old = A_NORMAL;
|
attr_t attr = A_NORMAL , attr_old = A_NORMAL;
|
||||||
|
long lattr;
|
||||||
int use_xy = FALSE, use_attr = FALSE;
|
int use_xy = FALSE, use_attr = FALSE;
|
||||||
|
|
||||||
switch (PyTuple_Size(args)) {
|
switch (PyTuple_Size(args)) {
|
||||||
|
@ -426,8 +427,9 @@ PyCursesWindow_AddStr(PyCursesWindowObject *self, PyObject *args)
|
||||||
return NULL;
|
return NULL;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (!PyArg_ParseTuple(args,"sl;str,attr", &str, &attr))
|
if (!PyArg_ParseTuple(args,"sl;str,attr", &str, &lattr))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
attr = lattr;
|
||||||
use_attr = TRUE;
|
use_attr = TRUE;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
|
@ -436,8 +438,9 @@ PyCursesWindow_AddStr(PyCursesWindowObject *self, PyObject *args)
|
||||||
use_xy = TRUE;
|
use_xy = TRUE;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
if (!PyArg_ParseTuple(args,"iisl;int,int,str,attr", &y, &x, &str, &attr))
|
if (!PyArg_ParseTuple(args,"iisl;int,int,str,attr", &y, &x, &str, &lattr))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
attr = lattr;
|
||||||
use_xy = use_attr = TRUE;
|
use_xy = use_attr = TRUE;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -464,6 +467,7 @@ PyCursesWindow_AddNStr(PyCursesWindowObject *self, PyObject *args)
|
||||||
int rtn, x, y, n;
|
int rtn, x, y, n;
|
||||||
char *str;
|
char *str;
|
||||||
attr_t attr = A_NORMAL , attr_old = A_NORMAL;
|
attr_t attr = A_NORMAL , attr_old = A_NORMAL;
|
||||||
|
long lattr;
|
||||||
int use_xy = FALSE, use_attr = FALSE;
|
int use_xy = FALSE, use_attr = FALSE;
|
||||||
|
|
||||||
switch (PyTuple_Size(args)) {
|
switch (PyTuple_Size(args)) {
|
||||||
|
@ -472,8 +476,9 @@ PyCursesWindow_AddNStr(PyCursesWindowObject *self, PyObject *args)
|
||||||
return NULL;
|
return NULL;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
if (!PyArg_ParseTuple(args,"sil;str,n,attr", &str, &n, &attr))
|
if (!PyArg_ParseTuple(args,"sil;str,n,attr", &str, &n, &lattr))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
attr = lattr;
|
||||||
use_attr = TRUE;
|
use_attr = TRUE;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
|
@ -482,8 +487,9 @@ PyCursesWindow_AddNStr(PyCursesWindowObject *self, PyObject *args)
|
||||||
use_xy = TRUE;
|
use_xy = TRUE;
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
if (!PyArg_ParseTuple(args,"iisil;y,x,str,n,attr", &y, &x, &str, &n, &attr))
|
if (!PyArg_ParseTuple(args,"iisil;y,x,str,n,attr", &y, &x, &str, &n, &lattr))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
attr = lattr;
|
||||||
use_xy = use_attr = TRUE;
|
use_xy = use_attr = TRUE;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -510,6 +516,7 @@ PyCursesWindow_Bkgd(PyCursesWindowObject *self, PyObject *args)
|
||||||
PyObject *temp;
|
PyObject *temp;
|
||||||
chtype bkgd;
|
chtype bkgd;
|
||||||
attr_t attr = A_NORMAL;
|
attr_t attr = A_NORMAL;
|
||||||
|
long lattr;
|
||||||
|
|
||||||
switch (PyTuple_Size(args)) {
|
switch (PyTuple_Size(args)) {
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -517,8 +524,9 @@ PyCursesWindow_Bkgd(PyCursesWindowObject *self, PyObject *args)
|
||||||
return NULL;
|
return NULL;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (!PyArg_ParseTuple(args,"Ol;ch or int,attr", &temp, &attr))
|
if (!PyArg_ParseTuple(args,"Ol;ch or int,attr", &temp, &lattr))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
attr = lattr;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
PyErr_SetString(PyExc_TypeError, "bkgd requires 1 or 2 arguments");
|
PyErr_SetString(PyExc_TypeError, "bkgd requires 1 or 2 arguments");
|
||||||
|
@ -533,12 +541,40 @@ PyCursesWindow_Bkgd(PyCursesWindowObject *self, PyObject *args)
|
||||||
return PyCursesCheckERR(wbkgd(self->win, bkgd | attr), "bkgd");
|
return PyCursesCheckERR(wbkgd(self->win, bkgd | attr), "bkgd");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static PyObject *
|
||||||
|
PyCursesWindow_AttrOff(PyCursesWindowObject *self, PyObject *args)
|
||||||
|
{
|
||||||
|
long lattr;
|
||||||
|
if (!PyArg_ParseTuple(args,"l;attr", &lattr))
|
||||||
|
return NULL;
|
||||||
|
return PyCursesCheckERR(wattroff(self->win, (attr_t)lattr), "attroff");
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject *
|
||||||
|
PyCursesWindow_AttrOn(PyCursesWindowObject *self, PyObject *args)
|
||||||
|
{
|
||||||
|
long lattr;
|
||||||
|
if (!PyArg_ParseTuple(args,"l;attr", &lattr))
|
||||||
|
return NULL;
|
||||||
|
return PyCursesCheckERR(wattron(self->win, (attr_t)lattr), "attron");
|
||||||
|
}
|
||||||
|
|
||||||
|
static PyObject *
|
||||||
|
PyCursesWindow_AttrSet(PyCursesWindowObject *self, PyObject *args)
|
||||||
|
{
|
||||||
|
long lattr;
|
||||||
|
if (!PyArg_ParseTuple(args,"l;attr", &lattr))
|
||||||
|
return NULL;
|
||||||
|
return PyCursesCheckERR(wattrset(self->win, (attr_t)lattr), "attrset");
|
||||||
|
}
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
PyCursesWindow_BkgdSet(PyCursesWindowObject *self, PyObject *args)
|
PyCursesWindow_BkgdSet(PyCursesWindowObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
PyObject *temp;
|
PyObject *temp;
|
||||||
chtype bkgd;
|
chtype bkgd;
|
||||||
attr_t attr = A_NORMAL;
|
attr_t attr = A_NORMAL;
|
||||||
|
long lattr;
|
||||||
|
|
||||||
switch (PyTuple_Size(args)) {
|
switch (PyTuple_Size(args)) {
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -546,8 +582,9 @@ PyCursesWindow_BkgdSet(PyCursesWindowObject *self, PyObject *args)
|
||||||
return NULL;
|
return NULL;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (!PyArg_ParseTuple(args,"Ol;ch or int,attr", &temp, &attr))
|
if (!PyArg_ParseTuple(args,"Ol;ch or int,attr", &temp, &lattr))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
attr = lattr;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
PyErr_SetString(PyExc_TypeError, "bkgdset requires 1 or 2 arguments");
|
PyErr_SetString(PyExc_TypeError, "bkgdset requires 1 or 2 arguments");
|
||||||
|
@ -735,6 +772,7 @@ PyCursesWindow_EchoChar(PyCursesWindowObject *self, PyObject *args)
|
||||||
PyObject *temp;
|
PyObject *temp;
|
||||||
chtype ch;
|
chtype ch;
|
||||||
attr_t attr = A_NORMAL;
|
attr_t attr = A_NORMAL;
|
||||||
|
long lattr;
|
||||||
|
|
||||||
switch (PyTuple_Size(args)) {
|
switch (PyTuple_Size(args)) {
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -742,8 +780,9 @@ PyCursesWindow_EchoChar(PyCursesWindowObject *self, PyObject *args)
|
||||||
return NULL;
|
return NULL;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (!PyArg_ParseTuple(args,"Ol;ch or int,attr", &temp, &attr))
|
if (!PyArg_ParseTuple(args,"Ol;ch or int,attr", &temp, &lattr))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
attr = lattr;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
PyErr_SetString(PyExc_TypeError, "echochar requires 1 or 2 arguments");
|
PyErr_SetString(PyExc_TypeError, "echochar requires 1 or 2 arguments");
|
||||||
|
@ -909,6 +948,7 @@ PyCursesWindow_Hline(PyCursesWindowObject *self, PyObject *args)
|
||||||
chtype ch;
|
chtype ch;
|
||||||
int n, x, y, code = OK;
|
int n, x, y, code = OK;
|
||||||
attr_t attr = A_NORMAL;
|
attr_t attr = A_NORMAL;
|
||||||
|
long lattr;
|
||||||
|
|
||||||
switch (PyTuple_Size(args)) {
|
switch (PyTuple_Size(args)) {
|
||||||
case 2:
|
case 2:
|
||||||
|
@ -916,8 +956,9 @@ PyCursesWindow_Hline(PyCursesWindowObject *self, PyObject *args)
|
||||||
return NULL;
|
return NULL;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
if (!PyArg_ParseTuple(args, "Oil;ch or int,n,attr", &temp, &n, &attr))
|
if (!PyArg_ParseTuple(args, "Oil;ch or int,n,attr", &temp, &n, &lattr))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
attr = lattr;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
if (!PyArg_ParseTuple(args, "iiOi;y,x,ch or int,n", &y, &x, &temp, &n))
|
if (!PyArg_ParseTuple(args, "iiOi;y,x,ch or int,n", &y, &x, &temp, &n))
|
||||||
|
@ -926,8 +967,9 @@ PyCursesWindow_Hline(PyCursesWindowObject *self, PyObject *args)
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
if (!PyArg_ParseTuple(args, "iiOil; y,x,ch or int,n,attr",
|
if (!PyArg_ParseTuple(args, "iiOil; y,x,ch or int,n,attr",
|
||||||
&y, &x, &temp, &n, &attr))
|
&y, &x, &temp, &n, &lattr))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
attr = lattr;
|
||||||
code = wmove(self->win, y, x);
|
code = wmove(self->win, y, x);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -953,6 +995,7 @@ PyCursesWindow_InsCh(PyCursesWindowObject *self, PyObject *args)
|
||||||
PyObject *temp;
|
PyObject *temp;
|
||||||
chtype ch = 0;
|
chtype ch = 0;
|
||||||
attr_t attr = A_NORMAL;
|
attr_t attr = A_NORMAL;
|
||||||
|
long lattr;
|
||||||
|
|
||||||
switch (PyTuple_Size(args)) {
|
switch (PyTuple_Size(args)) {
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -960,8 +1003,9 @@ PyCursesWindow_InsCh(PyCursesWindowObject *self, PyObject *args)
|
||||||
return NULL;
|
return NULL;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (!PyArg_ParseTuple(args, "Ol;ch or int,attr", &temp, &attr))
|
if (!PyArg_ParseTuple(args, "Ol;ch or int,attr", &temp, &lattr))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
attr = lattr;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
if (!PyArg_ParseTuple(args,"iiO;y,x,ch or int", &y, &x, &temp))
|
if (!PyArg_ParseTuple(args,"iiO;y,x,ch or int", &y, &x, &temp))
|
||||||
|
@ -969,8 +1013,9 @@ PyCursesWindow_InsCh(PyCursesWindowObject *self, PyObject *args)
|
||||||
use_xy = TRUE;
|
use_xy = TRUE;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
if (!PyArg_ParseTuple(args,"iiOl;y,x,ch or int, attr", &y, &x, &temp, &attr))
|
if (!PyArg_ParseTuple(args,"iiOl;y,x,ch or int, attr", &y, &x, &temp, &lattr))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
attr = lattr;
|
||||||
use_xy = TRUE;
|
use_xy = TRUE;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -1055,6 +1100,7 @@ PyCursesWindow_InsStr(PyCursesWindowObject *self, PyObject *args)
|
||||||
int x, y;
|
int x, y;
|
||||||
char *str;
|
char *str;
|
||||||
attr_t attr = A_NORMAL , attr_old = A_NORMAL;
|
attr_t attr = A_NORMAL , attr_old = A_NORMAL;
|
||||||
|
long lattr;
|
||||||
int use_xy = FALSE, use_attr = FALSE;
|
int use_xy = FALSE, use_attr = FALSE;
|
||||||
|
|
||||||
switch (PyTuple_Size(args)) {
|
switch (PyTuple_Size(args)) {
|
||||||
|
@ -1063,8 +1109,9 @@ PyCursesWindow_InsStr(PyCursesWindowObject *self, PyObject *args)
|
||||||
return NULL;
|
return NULL;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (!PyArg_ParseTuple(args,"sl;str,attr", &str, &attr))
|
if (!PyArg_ParseTuple(args,"sl;str,attr", &str, &lattr))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
attr = lattr;
|
||||||
use_attr = TRUE;
|
use_attr = TRUE;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
|
@ -1073,8 +1120,9 @@ PyCursesWindow_InsStr(PyCursesWindowObject *self, PyObject *args)
|
||||||
use_xy = TRUE;
|
use_xy = TRUE;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
if (!PyArg_ParseTuple(args,"iisl;y,x,str,attr", &y, &x, &str, &attr))
|
if (!PyArg_ParseTuple(args,"iisl;y,x,str,attr", &y, &x, &str, &lattr))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
attr = lattr;
|
||||||
use_xy = use_attr = TRUE;
|
use_xy = use_attr = TRUE;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -1101,6 +1149,7 @@ PyCursesWindow_InsNStr(PyCursesWindowObject *self, PyObject *args)
|
||||||
int rtn, x, y, n;
|
int rtn, x, y, n;
|
||||||
char *str;
|
char *str;
|
||||||
attr_t attr = A_NORMAL , attr_old = A_NORMAL;
|
attr_t attr = A_NORMAL , attr_old = A_NORMAL;
|
||||||
|
long lattr;
|
||||||
int use_xy = FALSE, use_attr = FALSE;
|
int use_xy = FALSE, use_attr = FALSE;
|
||||||
|
|
||||||
switch (PyTuple_Size(args)) {
|
switch (PyTuple_Size(args)) {
|
||||||
|
@ -1109,8 +1158,9 @@ PyCursesWindow_InsNStr(PyCursesWindowObject *self, PyObject *args)
|
||||||
return NULL;
|
return NULL;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
if (!PyArg_ParseTuple(args,"sil;str,n,attr", &str, &n, &attr))
|
if (!PyArg_ParseTuple(args,"sil;str,n,attr", &str, &n, &lattr))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
attr = lattr;
|
||||||
use_attr = TRUE;
|
use_attr = TRUE;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
|
@ -1119,8 +1169,9 @@ PyCursesWindow_InsNStr(PyCursesWindowObject *self, PyObject *args)
|
||||||
use_xy = TRUE;
|
use_xy = TRUE;
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
if (!PyArg_ParseTuple(args,"iisil;y,x,str,n,attr", &y, &x, &str, &n, &attr))
|
if (!PyArg_ParseTuple(args,"iisil;y,x,str,n,attr", &y, &x, &str, &n, &lattr))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
attr = lattr;
|
||||||
use_xy = use_attr = TRUE;
|
use_xy = use_attr = TRUE;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -1436,6 +1487,7 @@ PyCursesWindow_Vline(PyCursesWindowObject *self, PyObject *args)
|
||||||
chtype ch;
|
chtype ch;
|
||||||
int n, x, y, code = OK;
|
int n, x, y, code = OK;
|
||||||
attr_t attr = A_NORMAL;
|
attr_t attr = A_NORMAL;
|
||||||
|
long lattr;
|
||||||
|
|
||||||
switch (PyTuple_Size(args)) {
|
switch (PyTuple_Size(args)) {
|
||||||
case 2:
|
case 2:
|
||||||
|
@ -1443,8 +1495,9 @@ PyCursesWindow_Vline(PyCursesWindowObject *self, PyObject *args)
|
||||||
return NULL;
|
return NULL;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
if (!PyArg_ParseTuple(args, "Oil;ch or int,n,attr", &temp, &n, &attr))
|
if (!PyArg_ParseTuple(args, "Oil;ch or int,n,attr", &temp, &n, &lattr))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
attr = lattr;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
if (!PyArg_ParseTuple(args, "iiOi;y,x,ch or int,n", &y, &x, &temp, &n))
|
if (!PyArg_ParseTuple(args, "iiOi;y,x,ch or int,n", &y, &x, &temp, &n))
|
||||||
|
@ -1453,8 +1506,9 @@ PyCursesWindow_Vline(PyCursesWindowObject *self, PyObject *args)
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
if (!PyArg_ParseTuple(args, "iiOil; y,x,ch or int,n,attr",
|
if (!PyArg_ParseTuple(args, "iiOil; y,x,ch or int,n,attr",
|
||||||
&y, &x, &temp, &n, &attr))
|
&y, &x, &temp, &n, &lattr))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
attr = lattr;
|
||||||
code = wmove(self->win, y, x);
|
code = wmove(self->win, y, x);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -1477,9 +1531,9 @@ static PyMethodDef PyCursesWindow_Methods[] = {
|
||||||
{"addch", (PyCFunction)PyCursesWindow_AddCh, METH_VARARGS},
|
{"addch", (PyCFunction)PyCursesWindow_AddCh, METH_VARARGS},
|
||||||
{"addnstr", (PyCFunction)PyCursesWindow_AddNStr, METH_VARARGS},
|
{"addnstr", (PyCFunction)PyCursesWindow_AddNStr, METH_VARARGS},
|
||||||
{"addstr", (PyCFunction)PyCursesWindow_AddStr, METH_VARARGS},
|
{"addstr", (PyCFunction)PyCursesWindow_AddStr, METH_VARARGS},
|
||||||
{"attroff", (PyCFunction)PyCursesWindow_wattroff, METH_VARARGS},
|
{"attroff", (PyCFunction)PyCursesWindow_AttrOff, METH_VARARGS},
|
||||||
{"attron", (PyCFunction)PyCursesWindow_wattron, METH_VARARGS},
|
{"attron", (PyCFunction)PyCursesWindow_AttrOn, METH_VARARGS},
|
||||||
{"attrset", (PyCFunction)PyCursesWindow_wattrset, METH_VARARGS},
|
{"attrset", (PyCFunction)PyCursesWindow_AttrSet, METH_VARARGS},
|
||||||
{"bkgd", (PyCFunction)PyCursesWindow_Bkgd, METH_VARARGS},
|
{"bkgd", (PyCFunction)PyCursesWindow_Bkgd, METH_VARARGS},
|
||||||
{"chgat", (PyCFunction)PyCursesWindow_ChgAt, METH_VARARGS},
|
{"chgat", (PyCFunction)PyCursesWindow_ChgAt, METH_VARARGS},
|
||||||
{"bkgdset", (PyCFunction)PyCursesWindow_BkgdSet, METH_VARARGS},
|
{"bkgdset", (PyCFunction)PyCursesWindow_BkgdSet, METH_VARARGS},
|
||||||
|
|
Loading…
Reference in New Issue