--- Nicholas Clark <[EMAIL PROTECTED]> wrote:
> On Tue, Jul 26, 2005 at 07:55:21AM -0700, rajarshi > das wrote: > > > The change is in the fn Perl_utf8n_to_uvuni : > > ------------------- > > ..... > > .... > > > > #define UTF8_WARN_LONG 8 > > #define UTF8_WARN_FFFF 9 > /* > > Also FFFE. */ > > > > if (curlen == 0 && > > !(flags & UTF8_ALLOW_EMPTY)) { > > warning = UTF8_WARN_EMPTY; > > goto malformed; > > } > > #ifdef EBCDIC /* the change */ > > uv = NATIVE_TO_UTF(uv); > > #endif /* the change ends here */ > > > > if (UTF8_IS_INVARIANT(uv)) { > > if (retlen) > > *retlen = 1; > > return (UV) (NATIVE_TO_UTF(*s)); > > } > > .... > > ... > > > A context or unified diff with the original source > would have been clearer, > at least in part because most people on the list are > used to it. Here's the diff : --- utf8.c 2004-11-17 18:22:09.000000000 +0530 +++ utf8.c.1 2005-07-26 20:50:11.000000000 +0530 @@ -363,7 +363,9 @@ Perl_utf8n_to_uvuni(pTHX_ U8 *s, STRLEN warning = UTF8_WARN_EMPTY; goto malformed; } - +#ifdef EBCDIC + uv = NATIVE_TO_UTF(uv); +#endif if (UTF8_IS_INVARIANT(uv)) { if (retlen) *retlen = 1; > > I don't understand this code, so I don't know why. I > think that part of the > reason that you're getting few to no responses to > your questions is because > few people understand this code in the first place, > and none of them > understand how it interacts with EBCDIC. > > > The only thing I can think of is that I notice that > further down that function > there is: > > #ifdef EBCDIC > uv = NATIVE_TO_UTF(uv); > #else > if ((uv == 0xfe || uv == 0xff) && > !(flags & UTF8_ALLOW_FE_FF)) { > warning = UTF8_WARN_FE_FF; > goto malformed; > } > #endif > > Is that second call to NATIVE_TO_UTF still present > in your modified code? Yes, the second call to NATIVE_TO_UTF is still present in the modified code. Typically, one wouldnt want to do a NATIVE_TO_UTF(NATIVE_TO_UTF(uv)) which is what I am doing due to the second call. But does that make a difference to miniperl ? > > Nicholas Clark > Thanks, Rajarshi. ____________________________________________________ Start your day with Yahoo! - make it your home page http://www.yahoo.com/r/hs