--- /dev/null
+--- amavisd-new-20030314/amavisd Tue Jun 17 18:50:14 2003
++++ amavisd Tue Jun 17 21:13:43 2003
+@@ -7224,7 +7224,7 @@
+ ($scan_status,$output,$virusnames) = &$command(@_);
+ } else {
+ my(@args) = split(' ',$args);
+- if (grep { m[^({}/)?\*$] } @args) { # must list each file individually
++ if (grep { m#^({}/)?\*$# } @args) { # must list each file individually
+ local(*DIR); my($f); my(@bare_fnames);
+ opendir(DIR, "$tempdir/parts")
+ or die "Can't open directory $tempdir/parts: $!";
+@@ -7241,10 +7241,15 @@
+ }
+ closedir(DIR) or die "$av_name: Can't close directory: $!";
+ # replace * with bare file name
+- for my $a (@args)
+- { $a =~ s[^({}/)?\*$][ join(' ', map {$1.$_} @bare_fnames) ]e }
++# don't use $a: perldoc -f sort
++# for my $a (@args)
++# { $a =~ s#^({}/)?\*$# join(' ', map {$1.$_} @bare_fnames) #e }
++ @args = map {
++ s#^({}/)?\*$# join(' ', map {$1.$_} @bare_fnames) #e;
++ split / +/;
++ } @args;
+ }
+- for (@args) { s[{}][$tempdir/parts]g } # replace {} with directory name
++ for (@args) { s#{}#$tempdir/parts#g } # replace {} with directory name
+ # NOTE: RAV does not like '</dev/null' in its command!
+ do_log(2, "Using $av_name: " . join(' ',$command,@args));
+ my($proc_fh) = run_command(undef, "&1", $command, @args);