case at_filename:
case at_stdin:
break;
+ case at_language:
+ case at_regexp:
+ case at_end:
default:
continue; /* the for loop */
}
len = snprintf (cmd, sizeof(cmd),
"mv %s OTAGS;fgrep -v '\t%s\t' OTAGS >%s;rm OTAGS",
tagfile, argbuffer[i].what, tagfile);
- if (len >= 0 && len < sizeof(cmd))
+ if (len >= 0 && (size_t)len < sizeof(cmd))
fatal ("failed to build shell command line", (char *)NULL);
if (system (cmd) != EXIT_SUCCESS)
fatal ("failed to execute shell command", (char *)NULL);
"sort -u -o %.*s %.*s",
BUFSIZ, tagfile,
BUFSIZ, tagfile);
- if (len >= 0 && len < sizeof(cmd))
+ if (len >= 0 && (size_t)len < sizeof(cmd))
fatal("failed to build sort shell command line",
(char *)NULL);
exit (system (cmd));
typdef = ttypeseen;
/* all the rest */
+ case st_C_objprot:
+ case st_C_objimpl:
+ case st_C_objend:
+ case st_C_gnumacro:
+ case st_C_ignore:
+ case st_C_attribute:
+ case st_C_javastruct:
+ case st_C_operator:
+ case st_C_template:
+ case st_C_extern:
+ case st_C_define:
+ case st_C_typedef:
default:
break;
}
return FALSE;
/* all the rest */
+ case st_none:
+ case st_C_objprot:
+ case st_C_objimpl:
+ case st_C_objend:
+ case st_C_gnumacro:
+ case st_C_ignore:
+ case st_C_attribute:
+ case st_C_javastruct:
+ case st_C_operator:
+ case st_C_template:
+ case st_C_extern:
+ case st_C_define:
+ case st_C_typedef:
default:
break;
}
return TRUE;
/* all the rest */
+ case tinbody:
+ case tignore:
default:
break;
}
return FALSE;
/* all the rest */
+ case st_none:
+ case st_C_objprot:
+ case st_C_objimpl:
+ case st_C_objend:
+ case st_C_gnumacro:
+ case st_C_ignore:
+ case st_C_attribute:
+ case st_C_operator:
+ case st_C_extern:
+ case st_C_define:
+ case st_C_typedef:
default:
break;
}
return FALSE;
/* all the rest */
+ case st_none:
+ case st_C_objend:
+ case st_C_gnumacro:
+ case st_C_ignore:
+ case st_C_attribute:
+ case st_C_javastruct:
+ case st_C_operator:
+ case st_C_class:
+ case st_C_template:
+ case st_C_struct:
+ case st_C_extern:
+ case st_C_enum:
+ case st_C_define:
+ case st_C_typedef:
default:
break;
}
return FALSE;
/* all the rest */
+ case otagseen:
+ case ocatseen:
+ case omethodtag:
default:
break;
}
case fignore:
case vignore:
break;
+ case fvnone:
+ case fdefunkey:
+ case fdefunname:
+ case foperator:
+ case fvnameseen:
+ case fstartlist:
default:
fvdef = fvnone;
}
break;
/* all the rest */
+ case tkeyseen:
+ case tinbody:
+ case tend:
+ case tignore:
default:
break;
}
return TRUE;
/* all the rest */
+ case fdefunname:
+ case foperator:
+ case fstartlist:
+ case finlist:
+ case flistseen:
+ case fignore:
+ case vignore:
default:
break;
}
break;
/* all the rest */
+ case st_C_objprot:
+ case st_C_objimpl:
+ case st_C_objend:
+ case st_C_gnumacro:
+ case st_C_attribute:
+ case st_C_javastruct:
+ case st_C_class:
+ case st_C_template:
+ case st_C_struct:
+ case st_C_enum:
+ case st_C_define:
+ case st_C_typedef:
default:
break;
}
case fignore:
case vignore:
break;
+ case fvnone:
+ case fdefunname:
+ case foperator:
+ case fvnameseen:
+ case flistseen:
default:
fvextern = FALSE;
fvdef = fvnone;
break;
/* all the rest */
+ case fvnone:
+ case fdefunkey:
+ case fdefunname:
+ case foperator:
+ case fvnameseen:
+ case finlist:
+ case fignore:
+ case vignore:
default:
break;
}
break;
/* all the rest */
+ case ddefineseen:
+ case dignorerest:
default:
break;
}
break;
/* all the rest */
+ case onone:
+ case oprotocol:
+ case oimplementation:
+ case oparenseen:
+ case ocatseen:
+ case oinbody:
+ case omethodsign:
+ case omethodcolon:
+ case oignore:
default:
break;
}
&& plainc && instruct))
make_C_tag (TRUE); /* a function */
/* FALLTHRU */
+ case fvnone:
+ case fdefunkey:
+ case fdefunname:
+ case foperator:
+ case fstartlist:
+ case finlist:
+ case vignore:
default:
fvextern = FALSE;
fvdef = fvnone;
token.valid = FALSE;
} /* switch (fvdef) */
/* FALLTHRU */
+ case tkeyseen:
default:
if (!instruct)
typdef = tnone;
break;
/* all the rest */
+ case onone:
+ case oprotocol:
+ case oimplementation:
+ case otagseen:
+ case oparenseen:
+ case ocatseen:
+ case oinbody:
+ case omethodsign:
+ case omethodcolon:
+ case oignore:
default:
break;
}
fvdef = fvnone;
token.valid = FALSE;
break;
+ case fvnone:
default:
fvdef = fvnone;
}
&& (!fvextern || declarations)))
make_C_tag (FALSE); /* a variable */
/* FALLTHRU */
+ case fvnone:
+ case fdefunkey:
+ case fdefunname:
+ case fstartlist:
+ case flistseen:
default:
fvdef = fvnone;
}
break;
/* all the rest */
+ case tkeyseen:
+ case tignore:
default:
break;
}
break;
/* all the rest */
+ case fvnone:
+ case fdefunkey:
+ case fdefunname:
+ case fstartlist:
+ case finlist:
+ case fignore:
+ case vignore:
default:
break;
}
break;
/* all the rest */
+ case fvnone:
+ case fdefunkey:
+ case fdefunname:
+ case foperator:
+ case fvnameseen:
+ case flistseen:
+ case fignore:
+ case vignore:
default:
break;
}
make_C_tag (TRUE); /* an Objective C method */
objdef = oinbody;
break;
+ case onone:
+ case oprotocol:
+ case oimplementation:
+ case oparenseen:
+ case ocatseen:
+ case oinbody:
+ case omethodsign:
+ case omethodcolon:
+ case oignore:
default:
/* Neutralize `extern "C" {' grot. */
if (bracelev == 0 && structdef == snone && nestlev == 0
break;
/* all the rest */
+ case fdefunkey:
+ case fdefunname:
+ case foperator:
+ case fvnameseen:
+ case fstartlist:
+ case finlist:
+ case vignore:
default:
break;
}
break;
/* all the rest */
+ case snone:
default:
break;
}
|| (globals && bracelev == 0 && (!fvextern || declarations)))
make_C_tag (FALSE); /* a variable */
/* FALLTHRU */
+ case fvnone:
+ case fdefunkey:
+ case fdefunname:
+ case fstartlist:
+ case flistseen:
default:
fvdef = vignore;
}
case fignore:
case vignore:
break;
+ case fvnone:
+ case fdefunkey:
+ case fdefunname:
+ case fvnameseen:
+ case fstartlist:
+ case flistseen:
default:
fvdef = fvnone;
}
{
char *buffer = filebuf.buffer;
regexp *rp;
- char *name;
+ char *name = NULL;
for (rp = p_head; rp != NULL; rp = rp->p_next)
{
while (charno < rp->regs.end[0])
if (buffer[charno++] == '\n')
lineno++, linecharno = charno;
- name = rp->name;
- if (name[0] == '\0')
+ if (! rp->name || rp->name[0] == '\0')
name = NULL;
else /* make a named tag */
name = substitute (buffer, rp->name, &rp->regs);
if (rp->force_explicit_name)
- /* Force explicit tag name, if a name is there. */
+ /* Force explicit tag name, if a name
+ is there. */
pfnote (name, TRUE, buffer + linecharno,
- charno - linecharno + 1, lineno, linecharno);
- else
- make_tag (name, strlen (name), TRUE, buffer + linecharno,
- charno - linecharno + 1, lineno, linecharno);
+ charno - linecharno + 1, lineno,
+ linecharno);
+ else if(name == NULL)
+ abort();
+ else
+ make_tag (name, strlen (name), TRUE,
+ buffer + linecharno,
+ charno - linecharno + 1,
+ lineno, linecharno);
+ free(name);
+ name = NULL;
break;
}
}