-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 02/18/2012 11:29 AM, Andreas Schwab wrote:
> John Kearney <dethrop...@web.de> writes:
> 
>> what I suggest will fix the UTF-8 case
> 
> No, it won't.
> 
>> and not affect the UTF-2 case.
> 
> That is impossible.
> 
> Andreas.
> 

Current code
        if (uvalue <= UCHAR_MAX)
          *cp = uvalue;
        else
          {
            temp = u32cconv (uvalue, cp);
            cp[temp] = '\0';
            if (lenp)
              *lenp = temp;
          }

Robust Code
            temp = u32cconv (uvalue, cp);
            cp[temp] = '\0';
            if (lenp)
              *lenp = temp;

Compromise solution
        if (uvalue <= 0x7f)
          *cp = uvalue;
        else
          {
            temp = u32cconv (uvalue, cp);
            cp[temp] = '\0';
            if (lenp)
              *lenp = temp;
          }

How can doing a direct assignment, in less cases break anything, if it
does u32cconv is broken.

And it does work for me, so impossible seems to be overstating it.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJPP39rAAoJEKUDtR0WmS052JIH/09at08oGR16hvj2blL4YxWJ
V1Slbkh9O8pJ4DV9NOwEweIpjAxYUzRFzOEVV0tiYzeqISJ36uKnttewiP5VcRSv
heS6QwOl5R3wnx0ecNkpLMo2nT054Fqd+OHSHFOgkBeAM28PVwjT+GmfFyCp1f4K
hPevpejPLyxHYWaXJwy4+1XN0Wp/YatzEXr21pHgU7CPyMGYLbju4su0kNpYledj
5Zo3tT/cvoBGVysJo5AbQ8D07cG85eoARxz6erJatjKDKCUPl1kKdcikG3nGvnQc
66HdR/lJRShDh344uss6/4sw2R9LFut0QP+ChhJowQ9ZBI1uZo7/fn0gQv7gOdo=
=fXLm
-----END PGP SIGNATURE-----

Reply via email to