Version 1 of zipvfs shows empty dir with special crafted archives

Updated 2006-08-02 10:24:26

Alexander Grischuk: When mount zip file with filenames stored like ./dir/file (instead dir/file), glob shows nothing. Looks like it's bug in depth calculation logic. I have used ActiveTcl8.4.13 stable. To fix this problem I just patch code to eliminate "." path elements. Here is diff:

     set path [read $fd [u_short $flen]]
     set sb(name) ""

     foreach el [file split $path] {
         if {$el ne "."} {
                     set sb(name) [file join $sb(name) $el]
             }
     }

---

     set sb(name) [read $fd [u_short $flen]]

     set name ""

     foreach el [file split [string tolower $path]] {
         if {$el ne "."} {
                     set name [file join $name $el]
             }
     }

---

     set name [string tolower $path]

I didn't test enough, but such patch solves my problems. Here is problem archive [L1 ]