]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/console/conio.c
bat: cleanup job and mediainfo panel
[bacula/bacula] / bacula / src / console / conio.c
index e0a037a567fbb99974c6d2f9be543a6a9f9fe112..157df55e7c35aa46e0e67010223fb3bb3dea5aba 100755 (executable)
@@ -9,25 +9,33 @@
 
 */
 /*
-   Copyright (C) 1981-2005 Kern Sibbald
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 1981-2006 Free Software Foundation Europe e.V.
              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 as
-   published by the Free Software Foundation; either version 2 of
-   the License, or (at your option) any later version.
+   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
+   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., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA.
+   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
@@ -61,6 +69,14 @@ extern "C" char *tgetstr (const char*, char**);
 extern "C" char *tgoto (const char *, int, int);
 #elif HAVE_HPUX_OS
 #include <term.h>
+#elif HAVE_AIX_OS 
+#include <curses.h>
+#include <term.h>
+#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 *);
@@ -74,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
@@ -966,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");
@@ -984,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);
@@ -1090,7 +1103,7 @@ t_send(const char *msg)
 void
 t_char(char c)
 {
-   write(1, &c, 1);
+   (void)write(1, &c, 1);
 }