From a209ea3953ba16742f6f6bb19b76ffdb1200960e Mon Sep 17 00:00:00 2001 From: nicm Date: Thu, 12 Nov 2015 12:43:36 +0000 Subject: Add utf8_padcstr and use it to align columns in list-keys. --- utf8.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'utf8.c') diff --git a/utf8.c b/utf8.c index 0926f4bc..db738020 100644 --- a/utf8.c +++ b/utf8.c @@ -713,3 +713,24 @@ utf8_trimcstr(const char *s, u_int width) free(tmp); return (out); } + +/* Pad UTF-8 string to width. Caller frees. */ +char * +utf8_padcstr(const char *s, u_int width) +{ + size_t slen; + char *out; + u_int n, i; + + n = utf8_cstrwidth(s); + if (n >= width) + return (xstrdup(s)); + + slen = strlen(s); + out = xmalloc(slen + 1 + (width - n)); + memcpy(out, s, slen); + for (i = n; i < width; i++) + out[slen++] = ' '; + out[slen] = '\0'; + return (out); +} -- cgit