diff options
author | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2011-01-18 17:17:46 +0100 |
---|---|---|
committer | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2011-01-18 17:17:46 +0100 |
commit | cac607bd8850e00356e4d97b05e7c8adfb3fa640 (patch) | |
tree | befa146e2c99f2557ee385865070c5853eb887b7 /lib | |
parent | 1d4c46ed1088f40315695bc2de12bddc35b536a1 (diff) | |
download | ipset-cac607bd8850e00356e4d97b05e7c8adfb3fa640.tar.gz |
Show correct line numbers in restore output for parser errors
Parser errors are reported by a wrong lineno at restore, bug reported
by Holger Eitzenberger:
create foo6 hash:ip hashsize 64 family inet6
add foo6 20a1:1234:5678::/64
add foo6 20a1:1234:5679::/64
you get:
ipset v5.2: Error in line 1: Syntax error: plain IP address must be supplied: 20a1:1234:5678::/64
Should be line 2 though.
The solution is to set the session lineno before parsing.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/session.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/session.c b/lib/session.c index 311e5df..a193143 100644 --- a/lib/session.c +++ b/lib/session.c @@ -98,6 +98,19 @@ ipset_saved_type(const struct ipset_session *session) return session->saved_type; } +/** + * ipset_session_lineno - set session lineno + * @session: session structure + * + * Set session lineno to report parser errors correctly. + */ +void +ipset_session_lineno(struct ipset_session *session, uint32_t lineno) +{ + assert(session); + session->lineno = lineno; +} + /* * Environment options */ |