X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2Fconsole.pl;h=f85e235d7d726ece77cb50c36dbd98733549e48f;hb=f1b140502b1f92947977490d9e4688b24a2f82c1;hp=88ffb92787589a527ebf03f51983b053de466bdb;hpb=e69a98ce612592a78aca2a3ac4e2388a06059955;p=spider.git diff --git a/perl/console.pl b/perl/console.pl index 88ffb927..f85e235d 100755 --- a/perl/console.pl +++ b/perl/console.pl @@ -10,10 +10,13 @@ # # Copyright (c) 1999 Dirk Koopman G1TLH # -# $Id$ +# # require 5.004; +package main; + +use vars qw($data); # search local then perl directories BEGIN { @@ -23,6 +26,8 @@ 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? + $data = "$root/data"; } use Msg; @@ -54,7 +59,7 @@ $spos = $pos = $lth = 0; $inbuf = ""; @time = (); -$SIG{WINCH} = sub {@time = gettimeofday}; +#$SIG{WINCH} = sub {@time = gettimeofday}; sub mydbg { @@ -84,9 +89,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 +235,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 { @@ -340,7 +345,7 @@ sub rec_stdin } elsif ($r eq KEY_PPAGE || $r eq "\032") { if ($spos > 0) { my ($i, $l); - for ($i = 0; $i <= $pagel-1 && $spos >= 0; ) { + for ($i = 0; $i < $pagel-1 && $spos >= 0; ) { $l = measure($shistory[$spos]); $i += $l; $spos-- if $i <= $pagel;