Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP3:GA
systemd.414
0001-conf-parser-silently-ignore-sections-start...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0001-conf-parser-silently-ignore-sections-starting-with-X.patch of Package systemd.414
From 342aea195051633c69ba7b8c02c82a0e5f8cbde4 Mon Sep 17 00:00:00 2001 From: Michael Marineau <michael.marineau@coreos.com> Date: Fri, 16 May 2014 16:58:31 -0700 Subject: [PATCH] conf-parser: silently ignore sections starting with "X-" This allows external tools to keep additional unit information in a separate section without scaring users with a big warning. --- src/shared/conf-parser.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git src/shared/conf-parser.c src/shared/conf-parser.c index d27b1b7..062b15b 100644 --- src/shared/conf-parser.c +++ src/shared/conf-parser.c @@ -204,6 +204,7 @@ static int parse_line(const char* unit, bool allow_include, char **section, unsigned *section_line, + bool *section_ignored, char *l, void *userdata) { @@ -266,7 +267,7 @@ static int parse_line(const char* unit, if (sections && !nulstr_contains(sections, n)) { - if (!relaxed) + if (!relaxed && !startswith(n, "X-")) log_syntax(unit, LOG_WARNING, filename, line, EINVAL, "Unknown section '%s'. Ignoring.", n); @@ -274,10 +275,12 @@ static int parse_line(const char* unit, free(*section); *section = NULL; *section_line = 0; + *section_ignored = true; } else { free(*section); *section = n; *section_line = line; + *section_ignored = false; } return 0; @@ -285,7 +288,7 @@ static int parse_line(const char* unit, if (sections && !*section) { - if (!relaxed) + if (!relaxed && !*section_ignored) log_syntax(unit, LOG_WARNING, filename, line, EINVAL, "Assignment outside of section. Ignoring."); @@ -328,6 +331,7 @@ int config_parse(const char *unit, _cleanup_free_ char *section = NULL, *continuation = NULL; _cleanup_fclose_ FILE *ours = NULL; unsigned line = 0, section_line = 0; + bool section_ignored = false; int r; assert(filename); @@ -399,6 +403,7 @@ int config_parse(const char *unit, allow_include, §ion, §ion_line, + §ion_ignored, p, userdata); free(c); -- 1.7.9.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor