On 4/7/11 6:16 PM, gmail wrote:

> The multibyte test is successful on my host if i have first unset LC_ALL
> and LC_CTYPE before running it.
> 
> I 'm not fully familiar with POSIX specifications regarding locales, for
> now these specifications let me think that this behavior is expected and
> that the
> LANG environment variable is taken into account after the LC_* environment
> variables. Therefore, perhaps this could be a way to deal with this issue
> without (i hope) side effects on other archs :
> 
> --- tests/printf2.sub.orig      2009-02-24 20:12:32.000000000 +0100
> +++ tests/printf2.sub   2011-04-07 23:21:24.000000000 +0200
> @@ -1,4 +1,6 @@
>  export LANG=en_US.UTF-8
> +unset LC_ALL
> +unset LC_CTYPE
> 
>  case $(printf %d\\n \'Ã) in
>  192)   exit 0;;

Thanks for the report.  Good catch.

> On another point, the multibyte documentation on mblen and mbtowc mentions
> that these two methods maintains an internal shift state (probably a way to
> be able to operate with bytes streams).
> I have noticed the DECLARE_MBSTATE macro in the asciicode method and wonder
> if it is the way to guaranteed a clear initial state to the mblen and
> mbtowc method.

Yes.  Look in include/shmbutil.h for the definition of DECLARE_MBSTATE.

Chet
-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU    c...@case.edu    http://cnswww.cns.cwru.edu/~chet/

Reply via email to