Package: igal
Version: 1.4-13
Severity: normal
Tags: patch

It seems the URL escaping was accidentally applied to the slide filename
generation too.  Images with space, comma, etc in the filename e.g.
"foo, bar.jpg" will end up with a slide named, on disk, "foo%2C%20bar.html".
This then can't be accessed by the correctly escaped anchor
<a href="foo%2C%20bar.html"> .

The attached patch retains the URL escaping, but fixes the slide
filename generation so that it is the same as the original image.

Nick

-- System Information:
Debian Release: 3.1
  APT prefers testing
  APT policy: (60, 'testing'), (2, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.11-1-k7
Locale: LANG=en_GB, LC_CTYPE=en_GB (charmap=ISO-8859-1)

Versions of packages igal depends on:
ii  imagemagick                6:6.0.6.2-2.4 Image manipulation programs
ii  libimage-size-perl         2.992-1       determine the size of images in se
ii  liburi-perl                1.35-1        Manipulates and accesses URI strin
ii  perl                       5.8.4-8       Larry Wall's Practical Extraction 

-- no debconf information

-- 
http://www.leverton.org/                      ... So express yourself
--- /usr/bin/igal       2005-10-24 21:34:10.000000000 +0100
+++ ./igal      2005-10-24 21:46:57.000000000 +0100
@@ -278,7 +278,7 @@
                        chomp($line); $line =~ s/^\s*//; $line =~ s/\s*$//;
                        # only read lines with the ---- delimiter that don't 
start with #
                        if (($line =~ m/\w\s*----\s*/) && !($line =~ m/^\#/)) {
-                               @arr = split(/\s*----\s*/,$line);
+                               @arr = split(/\s*----\s*/,$line,2);
                                # first check image extensions
                                $temp = $arr[0]; $temp =~ s/^.*\.//;
                                push(@imgfiles,$arr[0]);
@@ -448,7 +448,7 @@
        @slides = ();
        if ($opt_n) {                       # decide on the slide html file 
names
                for ($i = 0; $i < $nfiles; $i++) {
-                       $temp = $safenames[$i];
+                       $temp = $imgfiles[$i];
                        $temp =~ s/\..+?$/\.html/;
                        push(@slides,$temp);
                }
@@ -473,7 +473,7 @@
        
        print "Creating individual slides: ";
        for ($i = 0; $i < $nfiles; $i++) {
-               open(SW,">$opt_d/$slides[$i]") or die "Can't create slide 
file\n";
+               open(SW,">","$opt_d/$slides[$i]") or die "Can't create slide 
file\n";
                print ".";
                if ($opt_k) {    # use image caption for the HTML slide title
                        $title = $captions[$i];

Reply via email to