X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fmsg.pl;h=a1a3df0616e21927a03ae85e0abe69078a2fdf96;hb=6ccc3a6e864a2fee18786a7070400c7c4f22cf7c;hp=0f68779b61d70803a34f4736a5607e2b7fe250af;hpb=8aa1d223307c50d8bbaa0ed4ef915f8c7365bc6e;p=spider.git diff --git a/cmd/msg.pl b/cmd/msg.pl index 0f68779b..a1a3df06 100644 --- a/cmd/msg.pl +++ b/cmd/msg.pl @@ -8,7 +8,7 @@ # my ($self, $line) = @_; -return (1, $self->msg('e5')) if $self->priv < 9; +return (1, $self->msg('e5')) if $self->priv < 6; # a line is cmd, msgno, data my @f = split /\s+/, $line, 3; @@ -18,8 +18,8 @@ my $data; #$DB::single = 1; -$cmd = shift @f if $f[0] =~ /^\w+$/; -$msgno = shift @f if $f[0] =~ /^\d+$/; +$cmd = shift @f if @f && $f[0] =~ /^\w+$/; +$msgno = shift @f if @f && $f[0] =~ /^\d+$/; # handle queuing if ($cmd =~ /^qu/i && !$msgno) { @@ -59,6 +59,16 @@ if ($cmd =~ /^to/i) { $old = $ref->private ? 'P' : 'B'; $new = 'B'; $ref->private(0); +} elsif ($cmd =~ /^re/i) { + $m = 'Msg Type'; + $old = $ref->read ? 'Read' : 'Unread'; + $new = 'Read'; + $ref->read(1); +} elsif ($cmd =~ /^(nore|unre)/i) { + $m = 'Msg Type'; + $old = $ref->read ? 'Read' : 'Unread'; + $new = 'Unread'; + $ref->read(0); } elsif ($cmd =~ /^rr/i) { $m = 'RR Req'; $old = $ref->rrreq ? 'RR Req' : 'No RR Req'; @@ -88,7 +98,9 @@ if ($cmd =~ /^to/i) { $old = cldatetime($ref->waitt) || 'None'; $new = 'None'; $ref->waitt(0); -} +} else { + return (1, $self->msg('e15', $cmd)); +} # store changes and return $ref->store( [ $ref->read_msg_body() ] );