chiark / gitweb /
machinectl: use initialization instead of zeroing
[elogind.git] / src / machine / machinectl.c
index ee802b1e8bd2993774cbe75fbabdc50937845e43..c48abcd0bb7aa51f41ffe5c57d1dec6b1021910b 100644 (file)
@@ -409,11 +409,14 @@ static int openpt_in_namespace(pid_t pid, int flags) {
         _cleanup_close_ int nsfd = -1, rootfd = -1;
         _cleanup_free_ char *ns = NULL, *root = NULL;
         _cleanup_close_pipe_ int sock[2] = { -1, -1 };
-        struct msghdr mh;
         union {
                 struct cmsghdr cmsghdr;
                 uint8_t buf[CMSG_SPACE(sizeof(int))];
-        } control;
+        } control = {};
+        struct msghdr mh = {
+                .msg_control = &control,
+                .msg_controllen = sizeof(control),
+        };
         struct cmsghdr *cmsg;
         int master = -1, r;
         pid_t child;
@@ -438,11 +441,6 @@ static int openpt_in_namespace(pid_t pid, int flags) {
         if (socketpair(AF_UNIX, SOCK_DGRAM, 0, sock) < 0)
                 return -errno;
 
-        zero(control);
-        zero(mh);
-        mh.msg_control = &control;
-        mh.msg_controllen = sizeof(control);
-
         child = fork();
         if (child < 0)
                 return -errno;
@@ -686,7 +684,7 @@ static int parse_argv(int argc, char *argv[]) {
                 { "host",            required_argument, NULL, 'H'                 },
                 { "machine",         required_argument, NULL, 'M'                 },
                 { "no-ask-password", no_argument,       NULL, ARG_NO_ASK_PASSWORD },
-                { NULL,              0,                 NULL, 0                   }
+                {}
         };
 
         int c, r;
@@ -699,8 +697,7 @@ static int parse_argv(int argc, char *argv[]) {
                 switch (c) {
 
                 case 'h':
-                        help();
-                        return 0;
+                        return help();
 
                 case ARG_VERSION:
                         puts(PACKAGE_STRING);
@@ -760,8 +757,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");
                 }
         }