]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
battery-check: use proc_cmdline_get_bool
authorMike Yuan <me@yhndnzj.com>
Thu, 10 Aug 2023 15:25:44 +0000 (23:25 +0800)
committerMike Yuan <me@yhndnzj.com>
Sun, 13 Aug 2023 04:52:16 +0000 (12:52 +0800)
src/battery-check/battery-check.c

index c3091d3474fb0b02d980ea52731fdb3ac52f5f00..3430d2c8a9cf91a37133b3e407f7dea970c79661 100644 (file)
@@ -88,23 +88,6 @@ static int plymouth_send_message(const char *mode, const char *message) {
         return 0;
 }
 
-static int parse_proc_cmdline_item(const char *key, const char *value, void *data) {
-        int r;
-
-        assert(key);
-
-        if (streq(key, "systemd.battery-check")) {
-
-                r = value ? parse_boolean(value) : 1;
-                if (r < 0)
-                        log_warning_errno(r, "Failed to parse %s switch, ignoring: %s", key, value);
-                else
-                        arg_doit = r;
-        }
-
-        return 0;
-}
-
 static int parse_argv(int argc, char * argv[]) {
 
         enum {
@@ -153,9 +136,9 @@ static int run(int argc, char *argv[]) {
 
         log_setup();
 
-        r = proc_cmdline_parse(parse_proc_cmdline_item, NULL, PROC_CMDLINE_STRIP_RD_PREFIX);
+        r = proc_cmdline_get_bool("systemd.battery-check", PROC_CMDLINE_STRIP_RD_PREFIX|PROC_CMDLINE_TRUE_WHEN_MISSING, &arg_doit);
         if (r < 0)
-                log_warning_errno(r, "Failed to parse kernel command line, ignoring: %m");
+                log_warning_errno(r, "Failed to parse systemd.battery-check= kernel command line option, ignoring: %m");
 
         r = parse_argv(argc, argv);
         if (r <= 0)