X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fcatchup.pl;h=20020067b8d90a87e4750c24cc0c0ae7e70d4231;hb=613301f150d03d194b6c64542d4809c74b1986c6;hp=41f2edd7e0a7bd358b5e0d98b2936693d603f5b7;hpb=3eb722692c2c1e9de84752391d5b6330e062c7e6;p=spider.git diff --git a/cmd/catchup.pl b/cmd/catchup.pl index 41f2edd7..20020067 100644 --- a/cmd/catchup.pl +++ b/cmd/catchup.pl @@ -10,7 +10,7 @@ # my ($self, $line) = @_; -return (1, $self->msg('e5')) if $self->priv < 9; +return (1, $self->msg('e5')) if $self->priv < 5; my @f = split /\s+/, $line; return (1, "usage: catchup all|[= 2; @@ -25,16 +25,22 @@ my @ref; # get a more or less valid set of messages foreach my $msgno (@f) { - if ($msgno =~ /^al/oi) { + if ($msgno =~ /^al/i) { @ref = DXMsg::get_all(); last; + } elsif (my ($f, $t) = $msgno =~ /(\d+)-(\d+)/) { + while ($f <= $t) { + $ref = DXMsg::get($f++); + push @ref, $ref if $ref; + } + } else { + $ref = DXMsg::get($msgno); + unless ($ref) { + push @out, $self->msg('m13', $msgno); + next; + } + push @ref, $ref; } - $ref = DXMsg::get($msgno); - unless ($ref) { - push @out, $self->msg('m13', $msgno); - next; - } - push @ref, $ref; } foreach $ref (@ref) {