chiark / gitweb /
util: simplify get_ctty()
[elogind.git] / src / shared / conf-parser.c
index 1e3cee5bebc4c21c97f161bda15e8201650fb4a4..d5a639e874a3138bfe040977f1e7fa46a1da905c 100644 (file)
@@ -332,6 +332,8 @@ int config_parse(const char *unit,
                 }
         }
 
+        fd_warn_permissions(filename, fileno(f));
+
         while (!feof(f)) {
                 char l[LINE_MAX], *p, *c = NULL, *e;
                 bool escaped = false;
@@ -528,6 +530,35 @@ int config_parse_bool(const char* unit,
         return 0;
 }
 
+int config_parse_show_status(const char* unit,
+                             const char *filename,
+                             unsigned line,
+                             const char *section,
+                             unsigned section_line,
+                             const char *lvalue,
+                             int ltype,
+                             const char *rvalue,
+                             void *data,
+                             void *userdata) {
+
+        int k;
+        ShowStatus *b = data;
+
+        assert(filename);
+        assert(lvalue);
+        assert(rvalue);
+        assert(data);
+
+        k = parse_show_status(rvalue, b);
+        if (k < 0) {
+                log_syntax(unit, LOG_ERR, filename, line, -k,
+                           "Failed to parse show status setting, ignoring: %s", rvalue);
+                return 0;
+        }
+
+        return 0;
+}
+
 int config_parse_string(const char *unit,
                         const char *filename,
                         unsigned line,