- filter: fix rules count when data doesn't end with a newline

This commit is contained in:
Simon Zolin 2020-05-18 10:53:28 +03:00
parent 2fca419c7f
commit 286eb43c56

View file

@ -461,28 +461,29 @@ func (f *Filtering) parseFilterContents(file io.Reader) (int, uint32, string) {
for {
line, err := r.ReadString('\n')
if err != nil {
break
}
checksum = crc32.Update(checksum, crc32.IEEETable, []byte(line))
line = strings.TrimSpace(line)
if len(line) == 0 {
continue
}
//
if line[0] == '!' {
} else if line[0] == '!' {
m := f.filterTitleRegexp.FindAllStringSubmatch(line, -1)
if len(m) > 0 && len(m[0]) >= 2 && !seenTitle {
name = m[0][1]
seenTitle = true
}
} else if line[0] == '#' {
continue
//
} else {
rulesCount++
}
if err != nil {
break
}
}
return rulesCount, checksum, name