diff options
| author | Michael Biebl <biebl@debian.org> | 2021-02-11 18:12:43 +0100 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2021-02-11 18:12:43 +0100 |
| commit | 8f0db010e71e252ac290d51bd2a5b0a078f1d279 (patch) | |
| tree | 2caa344fefcd9bb4218583c5aa2e0f92f4b2aa8c /shared/systemd/src/basic/ether-addr-util.c | |
| parent | f54032b30e1ddd84f10a339e0caf493772e049a7 (diff) | |
| parent | 80ec1decc49c72efec2a8b87c06245c92c0ab807 (diff) | |
Update upstream source from tag 'upstream/1.29.90'
Update to upstream version '1.29.90' with Debian dir 90df6d97476cc3200c410f3f3603b87396175c7a
Diffstat (limited to 'shared/systemd/src/basic/ether-addr-util.c')
| -rw-r--r-- | shared/systemd/src/basic/ether-addr-util.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/shared/systemd/src/basic/ether-addr-util.c b/shared/systemd/src/basic/ether-addr-util.c index 4878a3d2..ae83eade 100644 --- a/shared/systemd/src/basic/ether-addr-util.c +++ b/shared/systemd/src/basic/ether-addr-util.c @@ -1,8 +1,9 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #include "nm-sd-adapt-shared.h" #include <errno.h> +#include <inttypes.h> #include <net/ethernet.h> #include <stdio.h> #include <sys/types.h> @@ -11,6 +12,20 @@ #include "macro.h" #include "string-util.h" +char* hw_addr_to_string(const hw_addr_data *addr, char buffer[HW_ADDR_TO_STRING_MAX]) { + assert(addr); + assert(buffer); + assert(addr->length <= HW_ADDR_MAX_SIZE); + + for (size_t i = 0; i < addr->length; i++) { + sprintf(&buffer[3*i], "%02"PRIx8, addr->addr.bytes[i]); + if (i < addr->length - 1) + buffer[3*i + 2] = ':'; + } + + return buffer; +} + char* ether_addr_to_string(const struct ether_addr *addr, char buffer[ETHER_ADDR_TO_STRING_MAX]) { assert(addr); assert(buffer); |