diff options
-rw-r--r-- | src/tag.c | 12 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 10 insertions, 4 deletions
@@ -1797,13 +1797,16 @@ line_read_in: */ if (state == TS_START) { - /* The header ends when the line sorts below "!_TAG_". - * There may be non-header items before the header though, - * e.g. "!" itself. When case is folded lower case letters - * sort before "_". */ + /* The header ends when the line sorts below "!_TAG_". When + * case is folded lower case letters sort before "_". */ if (STRNCMP(lbuf, "!_TAG_", 6) <= 0 || (lbuf[0] == '!' && ASCII_ISLOWER(lbuf[1]))) { + if (STRNCMP(lbuf, "!_TAG_", 6) != 0) + /* Non-header item before the header, e.g. "!" itself. + */ + goto parse_line; + /* * Read header line. */ @@ -1898,6 +1901,7 @@ line_read_in: #endif } +parse_line: /* * Figure out where the different strings are in this line. * For "normal" tags: Do a quick check if the tag matches. diff --git a/src/version.c b/src/version.c index ce71dff777..97657b6e51 100644 --- a/src/version.c +++ b/src/version.c @@ -739,6 +739,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 17, +/**/ 16, /**/ 15, |