Files
pkgsrc-ng/editors/mflteco/patches/patch-ae
T
2013-09-26 17:14:40 +02:00

312 lines
7.6 KiB
Plaintext

$NetBSD: patch-ae,v 1.2 2012/12/27 06:13:20 dholland Exp $
- use standard headers
- use some static
- initialize struct sigaction correctly
- declare own functions
- don't declare own errno
- restore missing close-comments
- declare void functions void
- use some c89
- don't index arrays with (signed) char
--- te_chario.c.orig 1993-08-05 22:29:33.000000000 +0000
+++ te_chario.c
@@ -28,6 +28,8 @@
#endif
#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
#if defined(USE_SELECT) && defined(_AIX)
#include <sys/select.h>
@@ -41,10 +43,10 @@
#include <fcntl.h>
#ifndef DEBUG
#include <signal.h>
-extern SHRET int_handler();
-extern SHRET stp_handler();
-extern SHRET hup_handler();
-extern SHRET winch_handler();
+static SHRET int_handler();
+static SHRET stp_handler();
+static SHRET hup_handler();
+static SHRET winch_handler();
#define SIGINTMASK 2
#endif
@@ -72,11 +74,11 @@ int bsdld;
/* this is really for linux */
#define SA_INTERRUPT 0
#endif
-struct sigaction intsigstruc = { int_handler, 0, SA_INTERRUPT } ; /* info structure for ^C interrupt */
-struct sigaction stpsigstruc = { stp_handler, 0, SA_INTERRUPT } ; /* info structure for "stop" signal */
-struct sigaction hupsigstruc = { hup_handler, 0, SA_INTERRUPT } ; /* info structure for "hangup" signal */
-struct sigaction nosigstr = { SIG_DFL, 0, 0 }; /* default structure for signal */
-struct sigaction sigwinchstruc = { winch_handler, 0, SA_INTERRUPT} ;
+struct sigaction intsigstruc; /* info structure for ^C interrupt */
+struct sigaction stpsigstruc; /* info structure for "stop" signal */
+struct sigaction hupsigstruc; /* info structure for "hangup" signal */
+struct sigaction nosigstr; /* default structure for signal */
+struct sigaction sigwinchstruc;
#else
struct sigvec intsigstruc = { int_handler, 0, 0 } ; /* info structure for ^C interrupt */
struct sigvec stpsigstruc = { stp_handler, 0, 0 } ; /* info structure for "stop" signal */
@@ -96,12 +98,13 @@ int out_noterm; /* nonzero if standar
char ldbuf[TTNAMEMAX];
#endif
+static void qio_char(char c);
+
#ifndef POSIX_TECO
setup_tty(arg)
int arg;
{
- extern int errno;
int ioerr;
struct sgttyb tmpbuf;
@@ -177,16 +180,15 @@ setup_tty(arg)
}
}
}
-#else /* POSIX_TECO
+#else /* POSIX_TECO */
/*
* set tty (stdin) mode. TECO mode is CBREAK, no ECHO, sep CR & LF
* operation; normal mode is none of the above. TTY_OFF and TTY_ON do this
* absolutely; TTY_SUSP and TTY_RESUME use saved signal status.
*/
-setup_tty(arg)
+VOID setup_tty(arg)
int arg;
{
- extern int errno;
int ioerr;
struct termios tmpbuf;
@@ -227,6 +229,22 @@ int arg;
tcdrain(fileno(stdin));
tcdrain(fileno(stdin)); tcsetattr(fileno(stdin), TCSANOW, &tty_new);
#ifndef DEBUG
+ intsigstruc.sa_sigaction = int_handler;
+ sigemptyset(&intsigstruc.sa_mask);
+ intsigstruc.sa_flags = SA_INTERRUPT;
+
+ stpsigstruc.sa_handler = stp_handler;
+ sigemptyset(&stpsigstruc.sa_mask);
+ stpsigstruc.sa_flags = SA_INTERRUPT;
+
+ hupsigstruc.sa_handler = hup_handler;
+ sigemptyset(&hupsigstruc.sa_mask);
+ hupsigstruc.sa_flags = SA_INTERRUPT;
+
+ sigwinchstruc.sa_handler = winch_handler;
+ sigemptyset(&sigwinchstruc.sa_mask);
+ sigwinchstruc.sa_flags = SA_INTERRUPT;
+
/* Handle signals */
if (sigaction(SIGTSTP, &stpsigstruc, NULL) < 0) {
fprintf(stderr, "could not install signal handler for SIGTSTP\n");
@@ -249,6 +267,10 @@ int arg;
/* Restore to original state */
tcdrain(fileno(stdin)); tcsetattr(fileno(stdin), TCSANOW, &tty_orig);
#ifndef DEBUG
+ nosigstr.sa_handler = SIG_DFL;
+ sigemptyset(&nosigstr.sa_mask);
+ nosigstr.sa_flags = 0;
+
sigaction(SIGTSTP, &nosigstr, 0);
sigaction(SIGINT, &nosigstr, 0);
sigaction(SIGHUP, &nosigstr, 0);
@@ -263,10 +285,10 @@ int arg;
/* if lf_sw is nonzero, return the LF; else use the FNDELAY fcntl to inquire of the input */
/* if input is not a terminal don't switch modes */
-unsigned short get_kbd_enh();
+static unsigned short get_kbd_enh(void);
#ifndef POSIX_TECO
-int gettty_nowait()
+int gettty_nowait(void)
{
int c;
@@ -289,7 +311,7 @@ int gettty_nowait()
* set if lf_sw is nonzero, return the LF; else use the FNDELAY fcntl to
* inquire of the input
*/
-gettty_nowait()
+int gettty_nowait(void)
{
char c;
int err, cnt;
@@ -424,7 +446,7 @@ static unsigned char ca[3] = {0,0,0};
#define c2 ca[1]
#define c3 ca[2]
-int zread(fd,c)
+static int zread(fd,c)
int fd;
char *c;
{
@@ -435,7 +457,7 @@ char *c;
}
#if defined(USE_SELECT)
-int timed_read(fd,c)
+static int timed_read(fd,c)
int fd;
char *c;
{
@@ -459,7 +481,7 @@ char *c;
#endif
#if defined(USE_POLL)
-int timed_read(fd,c)
+static int timed_read(fd,c)
int fd;
char *c;
{
@@ -479,7 +501,7 @@ char *c;
#endif
#if defined(USE_POSIX_C_CC)
-int timed_read(fd,c)
+static int timed_read(fd,c)
int fd;
char *c;
{
@@ -503,7 +525,7 @@ char *c;
}
#endif
-unsigned short get_kbd_enh()
+static unsigned short get_kbd_enh()
{
unsigned short retval;
struct trans_entry *pt;
@@ -555,7 +577,7 @@ unsigned short get_kbd_enh()
#ifndef DEBUG
-SHRET winch_handler()
+static SHRET winch_handler()
{
get_term_par();
window(WIN_INIT);
@@ -566,7 +588,7 @@ SHRET winch_handler()
}
}
-SHRET int_handler()
+static SHRET int_handler()
{
if (exitflag <= 0) /* if executing commands */
@@ -594,7 +616,7 @@ SHRET int_handler()
/* routine to disable (1), enable (0) ^C interrupt, used to block interrupts during display update */
#ifdef POSIX_TECO
-block_inter(func)
+VOID block_inter(func)
int func;
{
sigset_t ss;
@@ -608,7 +630,7 @@ int func;
#else
int old_mask; /* storage for previous signal mask */
#define INT_MASK 2
-block_inter(func)
+VOID block_inter(func)
int func;
{
#ifndef DEBUG
@@ -624,7 +646,7 @@ block_inter(func)
/* routine to handle "stop" signal (^Y) */
#ifdef POSIX_TECO
-SHRET stp_handler()
+static SHRET stp_handler()
{
sigset_t ss;
sigemptyset(&ss);
@@ -652,7 +674,7 @@ SHRET stp_handler()
#else /* BSD style signals */
-SHRET stp_handler()
+static SHRET stp_handler()
{
crlf();
window(WIN_SUSP); /* restore screen */
@@ -682,7 +704,7 @@ SHRET stp_handler()
/* simulate a character's having been typed on the keyboard */
-qio_char(c)
+static void qio_char(c)
char c;
{
#ifdef POSIX_TECO
@@ -694,7 +716,7 @@ qio_char(c)
/* routine to handle "hangup" signal */
#ifndef DEBUG
-SHRET hup_handler()
+static SHRET hup_handler()
{
if (!exitflag) exitflag = -3; /* if executing, set flag to terminate */
else
@@ -709,7 +731,7 @@ SHRET hup_handler()
/* type a crlf */
-crlf()
+void crlf(void)
{
type_char(CR);
type_char(LF);
@@ -721,7 +743,7 @@ crlf()
int lflusho = LFLUSHO;
int lfo;
-reset_ctlo()
+void reset_ctlo(void)
{
ioctl(fileno(stdin), TIOCLGET, &lfo); /* read flags */
if (lfo & LFLUSHO) /* if ^O was set */
@@ -731,18 +753,18 @@ reset_ctlo()
}
}
#else
-reset_ctlo()
+void reset_ctlo(void)
{
}
#endif
/* routine to type one character */
-type_char(c)
+VOID type_char(c)
char c;
{
- if ((char_count >= WN_width) && (c != CR) && !(spec_chars[c] & A_L)) /* spacing char beyond end of line */
+ if ((char_count >= WN_width) && (c != CR) && !(spec_chars[(unsigned char)c] & A_L)) /* spacing char beyond end of line */
{
if (et_val & ET_TRUNC) return; /* truncate output to line width */
else crlf(); /* otherwise do automatic new line (note recursive call to type_char) */
@@ -759,7 +781,7 @@ type_char(c)
case LF:
putchar(c);
-/* scroll_dly(); /* filler chars in case VT-100 scrolls */
+/* scroll_dly(); */ /* filler chars in case VT-100 scrolls */
break;
case ESC: