TclVFS

Check-in [d780b5303a]
Login
Bounty program for improvements to Tcl and certain Tcl packages.

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:2011-11-28 Steve Huntley <[email protected]> * vfslib.tcl: Applied contributed patch for bug 3412801. Clean up watch timers for memchan vfs.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: d780b5303ac3c976ea42d8f501ecf35098bb9c19
User & Date: blacksqr 2011-11-28 19:48:12
Context
2012-03-15
18:51
2012-03-15 Wojciech Kocjan <[email protected]> * zipvfs.tcl: Fix for zip symlinks not supported anymore, bug 3505283 check-in: 4f53c24936 user: zoro2 tags: trunk
2011-11-28
19:48
2011-11-28 Steve Huntley <[email protected]> * vfslib.tcl: Applied contributed patch for bug 3412801. Clean up watch timers for memchan vfs. check-in: d780b5303a user: blacksqr tags: trunk
19:26
2011-11-28 Steve Huntley <[email protected]> * zipvfs.tcl: Applied contributed patch for bug 3395782. Enables extraction of contents of zip files created using Fossil. check-in: e391911bd2 user: blacksqr tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to ChangeLog.






1
2
3
4
5
6
7




2011-11-28  Steve Huntley  <[email protected]>

	* zipvfs.tcl: Applied contributed patch for bug 3395782.  Enables 
	extraction of contents of zip files created using Fossil.


2011-11-28  Steve Huntley  <[email protected]>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
2011-11-28  Steve Huntley  <[email protected]>

	* vfslib.tcl: Applied contributed patch for bug 3412801.  Clean up watch
	timers for memchan vfs.

2011-11-28  Steve Huntley  <[email protected]>

	* zipvfs.tcl: Applied contributed patch for bug 3395782.  Enables 
	extraction of contents of zip files created using Fossil.


2011-11-28  Steve Huntley  <[email protected]>

Changes to library/vfslib.tcl.

58
59
60
61
62
63
64






65
66
67
68
69
70
71
                set watch {}
                set name $filename
                if {![info exists timer]} { set timer "" }
                return {initialize finalize watch read write seek cget cgetall}
            }
            finalize {
                unset buf pos name






            }
            seek {
                foreach {offset base} $args break
                switch -exact -- $base {
                    current { incr offset $pos }
                    end     { incr offset [string length $buf] }
                }






>
>
>
>
>
>







58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
                set watch {}
                set name $filename
                if {![info exists timer]} { set timer "" }
                return {initialize finalize watch read write seek cget cgetall}
            }
            finalize {
                unset buf pos name
                foreach event {read write} {
                    upvar #0 ::vfs::_memchan(watch,$event) watch
                    if {[info exists watch] && ([set idx [lsearch -exact $watch $chan]] >= 0)} {
                        set watch [lreplace $watch $idx $idx]
                    }
                }
            }
            seek {
                foreach {offset base} $args break
                switch -exact -- $base {
                    current { incr offset $pos }
                    end     { incr offset [string length $buf] }
                }