diff options
Diffstat (limited to 'lib/libncurses/lib_initscr.c')
-rw-r--r-- | lib/libncurses/lib_initscr.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/libncurses/lib_initscr.c b/lib/libncurses/lib_initscr.c new file mode 100644 index 0000000..1c2d9e3 --- /dev/null +++ b/lib/libncurses/lib_initscr.c @@ -0,0 +1,40 @@ + +/* 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_initscr.c +** +** The routine initscr(). +** +*/ + +#include <stdlib.h> +#include "curses.priv.h" + +WINDOW *initscr() +{ +static bool initialized = FALSE; +char *name; +#ifdef TRACE + _init_trace(); + + T(("initscr() called")); +#endif + + /* Portable applications must not call initscr() more than once */ + if (!initialized) { + initialized = TRUE; + + if ((name = getenv("TERM")) == 0) + name = "unknown"; + if (newterm(name, stdout, stdin) == 0) { + fprintf(stderr, "Error opening terminal: %s.\n", name); + exit(1); + } + /* def_shell_mode - done in newterm */ + def_prog_mode(); + } + return(stdscr); +} |