Hi,

When I call CL_VirtualFileSystem::has_file on a virtual file system created with a ZIP file I get an exception:

Exception caught: C:\MinGW\msys\1.0\home\Andre\AT\Build\Debug\boot.l ua:44: Cannot scan directory to initialize CL_VirtualDirectoryListing
#0 CL_VirtualDirectoryListing_Impl::CL_VirtualDirecto ryListing_Impl (c:\development\clanlib-2.3.3\sources\core\iodata\virtual_directory_listin g.cpp, line 47)
#1 CL_VirtualDirectoryListing::CL_VirtualDirectoryLis ting (c:\development\clanlib-2.3.3\sources\core\iodata\virtual_directory_listin g.cpp, line 125)
#2 CL_VirtualFileSystem::get_directory_listing (c:\development\clanlib-2.3.3\sources\core\iodata\virtual_file_system.cpp, line 144)
#3 CL_VirtualFileSystem::has_file (c:\development\clanlib-2.3.3\sources\core\iodata\virtual_file_system.cpp, line 286)
#4 hasFile (c:\mingw\msys\1.0\home\andre\at\virtualfilesystem _bind.cpp, line 97)
#5 luaD_precall (c:\mingw\msys\1.0\home\andre\lua-5.1.4\src\ldo.c, line 319)
#6 luaV_execute (c:\mingw\msys\1.0\home\andre\lua-5.1.4\src\lvm.c, line 590)
#7 luaD_call (c:\mingw\msys\1.0\home\andre\lua-5.1.4\src\ldo.c, line 377)
#8 f_call (c:\mingw\msys\1.0\home\andre\lua-5.1.4\src\lapi.c, line 800)
#9 luaD_rawrunprotected (c:\mingw\msys\1.0\home\andre\lua-5.1.4\src\ldo.c, line118)
#10 luaD_pcall (c:\mingw\msys\1.0\home\andre\lua-5.1.4\src\ldo.c, line 463)
#11 lua_pcall (c:\mingw\msys\1.0\home\andre\lua-5.1.4\src\lapi.c, line 821)
#12 luaE_runfile (c:\mingw\msys\1.0\home\andre\at\luaextra.cpp, line 186)
#13 AT::main (c:\mingw\msys\1.0\home\andre\at\program.cpp, line 106)
#14 WinMain (c:\development\clanlib-2.3.3\sources\app\win32\clanapp.cpp, line 90)
#15 __tmainCRTStartup (f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c, line 275)
#16 WinMainCRTStartup (f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c, line 189)
#17 BaseThreadInitThunk
#18 RtlInitializeExceptionChain
#19 RtlInitializeExceptionChain
#0 luaE_runfile (c:\mingw\msys\1.0\home\andre\at\luaextra.cpp, line 194)
#1 AT::main (c:\mingw\msys\1.0\home\andre\at\program.cpp, line 106)
#2 WinMain (c:\development\clanlib-2.3.3\sources\app\win32\clanapp.cpp, line 90)
#3 __tmainCRTStartup (f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c, line 275)
#4 WinMainCRTStartup (f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c, line 189)
#5 BaseThreadInitThunk
#6 RtlInitializeExceptionChain
#7 RtlInitializeExceptionChain

However, if I skip CL_VirtualFileSystem::has_file and call CL_VirtualFileSystem::open_file directly (and of course the file exists) then everything works as expected.

I'm working around this by calling open_file inside a try-catch and considering an exception as "file not found."

Cheers,

Andre