From: John Jetmore Date: Thu, 16 Feb 2006 17:03:16 +0000 (+0000) Subject: exipick version 20060216.1 X-Git-Tag: exim-4_61~47 X-Git-Url: https://vcs.fsf.org/?p=exim.git;a=commitdiff_plain;h=11121d3d3850fe51de5fbd23acbc0bb87fa082d6;hp=3cd34f132a0cb73534aa479e16533771bc6cb6aa exipick version 20060216.1 --- diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index 2a00f1830..5fb45c043 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -1,4 +1,4 @@ -$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.306 2006/02/16 16:37:57 ph10 Exp $ +$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.307 2006/02/16 17:03:16 jetmore Exp $ Change log file for Exim from version 4.21 ------------------------------------------- @@ -195,6 +195,16 @@ PH/38 Panic-die if .include specifies a non-absolute path. PH/39 A tweak to the "H" retry rule from its user. +JJ/03 exipick: Removed parentheses from 'next' and 'last' calls that specified + a label. They prevented compilation on older perls. + +JJ/04 exipick: Refactored code to prevent implicit split to @_ which caused + a warning to be raised on newish perls. + +JJ/05 exipick: Fixed bug where -bpc always showed a count of all messages + on queue. Changes to match documented behaviour of showing count of + messages matching specified criteria. + Exim version 4.60 ----------------- diff --git a/src/src/exipick.src b/src/src/exipick.src index 52207e93b..e3967c382 100644 --- a/src/src/exipick.src +++ b/src/src/exipick.src @@ -1,5 +1,5 @@ #!PERL_COMMAND -# $Cambridge: exim/src/src/exipick.src,v 1.8 2005/12/15 17:58:23 jetmore Exp $ +# $Cambridge: exim/src/src/exipick.src,v 1.9 2006/02/16 17:03:16 jetmore Exp $ # This variable should be set by the building process to Exim's spool directory. my $spool = 'SPOOL_DIRECTORY'; @@ -8,10 +8,10 @@ use strict; use Getopt::Long; my($p_name) = $0 =~ m|/?([^/]+)$|; -my $p_version = "20051215.3"; +my $p_version = "20060216.1"; my $p_usage = "Usage: $p_name [--help|--version] (see --help for details)"; my $p_cp = < + Copyright (c) 2003-2006 John Jetmore This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -97,7 +97,7 @@ foreach my $m (@$msg) { && !$G::msg_ids->{$m->{message}}); if (!$e->parse_message($m->{message})) { warn "Couldn't parse $m->{message}: ".$e->error()."\n"; - next(MSG); + next MSG; } $tcount++; my $match = 0; @@ -119,19 +119,19 @@ foreach my $m (@$msg) { } if ($@) { print STDERR "Error in eval '$c->{cmp}': $@\n"; - next(MSG); + next MSG; } elsif ($ret) { $match = 1; - if ($G::or) { last(CRITERIA); } - else { next(CRITERIA); } + if ($G::or) { last CRITERIA; } + else { next CRITERIA; } } else { # no match - if ($G::or) { next(CRITERIA); } - else { next(MSG); } + if ($G::or) { next CRITERIA; } + else { next MSG; } } } # skip this message if any criteria were supplied and it didn't match - next(MSG) if ((scalar(@$crit) || scalar(@local_crit)) && !$match); + next MSG if ((scalar(@$crit) || scalar(@local_crit)) && !$match); if ($count_only) { $mcount++; @@ -141,7 +141,7 @@ foreach my $m (@$msg) { } if ($G::mailq_bpc) { - print "$tcount\n"; + print "$mcount\n"; } elsif ($G::qgrep_c) { print "$mcount matches out of $tcount messages\n"; } @@ -610,7 +610,12 @@ sub _parse_header { my $bytes = $_; return(0) if (read(I, $_, $bytes) != $bytes); chomp(); # may regret this later - $self->{_vars}{message_linecount} += scalar(split(/\n/)) if ($t ne '*'); + if ($t ne '*') { + # use of this temp variable is a little lame but it prevents a + # -w warning (Use of implicit split to @_ is deprecated) + my @t = split(/\n/); + $self->{_vars}{message_linecount} += scalar(@t); + } # build the $header_ variable, following exim's rules (sort of) if (/^([^ :]+):(.*)$/s) { my $v = "header_" . lc($1);