aboutsummaryrefslogtreecommitdiff
path: root/networking/nameif.c
diff options
context:
space:
mode:
Diffstat (limited to 'networking/nameif.c')
-rw-r--r--networking/nameif.c20
1 files changed, 6 insertions, 14 deletions
diff --git a/networking/nameif.c b/networking/nameif.c
index f3d333baf..506f4fa1c 100644
--- a/networking/nameif.c
+++ b/networking/nameif.c
@@ -160,21 +160,13 @@ int nameif_main(int argc, char **argv)
160 prepend_new_eth_table(&clist, ifname, *argv++); 160 prepend_new_eth_table(&clist, ifname, *argv++);
161 } 161 }
162 } else { 162 } else {
163 ifh = xfopen(fname, "r"); 163 struct parser_t parser;
164 while ((line = xmalloc_fgets(ifh)) != NULL) { 164 if (config_open(&parser, fname)) {
165 char *next; 165 char *tokens[2];
166 166 while (config_read(&parser, tokens, 2, 2, " \t", '#'))
167 line_ptr = skip_whitespace(line); 167 prepend_new_eth_table(&clist, tokens[0], tokens[1]);
168 if ((line_ptr[0] == '#') || (line_ptr[0] == '\n')) 168 config_close(&parser);
169 goto read_next_line;
170 next = skip_non_whitespace(line_ptr);
171 if (*next)
172 *next++ = '\0';
173 prepend_new_eth_table(&clist, line_ptr, next);
174 read_next_line:
175 free(line);
176 } 169 }
177 fclose(ifh);
178 } 170 }
179 171
180 ctl_sk = xsocket(PF_INET, SOCK_DGRAM, 0); 172 ctl_sk = xsocket(PF_INET, SOCK_DGRAM, 0);