diff options
author | ngie <ngie@FreeBSD.org> | 2015-11-26 07:58:22 +0000 |
---|---|---|
committer | ngie <ngie@FreeBSD.org> | 2015-11-26 07:58:22 +0000 |
commit | 0bfc2d2318acb87f49cc8a19fe9b84d68b5cc23e (patch) | |
tree | 48877a87419195f1c21e7c9f1dc917d2a8b37218 /tools/regression/lib | |
parent | 65973d76a00c2eb030c0df2c50cf0d5b34c2e7c7 (diff) | |
download | FreeBSD-src-0bfc2d2318acb87f49cc8a19fe9b84d68b5cc23e.zip FreeBSD-src-0bfc2d2318acb87f49cc8a19fe9b84d68b5cc23e.tar.gz |
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
Diffstat (limited to 'tools/regression/lib')
-rw-r--r-- | tools/regression/lib/libc/resolv/resolv.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/tools/regression/lib/libc/resolv/resolv.c b/tools/regression/lib/libc/resolv/resolv.c index 9392872..2ec3eeb 100644 --- a/tools/regression/lib/libc/resolv/resolv.c +++ b/tools/regression/lib/libc/resolv/resolv.c @@ -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; } |