MFC: r282449, r282450, r282451, r282452, r282453, r282454, r282455, r282457,

r282459, r282460, r282461

Modernize code: ansification, use c99 features
Improve style(9)
Better memory checking
This commit is contained in:
Baptiste Daroussin 2015-05-15 08:53:52 +00:00
parent 61f24514d2
commit 230bd5e545
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/stable/10/; revision=282950
5 changed files with 202 additions and 218 deletions

View File

@ -11,7 +11,7 @@ FILESDIR= ${SHAREDIR}/misc
FILESDIR_tmac.vgrind= ${SHAREDIR}/tmac
MAN= vgrind.1 vgrindefs.5
WARNS?= 2
WARNS?= 3
BINDIR= /usr/libexec
SCRIPTSDIR=/usr/bin

View File

@ -31,9 +31,7 @@
* $FreeBSD$
*/
typedef int boolean;
extern boolean _escaped; /* if last character was an escape */
extern bool _escaped; /* if last character was an escape */
extern char *s_start; /* start of the current string */
extern char *l_acmbeg; /* string introducing a comment */
extern char *l_acmend; /* string ending a comment */
@ -45,11 +43,11 @@ extern char *l_combeg; /* string introducing a comment */
extern char *l_comend; /* string ending a comment */
extern char l_escape; /* character used to escape characters */
extern char *l_keywds[]; /* keyword table address */
extern boolean l_onecase; /* upper and lower case are equivalent */
extern bool l_onecase; /* upper and lower case are equivalent */
extern char *l_prcbeg; /* regular expr for procedure begin */
extern char *l_strbeg; /* delimiter for string constant */
extern char *l_strend; /* delimiter for string constant */
extern boolean l_toplex; /* procedures only defined at top lex level */
extern bool l_toplex; /* procedures only defined at top lex level */
extern const char *language; /* the language indicator */
#include <sys/cdefs.h>

View File

