Subject: Re: bug#7960: [PATCH] fmt: fix formatting multibyte text (bug #7372)

From: Eric Blake <[email-masked]>
Date: Wed, 02 Feb 2011 10:15:53 -0700

On 02/02/2011 07:17 AM, Kostya Stopani wrote:
>>>From b118695b7b614f5f0e371cad885a01306f527d9e Mon Sep 17 00:00:00 2001
> From: Kostya Stopani <[email-masked]>
> Date: Wed, 2 Feb 2011 17:10:05 +0300
> Subject: [PATCH] fmt: fix formatting multibyte text (bug #7372)

Thanks for the patch.  However, it's not trivial, so it would need
copyright assignment.  Furthermore, there are already known issues where
upstream coreutils is lacking multibyte character support, but a
solution has to be both maintainable and no-impact to the single-byte
locale case.

> @@ -167,6 +172,11 @@ static void put_paragraph (WORD *finish);
>  static void put_line (WORD *w, int indent);
>  static void put_word (WORD *w);
>  static void put_space (int space);
> +static unsigned int guess_screen_width (const char *text, size_t b);
> +#ifndef __GNU_LIBRARY__
> +static size_t mbsnrtowcs (wchar_t *DST, const char **SRC, size_t NMC, size_t LEN,

Huh?  There's no need for either __GNU_LIBRARY__ nor for this
declaration; we can rely on gnulib to be providing mbsnrtowcs on all
platforms.

> +/* Stub mbsnrtowcs to be used when GNU extensions are unavailable. */
> +
> +size_t mbsnrtowcs (wchar_t *DST, const char **SRC, size_t NMC, size_t LEN,

Therefore, this function has no place in fmt.c.

-- 
Eric Blake   [email-masked]    +1-801-349-2682
Libvirt virtualization library http://libvirt.org