/****************************************************************************
- * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
#include <curses.priv.h>
#include <tic.h> /* for MAX_NAME_SIZE */
-#include <term_entry.h>
#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
#define _POSIX_SOURCE
#include <locale.h>
#endif
-MODULE_ID("$Id: lib_setup.c,v 1.123 2009/10/31 20:39:36 tom Exp $")
+MODULE_ID("$Id: lib_setup.c,v 1.127 2010/01/23 17:57:43 tom Exp $")
/****************************************************************************
*
sp->_TABSIZE = my_tabsize;
}
#else
+ (void) sp;
TABSIZE = my_tabsize;
#endif
T(("TABSIZE = %d", my_tabsize));
}
#ifdef USE_TERM_DRIVER
TCB = (TERMINAL_CONTROL_BLOCK *) termp;
- code = _nc_get_driver(TCB, tname, errret);
+ code = _nc_globals.term_driver(TCB, tname, errret);
if (code == OK) {
termp->Filedes = Filedes;
termp->_termname = strdup(tname);
returnCode(code);
}
+#if NCURSES_SP_FUNCS
+/*
+ * In case of handling multiple screens, we need to have a screen before
+ * initialization in setupscreen takes place. This is to extend the substitute
+ * for some of the stuff in _nc_prescreen, especially for slk and ripoff
+ * handling which should be done per screen.
+ */
+NCURSES_EXPORT(SCREEN *)
+new_prescr(void)
+{
+ static SCREEN *sp;
+
+ START_TRACE();
+ T((T_CALLED("new_prescr()")));
+
+ if (sp == 0) {
+ sp = _nc_alloc_screen_sp();
+ if (sp != 0) {
+ sp->rsp = sp->rippedoff;
+ sp->_filtered = _nc_prescreen.filter_mode;
+ sp->_use_env = _nc_prescreen.use_env;
+#if NCURSES_NO_PADDING
+ sp->_no_padding = _nc_prescreen._no_padding;
+#endif
+ sp->slk_format = 0;
+ sp->_slk = 0;
+ sp->_prescreen = TRUE;
+ SP_PRE_INIT(sp);
+#if USE_REENTRANT
+ sp->_TABSIZE = _nc_prescreen._TABSIZE;
+ sp->_ESCDELAY = _nc_prescreen._ESCDELAY;
+#endif
+ }
+ }
+ returnSP(sp);
+}
+#endif
+
#ifdef USE_TERM_DRIVER
/*
* This entrypoint is called from tgetent() to allow a special case of reusing