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

221 lines
7.1 KiB
Plaintext

$NetBSD: patch-ab,v 1.2 2012/12/27 06:13:20 dholland Exp $
- use standard headers
- handle EOF from getc() correctly
- move function declarations to the header file
- use some static
- declare void functions void
- use some c89
- don't index arrays with (signed) char
- call execl() properly
--- te_exec2.c.orig 1993-08-05 22:29:34.000000000 +0000
+++ te_exec2.c
@@ -19,6 +19,7 @@
/* add directory command, header file display 03/26/92 14.59 */
#include "te_defs.h"
+#include <stdlib.h>
#include <sys/wait.h>
#include <sys/types.h>
#include <sys/stat.h>
@@ -35,21 +36,26 @@ struct outfiledata po_file, so_file; /*
struct outfiledata *outfile = &po_file; /* pointer to currently active output file structure */
FILE *eisw; /* indirect command file pointer */
int second_buff = 0; /* variable for which buffer is selected */
-VOID init_wd();
-VOID update_header();
+
+static int do_e_slash(void); /* routine to handle "change directory" command */
+static int read_stream(FILE *file, int *ff_found, struct qp *rbuff,
+ int *nchars, int endsw, int crlf_sw, int ff_sw);
+static VOID write_stream(FILE *file, struct qp *wbuff, int nchars,
+ int crlf_sw);
+
+
/* process E commands */
-do_e()
+VOID do_e(void)
{
- char c; /* temps */
+ int c; /* temps */
int old_var;
FILE *t_eisw;
struct stat statbuff; /* buffer to fetch file stat (mode) of open file for EB */
int t_access; /* result from provisional "open" */
- int do_e_slash(); /* routine to handle "change directory" command */
- switch (mapch_l[getcmdc(trace_sw)]) /* read next character and dispatch */
+ switch (mapch_l[(unsigned char)getcmdc(trace_sw)]) /* read next character and dispatch */
{
/* numeric values */
@@ -386,7 +392,7 @@ int do_eq()
t = vfork(); /* fork a new process */
if (t == 0) /* if this is the child */
{
- execl(pname, pname, SHELL_OPT, &sysbuf.f->ch[0], 0); /* call the named Unix routine */
+ execl(pname, pname, SHELL_OPT, &sysbuf.f->ch[0], (void *)NULL); /* call the named Unix routine */
printf("Error in 'execl'\n"); /* normally shouldn't get here */
exit(1);
}
@@ -493,7 +499,7 @@ int do_eq1(shell)
if (ll == 0) /* if there are no characters to send */
{
close(pipe_in[1]); /* close exec'd process' new "stdin" so "read" will find eof */
- execl(shell, shell, SHELL_OPT, &sysbuf.f->ch[0], 0); /* execute specified routine */
+ execl(shell, shell, SHELL_OPT, &sysbuf.f->ch[0], (void *)NULL); /* execute specified routine */
fputs("execl failed\n", stderr);
exit(1);
} /* end "orig m,nEQ command had zero range" */
@@ -520,7 +526,7 @@ int do_eq1(shell)
else /* this process is the grandchild */
{
close(pipe_in[1]); /* close "input" for writing */
- execl(shell, shell, SHELL_OPT, &sysbuf.f->ch[0], 0); /* execute specified routine */
+ execl(shell, shell, SHELL_OPT, &sysbuf.f->ch[0], (void *)NULL); /* execute specified routine */
fputs("execl failed\n", stderr);
exit(1);
} /* end "this is the grandchild" */
@@ -559,7 +565,7 @@ int do_en()
}
/* routine to handle "change directory" command */
-int do_e_slash()
+static int do_e_slash(void)
{
int rv = -1; /* return value */
int err_code = E_DIR;
@@ -609,7 +615,7 @@ int do_glob(gbuff, sbuff)
{
char glob_cmd[CELLSIZE+5]; /* "glob filespec" command string */
int t;
- char c;
+ int c;
int glob_pipe[2]; /* pipe to forked shell for expanding filenames */
struct qp glob_ptr; /* pointer for loading result buffer */
FILE *xx_out; /* stream for reading chars from pipe */
@@ -668,7 +674,7 @@ int do_glob(gbuff, sbuff)
close(glob_pipe[0]); /* child won't read */
dup2(glob_pipe[1], fileno(stdout)); /* substitute pipe for standard out */
close(glob_pipe[1]); /* don't need that anymore */
- execl("/bin/csh", "csh", "-fc", glob_cmd, 0); /* execute the "glob" */
+ execl("/bin/csh", "csh", "-fc", glob_cmd, (void *)NULL); /* execute the "glob" */
fputs("execl failed\n", stderr);
exit(1);
}
@@ -676,7 +682,7 @@ int do_glob(gbuff, sbuff)
/* routine to get next file spec from "EN" list into filespec buffer */
-do_en_next()
+VOID do_en_next(void)
{
char c;
@@ -778,7 +784,7 @@ int read_filename(flag, func)
/* fetch or set variable */
-set_var(extend, arg)
+VOID set_var(extend, arg)
int extend; /* nonzero if arg is 16 bits to be sign extended */
int *arg; /* argument is pointer to variable */
{
@@ -820,12 +826,12 @@ int read_file(rbuff, nchars, endsw)
/* address of a switch to set if read ended with a FF, crlf_sw is lf->crlf */
/* conversion, ff_sw indicates whether to stop on a form feed. */
-int read_stream(file, ff_found, rbuff, nchars, endsw, crlf_sw, ff_sw)
+static int read_stream(file, ff_found, rbuff, nchars, endsw, crlf_sw, ff_sw)
FILE *file;
struct qp *rbuff;
int *ff_found, *nchars, endsw, crlf_sw, ff_sw;
{
- char chr;
+ int chr;
int crflag;
register struct buffcell *p;
register int c;
@@ -874,7 +880,7 @@ int read_stream(file, ff_found, rbuff, n
/* arguments are qp to start of text, number of characters, */
/* and an "append FF" switch */
-write_file(wbuff, nchars, ffsw)
+VOID write_file(wbuff, nchars, ffsw)
struct qp *wbuff;
int nchars, ffsw;
{
@@ -889,7 +895,7 @@ write_file(wbuff, nchars, ffsw)
/* Unix processes. Arguments wbuff, nchars as above; file */
/* is stream pointer, crlf_sw zero converts CRLF to LF */
-write_stream(file, wbuff, nchars, crlf_sw)
+static VOID write_stream(file, wbuff, nchars, crlf_sw)
FILE *file;
struct qp *wbuff;
int nchars, crlf_sw;
@@ -919,7 +925,7 @@ write_stream(file, wbuff, nchars, crlf_s
/* routine to kill output file: argument is pointer to an output file structure */
-kill_output(outptr)
+VOID kill_output(outptr)
struct outfiledata *outptr;
{
if (outptr->fd)
@@ -934,7 +940,7 @@ kill_output(outptr)
static char panic_name[16] = "TECO_SAVED.tmp"; /* name of file created to save buffer */
-panic()
+VOID panic(void)
{
int i; /* counter of buffers to save */
int t_access; /* file descriptor returned by open() */
@@ -959,13 +965,13 @@ panic()
}
/* do "F" commands */
-do_f()
+VOID do_f(void)
{
struct buffcell *delete_p;
int temp_dot;
VOID do_fm();
- switch (mapch_l[getcmdc(trace_sw)]) /* read next character and dispatch */
+ switch (mapch_l[(unsigned char)getcmdc(trace_sw)]) /* read next character and dispatch */
{
case '<': /* back to beginning of current iteration */
if (cptr.flag & F_ITER) /* if in iteration */
@@ -1138,7 +1144,7 @@ do_f()
/* pop iteration: if arg nonzero, exit unconditionally */
/* else check exit conditions and exit or reiterate */
-pop_iteration(arg)
+VOID pop_iteration(arg)
int arg;
{
if (!arg && (!cptr.il->dflag || (--(cptr.il->count) > 0)) ) /* if reiteration */
@@ -1157,7 +1163,7 @@ pop_iteration(arg)
/* find end of iteration - read over arbitrary <> and one > */
-find_enditer()
+VOID find_enditer(void)
{
register int icnt;
@@ -1172,7 +1178,7 @@ find_enditer()
/* find end of conditional */
-char find_endcond(arg)
+VOID find_endcond(arg)
char arg;
{
register int icnt;