pkgsrc/editors/uemacs/patches/patch-src_exec_c
dholland 40ebc209fb Pass -Wall. Fix a number of minor bugs and possibly some major ones.
Should also fix clang build. PKGREVISION++
2012-05-10 20:53:30 +00:00

147 lines
4.2 KiB
Text

$NetBSD: patch-src_exec_c,v 1.1 2012/05/10 20:53:30 dholland Exp $
- don't use implicit int
- const correctness required by existing const declarations
- fix uninitialized variable bug on error path, caught by gcc
--- src/exec.c~ 2012-05-10 19:25:36.000000000 +0000
+++ src/exec.c
@@ -11,7 +11,7 @@
/* namedcmd: execute a named command even if it is not bound */
-PASCAL NEAR namedcmd(f, n)
+int PASCAL NEAR namedcmd(f, n)
int f, n; /* command arguments [passed through to command executed] */
@@ -61,7 +61,7 @@ int f, n; /* command arguments [passed t
/* execcmd: Execute a command line command to be typed in
by the user */
-PASCAL NEAR execcmd(f, n)
+int PASCAL NEAR execcmd(f, n)
int f, n; /* default Flag and Numeric argument */
@@ -88,7 +88,7 @@ int f, n; /* default Flag and Numeric ar
*/
-PASCAL NEAR docmd(cline)
+int PASCAL NEAR docmd(cline)
char *cline; /* command line to execute */
@@ -238,7 +238,7 @@ int size; /* maximum size of token */
return(src);
}
-PASCAL NEAR macarg(tok) /* get a macro line argument */
+int PASCAL NEAR macarg(tok) /* get a macro line argument */
char *tok; /* buffer to place argument */
@@ -255,7 +255,7 @@ char *tok; /* buffer to place argument *
/* nextarg: get the next argument */
-PASCAL NEAR nextarg(prompt, buffer, size, terminator)
+int PASCAL NEAR nextarg(prompt, buffer, size, terminator)
char *prompt; /* prompt to use if we must be interactive */
char *buffer; /* buffer to put token into */
@@ -263,7 +263,7 @@ int size; /* size of the buffer */
int terminator; /* terminating char to be used on interactive fetch */
{
- register char *sp; /* return pointer from getval() */
+ register CONST char *sp; /* return pointer from getval() */
/* if we are interactive, go get it! */
if (clexec == FALSE) {
@@ -290,7 +290,7 @@ int terminator; /* terminating char to
/* storeproc: Set up a procedure buffer and flag to store all
executed command lines there */
-PASCAL NEAR storeproc(f, n)
+int PASCAL NEAR storeproc(f, n)
int f; /* default flag */
int n; /* macro number to use */
@@ -361,7 +361,7 @@ int n; /* macro number to use */
/* execproc: Execute a procedure */
-PASCAL NEAR execproc(f, n)
+int PASCAL NEAR execproc(f, n)
int f, n; /* default flag and numeric arg */
@@ -395,7 +395,7 @@ int f, n; /* default flag and numeric ar
/* execbuf: Execute the contents of a buffer of commands */
-PASCAL NEAR execbuf(f, n)
+int PASCAL NEAR execbuf(f, n)
int f, n; /* default flag and numeric arg */
@@ -436,7 +436,7 @@ int f, n; /* default flag and numeric ar
*LBL01
*/
-PASCAL NEAR dobuf(bp)
+int PASCAL NEAR dobuf(bp)
BUFFER *bp; /* buffer to execute */
@@ -468,6 +468,10 @@ BUFFER *bp; /* buffer to execute */
VDESC vd; /* variable num/type */
char value[NSTRING]; /* evaluated argument */
+ /* there's an error path where these are used but not set otherwise */
+ ut = NULL;
+ einit = NULL;
+
/* clear IF level flags/while ptr */
execlevel = 0;
whlist = NULL;
@@ -971,7 +975,7 @@ LINE *lp; /* line " */
if $debug == TRUE, The interactive debugger is invoked
commands are listed out with the ? key */
-PASCAL NEAR debug(bp, eline, skipflag)
+int PASCAL NEAR debug(bp, eline, skipflag)
BUFFER *bp; /* buffer to execute */
char *eline; /* text of line to debug */
@@ -1110,14 +1114,14 @@ WHBLOCK *wp; /* head of structure to fre
}
}
-PASCAL NEAR execfile(f, n) /* execute a series of commands in a file */
+int PASCAL NEAR execfile(f, n) /* execute a series of commands in a file */
int f, n; /* default flag and numeric arg to pass on to file */
{
register int status; /* return status of name query */
char fname[NSTRING]; /* name of file to execute */
- char *fspec; /* full file spec */
+ CONST char *fspec; /* full file spec */
#if WINDOW_MSWIN
/* special case: we want filenamedlg to refrain from stuffing a
@@ -1161,9 +1165,9 @@ exec1: /* otherwise, execute it */
/* dofile: yank a file into a buffer and execute it
if there are no errors, delete the buffer on exit */
-PASCAL NEAR dofile(fname)
+int PASCAL NEAR dofile(fname)
-char *fname; /* file name to execute */
+CONST char *fname; /* file name to execute */
{
register BUFFER *bp; /* buffer to place file to exeute */