Fix rare assertion violations in 'etags'

* lib-src/etags.c (pfnote): Instead of raising an assertion when
we get an empty tag name, return immediately.  (Bug#41465)

* test/manual/etags/ETAGS.good_1:
* test/manual/etags/ETAGS.good_2:
* test/manual/etags/ETAGS.good_3:
* test/manual/etags/ETAGS.good_4:
* test/manual/etags/ETAGS.good_5:
* test/manual/etags/ETAGS.good_6: Adapt to latest changes in
etags.
This commit is contained in:
Eli Zaretskii 2020-05-24 18:01:45 +03:00
parent cddb0079ff
commit 0195809bb6
7 changed files with 4421 additions and 4418 deletions

View file

@ -1984,8 +1984,11 @@ pfnote (char *name, bool is_func, char *linestart, ptrdiff_t linelen,
{
register node *np;
assert (name == NULL || name[0] != '\0');
if (CTAGS && name == NULL)
if ((CTAGS && name == NULL)
/* We used to have an assertion here for the case below, but if we hit
that case, it just means our parser got confused, and there's nothing
to do about such empty "tags". */
|| (!CTAGS && name && name[0] == '\0'))
return;
np = xnew (1, node);

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff