X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Ftinfo%2Ftinfo_driver.c;h=a17accd358e543be61110f942c45e97d5f9a60c1;hp=785847bdc1ec034659a4c77e22a0137f18d9dcc1;hb=808858ace09b9bf60f7154e33cb6572f49347101;hpb=63e3cafac136d773331dee15633f1c9ef08c5493 diff --git a/ncurses/tinfo/tinfo_driver.c b/ncurses/tinfo/tinfo_driver.c index 785847bd..a17accd3 100644 --- a/ncurses/tinfo/tinfo_driver.c +++ b/ncurses/tinfo/tinfo_driver.c @@ -50,7 +50,7 @@ # endif #endif -MODULE_ID("$Id: tinfo_driver.c,v 1.37 2014/04/13 00:17:08 tom Exp $") +MODULE_ID("$Id: tinfo_driver.c,v 1.39 2014/09/27 21:58:57 tom Exp $") /* * SCO defines TIOCGSIZE and the corresponding struct. Other systems (SunOS, @@ -385,7 +385,7 @@ drv_size(TERMINAL_CONTROL_BLOCK * TCB, int *linep, int *colp) /* try asking the OS */ { TERMINAL *termp = (TERMINAL *) TCB; - if (isatty(termp->Filedes)) { + if (NC_ISATTY(termp->Filedes)) { STRUCT_WINSIZE size; errno = 0; @@ -671,7 +671,7 @@ drv_init(TERMINAL_CONTROL_BLOCK * TCB) * _nc_setupscreen(). Do it now anyway, so we can initialize the * baudrate. */ - if (isatty(trm->Filedes)) { + if (NC_ISATTY(trm->Filedes)) { TCB->drv->td_mode(TCB, TRUE, TRUE); } } @@ -1298,6 +1298,35 @@ drv_keyok(TERMINAL_CONTROL_BLOCK * TCB, int c, int flag) return (code); } +static int +drv_cursorSet(TERMINAL_CONTROL_BLOCK * TCB, int vis) +{ + SCREEN *sp; + int code = ERR; + + AssertTCB(); + SetSP(); + + T((T_CALLED("tinfo:drv_cursorSet(%p,%d)"), (void *) SP_PARM, vis)); + + if (SP_PARM != 0 && IsTermInfo(SP_PARM)) { + switch (vis) { + case 2: + code = NCURSES_PUTP2_FLUSH("cursor_visible", cursor_visible); + break; + case 1: + code = NCURSES_PUTP2_FLUSH("cursor_normal", cursor_normal); + break; + case 0: + code = NCURSES_PUTP2_FLUSH("cursor_invisible", cursor_invisible); + break; + } + } else { + code = ERR; + } + returnCode(code); +} + static bool drv_kyExist(TERMINAL_CONTROL_BLOCK * TCB, int key) { @@ -1346,5 +1375,6 @@ NCURSES_EXPORT_VAR (TERM_DRIVER) _nc_TINFO_DRIVER = { drv_nap, /* nap */ drv_kpad, /* kpad */ drv_keyok, /* kyOk */ - drv_kyExist /* kyExist */ + drv_kyExist, /* kyExist */ + drv_cursorSet /* cursorSet */ };