summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-editors/teco/files')
-rw-r--r--app-editors/teco/files/teco-more-warnings.patch149
-rw-r--r--app-editors/teco/files/teco-void-functions.patch538
2 files changed, 687 insertions, 0 deletions
diff --git a/app-editors/teco/files/teco-more-warnings.patch b/app-editors/teco/files/teco-more-warnings.patch
new file mode 100644
index 000000000000..dd072e6f97eb
--- /dev/null
+++ b/app-editors/teco/files/teco-more-warnings.patch
@@ -0,0 +1,149 @@
+https://bugs.gentoo.org/879041
+
+--- teco/te_defs.h
++++ teco/te_defs.h
+@@ -320,7 +320,72 @@
+ extern char mapch[], mapch_l[]; /* char mapping tables */
+ extern unsigned char spec_chars[]; /* special character table */
+
+-extern char skipto(), getcmdc(), getcmdc0(); /* routines that return chars */
++extern void block_inter(int func);
++extern void crlf(void);
++extern void delete1(int nchars);
++extern void dly_free_blist(struct buffcell *p);
++extern void do_ctlp(void);
++extern void do_e(void);
++extern void do_f(void);
++extern void do_o(void);
++extern void do_window(int ref_flag);
++extern void exec_cmds1(void);
++extern void exec_cmdstr(void);
++extern void find_enditer(void);
++extern void free_blist(struct buffcell *p);
++extern void insert1(void);
++extern void insert2(int count);
++extern void kill_output(struct outfiledata *outptr);
++extern void make_buffer(struct qh *p);
++extern void movenchars(struct qp *from, struct qp *to, int n);
++extern void moveuntil(struct qp *from, struct qp *to, char c,
++ int *n, int max, int trace);
++extern void panic(void);
++extern void pop_iteration(int arg);
++extern void retype_cmdstr(char c);
++extern void set_pointer(int pos, struct qp *ptr);
++extern void set_term_par(int lines, int cols);
++extern void set_var(int *arg);
++extern void setup_tty(int arg);
++extern void te_fx(void);
++extern void type_char(char c);
++extern void vt(int func);
++extern void window(int arg);
++extern void write_file(struct qp *wbuff, int nchars, int ffsw);
++extern char getcmdc(int trace);
++extern char getcmdc0(int trace);
++extern char gettty(void);
++extern char skipto(int arg);
++extern int backc(struct qp *arg);
++extern int build_string(struct qh *sbuff);
++extern int do_en(void);
++extern int do_eq(void);
++extern int do_eq1(char *shell);
++extern int do_fb(void);
++extern int do_glob(struct qh *gbuff);
++extern int do_nsearch(char arg);
++extern int do_search(int count);
++extern int end_search(int result);
++extern int fwdc(struct qp *arg);
++extern int fwdcx(struct qp *arg);
++extern int get_value(int d);
++extern int getqspec(int fors, char c);
++extern int gettty_nowait(void);
++extern int line_args(int d, struct qp *p);
++extern int lines(int arg);
++extern int peekcmdc(char arg);
++extern int read_cmdstr(void);
++extern int read_file(struct qp *rbuff, int *nchars, int endsw);
++extern int read_filename(int flag, char func);
++extern int read_stream(FILE *file, int *ff_found, struct qp *rbuff,
++ int *nchars, int endsw, int crlf_sw, int ff_sw);
++extern int setup_search(void);
++extern int srch_cmp(void);
++extern int tgetent(char *bp, const char *name);
++extern int tgetnum(const char *id);
++extern int w_lines(int n, struct qp *ps, struct qp *pd);
++extern int w_setptr(int loc, struct qp *pp);
++extern int w_overflow(int wd);
+
+ extern FILE *eisw; /* indirect command file pointer */
+ extern FILE *fopen();
+--- teco/te_exec2.c
++++ teco/te_exec2.c
+@@ -8,10 +8,15 @@
+ /* version for multiple buffers 04/19/89 11.29 */
+
+ #include "te_defs.h"
++#include <unistd.h>
+ #include <sys/wait.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+
++/* these shouldn't be necessary, since we include unistd.h and sys/stat.h */
++extern int fchmod(int fd, mode_t mode);
++extern pid_t vfork(void);
++
+ void do_en_next(), set_var(), write_file(), write_stream();
+ void kill_output(), pop_iteration(), find_enditer(), find_endcond();
+
+--- teco/te_fxstub.c
++++ teco/te_fxstub.c
+@@ -10,7 +10,7 @@
+
+ #include "te_defs.h"
+
+-te_fx()
++void te_fx()
+ {
+ ERROR(E_IFC);
+ }
+--- teco/te_main.c
++++ teco/te_main.c
+@@ -46,6 +46,7 @@
+
+ void cleanup(), print_string(), save_args(), read_startup(), get_term_par();
+
++int
+ main(argc, argv)
+ int argc; /* arg count */
+ char *argv[]; /* array of string pointers */
+--- teco/te_rdcmd.c
++++ teco/te_rdcmd.c
+@@ -7,6 +7,7 @@
+ #include "te_defs.h"
+
+ void retype_cmdstr(char c);
++int find_lasteol(void);
+ int ccount; /* count of chars read in */
+
+ int read_cmdstr()
+--- teco/te_srch.c
++++ teco/te_srch.c
+@@ -156,7 +156,7 @@
+ /* routine to do N, _, E_ searches: search, if search fails, then get */
+ /* next page and continue */
+
+-do_nsearch(arg)
++int do_nsearch(arg)
+ char arg; /* arg is 'n', '_', or 'e' to define which search */
+ {
+ int scount; /* search count */
+--- teco/te_utils.c
++++ teco/te_utils.c
+@@ -144,7 +144,7 @@
+ return(1);
+ }
+
+-fwdcx(arg)
++int fwdcx(arg)
+ struct qp *arg;
+ {
+ if ((*arg).c >= CELLSIZE-1) /* test char count for max */
diff --git a/app-editors/teco/files/teco-void-functions.patch b/app-editors/teco/files/teco-void-functions.patch
new file mode 100644
index 000000000000..ee08d1ace9ea
--- /dev/null
+++ b/app-editors/teco/files/teco-void-functions.patch
@@ -0,0 +1,538 @@
+https://bugs.gentoo.org/729254
+
+--- teco-orig/te_chario.c
++++ teco/te_chario.c
+@@ -24,6 +24,8 @@
+ #define SIGINTMASK 2
+ #endif
+
++void crlf(), type_char(char c);
++
+ int lf_sw; /* nonzero: make up a LF following an entered CR */
+ int ttyflags; /* flags for (stdin) file descriptor */
+ #ifndef _POSIX_SOURCE
+@@ -44,6 +46,7 @@
+ /* 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. */
+
++void
+ setup_tty(arg)
+ int arg;
+ {
+@@ -213,6 +216,7 @@
+ #ifdef _POSIX_SOURCE
+ sigset_t oldmask;
+
++void
+ block_inter(func)
+ int func;
+ {
+@@ -313,6 +317,7 @@
+
+ /* type a crlf */
+
++void
+ crlf()
+ {
+ type_char(CR);
+@@ -340,6 +345,7 @@
+
+ /* routine to type one character */
+
++void
+ type_char(c)
+ char c;
+ {
+--- teco-orig/te_defs.h
++++ teco/te_defs.h
+@@ -320,7 +320,7 @@
+ extern char mapch[], mapch_l[]; /* char mapping tables */
+ extern unsigned char spec_chars[]; /* special character table */
+
+-extern char skipto(), find_endcond(), getcmdc(), getcmdc0(); /* routines that return chars */
++extern char skipto(), getcmdc(), getcmdc0(); /* routines that return chars */
+
+ extern FILE *eisw; /* indirect command file pointer */
+ extern FILE *fopen();
+--- teco-orig/te_exec0.c
++++ teco/te_exec0.c
+@@ -8,6 +8,7 @@
+ #include <time.h>
+ #include <sys/time.h>
+
++void
+ exec_cmdstr()
+ {
+ char c;
+--- teco-orig/te_exec1.c
++++ teco/te_exec1.c
+@@ -6,6 +6,7 @@
+ /* version for multiple buffers 04/13/89 15.55 */
+ #include "te_defs.h"
+
++void
+ exec_cmds1()
+ {
+ char command; /* command character */
+--- teco-orig/te_exec2.c
++++ teco/te_exec2.c
+@@ -12,6 +12,9 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+
++void do_en_next(), set_var(), write_file(), write_stream();
++void kill_output(), pop_iteration(), find_enditer(), find_endcond();
++
+ struct qh oldcstring; /* hold command string during ei */
+
+ /* file stuff for input/output files */
+@@ -26,6 +29,7 @@
+
+ /* process E commands */
+
++void
+ do_e()
+ {
+ char c; /* temps */
+@@ -567,6 +571,7 @@
+
+ /* routine to get next file spec from "EN" list into filespec buffer */
+
++void
+ do_en_next()
+ {
+ char c;
+@@ -669,6 +674,7 @@
+
+ /* fetch or set variable */
+
++void
+ set_var(arg)
+ int *arg; /* argument is pointer to variable */
+ {
+@@ -764,6 +770,7 @@
+ /* arguments are qp to start of text, number of characters, */
+ /* and an "append FF" switch */
+
++void
+ write_file(wbuff, nchars, ffsw)
+ struct qp *wbuff;
+ int nchars, ffsw;
+@@ -779,6 +786,7 @@
+ /* Unix processes. Arguments wbuff, nchars as above; file */
+ /* is stream pointer, crlf_sw zero converts CRLF to LF */
+
++void
+ write_stream(file, wbuff, nchars, crlf_sw)
+ FILE *file;
+ struct qp *wbuff;
+@@ -809,6 +817,7 @@
+
+ /* routine to kill output file: argument is pointer to an output file structure */
+
++void
+ kill_output(outptr)
+ struct outfiledata *outptr;
+ {
+@@ -825,6 +834,7 @@
+
+ char panic_name[] = "TECO_SAVED.tmp"; /* name of file created to save buffer */
+
++void
+ panic()
+ {
+ if (!outfile->fd && pbuff->z) outfile->fd = fopen(panic_name, "w"); /* if buffer nonempty and no file open, make one */
+@@ -838,6 +848,7 @@
+
+ /* do "F" commands */
+
++void
+ do_f()
+ {
+ struct buffcell *delete_p;
+@@ -954,6 +965,7 @@
+ /* pop iteration: if arg nonzero, exit unconditionally */
+ /* else check exit conditions and exit or reiterate */
+
++void
+ pop_iteration(arg)
+ int arg;
+ {
+@@ -973,6 +985,7 @@
+
+ /* find end of iteration - read over arbitrary <> and one > */
+
++void
+ find_enditer()
+ {
+ register int icnt;
+@@ -988,7 +1001,8 @@
+
+
+ /* find end of conditional */
+-char find_endcond(arg)
++void
++find_endcond(arg)
+ char arg;
+ {
+ register int icnt;
+--- teco-orig/te_main.c
++++ teco/te_main.c
+@@ -44,6 +44,10 @@
+
+ #include "te_defs.h"
+
++void cleanup(), read_startup(), get_term_par();
++void print_string(int arg);
++void save_args(int argc, char *argv[], struct qh *q);
++
+ main(argc, argv)
+ int argc; /* arg count */
+ char *argv[]; /* array of string pointers */
+@@ -103,6 +107,7 @@
+
+ /* reset screen state, keyboard state; remove open output files */
+
++void
+ cleanup()
+ {
+ window(WIN_OFF); /* restore screen */
+@@ -115,6 +120,7 @@
+ /* print string for error message */
+ /* argument is subscript of a qreg qh, prints text from that buffer */
+
++void
+ print_string(arg)
+ int arg;
+ {
+@@ -137,6 +143,7 @@
+
+ /* copy invocation command line to a text buffer */
+
++void
+ save_args(argc, argv, q)
+ int argc;
+ char *argv[];
+@@ -171,6 +178,7 @@
+
+ char startup_name[] = "/.tecorc"; /* name of startup file */
+
++void
+ read_startup()
+ {
+ char *hp, *getenv();
+@@ -192,6 +200,7 @@
+
+ /* routine to get terminal height and width from termcap */
+
++void
+ get_term_par()
+ {
+ char tbuff[1024]; /* termcap buffer */
+--- teco-orig/te_rdcmd.c
++++ teco/te_rdcmd.c
+@@ -6,6 +6,7 @@
+ /* version for multiple buffers 04/13/89 10.22 */
+ #include "te_defs.h"
+
++void retype_cmdstr(char c);
+ int ccount; /* count of chars read in */
+
+ int read_cmdstr()
+@@ -227,6 +228,7 @@
+
+ /* retype command string: entirely (arg = '*') or most recent line (arg = ' ') */
+
++void
+ retype_cmdstr(c)
+ char c;
+ {
+--- teco-orig/te_subs.c
++++ teco/te_subs.c
+@@ -17,6 +17,7 @@
+ /* n is the returned number of chars moved */
+ /* max is the maximum number of chars to move */
+
++void
+ movenchars(from, to, n)
+ struct qp *from, *to; /* address of buffer pointers */
+ register int n; /* number of characters */
+@@ -69,6 +70,7 @@
+ }
+ }
+
++void
+ moveuntil(from, to, c, n, max, trace)
+ struct qp *from, *to; /* address of buffer pointers */
+ register char c; /* match char that ends move */
+@@ -249,6 +251,7 @@
+ /* leaves bb pointing to end of that text */
+ /* insert2() copies rest of buffer */
+
++void
+ insert1()
+ {
+ int nchars; /* number of chars in cell */
+@@ -269,6 +272,7 @@
+
+
+
++void
+ insert2(count) /* count is the number of chars added */
+ int count;
+ {
+@@ -289,6 +293,7 @@
+ /* subroutine to delete n characters starting at dot */
+ /* argument is number of characters */
+
++void
+ delete1(nchars)
+ int nchars;
+ {
+@@ -314,6 +319,7 @@
+
+ struct qh obuff; /* tag string buffer */
+
++void
+ do_o()
+ {
+ int i, j; /* i used as start of tag, j as end */
+@@ -460,6 +466,7 @@
+
+ /* find number of characters to next matching (, [, or { (like '%' in vi) */
+
++void
+ do_ctlp()
+ {
+ int i, l;
+--- teco-orig/te_utils.c
++++ teco/te_utils.c
+@@ -37,6 +37,7 @@
+
+
+ /* free a list of buffcells */
++void
+ free_blist(p)
+ struct buffcell *p;
+ {
+@@ -51,6 +52,7 @@
+ }
+
+ /* free a list of buffcells to the "delayed free" list */
++void
+ dly_free_blist(p)
+ struct buffcell *p;
+ {
+@@ -92,6 +94,7 @@
+
+
+ /* free a list of cells */
++void
+ free_dlist(p)
+ struct qp *p;
+ {
+@@ -107,6 +110,7 @@
+
+ /* build a buffer: called with address of a qh */
+ /* if no buffer there, get a cell and link it in */
++void
+ make_buffer(p)
+ struct qh *p;
+ {
+@@ -178,6 +182,7 @@
+
+ /* set up a pointer to a particular text buffer position */
+
++void
+ set_pointer(pos, ptr) /* first arg is position, 2nd is addr of pointer */
+ int pos;
+ struct qp *ptr;
+--- teco-orig/te_window.c
++++ teco/te_window.c
+@@ -21,6 +21,10 @@
+ #define MAX 0x7fffffff /* maximum positive integer, for "last modified" location */
+ #define W_MARK 0200 /* "this loc is special" in screen image */
+
++void window(), window0(), window1_both(), window1(), window1_abs();
++void window1_inc(), window1_after(), w_rmcurs(), window2(), vtm();
++void w_makecurs(), w_type(), w_init(), w_separators(), w_move();
++void w_scroll(), w_ebol();
+
+ /* image of current window */
+
+@@ -74,6 +78,7 @@
+ /* routine to perform simple scope operations */
+ /* (an attempt to concentrate VT-100 specific things in one place) */
+
++void
+ vt(func)
+ int func;
+ {
+@@ -132,6 +137,7 @@
+ int win_max[] = { 4, W_MAX_H, W_MAX_V, 1, MAX, 12, -1, 20, 20, -1, -1 } ; /* max values */
+ int win_data[] = { 4, 132, 24, 0, 0, 0, 0, 0, 0, 0, 0 } ; /* window parameters */
+
++void
+ do_window(ref_flag)
+ int ref_flag; /* nonzero forces "refresh" operation */
+ {
+@@ -196,6 +202,7 @@
+ /* routine to update screen size with numbers obtained from environment */
+ /* (called by main program's initialization) */
+
++void
+ set_term_par(lines, cols)
+ int lines, cols;
+ {
+@@ -215,6 +222,7 @@
+ /* WIN_LINE: does WIN_REFR unless that wouldn't do anything, in which case */
+ /* it does effective 1EV output */
+
++void
+ window(arg)
+ int arg;
+ {
+@@ -288,6 +296,7 @@
+ /* used for ev, es, and <BS> or <LF> as immediate commands */
+ /* starting char position is in w_p1; argument is number of lines */
+
++void
+ window0(num)
+ int num;
+ {
+@@ -364,6 +373,7 @@
+
+ struct bh *old_pbuff;
+
++void
+ window1_both()
+ {
+ pw0 = &win_1;
+@@ -396,6 +406,7 @@
+ /* if scroll mode is enabled, the VT100 screen is split and only the upper part */
+ /* is used by this routine; else the whole screen is used. */
+
++void
+ window1()
+ {
+ int i, j, m, lflag;
+@@ -500,6 +511,7 @@
+
+ /* routine to redraw screen absolutely */
+
++void
+ window1_abs()
+ {
+ int i, j;
+@@ -531,6 +543,7 @@
+
+ /* redraw screen incrementally */
+
++void
+ window1_inc(wd)
+ int wd; /* argument is earliest change */
+ {
+@@ -559,6 +572,7 @@
+
+ /* routine to move window downwards: scroll up or redraw as appropriate */
+
++void
+ window1_after()
+ {
+ int i, lflag;
+@@ -591,6 +605,7 @@
+
+ /* routine to remove the existing cursor */
+
++void
+ w_rmcurs()
+ {
+ register struct w_data *pw = pw0;
+@@ -609,6 +624,7 @@
+ /* called with w_p1 at starting char, curr_y, curr_x at starting coordinate */
+ /* rewrites to end of screen if arg = 0, or only until line with cursor if arg = 1 */
+
++void
+ window2(arg)
+ int arg;
+ {
+@@ -794,6 +810,7 @@
+
+ /* routine to move cursor to current location and then call vt */
+
++void
+ vtm(arg)
+ int arg;
+ {
+@@ -807,6 +824,7 @@
+ /* routine to set reverse video and save cursor location */
+ /* first argument is char at cursor, 2nd is value for curs_crflag */
+
++void
+ w_makecurs(wc, crflag)
+ char wc;
+ short crflag;
+@@ -851,6 +869,7 @@
+ /* routine to type one character: arguments are char and a */
+ /* "mark" bit. If mark is set, the char is always retyped */
+
++void
+ w_type(c, m)
+ char c;
+ int m;
+@@ -875,6 +894,7 @@
+
+ /* initialize display image */
+
++void
+ w_init()
+ {
+ short i, j;
+@@ -907,6 +927,7 @@
+
+ /* write separator lines between windows on screen */
+
++void
+ w_separators()
+ {
+ int i;
+@@ -929,6 +950,7 @@
+ /* put character followed by appropriate number of nulls for "other control function" */
+ /* if argument is 0, output filler chars only */
+
++void
+ putchar_d(c)
+ char c;
+ {
+@@ -942,6 +964,7 @@
+
+ /* put out appropriate number of filler chars for display function that scrolls (LF, etc.) */
+
++void
+ scroll_dly()
+ {
+ int i;
+@@ -952,6 +975,7 @@
+ /* move terminal cursor to stated y, x position */
+ /* uses incremental moves or absolute cursor position, whichever is shorter */
+
++void
+ w_move(y, x)
+ short y, x;
+ {
+@@ -993,6 +1017,7 @@
+
+ /* scroll screen: argument is count: + up, - down */
+
++void
+ w_scroll(count)
+ int count;
+ {
+@@ -1025,6 +1050,7 @@
+ /* clear line to left of curr_x */
+ /* if some chars nonblank, does erase from start of line */
+
++void
+ w_ebol()
+ {
+ short i, j;