summaryrefslogtreecommitdiff
path: root/lib/libncurses/lib_options.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libncurses/lib_options.c')
-rw-r--r--lib/libncurses/lib_options.c273
1 files changed, 0 insertions, 273 deletions
diff --git a/lib/libncurses/lib_options.c b/lib/libncurses/lib_options.c
deleted file mode 100644
index 789ebc62a303..000000000000
--- a/lib/libncurses/lib_options.c
+++ /dev/null
@@ -1,273 +0,0 @@
-
-/* This work is copyrighted. See COPYRIGHT.OLD & COPYRIGHT.NEW for *
-* details. If they are missing then this copy is in violation of *
-* the copyright conditions. */
-
-/*
-** lib_options.c
-**
-** The routines to handle option setting.
-**
-*/
-
-#include <stdlib.h>
-#include "terminfo.h"
-#include "curses.priv.h"
-
-int idlok(WINDOW *win, int flag)
-{
- T(("idlok(%x,%d) called", win, flag));
-
- if (flag == FALSE) {
- win->_idlok = FALSE;
- return OK;
- }
-
- if ((insert_line || parm_insert_line) && (delete_line || parm_delete_line)) {
- win->_idlok = TRUE;
- }
- return OK;
-}
-
-
-int clearok(WINDOW *win, int flag)
-{
- T(("clearok(%x,%d) called", win, flag));
-
- if (win == curscr)
- newscr->_clear = flag;
- else
- win->_clear = flag;
- return OK;
-}
-
-
-int leaveok(WINDOW *win, int flag)
-{
- T(("leaveok(%x,%d) called", win, flag));
-
- win->_leave = flag;
- if (flag == TRUE)
- curs_set(0);
- else
- curs_set(1);
- return OK;
-}
-
-
-int scrollok(WINDOW *win, int flag)
-{
- T(("scrollok(%x,%d) called", win, flag));
-
- win->_scroll = flag;
- return OK;
-}
-
-int halfdelay(int t)
-{
- T(("halfdelay(%d) called", t));
-
- if (t < 1 || t > 255)
- return ERR;
-
- cbreak();
- SP->_cbreak = t+1;
- return OK;
-}
-
-int nodelay(WINDOW *win, int flag)
-{
- T(("nodelay(%x,%d) called", win, flag));
-
- if (flag == TRUE)
- win->_delay = 0;
- else win->_delay = -1;
- return OK;
-}
-
-int notimeout(WINDOW *win, bool f)
-{
- T(("notimout(%x,%d) called", win, f));
-
- win->_notimeout = f;
- return OK;
-}
-
-int wtimeout(WINDOW *win, int delay)
-{
- T(("wtimeout(%x,%d) called", win, delay));
-
- win->_delay = delay;
- return OK;
-}
-
-static void init_keytry();
-static void add_to_try(char *, short);
-
-int keypad(WINDOW *win, int flag)
-{
- T(("keypad(%x,%d) called", win, flag));
-
- if (win) {
- win->_use_keypad = flag;
- return _nc_keypad(flag);
- }
- else
- return ERR;
-}
-
-
-
-int meta(WINDOW *win, int flag)
-{
- T(("meta(%x,%d) called", win, flag));
-
- win->_use_meta = flag;
-
- if (flag && meta_on)
- putp(meta_on);
- else if (! flag && meta_off)
- putp(meta_off);
- return OK;
-}
-
-/*
-** init_keytry()
-**
-** Construct the try for the current terminal's keypad keys.
-**
-*/
-
-
-static struct try *newtry;
-
-static void init_keytry()
-{
- newtry = NULL;
-
-#include "keys.tries.h"
-
- SP->_keytry = newtry;
-}
-
-
-static void add_to_try(char *str, short code)
-{
-static bool out_of_memory = FALSE;
-struct try *ptr, *savedptr;
-
- if (! str || out_of_memory)
- return;
-
- if (newtry != NULL) {
- ptr = savedptr = newtry;
-
- for (;;) {
- while (ptr->ch != (unsigned char) *str
- && ptr->sibling != NULL)
- ptr = ptr->sibling;
-
- if (ptr->ch == (unsigned char) *str) {
- if (*(++str)) {
- if (ptr->child != NULL)
- ptr = ptr->child;
- else
- break;
- } else {
- ptr->value = code;
- return;
- }
- } else {
- if ((ptr->sibling = (struct try *) malloc(sizeof *ptr)) == NULL) {
- out_of_memory = TRUE;
- return;
- }
-
- savedptr = ptr = ptr->sibling;
- ptr->child = ptr->sibling = NULL;
- ptr->ch = *str++;
- ptr->value = (short) NULL;
-
- break;
- }
- } /* end for (;;) */
- } else { /* newtry == NULL :: First sequence to be added */
- savedptr = ptr = newtry = (struct try *) malloc(sizeof *ptr);
-
- if (ptr == NULL) {
- out_of_memory = TRUE;
- return;
- }
-
- ptr->child = ptr->sibling = NULL;
- ptr->ch = *(str++);
- ptr->value = (short) NULL;
- }
-
- /* at this point, we are adding to the try. ptr->child == NULL */
-
- while (*str) {
- ptr->child = (struct try *) malloc(sizeof *ptr);
-
- ptr = ptr->child;
-
- if (ptr == NULL) {
- out_of_memory = TRUE;
-
- ptr = savedptr;
- while (ptr != NULL) {
- savedptr = ptr->child;
- free(ptr);
- ptr = savedptr;
- }
-
- return;
- }
-
- ptr->child = ptr->sibling = NULL;
- ptr->ch = *(str++);
- ptr->value = (short) NULL;
- }
-
- ptr->value = code;
- return;
-}
-
-int typeahead(int fd)
-{
-
- T(("typeahead(%d) called", fd));
- SP->_checkfd = fd;
- return OK;
-}
-
-int intrflush(WINDOW *win, bool flag)
-{
- T(("intrflush(%x, %d) called", win, flag));
- return OK;
-}
-
-/* Turn the keypad on/off
- *
- * Note: we flush the output because changing this mode causes some terminals
- * to emit different escape sequences for cursor and keypad keys. If we don't
- * flush, then the next wgetch may get the escape sequence that corresponds to
- * the terminal state _before_ switching modes.
- */
-int _nc_keypad(bool flag)
-{
- if (flag && keypad_xmit)
- {
- putp(keypad_xmit);
- (void) fflush(SP->_ofp);
- }
- else if (! flag && keypad_local)
- {
- putp(keypad_local);
- (void) fflush(SP->_ofp);
- }
-
- if (SP->_keytry == UNINITIALISED)
- init_keytry();
- return(OK);
-}