ctags: Use C99 bool instead of defining our own

Use stdbool.h definitions instead of defining non-standard ones.

Signed-off-by: Collin Funk <collin.funk1@gmail.com>

Reviewed by:	markj
MFC after:	2 weeks
Pull Request:	https://github.com/freebsd/freebsd-src/pull/1107
This commit is contained in:
Collin Funk 2024-02-06 16:34:50 -08:00 committed by Mark Johnston
parent e1e636193d
commit 87b0195ace
7 changed files with 70 additions and 71 deletions

View file

@ -37,10 +37,10 @@
#include "ctags.h"
static int func_entry(void);
static bool func_entry(void);
static void hash_entry(void);
static void skip_string(int);
static int str_entry(int);
static bool str_entry(int);
/*
* c_entries --
@ -52,13 +52,13 @@ c_entries(void)
int c; /* current character */
int level; /* brace level */
int token; /* if reading a token */
int t_def; /* if reading a typedef */
bool t_def; /* if reading a typedef */
int t_level; /* typedef's brace level */
char *sp; /* buffer pointer */
char tok[MAXTOKEN]; /* token buffer */
lineftell = ftell(inf);
sp = tok; token = t_def = NO; t_level = -1; level = 0; lineno = 1;
sp = tok; token = t_def = false; t_level = -1; level = 0; lineno = 1;
while (GETC(!=, EOF)) {
switch (c) {
/*
@ -92,11 +92,11 @@ c_entries(void)
*/
endtok: if (sp > tok) {
*sp = EOS;
token = YES;
token = true;
sp = tok;
}
else
token = NO;
token = false;
continue;
/*
@ -174,7 +174,7 @@ c_entries(void)
*/
case ';':
if (t_def && level == t_level) {
t_def = NO;
t_def = false;
get_line();
if (sp != tok)
*sp = EOS;
@ -207,7 +207,7 @@ c_entries(void)
/* no typedefs inside typedefs */
if (!t_def &&
!memcmp(tok, "typedef",8)) {
t_def = YES;
t_def = true;
t_level = level;
break;
}
@ -233,15 +233,15 @@ c_entries(void)
if (sp == tok + sizeof tok - 1)
/* Too long -- truncate it */
*sp = EOS;
else
else
*sp++ = c;
token = YES;
token = true;
}
continue;
}
sp = tok;
token = NO;
token = false;
}
}
@ -249,7 +249,7 @@ c_entries(void)
* func_entry --
* handle a function reference
*/
static int
static bool
func_entry(void)
{
int c; /* current character */
@ -287,7 +287,7 @@ func_entry(void)
SETLINE;
}
}
return (NO);
return (false);
fnd:
/*
* we assume that the character after a function's right paren
@ -299,7 +299,7 @@ func_entry(void)
if (c == '\n')
SETLINE;
if (c == EOF)
return NO;
return false;
/*
* Recognize the gnu __attribute__ extension, which would
* otherwise make the heuristic test DTWT
@ -311,7 +311,7 @@ func_entry(void)
}
} else {
if (intoken(c)) {
if (anext - maybe_attribute
if (anext - maybe_attribute
< (ptrdiff_t)(sizeof attribute - 1))
*anext++ = c;
else break;
@ -320,7 +320,7 @@ func_entry(void)
*anext++ = '\0';
if (strcmp(maybe_attribute, attribute) == 0) {
(void)ungetc(c, inf);
return NO;
return false;
}
break;
}
@ -331,12 +331,12 @@ func_entry(void)
skip_comment(c);
else { /* don't ever "read" '/' */
(void)ungetc(c, inf);
return (NO);
return (false);
}
}
if (c != '{')
(void)skip_key('{');
return (YES);
return (true);
}
/*
@ -365,7 +365,7 @@ hash_entry(void)
if (sp == tok + sizeof tok - 1)
/* Too long -- truncate it */
*sp = EOS;
else
else
*sp++ = c;
}
*sp = EOS;
@ -381,7 +381,7 @@ hash_entry(void)
if (sp == tok + sizeof tok - 1)
/* Too long -- truncate it */
*sp = EOS;
else
else
*sp++ = c;
if (GETC(==, EOF))
return;
@ -409,7 +409,7 @@ skip: if (c == '\n') { /* get rid of rest of define */
* str_entry --
* handle a struct, union or enum entry
*/
static int
static bool
str_entry(int c) /* c is current character */
{
int curline; /* line started on */
@ -419,17 +419,17 @@ str_entry(int c) /* c is current character */
curline = lineno;
while (iswhite(c))
if (GETC(==, EOF))
return (NO);
return (false);
if (c == '{') /* it was "struct {" */
return (YES);
return (true);
for (sp = tok;;) { /* get next token */
if (sp == tok + sizeof tok - 1)
/* Too long -- truncate it */
*sp = EOS;
else
else
*sp++ = c;
if (GETC(==, EOF))
return (NO);
return (false);
if (!intoken(c))
break;
}
@ -446,12 +446,12 @@ str_entry(int c) /* c is current character */
break;
if (c != '{') {
(void)ungetc(c, inf);
return (NO);
return (false);
}
}
*sp = EOS;
pfnote(tok, curline);
return (YES);
return (true);
}
/*
@ -468,7 +468,7 @@ skip_comment(int t) /* t is comment character */
switch(c) {
/* comments don't nest, nor can they be escaped. */
case '*':
star = YES;
star = true;
break;
case '/':
if (star && t == '*')
@ -480,7 +480,7 @@ skip_comment(int t) /* t is comment character */
return;
/*FALLTHROUGH*/
default:
star = NO;
star = false;
break;
}
}
@ -495,7 +495,7 @@ skip_string(int key)
int c,
skip;
for (skip = NO; GETC(!=, EOF); )
for (skip = false; GETC(!=, EOF); )
switch (c) {
case '\\': /* a backslash escapes anything */
skip = !skip; /* we toggle in case it's "\\" */
@ -506,7 +506,7 @@ skip_string(int key)
default:
if (c == key && !skip)
return;
skip = NO;
skip = false;
}
}
@ -514,21 +514,21 @@ skip_string(int key)
* skip_key --
* skip to next char "key"
*/
int
bool
skip_key(int key)
{
int c,
skip,
retval;
int c;
bool skip;
bool retval;
for (skip = retval = NO; GETC(!=, EOF);)
for (skip = retval = false; GETC(!=, EOF);)
switch(c) {
case '\\': /* a backslash escapes anything */
skip = !skip; /* we toggle in case it's "\\" */
break;
case ';': /* special case for yacc; if one */
case '|': /* of these chars occurs, we may */
retval = YES; /* have moved out of the rule */
retval = true; /* have moved out of the rule */
break; /* not used by C */
case '\'':
case '"':
@ -551,7 +551,7 @@ skip_key(int key)
norm:
if (c == key && !skip)
return (retval);
skip = NO;
skip = false;
}
return (retval);
}

