diff -U0 foomatic-filters-3.0-20080904/ChangeLog.ppd-filenames foomatic-filters-3.0-20080904/ChangeLog --- foomatic-filters-3.0-20080904/ChangeLog.ppd-filenames 2008-09-04 08:20:14.000000000 +0100 +++ foomatic-filters-3.0-20080904/ChangeLog 2008-09-23 09:58:01.000000000 +0100 @@ -0,0 +1,11 @@ +2008-09-23 Tim Waugh + + * foomatic-rip.in: Remove final incorrect instance of + removespecialchars (bug #169). + +2008-09-05 Till Kamppeter + + * foomatic-rip.in: Make foomatic-rip also working with PPD file + names which contain brackets or other special characters (Bug + #169). + diff -up foomatic-filters-3.0-20080904/foomatic-rip.in.ppd-filenames foomatic-filters-3.0-20080904/foomatic-rip.in --- foomatic-filters-3.0-20080904/foomatic-rip.in.ppd-filenames 2008-09-23 09:57:43.000000000 +0100 +++ foomatic-filters-3.0-20080904/foomatic-rip.in 2008-09-23 09:58:01.000000000 +0100 @@ -349,7 +349,7 @@ foreach my $shell ('/bin/sh', '/bin/bash if (defined($ENV{'PPD'})) { # Clean the file name from weird characters which could cause # unexpected behaviour - $ppdfile = removespecialchars($ENV{'PPD'}); + $ppdfile = $ENV{'PPD'}; # CUPS, Solaris LP, and PPR (RIP filter) use the "PPD" environment variable # to make the PPD file name available (we set CUPS here preliminarily, # in the next step we check for Solaris LP and the PPR) @@ -517,10 +517,10 @@ if (defined($ENV{'PRINTCAP_ENTRY'})){ # PPD file name given via the command line # allow duplicates, and use the last specified one while ( ($spooler ne 'lprng') and ($argstr =~ s/\x01-p(\x01|)([^\x01]+)\x01/\x01/)) { - $ppdfile = removeshellescapes($2); + $ppdfile = $2; } while ($argstr =~ s/\x01--ppd(\x01|=|)([^\x01]+)\x01/\x01/) { - $ppdfile = removeshellescapes($2); + $ppdfile = $2; } # Check for LPD/GNUlpr by typical options which the spooler puts onto @@ -818,7 +818,7 @@ if (($spooler eq 'lpd') || ($spooler eq 'gnulpr')) { # Get PPD file name as the last command line argument - $ppdfile = removeshellescapes($rargs[$#rargs]); + $ppdfile = $rargs[$#rargs]; }