r291359 was incorrect. Skip over tokens that start with `#' as fgetln can

return more than one '\n' delimited line in a buffer

Handle empty lines too, just in case

MFC after: 3 days
X-MFC with: r291359
This commit is contained in:
Enji Cooper 2015-11-26 07:58:22 +00:00
parent 059d81a6e4
commit a6961d88b4
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=291362

View File

@ -87,13 +87,14 @@ load(const char *fname)
if ((fp = fopen(fname, "r")) == NULL)
err(1, "Cannot open `%s'", fname);
while ((line = fgetln(fp, &len)) != NULL) {
if (line[0] == '#')
continue;
char c = line[len];
char *ptr;
line[len] = '\0';
for (ptr = strtok(line, WS); ptr; ptr = strtok(NULL, WS))
for (ptr = strtok(line, WS); ptr; ptr = strtok(NULL, WS)) {
if (ptr == '\0' || ptr[0] == '#')
continue;
sl_add(hosts, strdup(ptr));
}
line[len] = c;
}