move decode_utf8 closer to reason for it
authorJoey Hess <joey@kitenet.net>
Sat, 17 Apr 2010 20:08:37 +0000 (16:08 -0400)
committerJoey Hess <joey@kitenet.net>
Sat, 17 Apr 2010 20:08:37 +0000 (16:08 -0400)
Filenames need to be decoded, as File::Find does not provide them in
decoded form, but other callers of verify_src_file will be using utf8.

IkiWiki/Render.pm

index 83242a1973000eb1f6ad05364d6d7661871b1688..fff9dcce610e76be5c7ebf5e32bcd7b5c7ed7e69 100644 (file)
@@ -282,7 +282,7 @@ sub srcdir_check () {
 }
 
 sub verify_src_file ($$) {
 }
 
 sub verify_src_file ($$) {
-       my $file=decode_utf8(shift);
+       my $file=shift;
        my $dir=shift;
 
        return if -l $file || -d _;
        my $dir=shift;
 
        return if -l $file || -d _;
@@ -310,7 +310,7 @@ sub find_src_files () {
        find({
                no_chdir => 1,
                wanted => sub {
        find({
                no_chdir => 1,
                wanted => sub {
-                       my ($file, $page) = verify_src_file($_, $config{srcdir});
+                       my ($file, $page) = verify_src_file(decode_utf8($_), $config{srcdir});
                        if (defined $file) {
                                push @files, $file;
                                if ($pages{$page}) {
                        if (defined $file) {
                                push @files, $file;
                                if ($pages{$page}) {
@@ -324,7 +324,7 @@ sub find_src_files () {
                find({
                        no_chdir => 1,
                        wanted => sub {
                find({
                        no_chdir => 1,
                        wanted => sub {
-                               my ($file, $page) = verify_src_file($_, $dir);
+                               my ($file, $page) = verify_src_file(decode_utf8($_), $dir);
                                if (defined $file) {
                                        # avoid underlaydir override
                                        # attacks; see security.mdwn
                                if (defined $file) {
                                        # avoid underlaydir override
                                        # attacks; see security.mdwn