chiark / gitweb /
udev: link-config - fix mem leak
[elogind.git] / src / notify / notify.c
index 1e9766f86213fce91f3ae12e1ddeb6c676d68d26..68133c408b73d44f04dc726033efc32532302876 100644 (file)
@@ -77,7 +77,7 @@ static int parse_argv(int argc, char *argv[]) {
                 { "status",    required_argument, NULL, ARG_STATUS    },
                 { "booted",    no_argument,       NULL, ARG_BOOTED    },
                 { "readahead", required_argument, NULL, ARG_READAHEAD },
-                { NULL,        0,                 NULL, 0             }
+                {}
         };
 
         int c;
@@ -90,8 +90,7 @@ static int parse_argv(int argc, char *argv[]) {
                 switch (c) {
 
                 case 'h':
-                        help();
-                        return 0;
+                        return help();
 
                 case ARG_VERSION:
                         puts(PACKAGE_STRING);
@@ -130,8 +129,7 @@ static int parse_argv(int argc, char *argv[]) {
                         return -EINVAL;
 
                 default:
-                        log_error("Unknown option code %c", c);
-                        return -EINVAL;
+                        assert_not_reached("Unhandled option");
                 }
         }
 
@@ -157,7 +155,8 @@ int main(int argc, char* argv[]) {
         log_parse_environment();
         log_open();
 
-        if ((r = parse_argv(argc, argv)) <= 0) {
+        r = parse_argv(argc, argv);
+        if (r <= 0) {
                 retval = r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
                 goto finish;
         }
@@ -185,7 +184,7 @@ int main(int argc, char* argv[]) {
         }
 
         if (arg_pid > 0) {
-                if (asprintf(&cpid, "MAINPID=%lu", (unsigned long) arg_pid) < 0) {
+                if (asprintf(&cpid, "MAINPID="PID_FMT, arg_pid) < 0) {
                         log_error("Failed to allocate MAINPID string.");
                         goto finish;
                 }