-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Fri, 19 Sep 2008, Timo Sirainen wrote:
Any suggestions how to best fix it? My Perl knowledge isn't too good.
I do recommend using opendir() cycle like so: - --- /tmp/courier-dovecot-migrate.pl.orig 2008-09-22 10:55:00.000000000 +0200 +++ /tmp/courier-dovecot-migrate.pl 2008-09-22 11:00:19.000000000 +0200 @@ -341,12 +341,10 @@ # read updates from the directory my %updates; - - foreach (<$keyword_dir/*>) { - - s,^$keyword_dir/,,; - - next if ($_ eq ":list"); - - - - my $fname = $_; - - if (/^\.(\d+)\.(.*)$/) { + if(opendir(DIR, $keyword_dir)) { + while(defined (my $fname = readdir(DIR))) { + next if $fname eq ':list'; + if ($fname =~ /^\.(\d+)\.(.*)$/) { my ($num, $base_fname) = ($1, $2); if (!defined $updates{$fname}) { $updates{$fname} = $num; @@ -361,6 +359,10 @@ $updates{$fname} = -1; } } + closedir DIR or die "Failed reading $keyword_dir: $!\n"; + } else { + die "Failed opening $keyword_dir: $!\n"; + } # apply the updates foreach (keys %updates) { - -- Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFI118/VJMDrex4hCIRArglAJ9K+wkb2pOVDBEATCxTFylX5HhsMQCg1VzP W9NSzDI55wNDZqGRgK6GXVw= =YwiS -----END PGP SIGNATURE-----