summaryrefslogtreecommitdiff
path: root/payloads/libpayload/curses/PDCurses-3.4/pdcurses
diff options
context:
space:
mode:
authorStefan Reinauer <stefan.reinauer@coreboot.org>2015-11-10 09:00:41 -0800
committerStefan Reinauer <stefan.reinauer@coreboot.org>2015-11-11 21:38:48 +0100
commit4f85a1eb76d1e7109bcc60ba6f3262a5654ac61b (patch)
treee996818c6aa6b6f702a6c805c447c20724eff265 /payloads/libpayload/curses/PDCurses-3.4/pdcurses
parent2ea24dabd658b8396e0abf79318a538ef0f3a5b8 (diff)
downloadcoreboot-4f85a1eb76d1e7109bcc60ba6f3262a5654ac61b.tar.xz
libpayload: Rename PDCurses-3.4 to PDCurses
Change-Id: If881ec130833c7e7e62caa3d31e350a531f5bc8e Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-on: http://review.coreboot.org/12398 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Diffstat (limited to 'payloads/libpayload/curses/PDCurses-3.4/pdcurses')
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/README25
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/addch.c408
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/addchstr.c242
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/addstr.c237
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/attr.c349
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/beep.c65
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/bkgd.c220
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/border.c408
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/clear.c154
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/color.c295
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/debug.c81
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/delch.c93
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/deleteln.c208
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/deprec.c29
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/getch.c410
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/getstr.c471
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/getyx.c143
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/inch.c125
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/inchstr.c211
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/initscr.c342
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/inopts.c321
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/insch.c268
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/insstr.c261
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/instr.c243
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/kernel.c256
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/keyname.c125
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/mouse.c429
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/move.c54
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/outopts.c156
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/overlay.c256
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/pad.c259
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/panel.c630
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/printw.c123
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/refresh.c276
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/scanw.c575
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/scr_dump.c210
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/scroll.c98
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/slk.c643
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/termattr.c176
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/terminfo.c215
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/touch.c160
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/util.c309
-rw-r--r--payloads/libpayload/curses/PDCurses-3.4/pdcurses/window.c562
43 files changed, 0 insertions, 11121 deletions
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/README b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/README
deleted file mode 100644
index bef1c4c469..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/README
+++ /dev/null
@@ -1,25 +0,0 @@
-PDCurses Portable Core
-======================
-
-This directory contains core PDCurses source code files common to all
-platforms.
-
-
-Building
---------
-
-These modules are built by the platform-specific makefiles, in the
-platform directories.
-
-
-Distribution Status
--------------------
-
-The files in this directory are released to the Public Domain.
-
-
-Acknowledgements
-----------------
-
-The panel library was originally provided by
-Warren Tucker <wht@n4hgf.mt-park.ga.us>
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/addch.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/addch.c
deleted file mode 100644
index 5934b54b96..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/addch.c
+++ /dev/null
@@ -1,408 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: addch.c,v 1.54 2008/07/13 16:08:17 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: addch
-
- Synopsis:
- int addch(const chtype ch);
- int waddch(WINDOW *win, const chtype ch);
- int mvaddch(int y, int x, const chtype ch);
- int mvwaddch(WINDOW *win, int y, int x, const chtype ch);
- int echochar(const chtype ch);
- int wechochar(WINDOW *win, const chtype ch);
-
- int addrawch(chtype ch);
- int waddrawch(WINDOW *win, chtype ch);
- int mvaddrawch(int y, int x, chtype ch);
- int mvwaddrawch(WINDOW *win, int y, int x, chtype ch);
-
- int add_wch(const cchar_t *wch);
- int wadd_wch(WINDOW *win, const cchar_t *wch);
- int mvadd_wch(int y, int x, const cchar_t *wch);
- int mvwadd_wch(WINDOW *win, int y, int x, const cchar_t *wch);
- int echo_wchar(const cchar_t *wch);
- int wecho_wchar(WINDOW *win, const cchar_t *wch);
-
- Description:
- addch() adds the chtype ch to the default window (stdscr) at the
- current cursor position, and advances the cursor. Note that
- chtypes can convey both text (a single character) and
- attributes, including a color pair. add_wch() is the wide-
- character version of this function, taking a pointer to a
- cchar_t instead of a chtype.
-
- waddch() is like addch(), but also lets you specify the window.
- (This is in fact the core output routine.) wadd_wch() is the
- wide version.
-
- mvaddch() moves the cursor to the specified (y, x) position, and
- adds ch to stdscr. mvadd_wch() is the wide version.
-
- mvwaddch() moves the cursor to the specified position and adds
- ch to the specified window. mvwadd_wch() is the wide version.
-
- echochar() adds ch to stdscr at the current cursor position and
- calls refresh(). echo_wchar() is the wide version.
-
- wechochar() adds ch to the specified window and calls
- wrefresh(). wecho_wchar() is the wide version.
-
- addrawch(), waddrawch(), mvaddrawch() and mvwaddrawch() are
- PDCurses-specific wrappers for addch() etc. that disable the
- translation of control characters.
-
- The following applies to all these functions:
-
- If the cursor moves on to the right margin, an automatic newline
- is performed. If scrollok is enabled, and a character is added
- to the bottom right corner of the window, the scrolling region
- will be scrolled up one line. If scrolling is not allowed, ERR
- will be returned.
-
- If ch is a tab, newline, or backspace, the cursor will be moved
- appropriately within the window. If ch is a newline, the
- clrtoeol routine is called before the cursor is moved to the
- beginning of the next line. If newline mapping is off, the
- cursor will be moved to the next line, but the x coordinate will
- be unchanged. If ch is a tab the cursor is moved to the next
- tab position within the window. If ch is another control
- character, it will be drawn in the ^X notation. Calling the
- inch() routine after adding a control character returns the
- representation of the control character, not the control
- character.
-
- Video attributes can be combined with a character by ORing them
- into the parameter. Text, including attributes, can be copied
- from one place to another by using inch() and addch().
-
- Note that in PDCurses, for now, a cchar_t and a chtype are the
- same. The text field is 16 bits wide, and is treated as Unicode
- (UCS-2) when PDCurses is built with wide-character support
- (define PDC_WIDE). So, in functions that take a chtype, like
- addch(), both the wide and narrow versions will handle Unicode.
- But for portability, you should use the wide functions.
-
- Return Value:
- All functions return OK on success and ERR on error.
-
- Portability X/Open BSD SYS V
- addch Y Y Y
- waddch Y Y Y
- mvaddch Y Y Y
- mvwaddch Y Y Y
- echochar Y - 3.0
- wechochar Y - 3.0
- addrawch - - -
- waddrawch - - -
- mvaddrawch - - -
- mvwaddrawch - - -
- add_wch Y
- wadd_wch Y
- mvadd_wch Y
- mvwadd_wch Y
- echo_wchar Y
- wecho_wchar Y
-
-**man-end****************************************************************/
-
-int waddch(WINDOW *win, const chtype ch)
-{
- int x, y;
- chtype text, attr;
- bool xlat;
-
- PDC_LOG(("waddch() - called: win=%p ch=%x (text=%c attr=0x%x)\n",
- win, ch, ch & A_CHARTEXT, ch & A_ATTRIBUTES));
-
- if (!win)
- return ERR;
-
- x = win->_curx;
- y = win->_cury;
-
- if (y > win->_maxy || x > win->_maxx || y < 0 || x < 0)
- return ERR;
-
- xlat = !SP->raw_out && !(ch & A_ALTCHARSET);
- text = ch & A_CHARTEXT;
- attr = ch & A_ATTRIBUTES;
-
- if (xlat && (text < ' ' || text == 0x7f))
- {
- int x2;
-
- switch (text)
- {
- case '\t':
- for (x2 = ((x / TABSIZE) + 1) * TABSIZE; x < x2; x++)
- {
- if (waddch(win, attr | ' ') == ERR)
- return ERR;
-
- /* if tab to next line, exit the loop */
-
- if (!win->_curx)
- break;
- }
- return OK;
-
- case '\n':
- /* if lf -> crlf */
-
- if (!SP->raw_out)
- x = 0;
-
- wclrtoeol(win);
-
- if (++y > win->_bmarg)
- {
- y--;
-
- if (wscrl(win, 1) == ERR)
- return ERR;
- }
-
- break;
-
- case '\b':
- /* don't back over left margin */
-
- if (--x < 0)
- case '\r':
- x = 0;
-
- break;
-
- case 0x7f:
- if (waddch(win, attr | '^') == ERR)
- return ERR;
-
- return waddch(win, attr | '?');
-
- default:
- /* handle control chars */
-
- if (waddch(win, attr | '^') == ERR)
- return ERR;
-
- return waddch(win, ch + '@');
- }
- }
- else
- {
- /* If the incoming character doesn't have its own attribute,
- then use the current attributes for the window. If it has
- attributes but not a color component, OR the attributes to
- the current attributes for the window. If it has a color
- component, use the attributes solely from the incoming
- character. */
-
- if (!(attr & A_COLOR))
- attr |= win->_attrs;
-
- /* wrs (4/10/93): Apply the same sort of logic for the window
- background, in that it only takes precedence if other color
- attributes are not there and that the background character
- will only print if the printing character is blank. */
-
- if (!(attr & A_COLOR))
- attr |= win->_bkgd & A_ATTRIBUTES;
- else
- attr |= win->_bkgd & (A_ATTRIBUTES ^ A_COLOR);
-
- if (text == ' ')
- text = win->_bkgd & A_CHARTEXT;
-
- /* Add the attribute back into the character. */
-
- text |= attr;
-
- /* Only change _firstch/_lastch if the character to be added is
- different from the character/attribute that is already in
- that position in the window. */
-
- if (win->_y[y][x] != text)
- {
- if (win->_firstch[y] == _NO_CHANGE)
- win->_firstch[y] = win->_lastch[y] = x;
- else
- if (x < win->_firstch[y])
- win->_firstch[y] = x;
- else
- if (x > win->_lastch[y])
- win->_lastch[y] = x;
-
- win->_y[y][x] = text;
- }
-
- if (++x >= win->_maxx)
- {
- /* wrap around test */
-
- x = 0;
-
- if (++y > win->_bmarg)
- {
- y--;
-
- if (wscrl(win, 1) == ERR)
- {
- PDC_sync(win);
- return ERR;
- }
- }
- }
- }
-
- win->_curx = x;
- win->_cury = y;
-
- if (win->_immed)
- wrefresh(win);
- if (win->_sync)
- wsyncup(win);
-
- return OK;
-}
-
-int addch(const chtype ch)
-{
- PDC_LOG(("addch() - called: ch=%x\n", ch));
-
- return waddch(stdscr, ch);
-}
-
-int mvaddch(int y, int x, const chtype ch)
-{
- PDC_LOG(("mvaddch() - called: y=%d x=%d ch=%x\n", y, x, ch));
-
- if (move(y,x) == ERR)
- return ERR;
-
- return waddch(stdscr, ch);
-}
-
-int mvwaddch(WINDOW *win, int y, int x, const chtype ch)
-{
- PDC_LOG(("mvwaddch() - called: win=%p y=%d x=%d ch=%d\n", win, y, x, ch));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return waddch(win, ch);
-}
-
-int echochar(const chtype ch)
-{
- PDC_LOG(("echochar() - called: ch=%x\n", ch));
-
- return wechochar(stdscr, ch);
-}
-
-int wechochar(WINDOW *win, const chtype ch)
-{
- PDC_LOG(("wechochar() - called: win=%p ch=%x\n", win, ch));
-
- if (waddch(win, ch) == ERR)
- return ERR;
-
- return wrefresh(win);
-}
-
-int waddrawch(WINDOW *win, chtype ch)
-{
- PDC_LOG(("waddrawch() - called: win=%p ch=%x (text=%c attr=0x%x)\n",
- win, ch, ch & A_CHARTEXT, ch & A_ATTRIBUTES));
-
- if ((ch & A_CHARTEXT) < ' ' || (ch & A_CHARTEXT) == 0x7f)
- ch |= A_ALTCHARSET;
-
- return waddch(win, ch);
-}
-
-int addrawch(chtype ch)
-{
- PDC_LOG(("addrawch() - called: ch=%x\n", ch));
-
- return waddrawch(stdscr, ch);
-}
-
-int mvaddrawch(int y, int x, chtype ch)
-{
- PDC_LOG(("mvaddrawch() - called: y=%d x=%d ch=%d\n", y, x, ch));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return waddrawch(stdscr, ch);
-}
-
-int mvwaddrawch(WINDOW *win, int y, int x, chtype ch)
-{
- PDC_LOG(("mvwaddrawch() - called: win=%p y=%d x=%d ch=%d\n",
- win, y, x, ch));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return waddrawch(win, ch);
-}
-
-#ifdef PDC_WIDE
-int wadd_wch(WINDOW *win, const cchar_t *wch)
-{
- PDC_LOG(("wadd_wch() - called: win=%p wch=%x\n", win, *wch));
-
- return wch ? waddch(win, *wch) : ERR;
-}
-
-int add_wch(const cchar_t *wch)
-{
- PDC_LOG(("add_wch() - called: wch=%x\n", *wch));
-
- return wadd_wch(stdscr, wch);
-}
-
-int mvadd_wch(int y, int x, const cchar_t *wch)
-{
- PDC_LOG(("mvaddch() - called: y=%d x=%d wch=%x\n", y, x, *wch));
-
- if (move(y,x) == ERR)
- return ERR;
-
- return wadd_wch(stdscr, wch);
-}
-
-int mvwadd_wch(WINDOW *win, int y, int x, const cchar_t *wch)
-{
- PDC_LOG(("mvwaddch() - called: win=%p y=%d x=%d wch=%d\n",
- win, y, x, *wch));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return wadd_wch(win, wch);
-}
-
-int echo_wchar(const cchar_t *wch)
-{
- PDC_LOG(("echo_wchar() - called: wch=%x\n", *wch));
-
- return wecho_wchar(stdscr, wch);
-}
-
-int wecho_wchar(WINDOW *win, const cchar_t *wch)
-{
- PDC_LOG(("wecho_wchar() - called: win=%p wch=%x\n", win, *wch));
-
- if (!wch || (wadd_wch(win, wch) == ERR))
- return ERR;
-
- return wrefresh(win);
-}
-#endif
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/addchstr.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/addchstr.c
deleted file mode 100644
index 249ea8d457..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/addchstr.c
+++ /dev/null
@@ -1,242 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: addchstr.c,v 1.43 2008/07/13 16:08:17 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: addchstr
-
- Synopsis:
- int addchstr(const chtype *ch);
- int addchnstr(const chtype *ch, int n);
- int waddchstr(WINDOW *win, const chtype *ch);
- int waddchnstr(WINDOW *win, const chtype *ch, int n);
- int mvaddchstr(int y, int x, const chtype *ch);
- int mvaddchnstr(int y, int x, const chtype *ch, int n);
- int mvwaddchstr(WINDOW *, int y, int x, const chtype *ch);
- int mvwaddchnstr(WINDOW *, int y, int x, const chtype *ch, int n);
-
- int add_wchstr(const cchar_t *wch);
- int add_wchnstr(const cchar_t *wch, int n);
- int wadd_wchstr(WINDOW *win, const cchar_t *wch);
- int wadd_wchnstr(WINDOW *win, const cchar_t *wch, int n);
- int mvadd_wchstr(int y, int x, const cchar_t *wch);
- int mvadd_wchnstr(int y, int x, const cchar_t *wch, int n);
- int mvwadd_wchstr(WINDOW *win, int y, int x, const cchar_t *wch);
- int mvwadd_wchnstr(WINDOW *win, int y, int x, const cchar_t *wch,
- int n);
-
- Description:
- These routines write a chtype or cchar_t string directly into
- the window structure, starting at the current or specified
- position. The four routines with n as the last argument copy at
- most n elements, but no more than will fit on the line. If n =
- -1 then the whole string is copied, up to the maximum number
- that will fit on the line.
-
- The cursor position is not advanced. These routines do not check
- for newline or other special characters, nor does any line
- wrapping occur.
-
- Return Value:
- All functions return OK or ERR.
-
- Portability X/Open BSD SYS V
- addchstr Y - 4.0
- waddchstr Y - 4.0
- mvaddchstr Y - 4.0
- mvwaddchstr Y - 4.0
- addchnstr Y - 4.0
- waddchnstr Y - 4.0
- mvaddchnstr Y - 4.0
- mvwaddchnstr Y - 4.0
- add_wchstr Y
- wadd_wchstr Y
- mvadd_wchstr Y
- mvwadd_wchstr Y
- add_wchnstr Y
- wadd_wchnstr Y
- mvadd_wchnstr Y
- mvwadd_wchnstr Y
-
-**man-end****************************************************************/
-
-#include <string.h>
-
-int waddchnstr(WINDOW *win, const chtype *ch, int n)
-{
- int y, x, maxx, minx;
- chtype *ptr;
-
- PDC_LOG(("waddchnstr() - called: win=%p n=%d\n", win, n));
-
- if (!win || !ch || !n || n < -1)
- return ERR;
-
- x = win->_curx;
- y = win->_cury;
- ptr = &(win->_y[y][x]);
-
- if (n == -1 || n > win->_maxx - x)
- n = win->_maxx - x;
-
- minx = win->_firstch[y];
- maxx = win->_lastch[y];
-
- for (; n && *ch; n--, x++, ptr++, ch++)
- {
- if (*ptr != *ch)
- {
- if (x < minx || minx == _NO_CHANGE)
- minx = x;
-
- if (x > maxx)
- maxx = x;
-
- PDC_LOG(("y %d x %d minx %d maxx %d *ptr %x *ch"
- " %x firstch: %d lastch: %d\n",
- y, x, minx, maxx, *ptr, *ch,
- win->_firstch[y], win->_lastch[y]));
-
- *ptr = *ch;
- }
- }
-
- win->_firstch[y] = minx;
- win->_lastch[y] = maxx;
-
- return OK;
-}
-
-int addchstr(const chtype *ch)
-{
- PDC_LOG(("addchstr() - called\n"));
-
- return waddchnstr(stdscr, ch, -1);
-}
-
-int addchnstr(const chtype *ch, int n)
-{
- PDC_LOG(("addchnstr() - called\n"));
-
- return waddchnstr(stdscr, ch, n);
-}
-
-int waddchstr(WINDOW *win, const chtype *ch)
-{
- PDC_LOG(("waddchstr() - called: win=%p\n", win));
-
- return waddchnstr(win, ch, -1);
-}
-
-int mvaddchstr(int y, int x, const chtype *ch)
-{
- PDC_LOG(("mvaddchstr() - called: y %d x %d\n", y, x));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return waddchnstr(stdscr, ch, -1);
-}
-
-int mvaddchnstr(int y, int x, const chtype *ch, int n)
-{
- PDC_LOG(("mvaddchnstr() - called: y %d x %d n %d\n", y, x, n));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return waddchnstr(stdscr, ch, n);
-}
-
-int mvwaddchstr(WINDOW *win, int y, int x, const chtype *ch)
-{
- PDC_LOG(("mvwaddchstr() - called:\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return waddchnstr(win, ch, -1);
-}
-
-int mvwaddchnstr(WINDOW *win, int y, int x, const chtype *ch, int n)
-{
- PDC_LOG(("mvwaddchnstr() - called: y %d x %d n %d \n", y, x, n));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return waddchnstr(win, ch, n);
-}
-
-#ifdef PDC_WIDE
-int wadd_wchnstr(WINDOW *win, const cchar_t *wch, int n)
-{
- PDC_LOG(("wadd_wchnstr() - called: win=%p n=%d\n", win, n));
-
- return waddchnstr(win, wch, n);
-}
-
-int add_wchstr(const cchar_t *wch)
-{
- PDC_LOG(("add_wchstr() - called\n"));
-
- return wadd_wchnstr(stdscr, wch, -1);
-}
-
-int add_wchnstr(const cchar_t *wch, int n)
-{
- PDC_LOG(("add_wchnstr() - called\n"));
-
- return wadd_wchnstr(stdscr, wch, n);
-}
-
-int wadd_wchstr(WINDOW *win, const cchar_t *wch)
-{
- PDC_LOG(("wadd_wchstr() - called: win=%p\n", win));
-
- return wadd_wchnstr(win, wch, -1);
-}
-
-int mvadd_wchstr(int y, int x, const cchar_t *wch)
-{
- PDC_LOG(("mvadd_wchstr() - called: y %d x %d\n", y, x));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return wadd_wchnstr(stdscr, wch, -1);
-}
-
-int mvadd_wchnstr(int y, int x, const cchar_t *wch, int n)
-{
- PDC_LOG(("mvadd_wchnstr() - called: y %d x %d n %d\n", y, x, n));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return wadd_wchnstr(stdscr, wch, n);
-}
-
-int mvwadd_wchstr(WINDOW *win, int y, int x, const cchar_t *wch)
-{
- PDC_LOG(("mvwadd_wchstr() - called:\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return wadd_wchnstr(win, wch, -1);
-}
-
-int mvwadd_wchnstr(WINDOW *win, int y, int x, const cchar_t *wch, int n)
-{
- PDC_LOG(("mvwadd_wchnstr() - called: y %d x %d n %d \n", y, x, n));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return wadd_wchnstr(win, wch, n);
-}
-#endif
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/addstr.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/addstr.c
deleted file mode 100644
index ca19fd0293..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/addstr.c
+++ /dev/null
@@ -1,237 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: addstr.c,v 1.44 2008/07/13 16:08:17 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: addstr
-
- Synopsis:
- int addstr(const char *str);
- int addnstr(const char *str, int n);
- int waddstr(WINDOW *win, const char *str);
- int waddnstr(WINDOW *win, const char *str, int n);
- int mvaddstr(int y, int x, const char *str);
- int mvaddnstr(int y, int x, const char *str, int n);
- int mvwaddstr(WINDOW *win, int y, int x, const char *str);
- int mvwaddnstr(WINDOW *win, int y, int x, const char *str, int n);
-
- int addwstr(const wchar_t *wstr);
- int addnwstr(const wchar_t *wstr, int n);
- int waddwstr(WINDOW *win, const wchar_t *wstr);
- int waddnwstr(WINDOW *win, const wchar_t *wstr, int n);
- int mvaddwstr(int y, int x, const wchar_t *wstr);
- int mvaddnwstr(int y, int x, const wchar_t *wstr, int n);
- int mvwaddwstr(WINDOW *win, int y, int x, const wchar_t *wstr);
- int mvwaddnwstr(WINDOW *win, int y, int x, const wchar_t *wstr, int n);
-
- Description:
- These routines write all the characters of the null-terminated
- string str or wide-character string wstr to the given window.
- The functionality is similar to calling waddch() once for each
- character in the string; except that, when PDCurses is built
- with wide-character support enabled, the narrow-character
- functions treat the string as a multibyte string in the current
- locale, and convert it. The routines with n as the last
- argument write at most n characters; if n is negative, then the
- entire string will be added.
-
- Return Value:
- All functions return OK or ERR.
-
- Portability X/Open BSD SYS V
- addstr Y Y Y
- waddstr Y Y Y
- mvaddstr Y Y Y
- mvwaddstr Y Y Y
- addnstr Y - 4.0
- waddnstr Y - 4.0
- mvaddnstr Y - 4.0
- mvwaddnstr Y - 4.0
- addwstr Y
- waddwstr Y
- mvaddwstr Y
- mvwaddwstr Y
- addnwstr Y
- waddnwstr Y
- mvaddnwstr Y
- mvwaddnwstr Y
-
-**man-end****************************************************************/
-
-int waddnstr(WINDOW *win, const char *str, int n)
-{
- int i = 0;
-
- PDC_LOG(("waddnstr() - called: string=\"%s\" n %d \n", str, n));
-
- if (!win || !str)
- return ERR;
-
- while (str[i] && (i < n || n < 0))
- {
-#ifdef PDC_WIDE
- wchar_t wch;
- int retval = PDC_mbtowc(&wch, str + i, n >= 0 ? n - i : 6);
-
- if (retval <= 0)
- return OK;
-
- i += retval;
-#else
- chtype wch = (unsigned char)(str[i++]);
-#endif
- if (waddch(win, wch) == ERR)
- return ERR;
- }
-
- return OK;
-}
-
-int addstr(const char *str)
-{
- PDC_LOG(("addstr() - called: string=\"%s\"\n", str));
-
- return waddnstr(stdscr, str, -1);
-}
-
-int addnstr(const char *str, int n)
-{
- PDC_LOG(("addnstr() - called: string=\"%s\" n %d \n", str, n));
-
- return waddnstr(stdscr, str, n);
-}
-
-int waddstr(WINDOW *win, const char *str)
-{
- PDC_LOG(("waddstr() - called: string=\"%s\"\n", str));
-
- return waddnstr(win, str, -1);
-}
-
-int mvaddstr(int y, int x, const char *str)
-{
- PDC_LOG(("mvaddstr() - called: y %d x %d string=\"%s\"\n", y, x, str));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return waddnstr(stdscr, str, -1);
-}
-
-int mvaddnstr(int y, int x, const char *str, int n)
-{
- PDC_LOG(("mvaddnstr() - called: y %d x %d string=\"%s\" n %d \n",
- y, x, str, n));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return waddnstr(stdscr, str, n);
-}
-
-int mvwaddstr(WINDOW *win, int y, int x, const char *str)
-{
- PDC_LOG(("mvwaddstr() - called: string=\"%s\"\n", str));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return waddnstr(win, str, -1);
-}
-
-int mvwaddnstr(WINDOW *win, int y, int x, const char *str, int n)
-{
- PDC_LOG(("mvwaddnstr() - called: y %d x %d string=\"%s\" n %d \n",
- y, x, str, n));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return waddnstr(win, str, n);
-}
-
-#ifdef PDC_WIDE
-int waddnwstr(WINDOW *win, const wchar_t *wstr, int n)
-{
- int i = 0;
-
- PDC_LOG(("waddnwstr() - called\n"));
-
- if (!win || !wstr)
- return ERR;
-
- while (wstr[i] && (i < n || n < 0))
- {
- chtype wch = wstr[i++];
-
- if (waddch(win, wch) == ERR)
- return ERR;
- }
-
- return OK;
-}
-
-int addwstr(const wchar_t *wstr)
-{
- PDC_LOG(("addwstr() - called\n"));
-
- return waddnwstr(stdscr, wstr, -1);
-}
-
-int addnwstr(const wchar_t *wstr, int n)
-{
- PDC_LOG(("addnwstr() - called\n"));
-
- return waddnwstr(stdscr, wstr, n);
-}
-
-int waddwstr(WINDOW *win, const wchar_t *wstr)
-{
- PDC_LOG(("waddwstr() - called\n"));
-
- return waddnwstr(win, wstr, -1);
-}
-
-int mvaddwstr(int y, int x, const wchar_t *wstr)
-{
- PDC_LOG(("mvaddstr() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return waddnwstr(stdscr, wstr, -1);
-}
-
-int mvaddnwstr(int y, int x, const wchar_t *wstr, int n)
-{
- PDC_LOG(("mvaddnstr() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return waddnwstr(stdscr, wstr, n);
-}
-
-int mvwaddwstr(WINDOW *win, int y, int x, const wchar_t *wstr)
-{
- PDC_LOG(("mvwaddstr() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return waddnwstr(win, wstr, -1);
-}
-
-int mvwaddnwstr(WINDOW *win, int y, int x, const wchar_t *wstr, int n)
-{
- PDC_LOG(("mvwaddnstr() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return waddnwstr(win, wstr, n);
-}
-#endif
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/attr.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/attr.c
deleted file mode 100644
index 123cb90859..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/attr.c
+++ /dev/null
@@ -1,349 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: attr.c,v 1.41 2008/07/13 16:08:17 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: attr
-
- Synopsis:
- int attroff(chtype attrs);
- int wattroff(WINDOW *win, chtype attrs);
- int attron(chtype attrs);
- int wattron(WINDOW *win, chtype attrs);
- int attrset(chtype attrs);
- int wattrset(WINDOW *win, chtype attrs);
- int standend(void);
- int wstandend(WINDOW *win);
- int standout(void);
- int wstandout(WINDOW *win);
-
- int color_set(short color_pair, void *opts);
- int wcolor_set(WINDOW *win, short color_pair, void *opts);
-
- int attr_get(attr_t *attrs, short *color_pair, void *opts);
- int attr_off(attr_t attrs, void *opts);
- int attr_on(attr_t attrs, void *opts);
- int attr_set(attr_t attrs, short color_pair, void *opts);
- int wattr_get(WINDOW *win, attr_t *attrs, short *color_pair,
- void *opts);
- int wattr_off(WINDOW *win, attr_t attrs, void *opts);
- int wattr_on(WINDOW *win, attr_t attrs, void *opts);
- int wattr_set(WINDOW *win, attr_t attrs, short color_pair,
- void *opts);
-
- int chgat(int n, attr_t attr, short color, const void *opts);
- int mvchgat(int y, int x, int n, attr_t attr, short color,
- const void *opts);
- int mvwchgat(WINDOW *win, int y, int x, int n, attr_t attr,
- short color, const void *opts);
- int wchgat(WINDOW *win, int n, attr_t attr, short color,
- const void *opts);
-
- chtype getattrs(WINDOW *win);
-
- Description:
- These functions manipulate the current attributes and/or colors
- of the named window. These attributes can be any combination
- of A_STANDOUT, A_REVERSE, A_BOLD, A_DIM, A_BLINK, A_UNDERLINE.
-
- These constants are defined in <curses.h> and can be combined
- with the bitwise-OR operator (|).
-
- The current attributes of a window are applied to all chtypes
- that are written into the window with waddch(). Attributes are
- a property of the chtype, and move with the character through
- any scrolling or insert/delete operations.
-
- attrset() sets the current attributes of the given window to
- attrs. attroff() turns off the named attributes without
- affecting any other attributes; attron() turns them on.
- color_set() sets the window color to the value of color_pair.
-
- standout() is the same as attron(A_STANDOUT). standend() is the
- same as attrset(A_NORMAL); that is, it turns off all attributes.
-
- Return Value:
- All functions return OK on success and ERR on error.
-
- Portability X/Open BSD SYS V
- attroff Y Y Y
- wattroff Y Y Y
- attron Y Y Y
- wattron Y Y Y
- attrset Y Y Y
- wattrset Y Y Y
- standend Y Y Y
- wstandend Y Y Y
- standout Y Y Y
- wstandout Y Y Y
- color_set Y
- wcolor_set Y
- attr_get Y
- wattr_get Y
- attr_on Y
- wattr_on Y
- attr_off Y
- wattr_off Y
- attr_set Y
- wattr_set Y
- chgat Y
- wchgat Y
- mvchgat Y
- mvwchgat Y
- getattrs -
-
-**man-end****************************************************************/
-
-int wattroff(WINDOW *win, chtype attrs)
-{
- PDC_LOG(("wattroff() - called\n"));
-
- if (!win)
- return ERR;
-
- win->_attrs &= (~attrs & A_ATTRIBUTES);
-
- return OK;
-}
-
-int attroff(chtype attrs)
-{
- PDC_LOG(("attroff() - called\n"));
-
- return wattroff(stdscr, attrs);
-}
-
-int wattron(WINDOW *win, chtype attrs)
-{
- chtype newcolr, oldcolr, newattr, oldattr;
-
- PDC_LOG(("wattron() - called\n"));
-
- if (!win)
- return ERR;
-
- if ((win->_attrs & A_COLOR) && (attrs & A_COLOR))
- {
- oldcolr = win->_attrs & A_COLOR;
- oldattr = win->_attrs ^ oldcolr;
- newcolr = attrs & A_COLOR;
- newattr = (attrs & A_ATTRIBUTES) ^ newcolr;
- newattr |= oldattr;
- win->_attrs = newattr | newcolr;
- }
- else
- win->_attrs |= (attrs & A_ATTRIBUTES);
-
- return OK;
-}
-
-int attron(chtype attrs)
-{
- PDC_LOG(("attron() - called\n"));
-
- return wattron(stdscr, attrs);
-}
-
-int wattrset(WINDOW *win, chtype attrs)
-{
- PDC_LOG(("wattrset() - called\n"));
-
- if (!win)
- return ERR;
-
- win->_attrs = attrs & A_ATTRIBUTES;
-
- return OK;
-}
-
-int attrset(chtype attrs)
-{
- PDC_LOG(("attrset() - called\n"));
-
- return wattrset(stdscr, attrs);
-}
-
-int standend(void)
-{
- PDC_LOG(("standend() - called\n"));
-
- return wattrset(stdscr, A_NORMAL);
-}
-
-int standout(void)
-{
- PDC_LOG(("standout() - called\n"));
-
- return wattrset(stdscr, A_STANDOUT);
-}
-
-int wstandend(WINDOW *win)
-{
- PDC_LOG(("wstandend() - called\n"));
-
- return wattrset(win, A_NORMAL);
-}
-
-int wstandout(WINDOW *win)
-{
- PDC_LOG(("wstandout() - called\n"));
-
- return wattrset(win, A_STANDOUT);
-}
-
-chtype getattrs(WINDOW *win)
-{
- return win ? win->_attrs : 0;
-}
-
-int wcolor_set(WINDOW *win, short color_pair, void *opts)
-{
- PDC_LOG(("wcolor_set() - called\n"));
-
- if (!win)
- return ERR;
-
- win->_attrs = (win->_attrs & ~A_COLOR) | COLOR_PAIR(color_pair);
-
- return OK;
-}
-
-int color_set(short color_pair, void *opts)
-{
- PDC_LOG(("color_set() - called\n"));
-
- return wcolor_set(stdscr, color_pair, opts);
-}
-
-int wattr_get(WINDOW *win, attr_t *attrs, short *color_pair, void *opts)
-{
- PDC_LOG(("wattr_get() - called\n"));
-
- if (!win)
- return ERR;
-
- if (attrs)
- *attrs = win->_attrs & (A_ATTRIBUTES & ~A_COLOR);
-
- if (color_pair)
- *color_pair = PAIR_NUMBER(win->_attrs);
-
- return OK;
-}
-
-int attr_get(attr_t *attrs, short *color_pair, void *opts)
-{
- PDC_LOG(("attr_get() - called\n"));
-
- return wattr_get(stdscr, attrs, color_pair, opts);
-}
-
-int wattr_off(WINDOW *win, attr_t attrs, void *opts)
-{
- PDC_LOG(("wattr_off() - called\n"));
-
- return wattroff(win, attrs);
-}
-
-int attr_off(attr_t attrs, void *opts)
-{
- PDC_LOG(("attr_off() - called\n"));
-
- return wattroff(stdscr, attrs);
-}
-
-int wattr_on(WINDOW *win, attr_t attrs, void *opts)
-{
- PDC_LOG(("wattr_off() - called\n"));
-
- return wattron(win, attrs);
-}
-
-int attr_on(attr_t attrs, void *opts)
-{
- PDC_LOG(("attr_on() - called\n"));
-
- return wattron(stdscr, attrs);
-}
-
-int wattr_set(WINDOW *win, attr_t attrs, short color_pair, void *opts)
-{
- PDC_LOG(("wattr_set() - called\n"));
-
- if (!win)
- return ERR;
-
- win->_attrs = (attrs & (A_ATTRIBUTES & ~A_COLOR)) | COLOR_PAIR(color_pair);
-
- return OK;
-}
-
-int attr_set(attr_t attrs, short color_pair, void *opts)
-{
- PDC_LOG(("attr_get() - called\n"));
-
- return wattr_set(stdscr, attrs, color_pair, opts);
-}
-
-int wchgat(WINDOW *win, int n, attr_t attr, short color, const void *opts)
-{
- chtype *dest, newattr;
- int startpos, endpos;
-
- PDC_LOG(("wchgat() - called\n"));
-
- if (!win)
- return ERR;
-
- newattr = (attr & A_ATTRIBUTES) | COLOR_PAIR(color);
-
- startpos = win->_curx;
- endpos = ((n < 0) ? win->_maxx : min(startpos + n, win->_maxx)) - 1;
- dest = win->_y[win->_cury];
-
- for (n = startpos; n <= endpos; n++)
- dest[n] = (dest[n] & A_CHARTEXT) | newattr;
-
- n = win->_cury;
-
- if (startpos < win->_firstch[n] || win->_firstch[n] == _NO_CHANGE)
- win->_firstch[n] = startpos;
-
- if (endpos > win->_lastch[n])
- win->_lastch[n] = endpos;
-
- PDC_sync(win);
-
- return OK;
-}
-
-int chgat(int n, attr_t attr, short color, const void *opts)
-{
- PDC_LOG(("chgat() - called\n"));
-
- return wchgat(stdscr, n, attr, color, opts);
-}
-
-int mvchgat(int y, int x, int n, attr_t attr, short color, const void *opts)
-{
- PDC_LOG(("mvchgat() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return wchgat(stdscr, n, attr, color, opts);
-}
-
-int mvwchgat(WINDOW *win, int y, int x, int n, attr_t attr, short color,
- const void *opts)
-{
- PDC_LOG(("mvwchgat() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return wchgat(win, n, attr, color, opts);
-}
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/beep.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/beep.c
deleted file mode 100644
index 9e92f45727..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/beep.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: beep.c,v 1.34 2008/07/13 16:08:17 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: beep
-
- Synopsis:
- int beep(void);
- int flash(void);
-
- Description:
- beep() sounds the audible bell on the terminal, if possible;
- if not, it calls flash().
-
- flash() "flashes" the screen, by inverting the foreground and
- background of every cell, pausing, and then restoring the
- original attributes.
-
- Return Value:
- These functions return OK.
-
- Portability X/Open BSD SYS V
- beep Y Y Y
- flash Y Y Y
-
-**man-end****************************************************************/
-
-int beep(void)
-{
- PDC_LOG(("beep() - called\n"));
-
- if (SP->audible)
- PDC_beep();
- else
- flash();
-
- return OK;
-}
-
-int flash(void)
-{
- int z, y, x;
-
- PDC_LOG(("flash() - called\n"));
-
- /* Reverse each cell; wait; restore the screen */
-
- for (z = 0; z < 2; z++)
- {
- for (y = 0; y < LINES; y++)
- for (x = 0; x < COLS; x++)
- curscr->_y[y][x] ^= A_REVERSE;
-
- wrefresh(curscr);
-
- if (!z)
- napms(50);
- }
-
- return OK;
-}
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/bkgd.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/bkgd.c
deleted file mode 100644
index d511efe8b3..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/bkgd.c
+++ /dev/null
@@ -1,220 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: bkgd.c,v 1.39 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: bkgd
-
- Synopsis:
- int bkgd(chtype ch);
- void bkgdset(chtype ch);
- chtype getbkgd(WINDOW *win);
- int wbkgd(WINDOW *win, chtype ch);
- void wbkgdset(WINDOW *win, chtype ch);
-
- int bkgrnd(const cchar_t *wch);
- void bkgrndset(const cchar_t *wch);
- int getbkgrnd(cchar_t *wch);
- int wbkgrnd(WINDOW *win, const cchar_t *wch);
- void wbkgrndset(WINDOW *win, const cchar_t *wch);
- int wgetbkgrnd(WINDOW *win, cchar_t *wch);
-
- Description:
- bkgdset() and wbkgdset() manipulate the background of a window.
- The background is a chtype consisting of any combination of
- attributes and a character; it is combined with each chtype
- added or inserted to the window by waddch() or winsch(). Only
- the attribute part is used to set the background of non-blank
- characters, while both character and attributes are used for
- blank positions.
-
- bkgd() and wbkgd() not only change the background, but apply it
- immediately to every cell in the window.
-
- The attributes that are defined with the attrset()/attron() set
- of functions take precedence over the background attributes if
- there is a conflict (e.g., different color pairs).
-
- Return Value:
- bkgd() and wbkgd() return OK, unless the window is NULL, in
- which case they return ERR.
-
- Portability X/Open BSD SYS V
- bkgd Y - 4.0
- bkgdset Y - 4.0
- getbkgd Y
- wbkgd Y - 4.0
- wbkgdset Y - 4.0
- bkgrnd Y
- bkgrndset Y
- getbkgrnd Y
- wbkgrnd Y
- wbkgrndset Y
- wgetbkgrnd Y
-
-**man-end****************************************************************/
-
-int wbkgd(WINDOW *win, chtype ch)
-{
- int x, y;
- chtype oldcolr, oldch, newcolr, newch, colr, attr;
- chtype oldattr = 0, newattr = 0;
- chtype *winptr;
-
- PDC_LOG(("wbkgd() - called\n"));
-
- if (!win)
- return ERR;
-
- if (win->_bkgd == ch)
- return OK;
-
- oldcolr = win->_bkgd & A_COLOR;
- if (oldcolr)
- oldattr = (win->_bkgd & A_ATTRIBUTES) ^ oldcolr;
-
- oldch = win->_bkgd & A_CHARTEXT;
-
- wbkgdset(win, ch);
-
- newcolr = win->_bkgd & A_COLOR;
- if (newcolr)
- newattr = (win->_bkgd & A_ATTRIBUTES) ^ newcolr;
-
- newch = win->_bkgd & A_CHARTEXT;
-
- /* what follows is what seems to occur in the System V
- implementation of this routine */
-
- for (y = 0; y < win->_maxy; y++)
- {
- for (x = 0; x < win->_maxx; x++)
- {
- winptr = win->_y[y] + x;
-
- ch = *winptr;
-
- /* determine the colors and attributes of the character read
- from the window */
-
- colr = ch & A_COLOR;
- attr = ch & (A_ATTRIBUTES ^ A_COLOR);
-
- /* if the color is the same as the old background color,
- then make it the new background color, otherwise leave it */
-
- if (colr == oldcolr)
- colr = newcolr;
-
- /* remove any attributes (non color) from the character that
- were part of the old background, then combine the
- remaining ones with the new background */
-
- attr ^= oldattr;
- attr |= newattr;
-
- /* change character if it is there because it was the old
- background character */
-
- ch &= A_CHARTEXT;
- if (ch == oldch)
- ch = newch;
-
- ch |= (attr | colr);
-
- *winptr = ch;
-
- }
- }
-
- touchwin(win);
- PDC_sync(win);
- return OK;
-}
-
-int bkgd(chtype ch)
-{
- PDC_LOG(("bkgd() - called\n"));
-
- return wbkgd(stdscr, ch);
-}
-
-void wbkgdset(WINDOW *win, chtype ch)
-{
- PDC_LOG(("wbkgdset() - called\n"));
-
- if (win)
- {
- if (!(ch & A_CHARTEXT))
- ch |= ' ';
-
- win->_bkgd = ch;
- }
-}
-
-void bkgdset(chtype ch)
-{
- PDC_LOG(("bkgdset() - called\n"));
-
- wbkgdset(stdscr, ch);
-}
-
-chtype getbkgd(WINDOW *win)
-{
- PDC_LOG(("getbkgd() - called\n"));
-
- return win ? win->_bkgd : (chtype)ERR;
-}
-
-#ifdef PDC_WIDE
-int wbkgrnd(WINDOW *win, const cchar_t *wch)
-{
- PDC_LOG(("wbkgrnd() - called\n"));
-
- return wch ? wbkgd(win, *wch) : ERR;
-}
-
-int bkgrnd(const cchar_t *wch)
-{
- PDC_LOG(("bkgrnd() - called\n"));
-
- return wbkgrnd(stdscr, wch);
-}
-
-void wbkgrndset(WINDOW *win, const cchar_t *wch)
-{
- PDC_LOG(("wbkgdset() - called\n"));
-
- if (wch)
- wbkgdset(win, *wch);
-}
-
-void bkgrndset(const cchar_t *wch)
-{
- PDC_LOG(("bkgrndset() - called\n"));
-
- wbkgrndset(stdscr, wch);
-}
-
-int wgetbkgrnd(WINDOW *win, cchar_t *wch)
-{
- PDC_LOG(("wgetbkgrnd() - called\n"));
-
- if (!win || !wch)
- return ERR;
-
- *wch = win->_bkgd;
-
- return OK;
-}
-
-int getbkgrnd(cchar_t *wch)
-{
- PDC_LOG(("getbkgrnd() - called\n"));
-
- return wgetbkgrnd(stdscr, wch);
-}
-#endif
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/border.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/border.c
deleted file mode 100644
index 2a2ebcf5f7..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/border.c
+++ /dev/null
@@ -1,408 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: border.c,v 1.53 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: border
-
- Synopsis:
- int border(chtype ls, chtype rs, chtype ts, chtype bs, chtype tl,
- chtype tr, chtype bl, chtype br);
- int wborder(WINDOW *win, chtype ls, chtype rs, chtype ts,
- chtype bs, chtype tl, chtype tr, chtype bl, chtype br);
- int box(WINDOW *win, chtype verch, chtype horch);
- int hline(chtype ch, int n);
- int vline(chtype ch, int n);
- int whline(WINDOW *win, chtype ch, int n);
- int wvline(WINDOW *win, chtype ch, int n);
- int mvhline(int y, int x, chtype ch, int n);
- int mvvline(int y, int x, chtype ch, int n);
- int mvwhline(WINDOW *win, int y, int x, chtype ch, int n);
- int mvwvline(WINDOW *win, int y, int x, chtype ch, int n);
-
- int border_set(const cchar_t *ls, const cchar_t *rs,
- const cchar_t *ts, const cchar_t *bs,
- const cchar_t *tl, const cchar_t *tr,
- const cchar_t *bl, const cchar_t *br);
- int wborder_set(WINDOW *win, const cchar_t *ls, const cchar_t *rs,
- const cchar_t *ts, const cchar_t *bs,
- const cchar_t *tl, const cchar_t *tr,
- const cchar_t *bl, const cchar_t *br);
- int box_set(WINDOW *win, const cchar_t *verch, const cchar_t *horch);
- int hline_set(const cchar_t *wch, int n);
- int vline_set(const cchar_t *wch, int n);
- int whline_set(WINDOW *win, const cchar_t *wch, int n);
- int wvline_set(WINDOW *win, const cchar_t *wch, int n);
- int mvhline_set(int y, int x, const cchar_t *wch, int n);
- int mvvline_set(int y, int x, const cchar_t *wch, int n);
- int mvwhline_set(WINDOW *win, int y, int x, const cchar_t *wch, int n);
- int mvwvline_set(WINDOW *win, int y, int x, const cchar_t *wch, int n);
-
- Description:
- border(), wborder(), and box() draw a border around the edge of
- the window. If any argument is zero, an appropriate default is
- used:
-
- ls left side of border ACS_VLINE
- rs right side of border ACS_VLINE
- ts top side of border ACS_HLINE
- bs bottom side of border ACS_HLINE
- tl top left corner of border ACS_ULCORNER
- tr top right corner of border ACS_URCORNER
- bl bottom left corner of border ACS_LLCORNER
- br bottom right corner of border ACS_LRCORNER
-
- hline() and whline() draw a horizontal line, using ch, starting
- from the current cursor position. The cursor position does not
- change. The line is at most n characters long, or as many as
- will fit in the window.
-
- vline() and wvline() draw a vertical line, using ch, starting
- from the current cursor position. The cursor position does not
- change. The line is at most n characters long, or as many as
- will fit in the window.
-
- Return Value:
- These functions return OK on success and ERR on error.
-
- Portability X/Open BSD SYS V
- border Y - 4.0
- wborder Y - 4.0
- box Y Y Y
- hline Y - 4.0
- vline Y - 4.0
- whline Y - 4.0
- wvline Y - 4.0
- mvhline Y
- mvvline Y
- mvwhline Y
- mvwvline Y
- border_set Y
- wborder_set Y
- box_set Y
- hline_set Y
- vline_set Y
- whline_set Y
- wvline_set Y
- mvhline_set Y
- mvvline_set Y
- mvwhline_set Y
- mvwvline_set Y
-
-**man-end****************************************************************/
-
-/* _attr_passthru() -- Takes a single chtype 'ch' and checks if the
- current attribute of window 'win', as set by wattrset(), and/or the
- current background of win, as set by wbkgd(), should by combined with
- it. Attributes set explicitly in ch take precedence. */
-
-static chtype _attr_passthru(WINDOW *win, chtype ch)
-{
- chtype attr;
-
- /* If the incoming character doesn't have its own attribute, then
- use the current attributes for the window. If the incoming
- character has attributes, but not a color component, OR the
- attributes to the current attributes for the window. If the
- incoming character has a color component, use only the attributes
- from the incoming character. */
-
- attr = ch & A_ATTRIBUTES;
- if (!(attr & A_COLOR))
- attr |= win->_attrs;
-
- /* wrs (4/10/93) -- Apply the same sort of logic for the window
- background, in that it only takes precedence if other color
- attributes are not there. */
-
- if (!(attr & A_COLOR))
- attr |= win->_bkgd & A_ATTRIBUTES;
- else
- attr |= win->_bkgd & (A_ATTRIBUTES ^ A_COLOR);
-
- ch = (ch & A_CHARTEXT) | attr;
-
- return ch;
-}
-
-int wborder(WINDOW *win, chtype ls, chtype rs, chtype ts, chtype bs,
- chtype tl, chtype tr, chtype bl, chtype br)
-{
- int i, ymax, xmax;
-
- PDC_LOG(("wborder() - called\n"));
-
- if (!win)
- return ERR;
-
- ymax = win->_maxy - 1;
- xmax = win->_maxx - 1;
-
- ls = _attr_passthru(win, ls ? ls : ACS_VLINE);
- rs = _attr_passthru(win, rs ? rs : ACS_VLINE);
- ts = _attr_passthru(win, ts ? ts : ACS_HLINE);
- bs = _attr_passthru(win, bs ? bs : ACS_HLINE);
- tl = _attr_passthru(win, tl ? tl : ACS_ULCORNER);
- tr = _attr_passthru(win, tr ? tr : ACS_URCORNER);
- bl = _attr_passthru(win, bl ? bl : ACS_LLCORNER);
- br = _attr_passthru(win, br ? br : ACS_LRCORNER);
-
- for (i = 1; i < xmax; i++)
- {
- win->_y[0][i] = ts;
- win->_y[ymax][i] = bs;
- }
-
- for (i = 1; i < ymax; i++)
- {
- win->_y[i][0] = ls;
- win->_y[i][xmax] = rs;
- }
-
- win->_y[0][0] = tl;
- win->_y[0][xmax] = tr;
- win->_y[ymax][0] = bl;
- win->_y[ymax][xmax] = br;
-
- for (i = 0; i <= ymax; i++)
- {
- win->_firstch[i] = 0;
- win->_lastch[i] = xmax;
- }
-
- PDC_sync(win);
-
- return OK;
-}
-
-int border(chtype ls, chtype rs, chtype ts, chtype bs, chtype tl,
- chtype tr, chtype bl, chtype br)
-{
- PDC_LOG(("border() - called\n"));
-
- return wborder(stdscr, ls, rs, ts, bs, tl, tr, bl, br);
-}
-
-int box(WINDOW *win, chtype verch, chtype horch)
-{
- PDC_LOG(("box() - called\n"));
-
- return wborder(win, verch, verch, horch, horch, 0, 0, 0, 0);
-}
-
-int whline(WINDOW *win, chtype ch, int n)
-{
- chtype *dest;
- int startpos, endpos;
-
- PDC_LOG(("whline() - called\n"));
-
- if (!win || n < 1)
- return ERR;
-
- startpos = win->_curx;
- endpos = min(startpos + n, win->_maxx) - 1;
- dest = win->_y[win->_cury];
- ch = _attr_passthru(win, ch ? ch : ACS_HLINE);
-
- for (n = startpos; n <= endpos; n++)
- dest[n] = ch;
-
- n = win->_cury;
-
- if (startpos < win->_firstch[n] || win->_firstch[n] == _NO_CHANGE)
- win->_firstch[n] = startpos;
-
- if (endpos > win->_lastch[n])
- win->_lastch[n] = endpos;
-
- PDC_sync(win);
-
- return OK;
-}
-
-int hline(chtype ch, int n)
-{
- PDC_LOG(("hline() - called\n"));
-
- return whline(stdscr, ch, n);
-}
-
-int mvhline(int y, int x, chtype ch, int n)
-{
- PDC_LOG(("mvhline() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return whline(stdscr, ch, n);
-}
-
-int mvwhline(WINDOW *win, int y, int x, chtype ch, int n)
-{
- PDC_LOG(("mvwhline() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return whline(win, ch, n);
-}
-
-int wvline(WINDOW *win, chtype ch, int n)
-{
- int endpos, x;
-
- PDC_LOG(("wvline() - called\n"));
-
- if (!win || n < 1)
- return ERR;
-
- endpos = min(win->_cury + n, win->_maxy);
- x = win->_curx;
-
- ch = _attr_passthru(win, ch ? ch : ACS_VLINE);
-
- for (n = win->_cury; n < endpos; n++)
- {
- win->_y[n][x] = ch;
-
- if (x < win->_firstch[n] || win->_firstch[n] == _NO_CHANGE)
- win->_firstch[n] = x;
-
- if (x > win->_lastch[n])
- win->_lastch[n] = x;
- }
-
- PDC_sync(win);
-
- return OK;
-}
-
-int vline(chtype ch, int n)
-{
- PDC_LOG(("vline() - called\n"));
-
- return wvline(stdscr, ch, n);
-}
-
-int mvvline(int y, int x, chtype ch, int n)
-{
- PDC_LOG(("mvvline() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return wvline(stdscr, ch, n);
-}
-
-int mvwvline(WINDOW *win, int y, int x, chtype ch, int n)
-{
- PDC_LOG(("mvwvline() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return wvline(win, ch, n);
-}
-
-#ifdef PDC_WIDE
-int wborder_set(WINDOW *win, const cchar_t *ls, const cchar_t *rs,
- const cchar_t *ts, const cchar_t *bs, const cchar_t *tl,
- const cchar_t *tr, const cchar_t *bl, const cchar_t *br)
-{
- PDC_LOG(("wborder_set() - called\n"));
-
- return wborder(win, ls ? *ls : 0, rs ? *rs : 0, ts ? *ts : 0,
- bs ? *bs : 0, tl ? *tl : 0, tr ? *tr : 0,
- bl ? *bl : 0, br ? *br : 0);
-}
-
-int border_set(const cchar_t *ls, const cchar_t *rs, const cchar_t *ts,
- const cchar_t *bs, const cchar_t *tl, const cchar_t *tr,
- const cchar_t *bl, const cchar_t *br)
-{
- PDC_LOG(("border_set() - called\n"));
-
- return wborder_set(stdscr, ls, rs, ts, bs, tl, tr, bl, br);
-}
-
-int box_set(WINDOW *win, const cchar_t *verch, const cchar_t *horch)
-{
- PDC_LOG(("box_set() - called\n"));
-
- return wborder_set(win, verch, verch, horch, horch,
- (const cchar_t *)NULL, (const cchar_t *)NULL,
- (const cchar_t *)NULL, (const cchar_t *)NULL);
-}
-
-int whline_set(WINDOW *win, const cchar_t *wch, int n)
-{
- PDC_LOG(("whline_set() - called\n"));
-
- return wch ? whline(win, *wch, n) : ERR;
-}
-
-int hline_set(const cchar_t *wch, int n)
-{
- PDC_LOG(("hline_set() - called\n"));
-
- return whline_set(stdscr, wch, n);
-}
-
-int mvhline_set(int y, int x, const cchar_t *wch, int n)
-{
- PDC_LOG(("mvhline_set() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return whline_set(stdscr, wch, n);
-}
-
-int mvwhline_set(WINDOW *win, int y, int x, const cchar_t *wch, int n)
-{
- PDC_LOG(("mvwhline_set() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return whline_set(win, wch, n);
-}
-
-int wvline_set(WINDOW *win, const cchar_t *wch, int n)
-{
- PDC_LOG(("wvline_set() - called\n"));
-
- return wch ? wvline(win, *wch, n) : ERR;
-}
-
-int vline_set(const cchar_t *wch, int n)
-{
- PDC_LOG(("vline_set() - called\n"));
-
- return wvline_set(stdscr, wch, n);
-}
-
-int mvvline_set(int y, int x, const cchar_t *wch, int n)
-{
- PDC_LOG(("mvvline_set() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return wvline_set(stdscr, wch, n);
-}
-
-int mvwvline_set(WINDOW *win, int y, int x, const cchar_t *wch, int n)
-{
- PDC_LOG(("mvwvline_set() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return wvline_set(win, wch, n);
-}
-#endif
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/clear.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/clear.c
deleted file mode 100644
index 75426e2728..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/clear.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: clear.c,v 1.35 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: clear
-
- Synopsis:
- int clear(void);
- int wclear(WINDOW *win);
- int erase(void);
- int werase(WINDOW *win);
- int clrtobot(void);
- int wclrtobot(WINDOW *win);
- int clrtoeol(void);
- int wclrtoeol(WINDOW *win);
-
- Description:
- erase() and werase() copy blanks (i.e. the background chtype) to
- every cell of the window.
-
- clear() and wclear() are similar to erase() and werase(), but
- they also call clearok() to ensure that the the window is
- cleared on the next wrefresh().
-
- clrtobot() and wclrtobot() clear the window from the current
- cursor position to the end of the window.
-
- clrtoeol() and wclrtoeol() clear the window from the current
- cursor position to the end of the current line.
-
- Return Value:
- All functions return OK on success and ERR on error.
-
- Portability X/Open BSD SYS V
- clear Y Y Y
- wclear Y Y Y
- erase Y Y Y
- werase Y Y Y
- clrtobot Y Y Y
- wclrtobot Y Y Y
- clrtoeol Y Y Y
- wclrtoeol Y Y Y
-
-**man-end****************************************************************/
-
-int wclrtoeol(WINDOW *win)
-{
- int x, y, minx;
- chtype blank, *ptr;
-
- PDC_LOG(("wclrtoeol() - called: Row: %d Col: %d\n",
- win->_cury, win->_curx));
-
- if (!win)
- return ERR;
-
- y = win->_cury;
- x = win->_curx;
-
- /* wrs (4/10/93) account for window background */
-
- blank = win->_bkgd;
-
- for (minx = x, ptr = &win->_y[y][x]; minx < win->_maxx; minx++, ptr++)
- *ptr = blank;
-
- if (x < win->_firstch[y] || win->_firstch[y] == _NO_CHANGE)
- win->_firstch[y] = x;
-
- win->_lastch[y] = win->_maxx - 1;
-
- PDC_sync(win);
- return OK;
-}
-
-int clrtoeol(void)
-{
- PDC_LOG(("clrtoeol() - called\n"));
-
- return wclrtoeol(stdscr);
-}
-
-int wclrtobot(WINDOW *win)
-{
- PDC_LOG(("wclrtobot() - called\n"));
-
- if (!win)
- return ERR;
-
- int savey = win->_cury;
- int savex = win->_curx;
-
- /* should this involve scrolling region somehow ? */
-
- if (win->_cury + 1 < win->_maxy)
- {
- win->_curx = 0;
- win->_cury++;
- for (; win->_maxy > win->_cury; win->_cury++)
- wclrtoeol(win);
- win->_cury = savey;
- win->_curx = savex;
- }
- wclrtoeol(win);
-
- PDC_sync(win);
- return OK;
-}
-
-int clrtobot(void)
-{
- PDC_LOG(("clrtobot() - called\n"));
-
- return wclrtobot(stdscr);
-}
-
-int werase(WINDOW *win)
-{
- PDC_LOG(("werase() - called\n"));
-
- if (wmove(win, 0, 0) == ERR)
- return ERR;
-
- return wclrtobot(win);
-}
-
-int erase(void)
-{
- PDC_LOG(("erase() - called\n"));
-
- return werase(stdscr);
-}
-
-int wclear(WINDOW *win)
-{
- PDC_LOG(("wclear() - called\n"));
-
- if (!win)
- return ERR;
-
- win->_clear = TRUE;
- return werase(win);
-}
-
-int clear(void)
-{
- PDC_LOG(("clear() - called\n"));
-
- return wclear(stdscr);
-}
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/color.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/color.c
deleted file mode 100644
index 7e8fc4c318..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/color.c
+++ /dev/null
@@ -1,295 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: color.c,v 1.83 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: color
-
- Synopsis:
- int start_color(void);
- int init_pair(short pair, short fg, short bg);
- int init_color(short color, short red, short green, short blue);
- bool has_colors(void);
- bool can_change_color(void);
- int color_content(short color, short *red, short *green, short *blue);
- int pair_content(short pair, short *fg, short *bg);
-
- int assume_default_colors(int f, int b);
- int use_default_colors(void);
-
- int PDC_set_line_color(short color);
-
- Description:
- To use these routines, start_color() must be called, usually
- immediately after initscr(). Colors are always used in pairs,
- referred to as color-pairs. A color-pair consists of a
- foreground color and a background color. A color-pair is
- initialized via init_pair(). After initialization, COLOR_PAIR(n)
- can be used like any other video attribute.
-
- start_color() initializes eight basic colors (black, red, green,
- yellow, blue, magenta, cyan, and white), and two global
- variables; COLORS and COLOR_PAIRS (respectively defining the
- maximum number of colors and color-pairs the terminal is capable
- of displaying).
-
- init_pair() changes the definition of a color-pair. It takes
- three arguments: the number of the color-pair to be redefined,
- and the new values of the foreground and background colors. The
- pair number must be between 0 and COLOR_PAIRS - 1, inclusive.
- The foreground and background must be between 0 and COLORS - 1,
- inclusive. If the color pair was previously initialized, the
- screen is refreshed, and all occurrences of that color-pair are
- changed to the new definition.
-
- has_colors() indicates if the terminal supports, and can
- maniplulate color. It returns TRUE or FALSE.
-
- can_change_color() indicates if the terminal has the capability
- to change the definition of its colors.
-
- pair_content() is used to determine what the colors of a given
- color-pair consist of.
-
- assume_default_colors() and use_default_colors() emulate the
- ncurses extensions of the same names. assume_default_colors(f,
- b) is essentially the same as init_pair(0, f, b) (which isn't
- allowed); it redefines the default colors. use_default_colors()
- allows the use of -1 as a foreground or background color with
- init_pair(), and calls assume_default_colors(-1, -1); -1
- represents the foreground or background color that the terminal
- had at startup. If the environment variable PDC_ORIGINAL_COLORS
- is set at the time start_color() is called, that's equivalent to
- calling use_default_colors().
-
- PDC_set_line_color() is used to set the color, globally, for
- the color of the lines drawn for the attributes: A_UNDERLINE,
- A_OVERLINE, A_LEFTLINE and A_RIGHTLINE. A value of -1 (the
- default) indicates that the current foreground color should be
- used.
-
- NOTE: COLOR_PAIR() and PAIR_NUMBER() are implemented as macros.
-
- Return Value:
- All functions return OK on success and ERR on error, except for
- has_colors() and can_change_colors(), which return TRUE or FALSE.
-
- Portability X/Open BSD SYS V
- start_color Y - 3.2
- init_pair Y - 3.2
- init_color Y - 3.2
- has_colors Y - 3.2
- can_change_color Y - 3.2
- color_content Y - 3.2
- pair_content Y - 3.2
- assume_default_colors - - -
- use_default_colors - - -
- PDC_set_line_color - - -
-
-**man-end****************************************************************/
-
-#include <stdlib.h>
-#include <string.h>
-
-int COLORS = 0;
-int COLOR_PAIRS = PDC_COLOR_PAIRS;
-
-bool pdc_color_started = FALSE;
-
-/* pair_set[] tracks whether a pair has been set via init_pair() */
-
-static bool pair_set[PDC_COLOR_PAIRS];
-static bool default_colors = FALSE;
-static short first_col = 0;
-
-int start_color(void)
-{
- PDC_LOG(("start_color() - called\n"));
-
- if (SP->mono)
- return ERR;
-
- pdc_color_started = TRUE;
-
- PDC_set_blink(FALSE); /* Also sets COLORS, to 8 or 16 */
-
- if (!default_colors && SP->orig_attr && getenv("PDC_ORIGINAL_COLORS"))
- default_colors = TRUE;
-
- PDC_init_atrtab();
-
- memset(pair_set, 0, PDC_COLOR_PAIRS);
-
- return OK;
-}
-
-static void _normalize(short *fg, short *bg)
-{
- if (*fg == -1)
- *fg = SP->orig_attr ? SP->orig_fore : COLOR_WHITE;
-
- if (*bg == -1)
- *bg = SP->orig_attr ? SP->orig_back : COLOR_BLACK;
-}
-
-int init_pair(short pair, short fg, short bg)
-{
- PDC_LOG(("init_pair() - called: pair %d fg %d bg %d\n", pair, fg, bg));
-
- if (!pdc_color_started || pair < 1 || pair >= COLOR_PAIRS ||
- fg < first_col || fg >= COLORS || bg < first_col || bg >= COLORS)
- return ERR;
-
- _normalize(&fg, &bg);
-
- /* To allow the PDC_PRESERVE_SCREEN option to work, we only reset
- curscr if this call to init_pair() alters a color pair created by
- the user. */
-
- if (pair_set[pair])
- {
- short oldfg, oldbg;
-
- PDC_pair_content(pair, &oldfg, &oldbg);
-
- if (oldfg != fg || oldbg != bg)
- curscr->_clear = TRUE;
- }
-
- PDC_init_pair(pair, fg, bg);
-
- pair_set[pair] = TRUE;
-
- return OK;
-}
-
-bool has_colors(void)
-{
- PDC_LOG(("has_colors() - called\n"));
-
- return !(SP->mono);
-}
-
-int init_color(short color, short red, short green, short blue)
-{
- PDC_LOG(("init_color() - called\n"));
-
- if (color < 0 || color >= COLORS || !PDC_can_change_color() ||
- red < 0 || red > 1000 || green < 0 || green > 1000 ||
- blue < 0 || blue > 1000)
- return ERR;
-
- return PDC_init_color(color, red, green, blue);
-}
-
-int color_content(short color, short *red, short *green, short *blue)
-{
- PDC_LOG(("color_content() - called\n"));
-
- if (color < 0 || color >= COLORS || !red || !green || !blue)
- return ERR;
-
- if (PDC_can_change_color())
- return PDC_color_content(color, red, green, blue);
- else
- {
- /* Simulated values for platforms that don't support palette
- changing */
-
- short maxval = (color & 8) ? 1000 : 680;
-
- *red = (color & COLOR_RED) ? maxval : 0;
- *green = (color & COLOR_GREEN) ? maxval : 0;
- *blue = (color & COLOR_BLUE) ? maxval : 0;
-
- return OK;
- }
-}
-
-bool can_change_color(void)
-{
- PDC_LOG(("can_change_color() - called\n"));
-
- return PDC_can_change_color();
-}
-
-int pair_content(short pair, short *fg, short *bg)
-{
- PDC_LOG(("pair_content() - called\n"));
-
- if (pair < 0 || pair >= COLOR_PAIRS || !fg || !bg)
- return ERR;
-
- return PDC_pair_content(pair, fg, bg);
-}
-
-int assume_default_colors(int f, int b)
-{
- PDC_LOG(("assume_default_colors() - called: f %d b %d\n", f, b));
-
- if (f < -1 || f >= COLORS || b < -1 || b >= COLORS)
- return ERR;
-
- if (pdc_color_started)
- {
- short fg, bg, oldfg, oldbg;
-
- fg = f;
- bg = b;
-
- _normalize(&fg, &bg);
-
- PDC_pair_content(0, &oldfg, &oldbg);
-
- if (oldfg != fg || oldbg != bg)
- curscr->_clear = TRUE;
-
- PDC_init_pair(0, fg, bg);
- }
-
- return OK;
-}
-
-int use_default_colors(void)
-{
- PDC_LOG(("use_default_colors() - called\n"));
-
- default_colors = TRUE;
- first_col = -1;
-
- return assume_default_colors(-1, -1);
-}
-
-int PDC_set_line_color(short color)
-{
- PDC_LOG(("PDC_set_line_color() - called: %d\n", color));
-
- if (color < -1 || color >= COLORS)
- return ERR;
-
- SP->line_color = color;
-
- return OK;
-}
-
-void PDC_init_atrtab(void)
-{
- int i;
- short fg, bg;
-
- if (pdc_color_started && !default_colors)
- {
- fg = COLOR_WHITE;
- bg = COLOR_BLACK;
- }
- else
- fg = bg = -1;
-
- _normalize(&fg, &bg);
-
- for (i = 0; i < PDC_COLOR_PAIRS; i++)
- PDC_init_pair(i, fg, bg);
-}
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/debug.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/debug.c
deleted file mode 100644
index 812b0ee040..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/debug.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: debug.c,v 1.7 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: debug
-
- Synopsis:
- void traceon(void);
- void traceoff(void);
- void PDC_debug(const char *, ...);
-
- Description:
- traceon() and traceoff() toggle the recording of debugging
- information to the file "trace". Although not standard, similar
- functions are in some other curses implementations.
-
- PDC_debug() is the function that writes to the file, based on
- whether traceon() has been called. It's used from the PDC_LOG()
- macro.
-
- Portability X/Open BSD SYS V
- traceon - - -
- traceoff - - -
- PDC_debug - - -
-
-**man-end****************************************************************/
-
-#include <string.h>
-#include <sys/types.h>
-#include <time.h>
-
-bool pdc_trace_on = FALSE;
-
-void PDC_debug(const char *fmt, ...)
-{
- va_list args;
- FILE *dbfp;
- char hms[9];
- time_t now;
-
- if (!pdc_trace_on)
- return;
-
- /* open debug log file append */
-
- dbfp = fopen("trace", "a");
- if (!dbfp)
- {
- fprintf(stderr,
- "PDC_debug(): Unable to open debug log file\n");
- return;
- }
-
- time(&now);
- strftime(hms, 9, "%H:%M:%S", localtime(&now));
- fprintf(dbfp, "At: %8.8ld - %s ", (long) clock(), hms);
-
- va_start(args, fmt);
- vfprintf(dbfp, fmt, args);
- va_end(args);
-
- fclose(dbfp);
-}
-
-void traceon(void)
-{
- PDC_LOG(("traceon() - called\n"));
-
- pdc_trace_on = TRUE;
-}
-
-void traceoff(void)
-{
- PDC_LOG(("traceoff() - called\n"));
-
- pdc_trace_on = FALSE;
-}
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/delch.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/delch.c
deleted file mode 100644
index 9c2416eefb..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/delch.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: delch.c,v 1.33 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: delch
-
- Synopsis:
- int delch(void);
- int wdelch(WINDOW *win);
- int mvdelch(int y, int x);
- int mvwdelch(WINDOW *win, int y, int x);
-
- Description:
- The character under the cursor in the window is deleted. All
- characters to the right on the same line are moved to the left
- one position and the last character on the line is filled with
- a blank. The cursor position does not change (after moving to
- y, x if coordinates are specified).
-
- Return Value:
- All functions return OK on success and ERR on error.
-
- Portability X/Open BSD SYS V
- delch Y Y Y
- wdelch Y Y Y
- mvdelch Y Y Y
- mvwdelch Y Y Y
-
-**man-end****************************************************************/
-
-#include <string.h>
-
-int wdelch(WINDOW *win)
-{
- int y, x, maxx;
- chtype *temp1;
-
- PDC_LOG(("wdelch() - called\n"));
-
- if (!win)
- return ERR;
-
- y = win->_cury;
- x = win->_curx;
- maxx = win->_maxx - 1;
- temp1 = &win->_y[y][x];
-
- memmove(temp1, temp1 + 1, (maxx - x) * sizeof(chtype));
-
- /* wrs (4/10/93) account for window background */
-
- win->_y[y][maxx] = win->_bkgd;
-
- win->_lastch[y] = maxx;
-
- if ((win->_firstch[y] == _NO_CHANGE) || (win->_firstch[y] > x))
- win->_firstch[y] = x;
-
- PDC_sync(win);
-
- return OK;
-}
-
-int delch(void)
-{
- PDC_LOG(("delch() - called\n"));
-
- return wdelch(stdscr);
-}
-
-int mvdelch(int y, int x)
-{
- PDC_LOG(("mvdelch() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return wdelch(stdscr);
-}
-
-int mvwdelch(WINDOW *win, int y, int x)
-{
- PDC_LOG(("mvwdelch() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return wdelch(win);
-}
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/deleteln.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/deleteln.c
deleted file mode 100644
index 7e26d9bcde..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/deleteln.c
+++ /dev/null
@@ -1,208 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: deleteln.c,v 1.35 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: deleteln
-
- Synopsis:
- int deleteln(void);
- int wdeleteln(WINDOW *win);
- int insdelln(int n);
- int winsdelln(WINDOW *win, int n);
- int insertln(void);
- int winsertln(WINDOW *win);
-
- int mvdeleteln(int y, int x);
- int mvwdeleteln(WINDOW *win, int y, int x);
- int mvinsertln(int y, int x);
- int mvwinsertln(WINDOW *win, int y, int x);
-
- Description:
- With the deleteln() and wdeleteln() functions, the line under
- the cursor in the window is deleted. All lines below the
- current line are moved up one line. The bottom line of the
- window is cleared. The cursor position does not change.
-
- With the insertln() and winsertn() functions, a blank line is
- inserted above the current line and the bottom line is lost.
-
- mvdeleteln(), mvwdeleteln(), mvinsertln() and mvwinsertln()
- allow moving the cursor and inserting/deleting in one call.
-
- Return Value:
- All functions return OK on success and ERR on error.
-
- Portability X/Open BSD SYS V
- deleteln Y Y Y
- wdeleteln Y Y Y
- mvdeleteln - - -
- mvwdeleteln - - -
- insdelln Y - 4.0
- winsdelln Y - 4.0
- insertln Y Y Y
- winsertln Y Y Y
- mvinsertln - - -
- mvwinsertln - - -
-
-**man-end****************************************************************/
-
-int wdeleteln(WINDOW *win)
-{
- chtype blank, *temp, *ptr;
- int y;
-
- PDC_LOG(("wdeleteln() - called\n"));
-
- if (!win)
- return ERR;
-
- /* wrs (4/10/93) account for window background */
-
- blank = win->_bkgd;
-
- temp = win->_y[win->_cury];
-
- for (y = win->_cury; y < win->_bmarg; y++)
- {
- win->_y[y] = win->_y[y + 1];
- win->_firstch[y] = 0;
- win->_lastch[y] = win->_maxx - 1;
- }
-
- for (ptr = temp; (ptr - temp < win->_maxx); ptr++)
- *ptr = blank; /* make a blank line */
-
- if (win->_cury <= win->_bmarg)
- {
- win->_firstch[win->_bmarg] = 0;
- win->_lastch[win->_bmarg] = win->_maxx - 1;
- win->_y[win->_bmarg] = temp;
- }
-
- return OK;
-}
-
-int deleteln(void)
-{
- PDC_LOG(("deleteln() - called\n"));
-
- return wdeleteln(stdscr);
-}
-
-int mvdeleteln(int y, int x)
-{
- PDC_LOG(("mvdeleteln() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return wdeleteln(stdscr);
-}
-
-int mvwdeleteln(WINDOW *win, int y, int x)
-{
- PDC_LOG(("mvwdeleteln() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return wdeleteln(win);
-}
-
-int winsdelln(WINDOW *win, int n)
-{
- int i;
-
- PDC_LOG(("winsdelln() - called\n"));
-
- if (!win)
- return ERR;
-
- if (n > 0)
- {
- for (i = 0; i < n; i++)
- if (winsertln(win) == ERR)
- return ERR;
- }
- else if (n < 0)
- {
- n = -n;
- for (i = 0; i < n; i++)
- if (wdeleteln(win) == ERR)
- return ERR;
- }
-
- return OK;
-}
-
-int insdelln(int n)
-{
- PDC_LOG(("insdelln() - called\n"));
-
- return winsdelln(stdscr, n);
-}
-
-int winsertln(WINDOW *win)
-{
- chtype blank, *temp, *end;
- int y;
-
- PDC_LOG(("winsertln() - called\n"));
-
- if (!win)
- return ERR;
-
- /* wrs (4/10/93) account for window background */
-
- blank = win->_bkgd;
-
- temp = win->_y[win->_maxy - 1];
-
- for (y = win->_maxy - 1; y > win->_cury; y--)
- {
- win->_y[y] = win->_y[y - 1];
- win->_firstch[y] = 0;
- win->_lastch[y] = win->_maxx - 1;
- }
-
- win->_y[win->_cury] = temp;
-
- for (end = &temp[win->_maxx - 1]; temp <= end; temp++)
- *temp = blank;
-
- win->_firstch[win->_cury] = 0;
- win->_lastch[win->_cury] = win->_maxx - 1;
-
- return OK;
-}
-
-int insertln(void)
-{
- PDC_LOG(("insertln() - called\n"));
-
- return winsertln(stdscr);
-}
-
-int mvinsertln(int y, int x)
-{
- PDC_LOG(("mvinsertln() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return winsertln(stdscr);
-}
-
-int mvwinsertln(WINDOW *win, int y, int x)
-{
- PDC_LOG(("mvwinsertln() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return winsertln(win);
-}
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/deprec.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/deprec.c
deleted file mode 100644
index 028d47a8ce..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/deprec.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: deprec.c,v 1.6 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/* Deprecated functions. These should not be used, and will eventually
- be removed. They're here solely for the benefit of applications that
- linked to them in older versions of PDCurses. */
-
-bool PDC_check_bios_key(void)
-{
- return PDC_check_key();
-}
-
-int PDC_get_bios_key(void)
-{
- return PDC_get_key();
-}
-
-bool PDC_get_ctrl_break(void)
-{
- return !SP->raw_inp;
-}
-
-int PDC_set_ctrl_break(bool setting)
-{
- return setting ? noraw() : raw();
-}
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/getch.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/getch.c
deleted file mode 100644
index f37d69afd1..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/getch.c
+++ /dev/null
@@ -1,410 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: getch.c,v 1.72 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: getch
-
- Synopsis:
- int getch(void);
- int wgetch(WINDOW *win);
- int mvgetch(int y, int x);
- int mvwgetch(WINDOW *win, int y, int x);
- int ungetch(int ch);
- int flushinp(void);
-
- int get_wch(wint_t *wch);
- int wget_wch(WINDOW *win, wint_t *wch);
- int mvget_wch(int y, int x, wint_t *wch);
- int mvwget_wch(WINDOW *win, int y, int x, wint_t *wch);
- int unget_wch(const wchar_t wch);
-
- unsigned long PDC_get_key_modifiers(void);
- int PDC_save_key_modifiers(bool flag);
- int PDC_return_key_modifiers(bool flag);
-
- Description:
- With the getch(), wgetch(), mvgetch(), and mvwgetch() functions,
- a character is read from the terminal associated with the window.
- In nodelay mode, if there is no input waiting, the value ERR is
- returned. In delay mode, the program will hang until the system
- passes text through to the program. Depending on the setting of
- cbreak(), this will be after one character or after the first
- newline. Unless noecho() has been set, the character will also
- be echoed into the designated window.
-
- If keypad() is TRUE, and a function key is pressed, the token for
- that function key will be returned instead of the raw characters.
- Possible function keys are defined in <curses.h> with integers
- beginning with 0401, whose names begin with KEY_.
-
- If nodelay(win, TRUE) has been called on the window and no input
- is waiting, the value ERR is returned.
-
- ungetch() places ch back onto the input queue to be returned by
- the next call to wgetch().
-
- flushinp() throws away any type-ahead that has been typed by the
- user and has not yet been read by the program.
-
- PDC_get_key_modifiers() returns the keyboard modifiers (shift,
- control, alt, numlock) effective at the time of the last getch()
- call, if PDC_save_key_modifiers(TRUE) has been called before the
- getch(). Use the macros PDC_KEY_MODIFIER_* to determine which
- modifier(s) were set. PDC_return_key_modifiers() tells getch()
- to return modifier keys pressed alone as keystrokes (KEY_ALT_L,
- etc.). These may not work on all platforms.
-
- NOTE: getch() and ungetch() are implemented as macros, to avoid
- conflict with many DOS compiler's runtime libraries.
-
- Return Value:
- These functions return ERR or the value of the character, meta
- character or function key token.
-
- Portability X/Open BSD SYS V
- getch Y Y Y
- wgetch Y Y Y
- mvgetch Y Y Y
- mvwgetch Y Y Y
- ungetch Y Y Y
- flushinp Y Y Y
- get_wch Y
- wget_wch Y
- mvget_wch Y
- mvwget_wch Y
- unget_wch Y
- PDC_get_key_modifiers - - -
-
-**man-end****************************************************************/
-
-#define _INBUFSIZ 512 /* size of terminal input buffer */
-#define NUNGETCH 256 /* max # chars to ungetch() */
-
-static int c_pindex = 0; /* putter index */
-static int c_gindex = 1; /* getter index */
-static int c_ungind = 0; /* ungetch() push index */
-static int c_ungch[NUNGETCH]; /* array of ungotten chars */
-
-static int _mouse_key(WINDOW *win)
-{
- int i, key = KEY_MOUSE;
- unsigned long mbe = SP->_trap_mbe;
-
- /* Filter unwanted mouse events */
-
- for (i = 0; i < 3; i++)
- {
- if (pdc_mouse_status.changes & (1 << i))
- {
- int shf = i * 5;
- short button = pdc_mouse_status.button[i] & BUTTON_ACTION_MASK;
-
- if ( (!(mbe & (BUTTON1_PRESSED << shf)) &&
- (button == BUTTON_PRESSED))
-
- || (!(mbe & (BUTTON1_CLICKED << shf)) &&
- (button == BUTTON_CLICKED))
-
- || (!(mbe & (BUTTON1_DOUBLE_CLICKED << shf)) &&
- (button == BUTTON_DOUBLE_CLICKED))
-
- || (!(mbe & (BUTTON1_MOVED << shf)) &&
- (button == BUTTON_MOVED))
-
- || (!(mbe & (BUTTON1_RELEASED << shf)) &&
- (button == BUTTON_RELEASED))
- )
- pdc_mouse_status.changes ^= (1 << i);
- }
- }
-
- if (pdc_mouse_status.changes & PDC_MOUSE_MOVED)
- {
- if (!(mbe & (BUTTON1_MOVED|BUTTON2_MOVED|BUTTON3_MOVED)))
- pdc_mouse_status.changes ^= PDC_MOUSE_MOVED;
- }
-
- if (pdc_mouse_status.changes &
- (PDC_MOUSE_WHEEL_UP|PDC_MOUSE_WHEEL_DOWN))
- {
- if (!(mbe & MOUSE_WHEEL_SCROLL))
- pdc_mouse_status.changes &=
- ~(PDC_MOUSE_WHEEL_UP|PDC_MOUSE_WHEEL_DOWN);
- }
-
- if (!pdc_mouse_status.changes)
- return -1;
-
- /* Check for click in slk area */
-
- i = PDC_mouse_in_slk(pdc_mouse_status.y, pdc_mouse_status.x);
-
- if (i)
- {
- if (pdc_mouse_status.button[0] & (BUTTON_PRESSED|BUTTON_CLICKED))
- key = KEY_F(i);
- else
- key = -1;
- }
-
- return key;
-}
-
-int wgetch(WINDOW *win)
-{
- static int buffer[_INBUFSIZ]; /* character buffer */
- int key, waitcount;
-
- PDC_LOG(("wgetch() - called\n"));
-
- if (!win)
- return ERR;
-
- waitcount = 0;
-
- /* set the number of 1/20th second napms() calls */
-
- if (SP->delaytenths)
- waitcount = 2 * SP->delaytenths;
- else
- if (win->_delayms)
- {
- /* Can't really do millisecond intervals, so delay in
- 1/20ths of a second (50ms) */
-
- waitcount = win->_delayms / 50;
- if (!waitcount)
- waitcount = 1;
- }
-
- /* refresh window when wgetch is called if there have been changes
- to it and it is not a pad */
-
- if (!(win->_flags & _PAD) && ((!win->_leaveit &&
- (win->_begx + win->_curx != SP->curscol ||
- win->_begy + win->_cury != SP->cursrow)) || is_wintouched(win)))
- wrefresh(win);
-
- /* if ungotten char exists, remove and return it */
-
- if (c_ungind)
- return c_ungch[--c_ungind];
-
- /* if normal and data in buffer */
-
- if ((!SP->raw_inp && !SP->cbreak) && (c_gindex < c_pindex))
- return buffer[c_gindex++];
-
- /* prepare to buffer data */
-
- c_pindex = 0;
- c_gindex = 0;
-
- /* to get here, no keys are buffered. go and get one. */
-
- for (;;) /* loop for any buffering */
- {
- /* is there a keystroke ready? */
-
- if (!PDC_check_key())
- {
- /* if not, handle timeout() and halfdelay() */
-
- if (SP->delaytenths || win->_delayms)
- {
- if (!waitcount)
- return ERR;
-
- waitcount--;
- }
- else
- if (win->_nodelay)
- return ERR;
-
- napms(50); /* sleep for 1/20th second */
- continue; /* then check again */
- }
-
- /* if there is, fetch it */
-
- key = PDC_get_key();
-
- if (SP->key_code)
- {
- /* filter special keys if not in keypad mode */
-
- if (!win->_use_keypad)
- key = -1;
-
- /* filter mouse events; translate mouse clicks in the slk
- area to function keys */
-
- else if (key == KEY_MOUSE)
- key = _mouse_key(win);
- }
-
- /* unwanted key? loop back */
-
- if (key == -1)
- continue;
-
- /* translate CR */
-
- if (key == '\r' && SP->autocr && !SP->raw_inp)
- key = '\n';
-
- /* if echo is enabled */
-
- if (SP->echo && !SP->key_code)
- {
- waddch(win, key);
- wrefresh(win);
- }
-
- /* if no buffering */
-
- if (SP->raw_inp || SP->cbreak)
- return key;
-
- /* if no overflow, put data in buffer */
-
- if (key == '\b')
- {
- if (c_pindex > c_gindex)
- c_pindex--;
- }
- else
- if (c_pindex < _INBUFSIZ - 2)
- buffer[c_pindex++] = key;
-
- /* if we got a line */
-
- if (key == '\n' || key == '\r')
- return buffer[c_gindex++];
- }
-}
-
-int mvgetch(int y, int x)
-{
- PDC_LOG(("mvgetch() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return wgetch(stdscr);
-}
-
-int mvwgetch(WINDOW *win, int y, int x)
-{
- PDC_LOG(("mvwgetch() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return wgetch(win);
-}
-
-int PDC_ungetch(int ch)
-{
- PDC_LOG(("ungetch() - called\n"));
-
- if (c_ungind >= NUNGETCH) /* pushback stack full */
- return ERR;
-
- c_ungch[c_ungind++] = ch;
-
- return OK;
-}
-
-int flushinp(void)
-{
- PDC_LOG(("flushinp() - called\n"));
-
- PDC_flushinp();
-
- c_gindex = 1; /* set indices to kill buffer */
- c_pindex = 0;
- c_ungind = 0; /* clear c_ungch array */
-
- return OK;
-}
-
-unsigned long PDC_get_key_modifiers(void)
-{
- PDC_LOG(("PDC_get_key_modifiers() - called\n"));
-
- return pdc_key_modifiers;
-}
-
-int PDC_save_key_modifiers(bool flag)
-{
- PDC_LOG(("PDC_save_key_modifiers() - called\n"));
-
- SP->save_key_modifiers = flag;
- return OK;
-}
-
-int PDC_return_key_modifiers(bool flag)
-{
- PDC_LOG(("PDC_return_key_modifiers() - called\n"));
-
- SP->return_key_modifiers = flag;
- return PDC_modifiers_set();
-}
-
-#ifdef PDC_WIDE
-int wget_wch(WINDOW *win, wint_t *wch)
-{
- int key;
-
- PDC_LOG(("wget_wch() - called\n"));
-
- if (!wch)
- return ERR;
-
- key = wgetch(win);
-
- if (key == ERR)
- return ERR;
-
- *wch = key;
-
- return SP->key_code ? KEY_CODE_YES : OK;
-}
-
-int get_wch(wint_t *wch)
-{
- PDC_LOG(("get_wch() - called\n"));
-
- return wget_wch(stdscr, wch);
-}
-
-int mvget_wch(int y, int x, wint_t *wch)
-{
- PDC_LOG(("mvget_wch() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return wget_wch(stdscr, wch);
-}
-
-int mvwget_wch(WINDOW *win, int y, int x, wint_t *wch)
-{
- PDC_LOG(("mvwget_wch() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return wget_wch(win, wch);
-}
-
-int unget_wch(const wchar_t wch)
-{
- return PDC_ungetch(wch);
-}
-#endif
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/getstr.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/getstr.c
deleted file mode 100644
index 744e5e65fe..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/getstr.c
+++ /dev/null
@@ -1,471 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: getstr.c,v 1.51 2008/07/14 04:24:51 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: getstr
-
- Synopsis:
- int getstr(char *str);
- int wgetstr(WINDOW *win, char *str);
- int mvgetstr(int y, int x, char *str);
- int mvwgetstr(WINDOW *win, int y, int x, char *str);
- int getnstr(char *str, int n);
- int wgetnstr(WINDOW *win, char *str, int n);
- int mvgetnstr(int y, int x, char *str, int n);
- int mvwgetnstr(WINDOW *win, int y, int x, char *str, int n);
-
- int get_wstr(wint_t *wstr);
- int wget_wstr(WINDOW *win, wint_t *wstr);
- int mvget_wstr(int y, int x, wint_t *wstr);
- int mvwget_wstr(WINDOW *win, int, int, wint_t *wstr);
- int getn_wstr(wint_t *wstr, int n);
- int wgetn_wstr(WINDOW *win, wint_t *wstr, int n);
- int mvgetn_wstr(int y, int x, wint_t *wstr, int n);
- int mvwgetn_wstr(WINDOW *win, int y, int x, wint_t *wstr, int n);
-
- Description:
- These routines call wgetch() repeatedly to build a string,
- interpreting erase and kill characters along the way, until a
- newline or carriage return is received. When PDCurses is built
- with wide-character support enabled, the narrow-character
- functions convert the wgetch()'d values into a multibyte string
- in the current locale before returning it. The resulting string
- is placed in the area pointed to by *str. The routines with n as
- the last argument read at most n characters.
-
- Note that there's no way to know how long the buffer passed to
- wgetstr() is, so use wgetnstr() to avoid buffer overflows.
-
- Return Value:
- This functions return ERR on failure or any other value on
- success.
-
- Portability X/Open BSD SYS V
- getstr Y Y Y
- wgetstr Y Y Y
- mvgetstr Y Y Y
- mvwgetstr Y Y Y
- getnstr Y - 4.0
- wgetnstr Y - 4.0
- mvgetnstr Y - -
- mvwgetnstr Y - -
- get_wstr Y
- wget_wstr Y
- mvget_wstr Y
- mvwget_wstr Y
- getn_wstr Y
- wgetn_wstr Y
- mvgetn_wstr Y
- mvwgetn_wstr Y
-
-**man-end****************************************************************/
-
-#define MAXLINE 255
-
-int wgetnstr(WINDOW *win, char *str, int n)
-{
-#ifdef PDC_WIDE
- wchar_t wstr[MAXLINE + 1];
-
- if (n < 0 || n > MAXLINE)
- n = MAXLINE;
-
- if (wgetn_wstr(win, (wint_t *)wstr, n) == ERR)
- return ERR;
-
- return PDC_wcstombs(str, wstr, n);
-#else
- int ch, i, num, x, chars;
- char *p;
- bool stop, oldecho, oldcbreak, oldnodelay;
-
- PDC_LOG(("wgetnstr() - called\n"));
-
- if (!win || !str)
- return ERR;
-
- chars = 0;
- p = str;
- stop = FALSE;
-
- x = win->_curx;
-
- oldcbreak = SP->cbreak; /* remember states */
- oldecho = SP->echo;
- oldnodelay = win->_nodelay;
-
- SP->echo = FALSE; /* we do echo ourselves */
- cbreak(); /* ensure each key is returned immediately */
- win->_nodelay = FALSE; /* don't return -1 */
-
- wrefresh(win);
-
- while (!stop)
- {
- ch = wgetch(win);
-
- switch (ch)
- {
-
- case '\t':
- ch = ' ';
- num = TABSIZE - (win->_curx - x) % TABSIZE;
- for (i = 0; i < num; i++)
- {
- if (chars < n)
- {
- if (oldecho)
- waddch(win, ch);
- *p++ = ch;
- ++chars;
- }
- else
- beep();
- }
- break;
-
- case _ECHAR: /* CTRL-H -- Delete character */
- if (p > str)
- {
- if (oldecho)
- waddstr(win, "\b \b");
- ch = (unsigned char)(*--p);
- if ((ch < ' ') && (oldecho))
- waddstr(win, "\b \b");
- chars--;
- }
- break;
-
- case _DLCHAR: /* CTRL-U -- Delete line */
- while (p > str)
- {
- if (oldecho)
- waddstr(win, "\b \b");
- ch = (unsigned char)(*--p);
- if ((ch < ' ') && (oldecho))
- waddstr(win, "\b \b");
- }
- chars = 0;
- break;
-
- case _DWCHAR: /* CTRL-W -- Delete word */
-
- while ((p > str) && (*(p - 1) == ' '))
- {
- if (oldecho)
- waddstr(win, "\b \b");
-
- --p; /* remove space */
- chars--;
- }
- while ((p > str) && (*(p - 1) != ' '))
- {
- if (oldecho)
- waddstr(win, "\b \b");
-
- ch = (unsigned char)(*--p);
- if ((ch < ' ') && (oldecho))
- waddstr(win, "\b \b");
- chars--;
- }
- break;
-
- case '\n':
- case '\r':
- stop = TRUE;
- if (oldecho)
- waddch(win, '\n');
- break;
-
- default:
- if (chars < n)
- {
- if (!SP->key_code && ch < 0x100)
- {
- *p++ = ch;
- if (oldecho)
- waddch(win, ch);
- chars++;
- }
- }
- else
- beep();
-
- break;
-
- }
-
- wrefresh(win);
- }
-
- *p = '\0';
-
- SP->echo = oldecho; /* restore old settings */
- SP->cbreak = oldcbreak;
- win->_nodelay = oldnodelay;
-
- return OK;
-#endif
-}
-
-int getstr(char *str)
-{
- PDC_LOG(("getstr() - called\n"));
-
- return wgetnstr(stdscr, str, MAXLINE);
-}
-
-int wgetstr(WINDOW *win, char *str)
-{
- PDC_LOG(("wgetstr() - called\n"));
-
- return wgetnstr(win, str, MAXLINE);
-}
-
-int mvgetstr(int y, int x, char *str)
-{
- PDC_LOG(("mvgetstr() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return wgetnstr(stdscr, str, MAXLINE);
-}
-
-int mvwgetstr(WINDOW *win, int y, int x, char *str)
-{
- PDC_LOG(("mvwgetstr() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return wgetnstr(win, str, MAXLINE);
-}
-
-int getnstr(char *str, int n)
-{
- PDC_LOG(("getnstr() - called\n"));
-
- return wgetnstr(stdscr, str, n);
-}
-
-int mvgetnstr(int y, int x, char *str, int n)
-{
- PDC_LOG(("mvgetnstr() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return wgetnstr(stdscr, str, n);
-}
-
-int mvwgetnstr(WINDOW *win, int y, int x, char *str, int n)
-{
- PDC_LOG(("mvwgetnstr() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return wgetnstr(win, str, n);
-}
-
-#ifdef PDC_WIDE
-int wgetn_wstr(WINDOW *win, wint_t *wstr, int n)
-{
- int ch, i, num, x, chars;
- wint_t *p;
- bool stop, oldecho, oldcbreak, oldnodelay;
-
- PDC_LOG(("wgetn_wstr() - called\n"));
-
- if (!win || !wstr)
- return ERR;
-
- chars = 0;
- p = wstr;
- stop = FALSE;
-
- x = win->_curx;
-
- oldcbreak = SP->cbreak; /* remember states */
- oldecho = SP->echo;
- oldnodelay = win->_nodelay;
-
- SP->echo = FALSE; /* we do echo ourselves */
- cbreak(); /* ensure each key is returned immediately */
- win->_nodelay = FALSE; /* don't return -1 */
-
- wrefresh(win);
-
- while (!stop)
- {
- ch = wgetch(win);
-
- switch (ch)
- {
-
- case '\t':
- ch = ' ';
- num = TABSIZE - (win->_curx - x) % TABSIZE;
- for (i = 0; i < num; i++)
- {
- if (chars < n)
- {
- if (oldecho)
- waddch(win, ch);
- *p++ = ch;
- ++chars;
- }
- else
- beep();
- }
- break;
-
- case _ECHAR: /* CTRL-H -- Delete character */
- if (p > wstr)
- {
- if (oldecho)
- waddstr(win, "\b \b");
- ch = *--p;
- if ((ch < ' ') && (oldecho))
- waddstr(win, "\b \b");
- chars--;
- }
- break;
-
- case _DLCHAR: /* CTRL-U -- Delete line */
- while (p > wstr)
- {
- if (oldecho)
- waddstr(win, "\b \b");
- ch = *--p;
- if ((ch < ' ') && (oldecho))
- waddstr(win, "\b \b");
- }
- chars = 0;
- break;
-
- case _DWCHAR: /* CTRL-W -- Delete word */
-
- while ((p > wstr) && (*(p - 1) == ' '))
- {
- if (oldecho)
- waddstr(win, "\b \b");
-
- --p; /* remove space */
- chars--;
- }
- while ((p > wstr) && (*(p - 1) != ' '))
- {
- if (oldecho)
- waddstr(win, "\b \b");
-
- ch = *--p;
- if ((ch < ' ') && (oldecho))
- waddstr(win, "\b \b");
- chars--;
- }
- break;
-
- case '\n':
- case '\r':
- stop = TRUE;
- if (oldecho)
- waddch(win, '\n');
- break;
-
- default:
- if (chars < n)
- {
- if (!SP->key_code)
- {
- *p++ = ch;
- if (oldecho)
- waddch(win, ch);
- chars++;
- }
- }
- else
- beep();
-
- break;
-
- }
-
- wrefresh(win);
- }
-
- *p = '\0';
-
- SP->echo = oldecho; /* restore old settings */
- SP->cbreak = oldcbreak;
- win->_nodelay = oldnodelay;
-
- return OK;
-}
-
-int get_wstr(wint_t *wstr)
-{
- PDC_LOG(("get_wstr() - called\n"));
-
- return wgetn_wstr(stdscr, wstr, MAXLINE);
-}
-
-int wget_wstr(WINDOW *win, wint_t *wstr)
-{
- PDC_LOG(("wget_wstr() - called\n"));
-
- return wgetn_wstr(win, wstr, MAXLINE);
-}
-
-int mvget_wstr(int y, int x, wint_t *wstr)
-{
- PDC_LOG(("mvget_wstr() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return wgetn_wstr(stdscr, wstr, MAXLINE);
-}
-
-int mvwget_wstr(WINDOW *win, int y, int x, wint_t *wstr)
-{
- PDC_LOG(("mvwget_wstr() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return wgetn_wstr(win, wstr, MAXLINE);
-}
-
-int getn_wstr(wint_t *wstr, int n)
-{
- PDC_LOG(("getn_wstr() - called\n"));
-
- return wgetn_wstr(stdscr, wstr, n);
-}
-
-int mvgetn_wstr(int y, int x, wint_t *wstr, int n)
-{
- PDC_LOG(("mvgetn_wstr() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return wgetn_wstr(stdscr, wstr, n);
-}
-
-int mvwgetn_wstr(WINDOW *win, int y, int x, wint_t *wstr, int n)
-{
- PDC_LOG(("mvwgetn_wstr() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return wgetn_wstr(win, wstr, n);
-}
-#endif
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/getyx.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/getyx.c
deleted file mode 100644
index 1c0391766c..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/getyx.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: getyx.c,v 1.29 2008/07/15 17:13:26 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: getyx
-
- Synopsis:
- void getyx(WINDOW *win, int y, int x);
- void getparyx(WINDOW *win, int y, int x);
- void getbegyx(WINDOW *win, int y, int x);
- void getmaxyx(WINDOW *win, int y, int x);
-
- void getsyx(int y, int x);
- int setsyx(int y, int x);
-
- int getbegy(WINDOW *win);
- int getbegx(WINDOW *win);
- int getcury(WINDOW *win);
- int getcurx(WINDOW *win);
- int getpary(WINDOW *win);
- int getparx(WINDOW *win);
- int getmaxy(WINDOW *win);
- int getmaxx(WINDOW *win);
-
- Description:
- The getyx() macro (defined in curses.h -- the prototypes here
- are merely illustrative) puts the current cursor position of the
- specified window into y and x. getbegyx() and getmaxyx() return
- the starting coordinates and size of the specified window,
- respectively. getparyx() returns the starting coordinates of the
- parent's window, if the specified window is a subwindow;
- otherwise it sets y and x to -1. These are all macros.
-
- getsyx() gets the coordinates of the virtual screen cursor, and
- stores them in y and x. If leaveok() is TRUE, it returns -1, -1.
- If lines have been removed with ripoffline(), then getsyx()
- includes these lines in its count; so, the returned y and x
- values should only be used with setsyx().
-
- setsyx() sets the virtual screen cursor to the y, x coordinates.
- If y, x are -1, -1, leaveok() is set TRUE.
-
- getsyx() and setsyx() are meant to be used by a library routine
- that manipulates curses windows without altering the position of
- the cursor. Note that getsyx() is defined only as a macro.
-
- getbegy(), getbegx(), getcurx(), getcury(), getmaxy(),
- getmaxx(), getpary(), and getparx() return the appropriate
- coordinate or size values, or ERR in the case of a NULL window.
-
- Portability X/Open BSD SYS V
- getyx Y Y Y
- getparyx - - 4.0
- getbegyx - - 3.0
- getmaxyx - - 3.0
- getsyx - - 3.0
- setsyx - - 3.0
- getbegy - - -
- getbegx - - -
- getcury - - -
- getcurx - - -
- getpary - - -
- getparx - - -
- getmaxy - - -
- getmaxx - - -
-
-**man-end****************************************************************/
-
-int getbegy(WINDOW *win)
-{
- PDC_LOG(("getbegy() - called\n"));
-
- return win ? win->_begy : ERR;
-}
-
-int getbegx(WINDOW *win)
-{
- PDC_LOG(("getbegx() - called\n"));
-
- return win ? win->_begx : ERR;
-}
-
-int getcury(WINDOW *win)
-{
- PDC_LOG(("getcury() - called\n"));
-
- return win ? win->_cury : ERR;
-}
-
-int getcurx(WINDOW *win)
-{
- PDC_LOG(("getcurx() - called\n"));
-
- return win ? win->_curx : ERR;
-}
-
-int getpary(WINDOW *win)
-{
- PDC_LOG(("getpary() - called\n"));
-
- return win ? win->_pary : ERR;
-}
-
-int getparx(WINDOW *win)
-{
- PDC_LOG(("getparx() - called\n"));
-
- return win ? win->_parx : ERR;
-}
-
-int getmaxy(WINDOW *win)
-{
- PDC_LOG(("getmaxy() - called\n"));
-
- return win ? win->_maxy : ERR;
-}
-
-int getmaxx(WINDOW *win)
-{
- PDC_LOG(("getmaxx() - called\n"));
-
- return win ? win->_maxx : ERR;
-}
-
-int setsyx(int y, int x)
-{
- PDC_LOG(("setsyx() - called\n"));
-
- if(y == -1 && x == -1)
- {
- curscr->_leaveit = TRUE;
- return OK;
- }
- else
- {
- curscr->_leaveit = FALSE;
- return wmove(curscr, y, x);
- }
-}
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/inch.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/inch.c
deleted file mode 100644
index 6609b29383..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/inch.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: inch.c,v 1.33 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: inch
-
- Synopsis:
- chtype inch(void);
- chtype winch(WINDOW *win);
- chtype mvinch(int y, int x);
- chtype mvwinch(WINDOW *win, int y, int x);
-
- int in_wch(cchar_t *wcval);
- int win_wch(WINDOW *win, cchar_t *wcval);
- int mvin_wch(int y, int x, cchar_t *wcval);
- int mvwin_wch(WINDOW *win, int y, int x, cchar_t *wcval);
-
- Description:
- The inch() functions retrieve the character and attribute from
- the current or specified window position, in the form of a
- chtype. If a NULL window is specified, (chtype)ERR is returned.
-
- The in_wch() functions are the wide-character versions; instead
- of returning a chtype, they store a cchar_t at the address
- specified by wcval, and return OK or ERR. (No value is stored
- when ERR is returned.) Note that in PDCurses, chtype and cchar_t
- are the same.
-
- Portability X/Open BSD SYS V
- inch Y Y Y
- winch Y Y Y
- mvinch Y Y Y
- mvwinch Y Y Y
- in_wch Y
- win_wch Y
- mvin_wch Y
- mvwin_wch Y
-
-**man-end****************************************************************/
-
-chtype winch(WINDOW *win)
-{
- PDC_LOG(("winch() - called\n"));
-
- if (!win)
- return (chtype)ERR;
-
- return win->_y[win->_cury][win->_curx];
-}
-
-chtype inch(void)
-{
- PDC_LOG(("inch() - called\n"));
-
- return winch(stdscr);
-}
-
-chtype mvinch(int y, int x)
-{
- PDC_LOG(("mvinch() - called\n"));
-
- if (move(y, x) == ERR)
- return (chtype)ERR;
-
- return stdscr->_y[stdscr->_cury][stdscr->_curx];
-}
-
-chtype mvwinch(WINDOW *win, int y, int x)
-{
- PDC_LOG(("mvwinch() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return (chtype)ERR;
-
- return win->_y[win->_cury][win->_curx];
-}
-
-#ifdef PDC_WIDE
-int win_wch(WINDOW *win, cchar_t *wcval)
-{
- PDC_LOG(("win_wch() - called\n"));
-
- if (!win || !wcval)
- return ERR;
-
- *wcval = win->_y[win->_cury][win->_curx];
-
- return OK;
-}
-
-int in_wch(cchar_t *wcval)
-{
- PDC_LOG(("in_wch() - called\n"));
-
- return win_wch(stdscr, wcval);
-}
-
-int mvin_wch(int y, int x, cchar_t *wcval)
-{
- PDC_LOG(("mvin_wch() - called\n"));
-
- if (!wcval || (move(y, x) == ERR))
- return ERR;
-
- *wcval = stdscr->_y[stdscr->_cury][stdscr->_curx];
-
- return OK;
-}
-
-int mvwin_wch(WINDOW *win, int y, int x, cchar_t *wcval)
-{
- PDC_LOG(("mvwin_wch() - called\n"));
-
- if (!wcval || (wmove(win, y, x) == ERR))
- return ERR;
-
- *wcval = win->_y[win->_cury][win->_curx];
-
- return OK;
-}
-#endif
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/inchstr.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/inchstr.c
deleted file mode 100644
index f061cdb38f..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/inchstr.c
+++ /dev/null
@@ -1,211 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: inchstr.c,v 1.34 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: inchstr
-
- Synopsis:
- int inchstr(chtype *ch);
- int inchnstr(chtype *ch, int n);
- int winchstr(WINDOW *win, chtype *ch);
- int winchnstr(WINDOW *win, chtype *ch, int n);
- int mvinchstr(int y, int x, chtype *ch);
- int mvinchnstr(int y, int x, chtype *ch, int n);
- int mvwinchstr(WINDOW *, int y, int x, chtype *ch);
- int mvwinchnstr(WINDOW *, int y, int x, chtype *ch, int n);
-
- int in_wchstr(cchar_t *wch);
- int in_wchnstr(cchar_t *wch, int n);
- int win_wchstr(WINDOW *win, cchar_t *wch);
- int win_wchnstr(WINDOW *win, cchar_t *wch, int n);
- int mvin_wchstr(int y, int x, cchar_t *wch);
- int mvin_wchnstr(int y, int x, cchar_t *wch, int n);
- int mvwin_wchstr(WINDOW *win, int y, int x, cchar_t *wch);
- int mvwin_wchnstr(WINDOW *win, int y, int x, cchar_t *wch, int n);
-
- Description:
- These routines read a chtype or cchar_t string from the window,
- starting at the current or specified position, and ending at the
- right margin, or after n elements, whichever is less.
-
- Return Value:
- All functions return the number of elements read, or ERR on
- error.
-
- Portability X/Open BSD SYS V
- inchstr Y - 4.0
- winchstr Y - 4.0
- mvinchstr Y - 4.0
- mvwinchstr Y - 4.0
- inchnstr Y - 4.0
- winchnstr Y - 4.0
- mvinchnstr Y - 4.0
- mvwinchnstr Y - 4.0
- in_wchstr Y
- win_wchstr Y
- mvin_wchstr Y
- mvwin_wchstr Y
- in_wchnstr Y
- win_wchnstr Y
- mvin_wchnstr Y
- mvwin_wchnstr Y
-
-**man-end****************************************************************/
-
-int winchnstr(WINDOW *win, chtype *ch, int n)
-{
- chtype *src;
- int i;
-
- PDC_LOG(("winchnstr() - called\n"));
-
- if (!win || !ch || n < 0)
- return ERR;
-
- if ((win->_curx + n) > win->_maxx)
- n = win->_maxx - win->_curx;
-
- src = win->_y[win->_cury] + win->_curx;
-
- for (i = 0; i < n; i++)
- *ch++ = *src++;
-
- *ch = (chtype)0;
-
- return OK;
-}
-
-int inchstr(chtype *ch)
-{
- PDC_LOG(("inchstr() - called\n"));
-
- return winchnstr(stdscr, ch, stdscr->_maxx - stdscr->_curx);
-}
-
-int winchstr(WINDOW *win, chtype *ch)
-{
- PDC_LOG(("winchstr() - called\n"));
-
- return winchnstr(win, ch, win->_maxx - win->_curx);
-}
-
-int mvinchstr(int y, int x, chtype *ch)
-{
- PDC_LOG(("mvinchstr() - called: y %d x %d\n", y, x));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return winchnstr(stdscr, ch, stdscr->_maxx - stdscr->_curx);
-}
-
-int mvwinchstr(WINDOW *win, int y, int x, chtype *ch)
-{
- PDC_LOG(("mvwinchstr() - called:\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return winchnstr(win, ch, win->_maxx - win->_curx);
-}
-
-int inchnstr(chtype *ch, int n)
-{
- PDC_LOG(("inchnstr() - called\n"));
-
- return winchnstr(stdscr, ch, n);
-}
-
-int mvinchnstr(int y, int x, chtype *ch, int n)
-{
- PDC_LOG(("mvinchnstr() - called: y %d x %d n %d\n", y, x, n));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return winchnstr(stdscr, ch, n);
-}
-
-int mvwinchnstr(WINDOW *win, int y, int x, chtype *ch, int n)
-{
- PDC_LOG(("mvwinchnstr() - called: y %d x %d n %d \n", y, x, n));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return winchnstr(win, ch, n);
-}
-
-#ifdef PDC_WIDE
-int win_wchnstr(WINDOW *win, cchar_t *wch, int n)
-{
- PDC_LOG(("win_wchnstr() - called\n"));
-
- return winchnstr(win, wch, n);
-}
-
-int in_wchstr(cchar_t *wch)
-{
- PDC_LOG(("in_wchstr() - called\n"));
-
- return win_wchnstr(stdscr, wch, stdscr->_maxx - stdscr->_curx);
-}
-
-int win_wchstr(WINDOW *win, cchar_t *wch)
-{
- PDC_LOG(("win_wchstr() - called\n"));
-
- return win_wchnstr(win, wch, win->_maxx - win->_curx);
-}
-
-int mvin_wchstr(int y, int x, cchar_t *wch)
-{
- PDC_LOG(("mvin_wchstr() - called: y %d x %d\n", y, x));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return win_wchnstr(stdscr, wch, stdscr->_maxx - stdscr->_curx);
-}
-
-int mvwin_wchstr(WINDOW *win, int y, int x, cchar_t *wch)
-{
- PDC_LOG(("mvwin_wchstr() - called:\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return win_wchnstr(win, wch, win->_maxx - win->_curx);
-}
-
-int in_wchnstr(cchar_t *wch, int n)
-{
- PDC_LOG(("in_wchnstr() - called\n"));
-
- return win_wchnstr(stdscr, wch, n);
-}
-
-int mvin_wchnstr(int y, int x, cchar_t *wch, int n)
-{
- PDC_LOG(("mvin_wchnstr() - called: y %d x %d n %d\n", y, x, n));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return win_wchnstr(stdscr, wch, n);
-}
-
-int mvwin_wchnstr(WINDOW *win, int y, int x, cchar_t *wch, int n)
-{
- PDC_LOG(("mvwinchnstr() - called: y %d x %d n %d \n", y, x, n));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return win_wchnstr(win, wch, n);
-}
-#endif
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/initscr.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/initscr.c
deleted file mode 100644
index 165b7f941b..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/initscr.c
+++ /dev/null
@@ -1,342 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: initscr.c,v 1.114 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: initscr
-
- Synopsis:
- WINDOW *initscr(void);
- WINDOW *Xinitscr(int argc, char *argv[]);
- int endwin(void);
- bool isendwin(void);
- SCREEN *newterm(const char *type, FILE *outfd, FILE *infd);
- SCREEN *set_term(SCREEN *new);
- void delscreen(SCREEN *sp);
-
- int resize_term(int nlines, int ncols);
- bool is_termresized(void);
- const char *curses_version(void);
-
- Description:
- initscr() should be the first curses routine called. It will
- initialize all curses data structures, and arrange that the
- first call to refresh() will clear the screen. In case of
- error, initscr() will write a message to standard error and end
- the program.
-
- endwin() should be called before exiting or escaping from curses
- mode temporarily. It will restore tty modes, move the cursor to
- the lower left corner of the screen and reset the terminal into
- the proper non-visual mode. To resume curses after a temporary
- escape, call refresh() or doupdate().
-
- isendwin() returns TRUE if endwin() has been called without a
- subsequent refresh, unless SP is NULL.
-
- In some implementations of curses, newterm() allows the use of
- multiple terminals. Here, it's just an alternative interface for
- initscr(). It always returns SP, or NULL.
-
- delscreen() frees the memory allocated by newterm() or
- initscr(), since it's not freed by endwin(). This function is
- usually not needed. In PDCurses, the parameter must be the
- value of SP, and delscreen() sets SP to NULL.
-
- set_term() does nothing meaningful in PDCurses, but is included
- for compatibility with other curses implementations.
-
- resize_term() is effectively two functions: When called with
- nonzero values for nlines and ncols, it attempts to resize the
- screen to the given size. When called with (0, 0), it merely
- adjusts the internal structures to match the current size after
- the screen is resized by the user. On the currently supported
- platforms, this functionality is mutually exclusive: X11 allows
- user resizing, while DOS, OS/2 and Win32 allow programmatic
- resizing. If you want to support user resizing, you should check
- for getch() returning KEY_RESIZE, and/or call is_termresized()
- at appropriate times; if either condition occurs, call
- resize_term(0, 0). Then, with either user or programmatic
- resizing, you'll have to resize any windows you've created, as
- appropriate; resize_term() only handles stdscr and curscr.
-
- is_termresized() returns TRUE if the curses screen has been
- resized by the user, and a call to resize_term() is needed.
- Checking for KEY_RESIZE is generally preferable, unless you're
- not handling the keyboard.
-
- curses_version() returns a string describing the version of
- PDCurses.
-
- Return Value:
- All functions return NULL on error, except endwin(), which
- returns ERR on error.
-
- Portability X/Open BSD SYS V
- initscr Y Y Y
- endwin Y Y Y
- isendwin Y - 3.0
- newterm Y - Y
- set_term Y - Y
- delscreen Y - 4.0
- resize_term - - -
- is_termresized - - -
- curses_version - - -
-
-**man-end****************************************************************/
-
-#include <stdlib.h>
-
-char ttytype[128];
-
-const char *_curses_notice = "PDCurses 3.4 - Public Domain 2008";
-
-SCREEN *SP = (SCREEN*)NULL; /* curses variables */
-WINDOW *curscr = (WINDOW *)NULL; /* the current screen image */
-WINDOW *stdscr = (WINDOW *)NULL; /* the default screen window */
-WINDOW *pdc_lastscr = (WINDOW *)NULL; /* the last screen image */
-
-int LINES = 0; /* current terminal height */
-int COLS = 0; /* current terminal width */
-int TABSIZE = 8;
-
-MOUSE_STATUS Mouse_status, pdc_mouse_status;
-
-extern RIPPEDOFFLINE linesripped[5];
-extern char linesrippedoff;
-
-#ifndef XCURSES
-static
-#endif
-WINDOW *Xinitscr(int argc, char *argv[])
-{
- int i;
-
- PDC_LOG(("Xinitscr() - called\n"));
-
- if (SP && SP->alive)
- return NULL;
-
- if (PDC_scr_open(argc, argv) == ERR)
- {
- fprintf(stderr, "initscr(): Unable to create SP\n");
- exit(8);
- }
-
- SP->autocr = TRUE; /* cr -> lf by default */
- SP->raw_out = FALSE; /* tty I/O modes */
- SP->raw_inp = FALSE; /* tty I/O modes */
- SP->cbreak = TRUE;
- SP->save_key_modifiers = FALSE;
- SP->return_key_modifiers = FALSE;
- SP->echo = TRUE;
- SP->visibility = 1;
- SP->resized = FALSE;
- SP->_trap_mbe = 0L;
- SP->_map_mbe_to_key = 0L;
- SP->linesrippedoff = 0;
- SP->linesrippedoffontop = 0;
- SP->delaytenths = 0;
- SP->line_color = -1;
-
- SP->orig_cursor = PDC_get_cursor_mode();
-
- LINES = SP->lines;
- COLS = SP->cols;
-
- if (LINES < 2 || COLS < 2)
- {
- fprintf(stderr, "initscr(): LINES=%d COLS=%d: too small.\n",
- LINES, COLS);
- exit(4);
- }
-
- if ((curscr = newwin(LINES, COLS, 0, 0)) == (WINDOW *)NULL)
- {
- fprintf(stderr, "initscr(): Unable to create curscr.\n");
- exit(2);
- }
-
- if ((pdc_lastscr = newwin(LINES, COLS, 0, 0)) == (WINDOW *)NULL)
- {
- fprintf(stderr, "initscr(): Unable to create pdc_lastscr.\n");
- exit(2);
- }
-
- wattrset(pdc_lastscr, (chtype)(-1));
- werase(pdc_lastscr);
-
- PDC_slk_initialize();
- LINES -= SP->slklines;
-
- /* We have to sort out ripped off lines here, and reduce the height
- of stdscr by the number of lines ripped off */
-
- for (i = 0; i < linesrippedoff; i++)
- {
- if (linesripped[i].line < 0)
- (*linesripped[i].init)(newwin(1, COLS, LINES - 1, 0), COLS);
- else
- (*linesripped[i].init)(newwin(1, COLS,
- SP->linesrippedoffontop++, 0), COLS);
-
- SP->linesrippedoff++;
- LINES--;
- }
-
- linesrippedoff = 0;
-
- if (!(stdscr = newwin(LINES, COLS, SP->linesrippedoffontop, 0)))
- {
- fprintf(stderr, "initscr(): Unable to create stdscr.\n");
- exit(1);
- }
-
- wclrtobot(stdscr);
-
- /* If preserving the existing screen, don't allow a screen clear */
-
- if (SP->_preserve)
- {
- untouchwin(curscr);
- untouchwin(stdscr);
- stdscr->_clear = FALSE;
- curscr->_clear = FALSE;
- }
- else
- curscr->_clear = TRUE;
-
- PDC_init_atrtab(); /* set up default colors */
-
- MOUSE_X_POS = MOUSE_Y_POS = -1;
- BUTTON_STATUS(1) = BUTTON_RELEASED;
- BUTTON_STATUS(2) = BUTTON_RELEASED;
- BUTTON_STATUS(3) = BUTTON_RELEASED;
- Mouse_status.changes = 0;
-
- SP->alive = TRUE;
-
- def_shell_mode();
-
- sprintf(ttytype, "pdcurses|PDCurses for %s", PDC_sysname());
-
- return stdscr;
-}
-
-WINDOW *initscr(void)
-{
- PDC_LOG(("initscr() - called\n"));
-
- return Xinitscr(0, NULL);
-}
-
-int endwin(void)
-{
- PDC_LOG(("endwin() - called\n"));
-
- /* Allow temporary exit from curses using endwin() */
-
- def_prog_mode();
- PDC_scr_close();
-
- SP->alive = FALSE;
-
- return OK;
-}
-
-bool isendwin(void)
-{
- PDC_LOG(("isendwin() - called\n"));
-
- return SP ? !(SP->alive) : FALSE;
-}
-
-SCREEN *newterm(const char *type, FILE *outfd, FILE *infd)
-{
- PDC_LOG(("newterm() - called\n"));
-
- return Xinitscr(0, NULL) ? SP : NULL;
-}
-
-SCREEN *set_term(SCREEN *new)
-{
- PDC_LOG(("set_term() - called\n"));
-
- /* We only support one screen */
-
- return (new == SP) ? SP : NULL;
-}
-
-void delscreen(SCREEN *sp)
-{
- PDC_LOG(("delscreen() - called\n"));
-
- if (sp != SP)
- return;
-
- PDC_slk_free(); /* free the soft label keys, if needed */
-
- delwin(stdscr);
- delwin(curscr);
- delwin(pdc_lastscr);
- stdscr = (WINDOW *)NULL;
- curscr = (WINDOW *)NULL;
- pdc_lastscr = (WINDOW *)NULL;
-
- SP->alive = FALSE;
-
- PDC_scr_free(); /* free SP and pdc_atrtab */
-
- SP = (SCREEN *)NULL;
-}
-
-int resize_term(int nlines, int ncols)
-{
- PDC_LOG(("resize_term() - called: nlines %d\n", nlines));
-
- if (!stdscr || PDC_resize_screen(nlines, ncols) == ERR)
- return ERR;
-
- SP->lines = PDC_get_rows();
- LINES = SP->lines - SP->linesrippedoff - SP->slklines;
- SP->cols = COLS = PDC_get_columns();
-
- if (wresize(curscr, SP->lines, SP->cols) == ERR ||
- wresize(stdscr, LINES, COLS) == ERR ||
- wresize(pdc_lastscr, SP->lines, SP->cols) == ERR)
- return ERR;
-
- werase(pdc_lastscr);
- curscr->_clear = TRUE;
-
- if (SP->slk_winptr)
- {
- if (wresize(SP->slk_winptr, SP->slklines, COLS) == ERR)
- return ERR;
-
- wmove(SP->slk_winptr, 0, 0);
- wclrtobot(SP->slk_winptr);
- PDC_slk_initialize();
- slk_noutrefresh();
- }
-
- touchwin(stdscr);
- wnoutrefresh(stdscr);
-
- return OK;
-}
-
-bool is_termresized(void)
-{
- PDC_LOG(("is_termresized() - called\n"));
-
- return SP->resized;
-}
-
-const char *curses_version(void)
-{
- return _curses_notice;
-}
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/inopts.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/inopts.c
deleted file mode 100644
index b02654f077..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/inopts.c
+++ /dev/null
@@ -1,321 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: inopts.c,v 1.43 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: inopts
-
- Synopsis:
- int cbreak(void);
- int nocbreak(void);
- int echo(void);
- int noecho(void);
- int halfdelay(int tenths);
- int intrflush(WINDOW *win, bool bf);
- int keypad(WINDOW *win, bool bf);
- int meta(WINDOW *win, bool bf);
- int nl(void);
- int nonl(void);
- int nodelay(WINDOW *win, bool bf);
- int notimeout(WINDOW *win, bool bf);
- int raw(void);
- int noraw(void);
- void noqiflush(void);
- void qiflush(void);
- void timeout(int delay);
- void wtimeout(WINDOW *win, int delay);
- int typeahead(int fildes);
-
- int crmode(void);
- int nocrmode(void);
-
- Description:
- cbreak() and nocbreak() toggle cbreak mode. In cbreak mode,
- characters typed by the user are made available immediately, and
- erase/kill character processing is not performed. In nocbreak
- mode, typed characters are buffered until a newline or carriage
- return. Interrupt and flow control characters are unaffected by
- this mode. PDCurses always starts in cbreak mode.
-
- echo() and noecho() control whether typed characters are echoed
- by the input routine. Initially, input characters are echoed.
- Subsequent calls to echo() and noecho() do not flush type-ahead.
-
- halfdelay() is similar to cbreak(), but allows for a time limit
- to be specified, in tenths of a second. This causes getch() to
- block for that period before returning ERR if no key has been
- received. tenths must be between 1 and 255.
-
- keypad() controls whether getch() returns function/special keys
- as single key codes (e.g., the left arrow key as KEY_LEFT). Per
- X/Open, the default for keypad mode is OFF. You'll probably want
- it on. With keypad mode off, if a special key is pressed,
- getch() does nothing or returns ERR.
-
- nodelay() controls whether wgetch() is a non-blocking call. If
- the option is enabled, and no input is ready, wgetch() will
- return ERR. If disabled, wgetch() will hang until input is
- ready.
-
- nl() enables the translation of a carriage return into a newline
- on input. nonl() disables this. Initially, the translation does
- occur.
-
- raw() and noraw() toggle raw mode. Raw mode is similar to cbreak
- mode, in that characters typed are immediately passed through to
- the user program. The difference is that in raw mode, the INTR,
- QUIT, SUSP, and STOP characters are passed through without being
- interpreted, and without generating a signal.
-
- In PDCurses, the meta() function sets raw mode on or off.
-
- timeout() and wtimeout() set blocking or non-blocking reads for
- the specified window. The delay is measured in milliseconds. If
- it's negative, a blocking read is used; if zero, then non-
- blocking reads are done -- if no input is waiting, ERR is
- returned immediately. If the delay is positive, the read blocks
- for the delay period; if the period expires, ERR is returned.
-
- intrflush(), notimeout(), noqiflush(), qiflush() and typeahead()
- do nothing in PDCurses, but are included for compatibility with
- other curses implementations.
-
- crmode() and nocrmode() are archaic equivalents to cbreak() and
- nocbreak(), respectively.
-
- Return Value:
- All functions return OK on success and ERR on error.
-
- Portability X/Open BSD SYS V
- cbreak Y Y Y
- nocbreak Y Y Y
- echo Y Y Y
- noecho Y Y Y
- halfdelay Y - Y
- intrflush Y - Y
- keypad Y - Y
- meta Y - Y
- nl Y Y Y
- nonl Y Y Y
- nodelay Y - Y
- notimeout Y - Y
- raw Y Y Y
- noraw Y Y Y
- noqiflush Y - Y
- qiflush Y - Y
- timeout Y - Y
- wtimeout Y - Y
- typeahead Y - Y
- crmode -
- nocrmode -
-
-**man-end****************************************************************/
-
-int cbreak(void)
-{
- PDC_LOG(("cbreak() - called\n"));
-
- SP->cbreak = TRUE;
-
- return OK;
-}
-
-int nocbreak(void)
-{
- PDC_LOG(("nocbreak() - called\n"));
-
- SP->cbreak = FALSE;
- SP->delaytenths = 0;
-
- return OK;
-}
-
-int echo(void)
-{
- PDC_LOG(("echo() - called\n"));
-
- SP->echo = TRUE;
-
- return OK;
-}
-
-int noecho(void)
-{
- PDC_LOG(("noecho() - called\n"));
-
- SP->echo = FALSE;
-
- return OK;
-}
-
-int halfdelay(int tenths)
-{
- PDC_LOG(("halfdelay() - called\n"));
-
- if (tenths < 1 || tenths > 255)
- return ERR;
-
- SP->delaytenths = tenths;
-
- return OK;
-}
-
-int intrflush(WINDOW *win, bool bf)
-{
- PDC_LOG(("intrflush() - called\n"));
-
- return OK;
-}
-
-int keypad(WINDOW *win, bool bf)
-{
- PDC_LOG(("keypad() - called\n"));
-
- if (!win)
- return ERR;
-
- win->_use_keypad = bf;
-
- return OK;
-}
-
-int meta(WINDOW *win, bool bf)
-{
- PDC_LOG(("meta() - called\n"));
-
- SP->raw_inp = bf;
-
- return OK;
-}
-
-int nl(void)
-{
- PDC_LOG(("nl() - called\n"));
-
- SP->autocr = TRUE;
-
- return OK;
-}
-
-int nonl(void)
-{
- PDC_LOG(("nonl() - called\n"));
-
- SP->autocr = FALSE;
-
- return OK;
-}
-
-int nodelay(WINDOW *win, bool flag)
-{
- PDC_LOG(("nodelay() - called\n"));
-
- if (!win)
- return ERR;
-
- win->_nodelay = flag;
-
- return OK;
-}
-
-int notimeout(WINDOW *win, bool flag)
-{
- PDC_LOG(("notimeout() - called\n"));
-
- return OK;
-}
-
-int raw(void)
-{
- PDC_LOG(("raw() - called\n"));
-
- PDC_set_keyboard_binary(TRUE);
- SP->raw_inp = TRUE;
-
- return OK;
-}
-
-int noraw(void)
-{
- PDC_LOG(("noraw() - called\n"));
-
- PDC_set_keyboard_binary(FALSE);
- SP->raw_inp = FALSE;
-
- return OK;
-}
-
-void noqiflush(void)
-{
- PDC_LOG(("noqiflush() - called\n"));
-}
-
-void qiflush(void)
-{
- PDC_LOG(("qiflush() - called\n"));
-}
-
-int typeahead(int fildes)
-{
- PDC_LOG(("typeahead() - called\n"));
-
- return OK;
-}
-
-void wtimeout(WINDOW *win, int delay)
-{
- PDC_LOG(("wtimeout() - called\n"));
-
- if (!win)
- return;
-
- if (delay < 0)
- {
- /* This causes a blocking read on the window, so turn on delay
- mode */
-
- win->_nodelay = FALSE;
- win->_delayms = 0;
- }
- else if (!delay)
- {
- /* This causes a non-blocking read on the window, so turn off
- delay mode */
-
- win->_nodelay = TRUE;
- win->_delayms = 0;
- }
- else
- {
- /* This causes the read on the window to delay for the number of
- milliseconds. Also forces the window into non-blocking read
- mode */
-
- /*win->_nodelay = TRUE;*/
- win->_delayms = delay;
- }
-}
-
-void timeout(int delay)
-{
- PDC_LOG(("timeout() - called\n"));
-
- wtimeout(stdscr, delay);
-}
-
-int crmode(void)
-{
- PDC_LOG(("crmode() - called\n"));
-
- return cbreak();
-}
-
-int nocrmode(void)
-{
- PDC_LOG(("nocrmode() - called\n"));
-
- return nocbreak();
-}
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/insch.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/insch.c
deleted file mode 100644
index 67b9f4784b..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/insch.c
+++ /dev/null
@@ -1,268 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: insch.c,v 1.44 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: insch
-
- Synopsis:
- int insch(chtype ch);
- int winsch(WINDOW *win, chtype ch);
- int mvinsch(int y, int x, chtype ch);
- int mvwinsch(WINDOW *win, int y, int x, chtype ch);
-
- int insrawch(chtype ch);
- int winsrawch(WINDOW *win, chtype ch);
- int mvinsrawch(int y, int x, chtype ch);
- int mvwinsrawch(WINDOW *win, int y, int x, chtype ch);
-
- int ins_wch(const cchar_t *wch);
- int wins_wch(WINDOW *win, const cchar_t *wch);
- int mvins_wch(int y, int x, const cchar_t *wch);
- int mvwins_wch(WINDOW *win, int y, int x, const cchar_t *wch);
-
- Description:
- The insch() functions insert a chtype into the window at the
- current or specified cursor position. The cursor is NOT
- advanced. A newline is equivalent to clrtoeol(); tabs are
- expanded; other control characters are converted as with
- unctrl().
-
- The ins_wch() functions are the wide-character
- equivalents, taking cchar_t pointers rather than chtypes.
-
- Video attributes can be combined with a character by ORing
- them into the parameter. Text, including attributes, can be
- copied from one place to another using inch() and insch().
-
- insrawch() etc. are PDCurses-specific wrappers for insch() etc.
- that disable the translation of control characters.
-
- Return Value:
- All functions return OK on success and ERR on error.
-
- Portability X/Open BSD SYS V
- insch Y Y Y
- winsch Y Y Y
- mvinsch Y Y Y
- mvwinsch Y Y Y
- insrawch - - -
- winsrawch - - -
- ins_wch Y
- wins_wch Y
- mvins_wch Y
- mvwins_wch Y
-
-**man-end****************************************************************/
-
-#include <string.h>
-
-int winsch(WINDOW *win, chtype ch)
-{
- int x, y;
- chtype attr;
- bool xlat;
-
- PDC_LOG(("winsch() - called: win=%p ch=%x (text=%c attr=0x%x)\n",
- win, ch, ch & A_CHARTEXT, ch & A_ATTRIBUTES));
-
- if (!win)
- return ERR;
-
- x = win->_curx;
- y = win->_cury;
-
- if (y > win->_maxy || x > win->_maxx || y < 0 || x < 0)
- return ERR;
-
- xlat = !SP->raw_out && !(ch & A_ALTCHARSET);
- attr = ch & A_ATTRIBUTES;
- ch &= A_CHARTEXT;
-
- if (xlat && (ch < ' ' || ch == 0x7f))
- {
- int x2;
-
- switch (ch)
- {
- case '\t':
- for (x2 = ((x / TABSIZE) + 1) * TABSIZE; x < x2; x++)
- {
- if (winsch(win, attr | ' ') == ERR)
- return ERR;
- }
- return OK;
-
- case '\n':
- wclrtoeol(win);
- break;
-
- case 0x7f:
- if (winsch(win, attr | '?') == ERR)
- return ERR;
-
- return winsch(win, attr | '^');
-
- default:
- /* handle control chars */
-
- if (winsch(win, attr | (ch + '@')) == ERR)
- return ERR;
-
- return winsch(win, attr | '^');
- }
- }
- else
- {
- int maxx;
- chtype *temp;
-
- /* If the incoming character doesn't have its own attribute,
- then use the current attributes for the window. If it has
- attributes but not a color component, OR the attributes to
- the current attributes for the window. If it has a color
- component, use the attributes solely from the incoming
- character. */
-
- if (!(attr & A_COLOR))
- attr |= win->_attrs;
-
- /* wrs (4/10/93): Apply the same sort of logic for the window
- background, in that it only takes precedence if other color
- attributes are not there and that the background character
- will only print if the printing character is blank. */
-
- if (!(attr & A_COLOR))
- attr |= win->_bkgd & A_ATTRIBUTES;
- else
- attr |= win->_bkgd & (A_ATTRIBUTES ^ A_COLOR);
-
- if (ch == ' ')
- ch = win->_bkgd & A_CHARTEXT;
-
- /* Add the attribute back into the character. */
-
- ch |= attr;
-
- maxx = win->_maxx;
- temp = &win->_y[y][x];
-
- memmove(temp + 1, temp, (maxx - x - 1) * sizeof(chtype));
-
- win->_lastch[y] = maxx - 1;
-
- if ((win->_firstch[y] == _NO_CHANGE) || (win->_firstch[y] > x))
- win->_firstch[y] = x;
-
- *temp = ch;
- }
-
- PDC_sync(win);
-
- return OK;
-}
-
-int insch(chtype ch)
-{
- PDC_LOG(("insch() - called\n"));
-
- return winsch(stdscr, ch);
-}
-
-int mvinsch(int y, int x, chtype ch)
-{
- PDC_LOG(("mvinsch() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return winsch(stdscr, ch);
-}
-
-int mvwinsch(WINDOW *win, int y, int x, chtype ch)
-{
- PDC_LOG(("mvwinsch() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return winsch(win, ch);
-}
-
-int winsrawch(WINDOW *win, chtype ch)
-{
- PDC_LOG(("winsrawch() - called: win=%p ch=%x "
- "(char=%c attr=0x%x)\n", win, ch,
- ch & A_CHARTEXT, ch & A_ATTRIBUTES));
-
- if ((ch & A_CHARTEXT) < ' ' || (ch & A_CHARTEXT) == 0x7f)
- ch |= A_ALTCHARSET;
-
- return winsch(win, ch);
-}
-
-int insrawch(chtype ch)
-{
- PDC_LOG(("insrawch() - called\n"));
-
- return winsrawch(stdscr, ch);
-}
-
-int mvinsrawch(int y, int x, chtype ch)
-{
- PDC_LOG(("mvinsrawch() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return winsrawch(stdscr, ch);
-}
-
-int mvwinsrawch(WINDOW *win, int y, int x, chtype ch)
-{
- PDC_LOG(("mvwinsrawch() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return winsrawch(win, ch);
-}
-
-#ifdef PDC_WIDE
-int wins_wch(WINDOW *win, const cchar_t *wch)
-{
- PDC_LOG(("wins_wch() - called\n"));
-
- return wch ? winsch(win, *wch) : ERR;
-}
-
-int ins_wch(const cchar_t *wch)
-{
- PDC_LOG(("ins_wch() - called\n"));
-
- return wins_wch(stdscr, wch);
-}
-
-int mvins_wch(int y, int x, const cchar_t *wch)
-{
- PDC_LOG(("mvins_wch() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return wins_wch(stdscr, wch);
-}
-
-int mvwins_wch(WINDOW *win, int y, int x, const cchar_t *wch)
-{
- PDC_LOG(("mvwins_wch() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return wins_wch(win, wch);
-}
-#endif
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/insstr.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/insstr.c
deleted file mode 100644
index a731eaf436..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/insstr.c
+++ /dev/null
@@ -1,261 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: insstr.c,v 1.46 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: insstr
-
- Synopsis:
- int insstr(const char *str);
- int insnstr(const char *str, int n);
- int winsstr(WINDOW *win, const char *str);
- int winsnstr(WINDOW *win, const char *str, int n);
- int mvinsstr(int y, int x, const char *str);
- int mvinsnstr(int y, int x, const char *str, int n);
- int mvwinsstr(WINDOW *win, int y, int x, const char *str);
- int mvwinsnstr(WINDOW *win, int y, int x, const char *str, int n);
-
- int ins_wstr(const wchar_t *wstr);
- int ins_nwstr(const wchar_t *wstr, int n);
- int wins_wstr(WINDOW *win, const wchar_t *wstr);
- int wins_nwstr(WINDOW *win, const wchar_t *wstr, int n);
- int mvins_wstr(int y, int x, const wchar_t *wstr);
- int mvins_nwstr(int y, int x, const wchar_t *wstr, int n);
- int mvwins_wstr(WINDOW *win, int y, int x, const wchar_t *wstr);
- int mvwins_nwstr(WINDOW *win, int y, int x, const wchar_t *wstr, int n);
-
- Description:
- The insstr() functions insert a character string into a window
- at the current cursor position, by repeatedly calling winsch().
- When PDCurses is built with wide-character support enabled, the
- narrow-character functions treat the string as a multibyte
- string in the current locale, and convert it first. All
- characters to the right of the cursor are moved to the right,
- with the possibility of the rightmost characters on the line
- being lost. The cursor position does not change (after moving
- to y, x, if specified). The routines with n as the last
- argument insert at most n characters; if n is negative, then the
- entire string is inserted.
-
- Return Value:
- All functions return OK on success and ERR on error.
-
- Portability X/Open BSD SYS V
- insstr Y - 4.0
- winsstr Y - 4.0
- mvinsstr Y - 4.0
- mvwinsstr Y - 4.0
- insnstr Y - 4.0
- winsnstr Y - 4.0
- mvinsnstr Y - 4.0
- mvwinsnstr Y - 4.0
- ins_wstr Y
- wins_wstr Y
- mvins_wstr Y
- mvwins_wstr Y
- ins_nwstr Y
- wins_nwstr Y
- mvins_nwstr Y
- mvwins_nwstr Y
-
-**man-end****************************************************************/
-
-#include <string.h>
-
-int winsnstr(WINDOW *win, const char *str, int n)
-{
-#ifdef PDC_WIDE
- wchar_t wstr[513], *p;
- int i;
-#endif
- int len;
-
- PDC_LOG(("winsnstr() - called: string=\"%s\" n %d \n", str, n));
-
- if (!win || !str)
- return ERR;
-
- len = strlen(str);
-
- if (n < 0 || n < len)
- n = len;
-
-#ifdef PDC_WIDE
- if (n > 512)
- n = 512;
-
- p = wstr;
- i = 0;
-
- while (str[i] && i < n)
- {
- int retval = PDC_mbtowc(p, str + i, n - i);
-
- if (retval <= 0)
- break;
- p++;
- i += retval;
- }
-
- while (p > wstr)
- if (winsch(win, *--p) == ERR)
-#else
- while (n)
- if (winsch(win, (unsigned char)(str[--n])) == ERR)
-#endif
- return ERR;
-
- return OK;
-}
-
-int insstr(const char *str)
-{
- PDC_LOG(("insstr() - called: string=\"%s\"\n", str));
-
- return winsnstr(stdscr, str, -1);
-}
-
-int winsstr(WINDOW *win, const char *str)
-{
- PDC_LOG(("winsstr() - called: string=\"%s\"\n", str));
-
- return winsnstr(win, str, -1);
-}
-
-int mvinsstr(int y, int x, const char *str)
-{
- PDC_LOG(("mvinsstr() - called: y %d x %d string=\"%s\"\n", y, x, str));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return winsnstr(stdscr, str, -1);
-}
-
-int mvwinsstr(WINDOW *win, int y, int x, const char *str)
-{
- PDC_LOG(("mvwinsstr() - called: string=\"%s\"\n", str));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return winsnstr(win, str, -1);
-}
-
-int insnstr(const char *str, int n)
-{
- PDC_LOG(("insnstr() - called: string=\"%s\" n %d \n", str, n));
-
- return winsnstr(stdscr, str, n);
-}
-
-int mvinsnstr(int y, int x, const char *str, int n)
-{
- PDC_LOG(("mvinsnstr() - called: y %d x %d string=\"%s\" n %d \n",
- y, x, str, n));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return winsnstr(stdscr, str, n);
-}
-
-int mvwinsnstr(WINDOW *win, int y, int x, const char *str, int n)
-{
- PDC_LOG(("mvwinsnstr() - called: y %d x %d string=\"%s\" n %d \n",
- y, x, str, n));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return winsnstr(win, str, n);
-}
-
-#ifdef PDC_WIDE
-int wins_nwstr(WINDOW *win, const wchar_t *wstr, int n)
-{
- const wchar_t *p;
- int len;
-
- PDC_LOG(("wins_nwstr() - called\n"));
-
- if (!win || !wstr)
- return ERR;
-
- for (len = 0, p = wstr; *p; p++)
- len++;
-
- if (n < 0 || n < len)
- n = len;
-
- while (n)
- if (winsch(win, wstr[--n]) == ERR)
- return ERR;
-
- return OK;
-}
-
-int ins_wstr(const wchar_t *wstr)
-{
- PDC_LOG(("ins_wstr() - called\n"));
-
- return wins_nwstr(stdscr, wstr, -1);
-}
-
-int wins_wstr(WINDOW *win, const wchar_t *wstr)
-{
- PDC_LOG(("wins_wstr() - called\n"));
-
- return wins_nwstr(win, wstr, -1);
-}
-
-int mvins_wstr(int y, int x, const wchar_t *wstr)
-{
- PDC_LOG(("mvins_wstr() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return wins_nwstr(stdscr, wstr, -1);
-}
-
-int mvwins_wstr(WINDOW *win, int y, int x, const wchar_t *wstr)
-{
- PDC_LOG(("mvwinsstr() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return wins_nwstr(win, wstr, -1);
-}
-
-int ins_nwstr(const wchar_t *wstr, int n)
-{
- PDC_LOG(("ins_nwstr() - called\n"));
-
- return wins_nwstr(stdscr, wstr, n);
-}
-
-int mvins_nwstr(int y, int x, const wchar_t *wstr, int n)
-{
- PDC_LOG(("mvinsnstr() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return wins_nwstr(stdscr, wstr, n);
-}
-
-int mvwins_nwstr(WINDOW *win, int y, int x, const wchar_t *wstr, int n)
-{
- PDC_LOG(("mvwinsnstr() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return wins_nwstr(win, wstr, n);
-}
-#endif
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/instr.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/instr.c
deleted file mode 100644
index 733a348eb6..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/instr.c
+++ /dev/null
@@ -1,243 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: instr.c,v 1.44 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: instr
-
- Synopsis:
- int instr(char *str);
- int innstr(char *str, int n);
- int winstr(WINDOW *win, char *str);
- int winnstr(WINDOW *win, char *str, int n);
- int mvinstr(int y, int x, char *str);
- int mvinnstr(int y, int x, char *str, int n);
- int mvwinstr(WINDOW *win, int y, int x, char *str);
- int mvwinnstr(WINDOW *win, int y, int x, char *str, int n);
-
- int inwstr(wchar_t *wstr);
- int innwstr(wchar_t *wstr, int n);
- int winwstr(WINDOW *win, wchar_t *wstr);
- int winnwstr(WINDOW *win, wchar_t *wstr, int n);
- int mvinwstr(int y, int x, wchar_t *wstr);
- int mvinnwstr(int y, int x, wchar_t *wstr, int n);
- int mvwinwstr(WINDOW *win, int y, int x, wchar_t *wstr);
- int mvwinnwstr(WINDOW *win, int y, int x, wchar_t *wstr, int n);
-
- Description:
- These functions take characters (or wide characters) from the
- current or specified position in the window, and return them as
- a string in str (or wstr). Attributes are ignored. The functions
- with n as the last argument return a string at most n characters
- long.
-
- Return Value:
- Upon successful completion, innstr(), mvinnstr(), mvwinnstr()
- and winnstr() return the number of characters actually read into
- the string; instr(), mvinstr(), mvwinstr() and winstr() return
- OK. Otherwise, all these functions return ERR.
-
- Portability X/Open BSD SYS V
- instr Y - 4.0
- winstr Y - 4.0
- mvinstr Y - 4.0
- mvwinstr Y - 4.0
- innstr Y - 4.0
- winnstr Y - 4.0
- mvinnstr Y - 4.0
- mvwinnstr Y - 4.0
- inwstr Y
- winwstr Y
- mvinwstr Y
- mvwinwstr Y
- innwstr Y
- winnwstr Y
- mvinnwstr Y
- mvwinnwstr Y
-
-**man-end****************************************************************/
-
-int winnstr(WINDOW *win, char *str, int n)
-{
-#ifdef PDC_WIDE
- wchar_t wstr[513];
-
- if (n < 0 || n > 512)
- n = 512;
-
- if (winnwstr(win, wstr, n) == ERR)
- return ERR;
-
- return PDC_wcstombs(str, wstr, n);
-#else
- chtype *src;
- int i;
-
- PDC_LOG(("winnstr() - called: n %d \n", n));
-
- if (!win || !str)
- return ERR;
-
- if (n < 0 || (win->_curx + n) > win->_maxx)
- n = win->_maxx - win->_curx;
-
- src = win->_y[win->_cury] + win->_curx;
-
- for (i = 0; i < n; i++)
- str[i] = src[i] & A_CHARTEXT;
-
- str[i] = '\0';
-
- return i;
-#endif
-}
-
-int instr(char *str)
-{
- PDC_LOG(("instr() - called: string=\"%s\"\n", str));
-
- return (ERR == winnstr(stdscr, str, stdscr->_maxx)) ? ERR : OK;
-}
-
-int winstr(WINDOW *win, char *str)
-{
- PDC_LOG(("winstr() - called: \n"));
-
- return (ERR == winnstr(win, str, win->_maxx)) ? ERR : OK;
-}
-
-int mvinstr(int y, int x, char *str)
-{
- PDC_LOG(("mvinstr() - called: y %d x %d \n", y, x));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return (ERR == winnstr(stdscr, str, stdscr->_maxx)) ? ERR : OK;
-}
-
-int mvwinstr(WINDOW *win, int y, int x, char *str)
-{
- PDC_LOG(("mvwinstr() - called: y %d x %d \n", y, x));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return (ERR == winnstr(win, str, win->_maxx)) ? ERR : OK;
-}
-
-int innstr(char *str, int n)
-{
- PDC_LOG(("innstr() - called: n %d \n", n));
-
- return winnstr(stdscr, str, n);
-}
-
-int mvinnstr(int y, int x, char *str, int n)
-{
- PDC_LOG(("mvinnstr() - called: y %d x %d n %d \n", y, x, n));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return winnstr(stdscr, str, n);
-}
-
-int mvwinnstr(WINDOW *win, int y, int x, char *str, int n)
-{
- PDC_LOG(("mvwinnstr() - called: y %d x %d n %d \n", y, x, n));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return winnstr(win, str, n);
-}
-
-#ifdef PDC_WIDE
-int winnwstr(WINDOW *win, wchar_t *wstr, int n)
-{
- chtype *src;
- int i;
-
- PDC_LOG(("winnstr() - called: n %d \n", n));
-
- if (!win || !wstr)
- return ERR;
-
- if (n < 0 || (win->_curx + n) > win->_maxx)
- n = win->_maxx - win->_curx;
-
- src = win->_y[win->_cury] + win->_curx;
-
- for (i = 0; i < n; i++)
- wstr[i] = src[i] & A_CHARTEXT;
-
- wstr[i] = L'\0';
-
- return i;
-}
-
-int inwstr(wchar_t *wstr)
-{
- PDC_LOG(("inwstr() - called\n"));
-
- return (ERR == winnwstr(stdscr, wstr, stdscr->_maxx)) ? ERR : OK;
-}
-
-int winwstr(WINDOW *win, wchar_t *wstr)
-{
- PDC_LOG(("winwstr() - called\n"));
-
- return (ERR == winnwstr(win, wstr, win->_maxx)) ? ERR : OK;
-}
-
-int mvinwstr(int y, int x, wchar_t *wstr)
-{
- PDC_LOG(("mvinwstr() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return (ERR == winnwstr(stdscr, wstr, stdscr->_maxx)) ? ERR : OK;
-}
-
-int mvwinwstr(WINDOW *win, int y, int x, wchar_t *wstr)
-{
- PDC_LOG(("mvwinstr() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return (ERR == winnwstr(win, wstr, win->_maxx)) ? ERR : OK;
-}
-
-int innwstr(wchar_t *wstr, int n)
-{
- PDC_LOG(("innwstr() - called\n"));
-
- return winnwstr(stdscr, wstr, n);
-}
-
-int mvinnwstr(int y, int x, wchar_t *wstr, int n)
-{
- PDC_LOG(("mvinnstr() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- return winnwstr(stdscr, wstr, n);
-}
-
-int mvwinnwstr(WINDOW *win, int y, int x, wchar_t *wstr, int n)
-{
- PDC_LOG(("mvwinnwstr() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- return winnwstr(win, wstr, n);
-}
-#endif
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/kernel.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/kernel.c
deleted file mode 100644
index 1a2f835125..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/kernel.c
+++ /dev/null
@@ -1,256 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: kernel.c,v 1.78 2008/07/15 17:13:26 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: kernel
-
- Synopsis:
- int def_prog_mode(void);
- int def_shell_mode(void);
- int reset_prog_mode(void);
- int reset_shell_mode(void);
- int resetty(void);
- int savetty(void);
- int ripoffline(int line, int (*init)(WINDOW *, int));
- int curs_set(int visibility);
- int napms(int ms);
-
- int draino(int ms);
- int resetterm(void);
- int fixterm(void);
- int saveterm(void);
-
- Description:
- def_prog_mode() and def_shell_mode() save the current terminal
- modes as the "program" (in curses) or "shell" (not in curses)
- state for use by the reset_prog_mode() and reset_shell_mode()
- functions. This is done automatically by initscr().
-
- reset_prog_mode() and reset_shell_mode() restore the terminal to
- "program" (in curses) or "shell" (not in curses) state. These
- are done automatically by endwin() and doupdate() after an
- endwin(), so they would normally not be called before these
- functions.
-
- savetty() and resetty() save and restore the state of the
- terminal modes. savetty() saves the current state in a buffer,
- and resetty() restores the state to what it was at the last call
- to savetty().
-
- curs_set() alters the appearance of the cursor. A visibility of
- 0 makes it disappear; 1 makes it appear "normal" (usually an
- underline) and 2 makes it "highly visible" (usually a block).
-
- ripoffline() reduces the size of stdscr by one line. If the
- "line" parameter is positive, the line is removed from the top
- of the screen; if negative, from the bottom. Up to 5 lines can
- be ripped off stdscr by calling ripoffline() repeatedly. The
- function argument, init, is called from within initscr() or
- newterm(), so ripoffline() must be called before either of these
- functions. The init function receives a pointer to a one-line
- WINDOW, and the width of the window. Calling ripoffline() with a
- NULL init function pointer is an error.
-
- napms() suspends the program for the specified number of
- milliseconds. draino() is an archaic equivalent.
-
- resetterm(), fixterm() and saveterm() are archaic equivalents
- for reset_shell_mode(), reset_prog_mode() and def_prog_mode(),
- respectively.
-
- Return Value:
- All functions return OK on success and ERR on error, except
- curs_set(), which returns the previous visibility.
-
- Portability X/Open BSD SYS V
- def_prog_mode Y Y Y
- def_shell_mode Y Y Y
- reset_prog_mode Y Y Y
- reset_shell_mode Y Y Y
- resetty Y Y Y
- savetty Y Y Y
- ripoffline Y - 3.0
- curs_set Y - 3.0
- napms Y Y Y
- draino -
- resetterm -
- fixterm -
- saveterm -
-
-**man-end****************************************************************/
-
-#include <string.h>
-
-RIPPEDOFFLINE linesripped[5];
-char linesrippedoff = 0;
-
-static struct cttyset
-{
- bool been_set;
- SCREEN saved;
-} ctty[3];
-
-enum { PDC_SH_TTY, PDC_PR_TTY, PDC_SAVE_TTY };
-
-static void _save_mode(int i)
-{
- ctty[i].been_set = TRUE;
-
- memcpy(&(ctty[i].saved), SP, sizeof(SCREEN));
-
- PDC_save_screen_mode(i);
-}
-
-static int _restore_mode(int i)
-{
- if (ctty[i].been_set == TRUE)
- {
- memcpy(SP, &(ctty[i].saved), sizeof(SCREEN));
-
- if (ctty[i].saved.raw_out)
- raw();
-
- PDC_restore_screen_mode(i);
-
- if ((LINES != ctty[i].saved.lines) ||
- (COLS != ctty[i].saved.cols))
- resize_term(ctty[i].saved.lines, ctty[i].saved.cols);
-
- PDC_curs_set(ctty[i].saved.visibility);
-
- PDC_gotoyx(ctty[i].saved.cursrow, ctty[i].saved.curscol);
- }
-
- return ctty[i].been_set ? OK : ERR;
-}
-
-int def_prog_mode(void)
-{
- PDC_LOG(("def_prog_mode() - called\n"));
-
- _save_mode(PDC_PR_TTY);
-
- return OK;
-}
-
-int def_shell_mode(void)
-{
- PDC_LOG(("def_shell_mode() - called\n"));
-
- _save_mode(PDC_SH_TTY);
-
- return OK;
-}
-
-int reset_prog_mode(void)
-{
- PDC_LOG(("reset_prog_mode() - called\n"));
-
- _restore_mode(PDC_PR_TTY);
- PDC_reset_prog_mode();
-
- return OK;
-}
-
-int reset_shell_mode(void)
-{
- PDC_LOG(("reset_shell_mode() - called\n"));
-
- _restore_mode(PDC_SH_TTY);
- PDC_reset_shell_mode();
-
- return OK;
-}
-
-int resetty(void)
-{
- PDC_LOG(("resetty() - called\n"));
-
- return _restore_mode(PDC_SAVE_TTY);
-}
-
-int savetty(void)
-{
- PDC_LOG(("savetty() - called\n"));
-
- _save_mode(PDC_SAVE_TTY);
-
- return OK;
-}
-
-int curs_set(int visibility)
-{
- int ret_vis;
-
- PDC_LOG(("curs_set() - called: visibility=%d\n", visibility));
-
- if ((visibility < 0) || (visibility > 2))
- return ERR;
-
- ret_vis = PDC_curs_set(visibility);
-
- /* If the cursor is changing from invisible to visible, update
- its position */
-
- if (visibility && !ret_vis)
- PDC_gotoyx(SP->cursrow, SP->curscol);
-
- return ret_vis;
-}
-
-int napms(int ms)
-{
- PDC_LOG(("napms() - called: ms=%d\n", ms));
-
- if (ms)
- PDC_napms(ms);
-
- return OK;
-}
-
-int ripoffline(int line, int (*init)(WINDOW *, int))
-{
- PDC_LOG(("ripoffline() - called: line=%d\n", line));
-
- if (linesrippedoff < 5 && line && init)
- {
- linesripped[(int)linesrippedoff].line = line;
- linesripped[(int)linesrippedoff++].init = init;
-
- return OK;
- }
-
- return ERR;
-}
-
-int draino(int ms)
-{
- PDC_LOG(("draino() - called\n"));
-
- return napms(ms);
-}
-
-int resetterm(void)
-{
- PDC_LOG(("resetterm() - called\n"));
-
- return reset_shell_mode();
-}
-
-int fixterm(void)
-{
- PDC_LOG(("fixterm() - called\n"));
-
- return reset_prog_mode();
-}
-
-int saveterm(void)
-{
- PDC_LOG(("saveterm() - called\n"));
-
- return def_prog_mode();
-}
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/keyname.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/keyname.c
deleted file mode 100644
index 5bfeb6e5c9..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/keyname.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: keyname.c,v 1.8 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: keyname
-
- Synopsis:
- char *keyname(int key);
-
- char *key_name(wchar_t c);
-
- bool has_key(int key);
-
- Description:
- keyname() returns a string corresponding to the argument key.
- key may be any key returned by wgetch().
-
- key_name() is the wide-character version. It takes a wchar_t
- parameter, but still returns a char *.
-
- has_key() returns TRUE for recognized keys, FALSE otherwise.
- This function is an ncurses extension.
-
- Portability X/Open BSD SYS V
- keyname Y - 3.0
- key_name Y
- has_key - - -
-
-**man-end****************************************************************/
-
-const char *keyname(int key)
-{
- /* Key names must be in exactly the same order as in curses.h */
-
- static const char *key_name[] =
- {
- "KEY_BREAK", "KEY_DOWN", "KEY_UP", "KEY_LEFT", "KEY_RIGHT",
- "KEY_HOME", "KEY_BACKSPACE", "KEY_F0", "KEY_F(1)", "KEY_F(2)",
- "KEY_F(3)", "KEY_F(4)", "KEY_F(5)", "KEY_F(6)", "KEY_F(7)",
- "KEY_F(8)", "KEY_F(9)", "KEY_F(10)", "KEY_F(11)", "KEY_F(12)",
- "KEY_F(13)", "KEY_F(14)", "KEY_F(15)", "KEY_F(16)", "KEY_F(17)",
- "KEY_F(18)", "KEY_F(19)", "KEY_F(20)", "KEY_F(21)", "KEY_F(22)",
- "KEY_F(23)", "KEY_F(24)", "KEY_F(25)", "KEY_F(26)", "KEY_F(27)",
- "KEY_F(28)", "KEY_F(29)", "KEY_F(30)", "KEY_F(31)", "KEY_F(32)",
- "KEY_F(33)", "KEY_F(34)", "KEY_F(35)", "KEY_F(36)", "KEY_F(37)",
- "KEY_F(38)", "KEY_F(39)", "KEY_F(40)", "KEY_F(41)", "KEY_F(42)",
- "KEY_F(43)", "KEY_F(44)", "KEY_F(45)", "KEY_F(46)", "KEY_F(47)",
- "KEY_F(48)", "KEY_F(49)", "KEY_F(50)", "KEY_F(51)", "KEY_F(52)",
- "KEY_F(53)", "KEY_F(54)", "KEY_F(55)", "KEY_F(56)", "KEY_F(57)",
- "KEY_F(58)", "KEY_F(59)", "KEY_F(60)", "KEY_F(61)", "KEY_F(62)",
- "KEY_F(63)", "KEY_DL", "KEY_IL", "KEY_DC", "KEY_IC", "KEY_EIC",
- "KEY_CLEAR", "KEY_EOS", "KEY_EOL", "KEY_SF", "KEY_SR",
- "KEY_NPAGE", "KEY_PPAGE", "KEY_STAB", "KEY_CTAB", "KEY_CATAB",
- "KEY_ENTER", "KEY_SRESET", "KEY_RESET", "KEY_PRINT", "KEY_LL",
- "KEY_ABORT", "KEY_SHELP", "KEY_LHELP", "KEY_BTAB", "KEY_BEG",
- "KEY_CANCEL", "KEY_CLOSE", "KEY_COMMAND", "KEY_COPY",
- "KEY_CREATE", "KEY_END", "KEY_EXIT", "KEY_FIND", "KEY_HELP",
- "KEY_MARK", "KEY_MESSAGE", "KEY_MOVE", "KEY_NEXT", "KEY_OPEN",
- "KEY_OPTIONS", "KEY_PREVIOUS", "KEY_REDO", "KEY_REFERENCE",
- "KEY_REFRESH", "KEY_REPLACE", "KEY_RESTART", "KEY_RESUME",
- "KEY_SAVE", "KEY_SBEG", "KEY_SCANCEL", "KEY_SCOMMAND",
- "KEY_SCOPY", "KEY_SCREATE", "KEY_SDC", "KEY_SDL", "KEY_SELECT",
- "KEY_SEND", "KEY_SEOL", "KEY_SEXIT", "KEY_SFIND", "KEY_SHOME",
- "KEY_SIC", "UNKNOWN KEY", "KEY_SLEFT", "KEY_SMESSAGE",
- "KEY_SMOVE", "KEY_SNEXT", "KEY_SOPTIONS", "KEY_SPREVIOUS",
- "KEY_SPRINT", "KEY_SREDO", "KEY_SREPLACE", "KEY_SRIGHT",
- "KEY_SRSUME", "KEY_SSAVE", "KEY_SSUSPEND", "KEY_SUNDO",
- "KEY_SUSPEND", "KEY_UNDO", "ALT_0", "ALT_1", "ALT_2", "ALT_3",
- "ALT_4", "ALT_5", "ALT_6", "ALT_7", "ALT_8", "ALT_9", "ALT_A",
- "ALT_B", "ALT_C", "ALT_D", "ALT_E", "ALT_F", "ALT_G", "ALT_H",
- "ALT_I", "ALT_J", "ALT_K", "ALT_L", "ALT_M", "ALT_N", "ALT_O",
- "ALT_P", "ALT_Q", "ALT_R", "ALT_S", "ALT_T", "ALT_U", "ALT_V",
- "ALT_W", "ALT_X", "ALT_Y", "ALT_Z", "CTL_LEFT", "CTL_RIGHT",
- "CTL_PGUP", "CTL_PGDN", "CTL_HOME", "CTL_END", "KEY_A1",
- "KEY_A2", "KEY_A3", "KEY_B1", "KEY_B2", "KEY_B3", "KEY_C1",
- "KEY_C2", "KEY_C3", "PADSLASH", "PADENTER", "CTL_PADENTER",
- "ALT_PADENTER", "PADSTOP", "PADSTAR", "PADMINUS", "PADPLUS",
- "CTL_PADSTOP", "CTL_PADCENTER", "CTL_PADPLUS", "CTL_PADMINUS",
- "CTL_PADSLASH", "CTL_PADSTAR", "ALT_PADPLUS", "ALT_PADMINUS",
- "ALT_PADSLASH", "ALT_PADSTAR", "ALT_PADSTOP", "CTL_INS",
- "ALT_DEL", "ALT_INS", "CTL_UP", "CTL_DOWN", "CTL_TAB",
- "ALT_TAB", "ALT_MINUS", "ALT_EQUAL", "ALT_HOME", "ALT_PGUP",
- "ALT_PGDN", "ALT_END", "ALT_UP", "ALT_DOWN", "ALT_RIGHT",
- "ALT_LEFT", "ALT_ENTER", "ALT_ESC", "ALT_BQUOTE",
- "ALT_LBRACKET", "ALT_RBRACKET", "ALT_SEMICOLON", "ALT_FQUOTE",
- "ALT_COMMA", "ALT_STOP", "ALT_FSLASH", "ALT_BKSP", "CTL_BKSP",
- "PAD0", "CTL_PAD0", "CTL_PAD1", "CTL_PAD2", "CTL_PAD3",
- "CTL_PAD4", "CTL_PAD5", "CTL_PAD6", "CTL_PAD7","CTL_PAD8",
- "CTL_PAD9", "ALT_PAD0", "ALT_PAD1", "ALT_PAD2", "ALT_PAD3",
- "ALT_PAD4", "ALT_PAD5", "ALT_PAD6", "ALT_PAD7", "ALT_PAD8",
- "ALT_PAD9", "CTL_DEL", "ALT_BSLASH", "CTL_ENTER",
- "SHF_PADENTER", "SHF_PADSLASH", "SHF_PADSTAR", "SHF_PADPLUS",
- "SHF_PADMINUS", "SHF_UP", "SHF_DOWN", "SHF_IC", "SHF_DC",
- "KEY_MOUSE", "KEY_SHIFT_L", "KEY_SHIFT_R", "KEY_CONTROL_L",
- "KEY_CONTROL_R", "KEY_ALT_L", "KEY_ALT_R", "KEY_RESIZE",
- "KEY_SUP", "KEY_SDOWN"
- };
-
- PDC_LOG(("keyname() - called: key %d\n", key));
-
- if ((key >= 0) && (key < 0x80))
- return unctrl((chtype)key);
-
- return has_key(key) ? key_name[key - KEY_MIN] : "UNKNOWN KEY";
-}
-
-bool has_key(int key)
-{
- PDC_LOG(("has_key() - called: key %d\n", key));
-
- return (key >= KEY_MIN && key <= KEY_MAX);
-}
-
-#ifdef PDC_WIDE
-char *key_name(wchar_t c)
-{
- PDC_LOG(("key_name() - called\n"));
-
- return keyname((int)c);
-}
-#endif
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/mouse.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/mouse.c
deleted file mode 100644
index 5071886d64..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/mouse.c
+++ /dev/null
@@ -1,429 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: mouse.c,v 1.45 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: mouse
-
- Synopsis:
- int mouse_set(unsigned long mbe);
- int mouse_on(unsigned long mbe);
- int mouse_off(unsigned long mbe);
- int request_mouse_pos(void);
- int map_button(unsigned long button);
- void wmouse_position(WINDOW *win, int *y, int *x);
- unsigned long getmouse(void);
- unsigned long getbmap(void);
-
- int mouseinterval(int wait);
- bool wenclose(const WINDOW *win, int y, int x);
- bool wmouse_trafo(const WINDOW *win, int *y, int *x, bool to_screen);
- bool mouse_trafo(int *y, int *x, bool to_screen);
- mmask_t mousemask(mmask_t mask, mmask_t *oldmask);
- int nc_getmouse(MEVENT *event);
- int ungetmouse(MEVENT *event);
-
- Description:
- As of PDCurses 3.0, there are two separate mouse interfaces: the
- classic interface, which is based on the undocumented Sys V
- mouse functions; and an ncurses-compatible interface. Both are
- active at all times, and you can mix and match functions from
- each, though it's not recommended. The ncurses interface is
- essentially an emulation layer built on top of the classic
- interface; it's here to allow easier porting of ncurses apps.
-
- The classic interface: mouse_set(), mouse_on(), mouse_off(),
- request_mouse_pos(), map_button(), wmouse_position(),
- getmouse(), and getbmap(). An application using this interface
- would start by calling mouse_set() or mouse_on() with a non-zero
- value, often ALL_MOUSE_EVENTS. Then it would check for a
- KEY_MOUSE return from getch(). If found, it would call
- request_mouse_pos() to get the current mouse status.
-
- mouse_set(), mouse_on() and mouse_off() are analagous to
- attrset(), attron() and attroff(). These functions set the
- mouse button events to trap. The button masks used in these
- functions are defined in curses.h and can be or'ed together.
- They are the group of masks starting with BUTTON1_RELEASED.
-
- request_mouse_pos() requests curses to fill in the Mouse_status
- structure with the current state of the mouse.
-
- map_button() enables the specified mouse action to activate the
- Soft Label Keys if the action occurs over the area of the screen
- where the Soft Label Keys are displayed. The mouse actions are
- defined in curses.h in the group that starts with BUTTON_RELEASED.
-
- wmouse_position() determines if the current mouse position is
- within the window passed as an argument. If the mouse is
- outside the current window, -1 is returned in the y and x
- arguments; otherwise the y and x coordinates of the mouse
- (relative to the top left corner of the window) are returned in
- y and x.
-
- getmouse() returns the current status of the trapped mouse
- buttons as set by mouse_set() or mouse_on().
-
- getbmap() returns the current status of the button action used
- to map a mouse action to the Soft Label Keys as set by the
- map_button() function.
-
- The ncurses interface: mouseinterval(), wenclose(),
- wmouse_trafo(), mouse_trafo(), mousemask(), nc_getmouse(), and
- ungetmouse(). A typical application using this interface would
- start by calling mousemask() with a non-zero value, often
- ALL_MOUSE_EVENTS. Then it would check for a KEY_MOUSE return
- from getch(). If found, it would call nc_getmouse() to get the
- current mouse status.
-
- mouseinterval() sets the timeout for a mouse click. On all
- current platforms, PDCurses receives mouse button press and
- release events, but must synthesize click events. It does this
- by checking whether a release event is queued up after a press
- event. If it gets a press event, and there are no more events
- waiting, it will wait for the timeout interval, then check again
- for a release. A press followed by a release is reported as
- BUTTON_CLICKED; otherwise it's passed through as BUTTON_PRESSED.
- The default timeout is 150ms; valid values are 0 (no clicks
- reported) through 1000ms. In x11, the timeout can also be set
- via the clickPeriod resource. The return value from
- mouseinterval() is the old timeout. To check the old value
- without setting a new one, call it with a parameter of -1. Note
- that although there's no classic equivalent for this function
- (apart from the clickPeriod resource), the value set applies in
- both interfaces.
-
- wenclose() reports whether the given screen-relative y, x
- coordinates fall within the given window.
-
- wmouse_trafo() converts between screen-relative and window-
- relative coordinates. A to_screen parameter of TRUE means to
- convert from window to screen; otherwise the reverse. The
- function returns FALSE if the coordinates aren't within the
- window, or if any of the parameters are NULL. The coordinates
- have been converted when the function returns TRUE.
-
- mouse_trafo() is the stdscr version of wmouse_trafo().
-
- mousemask() is nearly equivalent to mouse_set(), but instead of
- OK/ERR, it returns the value of the mask after setting it. (This
- isn't necessarily the same value passed in, since the mask could
- be altered on some platforms.) And if the second parameter is a
- non-null pointer, mousemask() stores the previous mask value
- there. Also, since the ncurses interface doesn't work with
- PDCurses' BUTTON_MOVED events, mousemask() filters them out.
-
- nc_getmouse() returns the current mouse status in an MEVENT
- struct. This is equivalent to ncurses' getmouse(), renamed to
- avoid conflict with PDCurses' getmouse(). But if you define
- NCURSES_MOUSE_VERSION (preferably as 2) before including
- curses.h, it defines getmouse() to nc_getmouse(), along with a
- few other redefintions needed for compatibility with ncurses
- code. nc_getmouse() calls request_mouse_pos(), which (not
- getmouse()) is the classic equivalent.
-
- ungetmouse() is the mouse equivalent of ungetch(). However,
- PDCurses doesn't maintain a queue of mouse events; only one can
- be pushed back, and it can overwrite or be overwritten by real
- mouse events.
-
- Portability X/Open BSD SYS V
- mouse_set - - 4.0
- mouse_on - - 4.0
- mouse_off - - 4.0
- request_mouse_pos - - 4.0
- map_button - - 4.0
- wmouse_position - - 4.0
- getmouse - - 4.0
- getbmap - - 4.0
- mouseinterval - - -
- wenclose - - -
- wmouse_trafo - - -
- mouse_trafo - - -
- mousemask - - -
- nc_getmouse - - -
- ungetmouse - - -
-
-**man-end****************************************************************/
-
-#include <string.h>
-
-static bool ungot = FALSE;
-
-int mouse_set(unsigned long mbe)
-{
- PDC_LOG(("mouse_set() - called: event %x\n", mbe));
-
- SP->_trap_mbe = mbe;
- return PDC_mouse_set();
-}
-
-int mouse_on(unsigned long mbe)
-{
- PDC_LOG(("mouse_on() - called: event %x\n", mbe));
-
- SP->_trap_mbe |= mbe;
- return PDC_mouse_set();
-}
-
-int mouse_off(unsigned long mbe)
-{
- PDC_LOG(("mouse_off() - called: event %x\n", mbe));
-
- SP->_trap_mbe &= ~mbe;
- return PDC_mouse_set();
-}
-
-int map_button(unsigned long button)
-{
- PDC_LOG(("map_button() - called: button %x\n", button));
-
-/****************** this does nothing at the moment ***************/
- SP->_map_mbe_to_key = button;
-
- return OK;
-}
-
-int request_mouse_pos(void)
-{
- PDC_LOG(("request_mouse_pos() - called\n"));
-
- Mouse_status = pdc_mouse_status;
-
- return OK;
-}
-
-void wmouse_position(WINDOW *win, int *y, int *x)
-{
- PDC_LOG(("wmouse_position() - called\n"));
-
- if (win && wenclose(win, MOUSE_Y_POS, MOUSE_X_POS))
- {
- if (y)
- *y = MOUSE_Y_POS - win->_begy;
- if (x)
- *x = MOUSE_X_POS - win->_begx;
- }
- else
- {
- if (y)
- *y = -1;
- if (x)
- *x = -1;
- }
-}
-
-unsigned long getmouse(void)
-{
- PDC_LOG(("getmouse() - called\n"));
-
- return SP->_trap_mbe;
-}
-
-unsigned long getbmap(void)
-{
- PDC_LOG(("getbmap() - called\n"));
-
- return SP->_map_mbe_to_key;
-}
-
-/* ncurses mouse interface */
-
-int mouseinterval(int wait)
-{
- int old_wait;
-
- PDC_LOG(("mouseinterval() - called: %d\n", wait));
-
- old_wait = SP->mouse_wait;
-
- if (wait >= 0 && wait <= 1000)
- SP->mouse_wait = wait;
-
- return old_wait;
-}
-
-bool wenclose(const WINDOW *win, int y, int x)
-{
- PDC_LOG(("wenclose() - called: %p %d %d\n", win, y, x));
-
- return (win && y >= win->_begy && y < win->_begy + win->_maxy
- && x >= win->_begx && x < win->_begx + win->_maxx);
-}
-
-bool wmouse_trafo(const WINDOW *win, int *y, int *x, bool to_screen)
-{
- int newy, newx;
-
- PDC_LOG(("wmouse_trafo() - called\n"));
-
- if (!win || !y || !x)
- return FALSE;
-
- newy = *y;
- newx = *x;
-
- if (to_screen)
- {
- newy += win->_begy;
- newx += win->_begx;
-
- if (!wenclose(win, newy, newx))
- return FALSE;
- }
- else
- {
- if (wenclose(win, newy, newx))
- {
- newy -= win->_begy;
- newx -= win->_begx;
- }
- else
- return FALSE;
- }
-
- *y = newy;
- *x = newx;
-
- return TRUE;
-}
-
-bool mouse_trafo(int *y, int *x, bool to_screen)
-{
- PDC_LOG(("mouse_trafo() - called\n"));
-
- return wmouse_trafo(stdscr, y, x, to_screen);
-}
-
-mmask_t mousemask(mmask_t mask, mmask_t *oldmask)
-{
- PDC_LOG(("mousemask() - called\n"));
-
- if (oldmask)
- *oldmask = SP->_trap_mbe;
-
- /* The ncurses interface doesn't work with our move events, so
- filter them here */
-
- mask &= ~(BUTTON1_MOVED | BUTTON2_MOVED | BUTTON3_MOVED);
-
- mouse_set(mask);
-
- return SP->_trap_mbe;
-}
-
-int nc_getmouse(MEVENT *event)
-{
- int i;
- mmask_t bstate = 0;
-
- PDC_LOG(("nc_getmouse() - called\n"));
-
- if (!event)
- return ERR;
-
- ungot = FALSE;
-
- request_mouse_pos();
-
- event->id = 0;
-
- event->x = Mouse_status.x;
- event->y = Mouse_status.y;
- event->z = 0;
-
- for (i = 0; i < 3; i++)
- {
- if (Mouse_status.changes & (1 << i))
- {
- int shf = i * 5;
- short button = Mouse_status.button[i] & BUTTON_ACTION_MASK;
-
- if (button == BUTTON_RELEASED)
- bstate |= (BUTTON1_RELEASED << shf);
- else if (button == BUTTON_PRESSED)
- bstate |= (BUTTON1_PRESSED << shf);
- else if (button == BUTTON_CLICKED)
- bstate |= (BUTTON1_CLICKED << shf);
- else if (button == BUTTON_DOUBLE_CLICKED)
- bstate |= (BUTTON1_DOUBLE_CLICKED << shf);
-
- button = Mouse_status.button[i] & BUTTON_MODIFIER_MASK;
-
- if (button & PDC_BUTTON_SHIFT)
- bstate |= BUTTON_MODIFIER_SHIFT;
- if (button & PDC_BUTTON_CONTROL)
- bstate |= BUTTON_MODIFIER_CONTROL;
- if (button & PDC_BUTTON_ALT)
- bstate |= BUTTON_MODIFIER_ALT;
- }
- }
-
- if (MOUSE_WHEEL_UP)
- bstate |= BUTTON4_PRESSED;
- else if (MOUSE_WHEEL_DOWN)
- bstate |= BUTTON5_PRESSED;
-
- /* extra filter pass -- mainly for button modifiers */
-
- event->bstate = bstate & SP->_trap_mbe;
-
- return OK;
-}
-
-int ungetmouse(MEVENT *event)
-{
- int i;
- unsigned long bstate;
-
- PDC_LOG(("ungetmouse() - called\n"));
-
- if (!event || ungot)
- return ERR;
-
- ungot = TRUE;
-
- pdc_mouse_status.x = event->x;
- pdc_mouse_status.y = event->y;
-
- pdc_mouse_status.changes = 0;
- bstate = event->bstate;
-
- for (i = 0; i < 3; i++)
- {
- int shf = i * 5;
- short button = 0;
-
- if (bstate & ((BUTTON1_RELEASED | BUTTON1_PRESSED |
- BUTTON1_CLICKED | BUTTON1_DOUBLE_CLICKED) << shf))
- {
- pdc_mouse_status.changes |= 1 << i;
-
- if (bstate & (BUTTON1_PRESSED << shf))
- button = BUTTON_PRESSED;
- if (bstate & (BUTTON1_CLICKED << shf))
- button = BUTTON_CLICKED;
- if (bstate & (BUTTON1_DOUBLE_CLICKED << shf))
- button = BUTTON_DOUBLE_CLICKED;
-
- if (bstate & BUTTON_MODIFIER_SHIFT)
- button |= PDC_BUTTON_SHIFT;
- if (bstate & BUTTON_MODIFIER_CONTROL)
- button |= PDC_BUTTON_CONTROL;
- if (bstate & BUTTON_MODIFIER_ALT)
- button |= PDC_BUTTON_ALT;
- }
-
- pdc_mouse_status.button[i] = button;
- }
-
- if (bstate & BUTTON4_PRESSED)
- pdc_mouse_status.changes |= PDC_MOUSE_WHEEL_UP;
- else if (bstate & BUTTON5_PRESSED)
- pdc_mouse_status.changes |= PDC_MOUSE_WHEEL_DOWN;
-
- return ungetch(KEY_MOUSE);
-}
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/move.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/move.c
deleted file mode 100644
index 30e59084e2..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/move.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: move.c,v 1.28 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: move
-
- Synopsis:
- int move(int y, int x);
- int wmove(WINDOW *win, int y, int x);
-
- Description:
- The cursor associated with the window is moved to the given
- location. This does not move the physical cursor of the
- terminal until refresh() is called. The position specified is
- relative to the upper left corner of the window, which is (0,0).
-
- Return Value:
- All functions return OK on success and ERR on error.
-
- Portability X/Open BSD SYS V
- move Y Y Y
- wmove Y Y Y
-
-**man-end****************************************************************/
-
-int move(int y, int x)
-{
- PDC_LOG(("move() - called: y=%d x=%d\n", y, x));
-
- if (!stdscr || x < 0 || y < 0 || x >= stdscr->_maxx || y >= stdscr->_maxy)
- return ERR;
-
- stdscr->_curx = x;
- stdscr->_cury = y;
-
- return OK;
-}
-
-int wmove(WINDOW *win, int y, int x)
-{
- PDC_LOG(("wmove() - called: y=%d x=%d\n", y, x));
-
- if (!win || x < 0 || y < 0 || x >= win->_maxx || y >= win->_maxy)
- return ERR;
-
- win->_curx = x;
- win->_cury = y;
-
- return OK;
-}
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/outopts.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/outopts.c
deleted file mode 100644
index 9b04eb9dd7..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/outopts.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: outopts.c,v 1.39 2008/07/14 12:22:13 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: outopts
-
- Synopsis:
- int clearok(WINDOW *win, bool bf);
- int idlok(WINDOW *win, bool bf);
- void idcok(WINDOW *win, bool bf);
- void immedok(WINDOW *win, bool bf);
- int leaveok(WINDOW *win, bool bf);
- int setscrreg(int top, int bot);
- int wsetscrreg(WINDOW *win, int top, int bot);
- int scrollok(WINDOW *win, bool bf);
-
- int raw_output(bool bf);
-
- Description:
- With clearok(), if bf is TRUE, the next call to wrefresh() with
- this window will clear the screen completely and redraw the
- entire screen.
-
- immedok(), called with a second argument of TRUE, causes an
- automatic wrefresh() every time a change is made to the
- specified window.
-
- Normally, the hardware cursor is left at the location of the
- window being refreshed. leaveok() allows the cursor to be
- left wherever the update happens to leave it. It's useful
- for applications where the cursor is not used, since it reduces
- the need for cursor motions. If possible, the cursor is made
- invisible when this option is enabled.
-
- wsetscrreg() sets a scrolling region in a window; "top" and
- "bot" are the line numbers for the top and bottom margins. If
- this option and scrollok() are enabled, any attempt to move off
- the bottom margin will cause all lines in the scrolling region
- to scroll up one line. setscrreg() is the stdscr version.
-
- idlok() and idcok() do nothing in PDCurses, but are provided for
- compatibility with other curses implementations.
-
- raw_output() enables the output of raw characters using the
- standard *add* and *ins* curses functions (that is, it disables
- translation of control characters).
-
- Return Value:
- All functions return OK on success and ERR on error.
-
- Portability X/Open BSD SYS V
- clearok Y Y Y
- idlok Y Y Y
- idcok Y - 4.0
- immedok Y - 4.0
- leaveok Y Y Y
- setscrreg Y Y Y
- wsetscrreg Y Y Y
- scrollok Y Y Y
- raw_output - - -
-
-**man-end****************************************************************/
-
-int clearok(WINDOW *win, bool bf)
-{
- PDC_LOG(("clearok() - called\n"));
-
- if (!win)
- return ERR;
-
- win->_clear = bf;
-
- return OK;
-}
-
-int idlok(WINDOW *win, bool bf)
-{
- PDC_LOG(("idlok() - called\n"));
-
- return OK;
-}
-
-void idcok(WINDOW *win, bool bf)
-{
- PDC_LOG(("idcok() - called\n"));
-}
-
-void immedok(WINDOW *win, bool bf)
-{
- PDC_LOG(("immedok() - called\n"));
-
- if (win)
- win->_immed = bf;
-}
-
-int leaveok(WINDOW *win, bool bf)
-{
- PDC_LOG(("leaveok() - called\n"));
-
- if (!win)
- return ERR;
-
- win->_leaveit = bf;
-
- curs_set(!bf);
-
- return OK;
-}
-
-int setscrreg(int top, int bottom)
-{
- PDC_LOG(("setscrreg() - called: top %d bottom %d\n", top, bottom));
-
- return wsetscrreg(stdscr, top, bottom);
-}
-
-int wsetscrreg(WINDOW *win, int top, int bottom)
-{
- PDC_LOG(("wsetscrreg() - called: top %d bottom %d\n", top, bottom));
-
- if (win && 0 <= top && top <= win->_cury &&
- win->_cury <= bottom && bottom < win->_maxy)
- {
- win->_tmarg = top;
- win->_bmarg = bottom;
-
- return OK;
- }
- else
- return ERR;
-}
-
-int scrollok(WINDOW *win, bool bf)
-{
- PDC_LOG(("scrollok() - called\n"));
-
- if (!win)
- return ERR;
-
- win->_scroll = bf;
-
- return OK;
-}
-
-int raw_output(bool bf)
-{
- PDC_LOG(("raw_output() - called\n"));
-
- SP->raw_out = bf;
-
- return OK;
-}
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/overlay.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/overlay.c
deleted file mode 100644
index d1e9f21719..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/overlay.c
+++ /dev/null
@@ -1,256 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: overlay.c,v 1.36 2008/07/14 12:35:23 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: overlay
-
- Synopsis:
- int overlay(const WINDOW *src_w, WINDOW *dst_w)
- int overwrite(const WINDOW *src_w, WINDOW *dst_w)
- int copywin(const WINDOW *src_w, WINDOW *dst_w, int src_tr,
- int src_tc, int dst_tr, int dst_tc, int dst_br,
- int dst_bc, bool overlay)
-
- Description:
- overlay() and overwrite() copy all the text from src_w into
- dst_w. The windows need not be the same size. Those characters
- in the source window that intersect with the destination window
- are copied, so that the characters appear in the same physical
- position on the screen. The difference between the two functions
- is that overlay() is non-destructive (blanks are not copied)
- while overwrite() is destructive (blanks are copied).
-
- copywin() is similar, but doesn't require that the two windows
- overlap. The arguments src_tc and src_tr specify the top left
- corner of the region to be copied. dst_tc, dst_tr, dst_br, and
- dst_bc specify the region within the destination window to copy
- to. The argument "overlay", if TRUE, indicates that the copy is
- done non-destructively (as in overlay()); blanks in the source
- window are not copied to the destination window. When overlay is
- FALSE, blanks are copied.
-
- Return Value:
- All functions return OK on success and ERR on error.
-
- Portability X/Open BSD SYS V
- overlay Y Y Y
- overwrite Y Y Y
- copywin Y - 3.0
-
-**man-end****************************************************************/
-
-/* Thanks to Andreas Otte <venn@@uni-paderborn.de> for the
- corrected overlay()/overwrite() behavior. */
-
-static int _copy_win(const WINDOW *src_w, WINDOW *dst_w, int src_tr,
- int src_tc, int src_br, int src_bc, int dst_tr,
- int dst_tc, bool _overlay)
-{
- int col, line, y1, fc, *minchng, *maxchng;
- chtype *w1ptr, *w2ptr;
-
- int lc = 0;
- int xdiff = src_bc - src_tc;
- int ydiff = src_br - src_tr;
-
- if (!src_w || !dst_w)
- return ERR;
-
- minchng = dst_w->_firstch;
- maxchng = dst_w->_lastch;
-
- for (y1 = 0; y1 < dst_tr; y1++)
- {
- minchng++;
- maxchng++;
- }
-
- for (line = 0; line < ydiff; line++)
- {
- w1ptr = src_w->_y[line + src_tr] + src_tc;
- w2ptr = dst_w->_y[line + dst_tr] + dst_tc;
-
- fc = _NO_CHANGE;
-
- for (col = 0; col < xdiff; col++)
- {
- if ((*w1ptr) != (*w2ptr) &&
- !((*w1ptr & A_CHARTEXT) == ' ' && _overlay))
- {
- *w2ptr = *w1ptr;
-
- if (fc == _NO_CHANGE)
- fc = col + dst_tc;
-
- lc = col + dst_tc;
- }
-
- w1ptr++;
- w2ptr++;
- }
-
- if (*minchng == _NO_CHANGE)
- {
- *minchng = fc;
- *maxchng = lc;
- }
- else if (fc != _NO_CHANGE)
- {
- if (fc < *minchng)
- *minchng = fc;
- if (lc > *maxchng)
- *maxchng = lc;
- }
-
- minchng++;
- maxchng++;
- }
-
- return OK;
-}
-
-int overlay(const WINDOW *src_w, WINDOW *dst_w)
-{
- int first_line, first_col, last_line, last_col;
- int src_start_x, src_start_y, dst_start_x, dst_start_y;
- int xdiff, ydiff;
-
- PDC_LOG(("overlay() - called\n"));
-
- if (!src_w || !dst_w)
- return ERR;
-
- first_col = max(dst_w->_begx, src_w->_begx);
- first_line = max(dst_w->_begy, src_w->_begy);
-
- last_col = min(src_w->_begx + src_w->_maxx, dst_w->_begx + dst_w->_maxx);
- last_line = min(src_w->_begy + src_w->_maxy, dst_w->_begy + dst_w->_maxy);
-
- /* determine the overlapping region of the two windows in real
- coordinates */
-
- /* if no overlapping region, do nothing */
-
- if ((last_col < first_col) || (last_line < first_line))
- return OK;
-
- /* size of overlapping region */
-
- xdiff = last_col - first_col;
- ydiff = last_line - first_line;
-
- if (src_w->_begx <= dst_w->_begx)
- {
- src_start_x = dst_w->_begx - src_w->_begx;
- dst_start_x = 0;
- }
- else
- {
- dst_start_x = src_w->_begx - dst_w->_begx;
- src_start_x = 0;
- }
-
- if (src_w->_begy <= dst_w->_begy)
- {
- src_start_y = dst_w->_begy - src_w->_begy;
- dst_start_y = 0;
- }
- else
- {
- dst_start_y = src_w->_begy - dst_w->_begy;
- src_start_y = 0;
- }
-
- return _copy_win(src_w, dst_w, src_start_y, src_start_x,
- src_start_y + ydiff, src_start_x + xdiff,
- dst_start_y, dst_start_x, TRUE);
-}
-
-int overwrite(const WINDOW *src_w, WINDOW *dst_w)
-{
- int first_line, first_col, last_line, last_col;
- int src_start_x, src_start_y, dst_start_x, dst_start_y;
- int xdiff, ydiff;
-
- PDC_LOG(("overwrite() - called\n"));
-
- if (!src_w || !dst_w)
- return ERR;
-
- first_col = max(dst_w->_begx, src_w->_begx);
- first_line = max(dst_w->_begy, src_w->_begy);
-
- last_col = min(src_w->_begx + src_w->_maxx, dst_w->_begx + dst_w->_maxx);
- last_line = min(src_w->_begy + src_w->_maxy, dst_w->_begy + dst_w->_maxy);
-
- /* determine the overlapping region of the two windows in real
- coordinates */
-
- /* if no overlapping region, do nothing */
-
- if ((last_col < first_col) || (last_line < first_line))
- return OK;
-
- /* size of overlapping region */
-
- xdiff = last_col - first_col;
- ydiff = last_line - first_line;
-
- if (src_w->_begx <= dst_w->_begx)
- {
- src_start_x = dst_w->_begx - src_w->_begx;
- dst_start_x = 0;
- }
- else
- {
- dst_start_x = src_w->_begx - dst_w->_begx;
- src_start_x = 0;
- }
-
- if (src_w->_begy <= dst_w->_begy)
- {
- src_start_y = dst_w->_begy - src_w->_begy;
- dst_start_y = 0;
- }
- else
- {
- dst_start_y = src_w->_begy - dst_w->_begy;
- src_start_y = 0;
- }
-
- return _copy_win(src_w, dst_w, src_start_y, src_start_x,
- src_start_y + ydiff, src_start_x + xdiff,
- dst_start_y, dst_start_x, FALSE);
-}
-
-int copywin(const WINDOW *src_w, WINDOW *dst_w, int src_tr, int src_tc,
- int dst_tr, int dst_tc, int dst_br, int dst_bc, int _overlay)
-{
- int src_end_x, src_end_y;
- int src_rows, src_cols, dst_rows, dst_cols;
- int min_rows, min_cols;
-
- PDC_LOG(("copywin() - called\n"));
-
- if (!src_w || !dst_w || dst_w == curscr || dst_br > dst_w->_maxy
- || dst_bc > dst_w->_maxx || dst_tr < 0 || dst_tc < 0)
- return ERR;
-
- src_rows = src_w->_maxy - src_tr;
- src_cols = src_w->_maxx - src_tc;
- dst_rows = dst_br - dst_tr + 1;
- dst_cols = dst_bc - dst_tc + 1;
-
- min_rows = min(src_rows, dst_rows);
- min_cols = min(src_cols, dst_cols);
-
- src_end_y = src_tr + min_rows;
- src_end_x = src_tc + min_cols;
-
- return _copy_win(src_w, dst_w, src_tr, src_tc, src_end_y, src_end_x,
- dst_tr, dst_tc, _overlay);
-}
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/pad.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/pad.c
deleted file mode 100644
index d4cad07149..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/pad.c
+++ /dev/null
@@ -1,259 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: pad.c,v 1.50 2008/07/14 12:22:13 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: pad
-
- Synopsis:
- WINDOW *newpad(int nlines, int ncols);
- WINDOW *subpad(WINDOW *orig, int nlines, int ncols,
- int begy, int begx);
- int prefresh(WINDOW *win, int py, int px, int sy1, int sx1,
- int sy2, int sx2);
- int pnoutrefresh(WINDOW *w, int py, int px, int sy1, int sx1,
- int sy2, int sx2);
- int pechochar(WINDOW *pad, chtype ch);
- int pecho_wchar(WINDOW *pad, const cchar_t *wch);
-
- Description:
- A pad is a special kind of window, which is not restricted by
- the screen size, and is not necessarily associated with a
- particular part of the screen. You can use a pad when you need
- a large window, and only a part of the window will be on the
- screen at one time. Pads are not refreshed automatically (e.g.,
- from scrolling or echoing of input). You can't call wrefresh()
- with a pad as an argument; use prefresh() or pnoutrefresh()
- instead. Note that these routines require additional parameters
- to specify the part of the pad to be displayed, and the location
- to use on the screen.
-
- newpad() creates a new pad data structure.
-
- subpad() creates a new sub-pad within a pad, at position (begy,
- begx), with dimensions of nlines lines and ncols columns. This
- position is relative to the pad, and not to the screen as with
- subwin. Changes to either the parent pad or sub-pad will affect
- both. When using sub-pads, you may need to call touchwin()
- before calling prefresh().
-
- pnoutrefresh() copies the specified pad to the virtual screen.
-
- prefresh() calls pnoutrefresh(), followed by doupdate().
-
- These routines are analogous to wnoutrefresh() and wrefresh().
- (py, px) specifies the upper left corner of the part of the pad
- to be displayed; (sy1, sx1) and (sy2, sx2) describe the screen
- rectangle that will contain the selected part of the pad.
-
- pechochar() is functionally equivalent to addch() followed by
- a call to prefresh(), with the last-used coordinates and
- dimensions. pecho_wchar() is the wide-character version.
-
- Return Value:
- All functions return OK on success and ERR on error.
-
- Portability X/Open BSD SYS V
- newpad Y - Y
- subpad Y - Y
- prefresh Y - Y
- pnoutrefresh Y - Y
- pechochar Y - 3.0
- pecho_wchar Y
-
-**man-end****************************************************************/
-
-#include <string.h>
-
-/* save values for pechochar() */
-
-static int save_pminrow, save_pmincol;
-static int save_sminrow, save_smincol, save_smaxrow, save_smaxcol;
-
-WINDOW *newpad(int nlines, int ncols)
-{
- WINDOW *win;
-
- PDC_LOG(("newpad() - called: lines=%d cols=%d\n", nlines, ncols));
-
- if ( !(win = PDC_makenew(nlines, ncols, -1, -1))
- || !(win = PDC_makelines(win)) )
- return (WINDOW *)NULL;
-
- werase(win);
-
- win->_flags = _PAD;
-
- /* save default values in case pechochar() is the first call to
- prefresh(). */
-
- save_pminrow = 0;
- save_pmincol = 0;
- save_sminrow = 0;
- save_smincol = 0;
- save_smaxrow = min(LINES, nlines) - 1;
- save_smaxcol = min(COLS, ncols) - 1;
-
- return win;
-}
-
-WINDOW *subpad(WINDOW *orig, int nlines, int ncols, int begy, int begx)
-{
- WINDOW *win;
- int i;
- int j = begy;
- int k = begx;
-
- PDC_LOG(("subpad() - called: lines=%d cols=%d begy=%d begx=%d\n",
- nlines, ncols, begy, begx));
-
- if (!orig || !(orig->_flags & _PAD))
- return (WINDOW *)NULL;
-
- /* make sure window fits inside the original one */
-
- if ((begy < orig->_begy) || (begx < orig->_begx) ||
- (begy + nlines) > (orig->_begy + orig->_maxy) ||
- (begx + ncols) > (orig->_begx + orig->_maxx))
- return (WINDOW *)NULL;
-
- if (!nlines)
- nlines = orig->_maxy - 1 - j;
-
- if (!ncols)
- ncols = orig->_maxx - 1 - k;
-
- if ( !(win = PDC_makenew(nlines, ncols, begy, begx)) )
- return (WINDOW *)NULL;
-
- /* initialize window variables */
-
- win->_attrs = orig->_attrs;
- win->_leaveit = orig->_leaveit;
- win->_scroll = orig->_scroll;
- win->_nodelay = orig->_nodelay;
- win->_use_keypad = orig->_use_keypad;
- win->_parent = orig;
-
- for (i = 0; i < nlines; i++)
- win->_y[i] = (orig->_y[j++]) + k;
-
- win->_flags = _SUBPAD;
-
- /* save default values in case pechochar() is the first call
- to prefresh(). */
-
- save_pminrow = 0;
- save_pmincol = 0;
- save_sminrow = 0;
- save_smincol = 0;
- save_smaxrow = min(LINES, nlines) - 1;
- save_smaxcol = min(COLS, ncols) - 1;
-
- return win;
-}
-
-int prefresh(WINDOW *win, int py, int px, int sy1, int sx1, int sy2, int sx2)
-{
- PDC_LOG(("prefresh() - called\n"));
-
- if (pnoutrefresh(win, py, px, sy1, sx1, sy2, sx2) == ERR)
- return ERR;
-
- doupdate();
- return OK;
-}
-
-int pnoutrefresh(WINDOW *w, int py, int px, int sy1, int sx1, int sy2, int sx2)
-{
- int num_cols;
- int sline = sy1;
- int pline = py;
-
- PDC_LOG(("pnoutrefresh() - called\n"));
-
- if (!w || !(w->_flags & (_PAD|_SUBPAD)) || (sy2 >= LINES) || (sy2 >= COLS))
- return ERR;
-
- if (py < 0)
- py = 0;
- if (px < 0)
- px = 0;
- if (sy1 < 0)
- sy1 = 0;
- if (sx1 < 0)
- sx1 = 0;
-
- if (sy2 < sy1 || sx2 < sx1)
- return ERR;
-
- num_cols = min((sx2 - sx1 + 1), (w->_maxx - px));
-
- while (sline <= sy2)
- {
- if (pline < w->_maxy)
- {
- memcpy(curscr->_y[sline] + sx1, w->_y[pline] + px,
- num_cols * sizeof(chtype));
-
- if ((curscr->_firstch[sline] == _NO_CHANGE)
- || (curscr->_firstch[sline] > sx1))
- curscr->_firstch[sline] = sx1;
-
- if (sx2 > curscr->_lastch[sline])
- curscr->_lastch[sline] = sx2;
-
- w->_firstch[pline] = _NO_CHANGE; /* updated now */
- w->_lastch[pline] = _NO_CHANGE; /* updated now */
- }
-
- sline++;
- pline++;
- }
-
- if (w->_clear)
- {
- w->_clear = FALSE;
- curscr->_clear = TRUE;
- }
-
- /* position the cursor to the pad's current position if possible --
- is the pad current position going to end up displayed? if not,
- then don't move the cursor; if so, move it to the correct place */
-
- if (!w->_leaveit && w->_cury >= py && w->_curx >= px &&
- w->_cury <= py + (sy2 - sy1) && w->_curx <= px + (sx2 - sx1))
- {
- curscr->_cury = (w->_cury - py) + sy1;
- curscr->_curx = (w->_curx - px) + sx1;
- }
-
- return OK;
-}
-
-int pechochar(WINDOW *pad, chtype ch)
-{
- PDC_LOG(("pechochar() - called\n"));
-
- if (waddch(pad, ch) == ERR)
- return ERR;
-
- return prefresh(pad, save_pminrow, save_pmincol, save_sminrow,
- save_smincol, save_smaxrow, save_smaxcol);
-}
-
-#ifdef PDC_WIDE
-int pecho_wchar(WINDOW *pad, const cchar_t *wch)
-{
- PDC_LOG(("pecho_wchar() - called\n"));
-
- if (!wch || (waddch(pad, *wch) == ERR))
- return ERR;
-
- return prefresh(pad, save_pminrow, save_pmincol, save_sminrow,
- save_smincol, save_smaxrow, save_smaxcol);
-}
-#endif
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/panel.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/panel.c
deleted file mode 100644
index 87b987d4b4..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/panel.c
+++ /dev/null
@@ -1,630 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: panel.c,v 1.8 2008/07/14 12:35:23 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: panel
-
- Synopsis:
- int bottom_panel(PANEL *pan);
- int del_panel(PANEL *pan);
- int hide_panel(PANEL *pan);
- int move_panel(PANEL *pan, int starty, int startx);
- PANEL *new_panel(WINDOW *win);
- PANEL *panel_above(const PANEL *pan);
- PANEL *panel_below(const PANEL *pan);
- int panel_hidden(const PANEL *pan);
- const void *panel_userptr(const PANEL *pan);
- WINDOW *panel_window(const PANEL *pan);
- int replace_panel(PANEL *pan, WINDOW *win);
- int set_panel_userptr(PANEL *pan, const void *uptr);
- int show_panel(PANEL *pan);
- int top_panel(PANEL *pan);
- void update_panels(void);
-
- Description:
- The panel library is built using the curses library, and any
- program using panels routines must call one of the curses
- initialization routines such as initscr(). A program using these
- routines must be linked with the panels and curses libraries.
- The header <panel.h> includes the header <curses.h>.
-
- The panels package gives the applications programmer a way to
- have depth relationships between curses windows; a curses window
- is associated with every panel. The panels routines allow curses
- windows to overlap without making visible the overlapped
- portions of underlying windows. The initial curses window,
- stdscr, lies beneath all panels. The set of currently visible
- panels is the 'deck' of panels.
-
- The panels package allows the applications programmer to create
- panels, fetch and set their associated windows, shuffle panels
- in the deck, and manipulate panels in other ways.
-
- bottom_panel() places pan at the bottom of the deck. The size,
- location and contents of the panel are unchanged.
-
- del_panel() deletes pan, but not its associated winwow.
-
- hide_panel() removes a panel from the deck and thus hides it
- from view.
-
- move_panel() moves the curses window associated with pan, so
- that its upper lefthand corner is at the supplied coordinates.
- (Do not use mvwin() on the window.)
-
- new_panel() creates a new panel associated with win and returns
- the panel pointer. The new panel is placed at the top of the
- deck.
-
- panel_above() returns a pointer to the panel in the deck above
- pan, or NULL if pan is the top panel. If the value of pan passed
- is NULL, this function returns a pointer to the bottom panel in
- the deck.
-
- panel_below() returns a pointer to the panel in the deck below
- pan, or NULL if pan is the bottom panel. If the value of pan
- passed is NULL, this function returns a pointer to the top panel
- in the deck.
-
- panel_hidden() returns OK if pan is hidden and ERR if it is not.
-
- panel_userptr() - Each panel has a user pointer available for
- maintaining relevant information. This function returns a
- pointer to that information previously set up by
- set_panel_userptr().
-
- panel_window() returns a pointer to the curses window associated
- with the panel.
-
- replace_panel() replaces the current window of pan with win.
-
- set_panel_userptr() - Each panel has a user pointer available
- for maintaining relevant information. This function sets the
- value of that information.
-
- show_panel() makes a previously hidden panel visible and places
- it back in the deck on top.
-
- top_panel() places pan on the top of the deck. The size,
- location and contents of the panel are unchanged.
-
- update_panels() refreshes the virtual screen to reflect the
- depth relationships between the panels in the deck. The user
- must use doupdate() to refresh the physical screen.
-
- Return Value:
- Each routine that returns a pointer to an object returns NULL if
- an error occurs. Each panel routine that returns an integer,
- returns OK if it executes successfully and ERR if it does not.
-
- Portability X/Open BSD SYS V
- bottom_panel - - Y
- del_panel - - Y
- hide_panel - - Y
- move_panel - - Y
- new_panel - - Y
- panel_above - - Y
- panel_below - - Y
- panel_hidden - - Y
- panel_userptr - - Y
- panel_window - - Y
- replace_panel - - Y
- set_panel_userptr - - Y
- show_panel - - Y
- top_panel - - Y
- update_panels - - Y
-
- Credits:
- Original Author - Warren Tucker <wht@n4hgf.mt-park.ga.us>
-
-**man-end****************************************************************/
-
-#include <panel.h>
-#include <stdlib.h>
-
-PANEL *_bottom_panel = (PANEL *)0;
-PANEL *_top_panel = (PANEL *)0;
-PANEL _stdscr_pseudo_panel = { (WINDOW *)0 };
-
-#ifdef PANEL_DEBUG
-
-static void dPanel(char *text, PANEL *pan)
-{
- PDC_LOG(("%s id=%s b=%s a=%s y=%d x=%d", text, pan->user,
- pan->below ? pan->below->user : "--",
- pan->above ? pan->above->user : "--",
- pan->wstarty, pan->wstartx));
-}
-
-static void dStack(char *fmt, int num, PANEL *pan)
-{
- char s80[80];
-
- sprintf(s80, fmt, num, pan);
- PDC_LOG(("%s b=%s t=%s", s80, _bottom_panel ? _bottom_panel->user : "--",
- _top_panel ? _top_panel->user : "--"));
-
- if (pan)
- PDC_LOG(("pan id=%s", pan->user));
-
- pan = _bottom_panel;
-
- while (pan)
- {
- dPanel("stk", pan);
- pan = pan->above;
- }
-}
-
-/* debugging hook for wnoutrefresh */
-
-static void Wnoutrefresh(PANEL *pan)
-{
- dPanel("wnoutrefresh", pan);
- wnoutrefresh(pan->win);
-}
-
-static void Touchpan(PANEL *pan)
-{
- dPanel("Touchpan", pan);
- touchwin(pan->win);
-}
-
-static void Touchline(PANEL *pan, int start, int count)
-{
- char s80[80];
-
- sprintf(s80, "Touchline s=%d c=%d", start, count);
- dPanel(s80, pan);
- touchline(pan->win, start, count);
-}
-
-#else /* PANEL_DEBUG */
-
-#define dPanel(text, pan)
-#define dStack(fmt, num, pan)
-#define Wnoutrefresh(pan) wnoutrefresh((pan)->win)
-#define Touchpan(pan) touchwin((pan)->win)
-#define Touchline(pan, start, count) touchline((pan)->win, start, count)
-
-#endif /* PANEL_DEBUG */
-
-static bool _panels_overlapped(PANEL *pan1, PANEL *pan2)
-{
- if (!pan1 || !pan2)
- return FALSE;
-
- return ((pan1->wstarty >= pan2->wstarty && pan1->wstarty < pan2->wendy)
- || (pan2->wstarty >= pan1->wstarty && pan2->wstarty < pan1->wendy))
- && ((pan1->wstartx >= pan2->wstartx && pan1->wstartx < pan2->wendx)
- || (pan2->wstartx >= pan1->wstartx && pan2->wstartx < pan1->wendx));
-}
-
-static void _free_obscure(PANEL *pan)
-{
- PANELOBS *tobs = pan->obscure; /* "this" one */
- PANELOBS *nobs; /* "next" one */
-
- while (tobs)
- {
- nobs = tobs->above;
- free((char *)tobs);
- tobs = nobs;
- }
- pan->obscure = (PANELOBS *)0;
-}
-
-static void _override(PANEL *pan, int show)
-{
- int y;
- PANEL *pan2;
- PANELOBS *tobs = pan->obscure; /* "this" one */
-
- if (show == 1)
- Touchpan(pan);
- else if (!show)
- {
- Touchpan(pan);
- Touchpan(&_stdscr_pseudo_panel);
- }
- else if (show == -1)
- while (tobs && (tobs->pan != pan))
- tobs = tobs->above;
-
- while (tobs)
- {
- if ((pan2 = tobs->pan) != pan)
- for (y = pan->wstarty; y < pan->wendy; y++)
- if ((y >= pan2->wstarty) && (y < pan2->wendy) &&
- ((is_linetouched(pan->win, y - pan->wstarty)) ||
- (is_linetouched(stdscr, y))))
- Touchline(pan2, y - pan2->wstarty, 1);
-
- tobs = tobs->above;
- }
-}
-
-static void _calculate_obscure(void)
-{
- PANEL *pan, *pan2;
- PANELOBS *tobs; /* "this" one */
- PANELOBS *lobs; /* last one */
-
- pan = _bottom_panel;
-
- while (pan)
- {
- if (pan->obscure)
- _free_obscure(pan);
-
- lobs = (PANELOBS *)0;
- pan2 = _bottom_panel;
-
- while (pan2)
- {
- if (_panels_overlapped(pan, pan2))
- {
- if ((tobs = malloc(sizeof(PANELOBS))) == NULL)
- return;
-
- tobs->pan = pan2;
- dPanel("obscured", pan2);
- tobs->above = (PANELOBS *)0;
-
- if (lobs)
- lobs->above = tobs;
- else
- pan->obscure = tobs;
-
- lobs = tobs;
- }
-
- pan2 = pan2->above;
- }
-
- _override(pan, 1);
- pan = pan->above;
- }
-}
-
-/* check to see if panel is in the stack */
-
-static bool _panel_is_linked(const PANEL *pan)
-{
- PANEL *pan2 = _bottom_panel;
-
- while (pan2)
- {
- if (pan2 == pan)
- return TRUE;
-
- pan2 = pan2->above;
- }
-
- return FALSE;
-}
-
-/* link panel into stack at top */
-
-static void _panel_link_top(PANEL *pan)
-{
-#ifdef PANEL_DEBUG
- dStack("<lt%d>", 1, pan);
- if (_panel_is_linked(pan))
- return;
-#endif
- pan->above = (PANEL *)0;
- pan->below = (PANEL *)0;
-
- if (_top_panel)
- {
- _top_panel->above = pan;
- pan->below = _top_panel;
- }
-
- _top_panel = pan;
-
- if (!_bottom_panel)
- _bottom_panel = pan;
-
- _calculate_obscure();
- dStack("<lt%d>", 9, pan);
-}
-
-/* link panel into stack at bottom */
-
-static void _panel_link_bottom(PANEL *pan)
-{
-#ifdef PANEL_DEBUG
- dStack("<lb%d>", 1, pan);
- if (_panel_is_linked(pan))
- return;
-#endif
- pan->above = (PANEL *)0;
- pan->below = (PANEL *)0;
-
- if (_bottom_panel)
- {
- _bottom_panel->below = pan;
- pan->above = _bottom_panel;
- }
-
- _bottom_panel = pan;
-
- if (!_top_panel)
- _top_panel = pan;
-
- _calculate_obscure();
- dStack("<lb%d>", 9, pan);
-}
-
-static void _panel_unlink(PANEL *pan)
-{
- PANEL *prev;
- PANEL *next;
-
-#ifdef PANEL_DEBUG
- dStack("<u%d>", 1, pan);
- if (!_panel_is_linked(pan))
- return;
-#endif
- _override(pan, 0);
- _free_obscure(pan);
-
- prev = pan->below;
- next = pan->above;
-
- /* if non-zero, we will not update the list head */
-
- if (prev)
- {
- prev->above = next;
- if(next)
- next->below = prev;
- }
- else if (next)
- next->below = prev;
-
- if (pan == _bottom_panel)
- _bottom_panel = next;
-
- if (pan == _top_panel)
- _top_panel = prev;
-
- _calculate_obscure();
-
- pan->above = (PANEL *)0;
- pan->below = (PANEL *)0;
- dStack("<u%d>", 9, pan);
-
-}
-
-/************************************************************************
- * The following are the public functions for the panels library. *
- ************************************************************************/
-
-int bottom_panel(PANEL *pan)
-{
- if (!pan)
- return ERR;
-
- if (pan == _bottom_panel)
- return OK;
-
- if (_panel_is_linked(pan))
- hide_panel(pan);
-
- _panel_link_bottom(pan);
-
- return OK;
-}
-
-int del_panel(PANEL *pan)
-{
- if (pan)
- {
- if (_panel_is_linked(pan))
- hide_panel(pan);
-
- free((char *)pan);
- return OK;
- }
-
- return ERR;
-}
-
-int hide_panel(PANEL *pan)
-{
- if (!pan)
- return ERR;
-
- if (!_panel_is_linked(pan))
- {
- pan->above = (PANEL *)0;
- pan->below = (PANEL *)0;
- return ERR;
- }
-
- _panel_unlink(pan);
-
- return OK;
-}
-
-int move_panel(PANEL *pan, int starty, int startx)
-{
- WINDOW *win;
- int maxy, maxx;
-
- if (!pan)
- return ERR;
-
- if (_panel_is_linked(pan))
- _override(pan, 0);
-
- win = pan->win;
-
- if (mvwin(win, starty, startx) == ERR)
- return ERR;
-
- getbegyx(win, pan->wstarty, pan->wstartx);
- getmaxyx(win, maxy, maxx);
- pan->wendy = pan->wstarty + maxy;
- pan->wendx = pan->wstartx + maxx;
-
- if (_panel_is_linked(pan))
- _calculate_obscure();
-
- return OK;
-}
-
-PANEL *new_panel(WINDOW *win)
-{
- PANEL *pan = malloc(sizeof(PANEL));
-
- if (!_stdscr_pseudo_panel.win)
- {
- _stdscr_pseudo_panel.win = stdscr;
- _stdscr_pseudo_panel.wstarty = 0;
- _stdscr_pseudo_panel.wstartx = 0;
- _stdscr_pseudo_panel.wendy = LINES;
- _stdscr_pseudo_panel.wendx = COLS;
- _stdscr_pseudo_panel.user = "stdscr";
- _stdscr_pseudo_panel.obscure = (PANELOBS *)0;
- }
-
- if (pan)
- {
- int maxy, maxx;
-
- pan->win = win;
- pan->above = (PANEL *)0;
- pan->below = (PANEL *)0;
- getbegyx(win, pan->wstarty, pan->wstartx);
- getmaxyx(win, maxy, maxx);
- pan->wendy = pan->wstarty + maxy;
- pan->wendx = pan->wstartx + maxx;
-#ifdef PANEL_DEBUG
- pan->user = "new";
-#else
- pan->user = (char *)0;
-#endif
- pan->obscure = (PANELOBS *)0;
- show_panel(pan);
- }
-
- return pan;
-}
-
-PANEL *panel_above(const PANEL *pan)
-{
- return pan ? pan->above : _bottom_panel;
-}
-
-PANEL *panel_below(const PANEL *pan)
-{
- return pan ? pan->below : _top_panel;
-}
-
-int panel_hidden(const PANEL *pan)
-{
- if (!pan)
- return ERR;
-
- return _panel_is_linked(pan) ? ERR : OK;
-}
-
-const void *panel_userptr(const PANEL *pan)
-{
- return pan ? pan->user : NULL;
-}
-
-WINDOW *panel_window(const PANEL *pan)
-{
- PDC_LOG(("panel_window() - called\n"));
-
- return pan->win;
-}
-
-int replace_panel(PANEL *pan, WINDOW *win)
-{
- int maxy, maxx;
-
- if (!pan)
- return ERR;
-
- if (_panel_is_linked(pan))
- _override(pan, 0);
-
- pan->win = win;
- getbegyx(win, pan->wstarty, pan->wstartx);
- getmaxyx(win, maxy, maxx);
- pan->wendy = pan->wstarty + maxy;
- pan->wendx = pan->wstartx + maxx;
-
- if (_panel_is_linked(pan))
- _calculate_obscure();
-
- return OK;
-}
-
-int set_panel_userptr(PANEL *pan, const void *uptr)
-{
- if (!pan)
- return ERR;
-
- pan->user = uptr;
- return OK;
-}
-
-int show_panel(PANEL *pan)
-{
- if (!pan)
- return ERR;
-
- if (pan == _top_panel)
- return OK;
-
- if (_panel_is_linked(pan))
- hide_panel(pan);
-
- _panel_link_top(pan);
-
- return OK;
-}
-
-int top_panel(PANEL *pan)
-{
- return show_panel(pan);
-}
-
-void update_panels(void)
-{
- PANEL *pan;
-
- PDC_LOG(("update_panels() - called\n"));
-
- pan = _bottom_panel;
-
- while (pan)
- {
- _override(pan, -1);
- pan = pan->above;
- }
-
- if (is_wintouched(stdscr))
- Wnoutrefresh(&_stdscr_pseudo_panel);
-
- pan = _bottom_panel;
-
- while (pan)
- {
- if (is_wintouched(pan->win) || !pan->above)
- Wnoutrefresh(pan);
-
- pan = pan->above;
- }
-}
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/printw.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/printw.c
deleted file mode 100644
index ac67f919bb..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/printw.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: printw.c,v 1.40 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: printw
-
- Synopsis:
- int printw(const char *fmt, ...);
- int wprintw(WINDOW *win, const char *fmt, ...);
- int mvprintw(int y, int x, const char *fmt, ...);
- int mvwprintw(WINDOW *win, int y, int x, const char *fmt,...);
- int vwprintw(WINDOW *win, const char *fmt, va_list varglist);
- int vw_printw(WINDOW *win, const char *fmt, va_list varglist);
-
- Description:
- The printw() functions add a formatted string to the window at
- the current or specified cursor position. The format strings are
- the same as used in the standard C library's printf(). (printw()
- can be used as a drop-in replacement for printf().)
-
- Return Value:
- All functions return the number of characters printed, or
- ERR on error.
-
- Portability X/Open BSD SYS V
- printw Y Y Y
- wprintw Y Y Y
- mvprintw Y Y Y
- mvwprintw Y Y Y
- vwprintw Y - 4.0
- vw_printw Y
-
-**man-end****************************************************************/
-
-#include <string.h>
-
-int vwprintw(WINDOW *win, const char *fmt, va_list varglist)
-{
- char printbuf[513];
- int len;
-
- PDC_LOG(("vwprintw() - called\n"));
-
-#ifdef HAVE_VSNPRINTF
- len = vsnprintf(printbuf, 512, fmt, varglist);
-#else
- len = vsprintf(printbuf, fmt, varglist);
-#endif
- return (waddstr(win, printbuf) == ERR) ? ERR : len;
-}
-
-int printw(const char *fmt, ...)
-{
- va_list args;
- int retval;
-
- PDC_LOG(("printw() - called\n"));
-
- va_start(args, fmt);
- retval = vwprintw(stdscr, fmt, args);
- va_end(args);
-
- return retval;
-}
-
-int wprintw(WINDOW *win, const char *fmt, ...)
-{
- va_list args;
- int retval;
-
- PDC_LOG(("wprintw() - called\n"));
-
- va_start(args, fmt);
- retval = vwprintw(win, fmt, args);
- va_end(args);
-
- return retval;
-}
-
-int mvprintw(int y, int x, const char *fmt, ...)
-{
- va_list args;
- int retval;
-
- PDC_LOG(("mvprintw() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- va_start(args, fmt);
- retval = vwprintw(stdscr, fmt, args);
- va_end(args);
-
- return retval;
-}
-
-int mvwprintw(WINDOW *win, int y, int x, const char *fmt, ...)
-{
- va_list args;
- int retval;
-
- PDC_LOG(("mvwprintw() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- va_start(args, fmt);
- retval = vwprintw(win, fmt, args);
- va_end(args);
-
- return retval;
-}
-
-int vw_printw(WINDOW *win, const char *fmt, va_list varglist)
-{
- PDC_LOG(("vw_printw() - called\n"));
-
- return vwprintw(win, fmt, varglist);
-}
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/refresh.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/refresh.c
deleted file mode 100644
index da4bb76edd..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/refresh.c
+++ /dev/null
@@ -1,276 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: refresh.c,v 1.56 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: refresh
-
- Synopsis:
- int refresh(void);
- int wrefresh(WINDOW *win);
- int wnoutrefresh(WINDOW *win);
- int doupdate(void);
- int redrawwin(WINDOW *win);
- int wredrawln(WINDOW *win, int beg_line, int num_lines);
-
- Description:
- wrefresh() copies the named window to the physical terminal
- screen, taking into account what is already there in order to
- optimize cursor movement. refresh() does the same, using stdscr.
- These routines must be called to get any output on the terminal,
- as other routines only manipulate data structures. Unless
- leaveok() has been enabled, the physical cursor of the terminal
- is left at the location of the window's cursor.
-
- wnoutrefresh() and doupdate() allow multiple updates with more
- efficiency than wrefresh() alone. wrefresh() works by first
- calling wnoutrefresh(), which copies the named window to the
- virtual screen. It then calls doupdate(), which compares the
- virtual screen to the physical screen and does the actual
- update. A series of calls to wrefresh() will result in
- alternating calls to wnoutrefresh() and doupdate(), causing
- several bursts of output to the screen. By first calling
- wnoutrefresh() for each window, it is then possible to call
- doupdate() only once.
-
- In PDCurses, redrawwin() is equivalent to touchwin(), and
- wredrawln() is the same as touchline(). In some other curses
- implementations, there's a subtle distinction, but it has no
- meaning in PDCurses.
-
- Return Value:
- All functions return OK on success and ERR on error.
-
- Portability X/Open BSD SYS V
- refresh Y Y Y
- wrefresh Y Y Y
- wnoutrefresh Y Y Y
- doupdate Y Y Y
- redrawwin Y - 4.0
- wredrawln Y - 4.0
-
-**man-end****************************************************************/
-
-#include <string.h>
-
-int wnoutrefresh(WINDOW *win)
-{
- int begy, begx; /* window's place on screen */
- int i, j;
-
- PDC_LOG(("wnoutrefresh() - called: win=%p\n", win));
-
- if ( !win || (win->_flags & (_PAD|_SUBPAD)) )
- return ERR;
-
- begy = win->_begy;
- begx = win->_begx;
-
- for (i = 0, j = begy; i < win->_maxy; i++, j++)
- {
- if (win->_firstch[i] != _NO_CHANGE)
- {
- chtype *src = win->_y[i];
- chtype *dest = curscr->_y[j] + begx;
-
- int first = win->_firstch[i]; /* first changed */
- int last = win->_lastch[i]; /* last changed */
-
- /* ignore areas on the outside that are marked as changed,
- but really aren't */
-
- while (first <= last && src[first] == dest[first])
- first++;
-
- while (last >= first && src[last] == dest[last])
- last--;
-
- /* if any have really changed... */
-
- if (first <= last)
- {
- memcpy(dest + first, src + first,
- (last - first + 1) * sizeof(chtype));
-
- first += begx;
- last += begx;
-
- if (first < curscr->_firstch[j] ||
- curscr->_firstch[j] == _NO_CHANGE)
- curscr->_firstch[j] = first;
-
- if (last > curscr->_lastch[j])
- curscr->_lastch[j] = last;
- }
-
- win->_firstch[i] = _NO_CHANGE; /* updated now */
- }
-
- win->_lastch[i] = _NO_CHANGE; /* updated now */
- }
-
- if (win->_clear)
- win->_clear = FALSE;
-
- if (!win->_leaveit)
- {
- curscr->_cury = win->_cury + begy;
- curscr->_curx = win->_curx + begx;
- }
-
- return OK;
-}
-
-int doupdate(void)
-{
- int y;
- bool clearall;
-
- PDC_LOG(("doupdate() - called\n"));
-
- if (!curscr)
- return ERR;
-
- if (isendwin()) /* coming back after endwin() called */
- {
- reset_prog_mode();
- clearall = TRUE;
- SP->alive = TRUE; /* so isendwin() result is correct */
- }
- else
- clearall = curscr->_clear;
-
- for (y = 0; y < SP->lines; y++)
- {
- PDC_LOG(("doupdate() - Transforming line %d of %d: %s\n",
- y, SP->lines, (curscr->_firstch[y] != _NO_CHANGE) ?
- "Yes" : "No"));
-
- if (clearall || curscr->_firstch[y] != _NO_CHANGE)
- {
- int first, last;
-
- chtype *src = curscr->_y[y];
- chtype *dest = pdc_lastscr->_y[y];
-
- if (clearall)
- {
- first = 0;
- last = COLS - 1;
- }
- else
- {
- first = curscr->_firstch[y];
- last = curscr->_lastch[y];
- }
-
- while (first <= last)
- {
- int len = 0;
-
- /* build up a run of changed cells; if two runs are
- separated by a single unchanged cell, ignore the
- break */
-
- if (clearall)
- len = last - first + 1;
- else
- while (first + len <= last &&
- (src[first + len] != dest[first + len] ||
- (len && first + len < last &&
- src[first + len + 1] != dest[first + len + 1])
- )
- )
- len++;
-
- /* update the screen, and pdc_lastscr */
-
- if (len)
- {
- PDC_transform_line(y, first, len, src + first);
- memcpy(dest + first, src + first, len * sizeof(chtype));
- first += len;
- }
-
- /* skip over runs of unchanged cells */
-
- while (first <= last && src[first] == dest[first])
- first++;
- }
-
- curscr->_firstch[y] = _NO_CHANGE;
- curscr->_lastch[y] = _NO_CHANGE;
- }
- }
-
- curscr->_clear = FALSE;
-
- if (SP->visibility)
- PDC_gotoyx(curscr->_cury, curscr->_curx);
-
- SP->cursrow = curscr->_cury;
- SP->curscol = curscr->_curx;
-
- return OK;
-}
-
-int wrefresh(WINDOW *win)
-{
- bool save_clear;
-
- PDC_LOG(("wrefresh() - called\n"));
-
- if ( !win || (win->_flags & (_PAD|_SUBPAD)) )
- return ERR;
-
- save_clear = win->_clear;
-
- if (win == curscr)
- curscr->_clear = TRUE;
- else
- wnoutrefresh(win);
-
- if (save_clear && win->_maxy == SP->lines && win->_maxx == SP->cols)
- curscr->_clear = TRUE;
-
- return doupdate();
-}
-
-int refresh(void)
-{
- PDC_LOG(("refresh() - called\n"));
-
- return wrefresh(stdscr);
-}
-
-int wredrawln(WINDOW *win, int start, int num)
-{
- int i;
-
- PDC_LOG(("wredrawln() - called: win=%p start=%d num=%d\n",
- win, start, num));
-
- if (!win || start > win->_maxy || start + num > win->_maxy)
- return ERR;
-
- for (i = start; i < start + num; i++)
- {
- win->_firstch[i] = 0;
- win->_lastch[i] = win->_maxx - 1;
- }
-
- return OK;
-}
-
-int redrawwin(WINDOW *win)
-{
- PDC_LOG(("redrawwin() - called: win=%p\n", win));
-
- if (!win)
- return ERR;
-
- return wredrawln(win, 0, win->_maxy);
-}
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/scanw.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/scanw.c
deleted file mode 100644
index 47f205052b..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/scanw.c
+++ /dev/null
@@ -1,575 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: scanw.c,v 1.42 2008/07/14 12:22:13 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: scanw
-
- Synopsis:
- int scanw(const char *fmt, ...);
- int wscanw(WINDOW *win, const char *fmt, ...);
- int mvscanw(int y, int x, const char *fmt, ...);
- int mvwscanw(WINDOW *win, int y, int x, const char *fmt, ...);
- int vwscanw(WINDOW *win, const char *fmt, va_list varglist);
- int vw_scanw(WINDOW *win, const char *fmt, va_list varglist);
-
- Description:
- These routines correspond to the standard C library's scanf()
- family. Each gets a string from the window via wgetnstr(), and
- uses the resulting line as input for the scan.
-
- Return Value:
- On successful completion, these functions return the number of
- items successfully matched. Otherwise they return ERR.
-
- Portability X/Open BSD SYS V
- scanw Y Y Y
- wscanw Y Y Y
- mvscanw Y Y Y
- mvwscanw Y Y Y
- vwscanw Y - 4.0
- vw_scanw Y
-
-**man-end****************************************************************/
-
-#include <string.h>
-
-#ifndef HAVE_VSSCANF
-# include <stdlib.h>
-# include <ctype.h>
-# include <limits.h>
-
-static int _pdc_vsscanf(const char *, const char *, va_list);
-
-# define vsscanf _pdc_vsscanf
-#endif
-
-int vwscanw(WINDOW *win, const char *fmt, va_list varglist)
-{
- char scanbuf[256];
-
- PDC_LOG(("vwscanw() - called\n"));
-
- if (wgetnstr(win, scanbuf, 255) == ERR)
- return ERR;
-
- return vsscanf(scanbuf, fmt, varglist);
-}
-
-int scanw(const char *fmt, ...)
-{
- va_list args;
- int retval;
-
- PDC_LOG(("scanw() - called\n"));
-
- va_start(args, fmt);
- retval = vwscanw(stdscr, fmt, args);
- va_end(args);
-
- return retval;
-}
-
-int wscanw(WINDOW *win, const char *fmt, ...)
-{
- va_list args;
- int retval;
-
- PDC_LOG(("wscanw() - called\n"));
-
- va_start(args, fmt);
- retval = vwscanw(win, fmt, args);
- va_end(args);
-
- return retval;
-}
-
-int mvscanw(int y, int x, const char *fmt, ...)
-{
- va_list args;
- int retval;
-
- PDC_LOG(("mvscanw() - called\n"));
-
- if (move(y, x) == ERR)
- return ERR;
-
- va_start(args, fmt);
- retval = vwscanw(stdscr, fmt, args);
- va_end(args);
-
- return retval;
-}
-
-int mvwscanw(WINDOW *win, int y, int x, const char *fmt, ...)
-{
- va_list args;
- int retval;
-
- PDC_LOG(("mvscanw() - called\n"));
-
- if (wmove(win, y, x) == ERR)
- return ERR;
-
- va_start(args, fmt);
- retval = vwscanw(win, fmt, args);
- va_end(args);
-
- return retval;
-}
-
-int vw_scanw(WINDOW *win, const char *fmt, va_list varglist)
-{
- PDC_LOG(("vw_scanw() - called\n"));
-
- return vwscanw(win, fmt, varglist);
-}
-
-#ifndef HAVE_VSSCANF
-
-/* _pdc_vsscanf() - Internal routine to parse and format an input
- buffer. It scans a series of input fields; each field is formatted
- according to a supplied format string and the formatted input is
- stored in the variable number of addresses passed. Returns the number
- of input fields or EOF on error.
-
- Don't compile this unless required. Some compilers (at least Borland
- C++ 3.0) have to link with math libraries due to the use of floats.
-
- Based on vsscanf.c and input.c from emx 0.8f library source,
- Copyright (c) 1990-1992 by Eberhard Mattes, who has kindly agreed to
- its inclusion in PDCurses. */
-
-#define WHITE(x) ((x) == ' ' || (x) == '\t' || (x) == '\n')
-
-#define NEXT(x) \
- do { \
- x = *buf++; \
- if (!x) \
- return (count ? count : EOF); \
- ++chars; \
- } while (0)
-
-#define UNGETC() \
- do { \
- --buf; --chars; \
- } while (0)
-
-static int _pdc_vsscanf(const char *buf, const char *fmt, va_list arg_ptr)
-{
- int count, chars, c, width, radix, d, i;
- int *int_ptr;
- long *long_ptr;
- short *short_ptr;
- char *char_ptr;
- unsigned char f;
- char neg, assign, ok, size;
- long n;
- char map[256], end;
- double dx, dd, *dbl_ptr;
- float *flt_ptr;
- int exp;
- char eneg;
-
- count = 0;
- chars = 0;
- c = 0;
- while ((f = *fmt) != 0)
- {
- if (WHITE(f))
- {
- do
- {
- ++fmt;
- f = *fmt;
- }
- while (WHITE(f));
- do
- {
- c = *buf++;
- if (!c)
- {
- if (!f || count)
- return count;
- else
- return EOF;
- } else
- ++chars;
- }
- while (WHITE(c));
- UNGETC();
- } else if (f != '%')
- {
- NEXT(c);
- if (c != f)
- return count;
- ++fmt;
- } else
- {
- assign = TRUE;
- width = INT_MAX;
- char_ptr = NULL;
- ++fmt;
- if (*fmt == '*')
- {
- assign = FALSE;
- ++fmt;
- }
- if (isdigit(*fmt))
- {
- width = 0;
- while (isdigit(*fmt))
- width = width * 10 + (*fmt++ - '0');
- if (!width)
- width = INT_MAX;
- }
- size = 0;
- if (*fmt == 'h' || *fmt == 'l')
- size = *fmt++;
- f = *fmt;
- switch (f)
- {
- case 'c':
- if (width == INT_MAX)
- width = 1;
- if (assign)
- char_ptr = va_arg(arg_ptr, char *);
- while (width > 0)
- {
- --width;
- NEXT(c);
- if (assign)
- {
- *char_ptr++ = (char) c;
- ++count;
- }
- }
- break;
- case '[':
- memset(map, 0, 256);
- end = 0;
- ++fmt;
- if (*fmt == '^')
- {
- ++fmt;
- end = 1;
- }
- i = 0;
- for (;;)
- {
- f = (unsigned char) *fmt;
- switch (f)
- {
- case 0:
- /* avoid skipping past 0 */
- --fmt;
- NEXT(c);
- goto string;
- case ']':
- if (i > 0)
- {
- NEXT(c);
- goto string;
- }
- /* no break */
- default:
- if (fmt[1] == '-' && fmt[2]
- && f < (unsigned char)fmt[2])
- {
- memset(map + f, 1, (unsigned char)fmt[2] - f);
- fmt += 2;
- }
- else
- map[f] = 1;
- break;
- }
- ++fmt;
- ++i;
- }
- case 's':
- memset(map, 0, 256);
- map[' '] = 1;
- map['\n'] = 1;
- map['\r'] = 1;
- map['\t'] = 1;
- end = 1;
- do
- {
- NEXT(c);
- }
- while (WHITE(c));
- string:
- if (assign)
- char_ptr = va_arg(arg_ptr, char *);
- while (width > 0 && map[(unsigned char) c] != end)
- {
- --width;
- if (assign)
- *char_ptr++ = (char) c;
- c = *buf++;
- if (!c)
- break;
- else
- ++chars;
- }
- if (assign)
- {
- *char_ptr = 0;
- ++count;
- }
- if (!c)
- return count;
- else
- UNGETC();
- break;
- case 'f':
- case 'e':
- case 'E':
- case 'g':
- case 'G':
- neg = ok = FALSE;
- dx = 0.0;
- do
- {
- NEXT(c);
- }
- while (WHITE(c));
- if (c == '+')
- {
- NEXT(c);
- --width;
- } else if (c == '-')
- {
- neg = TRUE;
- NEXT(c);
- --width;
- }
- while (width > 0 && isdigit(c))
- {
- --width;
- dx = dx * 10.0 + (double) (c - '0');
- ok = TRUE;
- c = *buf++;
- if (!c)
- break;
- else
- ++chars;
- }
- if (width > 0 && c == '.')
- {
- --width;
- dd = 10.0;
- NEXT(c);
- while (width > 0 && isdigit(c))
- {
- --width;
- dx += (double) (c - '0') / dd;
- dd *= 10.0;
- ok = TRUE;
- c = *buf++;
- if (!c)
- break;
- else
- ++chars;
- }
- }
- if (!ok)
- return count;
- if (width > 0 && (c == 'e' || c == 'E'))
- {
- eneg = FALSE;
- exp = 0;
- NEXT(c);
- --width;
- if (width > 0 && c == '+')
- {
- NEXT(c);
- --width;
- } else if (width > 0 && c == '-')
- {
- eneg = TRUE;
- NEXT(c);
- --width;
- }
- if (!(width > 0 && isdigit(c)))
- {
- UNGETC();
- return count;
- }
- while (width > 0 && isdigit(c))
- {
- --width;
- exp = exp * 10 + (c - '0');
- c = *buf++;
- if (!c)
- break;
- else
- ++chars;
- }
- if (eneg)
- exp = -exp;
- while (exp > 0)
- {
- dx *= 10.0;
- --exp;
- }
- while (exp < 0)
- {
- dx /= 10.0;
- ++exp;
- }
- }
- if (assign)
- {
- if (neg)
- dx = -dx;
- if (size == 'l')
- {
- dbl_ptr = va_arg(arg_ptr, double *);
- *dbl_ptr = dx;
- }
- else
- {
- flt_ptr = va_arg(arg_ptr, float *);
- *flt_ptr = (float)dx;
- }
- ++count;
- }
- if (!c)
- return count;
- else
- UNGETC();
- break;
- case 'i':
- neg = FALSE;
- radix = 10;
- do
- {
- NEXT(c);
- }
- while (WHITE(c));
- if (!(width > 0 && c == '0'))
- goto scan_complete_number;
- NEXT(c);
- --width;
- if (width > 0 && (c == 'x' || c == 'X'))
- {
- NEXT(c);
- radix = 16;
- --width;
- }
- else if (width > 0 && (c >= '0' && c <= '7'))
- radix = 8;
- goto scan_unsigned_number;
- case 'd':
- case 'u':
- case 'o':
- case 'x':
- case 'X':
- do
- {
- NEXT(c);
- }
- while (WHITE(c));
- switch (f)
- {
- case 'o':
- radix = 8;
- break;
- case 'x':
- case 'X':
- radix = 16;
- break;
- default:
- radix = 10;
- break;
- }
- scan_complete_number:
- neg = FALSE;
- if (width > 0 && c == '+')
- {
- NEXT(c);
- --width;
- }
- else if (width > 0 && c == '-' && radix == 10)
- {
- neg = TRUE;
- NEXT(c);
- --width;
- }
- scan_unsigned_number:
- n = 0;
- ok = FALSE;
- while (width > 0)
- {
- --width;
- if (isdigit(c))
- d = c - '0';
- else if (isupper(c))
- d = c - 'A' + 10;
- else if (islower(c))
- d = c - 'a' + 10;
- else
- break;
- if (d < 0 || d >= radix)
- break;
- ok = TRUE;
- n = n * radix + d;
- c = *buf++;
- if (!c)
- break;
- else
- ++chars;
- }
- if (!ok)
- return count;
- if (assign)
- {
- if (neg)
- n = -n;
- switch (size)
- {
- case 'h':
- short_ptr = va_arg(arg_ptr, short *);
- *short_ptr = (short) n;
- break;
- case 'l':
- long_ptr = va_arg(arg_ptr, long *);
- *long_ptr = (long) n;
- break;
- default:
- int_ptr = va_arg(arg_ptr, int *);
- *int_ptr = (int) n;
- }
- ++count;
- }
- if (!c)
- return count;
- else
- UNGETC();
- break;
- case 'n':
- if (assign)
- {
- int_ptr = va_arg(arg_ptr, int *);
- *int_ptr = chars;
- ++count;
- }
- break;
- default:
- if (!f) /* % at end of string */
- return count;
- NEXT(c);
- if (c != f)
- return count;
- break;
- }
- ++fmt;
- }
- }
- return count;
-}
-#endif /* HAVE_VSSCANF */
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/scr_dump.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/scr_dump.c
deleted file mode 100644
index 6727ba36a2..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/scr_dump.c
+++ /dev/null
@@ -1,210 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: scr_dump.c,v 1.30 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: scr_dump
-
- Synopsis:
- int putwin(WINDOW *win, FILE *filep);
- WINDOW *getwin(FILE *filep);
- int scr_dump(const char *filename);
- int scr_init(const char *filename);
- int scr_restore(const char *filename);
- int scr_set(const char *filename);
-
- Description:
- getwin() reads window-related data previously stored in a file
- by putwin(). It then creates and initialises a new window using
- that data.
-
- putwin() writes all data associated with a window into a file,
- using an unspecified format. This information can be retrieved
- later using getwin().
-
- scr_dump() writes the current contents of the virtual screen to
- the file named by filename in an unspecified format.
-
- scr_restore() function sets the virtual screen to the contents
- of the file named by filename, which must have been written
- using scr_dump(). The next refresh operation restores the screen
- to the way it looked in the dump file.
-
- In PDCurses, scr_init() does nothing, and scr_set() is a synonym
- for scr_restore(). Also, scr_dump() and scr_restore() save and
- load from curscr. This differs from some other implementations,
- where scr_init() works with curscr, and scr_restore() works with
- newscr; but the effect should be the same. (PDCurses has no
- newscr.)
-
- Return Value:
- On successful completion, getwin() returns a pointer to the
- window it created. Otherwise, it returns a null pointer. Other
- functions return OK or ERR.
-
- Portability X/Open BSD SYS V
- putwin Y
- getwin Y
- scr_dump Y
- scr_init Y
- scr_restore Y
- scr_set Y
-
-**man-end****************************************************************/
-
-#include <stdlib.h>
-#include <string.h>
-
-#define DUMPVER 1 /* Should be updated whenever the WINDOW struct is
- changed */
-
-int putwin(WINDOW *win, FILE *filep)
-{
- static const char *marker = "PDC";
- static const unsigned char version = DUMPVER;
-
- PDC_LOG(("putwin() - called\n"));
-
- /* write the marker and the WINDOW struct */
-
- if (filep && fwrite(marker, strlen(marker), 1, filep)
- && fwrite(&version, 1, 1, filep)
- && fwrite(win, sizeof(WINDOW), 1, filep))
- {
- int i;
-
- /* write each line */
-
- for (i = 0; i < win->_maxy && win->_y[i]; i++)
- if (!fwrite(win->_y[i], win->_maxx * sizeof(chtype), 1, filep))
- return ERR;
-
- return OK;
- }
-
- return ERR;
-}
-
-WINDOW *getwin(FILE *filep)
-{
- WINDOW *win;
- char marker[4];
- int i, nlines, ncols;
-
- PDC_LOG(("getwin() - called\n"));
-
- if ( !(win = malloc(sizeof(WINDOW))) )
- return (WINDOW *)NULL;
-
- /* check for the marker, and load the WINDOW struct */
-
- if (!filep || !fread(marker, 4, 1, filep) || strncmp(marker, "PDC", 3)
- || marker[3] != DUMPVER || !fread(win, sizeof(WINDOW), 1, filep))
- {
- free(win);
- return (WINDOW *)NULL;
- }
-
- nlines = win->_maxy;
- ncols = win->_maxx;
-
- /* allocate the line pointer array */
-
- if ( !(win->_y = malloc(nlines * sizeof(chtype *))) )
- {
- free(win);
- return (WINDOW *)NULL;
- }
-
- /* allocate the minchng and maxchng arrays */
-
- if ( !(win->_firstch = malloc(nlines * sizeof(int))) )
- {
- free(win->_y);
- free(win);
- return (WINDOW *)NULL;
- }
-
- if ( !(win->_lastch = malloc(nlines * sizeof(int))) )
- {
- free(win->_firstch);
- free(win->_y);
- free(win);
- return (WINDOW *)NULL;
- }
-
- /* allocate the lines */
-
- if ( !(win = PDC_makelines(win)) )
- return (WINDOW *)NULL;
-
- /* read them */
-
- for (i = 0; i < nlines; i++)
- {
- if (!fread(win->_y[i], ncols * sizeof(chtype), 1, filep))
- {
- delwin(win);
- return (WINDOW *)NULL;
- }
- }
-
- touchwin(win);
-
- return win;
-}
-
-int scr_dump(const char *filename)
-{
- FILE *filep;
-
- PDC_LOG(("scr_dump() - called: filename %s\n", filename));
-
- if (filename && (filep = fopen(filename, "wb")) != NULL)
- {
- int result = putwin(curscr, filep);
- fclose(filep);
- return result;
- }
-
- return ERR;
-}
-
-int scr_init(const char *filename)
-{
- PDC_LOG(("scr_init() - called: filename %s\n", filename));
-
- return OK;
-}
-
-int scr_restore(const char *filename)
-{
- FILE *filep;
-
- PDC_LOG(("scr_restore() - called: filename %s\n", filename));
-
- if (filename && (filep = fopen(filename, "rb")) != NULL)
- {
- WINDOW *replacement = getwin(filep);
- fclose(filep);
-
- if (replacement)
- {
- int result = overwrite(replacement, curscr);
- delwin(replacement);
- return result;
- }
- }
-
- return ERR;
-}
-
-int scr_set(const char *filename)
-{
- PDC_LOG(("scr_set() - called: filename %s\n", filename));
-
- return scr_restore(filename);
-}
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/scroll.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/scroll.c
deleted file mode 100644
index bc6c082e37..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/scroll.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: scroll.c,v 1.36 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: scroll
-
- Synopsis:
- int scroll(WINDOW *win);
- int scrl(int n);
- int wscrl(WINDOW *win, int n);
-
- Description:
- scroll() causes the window to scroll up one line. This involves
- moving the lines in the window data strcture.
-
- With a positive n, scrl() and wscrl() scroll the window up n
- lines (line i + n becomes i); otherwise they scroll the window
- down n lines.
-
- For these functions to work, scrolling must be enabled via
- scrollok(). Note also that scrolling is not allowed if the
- supplied window is a pad.
-
- Return Value:
- All functions return OK on success and ERR on error.
-
- Portability X/Open BSD SYS V
- scroll Y Y Y
- scrl Y - 4.0
- wscrl Y - 4.0
-
-**man-end****************************************************************/
-
-int wscrl(WINDOW *win, int n)
-{
- int i, l, dir, start, end;
- chtype blank, *temp;
-
- /* Check if window scrolls. Valid for window AND pad */
-
- if (!win || !win->_scroll || !n)
- return ERR;
-
- blank = win->_bkgd;
-
- if (n > 0)
- {
- start = win->_tmarg;
- end = win->_bmarg;
- dir = 1;
- }
- else
- {
- start = win->_bmarg;
- end = win->_tmarg;
- dir = -1;
- }
-
- for (l = 0; l < (n * dir); l++)
- {
- temp = win->_y[start];
-
- /* re-arrange line pointers */
-
- for (i = start; i != end; i += dir)
- win->_y[i] = win->_y[i + dir];
-
- win->_y[end] = temp;
-
- /* make a blank line */
-
- for (i = 0; i < win->_maxx; i++)
- *temp++ = blank;
- }
-
- touchline(win, win->_tmarg, win->_bmarg - win->_tmarg + 1);
-
- PDC_sync(win);
- return OK;
-}
-
-int scrl(int n)
-{
- PDC_LOG(("scrl() - called\n"));
-
- return wscrl(stdscr, n);
-}
-
-int scroll(WINDOW *win)
-{
- PDC_LOG(("scroll() - called\n"));
-
- return wscrl(win, 1);
-}
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/slk.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/slk.c
deleted file mode 100644
index 1491e2bbf0..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/slk.c
+++ /dev/null
@@ -1,643 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: slk.c,v 1.61 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: slk
-
- Synopsis:
- int slk_init(int fmt);
- int slk_set(int labnum, const char *label, int justify);
- int slk_refresh(void);
- int slk_noutrefresh(void);
- char *slk_label(int labnum);
- int slk_clear(void);
- int slk_restore(void);
- int slk_touch(void);
- int slk_attron(const chtype attrs);
- int slk_attr_on(const attr_t attrs, void *opts);
- int slk_attrset(const chtype attrs);
- int slk_attr_set(const attr_t attrs, short color_pair, void *opts);
- int slk_attroff(const chtype attrs);
- int slk_attr_off(const attr_t attrs, void *opts);
- int slk_color(short color_pair);
-
- int slk_wset(int labnum, const wchar_t *label, int justify);
-
- int PDC_mouse_in_slk(int y, int x);
- void PDC_slk_free(void);
- void PDC_slk_initialize(void);
-
- wchar_t *slk_wlabel(int labnum)
-
- Description:
- These functions manipulate a window that contain Soft Label Keys
- (SLK). To use the SLK functions, a call to slk_init() must be
- made BEFORE initscr() or newterm(). slk_init() removes 1 or 2
- lines from the useable screen, depending on the format selected.
-
- The line(s) removed from the screen are used as a separate
- window, in which SLKs are displayed.
-
- slk_init() requires a single parameter which describes the
- format of the SLKs as follows:
-
- 0 3-2-3 format
- 1 4-4 format
- 2 4-4-4 format (ncurses extension)
- 3 4-4-4 format with index line (ncurses extension)
- 2 lines used
- 55 5-5 format (pdcurses format)
-
- slk_refresh(), slk_noutrefresh() and slk_touch() are analogous
- to refresh(), noutrefresh() and touch().
-
- Return Value:
- All functions return OK on success and ERR on error.
-
- Portability X/Open BSD SYS V
- slk_init Y - Y
- slk_set Y - Y
- slk_refresh Y - Y
- slk_noutrefresh Y - Y
- slk_label Y - Y
- slk_clear Y - Y
- slk_restore Y - Y
- slk_touch Y - Y
- slk_attron Y - Y
- slk_attrset Y - Y
- slk_attroff Y - Y
- slk_attr_on Y
- slk_attr_set Y
- slk_attr_off Y
- slk_wset Y
- PDC_mouse_in_slk - - -
- PDC_slk_free - - -
- PDC_slk_initialize - - -
- slk_wlabel - - -
-
-**man-end****************************************************************/
-
-#include <stdlib.h>
-
-enum { LABEL_NORMAL = 8, LABEL_EXTENDED = 10, LABEL_NCURSES_EXTENDED = 12 };
-
-static int label_length = 0;
-static int labels = 0;
-static int label_fmt = 0;
-static int label_line = 0;
-static bool hidden = FALSE;
-
-static struct SLK {
- chtype label[32];
- int len;
- int format;
- int start_col;
-} *slk = (struct SLK *)NULL;
-
-/* slk_init() is the slk initialization routine.
- This must be called before initscr().
-
- label_fmt = 0, 1 or 55.
- 0 = 3-2-3 format
- 1 = 4 - 4 format
- 2 = 4-4-4 format (ncurses extension for PC 12 function keys)
- 3 = 4-4-4 format (ncurses extension for PC 12 function keys -
- with index line)
- 55 = 5 - 5 format (extended for PC, 10 function keys) */
-
-int slk_init(int fmt)
-{
- PDC_LOG(("slk_init() - called\n"));
-
- if (SP)
- return ERR;
-
- switch (fmt)
- {
- case 0: /* 3 - 2 - 3 */
- labels = LABEL_NORMAL;
- break;
-
- case 1: /* 4 - 4 */
- labels = LABEL_NORMAL;
- break;
-
- case 2: /* 4 4 4 */
- labels = LABEL_NCURSES_EXTENDED;
- break;
-
- case 3: /* 4 4 4 with index */
- labels = LABEL_NCURSES_EXTENDED;
- break;
-
- case 55: /* 5 - 5 */
- labels = LABEL_EXTENDED;
- break;
-
- default:
- return ERR;
- }
-
- label_fmt = fmt;
-
- slk = calloc(labels, sizeof(struct SLK));
-
- if (!slk)
- labels = 0;
-
- return slk ? OK : ERR;
-}
-
-/* draw a single button */
-
-static void _drawone(int num)
-{
- int i, col, slen;
-
- if (hidden)
- return;
-
- slen = slk[num].len;
-
- switch (slk[num].format)
- {
- case 0: /* LEFT */
- col = 0;
- break;
-
- case 1: /* CENTER */
- col = (label_length - slen) / 2;
-
- if (col + slen > label_length)
- --col;
- break;
-
- default: /* RIGHT */
- col = label_length - slen;
- }
-
- wmove(SP->slk_winptr, label_line, slk[num].start_col);
-
- for (i = 0; i < label_length; ++i)
- waddch(SP->slk_winptr, (i >= col && i < (col + slen)) ?
- slk[num].label[i - col] : ' ');
-}
-
-/* redraw each button */
-
-static void _redraw(void)
-{
- int i;
-
- for (i = 0; i < labels; ++i)
- _drawone(i);
-}
-
-/* slk_set() Used to set a slk label to a string.
-
- labnum = 1 - 8 (or 10) (number of the label)
- label = string (8 or 7 bytes total), or NULL
- justify = 0 : left, 1 : center, 2 : right */
-
-int slk_set(int labnum, const char *label, int justify)
-{
-#ifdef PDC_WIDE
- wchar_t wlabel[32];
-
- PDC_mbstowcs(wlabel, label, 31);
- return slk_wset(labnum, wlabel, justify);
-#else
- PDC_LOG(("slk_set() - called\n"));
-
- if (labnum < 1 || labnum > labels || justify < 0 || justify > 2)
- return ERR;
-
- labnum--;
-
- if (!label || !(*label))
- {
- /* Clear the label */
-
- *slk[labnum].label = 0;
- slk[labnum].format = 0;
- slk[labnum].len = 0;
- }
- else
- {
- int i, j = 0;
-
- /* Skip leading spaces */
-
- while (label[j] == ' ')
- j++;
-
- /* Copy it */
-
- for (i = 0; i < label_length; i++)
- {
- chtype ch = label[i + j];
-
- slk[labnum].label[i] = ch;
-
- if (!ch)
- break;
- }
-
- /* Drop trailing spaces */
-
- while ((i + j) && (label[i + j - 1] == ' '))
- i--;
-
- slk[labnum].label[i] = 0;
- slk[labnum].format = justify;
- slk[labnum].len = i;
- }
-
- _drawone(labnum);
-
- return OK;
-#endif
-}
-
-int slk_refresh(void)
-{
- PDC_LOG(("slk_refresh() - called\n"));
-
- return (slk_noutrefresh() == ERR) ? ERR : doupdate();
-}
-
-int slk_noutrefresh(void)
-{
- PDC_LOG(("slk_noutrefresh() - called\n"));
-
- return wnoutrefresh(SP->slk_winptr);
-}
-
-char *slk_label(int labnum)
-{
- static char temp[33];
-#ifdef PDC_WIDE
- wchar_t *wtemp = slk_wlabel(labnum);
-
- PDC_wcstombs(temp, wtemp, 32);
-#else
- chtype *p;
- int i;
-
- PDC_LOG(("slk_label() - called\n"));
-
- if (labnum < 1 || labnum > labels)
- return (char *)0;
-
- for (i = 0, p = slk[labnum - 1].label; *p; i++)
- temp[i] = *p++;
-
- temp[i] = '\0';
-#endif
- return temp;
-}
-
-int slk_clear(void)
-{
- PDC_LOG(("slk_clear() - called\n"));
-
- hidden = TRUE;
- werase(SP->slk_winptr);
- return wrefresh(SP->slk_winptr);
-}
-
-int slk_restore(void)
-{
- PDC_LOG(("slk_restore() - called\n"));
-
- hidden = FALSE;
- _redraw();
- return wrefresh(SP->slk_winptr);
-}
-
-int slk_touch(void)
-{
- PDC_LOG(("slk_touch() - called\n"));
-
- return touchwin(SP->slk_winptr);
-}
-
-int slk_attron(const chtype attrs)
-{
- int rc;
-
- PDC_LOG(("slk_attron() - called\n"));
-
- rc = wattron(SP->slk_winptr, attrs);
- _redraw();
-
- return rc;
-}
-
-int slk_attr_on(const attr_t attrs, void *opts)
-{
- PDC_LOG(("slk_attr_on() - called\n"));
-
- return slk_attron(attrs);
-}
-
-int slk_attroff(const chtype attrs)
-{
- int rc;
-
- PDC_LOG(("slk_attroff() - called\n"));
-
- rc = wattroff(SP->slk_winptr, attrs);
- _redraw();
-
- return rc;
-}
-
-int slk_attr_off(const attr_t attrs, void *opts)
-{
- PDC_LOG(("slk_attr_off() - called\n"));
-
- return slk_attroff(attrs);
-}
-
-int slk_attrset(const chtype attrs)
-{
- int rc;
-
- PDC_LOG(("slk_attrset() - called\n"));
-
- rc = wattrset(SP->slk_winptr, attrs);
- _redraw();
-
- return rc;
-}
-
-int slk_color(short color_pair)
-{
- int rc;
-
- PDC_LOG(("slk_color() - called\n"));
-
- rc = wcolor_set(SP->slk_winptr, color_pair, NULL);
- _redraw();
-
- return rc;
-}
-
-int slk_attr_set(const attr_t attrs, short color_pair, void *opts)
-{
- PDC_LOG(("slk_attr_set() - called\n"));
-
- return slk_attrset(attrs | COLOR_PAIR(color_pair));
-}
-
-static void _slk_calc(void)
-{
- int i, center, col = 0;
- label_length = COLS / labels;
-
- if (label_length > 31)
- label_length = 31;
-
- switch (label_fmt)
- {
- case 0: /* 3 - 2 - 3 F-Key layout */
-
- --label_length;
-
- slk[0].start_col = col;
- slk[1].start_col = (col += label_length);
- slk[2].start_col = (col += label_length);
-
- center = COLS / 2;
-
- slk[3].start_col = center - label_length + 1;
- slk[4].start_col = center + 1;
-
- col = COLS - (label_length * 3) + 1;
-
- slk[5].start_col = col;
- slk[6].start_col = (col += label_length);
- slk[7].start_col = (col += label_length);
- break;
-
- case 1: /* 4 - 4 F-Key layout */
-
- for (i = 0; i < 8; i++)
- {
- slk[i].start_col = col;
- col += label_length;
-
- if (i == 3)
- col = COLS - (label_length * 4) + 1;
- }
-
- break;
-
- case 2: /* 4 4 4 F-Key layout */
- case 3: /* 4 4 4 F-Key layout with index */
-
- for (i = 0; i < 4; i++)
- {
- slk[i].start_col = col;
- col += label_length;
- }
-
- center = COLS/2;
-
- slk[4].start_col = center - (label_length * 2) + 1;
- slk[5].start_col = center - label_length - 1;
- slk[6].start_col = center + 1;
- slk[7].start_col = center + label_length + 1;
-
- col = COLS - (label_length * 4) + 1;
-
- for (i = 8; i < 12; i++)
- {
- slk[i].start_col = col;
- col += label_length;
- }
-
- break;
-
- default: /* 5 - 5 F-Key layout */
-
- for (i = 0; i < 10; i++)
- {
- slk[i].start_col = col;
- col += label_length;
-
- if (i == 4)
- col = COLS - (label_length * 5) + 1;
- }
- }
-
- --label_length;
-
- /* make sure labels are all in window */
-
- _redraw();
-}
-
-void PDC_slk_initialize(void)
-{
- if (slk)
- {
- if (label_fmt == 3)
- {
- SP->slklines = 2;
- label_line = 1;
- }
- else
- SP->slklines = 1;
-
- if (!SP->slk_winptr)
- {
- if ( !(SP->slk_winptr = newwin(SP->slklines, COLS,
- LINES - SP->slklines, 0)) )
- return;
-
- wattrset(SP->slk_winptr, A_REVERSE);
- }
-
- _slk_calc();
-
- /* if we have an index line, display it now */
-
- if (label_fmt == 3)
- {
- chtype save_attr;
- int i;
-
- save_attr = SP->slk_winptr->_attrs;
- wattrset(SP->slk_winptr, A_NORMAL);
- wmove(SP->slk_winptr, 0, 0);
- whline(SP->slk_winptr, 0, COLS);
-
- for (i = 0; i < labels; i++)
- mvwprintw(SP->slk_winptr, 0, slk[i].start_col, "F%d", i + 1);
-
- SP->slk_winptr->_attrs = save_attr;
- }
-
- touchwin(SP->slk_winptr);
- }
-}
-
-void PDC_slk_free(void)
-{
- if (slk)
- {
- if (SP->slk_winptr)
- {
- delwin(SP->slk_winptr);
- SP->slk_winptr = (WINDOW *)NULL;
- }
-
- free(slk);
- slk = (struct SLK *)NULL;
-
- label_length = 0;
- labels = 0;
- label_fmt = 0;
- label_line = 0;
- hidden = FALSE;
- }
-}
-
-int PDC_mouse_in_slk(int y, int x)
-{
- int i;
-
- PDC_LOG(("PDC_mouse_in_slk() - called: y->%d x->%d\n", y, x));
-
- /* If the line on which the mouse was clicked is NOT the last line
- of the screen, we are not interested in it. */
-
- if (!slk || !SP->slk_winptr || (y != SP->slk_winptr->_begy + label_line))
- return 0;
-
- for (i = 0; i < labels; i++)
- if (x >= slk[i].start_col && x < (slk[i].start_col + label_length))
- return i + 1;
-
- return 0;
-}
-
-#ifdef PDC_WIDE
-int slk_wset(int labnum, const wchar_t *label, int justify)
-{
- PDC_LOG(("slk_wset() - called\n"));
-
- if (labnum < 1 || labnum > labels || justify < 0 || justify > 2)
- return ERR;
-
- labnum--;
-
- if (!label || !(*label))
- {
- /* Clear the label */
-
- *slk[labnum].label = 0;
- slk[labnum].format = 0;
- slk[labnum].len = 0;
- }
- else
- {
- int i, j = 0;
-
- /* Skip leading spaces */
-
- while (label[j] == L' ')
- j++;
-
- /* Copy it */
-
- for (i = 0; i < label_length; i++)
- {
- chtype ch = label[i + j];
-
- slk[labnum].label[i] = ch;
-
- if (!ch)
- break;
- }
-
- /* Drop trailing spaces */
-
- while ((i + j) && (label[i + j - 1] == L' '))
- i--;
-
- slk[labnum].label[i] = 0;
- slk[labnum].format = justify;
- slk[labnum].len = i;
- }
-
- _drawone(labnum);
-
- return OK;
-}
-
-wchar_t *slk_wlabel(int labnum)
-{
- static wchar_t temp[33];
- chtype *p;
- int i;
-
- PDC_LOG(("slk_wlabel() - called\n"));
-
- if (labnum < 1 || labnum > labels)
- return (wchar_t *)0;
-
- for (i = 0, p = slk[labnum - 1].label; *p; i++)
- temp[i] = *p++;
-
- temp[i] = '\0';
-
- return temp;
-}
-#endif
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/termattr.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/termattr.c
deleted file mode 100644
index 7e49047b7f..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/termattr.c
+++ /dev/null
@@ -1,176 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: termattr.c,v 1.54 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: termattr
-
- Synopsis:
- int baudrate(void);
- char erasechar(void);
- bool has_ic(void);
- bool has_il(void);
- char killchar(void);
- char *longname(void);
- chtype termattrs(void);
- attr_t term_attrs(void);
- char *termname(void);
-
- int erasewchar(wchar_t *ch);
- int killwchar(wchar_t *ch);
-
- char wordchar(void);
-
- Description:
- baudrate() is supposed to return the output speed of the
- terminal. In PDCurses, it simply returns INT_MAX.
-
- has_ic and has_il() return TRUE. These functions have meaning in
- some other implementations of curses.
-
- erasechar() and killchar() return ^H and ^U, respectively -- the
- ERASE and KILL characters. In other curses implementations,
- these may vary by terminal type. erasewchar() and killwchar()
- are the wide-character versions; they take a pointer to a
- location in which to store the character, and return OK or ERR.
-
- longname() returns a pointer to a static area containing a
- verbose description of the current terminal. The maximum length
- of the string is 128 characters. It is defined only after the
- call to initscr() or newterm().
-
- termname() returns a pointer to a static area containing a
- short description of the current terminal (14 characters).
-
- termattrs() returns a logical OR of all video attributes
- supported by the terminal.
-
- wordchar() is a PDCurses extension of the concept behind the
- functions erasechar() and killchar(), returning the "delete
- word" character, ^W.
-
- Portability X/Open BSD SYS V
- baudrate Y Y Y
- erasechar Y Y Y
- has_ic Y Y Y
- has_il Y Y Y
- killchar Y Y Y
- longname Y Y Y
- termattrs Y Y Y
- termname Y Y Y
- erasewchar Y
- killwchar Y
- term_attrs Y
- wordchar - - -
-
-**man-end****************************************************************/
-
-#include <string.h>
-#include <limits.h>
-
-int baudrate(void)
-{
- PDC_LOG(("baudrate() - called\n"));
-
- return INT_MAX;
-}
-
-char erasechar(void)
-{
- PDC_LOG(("erasechar() - called\n"));
-
- return _ECHAR; /* character delete char (^H) */
-}
-
-bool has_ic(void)
-{
- PDC_LOG(("has_ic() - called\n"));
-
- return TRUE;
-}
-
-bool has_il(void)
-{
- PDC_LOG(("has_il() - called\n"));
-
- return TRUE;
-}
-
-char killchar(void)
-{
- PDC_LOG(("killchar() - called\n"));
-
- return _DLCHAR; /* line delete char (^U) */
-}
-
-char *longname(void)
-{
- PDC_LOG(("longname() - called\n"));
-
- return ttytype + 9; /* skip "pdcurses|" */
-}
-
-chtype termattrs(void)
-{
- chtype temp = A_BLINK | A_BOLD | A_INVIS | A_REVERSE | A_UNDERLINE;
-
- /* note: blink is bold background on some platforms */
-
- PDC_LOG(("termattrs() - called\n"));
-
- if (!SP->mono)
- temp |= A_COLOR;
-
- return temp;
-}
-
-attr_t term_attrs(void)
-{
- PDC_LOG(("term_attrs() - called\n"));
-
- return WA_BLINK | WA_BOLD | WA_INVIS | WA_LEFT | WA_REVERSE |
- WA_RIGHT | WA_UNDERLINE;
-}
-
-const char *termname(void)
-{
- PDC_LOG(("termname() - called\n"));
-
- return "pdcurses";
-}
-
-char wordchar(void)
-{
- PDC_LOG(("wordchar() - called\n"));
-
- return _DWCHAR; /* word delete char */
-}
-
-#ifdef PDC_WIDE
-int erasewchar(wchar_t *ch)
-{
- PDC_LOG(("erasewchar() - called\n"));
-
- if (!ch)
- return ERR;
-
- *ch = (wchar_t)_ECHAR;
-
- return OK;
-}
-
-int killwchar(wchar_t *ch)
-{
- PDC_LOG(("killwchar() - called\n"));
-
- if (!ch)
- return ERR;
-
- *ch = (wchar_t)_DLCHAR;
-
- return OK;
-}
-#endif
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/terminfo.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/terminfo.c
deleted file mode 100644
index abae4f2614..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/terminfo.c
+++ /dev/null
@@ -1,215 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: terminfo.c,v 1.37 2008/07/21 12:29:20 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: terminfo
-
- Synopsis:
- int mvcur(int oldrow, int oldcol, int newrow, int newcol);
- int vidattr(chtype attr);
- int vid_attr(attr_t attr, short color_pair, void *opt);
- int vidputs(chtype attr, int (*putfunc)(int));
- int vid_puts(attr_t attr, short color_pair, void *opt,
- int (*putfunc)(int));
-
- int del_curterm(TERMINAL *);
- int putp(const char *);
- int restartterm(const char *, int, int *);
- TERMINAL *set_curterm(TERMINAL *);
- int setterm(const char *term);
- int setupterm(const char *, int, int *);
- int tgetent(char *, const char *);
- int tgetflag(const char *);
- int tgetnum(const char *);
- char *tgetstr(const char *, char **);
- char *tgoto(const char *, int, int);
- int tigetflag(const char *);
- int tigetnum(const char *);
- char *tigetstr(const char *);
- char *tparm(const char *,long, long, long, long, long, long,
- long, long, long);
- int tputs(const char *, int, int (*)(int));
-
- Description:
- mvcur() lets you move the physical cursor without updating any
- window cursor positions. It returns OK or ERR.
-
- The rest of these functions are currently implemented as stubs,
- returning the appropriate errors and doing nothing else.
-
- Portability X/Open BSD SYS V
- mvcur Y Y Y
-
-**man-end****************************************************************/
-
-#include <term.h>
-
-TERMINAL *cur_term = NULL;
-
-int mvcur(int oldrow, int oldcol, int newrow, int newcol)
-{
- PDC_LOG(("mvcur() - called: oldrow %d oldcol %d newrow %d newcol %d\n",
- oldrow, oldcol, newrow, newcol));
-
- if ((newrow >= LINES) || (newcol >= COLS) || (newrow < 0) || (newcol < 0))
- return ERR;
-
- PDC_gotoyx(newrow, newcol);
- SP->cursrow = newrow;
- SP->curscol = newcol;
-
- return OK;
-}
-
-int vidattr(chtype attr)
-{
- PDC_LOG(("vidattr() - called: attr %d\n", attr));
-
- return ERR;
-}
-
-int vid_attr(attr_t attr, short color_pair, void *opt)
-{
- PDC_LOG(("vid_attr() - called\n"));
-
- return ERR;
-}
-
-int vidputs(chtype attr, int (*putfunc)(int))
-{
- PDC_LOG(("vidputs() - called: attr %d\n", attr));
-
- return ERR;
-}
-
-int vid_puts(attr_t attr, short color_pair, void *opt, int (*putfunc)(int))
-{
- PDC_LOG(("vid_puts() - called\n"));
-
- return ERR;
-}
-
-int del_curterm(TERMINAL *oterm)
-{
- PDC_LOG(("del_curterm() - called\n"));
-
- return ERR;
-}
-
-int putp(const char *str)
-{
- PDC_LOG(("putp() - called: str %s\n", str));
-
- return ERR;
-}
-
-int restartterm(const char *term, int filedes, int *errret)
-{
- PDC_LOG(("restartterm() - called\n"));
-
- if (errret)
- *errret = -1;
-
- return ERR;
-}
-
-TERMINAL *set_curterm(TERMINAL *nterm)
-{
- PDC_LOG(("set_curterm() - called\n"));
-
- return (TERMINAL *)NULL;
-}
-
-int setterm(const char *term)
-{
- PDC_LOG(("setterm() - called\n"));
-
- return ERR;
-}
-
-int setupterm(const char *term, int filedes, int *errret)
-{
- PDC_LOG(("setupterm() - called\n"));
-
- if (errret)
- *errret = -1;
- else
- fprintf(stderr, "There is no terminfo database\n");
-
- return ERR;
-}
-
-int tgetent(char *bp, const char *name)
-{
- PDC_LOG(("tgetent() - called: name %s\n", name));
-
- return ERR;
-}
-
-int tgetflag(const char *id)
-{
- PDC_LOG(("tgetflag() - called: id %s\n", id));
-
- return ERR;
-}
-
-int tgetnum(const char *id)
-{
- PDC_LOG(("tgetnum() - called: id %s\n", id));
-
- return ERR;
-}
-
-char *tgetstr(const char *id, char **area)
-{
- PDC_LOG(("tgetstr() - called: id %s\n", id));
-
- return (char *)NULL;
-}
-
-char *tgoto(const char *cap, int col, int row)
-{
- PDC_LOG(("tgoto() - called\n"));
-
- return (char *)NULL;
-}
-
-int tigetflag(const char *capname)
-{
- PDC_LOG(("tigetflag() - called: capname %s\n", capname));
-
- return -1;
-}
-
-int tigetnum(const char *capname)
-{
- PDC_LOG(("tigetnum() - called: capname %s\n", capname));
-
- return -2;
-}
-
-char *tigetstr(const char *capname)
-{
- PDC_LOG(("tigetstr() - called: capname %s\n", capname));
-
- return (char *)(-1);
-}
-
-char *tparm(const char *cap, long p1, long p2, long p3, long p4,
- long p5, long p6, long p7, long p8, long p9)
-{
- PDC_LOG(("tparm() - called: cap %s\n", cap));
-
- return (char *)NULL;
-}
-
-int tputs(const char *str, int affcnt, int (*putfunc)(int))
-{
- PDC_LOG(("tputs() - called\n"));
-
- return ERR;
-}
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/touch.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/touch.c
deleted file mode 100644
index c808058b81..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/touch.c
+++ /dev/null
@@ -1,160 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: touch.c,v 1.29 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: touch
-
- Synopsis:
- int touchwin(WINDOW *win);
- int touchline(WINDOW *win, int start, int count);
- int untouchwin(WINDOW *win);
- int wtouchln(WINDOW *win, int y, int n, int changed);
- bool is_linetouched(WINDOW *win, int line);
- bool is_wintouched(WINDOW *win);
-
- Description:
- touchwin() and touchline() throw away all information about
- which parts of the window have been touched, pretending that the
- entire window has been drawn on. This is sometimes necessary
- when using overlapping windows, since a change to one window
- will affect the other window, but the records of which lines
- have been changed in the other window will not reflect the
- change.
-
- untouchwin() marks all lines in the window as unchanged since
- the last call to wrefresh().
-
- wtouchln() makes n lines in the window, starting at line y, look
- as if they have (changed == 1) or have not (changed == 0) been
- changed since the last call to wrefresh().
-
- is_linetouched() returns TRUE if the specified line in the
- specified window has been changed since the last call to
- wrefresh().
-
- is_wintouched() returns TRUE if the specified window
- has been changed since the last call to wrefresh().
-
- Return Value:
- All functions return OK on success and ERR on error except
- is_wintouched() and is_linetouched().
-
- Portability X/Open BSD SYS V
- touchwin Y Y Y
- touchline Y - 3.0
- untouchwin Y - 4.0
- wtouchln Y Y Y
- is_linetouched Y - 4.0
- is_wintouched Y - 4.0
-
-**man-end****************************************************************/
-
-int touchwin(WINDOW *win)
-{
- int i;
-
- PDC_LOG(("touchwin() - called: Win=%x\n", win));
-
- if (!win)
- return ERR;
-
- for (i = 0; i < win->_maxy; i++)
- {
- win->_firstch[i] = 0;
- win->_lastch[i] = win->_maxx - 1;
- }
-
- return OK;
-}
-
-int touchline(WINDOW *win, int start, int count)
-{
- int i;
-
- PDC_LOG(("touchline() - called: win=%p start %d count %d\n",
- win, start, count));
-
- if (!win || start > win->_maxy || start + count > win->_maxy)
- return ERR;
-
- for (i = start; i < start + count; i++)
- {
- win->_firstch[i] = 0;
- win->_lastch[i] = win->_maxx - 1;
- }
-
- return OK;
-}
-
-int untouchwin(WINDOW *win)
-{
- int i;
-
- PDC_LOG(("untouchwin() - called: win=%p", win));
-
- if (!win)
- return ERR;
-
- for (i = 0; i < win->_maxy; i++)
- {
- win->_firstch[i] = _NO_CHANGE;
- win->_lastch[i] = _NO_CHANGE;
- }
-
- return OK;
-}
-
-int wtouchln(WINDOW *win, int y, int n, int changed)
-{
- int i;
-
- PDC_LOG(("wtouchln() - called: win=%p y=%d n=%d changed=%d\n",
- win, y, n, changed));
-
- if (!win || y > win->_maxy || y + n > win->_maxy)
- return ERR;
-
- for (i = y; i < y + n; i++)
- {
- if (changed)
- {
- win->_firstch[i] = 0;
- win->_lastch[i] = win->_maxx - 1;
- }
- else
- {
- win->_firstch[i] = _NO_CHANGE;
- win->_lastch[i] = _NO_CHANGE;
- }
- }
-
- return OK;
-}
-
-bool is_linetouched(WINDOW *win, int line)
-{
- PDC_LOG(("is_linetouched() - called: win=%p line=%d\n", win, line));
-
- if (!win || line > win->_maxy || line < 0)
- return FALSE;
-
- return (win->_firstch[line] != _NO_CHANGE) ? TRUE : FALSE;
-}
-
-bool is_wintouched(WINDOW *win)
-{
- int i;
-
- PDC_LOG(("is_wintouched() - called: win=%p\n", win));
-
- if (win)
- for (i = 0; i < win->_maxy; i++)
- if (win->_firstch[i] != _NO_CHANGE)
- return TRUE;
-
- return FALSE;
-}
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/util.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/util.c
deleted file mode 100644
index 9972143516..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/util.c
+++ /dev/null
@@ -1,309 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: util.c,v 1.71 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: util
-
- Synopsis:
- char *unctrl(chtype c);
- void filter(void);
- void use_env(bool x);
- int delay_output(int ms);
-
- int getcchar(const cchar_t *wcval, wchar_t *wch, attr_t *attrs,
- short *color_pair, void *opts);
- int setcchar(cchar_t *wcval, const wchar_t *wch, const attr_t attrs,
- short color_pair, const void *opts);
- wchar_t *wunctrl(cchar_t *wc);
-
- int PDC_mbtowc(wchar_t *pwc, const char *s, size_t n);
- size_t PDC_mbstowcs(wchar_t *dest, const char *src, size_t n);
- size_t PDC_wcstombs(char *dest, const wchar_t *src, size_t n);
-
- Description:
- unctrl() expands the text portion of the chtype c into a
- printable string. Control characters are changed to the "^X"
- notation; others are passed through. wunctrl() is the wide-
- character version of the function.
-
- filter() and use_env() are no-ops in PDCurses.
-
- delay_output() inserts an ms millisecond pause in output.
-
- getcchar() works in two modes: When wch is not NULL, it reads
- the cchar_t pointed to by wcval and stores the attributes in
- attrs, the color pair in color_pair, and the text in the
- wide-character string wch. When wch is NULL, getcchar() merely
- returns the number of wide characters in wcval. In either mode,
- the opts argument is unused.
-
- setcchar constructs a cchar_t at wcval from the wide-character
- text at wch, the attributes in attr and the color pair in
- color_pair. The opts argument is unused.
-
- Currently, the length returned by getcchar() is always 1 or 0.
- Similarly, setcchar() will only take the first wide character
- from wch, and ignore any others that it "should" take (i.e.,
- combining characters). Nor will it correctly handle any
- character outside the basic multilingual plane (UCS-2).
-
- Return Value:
- unctrl() and wunctrl() return NULL on failure. delay_output()
- always returns OK.
-
- getcchar() returns the number of wide characters wcval points to
- when wch is NULL; when it's not, getcchar() returns OK or ERR.
-
- setcchar() returns OK or ERR.
-
- Portability X/Open BSD SYS V
- unctrl Y Y Y
- filter Y - 3.0
- use_env Y - 4.0
- delay_output Y Y Y
- getcchar Y
- setcchar Y
- wunctrl Y
- PDC_mbtowc - - -
- PDC_mbstowcs - - -
- PDC_wcstombs - - -
-
-**man-end****************************************************************/
-
-#ifdef PDC_WIDE
-# ifdef PDC_FORCE_UTF8
-# include <string.h>
-# else
-# include <stdlib.h>
-# endif
-#endif
-
-char *unctrl(chtype c)
-{
- static char strbuf[3] = {0, 0, 0};
-
- chtype ic;
-
- PDC_LOG(("unctrl() - called\n"));
-
- ic = c & A_CHARTEXT;
-
- if (ic >= 0x20 && ic != 0x7f) /* normal characters */
- {
- strbuf[0] = (char)ic;
- strbuf[1] = '\0';
- return strbuf;
- }
-
- strbuf[0] = '^'; /* '^' prefix */
-
- if (ic == 0x7f) /* 0x7f == DEL */
- strbuf[1] = '?';
- else /* other control */
- strbuf[1] = (char)(ic + '@');
-
- return strbuf;
-}
-
-void filter(void)
-{
- PDC_LOG(("filter() - called\n"));
-}
-
-void use_env(bool x)
-{
- PDC_LOG(("use_env() - called: x %d\n", x));
-}
-
-int delay_output(int ms)
-{
- PDC_LOG(("delay_output() - called: ms %d\n", ms));
-
- return napms(ms);
-}
-
-#ifdef PDC_WIDE
-int getcchar(const cchar_t *wcval, wchar_t *wch, attr_t *attrs,
- short *color_pair, void *opts)
-{
- if (!wcval)
- return ERR;
-
- if (wch)
- {
- if (!attrs || !color_pair)
- return ERR;
-
- *wch = (*wcval & A_CHARTEXT);
- *attrs = (*wcval & (A_ATTRIBUTES & ~A_COLOR));
- *color_pair = PAIR_NUMBER(*wcval & A_COLOR);
-
- if (*wch)
- *++wch = L'\0';
-
- return OK;
- }
- else
- return ((*wcval & A_CHARTEXT) != L'\0');
-}
-
-int setcchar(cchar_t *wcval, const wchar_t *wch, const attr_t attrs,
- short color_pair, const void *opts)
-{
- if (!wcval || !wch)
- return ERR;
-
- *wcval = *wch | attrs | COLOR_PAIR(color_pair);
-
- return OK;
-}
-
-wchar_t *wunctrl(cchar_t *wc)
-{
- static wchar_t strbuf[3] = {0, 0, 0};
-
- cchar_t ic;
-
- PDC_LOG(("wunctrl() - called\n"));
-
- ic = *wc & A_CHARTEXT;
-
- if (ic >= 0x20 && ic != 0x7f) /* normal characters */
- {
- strbuf[0] = (wchar_t)ic;
- strbuf[1] = L'\0';
- return strbuf;
- }
-
- strbuf[0] = '^'; /* '^' prefix */
-
- if (ic == 0x7f) /* 0x7f == DEL */
- strbuf[1] = '?';
- else /* other control */
- strbuf[1] = (wchar_t)(ic + '@');
-
- return strbuf;
-}
-
-int PDC_mbtowc(wchar_t *pwc, const char *s, size_t n)
-{
-# ifdef PDC_FORCE_UTF8
- wchar_t key;
- int i = -1;
- const unsigned char *string;
-
- if (!s || (n < 1))
- return -1;
-
- if (!*s)
- return 0;
-
- string = (const unsigned char *)s;
-
- key = string[0];
-
- /* Simplistic UTF-8 decoder -- only does the BMP, minimal validation */
-
- if (key & 0x80)
- {
- if ((key & 0xe0) == 0xc0)
- {
- if (1 < n)
- {
- key = ((key & 0x1f) << 6) | (string[1] & 0x3f);
- i = 2;
- }
- }
- else if ((key & 0xe0) == 0xe0)
- {
- if (2 < n)
- {
- key = ((key & 0x0f) << 12) | ((string[1] & 0x3f) << 6) |
- (string[2] & 0x3f);
- i = 3;
- }
- }
- }
- else
- i = 1;
-
- if (i)
- *pwc = key;
-
- return i;
-# else
- return mbtowc(pwc, s, n);
-# endif
-}
-
-size_t PDC_mbstowcs(wchar_t *dest, const char *src, size_t n)
-{
-# ifdef PDC_FORCE_UTF8
- size_t i = 0, len;
-
- if (!src || !dest)
- return 0;
-
- len = strlen(src);
-
- while (*src && i < n)
- {
- int retval = PDC_mbtowc(dest + i, src, len);
-
- if (retval < 1)
- return -1;
-
- src += retval;
- len -= retval;
- i++;
- }
-# else
- size_t i = mbstowcs(dest, src, n);
-# endif
- dest[i] = 0;
- return i;
-}
-
-size_t PDC_wcstombs(char *dest, const wchar_t *src, size_t n)
-{
-# ifdef PDC_FORCE_UTF8
- size_t i = 0;
-
- if (!src || !dest)
- return 0;
-
- while (*src && i < n)
- {
- chtype code = *src++;
-
- if (code < 0x80)
- {
- dest[i] = code;
- i++;
- }
- else
- if (code < 0x800)
- {
- dest[i] = ((code & 0x07c0) >> 6) | 0xc0;
- dest[i + 1] = (code & 0x003f) | 0x80;
- i += 2;
- }
- else
- {
- dest[i] = ((code & 0xf000) >> 12) | 0xe0;
- dest[i + 1] = ((code & 0x0fc0) >> 6) | 0x80;
- dest[i + 2] = (code & 0x003f) | 0x80;
- i += 3;
- }
- }
-# else
- size_t i = wcstombs(dest, src, n);
-# endif
- dest[i] = '\0';
- return i;
-}
-#endif
diff --git a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/window.c b/payloads/libpayload/curses/PDCurses-3.4/pdcurses/window.c
deleted file mode 100644
index b5634c7c37..0000000000
--- a/payloads/libpayload/curses/PDCurses-3.4/pdcurses/window.c
+++ /dev/null
@@ -1,562 +0,0 @@
-/* Public Domain Curses */
-
-#include <curspriv.h>
-
-RCSID("$Id: window.c,v 1.62 2008/07/13 16:08:18 wmcbrine Exp $")
-
-/*man-start**************************************************************
-
- Name: window
-
- Synopsis:
- WINDOW *newwin(int nlines, int ncols, int begy, int begx);
- WINDOW *derwin(WINDOW* orig, int nlines, int ncols,
- int begy, int begx);
- WINDOW *subwin(WINDOW* orig, int nlines, int ncols,
- int begy, int begx);
- WINDOW *dupwin(WINDOW *win);
- int delwin(WINDOW *win);
- int mvwin(WINDOW *win, int y, int x);
- int mvderwin(WINDOW *win, int pary, int parx);
- int syncok(WINDOW *win, bool bf);
- void wsyncup(WINDOW *win);
- void wcursyncup(WINDOW *win);
- void wsyncdown(WINDOW *win);
-
- WINDOW *resize_window(WINDOW *win, int nlines, int ncols);
- int wresize(WINDOW *win, int nlines, int ncols);
- WINDOW *PDC_makelines(WINDOW *win);
- WINDOW *PDC_makenew(int nlines, int ncols, int begy, int begx);
- void PDC_sync(WINDOW *win);
-
- Description:
- newwin() creates a new window with the given number of lines,
- nlines and columns, ncols. The upper left corner of the window
- is at line begy, column begx. If nlines is zero, it defaults to
- LINES - begy; ncols to COLS - begx. Create a new full-screen
- window by calling newwin(0, 0, 0, 0).
-
- delwin() deletes the named window, freeing all associated
- memory. In the case of overlapping windows, subwindows should be
- deleted before the main window.
-
- mvwin() moves the window so that the upper left-hand corner is
- at position (y,x). If the move would cause the window to be off
- the screen, it is an error and the window is not moved. Moving
- subwindows is allowed.
-
- subwin() creates a new subwindow within a window. The
- dimensions of the subwindow are nlines lines and ncols columns.
- The subwindow is at position (begy, begx) on the screen. This
- position is relative to the screen, and not to the window orig.
- Changes made to either window will affect both. When using this
- routine, you will often need to call touchwin() before calling
- wrefresh().
-
- derwin() is the same as subwin(), except that begy and begx are
- relative to the origin of the window orig rather than the
- screen. There is no difference between subwindows and derived
- windows.
-
- mvderwin() moves a derived window (or subwindow) inside its
- parent window. The screen-relative parameters of the window are
- not changed. This routine is used to display different parts of
- the parent window at the same physical position on the screen.
-
- dupwin() creates an exact duplicate of the window win.
-
- wsyncup() causes a touchwin() of all of the window's parents.
-
- If wsyncok() is called with a second argument of TRUE, this
- causes a wsyncup() to be called every time the window is
- changed.
-
- wcursyncup() causes the current cursor position of all of a
- window's ancestors to reflect the current cursor position of the
- current window.
-
- wsyncdown() causes a touchwin() of the current window if any of
- its parent's windows have been touched.
-
- resize_window() allows the user to resize an existing window. It
- returns the pointer to the new window, or NULL on failure.
-
- wresize() is an ncurses-compatible wrapper for resize_window().
- Note that, unlike ncurses, it will NOT process any subwindows of
- the window. (However, you still can call it _on_ subwindows.) It
- returns OK or ERR.
-
- PDC_makenew() allocates all data for a new WINDOW * except the
- actual lines themselves. If it's unable to allocate memory for
- the window structure, it will free all allocated memory and
- return a NULL pointer.
-
- PDC_makelines() allocates the memory for the lines.
-
- PDC_sync() handles wrefresh() and wsyncup() calls when a window
- is changed.
-
- Return Value:
- newwin(), subwin(), derwin() and dupwin() return a pointer
- to the new window, or NULL on failure. delwin(), mvwin(),
- mvderwin() and syncok() return OK or ERR. wsyncup(),
- wcursyncup() and wsyncdown() return nothing.
-
- Errors:
- It is an error to call resize_window() before calling initscr().
- Also, an error will be generated if we fail to create a newly
- sized replacement window for curscr, or stdscr. This could
- happen when increasing the window size. NOTE: If this happens,
- the previously successfully allocated windows are left alone;
- i.e., the resize is NOT cancelled for those windows.
-
- Portability X/Open BSD SYS V
- newwin Y Y Y
- delwin Y Y Y
- mvwin Y Y Y
- subwin Y Y Y
- derwin Y - Y
- mvderwin Y - Y
- dupwin Y - 4.0
- wsyncup Y - 4.0
- syncok Y - 4.0
- wcursyncup Y - 4.0
- wsyncdown Y - 4.0
- resize_window - - -
- wresize - - -
- PDC_makelines - - -
- PDC_makenew - - -
- PDC_sync - - -
-
-**man-end****************************************************************/
-
-#include <stdlib.h>
-
-WINDOW *PDC_makenew(int nlines, int ncols, int begy, int begx)
-{
- WINDOW *win;
-
- PDC_LOG(("PDC_makenew() - called: lines %d cols %d begy %d begx %d\n",
- nlines, ncols, begy, begx));
-
- /* allocate the window structure itself */
-
- if ((win = calloc(1, sizeof(WINDOW))) == (WINDOW *)NULL)
- return win;
-
- /* allocate the line pointer array */
-
- if ((win->_y = malloc(nlines * sizeof(chtype *))) == NULL)
- {
- free(win);
- return (WINDOW *)NULL;
- }
-
- /* allocate the minchng and maxchng arrays */
-
- if ((win->_firstch = malloc(nlines * sizeof(int))) == NULL)
- {
- free(win->_y);
- free(win);
- return (WINDOW *)NULL;
- }
-
- if ((win->_lastch = malloc(nlines * sizeof(int))) == NULL)
- {
- free(win->_firstch);
- free(win->_y);
- free(win);
- return (WINDOW *)NULL;
- }
-
- /* initialize window variables */
-
- win->_maxy = nlines; /* real max screen size */
- win->_maxx = ncols; /* real max screen size */
- win->_begy = begy;
- win->_begx = begx;
- win->_bkgd = ' '; /* wrs 4/10/93 -- initialize background to blank */
- win->_clear = (bool) ((nlines == LINES) && (ncols == COLS));
- win->_bmarg = nlines - 1;
- win->_parx = win->_pary = -1;
-
- /* init to say window all changed */
-
- touchwin(win);
-
- return win;
-}
-
-WINDOW *PDC_makelines(WINDOW *win)
-{
- int i, j, nlines, ncols;
-
- PDC_LOG(("PDC_makelines() - called: lines %d cols %d\n", nlines, ncols));
-
- if (!win)
- return (WINDOW *)NULL;
-
- nlines = win->_maxy;
- ncols = win->_maxx;
-
- for (i = 0; i < nlines; i++)
- {
- if ((win->_y[i] = malloc(ncols * sizeof(chtype))) == NULL)
- {
- /* if error, free all the data */
-
- for (j = 0; j < i; j++)
- free(win->_y[j]);
-
- free(win->_firstch);
- free(win->_lastch);
- free(win->_y);
- free(win);
-
- return (WINDOW *)NULL;
- }
- }
-
- return win;
-}
-
-void PDC_sync(WINDOW *win)
-{
- PDC_LOG(("PDC_sync() - called:\n"));
-
- if (win->_immed)
- wrefresh(win);
- if (win->_sync)
- wsyncup(win);
-}
-
-WINDOW *newwin(int nlines, int ncols, int begy, int begx)
-{
- WINDOW *win;
-
- PDC_LOG(("newwin() - called:lines=%d cols=%d begy=%d begx=%d\n",
- nlines, ncols, begy, begx));
-
- if (!nlines)
- nlines = LINES - begy;
- if (!ncols)
- ncols = COLS - begx;
-
- if ( (begy + nlines > SP->lines || begx + ncols > SP->cols)
- || !(win = PDC_makenew(nlines, ncols, begy, begx))
- || !(win = PDC_makelines(win)) )
- return (WINDOW *)NULL;
-
- werase(win);
-
- return win;
-}
-
-int delwin(WINDOW *win)
-{
- int i;
-
- PDC_LOG(("delwin() - called\n"));
-
- if (!win)
- return ERR;
-
- /* subwindows use parents' lines */
-
- if (!(win->_flags & (_SUBWIN|_SUBPAD)))
- for (i = 0; i < win->_maxy && win->_y[i]; i++)
- if (win->_y[i])
- free(win->_y[i]);
-
- free(win->_firstch);
- free(win->_lastch);
- free(win->_y);
- free(win);
-
- return OK;
-}
-
-int mvwin(WINDOW *win, int y, int x)
-{
- PDC_LOG(("mvwin() - called\n"));
-
- if (!win || (y + win->_maxy > LINES || y < 0)
- || (x + win->_maxx > COLS || x < 0))
- return ERR;
-
- win->_begy = y;
- win->_begx = x;
- touchwin(win);
-
- return OK;
-}
-
-WINDOW *subwin(WINDOW *orig, int nlines, int ncols, int begy, int begx)
-{
- WINDOW *win;
- int i;
- int j = begy - orig->_begy;
- int k = begx - orig->_begx;
-
- PDC_LOG(("subwin() - called: lines %d cols %d begy %d begx %d\n",
- nlines, ncols, begy, begx));
-
- /* make sure window fits inside the original one */
-
- if (!orig || (begy < orig->_begy) || (begx < orig->_begx) ||
- (begy + nlines) > (orig->_begy + orig->_maxy) ||
- (begx + ncols) > (orig->_begx + orig->_maxx))
- return (WINDOW *)NULL;
-
- if (!nlines)
- nlines = orig->_maxy - 1 - j;
- if (!ncols)
- ncols = orig->_maxx - 1 - k;
-
- if ( !(win = PDC_makenew(nlines, ncols, begy, begx)) )
- return (WINDOW *)NULL;
-
- /* initialize window variables */
-
- win->_attrs = orig->_attrs;
- win->_bkgd = orig->_bkgd;
- win->_leaveit = orig->_leaveit;
- win->_scroll = orig->_scroll;
- win->_nodelay = orig->_nodelay;
- win->_use_keypad = orig->_use_keypad;
- win->_immed = orig->_immed;
- win->_sync = orig->_sync;
- win->_pary = j;
- win->_parx = k;
- win->_parent = orig;
-
- for (i = 0; i < nlines; i++, j++)
- win->_y[i] = orig->_y[j] + k;
-
- win->_flags |= _SUBWIN;
-
- return win;
-}
-
-WINDOW *derwin(WINDOW *orig, int nlines, int ncols, int begy, int begx)
-{
- return subwin(orig, nlines, ncols, begy + orig->_begy, begx + orig->_begx);
-}
-
-int mvderwin(WINDOW *win, int pary, int parx)
-{
- int i, j;
- WINDOW *mypar;
-
- if (!win || !(win->_parent))
- return ERR;
-
- mypar = win->_parent;
-
- if (pary < 0 || parx < 0 || (pary + win->_maxy) > mypar->_maxy ||
- (parx + win->_maxx) > mypar->_maxx)
- return ERR;
-
- j = pary;
-
- for (i = 0; i < win->_maxy; i++)
- win->_y[i] = (mypar->_y[j++]) + parx;
-
- win->_pary = pary;
- win->_parx = parx;
-
- return OK;
-}
-
-WINDOW *dupwin(WINDOW *win)
-{
- WINDOW *new;
- chtype *ptr, *ptr1;
- int nlines, ncols, begy, begx, i;
-
- if (!win)
- return (WINDOW *)NULL;
-
- nlines = win->_maxy;
- ncols = win->_maxx;
- begy = win->_begy;
- begx = win->_begx;
-
- if ( !(new = PDC_makenew(nlines, ncols, begy, begx))
- || !(new = PDC_makelines(new)) )
- return (WINDOW *)NULL;
-
- /* copy the contents of win into new */
-
- for (i = 0; i < nlines; i++)
- {
- for (ptr = new->_y[i], ptr1 = win->_y[i];
- ptr < new->_y[i] + ncols; ptr++, ptr1++)
- *ptr = *ptr1;
-
- new->_firstch[i] = 0;
- new->_lastch[i] = ncols - 1;
- }
-
- new->_curx = win->_curx;
- new->_cury = win->_cury;
- new->_maxy = win->_maxy;
- new->_maxx = win->_maxx;
- new->_begy = win->_begy;
- new->_begx = win->_begx;
- new->_flags = win->_flags;
- new->_attrs = win->_attrs;
- new->_clear = win->_clear;
- new->_leaveit = win->_leaveit;
- new->_scroll = win->_scroll;
- new->_nodelay = win->_nodelay;
- new->_use_keypad = win->_use_keypad;
- new->_tmarg = win->_tmarg;
- new->_bmarg = win->_bmarg;
- new->_parx = win->_parx;
- new->_pary = win->_pary;
- new->_parent = win->_parent;
- new->_bkgd = win->_bkgd;
- new->_flags = win->_flags;
-
- return new;
-}
-
-WINDOW *resize_window(WINDOW *win, int nlines, int ncols)
-{
- WINDOW *new;
- int i, save_cury, save_curx, new_begy, new_begx;
-
- PDC_LOG(("resize_window() - called: nlines %d ncols %d\n",
- nlines, ncols));
-
- if (!win)
- return (WINDOW *)NULL;
-
- if (win->_flags & _SUBPAD)
- {
- if ( !(new = subpad(win->_parent, nlines, ncols,
- win->_begy, win->_begx)) )
- return (WINDOW *)NULL;
- }
- else if (win->_flags & _SUBWIN)
- {
- if ( !(new = subwin(win->_parent, nlines, ncols,
- win->_begy, win->_begx)) )
- return (WINDOW *)NULL;
- }
- else
- {
- if (win == SP->slk_winptr)
- {
- new_begy = SP->lines - SP->slklines;
- new_begx = 0;
- }
- else
- {
- new_begy = win->_begy;
- new_begx = win->_begx;
- }
-
- if ( !(new = PDC_makenew(nlines, ncols, new_begy, new_begx)) )
- return (WINDOW *)NULL;
- }
-
- save_curx = min(win->_curx, new->_maxx);
- save_cury = min(win->_cury, new->_maxy);
-
- if (!(win->_flags & (_SUBPAD|_SUBWIN)))
- {
- if ( !(new = PDC_makelines(new)) )
- return (WINDOW *)NULL;
-
- werase(new);
-
- copywin(win, new, 0, 0, 0, 0, min(win->_maxy, new->_maxy) - 1,
- min(win->_maxx, new->_maxx) - 1, FALSE);
-
- for (i = 0; i < win->_maxy && win->_y[i]; i++)
- if (win->_y[i])
- free(win->_y[i]);
- }
-
- new->_flags = win->_flags;
- new->_attrs = win->_attrs;
- new->_clear = win->_clear;
- new->_leaveit = win->_leaveit;
- new->_scroll = win->_scroll;
- new->_nodelay = win->_nodelay;
- new->_use_keypad = win->_use_keypad;
- new->_tmarg = (win->_tmarg > new->_maxy - 1) ? 0 : win->_tmarg;
- new->_bmarg = (win->_bmarg == win->_maxy - 1) ?
- new->_maxy - 1 : min(win->_bmarg, (new->_maxy - 1));
- new->_parent = win->_parent;
- new->_immed = win->_immed;
- new->_sync = win->_sync;
- new->_bkgd = win->_bkgd;
-
- new->_curx = save_curx;
- new->_cury = save_cury;
-
- free(win->_firstch);
- free(win->_lastch);
- free(win->_y);
-
- *win = *new;
- free(new);
-
- return win;
-}
-
-int wresize(WINDOW *win, int nlines, int ncols)
-{
- return (resize_window(win, nlines, ncols) ? OK : ERR);
-}
-
-void wsyncup(WINDOW *win)
-{
- WINDOW *tmp;
-
- PDC_LOG(("wsyncup() - called\n"));
-
- for (tmp = win; tmp; tmp = tmp->_parent)
- touchwin(tmp);
-}
-
-int syncok(WINDOW *win, bool bf)
-{
- PDC_LOG(("syncok() - called\n"));
-
- if (!win)
- return ERR;
-
- win->_sync = bf;
-
- return OK;
-}
-
-void wcursyncup(WINDOW *win)
-{
- WINDOW *tmp;
-
- PDC_LOG(("wcursyncup() - called\n"));
-
- for (tmp = win; tmp && tmp->_parent; tmp = tmp->_parent)
- wmove(tmp->_parent, tmp->_pary + tmp->_cury, tmp->_parx + tmp->_curx);
-}
-
-void wsyncdown(WINDOW *win)
-{
- WINDOW *tmp;
-
- PDC_LOG(("wsyncdown() - called\n"));
-
- for (tmp = win; tmp; tmp = tmp->_parent)
- {
- if (is_wintouched(tmp))
- {
- touchwin(win);
- break;
- }
- }
-}