From 71a6151083d842b2f5bf04e50239f0bf85d34d2e Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Tue, 19 Nov 2013 16:17:55 +0100 Subject: conf-parser: distinguish between multiple sections with the same name Pass on the line on which a section was decleared to the parsers, so they can distinguish between multiple sections (if they chose to). Currently no parsers take advantage of this, but a follow-up patch will do that to distinguish [Address] Address=192.168.0.1/24 Label=one [Address] Address=192.168.0.2/24 Label=two from [Address] Address=192.168.0.1/24 Label=one Address=192.168.0.2/24 Label=two --- src/network/networkd-address.c | 1 + src/network/networkd-route.c | 1 + src/network/networkd.h | 8 ++++---- 3 files changed, 6 insertions(+), 4 deletions(-) (limited to 'src/network') diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c index 9fb24c95c1..0e582d626c 100644 --- a/src/network/networkd-address.c +++ b/src/network/networkd-address.c @@ -115,6 +115,7 @@ int config_parse_address(const char *unit, const char *filename, unsigned line, const char *section, + unsigned section_line, const char *lvalue, int ltype, const char *rvalue, diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c index 6ac5c52472..3eca3cc547 100644 --- a/src/network/networkd-route.c +++ b/src/network/networkd-route.c @@ -100,6 +100,7 @@ int config_parse_gateway(const char *unit, const char *filename, unsigned line, const char *section, + unsigned section_line, const char *lvalue, int ltype, const char *rvalue, diff --git a/src/network/networkd.h b/src/network/networkd.h index 498f2cdf09..11012f5558 100644 --- a/src/network/networkd.h +++ b/src/network/networkd.h @@ -164,8 +164,8 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(Route*, route_free); #define _cleanup_route_free_ _cleanup_(route_freep) int config_parse_gateway(const char *unit, const char *filename, unsigned line, - const char *section, const char *lvalue, int ltype, - const char *rvalue, void *data, void *userdata); + const char *section, unsigned section_line, const char *lvalue, + int ltype, const char *rvalue, void *data, void *userdata); /* Address */ int address_new(Network *network, Address **ret); @@ -176,8 +176,8 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(Address*, address_free); #define _cleanup_address_free_ _cleanup_(address_freep) int config_parse_address(const char *unit, const char *filename, unsigned line, - const char *section, const char *lvalue, int ltype, - const char *rvalue, void *data, void *userdata); + const char *section, unsigned section_line, const char *lvalue, + int ltype, const char *rvalue, void *data, void *userdata); /* Link */ -- cgit v1.2.3-54-g00ecf