chiark / gitweb /
util: simplify proc_cmdline() to reuse get_process_cmdline()
[elogind.git] / src / quotacheck / quotacheck.c
index efd6e18308ae5d201d8d850d06679e668285b2d7..6f39dae2afb6cb27e29e64657e3c2362e30fb825 100644 (file)
@@ -42,10 +42,9 @@ static int parse_proc_cmdline_item(const char *key, const char *value) {
                 else if (streq(value, "skip"))
                         arg_skip = true;
                 else
-                        log_warning("Invalid quotacheck.mode= parameter. Ignoring.");
+                        log_warning("Invalid quotacheck.mode= parameter '%s'. Ignoring.", value);
+        }
 
-        } else if (startswith(key, "quotacheck."))
-                log_warning("Invalid quotacheck parameter. Ignoring.");
 #ifdef HAVE_SYSV_COMPAT
         else if (streq(key, "forcequotacheck") && !value) {
                 log_warning("Please use 'quotacheck.mode=force' rather than 'forcequotacheck' on the kernel command line.");
@@ -57,6 +56,7 @@ static int parse_proc_cmdline_item(const char *key, const char *value) {
 }
 
 static void test_files(void) {
+
 #ifdef HAVE_SYSV_COMPAT
         if (access("/forcequotacheck", F_OK) >= 0) {
                 log_error("Please pass 'quotacheck.mode=force' on the kernel command line rather than creating /forcequotacheck on the root file system.");
@@ -74,6 +74,7 @@ int main(int argc, char *argv[]) {
         };
 
         pid_t pid;
+        int r;
 
         if (argc > 1) {
                 log_error("This program takes no arguments.");
@@ -86,7 +87,10 @@ int main(int argc, char *argv[]) {
 
         umask(0022);
 
-        parse_proc_cmdline(parse_proc_cmdline_item);
+        r = parse_proc_cmdline(parse_proc_cmdline_item);
+        if (r < 0)
+                log_warning("Failed to parse kernel command line, ignoring: %s", strerror(-r));
+
         test_files();
 
         if (!arg_force) {
@@ -107,5 +111,7 @@ int main(int argc, char *argv[]) {
                 _exit(1); /* Operational error */
         }
 
-        return wait_for_terminate_and_warn("quotacheck", pid) >= 0 ? EXIT_SUCCESS : EXIT_FAILURE;
+        r = wait_for_terminate_and_warn("quotacheck", pid);
+
+        return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
 }