X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fread.pl;h=076e8dde7dd2ce277ff890d298f5e54b88d1c755;hb=refs%2Fheads%2Fspider;hp=fbd243cf3513a326653f8dfe9d0588c5941fb558;hpb=57dbfe8cfdaacb84832c1a485b737b6c670b6ac4;p=spider.git diff --git a/cmd/read.pl b/cmd/read.pl index fbd243cf..076e8dde 100644 --- a/cmd/read.pl +++ b/cmd/read.pl @@ -3,7 +3,7 @@ # # Copyright (c) Dirk Koopman G1TLH # -# $Id$ +# # my ($self, $line) = @_; @@ -17,7 +17,7 @@ my $ref; # that I haven't read yet if (@f == 0) { foreach $ref (DXMsg::get_all()) { - if ($ref->to eq $self->call && $ref->private && !$ref->read) { + if ($ref->to eq $self->call && $ref->private && !$ref->read && !$ref->delete) { push @f, $ref->msgno; last; } @@ -41,13 +41,13 @@ for $msgno (@f) { @body = $ref->read_msg_body; push @out, @body; - # mark my privates as read - if ($ref->private && $self->call eq $ref->to && $ref->read == 0) { - $ref->read(1); + # mark it as read + unless ($ref->private && $ref->to ne $self->call) { + $ref->read($ref->read() + 1); $ref->store(\@body); # note call by reference! # if it had a read receipt on it generate a new message to send back to - # the sender. + # the sender. if ($ref->rrreq) { my $sub = $ref->subject; $sub = "Re: $sub" unless $sub =~ /^\s*re:/i; @@ -62,12 +62,12 @@ for $msgno (@f) { DXMsg::add_dir($rref); DXMsg::queue_msg(0); } - } - # remember this one as the last one read - $self->lastread($msgno); - - + # remember this one as the last one read + $self->lastread($msgno); + } } return (1, @out); + +