# $Id$
#
+BEGIN {
+ unshift @INC, "/spider/local";
+ unshift @INC, "/spider/perl";
+}
+
use Msg;
use DXVars;
@stdoutq = (); # the queue of stuff to send out to the user
$conn = 0; # the connection object for the cluster
$lastbit = ""; # the last bit of an incomplete input line
+$nl = "\r";
# cease communications
sub cease
cease(1);
}
if (defined $msg) {
- my ($sort, $call, $line) = $msg =~ /^(\w)(\S+)|(.*)$/;
+ my ($sort, $call, $line) = $msg =~ /^(\w)(\S+)\|(.*)$/;
if ($sort eq 'D') {
- my $nl = ($mode == 1) ? "\r" : "\n";
$nl = "" if $mode == 0;
- $line =~ s/\n/\r/o if $mode == 1;
- print $line, $nl;
+ $line =~ s/\n/\r/og if $mode == 1;
+ print $line;
} elsif ($sort eq 'M') {
$mode = $line; # set new mode from cluster
} elsif ($sort eq 'Z') { # end, disconnect, go, away .....
# print "sys: $r $buf";
if ($r > 0) {
if ($mode) {
- $buf =~ s/\r/\n/o if $mode == 1;
+ $buf =~ s/\r/\n/og if $mode == 1;
$dangle = !($buf =~ /\n$/);
@lines = split /\n/, $buf;
if ($dangle) { # pull off any dangly bits
die "client.pl <call> [<mode>]\r\n" if (!$call);
$mode = $ARGV[1] if (@ARGV > 1);
+if ($mode != 1) {
+ $nl = "\n";
+ $\ = $nl;
+}
+
select STDOUT; $| = 1;
$SIG{'INT'} = \&sig_term;