From 768237e73ad2e7872c6ad427d8a1c5d97d34293c Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Thu, 10 Oct 2024 12:43:57 +0900 Subject: [PATCH] sd-netlink: shorten sd_netlink_message_read_string_strdup() a bit --- src/libsystemd/sd-netlink/netlink-message.c | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/src/libsystemd/sd-netlink/netlink-message.c b/src/libsystemd/sd-netlink/netlink-message.c index f66733414c7..e064c53486e 100644 --- a/src/libsystemd/sd-netlink/netlink-message.c +++ b/src/libsystemd/sd-netlink/netlink-message.c @@ -800,30 +800,16 @@ int sd_netlink_message_read_data(sd_netlink_message *m, uint16_t attr_type, size } int sd_netlink_message_read_string_strdup(sd_netlink_message *m, uint16_t attr_type, char **ret) { - void *attr_data; + const char *s; int r; assert_return(m, -EINVAL); - r = message_attribute_has_type(m, NULL, attr_type, NETLINK_TYPE_STRING); + r = sd_netlink_message_read_string(m, attr_type, &s); if (r < 0) return r; - r = netlink_message_read_internal(m, attr_type, &attr_data, NULL); - if (r < 0) - return r; - - if (ret) { - char *str; - - str = strndup(attr_data, r); - if (!str) - return -ENOMEM; - - *ret = str; - } - - return 0; + return strdup_to(ret, s); } int sd_netlink_message_read_string(sd_netlink_message *m, uint16_t attr_type, const char **ret) { -- 2.47.3