From: Zbigniew Jędrzejewski-Szmek Date: Thu, 18 Aug 2022 09:04:16 +0000 (+0200) Subject: sd-netlink: constify parameters in public api and adjust pointer formatting X-Git-Tag: v252-rc1~394^2~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f4f81a6b35f050bfa0dd257a30117467b8739e7d;p=thirdparty%2Fsystemd.git sd-netlink: constify parameters in public api and adjust pointer formatting In the internal api, 'char* const*' is used instead of 'const char* const*' because otherwise we'd get a mismatch with the various strv apis. --- diff --git a/src/libsystemd/sd-netlink/netlink-message.c b/src/libsystemd/sd-netlink/netlink-message.c index 093527a20de..48f962b8b52 100644 --- a/src/libsystemd/sd-netlink/netlink-message.c +++ b/src/libsystemd/sd-netlink/netlink-message.c @@ -256,7 +256,7 @@ _public_ int sd_netlink_message_append_string(sd_netlink_message *m, uint16_t at return 0; } -_public_ int sd_netlink_message_append_strv(sd_netlink_message *m, uint16_t attr_type, char * const *data) { +_public_ int sd_netlink_message_append_strv(sd_netlink_message *m, uint16_t attr_type, const char* const *data) { size_t length, size; int r; diff --git a/src/libsystemd/sd-netlink/netlink-util.c b/src/libsystemd/sd-netlink/netlink-util.c index 8e05161558e..12cdc99ff28 100644 --- a/src/libsystemd/sd-netlink/netlink-util.c +++ b/src/libsystemd/sd-netlink/netlink-util.c @@ -187,7 +187,12 @@ int rtnl_get_link_alternative_names(sd_netlink **rtnl, int ifindex, char ***ret) return 0; } -static int rtnl_update_link_alternative_names(sd_netlink **rtnl, uint16_t nlmsg_type, int ifindex, char * const *alternative_names) { +static int rtnl_update_link_alternative_names( + sd_netlink **rtnl, + uint16_t nlmsg_type, + int ifindex, + char* const *alternative_names) { + _cleanup_(sd_netlink_message_unrefp) sd_netlink_message *message = NULL; int r; @@ -212,7 +217,7 @@ static int rtnl_update_link_alternative_names(sd_netlink **rtnl, uint16_t nlmsg_ if (r < 0) return r; - r = sd_netlink_message_append_strv(message, IFLA_ALT_IFNAME, alternative_names); + r = sd_netlink_message_append_strv(message, IFLA_ALT_IFNAME, (const char**) alternative_names); if (r < 0) return r; @@ -227,15 +232,19 @@ static int rtnl_update_link_alternative_names(sd_netlink **rtnl, uint16_t nlmsg_ return 0; } -int rtnl_set_link_alternative_names(sd_netlink **rtnl, int ifindex, char * const *alternative_names) { +int rtnl_set_link_alternative_names(sd_netlink **rtnl, int ifindex, char* const *alternative_names) { return rtnl_update_link_alternative_names(rtnl, RTM_NEWLINKPROP, ifindex, alternative_names); } -int rtnl_delete_link_alternative_names(sd_netlink **rtnl, int ifindex, char * const *alternative_names) { +int rtnl_delete_link_alternative_names(sd_netlink **rtnl, int ifindex, char* const *alternative_names) { return rtnl_update_link_alternative_names(rtnl, RTM_DELLINKPROP, ifindex, alternative_names); } -int rtnl_set_link_alternative_names_by_ifname(sd_netlink **rtnl, const char *ifname, char * const *alternative_names) { +int rtnl_set_link_alternative_names_by_ifname( + sd_netlink **rtnl, + const char *ifname, + char* const *alternative_names) { + _cleanup_(sd_netlink_message_unrefp) sd_netlink_message *message = NULL; int r; @@ -263,7 +272,7 @@ int rtnl_set_link_alternative_names_by_ifname(sd_netlink **rtnl, const char *ifn if (r < 0) return r; - r = sd_netlink_message_append_strv(message, IFLA_ALT_IFNAME, alternative_names); + r = sd_netlink_message_append_strv(message, IFLA_ALT_IFNAME, (const char**) alternative_names); if (r < 0) return r; diff --git a/src/libsystemd/sd-netlink/netlink-util.h b/src/libsystemd/sd-netlink/netlink-util.h index 9473e157005..d14392a018e 100644 --- a/src/libsystemd/sd-netlink/netlink-util.h +++ b/src/libsystemd/sd-netlink/netlink-util.h @@ -42,9 +42,9 @@ int rtnl_set_link_properties( uint32_t gso_max_size, size_t gso_max_segments); int rtnl_get_link_alternative_names(sd_netlink **rtnl, int ifindex, char ***ret); -int rtnl_set_link_alternative_names(sd_netlink **rtnl, int ifindex, char * const *alternative_names); -int rtnl_set_link_alternative_names_by_ifname(sd_netlink **rtnl, const char *ifname, char * const *alternative_names); -int rtnl_delete_link_alternative_names(sd_netlink **rtnl, int ifindex, char * const *alternative_names); +int rtnl_set_link_alternative_names(sd_netlink **rtnl, int ifindex, char* const *alternative_names); +int rtnl_set_link_alternative_names_by_ifname(sd_netlink **rtnl, const char *ifname, char* const *alternative_names); +int rtnl_delete_link_alternative_names(sd_netlink **rtnl, int ifindex, char* const *alternative_names); int rtnl_resolve_link_alternative_name(sd_netlink **rtnl, const char *name, char **ret); int rtnl_resolve_ifname(sd_netlink **rtnl, const char *name); int rtnl_resolve_interface(sd_netlink **rtnl, const char *name); diff --git a/src/libsystemd/sd-netlink/sd-netlink.c b/src/libsystemd/sd-netlink/sd-netlink.c index 5cb831cb4a9..d1e5e689962 100644 --- a/src/libsystemd/sd-netlink/sd-netlink.c +++ b/src/libsystemd/sd-netlink/sd-netlink.c @@ -947,7 +947,7 @@ _public_ int sd_netlink_add_match( destroy_callback, userdata, description); } -_public_ int sd_netlink_attach_filter(sd_netlink *nl, size_t len, struct sock_filter *filter) { +_public_ int sd_netlink_attach_filter(sd_netlink *nl, size_t len, const struct sock_filter *filter) { assert_return(nl, -EINVAL); assert_return(len == 0 || filter, -EINVAL); @@ -955,7 +955,7 @@ _public_ int sd_netlink_attach_filter(sd_netlink *nl, size_t len, struct sock_fi len == 0 ? SO_DETACH_FILTER : SO_ATTACH_FILTER, &(struct sock_fprog) { .len = len, - .filter = filter, + .filter = (struct sock_filter*) filter, }, sizeof(struct sock_fprog)) < 0) return -errno; diff --git a/src/libsystemd/sd-netlink/test-netlink.c b/src/libsystemd/sd-netlink/test-netlink.c index 11178143327..842bcd1abf7 100644 --- a/src/libsystemd/sd-netlink/test-netlink.c +++ b/src/libsystemd/sd-netlink/test-netlink.c @@ -572,7 +572,7 @@ static void test_strv(sd_netlink *rtnl) { } assert_se(sd_netlink_message_open_container(m, IFLA_PROP_LIST) >= 0); - assert_se(sd_netlink_message_append_strv(m, IFLA_ALT_IFNAME, names_in) >= 0); + assert_se(sd_netlink_message_append_strv(m, IFLA_ALT_IFNAME, (const char**) names_in) >= 0); assert_se(sd_netlink_message_close_container(m) >= 0); message_seal(m); diff --git a/src/systemd/sd-netlink.h b/src/systemd/sd-netlink.h index 5517f1516c4..a4c105a4899 100644 --- a/src/systemd/sd-netlink.h +++ b/src/systemd/sd-netlink.h @@ -68,11 +68,11 @@ int sd_netlink_add_match(sd_netlink *nl, sd_netlink_slot **ret_slot, uint16_t ma int sd_netlink_attach_event(sd_netlink *nl, sd_event *e, int64_t priority); int sd_netlink_detach_event(sd_netlink *nl); -int sd_netlink_attach_filter(sd_netlink *nl, size_t len, struct sock_filter *filter); +int sd_netlink_attach_filter(sd_netlink *nl, size_t len, const struct sock_filter *filter); /* message */ int sd_netlink_message_append_string(sd_netlink_message *m, uint16_t attr_type, const char *data); -int sd_netlink_message_append_strv(sd_netlink_message *m, uint16_t attr_type, char * const *data); +int sd_netlink_message_append_strv(sd_netlink_message *m, uint16_t attr_type, const char* const *data); int sd_netlink_message_append_flag(sd_netlink_message *m, uint16_t attr_type); int sd_netlink_message_append_u8(sd_netlink_message *m, uint16_t attr_type, uint8_t data); int sd_netlink_message_append_u16(sd_netlink_message *m, uint16_t attr_type, uint16_t data);