fix console.pl for Windows better
[spider.git] / perl / console.pl
index d04a7279bd585f9450a7e2fb1094c94018823461..0a6d7404ba62c066539afd4697ba2d2fafba6771 100755 (executable)
@@ -10,7 +10,7 @@
 #
 # Copyright (c) 1999 Dirk Koopman G1TLH
 #
-# $Id$
+#
 # 
 
 require 5.004;
@@ -23,6 +23,7 @@ BEGIN {
        
        unshift @INC, "$root/perl";     # this IS the right way round!
        unshift @INC, "$root/local";
+       $is_win = ($^O =~ /^MS/ || $^O =~ /^OS-2/) ? 1 : 0; # is it Windows?
 }
 
 use Msg;
@@ -54,7 +55,7 @@ $spos = $pos = $lth = 0;
 $inbuf = "";
 @time = ();
 
-$SIG{WINCH} = sub {@time = gettimeofday};
+#$SIG{WINCH} = sub {@time = gettimeofday};
 
 sub mydbg
 {
@@ -84,9 +85,9 @@ sub do_initscr
                init_pair(12, COLOR_MAGENTA, COLOR_BLUE);
                init_pair(13, COLOR_YELLOW, COLOR_GREEN);
                init_pair(14, COLOR_RED, COLOR_GREEN);
-               eval { assume_default_colors($foreground, $background) };
+               eval { assume_default_colors($foreground, $background) } unless $is_win;
        }
-       
+
        $top = $scr->subwin($lines-4, $cols, 0, 0);
        $top->intrflush(0);
        $top->scrollok(1);
@@ -230,7 +231,7 @@ sub addtotop
                if ($inbuf =~ s/\x07+$//) {
                        beep();
                }
-               if (length $inbuf > $cols) {
+               if (length $inbuf >= $cols) {
                        $Text::Wrap::Columns = $cols;
                        push @shistory, wrap('',"\t", $inbuf);
                } else {