aboutsummaryrefslogtreecommitdiff
path: root/networking/udhcp/common.c
diff options
context:
space:
mode:
Diffstat (limited to 'networking/udhcp/common.c')
-rw-r--r--networking/udhcp/common.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/networking/udhcp/common.c b/networking/udhcp/common.c
index 2e6113627..a89dce3ae 100644
--- a/networking/udhcp/common.c
+++ b/networking/udhcp/common.c
@@ -539,3 +539,22 @@ int FAST_FUNC udhcp_str2optset(const char *const_str, void *arg)
539 539
540 return retval; 540 return retval;
541} 541}
542
543/* note: ip is a pointer to an IPv6 in network order, possibly misaliged */
544int FAST_FUNC sprint_nip6(char *dest, /*const char *pre,*/ const uint8_t *ip)
545{
546 char hexstrbuf[16 * 2];
547 bin2hex(hexstrbuf, (void*)ip, 16);
548 return sprintf(dest, /* "%s" */
549 "%.4s:%.4s:%.4s:%.4s:%.4s:%.4s:%.4s:%.4s",
550 /* pre, */
551 hexstrbuf + 0 * 4,
552 hexstrbuf + 1 * 4,
553 hexstrbuf + 2 * 4,
554 hexstrbuf + 3 * 4,
555 hexstrbuf + 4 * 4,
556 hexstrbuf + 5 * 4,
557 hexstrbuf + 6 * 4,
558 hexstrbuf + 7 * 4
559 );
560}