@ -44,19 +44,16 @@ static const char sccsid[] = "@(#)regexp.c 8.1 (Berkeley) 6/6/93";
#include <ctype.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#include "extern.h"
#define FALSE 0
#define TRUE !(FALSE)
#define NIL 0
static void expconv(void);
boolean _escaped; /* true if we are currently _escaped */
bool _escaped; /* true if we are currently x_escaped */
char *s_start; /* start of string */
boolean l_onecase; /* true if upper and lower equivalent */
bool l_onecase; /* true if upper and lower equivalent */
#define makelower(c) (isupper((c)) ? tolower((c)) : (c))
@ -66,9 +63,7 @@ boolean l_onecase; /* true if upper and lower equivalent */
*/
int
STRNCMP(s1, s2, len)
register char *s1,*s2;
register int len;
STRNCMP(register char *s1, register char *s2, register int len)
{
if (l_onecase) {
do
@ -147,18 +142,18 @@ STRNCMP(s1, s2, len)
static char *ccre; /* pointer to current position in converted exp*/
static char *ure; /* pointer current position in unconverted exp */
/* re: unconverted irregular expression */
char *
convexp(re)
char *re; /* unconverted irregular expression */
convexp(char *re)
{
register char *cre; /* pointer to converted regular expression */
/* allocate room for the converted expression */
if (re == NIL)
return (NIL);
if (re == NULL)
return (NULL);
if (*re == '\0')
return (NIL);
cre = malloc (4 * strlen(re) + 3);
return (NULL);
cre = malloc(4 * strlen(re) + 3);
ccre = cre;
ure = re;
@ -182,9 +177,9 @@ expconv()
register int temp;
/* let the conversion begin */
acs = NIL;
cs = NIL;
while (*ure != NIL) {
acs = NULL;
cs = NULL;
while (*ure) {
switch (c = *ure++) {
case '\\':
@ -192,7 +187,7 @@ expconv()
/* escaped characters are just characters */
default:
if (cs == NIL || (*cs & STR) == 0) {
if (cs == NULL || (*cs & STR) == 0) {
cs = ccre;
*cs = STR;
SCNT(cs) = 1;
@ -207,13 +202,13 @@ expconv()
case 'd':
case 'e':
case 'p':
if (acs != NIL && acs != cs) {
if (acs != NULL && acs != cs) {
do {
temp = OCNT(acs);
OCNT(acs) = ccre - acs;
acs -= temp;
} while (temp != 0);
acs = NIL;
acs = NULL;
}
cs = ccre;
*cs = META;
@ -226,13 +221,13 @@ expconv()
/* just put the symbol in */
case '^':
case '$':
if (acs != NIL && acs != cs) {
if (acs != NULL && acs != cs) {
do {
temp = OCNT(acs);
OCNT(acs) = ccre - acs;
acs -= temp;
} while (temp != 0);
acs = NIL;
acs = NULL;
}
cs = ccre;
*cs = META;
@ -248,31 +243,31 @@ expconv()
/* recurse and define a subexpression */
case '(':
if (acs != NIL && acs != cs) {
if (acs != NULL && acs != cs) {
do {
temp = OCNT(acs);
OCNT(acs) = ccre - acs;
acs -= temp;
} while (temp != 0);
acs = NIL;
acs = NULL;
}
cs = ccre;
*cs = OPER;
OSYM(cs) = '(';
ccre = ONEXT(cs);
expconv ();
expconv();
OCNT(cs) = ccre - cs; /* offset to next symbol */
break;
/* return from a recursion */
case ')':
if (acs != NIL) {
if (acs != NULL) {
do {
temp = OCNT(acs);
OCNT(acs) = ccre - acs;
acs -= temp;
} while (temp != 0);
acs = NIL;
acs = NULL;
}
cs = ccre;
*cs = META;
@ -284,7 +279,7 @@ expconv()
/* the third byte will contain an offset to jump over the */
/* alternate match in case the first did not fail */
case '|':
if (acs != NIL && acs != cs)
if (acs != NULL && acs != cs)
OCNT(ccre) = ccre - acs; /* make a back pointer */
else
OCNT(ccre) = 0;
@ -298,7 +293,7 @@ expconv()
/* if its not a metasymbol just build a scharacter string */
default:
if (cs == NIL || (*cs & STR) == 0) {
if (cs == NULL || (*cs & STR) == 0) {
cs = ccre;
*cs = STR;
SCNT(cs) = 1;
@ -309,13 +304,13 @@ expconv()
break;
}
}
if (acs != NIL) {
if (acs != NULL) {
do {
temp = OCNT(acs);
OCNT(acs) = ccre - acs;
acs -= temp;
} while (temp != 0);
acs = NIL;
acs = NULL;
}
return;
}
@ -344,21 +339,23 @@ expconv()
* character matched.
*/
/*
* s: string to check for a match in
* re: a converted irregular expression
* mstring: where to put whatever matches a \p
*/
char *
expmatch (s, re, mstring)
register char *s; /* string to check for a match in */
register char *re; /* a converted irregular expression */
register char *mstring; /* where to put whatever matches a \p */
expmatch (register char *s, register char *re, register char *mstring)
{
register char *cs; /* the current symbol */
register char *ptr,*s1; /* temporary pointer */
boolean matched; /* a temporary boolean */
bool matched; /* a temporary bool */
/* initial conditions */
if (re == NIL)
return (NIL);
if (re == NULL)
return (NULL);
cs = re;
matched = FALSE;
matched = false;
/* loop till expression string is exhausted (or at least pretty tired) */
while (*cs) {
@ -384,7 +381,7 @@ expmatch (s, re, mstring)
} else {
/* no match, error return */
return (NIL);
return (NULL);
}
break;
@ -406,8 +403,8 @@ expmatch (s, re, mstring)
/* this is a grouping, recurse */
case '(':
ptr = expmatch (s, ONEXT(cs), mstring);
if (ptr != NIL) {
ptr = expmatch(s, ONEXT(cs), mstring);
if (ptr != NULL) {
/* the subexpression matched */
matched = 1;
@ -423,7 +420,7 @@ expmatch (s, re, mstring)
} else {
/* no match, error return */
return (NIL);
return (NULL);
}
cs = OPTR(cs);
break;
@ -443,35 +440,35 @@ expmatch (s, re, mstring)
*/
s1 = s;
do {
ptr = expmatch (s1, MNEXT(cs), mstring);
if (ptr != NIL && s1 != s) {
ptr = expmatch(s1, MNEXT(cs), mstring);
if (ptr != NULL && s1 != s) {
/* we have a match, remember the match */
strncpy (mstring, s, s1 - s);
mstring[s1 - s] = '\0';
return (ptr);
} else if (ptr != NIL && (*cs & OPT)) {
} else if (ptr != NULL && (*cs & OPT)) {
/* it was aoptional so no match is ok */
return (ptr);
} else if (ptr != NIL) {
} else if (ptr != NULL) {
/* not optional and we still matched */
return (NIL);
return (NULL);
}
if (!(isalnum(*s1) || *s1 == '_' ||
/* C++ destructor */
*s1 == '~' ||
/* C++ scope operator */
(strlen(s1) > 1 && *s1 == ':' && s1[1] == ':' &&
(s1++, TRUE))))
return (NIL);
(s1++, true))))
return (NULL);
if (*s1 == '\\')
_escaped = _escaped ? FALSE : TRUE;
_escaped = _escaped ? false : true;
else
_escaped = FALSE;
_escaped = false;
} while (*s1++);
return (NIL);
return (NULL);
/* try to match anything */
case 'a':
@ -482,31 +479,31 @@ expmatch (s, re, mstring)
*/
s1 = s;
do {
ptr = expmatch (s1, MNEXT(cs), mstring);
if (ptr != NIL && s1 != s) {
ptr = expmatch(s1, MNEXT(cs), mstring);
if (ptr != NULL && s1 != s) {
/* we have a match */
return (ptr);
} else if (ptr != NIL && (*cs & OPT)) {
} else if (ptr != NULL && (*cs & OPT)) {
/* it was aoptional so no match is ok */
return (ptr);
} else if (ptr != NIL) {
} else if (ptr != NULL) {
/* not optional and we still matched */
return (NIL);
return (NULL);
}
if (*s1 == '\\')
_escaped = _escaped ? FALSE : TRUE;
_escaped = _escaped ? false : true;
else
_escaped = FALSE;
_escaped = false;
} while (*s1++);
return (NIL);
return (NULL);
/* fail if we are currently _escaped */
case 'e':
if (_escaped)
return(NIL);
return(NULL);
cs = MNEXT(cs);
break;
@ -538,7 +535,7 @@ expmatch (s, re, mstring)
} else
/* no match, error return */
return (NIL);
return (NULL);
break;
/* check for end of line */
@ -562,7 +559,7 @@ expmatch (s, re, mstring)
} else
/* no match, error return */
return (NIL);
return (NULL);
break;
/* check for start of line */
@ -585,7 +582,7 @@ expmatch (s, re, mstring)
} else
/* no match, error return */
return (NIL);
return (NULL);
break;
/* end of a subexpression, return success */

View File

@ -47,14 +47,12 @@ static const char sccsid[] = "@(#)vfontedpr.c 8.1 (Berkeley) 6/6/93";
#include <err.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#include <time.h>
#include "pathnames.h"
#include "extern.h"
#define FALSE 0
#define TRUE !(FALSE)
#define NIL 0
#define STANDARD 0
#define ALTERNATE 1
@ -70,8 +68,8 @@ static const char sccsid[] = "@(#)vfontedpr.c 8.1 (Berkeley) 6/6/93";
#define PSMAX 20 /* size of procedure name stacking */
static int iskw(char *);
static boolean isproc(char *);
static void putKcp(char *, char *, boolean);
static bool isproc(char *);
static void putKcp(char *, char *, bool);
static void putScp(char *);
static void putcp(int);
static int tabs(char *, char *);
@ -81,13 +79,13 @@ static int width(char *, char *);
* The state variables
*/
static boolean filter = FALSE; /* act as a filter (like eqn) */
static boolean inchr; /* in a string constant */
static boolean incomm; /* in a comment of the primary type */
static boolean idx = FALSE; /* form an index */
static boolean instr; /* in a string constant */
static boolean nokeyw = FALSE; /* no keywords being flagged */
static boolean pass = FALSE; /*
static bool filter = false; /* act as a filter (like eqn) */
static bool inchr; /* in a string constant */
static bool incomm; /* in a comment of the primary type */
static bool idx = false; /* form an index */
static bool instr; /* in a string constant */
static bool nokeyw = false; /* no keywords being flagged */
static bool pass = false; /*
* when acting as a filter, pass indicates
* whether we are currently processing
* input.
@ -100,7 +98,7 @@ static char * defsfile[2] = { _PATH_VGRINDEFS, 0 };
static int margin;
static int plstack[PSMAX]; /* the procedure nesting level stack */
static char pname[BUFSIZ+1];
static boolean prccont; /* continue last procedure */
static bool prccont; /* continue last procedure */
static int psptr; /* the stack index of the current procedure */
static char pstack[PSMAX][PNAMELEN+1]; /* the procedure name stack */
@ -122,15 +120,15 @@ char *l_nocom; /* regexp for non-comments */
char *l_prcbeg; /* regular expr for procedure begin */
char *l_strbeg; /* delimiter for string constant */
char *l_strend; /* delimiter for string constant */
boolean l_toplex; /* procedures only defined at top lex level */
bool l_toplex; /* procedures only defined at top lex level */
const char *language = "c"; /* the language indicator */
#define ps(x) printf("%s", x)
static char minus[] = "-";
static char minusn[] = "-n";
int
main(argc, argv)
int argc;
char *argv[];
main(int argc, char **argv)
{
const char *fname = "";
struct stat stbuf;
@ -160,9 +158,9 @@ main(argc, argv)
/* act as a filter like eqn */
if (!strcmp(argv[0], "-f")) {
filter++;
filter = true;
argv[0] = argv[argc-1];
argv[argc-1] = strdup("-");
argv[argc-1] = minus;
continue;
}
@ -174,13 +172,13 @@ main(argc, argv)
/* build an index */
if (!strcmp(argv[0], "-x")) {
idx++;
argv[0] = strdup("-n");
idx = true;
argv[0] = minusn;
}
/* indicate no keywords */
if (!strcmp(argv[0], "-n")) {
nokeyw++;
nokeyw = true;
argc--, argv++;
continue;
}
@ -227,17 +225,17 @@ main(argc, argv)
i = cgetent(&defs, defsfile, language);
if (i == -1) {
fprintf (stderr, "no entry for language %s\n", language);
exit (0);
exit(0);
} else if (i == -2) { fprintf(stderr,
"cannot find vgrindefs file %s\n", defsfile[0]);
exit (0);
exit(0);
} else if (i == -3) { fprintf(stderr,
"potential reference loop detected in vgrindefs file %s\n",
defsfile[0]);
exit(0);
}
if (cgetustr(defs, "kw", &cp) == -1)
nokeyw = TRUE;
nokeyw = true;
else {
char **cpp;
@ -250,7 +248,7 @@ main(argc, argv)
while (*cp != ' ' && *cp != '\t' && *cp)
cp++;
}
*cpp = NIL;
*cpp = NULL;
}
cgetustr(defs, "pb", &cp);
l_prcbeg = convexp(cp);
@ -282,10 +280,10 @@ main(argc, argv)
/* initialize the program */
incomm = FALSE;
instr = FALSE;
inchr = FALSE;
_escaped = FALSE;
incomm = false;
instr = false;
inchr = false;
_escaped = false;
blklevel = 0;
for (psptr=0; psptr<PSMAX; psptr++) {
pstack[psptr][0] = '\0';
@ -321,12 +319,12 @@ main(argc, argv)
if (buf[0] == '.') {
printf("%s", buf);
if (!strncmp (buf+1, "vS", 2))
pass = TRUE;
pass = true;
if (!strncmp (buf+1, "vE", 2))
pass = FALSE;
pass = false;
continue;
}
prccont = FALSE;
prccont = false;
if (!filter || pass)
putScp(buf);
else
@ -349,8 +347,7 @@ main(argc, argv)
#define isidchr(c) (isalnum(c) || (c) == '_')
static void
putScp(os)
char *os;
putScp(char *os)
{
register char *s = os; /* pointer to unmatched string */
char dummy[BUFSIZ]; /* dummy to be used by expmatch */
@ -363,7 +360,7 @@ putScp(os)
char *nocomptr; /* end of a non-comment delimiter */
s_start = os; /* remember the start for expmatch */
_escaped = FALSE;
_escaped = false;
if (nokeyw || incomm || instr)
goto skip;
if (isproc(s)) {
@ -382,82 +379,82 @@ skip:
/* check for string, comment, blockstart, etc */
if (!incomm && !instr && !inchr) {
blkeptr = expmatch (s, l_blkend, dummy);
blksptr = expmatch (s, l_blkbeg, dummy);
comptr = expmatch (s, l_combeg, dummy);
acmptr = expmatch (s, l_acmbeg, dummy);
strptr = expmatch (s, l_strbeg, dummy);
chrptr = expmatch (s, l_chrbeg, dummy);
blkeptr = expmatch(s, l_blkend, dummy);
blksptr = expmatch(s, l_blkbeg, dummy);
comptr = expmatch(s, l_combeg, dummy);
acmptr = expmatch(s, l_acmbeg, dummy);
strptr = expmatch(s, l_strbeg, dummy);
chrptr = expmatch(s, l_chrbeg, dummy);
nocomptr = expmatch (s, l_nocom, dummy);
/* start of non-comment? */
if (nocomptr != NIL)
if ((nocomptr <= comptr || comptr == NIL)
&& (nocomptr <= acmptr || acmptr == NIL)) {
if (nocomptr != NULL)
if ((nocomptr <= comptr || comptr == NULL)
&& (nocomptr <= acmptr || acmptr == NULL)) {
/* continue after non-comment */
putKcp (s, nocomptr-1, FALSE);
putKcp (s, nocomptr-1, false);
s = nocomptr;
continue;
}
/* start of a comment? */
if (comptr != NIL)
if ((comptr < strptr || strptr == NIL)
&& (comptr < acmptr || acmptr == NIL)
&& (comptr < chrptr || chrptr == NIL)
&& (comptr < blksptr || blksptr == NIL)
&& (comptr < blkeptr || blkeptr == NIL)) {
putKcp (s, comptr-1, FALSE);
if (comptr != NULL)
if ((comptr < strptr || strptr == NULL)
&& (comptr < acmptr || acmptr == NULL)
&& (comptr < chrptr || chrptr == NULL)
&& (comptr < blksptr || blksptr == NULL)
&& (comptr < blkeptr || blkeptr == NULL)) {
putKcp(s, comptr-1, false);
s = comptr;
incomm = TRUE;
incomm = true;
comtype = STANDARD;
if (s != os)
ps ("\\c");
ps ("\\c\n'+C\n");
ps("\\c");
ps("\\c\n'+C\n");
continue;
}
/* start of a comment? */
if (acmptr != NIL)
if ((acmptr < strptr || strptr == NIL)
&& (acmptr < chrptr || chrptr == NIL)
&& (acmptr < blksptr || blksptr == NIL)
&& (acmptr < blkeptr || blkeptr == NIL)) {
putKcp (s, acmptr-1, FALSE);
if (acmptr != NULL)
if ((acmptr < strptr || strptr == NULL)
&& (acmptr < chrptr || chrptr == NULL)
&& (acmptr < blksptr || blksptr == NULL)
&& (acmptr < blkeptr || blkeptr == NULL)) {
putKcp(s, acmptr-1, false);
s = acmptr;
incomm = TRUE;
incomm = true;
comtype = ALTERNATE;
if (s != os)
ps ("\\c");
ps ("\\c\n'+C\n");
ps("\\c");
ps("\\c\n'+C\n");
continue;
}
/* start of a string? */
if (strptr != NIL)
if ((strptr < chrptr || chrptr == NIL)
&& (strptr < blksptr || blksptr == NIL)
&& (strptr < blkeptr || blkeptr == NIL)) {
putKcp (s, strptr-1, FALSE);
if (strptr != NULL)
if ((strptr < chrptr || chrptr == NULL)
&& (strptr < blksptr || blksptr == NULL)
&& (strptr < blkeptr || blkeptr == NULL)) {
putKcp(s, strptr-1, false);
s = strptr;
instr = TRUE;
instr = true;
continue;
}
/* start of a character string? */
if (chrptr != NIL)
if ((chrptr < blksptr || blksptr == NIL)
&& (chrptr < blkeptr || blkeptr == NIL)) {
putKcp (s, chrptr-1, FALSE);
if (chrptr != NULL)
if ((chrptr < blksptr || blksptr == NULL)
&& (chrptr < blkeptr || blkeptr == NULL)) {
putKcp(s, chrptr-1, false);
s = chrptr;
inchr = TRUE;
inchr = true;
continue;
}
/* end of a lexical block */
if (blkeptr != NIL) {
if (blkeptr < blksptr || blksptr == NIL) {
putKcp (s, blkeptr - 1, FALSE);
if (blkeptr != NULL) {
if (blkeptr < blksptr || blksptr == NULL) {
putKcp(s, blkeptr - 1, false);
s = blkeptr;
if (blklevel > 0 /* sanity */)
blklevel--;
@ -465,13 +462,13 @@ skip:
/* end of current procedure */
if (s != os)
ps ("\\c");
ps ("\\c\n'-F\n");
ps("\\c");
ps("\\c\n'-F\n");
blklevel = plstack[psptr];
/* see if we should print the last proc name */
if (--psptr >= 0)
prccont = TRUE;
prccont = true;
else
psptr = -1;
}
@ -480,8 +477,8 @@ skip:
}
/* start of a lexical block */
if (blksptr != NIL) {
putKcp (s, blksptr - 1, FALSE);
if (blksptr != NULL) {
putKcp(s, blksptr - 1, false);
s = blksptr;
blklevel++;
continue;
@ -489,64 +486,66 @@ skip:
/* check for end of comment */
} else if (incomm) {
comptr = expmatch (s, l_comend, dummy);
acmptr = expmatch (s, l_acmend, dummy);
if (((comtype == STANDARD) && (comptr != NIL)) ||
((comtype == ALTERNATE) && (acmptr != NIL))) {
comptr = expmatch(s, l_comend, dummy);
acmptr = expmatch(s, l_acmend, dummy);
if (((comtype == STANDARD) && (comptr != NULL)) ||
((comtype == ALTERNATE) && (acmptr != NULL))) {
if (comtype == STANDARD) {
putKcp (s, comptr-1, TRUE);
putKcp(s, comptr-1, true);
s = comptr;
} else {
putKcp (s, acmptr-1, TRUE);
putKcp(s, acmptr-1, true);
s = acmptr;
}
incomm = FALSE;
incomm = false;
ps("\\c\n'-C\n");
continue;
} else {
putKcp (s, s + strlen(s) -1, TRUE);
putKcp(s, s + strlen(s) -1, true);
s = s + strlen(s);
continue;
}
/* check for end of string */
} else if (instr) {
if ((strptr = expmatch (s, l_strend, dummy)) != NIL) {
putKcp (s, strptr-1, TRUE);
if ((strptr = expmatch(s, l_strend, dummy)) != NULL) {
putKcp(s, strptr-1, true);
s = strptr;
instr = FALSE;
instr = false;
continue;
} else {
putKcp (s, s+strlen(s)-1, TRUE);
putKcp(s, s+strlen(s)-1, true);
s = s + strlen(s);
continue;
}
/* check for end of character string */
} else if (inchr) {
if ((chrptr = expmatch (s, l_chrend, dummy)) != NIL) {
putKcp (s, chrptr-1, TRUE);
if ((chrptr = expmatch(s, l_chrend, dummy)) != NULL) {
putKcp(s, chrptr-1, true);
s = chrptr;
inchr = FALSE;
inchr = false;
continue;
} else {
putKcp (s, s+strlen(s)-1, TRUE);
putKcp(s, s+strlen(s)-1, true);
s = s + strlen(s);
continue;
}
}
/* print out the line */
putKcp (s, s + strlen(s) -1, FALSE);
putKcp(s, s + strlen(s) -1, false);
s = s + strlen(s);
} while (*s);
}
/*
* start: start of string to write
* end: end of string to write
* force: true if we should force nokeyw
*/
static void
putKcp (start, end, force)
char *start; /* start of string to write */
char *end; /* end of string to write */
boolean force; /* true if we should force nokeyw */
putKcp(char *start, char *end, bool force)
{
int i;
int xfld = 0;
@ -587,22 +586,20 @@ putKcp (start, end, force)
}
}
putcp ((unsigned char)*start++);
putcp((unsigned char)*start++);
}
}
static int
tabs(s, os)
char *s, *os;
tabs(char *s, char *os)
{
return (width(s, os) / 8);
}
static int
width(s, os)
register char *s, *os;
width(register char *s, register char *os)
{
register int i = 0;
@ -622,8 +619,7 @@ width(s, os)
}
static void
putcp(c)
register int c;
putcp(register int c)
{
switch(c) {
@ -689,16 +685,15 @@ putcp(c)
/*
* look for a process beginning on this line
*/
static boolean
isproc(s)
char *s;
static bool
isproc(char *s)
{
pname[0] = '\0';
if (!l_toplex || blklevel == 0)
if (expmatch (s, l_prcbeg, pname) != NIL) {
return (TRUE);
if (expmatch(s, l_prcbeg, pname) != NULL) {
return (true);
}
return (FALSE);
return (false);
}
@ -706,8 +701,7 @@ isproc(s)
*/
static int
iskw(s)
register char *s;
iskw(register char *s)
{
register char **ss = l_keywds;
register int i = 1;
@ -720,4 +714,3 @@ iskw(s)
return (i);
return (0);
}

View File

@ -55,30 +55,30 @@ __FBSDID("$FreeBSD$");
static char *tbuf;
static char *filename;
static int hopcount; /* detect infinite loops in termcap, init 0 */
char *tskip();
char *tgetstr();
char *tdecode();
char *getenv();
static int tnchktc(void);
static int tnamatch(char *);
static char *tskip(register char *);
static char *tdecode(register char *, char **);
/*
* Get an entry for terminal name in buffer bp,
* from the termcap file. Parse is very rudimentary;
* we just notice escaped newlines.
*/
tgetent(bp, name, file)
char *bp, *name, *file;
int
tgetent(char *bp, char *name, char *file)
{
register char *cp;
register int c;
register int i = 0, cnt = 0;
char ibuf[BUFSIZ];
char *cp2;
int tf;
tbuf = bp;
tf = 0;
filename = file;
tf = open(filename, 0);
tf = open(filename, O_RDONLY);
if (tf < 0)
return (-1);
for (;;) {
@ -125,7 +125,8 @@ tgetent(bp, name, file)
* entries to say "like an HP2621 but doesn't turn on the labels".
* Note that this works because of the left to right scan.
*/
tnchktc()
static int
tnchktc(void)
{
register char *p, *q;
char tcname[16]; /* name of similar terminal */
@ -143,7 +144,7 @@ tnchktc()
/* p now points to beginning of last field */
if (p[0] != 't' || p[1] != 'c')
return(1);
strcpy(tcname,p+3);
strlcpy(tcname, p+3, 16);
q = tcname;
while (q && *q != ':')
q++;
@ -161,7 +162,7 @@ tnchktc()
write(STDERR_FILENO, "Vgrind entry too long\n", 23);
q[BUFSIZ - (p-tbuf)] = 0;
}
strcpy(p, q+1);
strlcpy(p, q+1, BUFSIZ - (p - holdtbuf));
tbuf = holdtbuf;
return(1);
}
@ -172,8 +173,8 @@ tnchktc()
* against each such name. The normal : terminator after the last
* name (before the first field) stops us.
*/
tnamatch(np)
char *np;
static int
tnamatch(char *np)
{
register char *Np, *Bp;
@ -199,8 +200,7 @@ tnamatch(np)
* into the termcap file in octal.
*/
static char *
tskip(bp)
register char *bp;
tskip(register char *bp)
{
while (*bp && *bp != ':')
@ -218,8 +218,8 @@ tskip(bp)
* a # character. If the option is not found we return -1.
* Note that we handle octal numbers beginning with 0.
*/
tgetnum(id)
char *id;
int
tgetnum(char *id)
{
register int i, base;
register char *bp = tbuf;
@ -251,8 +251,8 @@ tgetnum(id)
* of the buffer. Return 1 if we find the option, or 0 if it is
* not given.
*/
tgetflag(id)
char *id;
int
tgetflag(char *id)
{
register char *bp = tbuf;
@ -278,8 +278,7 @@ tgetflag(id)
* No checking on area overflow.
*/
char *
tgetstr(id, area)
char *id, **area;
tgetstr(char *id, char **area)
{
register char *bp = tbuf;
@ -303,13 +302,10 @@ tgetstr(id, area)
* string capability escapes.
*/
static char *
tdecode(str, area)
register char *str;
char **area;
tdecode(register char *str, char **area)
{
register char *cp;
register int c;
int i;
cp = *area;
while (c = *str++) {