X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fconsole%2Fconio.c;h=157df55e7c35aa46e0e67010223fb3bb3dea5aba;hb=c72fe33458907d46cb1fdb0a9e0b81bff592d358;hp=3a9dfe14aa8ef21b02ecc9c342c0e4d6e67a597e;hpb=48cf01c5720b0751a587c248dd3aa43f68cebb8c;p=bacula%2Fbacula diff --git a/bacula/src/console/conio.c b/bacula/src/console/conio.c index 3a9dfe14aa..157df55e7c 100755 --- a/bacula/src/console/conio.c +++ b/bacula/src/console/conio.c @@ -9,20 +9,33 @@ */ /* - Copyright (C) 1981-2005 Kern Sibbald - Yes, that is 1981 no error. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as amended with additional clauses defined in the - file LICENSE in the main source directory. + Bacula® - The Network Backup Solution - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - the file LICENSE for additional details. + Copyright (C) 1981-2006 Free Software Foundation Europe e.V. + Yes, that is 1981 no error. - */ + The main author of Bacula is Kern Sibbald, with contributions from + many others, a complete list can be found in the file AUTHORS. + This program is Free Software; you can redistribute it and/or + modify it under the terms of version two of the GNU General Public + License as published by the Free Software Foundation and included + in the file LICENSE. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. + + Bacula® is a registered trademark of Kern Sibbald. + The licensor of Bacula is the Free Software Foundation Europe + (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich, + Switzerland, email:ftf@fsfeurope.org. +*/ /* * UTF-8 @@ -56,6 +69,14 @@ extern "C" char *tgetstr (const char*, char**); extern "C" char *tgoto (const char *, int, int); #elif HAVE_HPUX_OS #include +#elif HAVE_AIX_OS +#include +#include +#elif defined(__sgi) +extern "C" int tgetent(char *, char *); +extern "C" int tgetnum(char id[2]); +extern "C" char *tgetstr(char id[2], char **); +extern "C" char *tgoto(char *, int, int); #elif defined (__digital__) && defined (__unix__) extern "C" int tgetent(void *, const char *); extern "C" int tgetnum(const char *); @@ -69,7 +90,7 @@ extern "C" char *tgoto (const char *, int, int); /* From termios library */ -#ifdef HAVE_HPUX_OS +#if defined(HAVE_HPUX_OS) || defined(HAVE_AIX_OS) static char *BC; static char *UP; #else @@ -961,12 +982,8 @@ static void rawmode(FILE *input) /* Defaults, the main program can override these */ signal(SIGQUIT, SIG_IGN); signal(SIGHUP, SIG_IGN); -// signal(SIGSTOP, SIG_IGN); signal(SIGINT, sigintcatcher); signal(SIGWINCH, SIG_IGN); - signal(SIGQUIT, SIG_IGN); -// signal(SIGCHLD, SIG_IGN); -// signal(SIGTSTP, SIG_IGN); if (!termtype) { printf("Cannot get terminal type.\n"); @@ -979,39 +996,40 @@ static void rawmode(FILE *input) exit(1); } t_width = t_height = -1; - t_width = tgetnum("co") - 1; - t_height = tgetnum("li"); + /* Note (char *)casting is due to really stupid compiler warnings */ + t_width = tgetnum((char *)"co") - 1; + t_height = tgetnum((char *)"li"); BC = NULL; UP = NULL; - t_cm = (char *)tgetstr("cm", &term_buffer); - t_cs = (char *)tgetstr("cl", &term_buffer); /* clear screen */ - t_cl = (char *)tgetstr("ce", &term_buffer); /* clear line */ - t_dl = (char *)tgetstr("dl", &term_buffer); /* delete line */ - t_il = (char *)tgetstr("al", &term_buffer); /* insert line */ - t_honk = (char *)tgetstr("bl", &term_buffer); /* beep */ - t_ti = (char *)tgetstr("ti", &term_buffer); - t_te = (char *)tgetstr("te", &term_buffer); - t_up = (char *)tgetstr("up", &term_buffer); - t_do = (char *)tgetstr("do", &term_buffer); - t_sf = (char *)tgetstr("sf", &term_buffer); + t_cm = (char *)tgetstr((char *)"cm", &term_buffer); + t_cs = (char *)tgetstr((char *)"cl", &term_buffer); /* clear screen */ + t_cl = (char *)tgetstr((char *)"ce", &term_buffer); /* clear line */ + t_dl = (char *)tgetstr((char *)"dl", &term_buffer); /* delete line */ + t_il = (char *)tgetstr((char *)"al", &term_buffer); /* insert line */ + t_honk = (char *)tgetstr((char *)"bl", &term_buffer); /* beep */ + t_ti = (char *)tgetstr((char *)"ti", &term_buffer); + t_te = (char *)tgetstr((char *)"te", &term_buffer); + t_up = (char *)tgetstr((char *)"up", &term_buffer); + t_do = (char *)tgetstr((char *)"do", &term_buffer); + t_sf = (char *)tgetstr((char *)"sf", &term_buffer); num_stab = MAX_STAB; /* get default stab size */ stab = (stab_t **)malloc(sizeof(stab_t *) * num_stab); memset(stab, 0, sizeof(stab_t *) * num_stab); /* Key bindings */ - kl = (char *)tgetstr("kl", &term_buffer); - kr = (char *)tgetstr("kr", &term_buffer); - ku = (char *)tgetstr("ku", &term_buffer); - kd = (char *)tgetstr("kd", &term_buffer); - kh = (char *)tgetstr("kh", &term_buffer); - kb = (char *)tgetstr("kb", &term_buffer); - kD = (char *)tgetstr("kD", &term_buffer); - kI = (char *)tgetstr("kI", &term_buffer); - kN = (char *)tgetstr("kN", &term_buffer); - kP = (char *)tgetstr("kP", &term_buffer); - kH = (char *)tgetstr("kH", &term_buffer); - kE = (char *)tgetstr("kE", &term_buffer); + kl = (char *)tgetstr((char *)"kl", &term_buffer); + kr = (char *)tgetstr((char *)"kr", &term_buffer); + ku = (char *)tgetstr((char *)"ku", &term_buffer); + kd = (char *)tgetstr((char *)"kd", &term_buffer); + kh = (char *)tgetstr((char *)"kh", &term_buffer); + kb = (char *)tgetstr((char *)"kb", &term_buffer); + kD = (char *)tgetstr((char *)"kD", &term_buffer); + kI = (char *)tgetstr((char *)"kI", &term_buffer); + kN = (char *)tgetstr((char *)"kN", &term_buffer); + kP = (char *)tgetstr((char *)"kP", &term_buffer); + kH = (char *)tgetstr((char *)"kH", &term_buffer); + kE = (char *)tgetstr((char *)"kE", &term_buffer); add_smap(kl, F_CSRLFT); add_smap(kr, F_CSRRGT);