View file

@ -86,8 +86,8 @@ main(int argc, char **argv)
setlocale(LC_ALL, "");
aflag = uflag = NO;
tflag = YES;
aflag = uflag = false;
tflag = true;
while ((ch = getopt(argc, argv, "BFTadf:tuwvx")) != -1)
switch(ch) {
case 'B':
@ -97,7 +97,7 @@ main(int argc, char **argv)
searchar = '/';
break;
case 'T':
tflag = NO;
tflag = false;
break;
case 'a':
aflag++;
@ -109,7 +109,7 @@ main(int argc, char **argv)
outfile = optarg;
break;
case 't':
tflag = YES;
tflag = true;
break;
case 'u':
uflag++;
@ -251,24 +251,24 @@ init(void)
const unsigned char *sp;
for (i = 0; i < 256; i++) {
_wht[i] = _etk[i] = _itk[i] = _btk[i] = NO;
_gd[i] = YES;
_wht[i] = _etk[i] = _itk[i] = _btk[i] = false;
_gd[i] = true;
}
#define CWHITE " \f\t\n"
for (sp = CWHITE; *sp; sp++) /* white space chars */
_wht[*sp] = YES;
_wht[*sp] = true;
#define CTOKEN " \t\n\"'#()[]{}=-+%*/&|^~!<>;,.:?"
for (sp = CTOKEN; *sp; sp++) /* token ending chars */
_etk[*sp] = YES;
_etk[*sp] = true;
#define CINTOK "ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz0123456789"
for (sp = CINTOK; *sp; sp++) /* valid in-token chars */
_itk[*sp] = YES;
_itk[*sp] = true;
#define CBEGIN "ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"
for (sp = CBEGIN; *sp; sp++) /* token starting chars */
_btk[*sp] = YES;
_btk[*sp] = true;
#define CNOTGD ",;"
for (sp = CNOTGD; *sp; sp++) /* invalid after-function chars */
_gd[*sp] = NO;
_gd[*sp] = false;
}
/*

View file

@ -30,10 +30,9 @@
*
*/
#define bool char
/* This header requires bool for some externed symbols. */
#include <stdbool.h>
#define YES 1
#define NO 0
#define EOS '\0'
#define ENDLINE 50 /* max length of pattern */
@ -81,14 +80,14 @@ extern char lbuf[LINE_MAX];
extern char *lbp;
extern char searchar; /* ex search character */
extern int cicmp(const char *);
extern bool cicmp(const char *);
extern void get_line(void);
extern void pfnote(const char *, int);
extern int skip_key(int);
extern bool skip_key(int);
extern void put_entries(NODE *);
extern void toss_yysec(void);
extern void l_entries(void);
extern void y_entries(void);
extern int PF_funcs(void);
extern bool PF_funcs(void);
extern void c_entries(void);
extern void skip_comment(int);

