Tcl Source Code

All files named "generic/tclZipVfs.c"
Login

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

History for generic/tclZipVfs.c

2016-01-12
19:03
Deleted: Reconciled the inner workings of the core_zip_vfs and zipfs branch of Tcl

core_zip_vfs now uses the same C implementation. More fixes to come as I tweak the userspace and Makefile tools. The goal is to fold core_zip_vfs into the zipfs branch. check-in: [6994528405] user: hypnotoad branch: core_zip_vfs, size: 0

2014-11-15
14:48
Added the C implementation of the zipvfs encoder that was originally bundled into the zvfs.c file as a separate tool. file: [cb3672a8fc] check-in: [cb1011bfac] user: hypnotoad branch: core_zip_vfs_c_encoder, size: 54089
2014-11-13
14:58
Removed _ANSI_ARGS_ macros. They were not compiling in Tk for some reason today... file: [795f1940b0] check-in: [758f3bb391] user: hypnotoad branch: core_zip_vfs, size: 54082
2014-10-20
01:23
Removed the dual ported canonical path mapping scheme to allow Odie and FreeWrap to coexist. The results of both functions were functionally identical. file: [17e568e73d] check-in: [dd441a751c] user: hypnotoad branch: core_zip_vfs, size: 54332
01:20
Added thread mutex/release calls around the potentially contested regions of the code:

Mounting a file system Unmounting a file system Reading data from an archive file

The mutexes, as implemented, allow only one thread at a time access to the innards of ZipVfs. It does not try to handle the cases where two archives may be open by two different threads. (One will still have to wait until the other has finished.)

Removed all of the compiler warnings under Unix

(Still have to test the code under Windows.) file: [08fe9a7fd8] check-in: [eb7ef71fe1] user: hypnotoad branch: core_zip_vfs, size: 57346

2014-10-19
20:03
Update the zipvfs implementation with additional code from both Odie and Dennis LaBelle's FreeWrap.

Split the boot loader code out of tclZipVfs.c and into its own File.

Altered the structure of tclZipVfs.c to better mirror that which is distributed in Odie and FreeWrap to make popping and swapping improvements easier. file: [c456cf6d37] check-in: [5fa52cd7ed] user: hypnotoad branch: core_zip_vfs, size: 57578

2014-09-16
23:07
Added a "make tclkit" to makefile

Removed debugging fprintf file: [9b85a2af17] check-in: [b2491b1e92] user: hypnotoad branch: core_zip_vfs, size: 70411

2014-09-12
16:03
Developed an improved bootloader built around TclSetPreInitScript. The new bootloader now mounts the VFS before the interpreter is initialized, and gives it enough hints to point to the VFS for init.tcl and main.tcl (If present)

Also, Tcl_ZVfs_Boot now takes and additional argument: the name of the file to mount.

As the difference between a normal shell and a zvfs enabled shell is one again, several lines of code, the example shells is folded back into tclAppInit.c and controlled with macros.

The ZVFS commands are now loaded in as a static package.

Removed the Stubs entry for Tcl_Boot_ZVFS, it's now intended that shells build their own copy of tclZipVfs.o file: [67c443a8b8] check-in: [c6b845bda5] user: hypnotoad branch: core_zip_vfs, size: 70484

2014-09-06
00:58
New build process for Tcl kits in Unix (Windows port to follow...)

Rather than force a "make install" to build the vfs, the tclkit now performs it's own "install" to a subdirectory (using destdir) to collect the files it needs for its vfs.

tclkits no longer link to the tcl library. Instead, all of the obj files that are used to assemble the lib are instead packed into the executable. Thus, "make tclkit" produces the tclkit. That's it. No dlls. No tclsh. Makes no other mark on the file system save the bare essentials it needs. It uses the same variables in the makefile as the tcl libraries, so as they are updated so too is tclkit.

Zlib files are *always* build for tclkits. Tclkits can never rely on the presence of zlib on the systems in which they will be installed. file: [7794327877] check-in: [a45b82575d] user: hypnotoad branch: core_zip_vfs, size: 69379

2014-09-04
00:30
Re-engineered the windows kitbuilding process to produce a standalone executable (in a similar process as tcltest is made).

The kit specific functions of tclAppInit have been wrapped around define macros, and are only active if TCL_KIT is defined. (Which is only done when building the tclkit executable) file: [a3d6cf1d81] check-in: [ae8b5b6616] user: hypnotoad branch: core_zip_vfs, size: 68726

2014-09-03
20:32
Merging in changes from Tcl

Reduced the code necessary to bootstrap a shell to a single C call.

Reduced the number of new stub entries to 1

Fixed a Makefile goof that was preventing kits from running properly. file: [68e0929134] check-in: [a706cf4205] user: hypnotoad branch: core_zip_vfs, size: 68607

2014-09-02
18:30
Pared down tclZipVfs to eliminate #ifdef branches that we don't have to worry about with a modern Tcl.

Replaced dummy calls to VFS with NULL

Where practical, replaced string-based Tcl IO calls with their new obj-based successors. (Tcl_FSOpenChannel, Tcl_FSStat, etc)

Eliminated compiler warnings under Windows file: [2fc9287d3e] check-in: [e7375a703d] user: hypnotoad branch: core_zip_vfs, size: 67388

2014-09-01
13:51
Squelch most warnings. file: [c721fb475d] check-in: [376fdb8633] user: dkf branch: core_zip_vfs, size: 72556
10:45
Bring the source more into line with Tcl style. file: [b895917f11] check-in: [e92cf56f98] user: dkf branch: core_zip_vfs, size: 72711
07:15
Added: Adding the ability for the Tcl core to build self-contained Zip-based executables

* Integrated a pure-C implementation of ZipVfs * Modified Tcl_AppInit() to look for a zipvfs mounted on the executable file: [52f6322bd9] check-in: [c1d9b13f8c] user: hypnotoad branch: core_zip_vfs, size: 77777