perl-unicode

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

2005-07-26 08:58:47


--- Dave Mitchell <davem(_at_)iabyn(_dot_)com> 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 

<Prev in Thread] Current Thread [Next in Thread>