diff --git a/networking/udhcp/dumpleases.c b/networking/udhcp/dumpleases.c index cbf9f587a..017c801e6 100644 --- a/networking/udhcp/dumpleases.c +++ b/networking/udhcp/dumpleases.c @@ -5,6 +5,7 @@ #include "common.h" #include "dhcpd.h" +#include "unicode.h" #if BB_LITTLE_ENDIAN static inline uint64_t hton64(uint64_t v) @@ -42,6 +43,8 @@ int dumpleases_main(int argc UNUSED_PARAM, char **argv) applet_long_options = dumpleases_longopts; #endif + check_unicode_in_env(); + opt_complementary = "=0:a--r:r--a"; opt = getopt32(argv, "arf:", &file); @@ -67,7 +70,12 @@ int dumpleases_main(int argc UNUSED_PARAM, char **argv) addr.s_addr = lease.lease_nip; /* actually, 15+1 and 19+1, +1 is a space between columns */ /* lease.hostname is char[20] and is always NUL terminated */ +#if ENABLE_FEATURE_ASSUME_UNICODE + printf(" %-16s%s%*s", inet_ntoa(addr), lease.hostname, + 20 - (int)bb_mbstrlen(lease.hostname), ""); +#else printf(" %-16s%-20s", inet_ntoa(addr), lease.hostname); +#endif expires_abs = ntohl(lease.expires) + written_at; if (expires_abs <= curr) { puts("expired");