531 lines
8.4 KiB
Plaintext
531 lines
8.4 KiB
Plaintext
$NetBSD: patch-ex__put_c,v 1.1 2012/12/28 03:03:08 dholland Exp $
|
|
|
|
- fix up function pointer casting mess
|
|
- avoid implicit int
|
|
- silence warnings about && and || precedence
|
|
- use const for string constants
|
|
- return values from non-void functions
|
|
- silence warnings about braces
|
|
- declare void functions void
|
|
- remove unused function
|
|
|
|
--- ex_put.c.orig 2012-12-27 21:58:42.000000000 +0000
|
|
+++ ex_put.c
|
|
@@ -99,15 +99,13 @@ static char sccsid[] = "@(#)ex_put.c 1.1
|
|
* During open/visual, outchar and putchar will be set to
|
|
* routines in the file ex_vput.c (vputchar, vinschar, etc.).
|
|
*/
|
|
-int (*Outchar)() = termchar;
|
|
-int (*Putchar)() = normchar;
|
|
-int (*Pline)() = normline;
|
|
-
|
|
-int (*
|
|
-setlist(t))()
|
|
- bool t;
|
|
+int (*Outchar)(int) = termchar;
|
|
+int (*Putchar)(int) = normchar;
|
|
+int (*Pline)(int) = normline;
|
|
+
|
|
+int (*setlist(bool t))(int)
|
|
{
|
|
- register int (*P)();
|
|
+ register int (*P)(int);
|
|
|
|
listf = t;
|
|
P = Putchar;
|
|
@@ -115,15 +113,13 @@ setlist(t))()
|
|
return (P);
|
|
}
|
|
|
|
-int (*
|
|
-setnumb(t))()
|
|
- bool t;
|
|
+int (*setnumb(bool t))(int)
|
|
{
|
|
- register int (*P)();
|
|
+ register int (*P)(int);
|
|
|
|
numberf = t;
|
|
P = Pline;
|
|
- Pline = t ? (int(*)()) numbline : (int(*)()) normline;
|
|
+ Pline = t ? numbline : normline;
|
|
return (P);
|
|
}
|
|
|
|
@@ -131,6 +127,7 @@ setnumb(t))()
|
|
* Format c for list mode; leave things in common
|
|
* with normal print mode to be done by normchar.
|
|
*/
|
|
+int
|
|
listchar(c)
|
|
register short c;
|
|
{
|
|
@@ -167,23 +164,24 @@ listchar(c)
|
|
if (c < ' ' && c != '\n')
|
|
outchar('^'), c = ctlof(c);
|
|
#else /* !BIT8 */
|
|
- if (!is_print(c) && c != '\n' || c == DELETE)
|
|
+ if ((!is_print(c) && c != '\n') || c == DELETE)
|
|
c = printof(c);
|
|
#endif
|
|
break;
|
|
}
|
|
- normchar(c);
|
|
+ return normchar(c);
|
|
}
|
|
|
|
/*
|
|
* Format c for printing. Handle funnies of upper case terminals
|
|
* and crocky hazeltines which don't have ~.
|
|
*/
|
|
+int
|
|
normchar(c)
|
|
register short c;
|
|
{
|
|
#ifdef UCVISUAL
|
|
- register char *colp;
|
|
+ register const char *colp;
|
|
|
|
if (c == '~' && xHZ) {
|
|
normchar('\\');
|
|
@@ -196,7 +194,7 @@ normchar(c)
|
|
if (c & QUOTE) {
|
|
#else
|
|
if (c == overbuf)
|
|
- return;
|
|
+ return c;
|
|
if (quot(c)) {
|
|
#endif
|
|
switch (c) {
|
|
@@ -231,7 +229,7 @@ normchar(c)
|
|
putchar('^'), c = ctlof(c);
|
|
#endif /* !BIT8 */
|
|
#ifdef UCVISUAL
|
|
- else if (UPPERCASE)
|
|
+ else if (UPPERCASE) {
|
|
if (isupper(c)) {
|
|
outchar('\\');
|
|
c = tolower(c);
|
|
@@ -244,11 +242,13 @@ normchar(c)
|
|
break;
|
|
}
|
|
}
|
|
+ }
|
|
#endif /* UCVISUAL */
|
|
#ifdef BIT8
|
|
}
|
|
#endif
|
|
outchar(c);
|
|
+ return c;
|
|
}
|
|
|
|
/*
|
|
@@ -256,8 +256,8 @@ normchar(c)
|
|
* the printing of the line will erase or otherwise obliterate
|
|
* the prompt which was printed before. If it won't, do it now.
|
|
*/
|
|
-slobber(c)
|
|
- int c;
|
|
+static void
|
|
+slobber(int c)
|
|
{
|
|
|
|
shudclob = 0;
|
|
@@ -288,6 +288,7 @@ slobber(c)
|
|
/*
|
|
* Print a line with a number.
|
|
*/
|
|
+int
|
|
numbline(i)
|
|
int i;
|
|
{
|
|
@@ -295,13 +296,14 @@ numbline(i)
|
|
if (shudclob)
|
|
slobber(' ');
|
|
printf("%6d ", i);
|
|
- normline();
|
|
+ return normline(i);
|
|
}
|
|
|
|
/*
|
|
* Normal line output, no numbering.
|
|
*/
|
|
-normline()
|
|
+int
|
|
+normline(int arg)
|
|
{
|
|
register char *cp;
|
|
|
|
@@ -320,6 +322,7 @@ normline()
|
|
putchar('\n');
|
|
#endif
|
|
}
|
|
+ return arg;
|
|
}
|
|
|
|
/*
|
|
@@ -340,11 +343,12 @@ static bool phadnl;
|
|
/*
|
|
* Indirect to current definition of putchar.
|
|
*/
|
|
+int
|
|
putchar(c)
|
|
int c;
|
|
{
|
|
|
|
- (*Putchar)(c);
|
|
+ return (*Putchar)(c);
|
|
}
|
|
|
|
/*
|
|
@@ -353,6 +357,7 @@ putchar(c)
|
|
* Otherwise flush into next level of buffering when
|
|
* small buffer fills or at a newline.
|
|
*/
|
|
+int
|
|
termchar(c)
|
|
int c;
|
|
{
|
|
@@ -368,9 +373,11 @@ termchar(c)
|
|
fgoto();
|
|
flush1();
|
|
}
|
|
+ return c;
|
|
}
|
|
|
|
-flush2()
|
|
+static void
|
|
+flush2(void)
|
|
{
|
|
|
|
fgoto();
|
|
@@ -378,6 +385,7 @@ flush2()
|
|
pstop();
|
|
}
|
|
|
|
+void
|
|
flush()
|
|
{
|
|
|
|
@@ -390,6 +398,7 @@ flush()
|
|
* Work here is destroying motion into positions, and then
|
|
* letting fgoto do the optimized motion.
|
|
*/
|
|
+void
|
|
flush1()
|
|
{
|
|
register char *lp;
|
|
@@ -472,16 +481,19 @@ static int plodcnt, plodflg;
|
|
* and backspace.
|
|
*/
|
|
|
|
-plodput(c)
|
|
+static int
|
|
+plodput(int c)
|
|
{
|
|
|
|
if (plodflg)
|
|
plodcnt--;
|
|
else
|
|
putch(c);
|
|
+ return c;
|
|
}
|
|
|
|
-plod(cnt)
|
|
+static int
|
|
+plod(int cnt)
|
|
{
|
|
register int i, j, k = 0;
|
|
register int soutcol, soutline;
|
|
@@ -585,7 +597,7 @@ plod(cnt)
|
|
* If it will be cheaper, or if we can't back up, then send
|
|
* a return preliminarily.
|
|
*/
|
|
- if (j > i + 1 || outcol > destcol && !BS && !BC) {
|
|
+ if (j > i + 1 || (outcol > destcol && !BS && !BC)) {
|
|
/*
|
|
* BUG: this doesn't take the (possibly long) length
|
|
* of xCR into account.
|
|
@@ -764,6 +776,7 @@ out:
|
|
* column position implied by wraparound or the lack thereof and
|
|
* rolling up the screen to get destline on the screen.
|
|
*/
|
|
+void
|
|
fgoto()
|
|
{
|
|
register int l, c;
|
|
@@ -778,11 +791,12 @@ fgoto()
|
|
outcol %= TCOLUMNS;
|
|
if (AM == 0) {
|
|
while (l > 0) {
|
|
- if (pfast)
|
|
+ if (pfast) {
|
|
if (xCR)
|
|
tputs(xCR, 0, putch);
|
|
else
|
|
putch('\r');
|
|
+ }
|
|
if (xNL)
|
|
tputs(xNL, 0, putch);
|
|
else
|
|
@@ -834,7 +848,7 @@ fgoto()
|
|
outcol = 0;
|
|
}
|
|
}
|
|
- if (destline < outline && !(CA && !holdcm || UP != NOSTR))
|
|
+ if (destline < outline && !((CA && !holdcm) || UP != NOSTR))
|
|
destline = outline;
|
|
if (CA && !holdcm)
|
|
if (plod(costCM) > 0)
|
|
@@ -851,6 +865,7 @@ fgoto()
|
|
* Tab to column col by flushing and then setting destcol.
|
|
* Used by "set all".
|
|
*/
|
|
+void
|
|
tab(col)
|
|
int col;
|
|
{
|
|
@@ -865,6 +880,7 @@ tab(col)
|
|
* Approximate because kill character echoes newline with
|
|
* no feedback and also because of long input lines.
|
|
*/
|
|
+void
|
|
noteinp()
|
|
{
|
|
|
|
@@ -883,6 +899,7 @@ noteinp()
|
|
* On cursor addressible terminals setting to unknown
|
|
* will force a cursor address soon.
|
|
*/
|
|
+void
|
|
termreset()
|
|
{
|
|
|
|
@@ -906,12 +923,14 @@ termreset()
|
|
*/
|
|
char *obp = obuf;
|
|
|
|
+void
|
|
draino()
|
|
{
|
|
|
|
obp = obuf;
|
|
}
|
|
|
|
+void
|
|
flusho()
|
|
{
|
|
|
|
@@ -921,12 +940,15 @@ flusho()
|
|
}
|
|
}
|
|
|
|
+void
|
|
putnl()
|
|
{
|
|
|
|
putchar('\n');
|
|
}
|
|
|
|
+#if 0 /* unused */
|
|
+void
|
|
putS(cp)
|
|
char *cp;
|
|
{
|
|
@@ -936,8 +958,10 @@ putS(cp)
|
|
while (*cp)
|
|
putch(*cp++);
|
|
}
|
|
+#endif
|
|
|
|
|
|
+int
|
|
putch(c)
|
|
int c;
|
|
{
|
|
@@ -953,6 +977,7 @@ putch(c)
|
|
#endif
|
|
if (obp >= &obuf[sizeof obuf])
|
|
flusho();
|
|
+ return c;
|
|
}
|
|
|
|
/*
|
|
@@ -962,8 +987,9 @@ putch(c)
|
|
/*
|
|
* Put with padding
|
|
*/
|
|
+void
|
|
putpad(cp)
|
|
- char *cp;
|
|
+ const char *cp;
|
|
{
|
|
|
|
flush();
|
|
@@ -973,6 +999,7 @@ putpad(cp)
|
|
/*
|
|
* Set output through normal command mode routine.
|
|
*/
|
|
+void
|
|
setoutt()
|
|
{
|
|
|
|
@@ -983,27 +1010,29 @@ setoutt()
|
|
* Printf (temporarily) in list mode.
|
|
*/
|
|
/*VARARGS2*/
|
|
+void
|
|
#ifndef __STDC__
|
|
lprintf(cp, dp)
|
|
- char *cp, *dp;
|
|
+ const char *cp, *dp;
|
|
{
|
|
- register int (*P)();
|
|
+ register int (*P)(int);
|
|
|
|
P = setlist(1);
|
|
printf(cp, dp);
|
|
Putchar = P;
|
|
}
|
|
#else
|
|
-vlprintf(char *cp, va_list ap)
|
|
+vlprintf(const char *cp, va_list ap)
|
|
{
|
|
- register int (*P)();
|
|
+ register int (*P)(int);
|
|
|
|
P = setlist(1);
|
|
vprintf(cp, ap);
|
|
Putchar = P;
|
|
}
|
|
|
|
-lprintf(char *cp, ...)
|
|
+void
|
|
+lprintf(const char *cp, ...)
|
|
{
|
|
va_list ap;
|
|
|
|
@@ -1016,6 +1045,7 @@ lprintf(char *cp, ...)
|
|
/*
|
|
* Newline + flush.
|
|
*/
|
|
+void
|
|
putNFL()
|
|
{
|
|
|
|
@@ -1027,8 +1057,8 @@ putNFL()
|
|
* sTTY: set the tty modes on file descriptor i to be what's
|
|
* currently in global "tty". (Also use nttyc if needed.)
|
|
*/
|
|
-sTTY(i)
|
|
- int i;
|
|
+static void
|
|
+sTTY(int i)
|
|
{
|
|
|
|
#ifdef POSIX_1
|
|
@@ -1067,6 +1097,7 @@ sTTY(i)
|
|
/*
|
|
* Try to start -nl mode.
|
|
*/
|
|
+void
|
|
pstart()
|
|
{
|
|
|
|
@@ -1101,6 +1132,7 @@ pstart()
|
|
/*
|
|
* Stop -nl mode.
|
|
*/
|
|
+void
|
|
pstop()
|
|
{
|
|
|
|
@@ -1121,7 +1153,8 @@ pstop()
|
|
*/
|
|
#ifndef TERMIO_S
|
|
#ifdef TIOCGETC
|
|
-ttcharoff()
|
|
+static void
|
|
+ttcharoff(void)
|
|
{
|
|
nttyc.t_quitc = '\377';
|
|
if (nttyc.t_startc != CTRL('q'))
|
|
@@ -1138,7 +1171,8 @@ ttcharoff()
|
|
#endif
|
|
|
|
#else /* TERMIO_S */
|
|
-ttcharoff()
|
|
+static void
|
|
+ttcharoff(void)
|
|
{
|
|
#ifdef _PC_VDISABLE
|
|
long vdis;
|
|
@@ -1239,6 +1273,7 @@ ostart()
|
|
}
|
|
|
|
/* actions associated with putting the terminal in open mode */
|
|
+void
|
|
tostart()
|
|
{
|
|
putpad(VS);
|
|
@@ -1275,6 +1310,7 @@ tostart()
|
|
/*
|
|
* Stop open, restoring tty modes.
|
|
*/
|
|
+void
|
|
ostop(f)
|
|
ttymode f;
|
|
{
|
|
@@ -1290,6 +1326,7 @@ ostop(f)
|
|
}
|
|
|
|
/* Actions associated with putting the terminal in the right mode. */
|
|
+void
|
|
tostop()
|
|
{
|
|
putpad(VE);
|
|
@@ -1302,7 +1339,8 @@ tostop()
|
|
/*
|
|
* Into cooked mode for interruptibility.
|
|
*/
|
|
-vcook()
|
|
+void
|
|
+vcook(void)
|
|
{
|
|
|
|
tty.sg_flags &= ~RAW;
|
|
@@ -1312,7 +1350,8 @@ vcook()
|
|
/*
|
|
* Back into raw mode.
|
|
*/
|
|
-vraw()
|
|
+void
|
|
+vraw(void)
|
|
{
|
|
|
|
tty.sg_flags |= RAW;
|
|
@@ -1323,6 +1362,7 @@ vraw()
|
|
/*
|
|
* Restore flags to normal state f.
|
|
*/
|
|
+void
|
|
normal(f)
|
|
ttymode f;
|
|
{
|
|
@@ -1365,6 +1405,7 @@ setty(f)
|
|
return (ot);
|
|
}
|
|
|
|
+void
|
|
gTTY(i)
|
|
int i;
|
|
{
|
|
@@ -1391,6 +1432,7 @@ gTTY(i)
|
|
/*
|
|
* Print newline, or blank if in open/visual
|
|
*/
|
|
+void
|
|
noonl()
|
|
{
|
|
|