Re: gmake (perl-5.8.6) fails on z/OS

[email protected] (rajarshi das)
Newsgroups perl.unicode,perl.perl5.porters
Message-ID <[email protected]>

--- Dave Mitchell <[email protected]> wrote:

> On Tue, Jul 26, 2005 at 03:29:43PM +0100, Nicholas
> Clark wrote:
> > On Tue, Jul 26, 2005 at 07:22:55AM -0700, rajarshi
> das wrote:
> > > Hi,
> > > I made the following modifications to utf8.c :
> > > #ifdef EBCDIC
> > >       uv = NATIVE_TO_UTF(uv);
> > > #endif
> > 
> > Where in utf8.c? Your description of what you
> changed is inadequate for
> > anyone else to understand the context of your
> change.
> > 
> > > I tried redoing it with a clean build, but it
> still
> > > fails. 
> > > 
> > > Why does configpm generate errors ? 
> > 
> > I don't know. I don't fully understand the
> workings of how perl's UTF-8
> > implementation is supposed to work on EBCDIC
> platforms.
> > 
> > 1: Is that the only change you've made to the
> source code?
> > 2: Without that change, how does your build fail?
> How do the errors differ?
> 
> And some further questions:
> 
> what exactly was the change you made? Did you wrap
> the existing
>     uv = NATIVE_TO_UTF(uv)
> line with #ifdef, #endif; or did you add three extra
> lines somewhere, and
> if so, where? The usual way of providing this
> information is as the output
> of the diff command (if your system supports it), in
> fact preferably
> 'diff -u'.

Here's the diff output :
--- 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;


> 
> Why have you made this change? 
I made this change since the value of uv is such that
in the subsequent call (immediately after the change)
:
if UTF8_IS_INVARIANT(uv),

UTF8_IS_INVARIANT evaluates to false which is
incorrect. It is supposed to evaluate to true.

Did you read
> somewhere that it was
> necessary, and if so, where did you read this? (Url
> please.) If not,
> how did you come to the conclusion that the change
> was required? And what
> problem were you trying to fix?
This is based on a comparison with other sample values
of 'uv' in which case the condition mentioned above
evaluates to true (and in which case, the test case
that I run passes).

> 
> Dave

Thanks,
Rajarshi.
> 
> -- 
> Hofstadter's Law:
> It always takes longer than you expect, even when
> you take into account
> Hofstadter's Law.
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.