/****************************************************************************
- * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2007,2008 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 <term.h> /* lines, columns, cur_term */
-MODULE_ID("$Id: lib_setup.c,v 1.98 2007/04/21 19:57:42 tom Exp $")
+MODULE_ID("$Id: lib_setup.c,v 1.102 2008/01/19 21:07:45 tom Exp $")
/****************************************************************************
*
# endif
#endif
+/*
+ * Wrap global variables in this module.
+ */
#if USE_REENTRANT
NCURSES_EXPORT(char *)
NCURSES_PUBLIC_VAR(ttytype) (void)
{
- return cur_term ? cur_term->type.term_names : "";
+ static char empty[] = "";
+ return cur_term ? cur_term->type.term_names : empty;
}
NCURSES_EXPORT(int)
NCURSES_PUBLIC_VAR(LINES) (void)
{
- return SP ? SP->_LINES : 0;
+ return (SP ? SP->_LINES : _nc_prescreen._LINES);
}
NCURSES_EXPORT(int)
NCURSES_PUBLIC_VAR(COLS) (void)
{
- return SP ? SP->_COLS : 0;
+ return SP ? SP->_COLS : _nc_prescreen._COLS;
}
NCURSES_EXPORT(int)
NCURSES_PUBLIC_VAR(TABSIZE) (void)
NCURSES_EXPORT_VAR(int) TABSIZE = 0;
#endif
+#if NCURSES_EXT_FUNCS
+NCURSES_EXPORT(int)
+set_tabsize(int value)
+{
+ int code = OK;
+#if USE_REENTRANT
+ if (SP) {
+ SP->_TABSIZE = value;
+ } else {
+ code = ERR;
+ }
+#else
+ TABSIZE = value;
+#endif
+ return code;
+}
+#endif
+
#if USE_SIGWINCH
/*
* If we have a pending SIGWINCH, set the flag in each screen.
}
}
+ /*
+ * We should always check the screensize, just in case.
+ */
+#if USE_REENTRANT
+ _nc_get_screensize(SP ? &(SP->_LINES) : &(_nc_prescreen._LINES),
+ SP ? &(SP->_COLS) : &(_nc_prescreen._COLS));
+#else
+ _nc_get_screensize(&LINES, &COLS);
+#endif
+
if (errret)
*errret = TGETENT_YES;