Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix for #92 vfs::zip unable to read zip archives with wrong modes |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
e12c3ee7322f9b3347c0ec9c261ac308 |
User & Date: | zoro2 2014-03-10 11:40:46.000 |
Context
2017-09-01
| ||
15:50 | Merged changed to nmake files check-in: 263097fa61 user: ashok tags: trunk | |
2017-08-31
| ||
04:47 | Updated nmake files to match current Tcl 8.6 check-in: 9c719715dd user: ashok tags: nmake-update | |
2017-08-30
| ||
08:37 | Create new branch named "nmake-updates" Closed-Leaf check-in: aadd5e249f user: ashok tags: nmake-updates | |
2014-03-10
| ||
11:40 | Fix for #92 vfs::zip unable to read zip archives with wrong modes check-in: e12c3ee732 user: zoro2 tags: trunk | |
11:39 | Fix for zipvfs not preserving missing directories' upper case characters. check-in: b3589b4476 user: zoro2 tags: trunk | |
Changes
Changes to library/zipvfs.tcl.
︙ | ︙ | |||
84 85 86 87 88 89 90 91 92 93 94 95 96 97 | # remove FIFO mode file type (0x1000) if {($sb(mode) & 0xf000) == 0x1000} { set sb(mode) [expr {$sb(mode) ^ 0x1000}] } # remove character device mode file type (0x2000) if {($sb(mode) & 0xf000) == 0x2000} { set sb(mode) [expr {$sb(mode) ^ 0x2000}] } array get sb } proc vfs::zip::access {zipfd name mode} { #::vfs::log "zip-access $name $mode" if {$mode & 2} { | > > > > > | 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | # remove FIFO mode file type (0x1000) if {($sb(mode) & 0xf000) == 0x1000} { set sb(mode) [expr {$sb(mode) ^ 0x1000}] } # remove character device mode file type (0x2000) if {($sb(mode) & 0xf000) == 0x2000} { set sb(mode) [expr {$sb(mode) ^ 0x2000}] } # workaround for certain errorneus zip archives if {($sb(mode) & 0xffff) == 0xffff} { # change to directory type and set mode to 0777 + directory flag set sb(mode) 0x41ff } array get sb } proc vfs::zip::access {zipfd name mode} { #::vfs::log "zip-access $name $mode" if {$mode & 2} { |
︙ | ︙ |