warnings, line numbers & windows
Marcus Holland-Moritz [Tue, 8 Jul 2003 11:14:05 +0000 (13:14 +0200)]
Message-ID: <12022.1057655645@www59.gmx.net>

p4raw-id: //depot/perl@20068

ext/B/B.xs
lib/Pod/Text/Termcap.pm
mg.c
op.c

index 868f15b..0decceb 100644 (file)
@@ -976,7 +976,7 @@ I32
 COP_arybase(o)
        B::COP  o
 
-U16
+U32
 COP_line(o)
        B::COP  o
 
@@ -1331,7 +1331,7 @@ U32
 GvCVGEN(gv)
        B::GV   gv
 
-U16
+U32
 GvLINE(gv)
        B::GV   gv
 
index f0187f2..61453e2 100644 (file)
@@ -44,8 +44,10 @@ sub initialize {
     my ($ospeed, $term, $termios);
 
     # The default Term::Cap path won't work on Solaris.
-    $ENV{TERMPATH} = "$ENV{HOME}/.termcap:/etc/termcap"
-        . ":/usr/share/misc/termcap:/usr/share/lib/termcap";
+    # $ENV{HOME} is usually not set on MSWin32.
+    my $home = exists $ENV{HOME} ? "$ENV{HOME}/.termcap:" : '';
+    $ENV{TERMPATH} = $home . '/etc/termcap:/usr/share/misc/termcap'
+                           . ':/usr/share/lib/termcap';
 
     # Fall back on a hard-coded terminal speed if POSIX::Termios isn't
     # available (such as on VMS).
diff --git a/mg.c b/mg.c
index b69da05..dc1666a 100644 (file)
--- a/mg.c
+++ b/mg.c
@@ -2375,7 +2375,7 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
 #endif
        /* PL_origalen is set in perl_parse(). */
        s = SvPV_force(sv,len);
-       if (len >= (I32)PL_origalen) {
+       if (len >= (STRLEN)PL_origalen) {
            /* Longer than original, will be truncated. */
            Copy(s, PL_origargv[0], PL_origalen, char);
            PL_origargv[0][PL_origalen - 1] = 0;
diff --git a/op.c b/op.c
index 947b5f3..7bcf40b 100644 (file)
--- a/op.c
+++ b/op.c
@@ -2676,7 +2676,7 @@ Perl_pmruntime(pTHX_ OP *o, OP *expr, OP *repl)
        OP *curop;
        if (pm->op_pmflags & PMf_EVAL) {
            curop = 0;
-           if (CopLINE(PL_curcop) < PL_multi_end)
+           if (CopLINE(PL_curcop) < (line_t)PL_multi_end)
                CopLINE_set(PL_curcop, (line_t)PL_multi_end);
        }
        else if (repl->op_type == OP_CONST)