=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/utf8.c,v retrieving revision 1.17 retrieving revision 1.18 diff -c -r1.17 -r1.18 *** src/usr.bin/tmux/utf8.c 2015/11/12 12:19:57 1.17 --- src/usr.bin/tmux/utf8.c 2015/11/12 12:43:36 1.18 *************** *** 1,4 **** ! /* $OpenBSD: utf8.c,v 1.17 2015/11/12 12:19:57 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: utf8.c,v 1.18 2015/11/12 12:43:36 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott *************** *** 711,715 **** --- 711,736 ---- out = utf8_tocstr(tmp); 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); }