From: Yu Watanabe Date: Tue, 2 Aug 2022 06:04:50 +0000 (+0900) Subject: ether-addr-util: introduce hw_addr_set() helper function X-Git-Tag: v252-rc1~494^2~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=069f5df05169ff4263a09300c66224951071e641;p=thirdparty%2Fsystemd.git ether-addr-util: introduce hw_addr_set() helper function --- diff --git a/src/basic/ether-addr-util.c b/src/basic/ether-addr-util.c index c609ea6ce01..0a6a54f8f13 100644 --- a/src/basic/ether-addr-util.c +++ b/src/basic/ether-addr-util.c @@ -33,6 +33,15 @@ char *hw_addr_to_string_full( return buffer; } +struct hw_addr_data *hw_addr_set(struct hw_addr_data *addr, const uint8_t *bytes, size_t length) { + assert(addr); + assert(length <= HW_ADDR_MAX_SIZE); + + addr->length = length; + memcpy_safe(addr->bytes, bytes, length); + return addr; +} + int hw_addr_compare(const struct hw_addr_data *a, const struct hw_addr_data *b) { int r; diff --git a/src/basic/ether-addr-util.h b/src/basic/ether-addr-util.h index 32f45fe8135..83ed77d6345 100644 --- a/src/basic/ether-addr-util.h +++ b/src/basic/ether-addr-util.h @@ -52,6 +52,8 @@ static inline char *hw_addr_to_string(const struct hw_addr_data *addr, char buff #define HW_ADDR_NULL ((const struct hw_addr_data){}) +struct hw_addr_data *hw_addr_set(struct hw_addr_data *addr, const uint8_t *bytes, size_t length); + void hw_addr_hash_func(const struct hw_addr_data *p, struct siphash *state); int hw_addr_compare(const struct hw_addr_data *a, const struct hw_addr_data *b); static inline bool hw_addr_equal(const struct hw_addr_data *a, const struct hw_addr_data *b) {