View file

@ -41,14 +41,14 @@ static void takeprec(void);
char *lbp; /* line buffer pointer */
int
bool
PF_funcs(void)
{
bool pfcnt; /* pascal/fortran functions found */
char *cp;
char tok[MAXTOKEN];
for (pfcnt = NO;;) {
for (pfcnt = false;;) {
lineftell = ftell(inf);
if (!fgets(lbuf, sizeof(lbuf), inf))
return (pfcnt);
@ -120,7 +120,7 @@ PF_funcs(void)
(void)strlcpy(tok, lbp, sizeof(tok)); /* possible trunc */
get_line(); /* process line for ex(1) */
pfnote(tok, lineno);
pfcnt = YES;
pfcnt = true;
}
/*NOTREACHED*/
}
@ -129,7 +129,7 @@ PF_funcs(void)
* cicmp --
* do case-independent strcmp
*/
int
bool
cicmp(const char *cp)
{
int len;
@ -140,9 +140,9 @@ cicmp(const char *cp)
continue;
if (!*cp) {
lbp += len;
return (YES);
return (true);
}
return (NO);
return (false);
}
static void

View file

@ -44,7 +44,7 @@
void
l_entries(void)
{
int special;
bool special;
char *cp;
char savedc;
char tok[MAXTOKEN];
@ -57,15 +57,15 @@ l_entries(void)
lbp = lbuf;
if (!cicmp("(def"))
continue;
special = NO;
special = false;
switch(*lbp | ' ') {
case 'm':
if (cicmp("method"))
special = YES;
special = true;
break;
case 'w':
if (cicmp("wrapper") || cicmp("whopper"))
special = YES;
special = true;
}
for (; !isspace(*lbp); ++lbp)
continue;

View file

@ -100,7 +100,7 @@ add_node(NODE *node, NODE *cur_node)
if (!cur_node->been_warned)
if (!wflag)
fprintf(stderr, "Duplicate entry in files %s and %s: %s (Warning only)\n", node->file, cur_node->file, node->entry);
cur_node->been_warned = YES;
cur_node->been_warned = true;
}
else if (dif < 0)
if (cur_node->left)

View file

@ -48,7 +48,7 @@ y_entries(void)
bool in_rule;
char tok[MAXTOKEN];
in_rule = NO;
in_rule = false;
while (GETC(!=, EOF))
switch (c) {
@ -62,12 +62,12 @@ y_entries(void)
break;
case '{':
if (skip_key('}'))
in_rule = NO;
in_rule = false;
break;
case '\'':
case '"':
if (skip_key(c))
in_rule = NO;
in_rule = false;
break;
case '%':
if (GETC(==, '%'))
@ -82,7 +82,7 @@ y_entries(void)
break;
case '|':
case ';':
in_rule = NO;
in_rule = false;
break;
default:
if (in_rule || (!isalpha(c) && c != '.' && c != '_'))
@ -101,7 +101,7 @@ y_entries(void)
}
if (c == ':') {
pfnote(tok, lineno);
in_rule = YES;
in_rule = true;
}
else
(void)ungetc(c, inf);