]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sd-radv: use struct initializers 10947/head
authorLennart Poettering <lennart@poettering.net>
Mon, 26 Nov 2018 21:13:36 +0000 (22:13 +0100)
committerLennart Poettering <lennart@poettering.net>
Mon, 26 Nov 2018 21:31:15 +0000 (22:31 +0100)
src/libsystemd-network/sd-radv.c

index acca734659c51c3bb29a20eb45a96f1997d150bd..4df7f273ce7c8a3547357d64479fff1c067d867d 100644 (file)
@@ -698,31 +698,29 @@ _public_ int sd_radv_set_dnssl(sd_radv *ra, uint32_t lifetime,
 }
 
 _public_ int sd_radv_prefix_new(sd_radv_prefix **ret) {
-        _cleanup_(sd_radv_prefix_unrefp) sd_radv_prefix *p = NULL;
+        sd_radv_prefix *p;
 
         assert_return(ret, -EINVAL);
 
-        p = new0(sd_radv_prefix, 1);
+        p = new(sd_radv_prefix, 1);
         if (!p)
                 return -ENOMEM;
 
-        p->n_ref = 1;
-
-        p->opt.type = ND_OPT_PREFIX_INFORMATION;
-        p->opt.length = (sizeof(p->opt) - 1) /8 + 1;
-
-        p->opt.prefixlen = 64;
+        *p = (sd_radv_prefix) {
+                .n_ref = 1,
 
-        /* RFC 4861, Section 6.2.1 */
-        SET_FLAG(p->opt.flags, ND_OPT_PI_FLAG_ONLINK, true);
-        SET_FLAG(p->opt.flags, ND_OPT_PI_FLAG_AUTO, true);
-        p->opt.preferred_lifetime = htobe32(604800);
-        p->opt.valid_lifetime = htobe32(2592000);
+                .opt.type = ND_OPT_PREFIX_INFORMATION,
+                .opt.length = (sizeof(p->opt) - 1)/8 + 1,
+                .opt.prefixlen = 64,
 
-        LIST_INIT(prefix, p);
+                /* RFC 4861, Section 6.2.1 */
+                .opt.flags = ND_OPT_PI_FLAG_ONLINK|ND_OPT_PI_FLAG_AUTO,
 
-        *ret = TAKE_PTR(p);
+                .opt.preferred_lifetime = htobe32(604800),
+                .opt.valid_lifetime = htobe32(2592000),
+        };
 
+        *ret = p;
         return 0;
 }