From ea55500409651b0f8fd2c8a02fdbf245acc96dd8 Mon Sep 17 00:00:00 2001 From: Steve Hill Date: Tue, 28 Jul 2009 16:36:14 -0400 Subject: lib: Improve error reporting from broken config files * command.h: (config_from_file) Add variable to interface for line number reporting. * command.c: (config_from_file) Set & increment 'line_num' while parsing. * vty.c: (vty_read_file) Report parse errors in the correct order to stderr, with added line numbers. --- lib/command.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lib/command.c') diff --git a/lib/command.c b/lib/command.c index 7249c653..1087ceb8 100644 --- a/lib/command.c +++ b/lib/command.c @@ -2762,13 +2762,15 @@ cmd_execute_command_strict (vector vline, struct vty *vty, /* Configration make from file. */ int -config_from_file (struct vty *vty, FILE *fp) +config_from_file (struct vty *vty, FILE *fp, unsigned int *line_num) { int ret; + *line_num = 0; vector vline; while (fgets (vty->buf, VTY_BUFSIZ, fp)) { + ++(*line_num); vline = cmd_make_strvec (vty->buf); /* In case of comment line */ -- cgit v1.2.3