diff options
author | Pádraig Brady <P@draigBrady.com> | 2011-03-12 14:22:54 +0000 |
---|---|---|
committer | Pádraig Brady <P@draigBrady.com> | 2011-03-13 23:55:17 +0000 |
commit | 0ddfd54b08dfe4e78b8aa2dd74378e5b62c9d68c (patch) | |
tree | 56a4ba7d2ffa7beb3f9ccf9291821b8e33084924 /gl | |
parent | 56e8714e2b3b186c2da52f7c7803875f4d5596d2 (diff) | |
download | coreutils-0ddfd54b08dfe4e78b8aa2dd74378e5b62c9d68c.tar.xz |
maint: use wcswidth from gnulib
* gl/lib/mbsalign.c (rpl_wcswidth): Remove this in favor
of the equivalent wcswidth replacement in gnulib.
* bootstrap.conf: Depend on the wcswidth module.
Suggested by Bruno Haible.
Diffstat (limited to 'gl')
-rw-r--r-- | gl/lib/mbsalign.c | 23 |
1 files changed, 1 insertions, 22 deletions
diff --git a/gl/lib/mbsalign.c b/gl/lib/mbsalign.c index d06e6dca1..ef45c35af 100644 --- a/gl/lib/mbsalign.c +++ b/gl/lib/mbsalign.c @@ -79,27 +79,6 @@ wc_truncate (wchar_t *wc, size_t width) return cells; } -/* FIXME: move this function to gnulib as it's missing on: - OpenBSD 3.8, IRIX 5.3, Solaris 2.5.1, mingw, BeOS */ - -static int -rpl_wcswidth (const wchar_t *s, size_t n) -{ - int ret = 0; - - while (n-- > 0 && *s != L'\0') - { - int nwidth = wcwidth (*s++); - if (nwidth == -1) /* non printable */ - return -1; - if (ret > (INT_MAX - nwidth)) /* overflow */ - return -1; - ret += nwidth; - } - - return ret; -} - /* Write N_SPACES space characters to DEST while ensuring nothing is written beyond DEST_END. A terminating NUL is always added to DEST. @@ -171,7 +150,7 @@ mbsalign (const char *src, char *dest, size_t dest_size, str_wc[src_chars - 1] = L'\0'; wc_enabled = true; conversion = wc_ensure_printable (str_wc); - n_cols = rpl_wcswidth (str_wc, src_chars); + n_cols = wcswidth (str_wc, src_chars); } } |