From: lempinen Date: Wed, 10 Oct 2012 10:26:28 +0000 (+0000) Subject: Removed fmu handling from modelica plugins (refs #3763) X-Git-Tag: simantics-1.10.1~134 X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=commitdiff_plain;h=f8d9908232dc36046a1ed12c5c656d2c2dd27008;p=simantics%2Fsysdyn.git Removed fmu handling from modelica plugins (refs #3763) git-svn-id: https://www.simantics.org/svn/simantics/sysdyn/trunk@25963 ac1ea38d-2e2b-0410-8846-a27921b304fc --- diff --git a/org.simantics.modelica/FMUSolution/Debug/FMUSimulator.dll b/org.simantics.modelica/FMUSolution/Debug/FMUSimulator.dll deleted file mode 100644 index 14a5c68e..00000000 Binary files a/org.simantics.modelica/FMUSolution/Debug/FMUSimulator.dll and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Debug/FMUSimulator.exp b/org.simantics.modelica/FMUSolution/Debug/FMUSimulator.exp deleted file mode 100644 index 651da2c5..00000000 Binary files a/org.simantics.modelica/FMUSolution/Debug/FMUSimulator.exp and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Debug/FMUSimulator.lib b/org.simantics.modelica/FMUSolution/Debug/FMUSimulator.lib deleted file mode 100644 index f1fe580d..00000000 Binary files a/org.simantics.modelica/FMUSolution/Debug/FMUSimulator.lib and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Debug/FMUSimulator.pdb b/org.simantics.modelica/FMUSolution/Debug/FMUSimulator.pdb deleted file mode 100644 index 1b80bba1..00000000 Binary files a/org.simantics.modelica/FMUSolution/Debug/FMUSimulator.pdb and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Debug/miniunz.dll b/org.simantics.modelica/FMUSolution/Debug/miniunz.dll deleted file mode 100644 index 84dcea0b..00000000 Binary files a/org.simantics.modelica/FMUSolution/Debug/miniunz.dll and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Debug/miniunz.exp b/org.simantics.modelica/FMUSolution/Debug/miniunz.exp deleted file mode 100644 index f111bb14..00000000 Binary files a/org.simantics.modelica/FMUSolution/Debug/miniunz.exp and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Debug/miniunz.ilk b/org.simantics.modelica/FMUSolution/Debug/miniunz.ilk deleted file mode 100644 index 5ca0dd05..00000000 Binary files a/org.simantics.modelica/FMUSolution/Debug/miniunz.ilk and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Debug/miniunz.lib b/org.simantics.modelica/FMUSolution/Debug/miniunz.lib deleted file mode 100644 index 9699770a..00000000 Binary files a/org.simantics.modelica/FMUSolution/Debug/miniunz.lib and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Debug/miniunz.map b/org.simantics.modelica/FMUSolution/Debug/miniunz.map deleted file mode 100644 index 9c3665f2..00000000 --- a/org.simantics.modelica/FMUSolution/Debug/miniunz.map +++ /dev/null @@ -1,2246 +0,0 @@ - miniunz - - Timestamp is 4fb0c3ac (Mon May 14 11:34:52 2012) - - Preferred load address is 10000000 - - Start Length Name Class - 0001:00000000 00029f79H .textbss DATA - 0002:00000000 00056d85H .text CODE - 0002:00056d90 0000112fH .text$x CODE - 0003:00000000 00000104H .CRT$XCA DATA - 0003:00000104 00000104H .CRT$XCZ DATA - 0003:00000208 00000104H .CRT$XIA DATA - 0003:0000030c 00000113H .CRT$XIC DATA - 0003:00000420 00000104H .CRT$XIZ DATA - 0003:00000524 00000104H .CRT$XPA DATA - 0003:00000628 00000109H .CRT$XPX DATA - 0003:00000734 00000104H .CRT$XPXA DATA - 0003:00000838 00000104H .CRT$XPZ DATA - 0003:0000093c 00000104H .CRT$XTA DATA - 0003:00000a40 00000104H .CRT$XTZ DATA - 0003:00000b50 0000dab4H .rdata DATA - 0003:0000e604 00000175H .rdata$debug DATA - 0003:0000e77c 0000032fH .rdata$r DATA - 0003:0000eaac 00000104H .rtc$IAA DATA - 0003:0000ebb0 00000104H .rtc$IZZ DATA - 0003:0000ecb4 00000104H .rtc$TAA DATA - 0003:0000edb8 00000104H .rtc$TZZ DATA - 0003:0000eec0 00000ec4H .xdata$x DATA - 0003:0000fd90 0000016aH .edata DATA - 0004:00000000 00001406H .data DATA - 0004:00001420 00002574H .bss DATA - 0005:00000000 00000028H .idata$2 DATA - 0005:00000028 00000014H .idata$3 DATA - 0005:0000003c 00000238H .idata$4 DATA - 0005:00000274 00000238H .idata$5 DATA - 0005:000004ac 0000085bH .idata$6 DATA - - Address Publics by Value Rva+Base Lib:Object - - 0000:00000000 ___safe_se_handler_count 00000000 - 0000:00000000 __except_list 00000000 - 0000:00000000 ___safe_se_handler_table 00000000 - 0000:00000000 ___ImageBase 10000000 - 0001:00000000 __enc$textbss$begin 10001000 - 0001:00029f79 __enc$textbss$end 1002af79 - 0002:00002510 _change_file_date 1002d510 f miniunz.obj - 0002:000025c0 _mymkdir 1002d5c0 f miniunz.obj - 0002:00002600 _makedir 1002d600 f miniunz.obj - 0002:000027c0 _do_banner 1002d7c0 f miniunz.obj - 0002:00002800 _do_help 1002d800 f miniunz.obj - 0002:00002830 _Display64BitsSize 1002d830 f miniunz.obj - 0002:00002920 _do_list 1002d920 f miniunz.obj - 0002:00002ca0 _do_extract_currentfile 1002dca0 f miniunz.obj - 0002:00003300 _do_extract 1002e300 f miniunz.obj - 0002:00003410 _do_extract_onefile 1002e410 f miniunz.obj - 0002:000034a0 _unzipFMU 1002e4a0 f miniunz.obj - 0002:00003744 _unzGoToNextFile@4 1002e744 f zlibwapi:zlibvc.dll - 0002:0000374a _unzGetCurrentFileInfo64@32 1002e74a f zlibwapi:zlibvc.dll - 0002:00003750 _unzGetGlobalInfo64@8 1002e750 f zlibwapi:zlibvc.dll - 0002:00003756 _unzCloseCurrentFile@4 1002e756 f zlibwapi:zlibvc.dll - 0002:0000375c _unzReadCurrentFile@12 1002e75c f zlibwapi:zlibvc.dll - 0002:00003762 _unzOpenCurrentFilePassword@8 1002e762 f zlibwapi:zlibvc.dll - 0002:00003768 _unzLocateFile@12 1002e768 f zlibwapi:zlibvc.dll - 0002:0000376e _unzClose@4 1002e76e f zlibwapi:zlibvc.dll - 0002:00003774 _unzOpen2_64@8 1002e774 f zlibwapi:zlibvc.dll - 0002:0000377a _fill_win32_filefunc64A 1002e77a f zlibwapi:zlibvc.dll - 0002:00003780 _CloseHandle@4 1002e780 f kernel32:KERNEL32.dll - 0002:00003786 _SetFileTime@16 1002e786 f kernel32:KERNEL32.dll - 0002:0000378c _LocalFileTimeToFileTime@8 1002e78c f kernel32:KERNEL32.dll - 0002:00003792 _DosDateTimeToFileTime@12 1002e792 f kernel32:KERNEL32.dll - 0002:00003798 _GetFileTime@16 1002e798 f kernel32:KERNEL32.dll - 0002:0000379e _CreateFileA@28 1002e79e f kernel32:KERNEL32.dll - 0002:000037b0 __mkdir 1002e7b0 f LIBCMTD:mkdir.obj - 0002:00003810 __dosmaperr 1002e810 f LIBCMTD:dosmap.obj - 0002:00003850 __get_errno_from_oserr 1002e850 f LIBCMTD:dosmap.obj - 0002:000038f0 __set_errno 1002e8f0 f LIBCMTD:dosmap.obj - 0002:00003930 __get_errno 1002e930 f LIBCMTD:dosmap.obj - 0002:000039d0 __set_doserrno 1002e9d0 f LIBCMTD:dosmap.obj - 0002:00003a10 __get_doserrno 1002ea10 f LIBCMTD:dosmap.obj - 0002:00003ab0 __errno 1002eab0 f LIBCMTD:dosmap.obj - 0002:00003ae0 ___doserrno 1002eae0 f LIBCMTD:dosmap.obj - 0002:00003b10 _free 1002eb10 f LIBCMTD:dbgfree.obj - 0002:00003b30 _strcpy 1002eb30 f LIBCMTD:strcat.obj - 0002:00003b40 _strcat 1002eb40 f LIBCMTD:strcat.obj - 0002:00003c70 _printf 1002ec70 f LIBCMTD:printf.obj - 0002:00003e00 __printf_l 1002ee00 f LIBCMTD:printf.obj - 0002:00003e30 __printf_s_l 1002ee30 f LIBCMTD:printf.obj - 0002:00003e60 _printf_s 1002ee60 f LIBCMTD:printf.obj - 0002:00003e90 __printf_p_l 1002ee90 f LIBCMTD:printf.obj - 0002:00003ec0 __printf_p 1002eec0 f LIBCMTD:printf.obj - 0002:00003ef0 __set_printf_count_output 1002eef0 f LIBCMTD:printf.obj - 0002:00003f50 __get_printf_count_output 1002ef50 f LIBCMTD:printf.obj - 0002:00003f80 _malloc 1002ef80 f LIBCMTD:dbgmalloc.obj - 0002:00003fc0 _strlen 1002efc0 f LIBCMTD:strlen.obj - 0002:00004070 __aulldiv 1002f070 f LIBCMTD:ulldiv.obj - 0002:00004100 __aullrem 1002f100 f LIBCMTD:ullrem.obj - 0002:000041a0 __allmul 1002f1a0 f LIBCMTD:llmul.obj - 0002:000041f0 _fwrite 1002f1f0 f LIBCMTD:fwrite.obj - 0002:00004340 __fwrite_nolock 1002f340 f LIBCMTD:fwrite.obj - 0002:00004800 __cinit 1002f800 f LIBCMTD:crt0dat.obj - 0002:000048d0 _exit 1002f8d0 f LIBCMTD:crt0dat.obj - 0002:000048f0 __exit 1002f8f0 f LIBCMTD:crt0dat.obj - 0002:00004910 __cexit 1002f910 f LIBCMTD:crt0dat.obj - 0002:00004930 __c_exit 1002f930 f LIBCMTD:crt0dat.obj - 0002:00004950 __amsg_exit 1002f950 f LIBCMTD:crt0dat.obj - 0002:00004980 ___freeCrtMemory 1002f980 f LIBCMTD:crt0dat.obj - 0002:00004d90 ___crtCorExitProcess 1002fd90 f LIBCMTD:crt0dat.obj - 0002:00004de0 ___crtExitProcess 1002fde0 f LIBCMTD:crt0dat.obj - 0002:00004e10 __lockexit 1002fe10 f LIBCMTD:crt0dat.obj - 0002:00004e30 __unlockexit 1002fe30 f LIBCMTD:crt0dat.obj - 0002:00004e50 __init_pointers 1002fe50 f LIBCMTD:crt0dat.obj - 0002:00004f00 __initterm_e 1002ff00 f LIBCMTD:crt0dat.obj - 0002:00004f50 __get_wpgmptr 1002ff50 f LIBCMTD:crt0dat.obj - 0002:00005080 __get_pgmptr 10030080 f LIBCMTD:crt0dat.obj - 0002:000051b0 _vscanf 100301b0 f LIBCMTD:scanf.obj - 0002:000052f0 _scanf 100302f0 f LIBCMTD:scanf.obj - 0002:00005320 __scanf_l 10030320 f LIBCMTD:scanf.obj - 0002:00005360 _scanf_s 10030360 f LIBCMTD:scanf.obj - 0002:00005390 __scanf_s_l 10030390 f LIBCMTD:scanf.obj - 0002:000053d0 _fclose 100303d0 f LIBCMTD:fclose.obj - 0002:00005520 __fclose_nolock 10030520 f LIBCMTD:fclose.obj - 0002:00005660 __fsopen 10030660 f LIBCMTD:fopen.obj - 0002:000058f0 _fopen 100308f0 f LIBCMTD:fopen.obj - 0002:00005910 _fopen_s 10030910 f LIBCMTD:fopen.obj - 0002:000059e0 __chdir 100309e0 f LIBCMTD:chdir.obj - 0002:00005c70 _strncpy 10030c70 f LIBCMTD:strncpy.obj - 0002:00005de0 _memset 10030de0 f LIBCMTD:memset.obj - 0002:00005e80 __CRT_INIT@12 10030e80 f LIBCMTD:dllcrt0.obj - 0002:00006120 __DllMainCRTStartup@12 10031120 f LIBCMTD:dllcrt0.obj - 0002:00006380 __encoded_null 10031380 f LIBCMTD:tidtable.obj - 0002:000063a0 ___crtTlsAlloc@4 100313a0 f LIBCMTD:tidtable.obj - 0002:000063c0 ___fls_getvalue@4 100313c0 f LIBCMTD:tidtable.obj - 0002:000063f0 ___get_flsindex 100313f0 f LIBCMTD:tidtable.obj - 0002:00006400 ___set_flsgetvalue 10031400 f LIBCMTD:tidtable.obj - 0002:00006460 ___fls_setvalue@8 10031460 f LIBCMTD:tidtable.obj - 0002:00006490 __mtinit 10031490 f LIBCMTD:tidtable.obj - 0002:00006710 __mtterm 10031710 f LIBCMTD:tidtable.obj - 0002:00006780 __initptd 10031780 f LIBCMTD:tidtable.obj - 0002:000068f0 __getptd_noexit 100318f0 f LIBCMTD:tidtable.obj - 0002:000069e0 __getptd 100319e0 f LIBCMTD:tidtable.obj - 0002:00006a10 __freefls@4 10031a10 f LIBCMTD:tidtable.obj - 0002:00006ca0 __freeptd 10031ca0 f LIBCMTD:tidtable.obj - 0002:00006d40 ___threadid 10031d40 f LIBCMTD:tidtable.obj - 0002:00006d50 ___threadhandle 10031d50 f LIBCMTD:tidtable.obj - 0002:00006d60 __initp_misc_invarg 10031d60 f LIBCMTD:invarg.obj - 0002:00006d80 __invalid_parameter 10031d80 f LIBCMTD:invarg.obj - 0002:00006df0 __invoke_watson 10031df0 f LIBCMTD:invarg.obj - 0002:00006e30 __call_reportfault 10031e30 f LIBCMTD:invarg.obj - 0002:00006fe0 __set_invalid_parameter_handler 10031fe0 f LIBCMTD:invarg.obj - 0002:00007030 __get_invalid_parameter_handler 10032030 f LIBCMTD:invarg.obj - 0002:00007070 ?_invalid_parameter@@YAXPBG00II@Z 10032070 f LIBCMTD:invarg.obj - 0002:000070a0 ?_invoke_watson@@YAXPBG00II@Z 100320a0 f LIBCMTD:invarg.obj - 0002:000070d0 __CrtSetReportHookW2 100320d0 f LIBCMTD:dbgrptw.obj - 0002:000074c0 __CrtDbgReportW 100324c0 f LIBCMTD:dbgrptw.obj - 0002:00007510 __CrtDbgReportWV 10032510 f i LIBCMTD:dbgrptw.obj - 0002:00007540 ___crtMessageWindowW 10032540 f LIBCMTD:dbgrptw.obj - 0002:00007a40 __invoke_watson_if_error 10032a40 f i LIBCMTD:dbgrptw.obj - 0002:00007a80 __invoke_watson_if_oneof 10032a80 f i LIBCMTD:dbgrptw.obj - 0002:00007ad0 ?_CrtDbgReportW@@YAHHPBGH00ZZ 10032ad0 f LIBCMTD:dbgrptw.obj - 0002:00007b20 __malloc_dbg 10032b20 f LIBCMTD:dbgheap.obj - 0002:00007b60 __nh_malloc 10032b60 f LIBCMTD:dbgheap.obj - 0002:00007b90 __nh_malloc_dbg 10032b90 f LIBCMTD:dbgheap.obj - 0002:00007c90 __heap_alloc 10032c90 f LIBCMTD:dbgheap.obj - 0002:00008160 __heap_alloc_dbg 10033160 f LIBCMTD:dbgheap.obj - 0002:000081d0 __calloc_dbg_impl 100331d0 f LIBCMTD:dbgheap.obj - 0002:00008270 __calloc_dbg 10033270 f LIBCMTD:dbgheap.obj - 0002:000082e0 __recalloc 100332e0 f LIBCMTD:dbgheap.obj - 0002:00008320 __realloc_dbg 10033320 f LIBCMTD:dbgheap.obj - 0002:00008b60 __recalloc_dbg 10033b60 f LIBCMTD:dbgheap.obj - 0002:00008c40 __expand 10033c40 f LIBCMTD:dbgheap.obj - 0002:00008c70 __expand_dbg 10033c70 f LIBCMTD:dbgheap.obj - 0002:00008dc0 __free_nolock 10033dc0 f LIBCMTD:dbgheap.obj - 0002:00008de0 __free_dbg 10033de0 f LIBCMTD:dbgheap.obj - 0002:00008e80 __free_dbg_nolock 10033e80 f LIBCMTD:dbgheap.obj - 0002:000094a0 __msize 100344a0 f LIBCMTD:dbgheap.obj - 0002:000094c0 __msize_dbg 100344c0 f LIBCMTD:dbgheap.obj - 0002:00009720 __CrtSetBreakAlloc 10034720 f LIBCMTD:dbgheap.obj - 0002:00009750 __CrtSetDbgBlockType 10034750 f LIBCMTD:dbgheap.obj - 0002:00009870 __CrtSetAllocHook 10034870 f LIBCMTD:dbgheap.obj - 0002:000098a0 __CrtGetAllocHook 100348a0 f LIBCMTD:dbgheap.obj - 0002:00009900 __CrtCheckMemory 10034900 f LIBCMTD:dbgheap.obj - 0002:00009e70 __CrtSetDbgFlag 10034e70 f LIBCMTD:dbgheap.obj - 0002:0000a010 __CrtDoForAllClientObjects 10035010 f LIBCMTD:dbgheap.obj - 0002:0000a180 __CrtIsValidPointer 10035180 f LIBCMTD:dbgheap.obj - 0002:0000a1a0 __CrtIsValidHeapPointer 100351a0 f LIBCMTD:dbgheap.obj - 0002:0000a200 __CrtIsMemoryBlock 10035200 f LIBCMTD:dbgheap.obj - 0002:0000a3d0 __CrtReportBlockType 100353d0 f LIBCMTD:dbgheap.obj - 0002:0000a410 __CrtSetDumpClient 10035410 f LIBCMTD:dbgheap.obj - 0002:0000a440 __CrtGetDumpClient 10035440 f LIBCMTD:dbgheap.obj - 0002:0000a450 __CrtMemCheckpoint 10035450 f LIBCMTD:dbgheap.obj - 0002:0000a6f0 __CrtMemDifference 100356f0 f LIBCMTD:dbgheap.obj - 0002:0000a990 __CrtMemDumpAllObjectsSince 10035990 f LIBCMTD:dbgheap.obj - 0002:0000a9e0 ??0_LocaleUpdate@@QAE@PAUlocaleinfo_struct@@@Z 100359e0 f i LIBCMTD:dbgheap.obj - 0002:0000aaf0 ??1_LocaleUpdate@@QAE@XZ 10035af0 f i LIBCMTD:dbgheap.obj - 0002:0000ab30 ?GetLocaleT@_LocaleUpdate@@QAEPAUlocaleinfo_struct@@XZ 10035b30 f i LIBCMTD:dbgheap.obj - 0002:0000b130 __CrtDumpMemoryLeaks 10036130 f LIBCMTD:dbgheap.obj - 0002:0000b1d0 __CrtMemDumpStatistics 100361d0 f LIBCMTD:dbgheap.obj - 0002:0000b320 __aligned_malloc 10036320 f LIBCMTD:dbgheap.obj - 0002:0000b350 __aligned_malloc_dbg 10036350 f LIBCMTD:dbgheap.obj - 0002:0000b380 __aligned_realloc 10036380 f LIBCMTD:dbgheap.obj - 0002:0000b3b0 __aligned_recalloc 100363b0 f LIBCMTD:dbgheap.obj - 0002:0000b3e0 __aligned_realloc_dbg 100363e0 f LIBCMTD:dbgheap.obj - 0002:0000b410 __aligned_recalloc_dbg 10036410 f LIBCMTD:dbgheap.obj - 0002:0000b450 __aligned_offset_malloc 10036450 f LIBCMTD:dbgheap.obj - 0002:0000b480 __aligned_offset_malloc_dbg 10036480 f LIBCMTD:dbgheap.obj - 0002:0000b6b0 __aligned_offset_realloc 100366b0 f LIBCMTD:dbgheap.obj - 0002:0000b6e0 __aligned_offset_recalloc 100366e0 f LIBCMTD:dbgheap.obj - 0002:0000b710 __aligned_offset_realloc_dbg 10036710 f LIBCMTD:dbgheap.obj - 0002:0000bac0 __aligned_offset_recalloc_dbg 10036ac0 f LIBCMTD:dbgheap.obj - 0002:0000bbb0 __aligned_free 10036bb0 f LIBCMTD:dbgheap.obj - 0002:0000bbd0 __aligned_free_dbg 10036bd0 f LIBCMTD:dbgheap.obj - 0002:0000bcb0 __CrtSetDebugFillThreshold 10036cb0 f LIBCMTD:dbgheap.obj - 0002:0000bce0 __CrtSetCheckCount 10036ce0 f LIBCMTD:dbgheap.obj - 0002:0000bd00 __CrtGetCheckCount 10036d00 f LIBCMTD:dbgheap.obj - 0002:0000bd10 __aligned_msize 10036d10 f LIBCMTD:dbgheap.obj - 0002:0000bd40 __aligned_msize_dbg 10036d40 f LIBCMTD:dbgheap.obj - 0002:0000be90 ___iob_func 10036e90 f LIBCMTD:_file.obj - 0002:0000bea0 ___initstdio 10036ea0 f LIBCMTD:_file.obj - 0002:0000c040 ___endstdio 10037040 f LIBCMTD:_file.obj - 0002:0000c080 __lock_file 10037080 f LIBCMTD:_file.obj - 0002:0000c0f0 __lock_file2 100370f0 f LIBCMTD:_file.obj - 0002:0000c140 __unlock_file 10037140 f LIBCMTD:_file.obj - 0002:0000c1b0 __unlock_file2 100371b0 f LIBCMTD:_file.obj - 0002:0000c200 __stbuf 10037200 f LIBCMTD:_sftbuf.obj - 0002:0000c3b0 __ftbuf 100373b0 f LIBCMTD:_sftbuf.obj - 0002:0000c460 __output_l 10037460 f LIBCMTD:output.obj - 0002:0000dda0 _get_int_arg 10038da0 f i LIBCMTD:output.obj - 0002:0000ddd0 _get_int64_arg 10038dd0 f i LIBCMTD:output.obj - 0002:0000de00 _get_short_arg 10038e00 f i LIBCMTD:output.obj - 0002:0000de30 __except_handler4 10038e30 f LIBCMTD:chandler4.obj - 0002:0000e0e0 _vprintf_helper 100390e0 f LIBCMTD:vprintf.obj - 0002:0000e240 __vprintf_l 10039240 f LIBCMTD:vprintf.obj - 0002:0000e270 __vprintf_s_l 10039270 f LIBCMTD:vprintf.obj - 0002:0000e2a0 __vprintf_p_l 100392a0 f LIBCMTD:vprintf.obj - 0002:0000e2d0 _vprintf 100392d0 f LIBCMTD:vprintf.obj - 0002:0000e300 _vprintf_s 10039300 f LIBCMTD:vprintf.obj - 0002:0000e330 __vprintf_p 10039330 f LIBCMTD:vprintf.obj - 0002:0000e360 __flsbuf 10039360 f LIBCMTD:_flsbuf.obj - 0002:0000e6d0 __write 100396d0 f LIBCMTD:write.obj - 0002:0000e980 __write_nolock 10039980 f LIBCMTD:write.obj - 0002:0000f790 __fileno 1003a790 f LIBCMTD:fileno.obj - 0002:0000f820 _fflush 1003a820 f LIBCMTD:fflush.obj - 0002:0000f8e0 __fflush_nolock 1003a8e0 f LIBCMTD:fflush.obj - 0002:0000f950 __flush 1003a950 f LIBCMTD:fflush.obj - 0002:0000fa40 __flushall 1003aa40 f LIBCMTD:fflush.obj - 0002:0000fc70 _memcpy 1003ac70 f LIBCMTD:memcpy.obj - 0002:000100b0 __onexit 1003b0b0 f LIBCMTD:onexit.obj - 0002:000102f0 _atexit 1003b2f0 f LIBCMTD:onexit.obj - 0002:00010320 ___onexitinit 1003b320 f LIBCMTD:onexit.obj - 0002:00010390 __RTC_Initialize 1003b390 f LIBCMTD:_initsect_.obj - 0002:000103c0 __RTC_Terminate 1003b3c0 f LIBCMTD:_initsect_.obj - 0002:000103f0 __initp_misc_cfltcvt_tab 1003b3f0 f LIBCMTD:cmiscdat.obj - 0002:00010440 __ValidateImageBase 1003b440 f LIBCMTD:pesect.obj - 0002:000104c0 __FindPESection 1003b4c0 f LIBCMTD:pesect.obj - 0002:00010560 __IsNonwritableInCurrentImage 1003b560 f LIBCMTD:pesect.obj - 0002:000106c0 __FF_MSGBANNER 1003b6c0 f LIBCMTD:crt0msg.obj - 0002:00010720 __GET_RTERRMSG 1003b720 f LIBCMTD:crt0msg.obj - 0002:00010780 __NMSG_WRITE 1003b780 f LIBCMTD:crt0msg.obj - 0002:00010b80 ___updatetmbcinfo 1003bb80 f LIBCMTD:mbctype.obj - 0002:00010cd0 __setmbcp 1003bcd0 f LIBCMTD:mbctype.obj - 0002:00011160 __setmbcp_nolock 1003c160 f LIBCMTD:mbctype.obj - 0002:00011b40 __getmbcp 1003cb40 f LIBCMTD:mbctype.obj - 0002:00011bd0 ___initmbctable 1003cbd0 f LIBCMTD:mbctype.obj - 0002:00011c00 __mtinitlocks 1003cc00 f LIBCMTD:mlock.obj - 0002:00011cb0 __mtdeletelocks 1003ccb0 f LIBCMTD:mlock.obj - 0002:00011da0 __mtinitlocknum 1003cda0 f LIBCMTD:mlock.obj - 0002:00011f40 __lock 1003cf40 f LIBCMTD:mlock.obj - 0002:00011f90 __unlock 1003cf90 f LIBCMTD:mlock.obj - 0002:00011fb0 __lockerr_exit 1003cfb0 f LIBCMTD:mlock.obj - 0002:00011fe0 __initp_eh_hooks 1003cfe0 f LIBCMTD:hooks.obj - 0002:00012000 ?terminate@@YAXXZ 1003d000 f LIBCMTD:hooks.obj - 0002:000120a0 ?unexpected@@YAXXZ 1003d0a0 f LIBCMTD:hooks.obj - 0002:000120d0 ?_inconsistency@@YAXXZ 1003d0d0 f LIBCMTD:hooks.obj - 0002:00012180 __initp_misc_winsig 1003d180 f LIBCMTD:winsig.obj - 0002:000121c0 _signal 1003d1c0 f LIBCMTD:winsig.obj - 0002:00012770 _raise 1003d770 f LIBCMTD:winsig.obj - 0002:00012bc0 ___get_sigabrt 1003dbc0 f LIBCMTD:winsig.obj - 0002:00012be0 ___fpecode 1003dbe0 f LIBCMTD:winsig.obj - 0002:00012c00 ___pxcptinfoptrs 1003dc00 f LIBCMTD:winsig.obj - 0002:00012c20 __initp_misc_rand_s 1003dc20 f LIBCMTD:rand_s.obj - 0002:00012c40 _rand_s 1003dc40 f LIBCMTD:rand_s.obj - 0002:00012ee0 ___getlocaleinfo 1003dee0 f LIBCMTD:inithelp.obj - 0002:00013270 __initp_misc_purevirt 1003e270 f LIBCMTD:inithelp.obj - 0002:00013290 __initp_heap_handler 1003e290 f LIBCMTD:handler.obj - 0002:000132b0 ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z 1003e2b0 f LIBCMTD:handler.obj - 0002:00013300 ?_set_new_handler@@YAP6AHI@ZH@Z 1003e300 f LIBCMTD:handler.obj - 0002:00013350 ?_query_new_handler@@YAP6AHI@ZXZ 1003e350 f LIBCMTD:handler.obj - 0002:00013370 __callnewh 1003e370 f LIBCMTD:handler.obj - 0002:000133c0 __input_l 1003e3c0 f LIBCMTD:input.obj - 0002:00015250 __INTRN_LOCALE_CONV 10040250 f i LIBCMTD:input.obj - 0002:000153c0 __input_s_l 100403c0 f LIBCMTD:inputs.obj - 0002:00017830 __close 10042830 f LIBCMTD:close.obj - 0002:00017ad0 __close_nolock 10042ad0 f LIBCMTD:close.obj - 0002:00017bd0 __freebuf 10042bd0 f LIBCMTD:_freebuf.obj - 0002:00017c80 __openfile 10042c80 f LIBCMTD:_open.obj - 0002:00018630 __getstream 10043630 f LIBCMTD:stream.obj - 0002:00018930 __local_unwind4 10043930 f LIBCMTD:exsup4.obj - 0002:00018a06 __seh_longjmp_unwind4@4 10043a06 f LIBCMTD:exsup4.obj - 0002:00018a22 @_EH4_CallFilterFunc@8 10043a22 f LIBCMTD:exsup4.obj - 0002:00018a39 @_EH4_TransferToHandler@8 10043a39 f LIBCMTD:exsup4.obj - 0002:00018a52 @_EH4_GlobalUnwind2@8 10043a52 f LIBCMTD:exsup4.obj - 0002:00018a6b @_EH4_LocalUnwind@16 10043a6b f LIBCMTD:exsup4.obj - 0002:00018ae0 __mbctoupper_l 10043ae0 f LIBCMTD:mbtoupr.obj - 0002:00018c80 __mbctoupper 10043c80 f LIBCMTD:mbtoupr.obj - 0002:00018ca0 @__security_check_cookie@4 10043ca0 f LIBCMTD:secchk.obj - 0002:00018cc0 __VEC_memzero 10043cc0 f LIBCMTD:p4_memset.obj - 0002:00018db0 ___sse2_available_init 10043db0 f LIBCMTD:cpu_disp.obj - 0002:00018dd0 __ioinit 10043dd0 f LIBCMTD:ioinit.obj - 0002:000192f0 __ioterm 100442f0 f LIBCMTD:ioinit.obj - 0002:000193c0 __setenvp 100443c0 f LIBCMTD:stdenvp.obj - 0002:000195d0 __setargv 100445d0 f LIBCMTD:stdargv.obj - 0002:00019730 __set_pgmptr 10044730 f i LIBCMTD:stdargv.obj - 0002:00019b90 ___crtGetEnvironmentStringsA 10044b90 f LIBCMTD:a_env.obj - 0002:00019cd0 __heap_init 10044cd0 f LIBCMTD:heapinit.obj - 0002:00019d20 __heap_term 10044d20 f LIBCMTD:heapinit.obj - 0002:00019d50 __get_heap_handle 10044d50 f LIBCMTD:heapinit.obj - 0002:00019d90 ___security_init_cookie 10044d90 f LIBCMTD:gs_support.obj - 0002:00019eb0 ___CppXcptFilter 10044eb0 f LIBCMTD:winxfltr.obj - 0002:00019ee0 __XcptFilter 10044ee0 f LIBCMTD:winxfltr.obj - 0002:0001a1d0 _DllMain@12 100451d0 f LIBCMTD:dllmain.obj - 0002:0001a1f0 ___addlocaleref 100451f0 f LIBCMTD:localref.obj - 0002:0001a360 ___removelocaleref 10045360 f LIBCMTD:localref.obj - 0002:0001a4e0 ___freetlocinfo 100454e0 f LIBCMTD:localref.obj - 0002:0001a880 __updatetlocinfoEx_nolock 10045880 f LIBCMTD:localref.obj - 0002:0001a920 ___updatetlocinfo 10045920 f LIBCMTD:localref.obj - 0002:0001aa20 __CrtDefaultAllocHook 10045a20 f LIBCMTD:dbghook.obj - 0002:0001aa30 __crt_debugger_hook 10045a30 f LIBCMTD:dbghook.obj - 0002:0001aa50 __CrtDbgBreak 10045a50 f LIBCMTD:dbgrptt.obj - 0002:0001aa60 __CrtSetReportMode 10045a60 f LIBCMTD:dbgrptt.obj - 0002:0001abf0 __CrtSetReportFile 10045bf0 f LIBCMTD:dbgrptt.obj - 0002:0001ad20 __CrtSetReportHook 10045d20 f LIBCMTD:dbgrptt.obj - 0002:0001ad50 __CrtGetReportHook 10045d50 f LIBCMTD:dbgrptt.obj - 0002:0001ad60 __VCrtDbgReportA 10045d60 f LIBCMTD:dbgrptt.obj - 0002:0001b790 __VCrtDbgReportW 10046790 f LIBCMTD:dbgrptt.obj - 0002:0001c310 ___crtMessageBoxW 10047310 f LIBCMTD:crtmboxw.obj - 0002:0001c5c0 __swprintf 100475c0 f LIBCMTD:swprintf.obj - 0002:0001c840 ___swprintf_l 10047840 f LIBCMTD:swprintf.obj - 0002:0001c880 _swprintf_s 10047880 f LIBCMTD:swprintf.obj - 0002:0001c8c0 __snwprintf_s 100478c0 f LIBCMTD:swprintf.obj - 0002:0001c900 __swprintf_p 10047900 f LIBCMTD:swprintf.obj - 0002:0001c940 __swprintf_s_l 10047940 f LIBCMTD:swprintf.obj - 0002:0001c980 __snwprintf_s_l 10047980 f LIBCMTD:swprintf.obj - 0002:0001c9c0 __swprintf_p_l 100479c0 f LIBCMTD:swprintf.obj - 0002:0001ca00 __scwprintf 10047a00 f LIBCMTD:swprintf.obj - 0002:0001ca30 __scwprintf_p 10047a30 f LIBCMTD:swprintf.obj - 0002:0001ca60 __scwprintf_l 10047a60 f LIBCMTD:swprintf.obj - 0002:0001ca90 __scwprintf_p_l 10047a90 f LIBCMTD:swprintf.obj - 0002:0001cac0 _memcpy_s 10047ac0 f LIBCMTD:memcpy_s.obj - 0002:0001ccb0 _wcslen 10047cb0 f LIBCMTD:wcslen.obj - 0002:0001ccf0 _wcscpy_s 10047cf0 f LIBCMTD:wcscpy_s.obj - 0002:0001d090 __alloca_probe 10048090 LIBCMTD:chkstk.obj - 0002:0001d090 __chkstk 10048090 f LIBCMTD:chkstk.obj - 0002:0001d0d0 __malloc_base 100480d0 f LIBCMTD:malloc.obj - 0002:0001d180 __heap_alloc_base 10048180 f i LIBCMTD:malloc.obj - 0002:0001d1f0 __CrtSetReportHook2 100481f0 f LIBCMTD:dbgrpt.obj - 0002:0001d5e0 __CrtDbgReport 100485e0 f LIBCMTD:dbgrpt.obj - 0002:0001d630 __CrtDbgReportV 10048630 f i LIBCMTD:dbgrpt.obj - 0002:0001d660 ___crtMessageWindowA 10048660 f LIBCMTD:dbgrpt.obj - 0002:0001db60 __expand_base 10048b60 f LIBCMTD:expand.obj - 0002:0001dd10 __realloc_base 10048d10 f LIBCMTD:realloc.obj - 0002:0001de50 __free_base 10048e50 f LIBCMTD:free.obj - 0002:0001dec0 __heapchk 10048ec0 f LIBCMTD:heapchk.obj - 0002:0001df00 __heapset 10048f00 f LIBCMTD:heapchk.obj - 0002:0001df10 _sprintf 10048f10 f LIBCMTD:sprintf.obj - 0002:0001e110 __sprintf_l 10049110 f LIBCMTD:sprintf.obj - 0002:0001e150 _sprintf_s 10049150 f LIBCMTD:sprintf.obj - 0002:0001e190 __sprintf_s_l 10049190 f LIBCMTD:sprintf.obj - 0002:0001e1d0 __snprintf_s 100491d0 f LIBCMTD:sprintf.obj - 0002:0001e210 __snprintf_s_l 10049210 f LIBCMTD:sprintf.obj - 0002:0001e250 __sprintf_p 10049250 f LIBCMTD:sprintf.obj - 0002:0001e290 __sprintf_p_l 10049290 f LIBCMTD:sprintf.obj - 0002:0001e2d0 __scprintf 100492d0 f LIBCMTD:sprintf.obj - 0002:0001e300 __scprintf_p 10049300 f LIBCMTD:sprintf.obj - 0002:0001e330 __scprintf_l 10049330 f LIBCMTD:sprintf.obj - 0002:0001e360 __scprintf_p_l 10049360 f LIBCMTD:sprintf.obj - 0002:0001e390 __chvalidator 10049390 f LIBCMTD:isctype.obj - 0002:0001e3f0 __chvalidator_l 100493f0 f LIBCMTD:isctype.obj - 0002:0001e4d0 __isctype_l 100494d0 f LIBCMTD:isctype.obj - 0002:0001e630 __isctype 10049630 f LIBCMTD:isctype.obj - 0002:0001e680 __fcloseall 10049680 f LIBCMTD:closeall.obj - 0002:0001e800 __isatty 10049800 f LIBCMTD:isatty.obj - 0002:0001e8f0 __wctomb_s_l 100498f0 f LIBCMTD:wctomb.obj - 0002:0001ecb0 _wctomb_s 10049cb0 f LIBCMTD:wctomb.obj - 0002:0001ece0 __wctomb_l 10049ce0 f LIBCMTD:wctomb.obj - 0002:0001ed80 _wctomb 10049d80 f LIBCMTD:wctomb.obj - 0002:0001ede0 __isleadbyte_l 10049de0 f i LIBCMTD:_wctype.obj - 0002:0001ee40 _isleadbyte 10049e40 f i LIBCMTD:_wctype.obj - 0002:0001ee60 __iswalpha_l 10049e60 f i LIBCMTD:_wctype.obj - 0002:0001ee80 _iswalpha 10049e80 f i LIBCMTD:_wctype.obj - 0002:0001eea0 __iswupper_l 10049ea0 f i LIBCMTD:_wctype.obj - 0002:0001eec0 _iswupper 10049ec0 f i LIBCMTD:_wctype.obj - 0002:0001eee0 __iswlower_l 10049ee0 f i LIBCMTD:_wctype.obj - 0002:0001ef00 _iswlower 10049f00 f i LIBCMTD:_wctype.obj - 0002:0001ef20 __iswdigit_l 10049f20 f i LIBCMTD:_wctype.obj - 0002:0001ef40 _iswdigit 10049f40 f i LIBCMTD:_wctype.obj - 0002:0001ef60 __iswxdigit_l 10049f60 f i LIBCMTD:_wctype.obj - 0002:0001ef80 _iswxdigit 10049f80 f i LIBCMTD:_wctype.obj - 0002:0001efa0 __iswspace_l 10049fa0 f i LIBCMTD:_wctype.obj - 0002:0001efc0 _iswspace 10049fc0 f i LIBCMTD:_wctype.obj - 0002:0001efe0 __iswpunct_l 10049fe0 f i LIBCMTD:_wctype.obj - 0002:0001f000 _iswpunct 1004a000 f i LIBCMTD:_wctype.obj - 0002:0001f020 __iswalnum_l 1004a020 f i LIBCMTD:_wctype.obj - 0002:0001f040 _iswalnum 1004a040 f i LIBCMTD:_wctype.obj - 0002:0001f060 __iswprint_l 1004a060 f i LIBCMTD:_wctype.obj - 0002:0001f080 _iswprint 1004a080 f i LIBCMTD:_wctype.obj - 0002:0001f0a0 __iswgraph_l 1004a0a0 f i LIBCMTD:_wctype.obj - 0002:0001f0c0 _iswgraph 1004a0c0 f i LIBCMTD:_wctype.obj - 0002:0001f0e0 __iswcntrl_l 1004a0e0 f i LIBCMTD:_wctype.obj - 0002:0001f100 _iswcntrl 1004a100 f i LIBCMTD:_wctype.obj - 0002:0001f120 _iswascii 1004a120 f i LIBCMTD:_wctype.obj - 0002:0001f140 __iswcsym_l 1004a140 f i LIBCMTD:_wctype.obj - 0002:0001f190 ___iswcsym 1004a190 f i LIBCMTD:_wctype.obj - 0002:0001f1e0 __iswcsymf_l 1004a1e0 f i LIBCMTD:_wctype.obj - 0002:0001f230 ___iswcsymf 1004a230 f i LIBCMTD:_wctype.obj - 0002:0001f280 __output_s_l 1004a280 f LIBCMTD:outputs.obj - 0002:00020d70 __validate_param_reuseA 1004bd70 f LIBCMTD:outputp.obj - 0002:00021080 __output_p_l 1004c080 f LIBCMTD:outputp.obj - 0002:00025b30 _get_crtdouble_arg 10050b30 f i LIBCMTD:outputp.obj - 0002:00025b60 __lseeki64 10050b60 f LIBCMTD:lseeki64.obj - 0002:00025e40 __lseeki64_nolock 10050e40 f LIBCMTD:lseeki64.obj - 0002:00025f70 __getbuf 10050f70 f LIBCMTD:_getbuf.obj - 0002:00026070 __alloc_osfhnd 10051070 f LIBCMTD:osfinfo.obj - 0002:000263d0 __set_osfhnd 100513d0 f LIBCMTD:osfinfo.obj - 0002:000264d0 __free_osfhnd 100514d0 f LIBCMTD:osfinfo.obj - 0002:000265f0 __get_osfhandle 100515f0 f LIBCMTD:osfinfo.obj - 0002:000267b0 __open_osfhandle 100517b0 f LIBCMTD:osfinfo.obj - 0002:00026a70 ___lock_fhandle 10051a70 f LIBCMTD:osfinfo.obj - 0002:00026bb0 __unlock_fhandle 10051bb0 f LIBCMTD:osfinfo.obj - 0002:00026bf0 __putwch 10051bf0 f LIBCMTD:putwch.obj - 0002:00026ca0 __putwch_nolock 10051ca0 f LIBCMTD:putwch.obj - 0002:00026d10 __mbtowc_l 10051d10 f LIBCMTD:mbtowc.obj - 0002:00026fb0 _mbtowc 10051fb0 f LIBCMTD:mbtowc.obj - 0002:00026fe0 __commit 10051fe0 f LIBCMTD:commit.obj - 0002:00027280 __VEC_memcpy 10052280 f LIBCMTD:p4_memcpy.obj - 0002:000273d0 __fptrap 100523d0 f LIBCMTD:crt0fp.obj - 0002:000273f0 __set_error_mode 100523f0 f LIBCMTD:errmode.obj - 0002:000274e0 ___set_app_type 100524e0 f LIBCMTD:errmode.obj - 0002:00027500 _wcscat_s 10052500 f LIBCMTD:wcscat_s.obj - 0002:000279e0 _wcsncpy_s 100529e0 f LIBCMTD:wcsncpy_s.obj - 0002:00027ef0 ?_JumpToContinuation@@YGXPAXPAUEHRegistrationNode@@@Z 10052ef0 f LIBCMTD:_trnsctrl_.obj - 0002:00027f40 ?_CallMemberFunction0@@YGXPAX0@Z 10052f40 f LIBCMTD:_trnsctrl_.obj - 0002:00027f50 ?_CallMemberFunction1@@YGXPAX00@Z 10052f50 f LIBCMTD:_trnsctrl_.obj - 0002:00027f60 ?_CallMemberFunction2@@YGXPAX00H@Z 10052f60 f LIBCMTD:_trnsctrl_.obj - 0002:00027f70 ?_UnwindNestedFrames@@YGXPAUEHRegistrationNode@@PAUEHExceptionRecord@@@Z 10052f70 f LIBCMTD:_trnsctrl_.obj - 0002:00027fe0 ___CxxFrameHandler 10052fe0 f LIBCMTD:_trnsctrl_.obj - 0002:00028030 ___CxxFrameHandler3 10053030 f LIBCMTD:_trnsctrl_.obj - 0002:00028080 ___CxxFrameHandler2 10053080 f LIBCMTD:_trnsctrl_.obj - 0002:000280d0 ___CxxLongjmpUnwind@4 100530d0 f LIBCMTD:_trnsctrl_.obj - 0002:00028110 ?_CallCatchBlock2@@YAPAXPAUEHRegistrationNode@@PBU_s_FuncInfo@@PAXHK@Z 10053110 f LIBCMTD:_trnsctrl_.obj - 0002:00028200 ?_CallSETranslator@@YAHPAUEHExceptionRecord@@PAUEHRegistrationNode@@PAX2PBU_s_FuncInfo@@H1@Z 10053200 f LIBCMTD:_trnsctrl_.obj - 0002:00028410 ?_GetRangeOfTrysToCheck@@YAPBU_s_TryBlockMapEntry@@PBU_s_FuncInfo@@HHPAI1@Z 10053410 f LIBCMTD:_trnsctrl_.obj - 0002:000284b0 __CreateFrameInfo 100534b0 f LIBCMTD:_trnsctrl_.obj - 0002:000284f0 __IsExceptionObjectToBeDestroyed 100534f0 f LIBCMTD:_trnsctrl_.obj - 0002:00028530 __FindAndUnlinkFrame 10053530 f LIBCMTD:_trnsctrl_.obj - 0002:000285a0 ___crtLCMapStringA 100535a0 f LIBCMTD:a_map.obj - 0002:00028950 __MarkAllocaS 10053950 f i LIBCMTD:a_map.obj - 0002:00028980 __freea 10053980 f i LIBCMTD:a_map.obj - 0002:00028a60 ___crtGetStringTypeA 10053a60 f LIBCMTD:a_str.obj - 0002:00028c20 _abort 10053c20 f LIBCMTD:abort.obj - 0002:00028ca0 __set_abort_behavior 10053ca0 f LIBCMTD:abort.obj - 0002:00028ce0 _strncpy_s 10053ce0 f LIBCMTD:strncpy_s.obj - 0002:000291d0 ___crtGetLocaleInfoA 100541d0 f LIBCMTD:a_loc.obj - 0002:00029380 __isalpha_l 10054380 f i LIBCMTD:_ctype.obj - 0002:00029430 _isalpha 10054430 f i LIBCMTD:_ctype.obj - 0002:00029470 __isupper_l 10054470 f i LIBCMTD:_ctype.obj - 0002:00029510 _isupper 10054510 f i LIBCMTD:_ctype.obj - 0002:00029550 __islower_l 10054550 f i LIBCMTD:_ctype.obj - 0002:000295f0 _islower 100545f0 f i LIBCMTD:_ctype.obj - 0002:00029630 __isdigit_l 10054630 f i LIBCMTD:_ctype.obj - 0002:000296d0 _isdigit 100546d0 f i LIBCMTD:_ctype.obj - 0002:00029710 __isxdigit_l 10054710 f i LIBCMTD:_ctype.obj - 0002:000297c0 _isxdigit 100547c0 f i LIBCMTD:_ctype.obj - 0002:00029800 __isspace_l 10054800 f i LIBCMTD:_ctype.obj - 0002:000298a0 _isspace 100548a0 f i LIBCMTD:_ctype.obj - 0002:000298e0 __ispunct_l 100548e0 f i LIBCMTD:_ctype.obj - 0002:00029980 _ispunct 10054980 f i LIBCMTD:_ctype.obj - 0002:000299c0 __isalnum_l 100549c0 f i LIBCMTD:_ctype.obj - 0002:00029a70 _isalnum 10054a70 f i LIBCMTD:_ctype.obj - 0002:00029ab0 __isprint_l 10054ab0 f i LIBCMTD:_ctype.obj - 0002:00029b60 _isprint 10054b60 f i LIBCMTD:_ctype.obj - 0002:00029ba0 __isgraph_l 10054ba0 f i LIBCMTD:_ctype.obj - 0002:00029c50 _isgraph 10054c50 f i LIBCMTD:_ctype.obj - 0002:00029c90 __iscntrl_l 10054c90 f i LIBCMTD:_ctype.obj - 0002:00029d30 _iscntrl 10054d30 f i LIBCMTD:_ctype.obj - 0002:00029d70 ___isascii 10054d70 f i LIBCMTD:_ctype.obj - 0002:00029d90 ___toascii 10054d90 f i LIBCMTD:_ctype.obj - 0002:00029da0 __iscsymf_l 10054da0 f i LIBCMTD:_ctype.obj - 0002:00029df0 ___iscsymf 10054df0 f i LIBCMTD:_ctype.obj - 0002:00029e30 __iscsym_l 10054e30 f i LIBCMTD:_ctype.obj - 0002:00029e80 ___iscsym 10054e80 f i LIBCMTD:_ctype.obj - 0002:00029ed0 __allshl 10054ed0 f LIBCMTD:llshl.obj - 0002:00029f00 __filbuf 10054f00 f LIBCMTD:_filbuf.obj - 0002:0002a1e0 _ungetc 100551e0 f LIBCMTD:ungetc.obj - 0002:0002a310 __ungetc_nolock 10055310 f LIBCMTD:ungetc.obj - 0002:0002a5c0 __open 100555c0 f LIBCMTD:open.obj - 0002:0002a7a0 __sopen_helper 100557a0 f LIBCMTD:open.obj - 0002:0002be90 __sopen 10056e90 f LIBCMTD:open.obj - 0002:0002bf20 __sopen_s 10056f20 f LIBCMTD:open.obj - 0002:0002bf50 __mbsnbicmp_l 10056f50 f LIBCMTD:mbsnbicm.obj - 0002:0002c520 __mbsnbicmp 10057520 f LIBCMTD:mbsnbicm.obj - 0002:0002c550 __mbsnbcmp_l 10057550 f LIBCMTD:mbsnbcmp.obj - 0002:0002c8f0 __mbsnbcmp 100578f0 f LIBCMTD:mbsnbcmp.obj - 0002:0002c920 __global_unwind2 10057920 f LIBCMTD:exsup.obj - 0002:0002c985 __local_unwind2 10057985 f LIBCMTD:exsup.obj - 0002:0002ca09 __abnormal_termination 10057a09 f LIBCMTD:exsup.obj - 0002:0002ca2c __NLG_Notify1 10057a2c f LIBCMTD:exsup.obj - 0002:0002ca35 __NLG_Notify 10057a35 f LIBCMTD:exsup.obj - 0002:0002ca4c __NLG_Dispatch2 10057a4c LIBCMTD:exsup.obj - 0002:0002ca4c __NLG_Dispatch 10057a4c LIBCMTD:exsup.obj - 0002:0002ca54 __NLG_Call 10057a54 f LIBCMTD:exsup.obj - 0002:0002ca56 __NLG_Return2 10057a56 LIBCMTD:exsup.obj - 0002:0002cab0 ___report_gsfailure 10057ab0 f LIBCMTD:gs_report.obj - 0002:0002cc10 _strcpy_s 10057c10 f LIBCMTD:strcpy_s.obj - 0002:0002cfa0 __ismbbkalnum_l 10057fa0 f LIBCMTD:ismbbyte.obj - 0002:0002cfd0 __ismbbkalnum 10057fd0 f LIBCMTD:ismbbyte.obj - 0002:0002cff0 __ismbbkprint_l 10057ff0 f LIBCMTD:ismbbyte.obj - 0002:0002d020 __ismbbkprint 10058020 f LIBCMTD:ismbbyte.obj - 0002:0002d040 __ismbbkpunct_l 10058040 f LIBCMTD:ismbbyte.obj - 0002:0002d070 __ismbbkpunct 10058070 f LIBCMTD:ismbbyte.obj - 0002:0002d090 __ismbbalnum_l 10058090 f LIBCMTD:ismbbyte.obj - 0002:0002d0c0 __ismbbalnum 100580c0 f LIBCMTD:ismbbyte.obj - 0002:0002d0f0 __ismbbalpha_l 100580f0 f LIBCMTD:ismbbyte.obj - 0002:0002d120 __ismbbalpha 10058120 f LIBCMTD:ismbbyte.obj - 0002:0002d150 __ismbbgraph_l 10058150 f LIBCMTD:ismbbyte.obj - 0002:0002d180 __ismbbgraph 10058180 f LIBCMTD:ismbbyte.obj - 0002:0002d1b0 __ismbbprint_l 100581b0 f LIBCMTD:ismbbyte.obj - 0002:0002d1e0 __ismbbprint 100581e0 f LIBCMTD:ismbbyte.obj - 0002:0002d210 __ismbbpunct_l 10058210 f LIBCMTD:ismbbyte.obj - 0002:0002d240 __ismbbpunct 10058240 f LIBCMTD:ismbbyte.obj - 0002:0002d260 __ismbblead_l 10058260 f LIBCMTD:ismbbyte.obj - 0002:0002d290 __ismbblead 10058290 f LIBCMTD:ismbbyte.obj - 0002:0002d2b0 __ismbbtrail_l 100582b0 f LIBCMTD:ismbbyte.obj - 0002:0002d2e0 __ismbbtrail 100582e0 f LIBCMTD:ismbbyte.obj - 0002:0002d300 __ismbbkana_l 10058300 f LIBCMTD:ismbbyte.obj - 0002:0002d390 __ismbbkana 10058390 f LIBCMTD:ismbbyte.obj - 0002:0002d4b0 ___init_time 100584b0 f LIBCMTD:inittime.obj - 0002:0002e520 ___free_lc_time 10059520 f LIBCMTD:inittime.obj - 0002:0002ed30 ___init_numeric 10059d30 f LIBCMTD:initnum.obj - 0002:0002f1d0 ___free_lconv_num 1005a1d0 f LIBCMTD:initnum.obj - 0002:0002f2b0 ___init_monetary 1005a2b0 f LIBCMTD:initmon.obj - 0002:0002fa10 ___free_lconv_mon 1005aa10 f LIBCMTD:initmon.obj - 0002:0002fc20 _localeconv 1005ac20 f LIBCMTD:lconv.obj - 0002:0002fc80 ___pwctype_func 1005ac80 f LIBCMTD:ctype.obj - 0002:0002fc90 ___pctype_func 1005ac90 f LIBCMTD:ctype.obj - 0002:0002fcf0 __mbstowcs_l_helper 1005acf0 f LIBCMTD:mbstowcs.obj - 0002:00030120 __mbstowcs_l 1005b120 f LIBCMTD:mbstowcs.obj - 0002:00030150 _mbstowcs 1005b150 f LIBCMTD:mbstowcs.obj - 0002:000301b0 __mbstowcs_s_l 1005b1b0 f LIBCMTD:mbstowcs.obj - 0002:00030610 _mbstowcs_s 1005b610 f LIBCMTD:mbstowcs.obj - 0002:00030640 _strcat_s 1005b640 f LIBCMTD:strcat_s.obj - 0002:00030b10 __vsnprintf_helper 1005bb10 f LIBCMTD:vsnprnc.obj - 0002:00030d70 __vsnprintf_c 1005bd70 f LIBCMTD:vsnprnc.obj - 0002:00030dd0 __vsnprintf_c_l 1005bdd0 f LIBCMTD:vsnprnc.obj - 0002:00030e30 __vsprintf_s_l 1005be30 f LIBCMTD:vsnprnc.obj - 0002:00031130 _vsprintf_s 1005c130 f LIBCMTD:vsnprnc.obj - 0002:00031160 __vsnprintf_s_l 1005c160 f LIBCMTD:vsnprnc.obj - 0002:000315e0 __vsnprintf_s 1005c5e0 f LIBCMTD:vsnprnc.obj - 0002:00031610 __vsprintf_p 1005c610 f LIBCMTD:vsnprnc.obj - 0002:00031670 __vsprintf_p_l 1005c670 f LIBCMTD:vsnprnc.obj - 0002:000316d0 __itoa_s 1005c6d0 f LIBCMTD:xtoas.obj - 0002:00031b80 __ltoa_s 1005cb80 f LIBCMTD:xtoas.obj - 0002:00031bd0 __ultoa_s 1005cbd0 f LIBCMTD:xtoas.obj - 0002:00031c00 __i64toa_s 1005cc00 f LIBCMTD:xtoas.obj - 0002:00032100 __ui64toa_s 1005d100 f LIBCMTD:xtoas.obj - 0002:00032130 __wcstombs_l_helper 1005d130 f LIBCMTD:wcstombs.obj - 0002:000327d0 __wcstombs_l 1005d7d0 f LIBCMTD:wcstombs.obj - 0002:00032800 _wcstombs 1005d800 f LIBCMTD:wcstombs.obj - 0002:00032830 __wcstombs_s_l 1005d830 f LIBCMTD:wcstombs.obj - 0002:00032c20 _wcstombs_s 1005dc20 f LIBCMTD:wcstombs.obj - 0002:00032c50 __vswprintf_helper 1005dc50 f LIBCMTD:vswprnc.obj - 0002:00032f40 __vswprintf_c 1005df40 f LIBCMTD:vswprnc.obj - 0002:00032fa0 __vswprintf_c_l 1005dfa0 f LIBCMTD:vswprnc.obj - 0002:00033000 __vswprintf_s_l 1005e000 f LIBCMTD:vswprnc.obj - 0002:00033300 _vswprintf_s 1005e300 f LIBCMTD:vswprnc.obj - 0002:00033330 __vsnwprintf_s_l 1005e330 f LIBCMTD:vswprnc.obj - 0002:000337d0 __vsnwprintf_s 1005e7d0 f LIBCMTD:vswprnc.obj - 0002:00033800 __vswprintf_p 1005e800 f LIBCMTD:vswprnc.obj - 0002:00033860 __vswprintf_p_l 1005e860 f LIBCMTD:vswprnc.obj - 0002:000338c0 __itow_s 1005e8c0 f LIBCMTD:xtows.obj - 0002:00033d90 __ltow_s 1005ed90 f LIBCMTD:xtows.obj - 0002:00033de0 __ultow_s 1005ede0 f LIBCMTD:xtows.obj - 0002:00033e10 __i64tow_s 1005ee10 f LIBCMTD:xtows.obj - 0002:00034330 __ui64tow_s 1005f330 f LIBCMTD:xtows.obj - 0002:00034360 __woutput_l 1005f360 f LIBCMTD:woutput.obj - 0002:000359b0 __vswprintf_l 100609b0 f LIBCMTD:vswprint.obj - 0002:00035c20 __vswprintf 10060c20 f LIBCMTD:vswprint.obj - 0002:00035c50 ___vswprintf_l 10060c50 f LIBCMTD:vswprint.obj - 0002:00035c80 __vscwprintf_helper 10060c80 f LIBCMTD:vswprint.obj - 0002:00035d90 __vscwprintf 10060d90 f LIBCMTD:vswprint.obj - 0002:00035dc0 __vscwprintf_l 10060dc0 f LIBCMTD:vswprint.obj - 0002:00035df0 __vscwprintf_p 10060df0 f LIBCMTD:vswprint.obj - 0002:00035e20 __vscwprintf_p_l 10060e20 f LIBCMTD:vswprint.obj - 0002:00035e50 ___crtMessageBoxA 10060e50 f LIBCMTD:crtmbox.obj - 0002:00036100 __vsprintf_l 10061100 f LIBCMTD:vsprintf.obj - 0002:00036300 _vsprintf 10061300 f LIBCMTD:vsprintf.obj - 0002:00036330 __vscprintf_helper 10061330 f LIBCMTD:vsprintf.obj - 0002:00036440 __vscprintf 10061440 f LIBCMTD:vsprintf.obj - 0002:00036470 __vscprintf_l 10061470 f LIBCMTD:vsprintf.obj - 0002:000364a0 __vscprintf_p 100614a0 f LIBCMTD:vsprintf.obj - 0002:000364d0 __vscprintf_p_l 100614d0 f LIBCMTD:vsprintf.obj - 0002:00036500 ____setlc_active_func 10061500 f LIBCMTD:setlocal.obj - 0002:00036510 ____unguarded_readlc_active_add_func 10061510 f LIBCMTD:setlocal.obj - 0002:00036520 __configthreadlocale 10061520 f LIBCMTD:setlocal.obj - 0002:00036670 __locterm 10061670 f LIBCMTD:setlocal.obj - 0002:00036730 __free_locale 10061730 f LIBCMTD:setlocal.obj - 0002:000368c0 ___free_locale 100618c0 f LIBCMTD:setlocal.obj - 0002:000368e0 __create_locale 100618e0 f LIBCMTD:setlocal.obj - 0002:00036ba0 ___create_locale 10061ba0 f LIBCMTD:setlocal.obj - 0002:00036bc0 __get_current_locale 10061bc0 f LIBCMTD:setlocal.obj - 0002:00036d20 ___get_current_locale 10061d20 f LIBCMTD:setlocal.obj - 0002:00036d30 _setlocale 10061d30 f LIBCMTD:setlocal.obj - 0002:00037f90 __expandlocale 10062f90 f LIBCMTD:setlocal.obj - 0002:000382e0 ___init_dummy 100632e0 f LIBCMTD:setlocal.obj - 0002:000382f0 __strcats 100632f0 f LIBCMTD:setlocal.obj - 0002:00038390 ___lc_strtolc 10063390 f LIBCMTD:setlocal.obj - 0002:00038610 ___lc_lctostr 10063610 f LIBCMTD:setlocal.obj - 0002:000386d0 ___init_ctype 100636d0 f LIBCMTD:initctyp.obj - 0002:00038df0 ____mb_cur_max_func 10063df0 f LIBCMTD:initctyp.obj - 0002:00038e50 ____mb_cur_max_l_func 10063e50 f LIBCMTD:initctyp.obj - 0002:00038e90 ____lc_codepage_func 10063e90 f LIBCMTD:initctyp.obj - 0002:00038ef0 ____lc_collate_cp_func 10063ef0 f LIBCMTD:initctyp.obj - 0002:00038f50 ____lc_handle_func 10063f50 f LIBCMTD:initctyp.obj - 0002:00038fb0 __iswctype_l 10063fb0 f LIBCMTD:iswctype.obj - 0002:00038fd0 _iswctype 10063fd0 f LIBCMTD:iswctype.obj - 0002:00039050 _is_wctype 10064050 f LIBCMTD:iswctype.obj - 0002:00039070 _strtol 10064070 f LIBCMTD:strtol.obj - 0002:000396f0 __strtol_l 100646f0 f LIBCMTD:strtol.obj - 0002:00039720 _strtoul 10064720 f LIBCMTD:strtol.obj - 0002:00039780 __strtoul_l 10064780 f LIBCMTD:strtol.obj - 0002:000397b0 ___initconout 100647b0 f LIBCMTD:initcon.obj - 0002:000397e0 ___termconout 100647e0 f LIBCMTD:initcon.obj - 0002:00039810 ___InternalCxxFrameHandler 10064810 f LIBCMTD:frame.obj - 0002:00039f80 ??0bad_exception@std@@QAE@PBD@Z 10064f80 f i LIBCMTD:frame.obj - 0002:00039fb0 ??1bad_exception@std@@UAE@XZ 10064fb0 f i LIBCMTD:frame.obj - 0002:00039fe0 ??_Ebad_exception@std@@UAEPAXI@Z 10064fe0 f i LIBCMTD:frame.obj - 0002:00039fe0 ??_Gbad_exception@std@@UAEPAXI@Z 10064fe0 f i LIBCMTD:frame.obj - 0002:0003a020 ??0bad_exception@std@@QAE@ABV01@@Z 10065020 f i LIBCMTD:frame.obj - 0002:0003a240 ___TypeMatch 10065240 f LIBCMTD:frame.obj - 0002:0003a320 ___FrameUnwindFilter 10065320 f LIBCMTD:frame.obj - 0002:0003a3c0 ___FrameUnwindToState 100653c0 f LIBCMTD:frame.obj - 0002:0003aa50 ___BuildCatchObjectHelper 10065a50 f LIBCMTD:frame.obj - 0002:0003ad60 ___BuildCatchObject 10065d60 f LIBCMTD:frame.obj - 0002:0003aeb0 ___DestructExceptionObject 10065eb0 f LIBCMTD:frame.obj - 0002:0003af90 ___AdjustPointer 10065f90 f LIBCMTD:frame.obj - 0002:0003aff0 ?__uncaught_exception@@YA_NXZ 10065ff0 f LIBCMTD:frame.obj - 0002:0003b010 ___CxxExceptionFilter 10066010 f LIBCMTD:frame.obj - 0002:0003b280 ___CxxRegisterExceptionObject 10066280 f LIBCMTD:frame.obj - 0002:0003b400 ___CxxDetectRethrow 10066400 f LIBCMTD:frame.obj - 0002:0003b4b0 ___CxxUnregisterExceptionObject 100664b0 f LIBCMTD:frame.obj - 0002:0003b690 ___CxxQueryExceptionSize 10066690 f LIBCMTD:frame.obj - 0002:0003b6a0 ___CxxCallUnwindDtor 100666a0 f LIBCMTD:frame.obj - 0002:0003b740 ___CxxCallUnwindDelDtor 10066740 f LIBCMTD:frame.obj - 0002:0003b7e0 ___CxxCallUnwindStdDelDtor 100667e0 f LIBCMTD:frame.obj - 0002:0003b880 ___CxxCallUnwindVecDtor 10066880 f LIBCMTD:frame.obj - 0002:0003bb50 ?_is_exception_typeof@@YAHABVtype_info@@PAU_EXCEPTION_POINTERS@@@Z 10066b50 f LIBCMTD:frame.obj - 0002:0003bc60 __CallSettingFrame@12 10066c60 f LIBCMTD:lowhelpr.obj - 0002:0003bc87 __NLG_Return 10066c87 LIBCMTD:lowhelpr.obj - 0002:0003bcc0 __read 10066cc0 f LIBCMTD:read.obj - 0002:0003c000 __read_nolock 10067000 f LIBCMTD:read.obj - 0002:0003d320 __chsize_s 10068320 f LIBCMTD:chsize.obj - 0002:0003d660 __chsize_nolock 10068660 f LIBCMTD:chsize.obj - 0002:0003d9a0 __chsize 100689a0 f LIBCMTD:chsize.obj - 0002:0003d9d0 __lseek 100689d0 f LIBCMTD:lseek.obj - 0002:0003dc80 __lseek_nolock 10068c80 f LIBCMTD:lseek.obj - 0002:0003dd90 __setmode 10068d90 f LIBCMTD:setmode.obj - 0002:0003e0c0 __setmode_nolock 100690c0 f LIBCMTD:setmode.obj - 0002:0003e3c0 __set_fmode 100693c0 f LIBCMTD:setmode.obj - 0002:0003e4a0 __get_fmode 100694a0 f LIBCMTD:setmode.obj - 0002:0003e540 __strnicmp_l 10069540 f LIBCMTD:strnicmp.obj - 0002:0003e810 __strnicmp 10069810 f LIBCMTD:strnicmp.obj - 0002:0003ea00 _strncmp 10069a00 f LIBCMTD:strncmp.obj - 0002:0003ebd0 __woutput_s_l 10069bd0 f LIBCMTD:woutputs.obj - 0002:000403d0 __validate_param_reuseW 1006b3d0 f LIBCMTD:woutputp.obj - 0002:000406e0 __woutput_p_l 1006b6e0 f LIBCMTD:woutputp.obj - 0002:00044c20 _fputwc 1006fc20 f LIBCMTD:fputwc.obj - 0002:00044d60 __fputwc_nolock 1006fd60 f LIBCMTD:fputwc.obj - 0002:00045110 _putwc 10070110 f LIBCMTD:fputwc.obj - 0002:00045130 ___init_collate 10070130 f LIBCMTD:initcoll.obj - 0002:00045140 _strcmp 10070140 f LIBCMTD:strcmp.obj - 0002:000451f0 _strcspn 100701f0 f LIBCMTD:strcspn.obj - 0002:00045250 _strpbrk 10070250 f LIBCMTD:strpbrk.obj - 0002:000452a0 _memcmp 100702a0 f LIBCMTD:memcmp.obj - 0002:00045fc0 ___get_qualified_locale 10070fc0 f LIBCMTD:getqloc.obj - 0002:00047190 ?_ValidateRead@@YAHPBXI@Z 10072190 f LIBCMTD:validate.obj - 0002:000471c0 ?_ValidateWrite@@YAHPAXI@Z 100721c0 f LIBCMTD:validate.obj - 0002:000471f0 ?_ValidateExecute@@YAHP6GHXZ@Z 100721f0 f LIBCMTD:validate.obj - 0002:00047220 __CxxThrowException@8 10072220 f LIBCMTD:throw.obj - 0002:00047290 ?name@type_info@@QBEPBDPAU__type_info_node@@@Z 10072290 f LIBCMTD:typinfo.obj - 0002:000472c0 ??1type_info@@UAE@XZ 100722c0 f LIBCMTD:typinfo.obj - 0002:000472f0 ??_Etype_info@@UAEPAXI@Z 100722f0 f i LIBCMTD:typinfo.obj - 0002:000472f0 ??_Gtype_info@@UAEPAXI@Z 100722f0 f i LIBCMTD:typinfo.obj - 0002:00047330 ?_name_internal_method@type_info@@QBEPBDPAU__type_info_node@@@Z 10072330 f LIBCMTD:typinfo.obj - 0002:00047360 ?_type_info_dtor_internal_method@type_info@@QAEXXZ 10072360 f LIBCMTD:typinfo.obj - 0002:00047380 ??8type_info@@QBE_NABV0@@Z 10072380 f LIBCMTD:typinfo.obj - 0002:000473c0 ??9type_info@@QBE_NABV0@@Z 100723c0 f LIBCMTD:typinfo.obj - 0002:00047400 ?before@type_info@@QBEHABV1@@Z 10072400 f LIBCMTD:typinfo.obj - 0002:00047440 ?raw_name@type_info@@QBEPBDXZ 10072440 f LIBCMTD:typinfo.obj - 0002:00047460 ??0type_info@@AAE@ABV0@@Z 10072460 f LIBCMTD:typinfo.obj - 0002:00047490 ??4type_info@@AAEAAV0@ABV0@@Z 10072490 f LIBCMTD:typinfo.obj - 0002:000474b0 ??0exception@std@@QAE@XZ 100724b0 f LIBCMTD:stdexcpt.obj - 0002:000474f0 ??_Eexception@std@@UAEPAXI@Z 100724f0 f i LIBCMTD:stdexcpt.obj - 0002:000474f0 ??_Gexception@std@@UAEPAXI@Z 100724f0 f i LIBCMTD:stdexcpt.obj - 0002:00047530 ??0exception@std@@QAE@ABQBD@Z 10072530 f LIBCMTD:stdexcpt.obj - 0002:00047580 ??0exception@std@@QAE@ABQBDH@Z 10072580 f LIBCMTD:stdexcpt.obj - 0002:000475c0 ??0exception@std@@QAE@ABV01@@Z 100725c0 f LIBCMTD:stdexcpt.obj - 0002:00047610 ??4exception@std@@QAEAAV01@ABV01@@Z 10072610 f LIBCMTD:stdexcpt.obj - 0002:00047670 ??1exception@std@@UAE@XZ 10072670 f LIBCMTD:stdexcpt.obj - 0002:000476a0 ?what@exception@std@@UBEPBDXZ 100726a0 f LIBCMTD:stdexcpt.obj - 0002:000476e0 ?_Copy_str@exception@std@@AAEXPBD@Z 100726e0 f LIBCMTD:stdexcpt.obj - 0002:00047760 ?_Tidy@exception@std@@AAEXXZ 10072760 f LIBCMTD:stdexcpt.obj - 0002:000477b0 ??0bad_cast@std@@QAE@PBD@Z 100727b0 f LIBCMTD:stdexcpt.obj - 0002:000477e0 ??_Gbad_cast@std@@UAEPAXI@Z 100727e0 f i LIBCMTD:stdexcpt.obj - 0002:000477e0 ??_Ebad_cast@std@@UAEPAXI@Z 100727e0 f i LIBCMTD:stdexcpt.obj - 0002:00047820 ??0bad_cast@std@@QAE@ABV01@@Z 10072820 f LIBCMTD:stdexcpt.obj - 0002:00047850 ??1bad_cast@std@@UAE@XZ 10072850 f LIBCMTD:stdexcpt.obj - 0002:00047880 ??0bad_typeid@std@@QAE@PBD@Z 10072880 f LIBCMTD:stdexcpt.obj - 0002:000478b0 ??_Ebad_typeid@std@@UAEPAXI@Z 100728b0 f i LIBCMTD:stdexcpt.obj - 0002:000478b0 ??_Gbad_typeid@std@@UAEPAXI@Z 100728b0 f i LIBCMTD:stdexcpt.obj - 0002:000478f0 ??0bad_typeid@std@@QAE@ABV01@@Z 100728f0 f LIBCMTD:stdexcpt.obj - 0002:00047920 ??1bad_typeid@std@@UAE@XZ 10072920 f LIBCMTD:stdexcpt.obj - 0002:00047950 ??0__non_rtti_object@std@@QAE@PBD@Z 10072950 f LIBCMTD:stdexcpt.obj - 0002:00047980 ??_G__non_rtti_object@std@@UAEPAXI@Z 10072980 f i LIBCMTD:stdexcpt.obj - 0002:00047980 ??_E__non_rtti_object@std@@UAEPAXI@Z 10072980 f i LIBCMTD:stdexcpt.obj - 0002:000479c0 ??0__non_rtti_object@std@@QAE@ABV01@@Z 100729c0 f LIBCMTD:stdexcpt.obj - 0002:000479f0 ??1__non_rtti_object@std@@UAE@XZ 100729f0 f LIBCMTD:stdexcpt.obj - 0002:00047a20 ??3@YAXPAX@Z 10072a20 f LIBCMTD:dbgdel.obj - 0002:00047b40 _memmove 10072b40 f LIBCMTD:memmove.obj - 0002:00047f80 __tolower 10072f80 f LIBCMTD:tolower.obj - 0002:00047f90 __tolower_l 10072f90 f LIBCMTD:tolower.obj - 0002:000481e0 _tolower 100731e0 f LIBCMTD:tolower.obj - 0002:00048240 ___ascii_strnicmp 10073240 f LIBCMTD:_strnicm.obj - 0002:000482c0 _wcstol 100732c0 f LIBCMTD:wcstol.obj - 0002:00048780 __wcstol_l 10073780 f LIBCMTD:wcstol.obj - 0002:000487b0 _wcstoul 100737b0 f LIBCMTD:wcstol.obj - 0002:000487e0 __wcstoul_l 100737e0 f LIBCMTD:wcstol.obj - 0002:00048810 __flswbuf 10073810 f LIBCMTD:_flswbuf.obj - 0002:00048ba0 __stricmp_l 10073ba0 f LIBCMTD:stricmp.obj - 0002:00048db0 ___ascii_stricmp 10073db0 f LIBCMTD:stricmp.obj - 0002:00048e40 __stricmp 10073e40 f LIBCMTD:stricmp.obj - 0002:00048f90 _atol 10073f90 f LIBCMTD:atox.obj - 0002:00048fb0 __atol_l 10073fb0 f LIBCMTD:atox.obj - 0002:00048fe0 _atoi 10073fe0 f LIBCMTD:atox.obj - 0002:00049000 __atoi_l 10074000 f LIBCMTD:atox.obj - 0002:00049020 __atoi64 10074020 f LIBCMTD:atox.obj - 0002:00049040 __atoi64_l 10074040 f LIBCMTD:atox.obj - 0002:00049070 ?_Type_info_dtor@type_info@@CAXPAV1@@Z 10074070 f LIBCMTD:typname.obj - 0002:000491c0 ?_Name_base@type_info@@CAPBDPBV1@PAU__type_info_node@@@Z 100741c0 f LIBCMTD:typname.obj - 0002:000493d0 ?_Type_info_dtor_internal@type_info@@CAXPAV1@@Z 100743d0 f LIBCMTD:typname.obj - 0002:00049520 ___unDNameHelper 10074520 f LIBCMTD:typname.obj - 0002:00049570 ?_Name_base_internal@type_info@@CAPBDPBV1@PAU__type_info_node@@@Z 10074570 f LIBCMTD:typname.obj - 0002:000497a0 ___clean_type_info_names_internal 100747a0 f LIBCMTD:typname.obj - 0002:00049880 __wchartodigit 10074880 f LIBCMTD:wchtodig.obj - 0002:00049c70 __strtoi64 10074c70 f LIBCMTD:strtoq.obj - 0002:0004a340 __strtoi64_l 10075340 f LIBCMTD:strtoq.obj - 0002:0004a370 __strtoui64 10075370 f LIBCMTD:strtoq.obj - 0002:0004a3d0 __strtoui64_l 100753d0 f LIBCMTD:strtoq.obj - 0002:0004a400 ___unDName 10075400 f LIBCMTD:undname.obj - 0002:0004a510 ?Constructor@_HeapManager@@QAEXP6APAXI@ZP6AXPAX@Z@Z 10075510 f i LIBCMTD:undname.obj - 0002:0004a560 ?Destructor@_HeapManager@@QAEXXZ 10075560 f i LIBCMTD:undname.obj - 0002:0004a5c0 ___unDNameEx 100755c0 f LIBCMTD:undname.obj - 0002:0004a6d0 ??0UnDecorator@@QAE@PADPBDHP6APADJ@ZK@Z 100756d0 f i LIBCMTD:undname.obj - 0002:0004a790 ??BUnDecorator@@QAEPADXZ 10075790 f i LIBCMTD:undname.obj - 0002:0004aa50 ?dbGetString@DName@@QBEPADXZ 10075a50 f LIBCMTD:undname.obj - 0002:0004aa80 ?getDecoratedName@UnDecorator@@CA?AVDName@@XZ 10075a80 f LIBCMTD:undname.obj - 0002:0004ae60 ?getSymbolName@UnDecorator@@CA?AVDName@@XZ 10075e60 f i LIBCMTD:undname.obj - 0002:0004aef0 ?getZName@UnDecorator@@CA?AVDName@@_N0@Z 10075ef0 f LIBCMTD:undname.obj - 0002:0004b240 ?getOperatorName@UnDecorator@@CA?AVDName@@_NPA_N@Z 10076240 f i LIBCMTD:undname.obj - 0002:0004be00 ?getStringEncoding@UnDecorator@@CA?AVDName@@PADH@Z 10076e00 f LIBCMTD:undname.obj - 0002:0004bf40 ?getScope@UnDecorator@@CA?AVDName@@XZ 10076f40 f LIBCMTD:undname.obj - 0002:0004c410 ?getSignedDimension@UnDecorator@@CA?AVDName@@XZ 10077410 f LIBCMTD:undname.obj - 0002:0004c4b0 ?getDimension@UnDecorator@@CA?AVDName@@_N@Z 100774b0 f LIBCMTD:undname.obj - 0002:0004c810 ?getNumberOfDimensions@UnDecorator@@CAHXZ 10077810 f LIBCMTD:undname.obj - 0002:0004c950 ?getTemplateName@UnDecorator@@CA?AVDName@@_N@Z 10077950 f LIBCMTD:undname.obj - 0002:0004cb80 ?getTemplateArgumentList@UnDecorator@@CA?AVDName@@XZ 10077b80 f LIBCMTD:undname.obj - 0002:0004cea0 ?getTemplateConstant@UnDecorator@@CA?AVDName@@XZ 10077ea0 f LIBCMTD:undname.obj - 0002:0004d450 ?composeDeclaration@UnDecorator@@CA?AVDName@@ABV2@@Z 10078450 f i LIBCMTD:undname.obj - 0002:0004efc0 ?getTypeEncoding@UnDecorator@@CAHXZ 10079fc0 f i LIBCMTD:undname.obj - 0002:0004fc90 ?getBasedType@UnDecorator@@CA?AVDName@@XZ 1007ac90 f LIBCMTD:undname.obj - 0002:0004fd80 ?getScopedName@UnDecorator@@CA?AVDName@@XZ 1007ad80 f LIBCMTD:undname.obj - 0002:0004fee0 ?getCallingConvention@UnDecorator@@CA?AVDName@@XZ 1007aee0 f LIBCMTD:undname.obj - 0002:000500b0 ?getReturnType@UnDecorator@@CA?AVDName@@PAV2@@Z 1007b0b0 f LIBCMTD:undname.obj - 0002:00050110 ?getDataType@UnDecorator@@CA?AVDName@@PAV2@@Z 1007b110 f LIBCMTD:undname.obj - 0002:00050270 ?getPrimaryDataType@UnDecorator@@CA?AVDName@@ABV2@@Z 1007b270 f LIBCMTD:undname.obj - 0002:000506f0 ?getArgumentTypes@UnDecorator@@CA?AVDName@@XZ 1007b6f0 f LIBCMTD:undname.obj - 0002:000508a0 ?getArgumentList@UnDecorator@@CA?AVDName@@XZ 1007b8a0 f LIBCMTD:undname.obj - 0002:00050a40 ?getThrowTypes@UnDecorator@@CA?AVDName@@XZ 1007ba40 f LIBCMTD:undname.obj - 0002:00050b20 ?getBasicDataType@UnDecorator@@CA?AVDName@@ABV2@@Z 1007bb20 f LIBCMTD:undname.obj - 0002:00051250 ?getECSUDataType@UnDecorator@@CA?AVDName@@XZ 1007c250 f LIBCMTD:undname.obj - 0002:000514a0 ?getECSUName@UnDecorator@@CA?AVDName@@XZ 1007c4a0 f i LIBCMTD:undname.obj - 0002:000514c0 ?getEnumType@UnDecorator@@CA?AVDName@@XZ 1007c4c0 f i LIBCMTD:undname.obj - 0002:00051660 ?getFunctionIndirectType@UnDecorator@@CA?AVDName@@ABV2@@Z 1007c660 f LIBCMTD:undname.obj - 0002:00051bb0 ?getPtrRefType@UnDecorator@@CA?AVDName@@ABV2@0PBD@Z 1007cbb0 f LIBCMTD:undname.obj - 0002:00051d70 ?getExtendedDataIndirectType@UnDecorator@@CA?AVDName@@AAPBDAA_NH@Z 1007cd70 f LIBCMTD:undname.obj - 0002:00052020 ?getDataIndirectType@UnDecorator@@CA?AVDName@@ABV2@PBD0H@Z 1007d020 f LIBCMTD:undname.obj - 0002:000528e0 ?getPtrRefDataType@UnDecorator@@CA?AVDName@@ABV2@H@Z 1007d8e0 f i LIBCMTD:undname.obj - 0002:00052a70 ?getArrayType@UnDecorator@@CA?AVDName@@ABV2@@Z 1007da70 f i LIBCMTD:undname.obj - 0002:00052d30 ?getLexicalFrame@UnDecorator@@CA?AVDName@@XZ 1007dd30 f i LIBCMTD:undname.obj - 0002:00052d80 ?getThisType@UnDecorator@@CA?AVDName@@XZ 1007dd80 f i LIBCMTD:undname.obj - 0002:00052dd0 ?getPointerType@UnDecorator@@CA?AVDName@@ABV2@0@Z 1007ddd0 f i LIBCMTD:undname.obj - 0002:00052e10 ?getPointerTypeArray@UnDecorator@@CA?AVDName@@ABV2@0@Z 1007de10 f i LIBCMTD:undname.obj - 0002:00052e50 ?getReferenceType@UnDecorator@@CA?AVDName@@ABV2@0PBD@Z 1007de50 f i LIBCMTD:undname.obj - 0002:00052e80 ?getDisplacement@UnDecorator@@CA?AVDName@@XZ 1007de80 f i LIBCMTD:undname.obj - 0002:00052ea0 ?getCallIndex@UnDecorator@@CA?AVDName@@XZ 1007dea0 f i LIBCMTD:undname.obj - 0002:00052ec0 ?getGuardNumber@UnDecorator@@CA?AVDName@@XZ 1007dec0 f i LIBCMTD:undname.obj - 0002:00052ee0 ?getVbTableType@UnDecorator@@CA?AVDName@@ABV2@@Z 1007dee0 f i LIBCMTD:undname.obj - 0002:00052f00 ?getVCallThunkType@UnDecorator@@CA?AVDName@@XZ 1007df00 f i LIBCMTD:undname.obj - 0002:00052f80 ?getVfTableType@UnDecorator@@CA?AVDName@@ABV2@@Z 1007df80 f i LIBCMTD:undname.obj - 0002:000531b0 ?getStorageConvention@UnDecorator@@CA?AVDName@@XZ 1007e1b0 f i LIBCMTD:undname.obj - 0002:000531d0 ?getDataIndirectType@UnDecorator@@CA?AVDName@@XZ 1007e1d0 f i LIBCMTD:undname.obj - 0002:00053220 ?getVdispMapType@UnDecorator@@CA?AVDName@@ABV2@@Z 1007e220 f i LIBCMTD:undname.obj - 0002:000532b0 ?getExternalDataType@UnDecorator@@CA?AVDName@@ABV2@@Z 1007e2b0 f i LIBCMTD:undname.obj - 0002:00053370 ?doMSKeywords@UnDecorator@@SAHXZ 1007e370 f i LIBCMTD:undname.obj - 0002:00053390 ?doPtr64@UnDecorator@@SAHXZ 1007e390 f i LIBCMTD:undname.obj - 0002:000533b0 ?doFunctionReturns@UnDecorator@@SAHXZ 1007e3b0 f i LIBCMTD:undname.obj - 0002:000533d0 ?doAllocationModel@UnDecorator@@SAHXZ 1007e3d0 f i LIBCMTD:undname.obj - 0002:000533f0 ?doAllocationLanguage@UnDecorator@@SAHXZ 1007e3f0 f i LIBCMTD:undname.obj - 0002:00053410 ?doThisTypes@UnDecorator@@SAHXZ 1007e410 f i LIBCMTD:undname.obj - 0002:00053430 ?doAccessSpecifiers@UnDecorator@@SAHXZ 1007e430 f i LIBCMTD:undname.obj - 0002:00053450 ?doThrowTypes@UnDecorator@@SAHXZ 1007e450 f i LIBCMTD:undname.obj - 0002:00053470 ?doMemberTypes@UnDecorator@@SAHXZ 1007e470 f i LIBCMTD:undname.obj - 0002:00053490 ?doNameOnly@UnDecorator@@SAHXZ 1007e490 f i LIBCMTD:undname.obj - 0002:000534b0 ?doTypeOnly@UnDecorator@@SAHXZ 1007e4b0 f i LIBCMTD:undname.obj - 0002:000534d0 ?haveTemplateParameters@UnDecorator@@SAHXZ 1007e4d0 f i LIBCMTD:undname.obj - 0002:000534f0 ?doEcsu@UnDecorator@@SAHXZ 1007e4f0 f i LIBCMTD:undname.obj - 0002:00053510 ?doEllipsis@UnDecorator@@SAHXZ 1007e510 f i LIBCMTD:undname.obj - 0002:00053530 ?UScore@UnDecorator@@SAPBDW4Tokens@@@Z 1007e530 f LIBCMTD:undname.obj - 0002:00053570 ?doUnderScore@UnDecorator@@SAHXZ 1007e570 f i LIBCMTD:undname.obj - 0002:00053590 ??2@YAPAXIAAV_HeapManager@@H@Z 1007e590 f i LIBCMTD:undname.obj - 0002:000535b0 ?getMemory@_HeapManager@@QAEPAXIH@Z 1007e5b0 f LIBCMTD:undname.obj - 0002:00053700 ??0Block@_HeapManager@@QAE@XZ 1007e700 f i LIBCMTD:undname.obj - 0002:00053720 ??H@YA?AVDName@@DABV0@@Z 1007e720 f i LIBCMTD:undname.obj - 0002:00053760 ??H@YA?AVDName@@W4DNameStatus@@ABV0@@Z 1007e760 f i LIBCMTD:undname.obj - 0002:000537a0 ??H@YA?AVDName@@PBDABV0@@Z 1007e7a0 f i LIBCMTD:undname.obj - 0002:000537e0 ??0DName@@QAE@XZ 1007e7e0 f i LIBCMTD:undname.obj - 0002:000538d0 ??0DName@@QAE@D@Z 1007e8d0 f LIBCMTD:undname.obj - 0002:000539e0 ??0DName@@QAE@ABV0@@Z 1007e9e0 f i LIBCMTD:undname.obj - 0002:00053a10 ??0DName@@QAE@PAV0@@Z 1007ea10 f LIBCMTD:undname.obj - 0002:00053b90 ??0DName@@QAE@PBD@Z 1007eb90 f LIBCMTD:undname.obj - 0002:00053cc0 ??0DName@@QAE@AAPBDD@Z 1007ecc0 f LIBCMTD:undname.obj - 0002:00054030 ?doNoIdentCharCheck@UnDecorator@@SAHXZ 1007f030 f i LIBCMTD:undname.obj - 0002:00054050 ??0DName@@QAE@_K@Z 1007f050 f LIBCMTD:undname.obj - 0002:000541e0 ??0DName@@QAE@_J@Z 1007f1e0 f LIBCMTD:undname.obj - 0002:000543c0 ??0DName@@QAE@W4DNameStatus@@@Z 1007f3c0 f LIBCMTD:undname.obj - 0002:00054520 ?isValid@DName@@QBEHXZ 1007f520 f i LIBCMTD:undname.obj - 0002:00054550 ?isEmpty@DName@@QBEHXZ 1007f550 f i LIBCMTD:undname.obj - 0002:00054570 ?status@DName@@QBE?AW4DNameStatus@@XZ 1007f570 f i LIBCMTD:undname.obj - 0002:00054590 ?setPtrRef@DName@@QAEAAV1@XZ 1007f590 f i LIBCMTD:undname.obj - 0002:000545c0 ?isPtrRef@DName@@QBEHXZ 1007f5c0 f i LIBCMTD:undname.obj - 0002:000545e0 ?isUDC@DName@@QBEHXZ 1007f5e0 f i LIBCMTD:undname.obj - 0002:00054630 ?setIsUDC@DName@@QAEXXZ 1007f630 f i LIBCMTD:undname.obj - 0002:00054670 ?isUDTThunk@DName@@QBEHXZ 1007f670 f i LIBCMTD:undname.obj - 0002:000546c0 ?setIsArray@DName@@QAEXXZ 1007f6c0 f i LIBCMTD:undname.obj - 0002:000546f0 ?isArray@DName@@QBEHXZ 1007f6f0 f i LIBCMTD:undname.obj - 0002:00054710 ?isNoTE@DName@@QBEHXZ 1007f710 f i LIBCMTD:undname.obj - 0002:00054730 ?setIsNoTE@DName@@QAEXXZ 1007f730 f i LIBCMTD:undname.obj - 0002:00054760 ?isPinPtr@DName@@QBEHXZ 1007f760 f i LIBCMTD:undname.obj - 0002:00054780 ?setIsPinPtr@DName@@QAEXXZ 1007f780 f i LIBCMTD:undname.obj - 0002:000547b0 ?isComArray@DName@@QBEHXZ 1007f7b0 f i LIBCMTD:undname.obj - 0002:000547d0 ?setIsComArray@DName@@QAEXXZ 1007f7d0 f i LIBCMTD:undname.obj - 0002:00054800 ?isVCallThunk@DName@@QBEHXZ 1007f800 f i LIBCMTD:undname.obj - 0002:00054820 ?setIsVCallThunk@DName@@QAEXXZ 1007f820 f i LIBCMTD:undname.obj - 0002:00054850 ?length@DName@@QBEHXZ 1007f850 f i LIBCMTD:undname.obj - 0002:00054890 ?getLastChar@DName@@QBEDXZ 1007f890 f i LIBCMTD:undname.obj - 0002:000548d0 ?getString@DName@@QBEPADPADH@Z 1007f8d0 f i LIBCMTD:undname.obj - 0002:00054980 ?getString@DName@@QBEPADPAD0@Z 1007f980 f i LIBCMTD:undname.obj - 0002:000549d0 ??HDName@@QBE?AV0@D@Z 1007f9d0 f LIBCMTD:undname.obj - 0002:00054a20 ??HDName@@QBE?AV0@PBD@Z 1007fa20 f LIBCMTD:undname.obj - 0002:00054a70 ??HDName@@QBE?AV0@ABV0@@Z 1007fa70 f LIBCMTD:undname.obj - 0002:00054ac0 ??HDName@@QBE?AV0@PAV0@@Z 1007fac0 f LIBCMTD:undname.obj - 0002:00054b10 ??HDName@@QBE?AV0@W4DNameStatus@@@Z 1007fb10 f LIBCMTD:undname.obj - 0002:00054b60 ?append@DName@@AAEXPAVDNameNode@@@Z 1007fb60 f LIBCMTD:undname.obj - 0002:00054c10 ??YDName@@QAEAAV0@D@Z 1007fc10 f LIBCMTD:undname.obj - 0002:00054cc0 ??YDName@@QAEAAV0@PBD@Z 1007fcc0 f LIBCMTD:undname.obj - 0002:00054d80 ??YDName@@QAEAAV0@ABV0@@Z 1007fd80 f LIBCMTD:undname.obj - 0002:00054e00 ??YDName@@QAEAAV0@PAV0@@Z 1007fe00 f LIBCMTD:undname.obj - 0002:00054ee0 ??YDName@@QAEAAV0@W4DNameStatus@@@Z 1007fee0 f LIBCMTD:undname.obj - 0002:00054f60 ??_5DName@@QAEAAV0@ABV0@@Z 1007ff60 f LIBCMTD:undname.obj - 0002:00054fd0 ??4DName@@QAEAAV0@D@Z 1007ffd0 f i LIBCMTD:undname.obj - 0002:000550e0 ??4DName@@QAEAAV0@PBD@Z 100800e0 f LIBCMTD:undname.obj - 0002:000551f0 ??4DName@@QAEAAV0@ABV0@@Z 100801f0 f LIBCMTD:undname.obj - 0002:00055220 ??4DName@@QAEAAV0@PAV0@@Z 10080220 f LIBCMTD:undname.obj - 0002:000553a0 ??4DName@@QAEAAV0@W4DNameStatus@@@Z 100803a0 f LIBCMTD:undname.obj - 0002:000554e0 ?doPchar@DName@@AAEXPBDH@Z 100804e0 f LIBCMTD:undname.obj - 0002:00055670 ?isFull@Replicator@@QBEHXZ 10080670 f i LIBCMTD:undname.obj - 0002:00055690 ??0Replicator@@QAE@XZ 10080690 f i LIBCMTD:undname.obj - 0002:000556b0 ??YReplicator@@QAEAAV0@ABVDName@@@Z 100806b0 f LIBCMTD:undname.obj - 0002:00055760 ??AReplicator@@QBE?AVDName@@H@Z 10080760 f LIBCMTD:undname.obj - 0002:000557e0 ??0DNameNode@@IAE@XZ 100807e0 f LIBCMTD:undname.obj - 0002:00055800 ??0charNode@@QAE@D@Z 10080800 f LIBCMTD:undname.obj - 0002:00055840 ?length@charNode@@UBEHXZ 10080840 f i LIBCMTD:undname.obj - 0002:00055860 ?getLastChar@charNode@@UBEDXZ 10080860 f i LIBCMTD:undname.obj - 0002:00055880 ?getString@charNode@@UBEPADPAD0@Z 10080880 f i LIBCMTD:undname.obj - 0002:000558c0 ??0pcharNode@@QAE@PBDH@Z 100808c0 f LIBCMTD:undname.obj - 0002:00055980 ?length@pcharNode@@UBEHXZ 10080980 f i LIBCMTD:undname.obj - 0002:000559a0 ?getLastChar@pcharNode@@UBEDXZ 100809a0 f i LIBCMTD:undname.obj - 0002:000559f0 ?getString@pcharNode@@UBEPADPAD0@Z 100809f0 f i LIBCMTD:undname.obj - 0002:00055a30 ?getStringHelper@@YAPADPAD00H@Z 10080a30 f i LIBCMTD:undname.obj - 0002:00055a80 ??0pDNameNode@@QAE@PAVDName@@@Z 10080a80 f LIBCMTD:undname.obj - 0002:00055b00 ?length@pDNameNode@@UBEHXZ 10080b00 f i LIBCMTD:undname.obj - 0002:00055b40 ?getLastChar@pDNameNode@@UBEDXZ 10080b40 f i LIBCMTD:undname.obj - 0002:00055b80 ?getString@pDNameNode@@UBEPADPAD0@Z 10080b80 f i LIBCMTD:undname.obj - 0002:00055bd0 ??0DNameStatusNode@@AAE@W4DNameStatus@@@Z 10080bd0 f LIBCMTD:undname.obj - 0002:00055c30 ?length@DNameStatusNode@@UBEHXZ 10080c30 f i LIBCMTD:undname.obj - 0002:00055c50 ?getLastChar@DNameStatusNode@@UBEDXZ 10080c50 f i LIBCMTD:undname.obj - 0002:00055c80 ?getString@DNameStatusNode@@UBEPADPAD0@Z 10080c80 f i LIBCMTD:undname.obj - 0002:00055cd0 ?make@DNameStatusNode@@SAPAV1@W4DNameStatus@@@Z 10080cd0 f i LIBCMTD:undname.obj - 0002:00055db0 ??0pairNode@@QAE@PAVDNameNode@@0@Z 10080db0 f LIBCMTD:undname.obj - 0002:00055e00 ?length@pairNode@@UBEHXZ 10080e00 f i LIBCMTD:undname.obj - 0002:00055e60 ?getLastChar@pairNode@@UBEDXZ 10080e60 f i LIBCMTD:undname.obj - 0002:00055ec0 ?getString@pairNode@@UBEPADPAD0@Z 10080ec0 f i LIBCMTD:undname.obj - 0002:00056040 __purecall 10081040 f LIBCMTD:purevirt.obj - 0002:00056090 __set_purecall_handler 10081090 f LIBCMTD:purevirt.obj - 0002:000560d0 __get_purecall_handler 100810d0 f LIBCMTD:purevirt.obj - 0002:000560e8 _GetLastError@0 100810e8 f kernel32:KERNEL32.dll - 0002:000560ee _CreateDirectoryA@8 100810ee f kernel32:KERNEL32.dll - 0002:000560f4 _InterlockedIncrement@4 100810f4 f kernel32:KERNEL32.dll - 0002:000560fa _InterlockedDecrement@4 100810fa f kernel32:KERNEL32.dll - 0002:00056100 _DecodePointer@4 10081100 f kernel32:KERNEL32.dll - 0002:00056106 _GetProcAddress@8 10081106 f kernel32:KERNEL32.dll - 0002:0005610c _GetModuleHandleW@4 1008110c f kernel32:KERNEL32.dll - 0002:00056112 _ExitProcess@4 10081112 f kernel32:KERNEL32.dll - 0002:00056118 _SetEnvironmentVariableA@8 10081118 f kernel32:KERNEL32.dll - 0002:0005611e _GetCurrentDirectoryA@8 1008111e f kernel32:KERNEL32.dll - 0002:00056124 _SetCurrentDirectoryA@4 10081124 f kernel32:KERNEL32.dll - 0002:0005612a _GetCurrentThreadId@0 1008112a f kernel32:KERNEL32.dll - 0002:00056130 _GetCommandLineA@0 10081130 f kernel32:KERNEL32.dll - 0002:00056136 _EncodePointer@4 10081136 f kernel32:KERNEL32.dll - 0002:0005613c _TlsAlloc@0 1008113c f kernel32:KERNEL32.dll - 0002:00056142 _TlsGetValue@4 10081142 f kernel32:KERNEL32.dll - 0002:00056148 _TlsSetValue@8 10081148 f kernel32:KERNEL32.dll - 0002:0005614e _TlsFree@4 1008114e f kernel32:KERNEL32.dll - 0002:00056154 _SetLastError@4 10081154 f kernel32:KERNEL32.dll - 0002:0005615a _GetCurrentThread@0 1008115a f kernel32:KERNEL32.dll - 0002:00056160 _TerminateProcess@8 10081160 f kernel32:KERNEL32.dll - 0002:00056166 _GetCurrentProcess@0 10081166 f kernel32:KERNEL32.dll - 0002:0005616c _UnhandledExceptionFilter@4 1008116c f kernel32:KERNEL32.dll - 0002:00056172 _SetUnhandledExceptionFilter@4 10081172 f kernel32:KERNEL32.dll - 0002:00056178 _IsDebuggerPresent@0 10081178 f kernel32:KERNEL32.dll - 0002:0005617e _GetModuleFileNameW@12 1008117e f kernel32:KERNEL32.dll - 0002:00056184 _HeapValidate@12 10081184 f kernel32:KERNEL32.dll - 0002:0005618a _IsBadReadPtr@8 1008118a f kernel32:KERNEL32.dll - 0002:00056190 _EnterCriticalSection@4 10081190 f kernel32:KERNEL32.dll - 0002:00056196 _LeaveCriticalSection@4 10081196 f kernel32:KERNEL32.dll - 0002:0005619c _WriteFile@20 1008119c f kernel32:KERNEL32.dll - 0002:000561a2 _WideCharToMultiByte@32 100811a2 f kernel32:KERNEL32.dll - 0002:000561a8 _GetConsoleCP@0 100811a8 f kernel32:KERNEL32.dll - 0002:000561ae _GetConsoleMode@8 100811ae f kernel32:KERNEL32.dll - 0002:000561b4 _GetStdHandle@4 100811b4 f kernel32:KERNEL32.dll - 0002:000561ba _GetACP@0 100811ba f kernel32:KERNEL32.dll - 0002:000561c0 _GetOEMCP@0 100811c0 f kernel32:KERNEL32.dll - 0002:000561c6 _GetCPInfo@8 100811c6 f kernel32:KERNEL32.dll - 0002:000561cc _IsValidCodePage@4 100811cc f kernel32:KERNEL32.dll - 0002:000561d2 _InitializeCriticalSectionAndSpinCount@8 100811d2 f kernel32:KERNEL32.dll - 0002:000561d8 _DeleteCriticalSection@4 100811d8 f kernel32:KERNEL32.dll - 0002:000561de _FatalAppExitA@8 100811de f kernel32:KERNEL32.dll - 0002:000561e4 _SetConsoleCtrlHandler@8 100811e4 f kernel32:KERNEL32.dll - 0002:000561ea _FreeLibrary@4 100811ea f kernel32:KERNEL32.dll - 0002:000561f0 _InterlockedExchange@8 100811f0 f kernel32:KERNEL32.dll - 0002:000561f6 _LoadLibraryW@4 100811f6 f kernel32:KERNEL32.dll - 0002:000561fc _GetLocaleInfoW@16 100811fc f kernel32:KERNEL32.dll - 0002:00056202 _RtlUnwind@16 10081202 f kernel32:KERNEL32.dll - 0002:00056208 _IsProcessorFeaturePresent@4 10081208 f kernel32:KERNEL32.dll - 0002:0005620e _SetHandleCount@4 1008120e f kernel32:KERNEL32.dll - 0002:00056214 _GetFileType@4 10081214 f kernel32:KERNEL32.dll - 0002:0005621a _GetStartupInfoW@4 1008121a f kernel32:KERNEL32.dll - 0002:00056220 _GetModuleFileNameA@12 10081220 f kernel32:KERNEL32.dll - 0002:00056226 _FreeEnvironmentStringsW@4 10081226 f kernel32:KERNEL32.dll - 0002:0005622c _GetEnvironmentStringsW@0 1008122c f kernel32:KERNEL32.dll - 0002:00056232 _HeapCreate@12 10081232 f kernel32:KERNEL32.dll - 0002:00056238 _HeapDestroy@4 10081238 f kernel32:KERNEL32.dll - 0002:0005623e _QueryPerformanceCounter@4 1008123e f kernel32:KERNEL32.dll - 0002:00056244 _GetTickCount@0 10081244 f kernel32:KERNEL32.dll - 0002:0005624a _GetCurrentProcessId@0 1008124a f kernel32:KERNEL32.dll - 0002:00056250 _GetSystemTimeAsFileTime@4 10081250 f kernel32:KERNEL32.dll - 0002:00056256 _OutputDebugStringA@4 10081256 f kernel32:KERNEL32.dll - 0002:0005625c _WriteConsoleW@20 1008125c f kernel32:KERNEL32.dll - 0002:00056262 _OutputDebugStringW@4 10081262 f kernel32:KERNEL32.dll - 0002:00056268 _HeapAlloc@12 10081268 f kernel32:KERNEL32.dll - 0002:0005626e _HeapReAlloc@16 1008126e f kernel32:KERNEL32.dll - 0002:00056274 _HeapSize@12 10081274 f kernel32:KERNEL32.dll - 0002:0005627a _HeapQueryInformation@20 1008127a f kernel32:KERNEL32.dll - 0002:00056280 _HeapFree@12 10081280 f kernel32:KERNEL32.dll - 0002:00056286 _SetFilePointer@16 10081286 f kernel32:KERNEL32.dll - 0002:0005628c _SetStdHandle@8 1008128c f kernel32:KERNEL32.dll - 0002:00056292 _MultiByteToWideChar@24 10081292 f kernel32:KERNEL32.dll - 0002:00056298 _FlushFileBuffers@4 10081298 f kernel32:KERNEL32.dll - 0002:0005629e _LCMapStringW@24 1008129e f kernel32:KERNEL32.dll - 0002:000562a4 _GetStringTypeW@16 100812a4 f kernel32:KERNEL32.dll - 0002:000562aa _CreateFileW@28 100812aa f kernel32:KERNEL32.dll - 0002:000562b0 _ReadFile@20 100812b0 f kernel32:KERNEL32.dll - 0002:000562b6 _SetEndOfFile@4 100812b6 f kernel32:KERNEL32.dll - 0002:000562bc _GetProcessHeap@0 100812bc f kernel32:KERNEL32.dll - 0002:000562c2 _GetLocaleInfoA@16 100812c2 f kernel32:KERNEL32.dll - 0002:000562c8 _IsValidLocale@8 100812c8 f kernel32:KERNEL32.dll - 0002:000562ce _EnumSystemLocalesA@8 100812ce f kernel32:KERNEL32.dll - 0002:000562d4 _GetUserDefaultLCID@0 100812d4 f kernel32:KERNEL32.dll - 0002:000562da _RaiseException@16 100812da f kernel32:KERNEL32.dll - 0003:00000000 ___xc_a 10083000 LIBCMTD:crt0init.obj - 0003:00000104 ___xc_z 10083104 LIBCMTD:crt0init.obj - 0003:00000208 ___xi_a 10083208 LIBCMTD:crt0init.obj - 0003:00000420 ___xi_z 10083420 LIBCMTD:crt0init.obj - 0003:00000524 ___xp_a 10083524 LIBCMTD:crt0init.obj - 0003:00000838 ___xp_z 10083838 LIBCMTD:crt0init.obj - 0003:0000093c ___xt_a 1008393c LIBCMTD:crt0init.obj - 0003:00000a40 ___xt_z 10083a40 LIBCMTD:crt0init.obj - 0003:00000b6c ??_C@_0BO@HCBPGKCG@couldn?8t?5create?5directory?5?$CFs?6?$AA@ 10083b6c miniunz.obj - 0003:00000b90 ??_C@_0BJ@FLNAGDAP@Error?5allocating?5memory?6?$AA@ 10083b90 miniunz.obj - 0003:00000bb0 ??_C@_0DK@IBDOCLNM@more?5info?5at?5http?3?1?1www?4winimage@ 10083bb0 miniunz.obj - 0003:00000bf8 ??_C@_0EF@NBIHLDDP@MiniUnz?51?401b?0?5demo?5of?5zLib?5?$CL?5Un@ 10083bf8 miniunz.obj - 0003:00000c50 ??_C@_0BDP@ONPPDADG@Usage?5?3?5miniunz?5?$FL?9e?$FN?5?$FL?9x?$FN?5?$FL?9v?$FN?5?$FL@ 10083c50 miniunz.obj - 0003:00000dd0 ??_C@_02DKCKIIND@?$CFs?$AA@ 10083dd0 miniunz.obj - 0003:00000dd4 ??_C@_01CLKCMJKC@?5?$AA@ 10083dd4 miniunz.obj - 0003:00000dd8 ??_C@_0CK@HCGKKBDJ@error?5?$CFd?5with?5zipfile?5in?5unzGoTo@ 10083dd8 miniunz.obj - 0003:00000e0c ??_C@_0DL@DFOOAKDC@?5?$CF3lu?$CF?$CF?5?5?$CF2?42lu?9?$CF2?42lu?9?$CF2?42lu?5?5?$CF@ 10083e0c miniunz.obj - 0003:00000e54 ??_C@_07NMMKBBOC@?5?5?$CF6s?$CFc?$AA@ 10083e54 miniunz.obj - 0003:00000e60 ??_C@_06LDMMABJP@Unkn?4?5?$AA@ 10083e60 miniunz.obj - 0003:00000e68 ??_C@_06FBGEMPLM@BZip2?5?$AA@ 10083e68 miniunz.obj - 0003:00000e70 ??_C@_06GCLDKNJB@Defl?3F?$AA@ 10083e70 miniunz.obj - 0003:00000e78 ??_C@_06LGPCJCEO@Defl?3X?$AA@ 10083e78 miniunz.obj - 0003:00000e80 ??_C@_06KKGKCHJJ@Defl?3N?$AA@ 10083e80 miniunz.obj - 0003:00000e88 ??_C@_06HFMELDJP@Stored?$AA@ 10083e88 miniunz.obj - 0003:00000e90 ??_C@_0DA@JKFADJED@error?5?$CFd?5with?5zipfile?5in?5unzGetC@ 10083e90 miniunz.obj - 0003:00000ed0 ??_C@_0EC@FLMLDPNG@?5?5?9?9?9?9?9?9?5?5?9?9?9?9?9?9?5?5?5?5?5?9?9?9?9?5?9?9?9?9?9?5@ 10083ed0 miniunz.obj - 0003:00000f20 ??_C@_0EC@JFEGNLEI@?5?5Length?5?5Method?5?5?5?5?5Size?5Ratio?5@ 10083f20 miniunz.obj - 0003:00000f70 ??_C@_0CM@EPAEMPIG@error?5?$CFd?5with?5zipfile?5in?5unzGetG@ 10083f70 miniunz.obj - 0003:00000fa4 ??_C@_0CO@EMCAOMAG@error?5?$CFd?5with?5zipfile?5in?5unzClos@ 10083fa4 miniunz.obj - 0003:00000fdc ??_C@_0CB@EOJIBDBE@error?5in?5writing?5extracted?5file?6@ 10083fdc miniunz.obj - 0003:00001004 ??_C@_0CN@ENDBCDIB@error?5?$CFd?5with?5zipfile?5in?5unzRead@ 10084004 miniunz.obj - 0003:0000103c ??_C@_0BB@BKFCOHHC@?5extracting?3?5?$CFs?6?$AA@ 1008403c miniunz.obj - 0003:00001050 ??_C@_0BC@CBHACCGB@error?5opening?5?$CFs?6?$AA@ 10084050 miniunz.obj - 0003:00001068 ??_C@_02GMLFBBN@wb?$AA@ 10084068 miniunz.obj - 0003:0000106c ??_C@_03GIOMNKHN@?$CF1s?$AA@ 1008406c miniunz.obj - 0003:00001070 ??_C@_0DF@CKJJFCPL@The?5file?5?$CFs?5exists?4?5Overwrite?5?$DP?5@ 10084070 miniunz.obj - 0003:000010b0 ??_C@_02JDPG@rb?$AA@ 100840b0 miniunz.obj - 0003:000010b4 ??_C@_0DF@EHJPKLOI@error?5?$CFd?5with?5zipfile?5in?5unzOpen@ 100840b4 miniunz.obj - 0003:000010f4 ??_C@_0BI@LBMLDIOC@creating?5directory?3?5?$CFs?6?$AA@ 100840f4 miniunz.obj - 0003:00001110 ??_C@_0CC@PBABBNMN@file?5?$CFs?5not?5found?5in?5the?5zipfile@ 10084110 miniunz.obj - 0003:00001138 ??_C@_0CC@OANOJOKK@Error?5changing?5into?5?$CFs?0?5aborting@ 10084138 miniunz.obj - 0003:00001160 ??_C@_0L@NOGNGIAA@?$CFs?5opened?6?$AA@ 10084160 miniunz.obj - 0003:00001170 ??_C@_0BK@DOIOELFD@Cannot?5open?5?$CFs?5or?5?$CFs?4zip?6?$AA@ 10084170 miniunz.obj - 0003:00001190 ??_C@_04CLJHFACG@?4zip?$AA@ 10084190 miniunz.obj - 0003:00001196 ??_C@_00CNPNBAHC@?$AA@ 10084196 miniunz.obj - 0003:00001198 ??_C@_1BG@KCMPBBDK@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAe?$AAr?$AAr?$AAn?$AAo?$AA?$AA@ 10084198 LIBCMTD:dosmap.obj - 0003:000011b8 ??_C@_1GA@MFGIMPNL@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100841b8 LIBCMTD:dosmap.obj - 0003:0000122c ??_C@_1BO@LKEBEKJP@?$AAp?$AAV?$AAa?$AAl?$AAu?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 1008422c LIBCMTD:dosmap.obj - 0003:00001250 ??_C@_1BM@INIPHHDD@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAd?$AAo?$AAs?$AAe?$AAr?$AAr?$AAn?$AAo?$AA?$AA@ 10084250 LIBCMTD:dosmap.obj - 0003:00001274 ?ProcessDetach@NativeDll@@@0IB 10084274 LIBCMTD:dbgfree.obj - 0003:00001278 ?ProcessAttach@NativeDll@@@0IB 10084278 LIBCMTD:dbgfree.obj - 0003:0000127c ?ThreadAttach@NativeDll@@@0IB 1008427c LIBCMTD:dbgfree.obj - 0003:00001280 ?ThreadDetach@NativeDll@@@0IB 10084280 LIBCMTD:dbgfree.obj - 0003:00001284 ?ProcessVerifier@NativeDll@@@0IB 10084284 LIBCMTD:dbgfree.obj - 0003:00001288 ??_C@_1O@GKDHFACN@?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA?$AA@ 10084288 LIBCMTD:printf.obj - 0003:00001298 ??_C@_1GA@LHEGHOAF@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 10084298 LIBCMTD:printf.obj - 0003:0000130c ??_C@_1CC@MGIEJOME@?$AA?$CI?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 1008430c LIBCMTD:printf.obj - 0003:00001334 ??_C@_1O@KLNKIMAP@?$AAf?$AAw?$AAr?$AAi?$AAt?$AAe?$AA?$AA@ 10084334 LIBCMTD:fwrite.obj - 0003:00001348 ??_C@_1GA@DOFNKKGD@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 10084348 LIBCMTD:fwrite.obj - 0003:000013bc ??_C@_1CC@FADMNIL@?$AA?$CI?$AAs?$AAt?$AAr?$AAe?$AAa?$AAm?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100843bc LIBCMTD:fwrite.obj - 0003:000013e8 ??_C@_1LG@DCNDJCHK@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAc?$AAo?$AAn?$AAs?$AAi?$AAs?$AAt?$AAe?$AAn?$AAt?$AA?5?$AAS?$AAt?$AAr?$AAe?$AAa?$AAm?$AA?5?$AAC?$AAo?$AAu?$AAn?$AAt?$AA?4?$AA?5?$AAF?$AAl?$AAu@ 100843e8 LIBCMTD:fwrite.obj - 0003:000014c4 ??_C@_1DC@FHEPNAPF@?$AAn?$AAu?$AAm?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA?$CI?$AAS?$AAI?$AAZ?$AAE?$AA_?$AAM?$AAA?$AAX?$AA?5?$AA?1?$AA?5?$AAs?$AAi?$AAz?$AAe?$AA?$CJ?$AA?$AA@ 100844c4 LIBCMTD:fwrite.obj - 0003:00001500 ??_C@_1CC@CGFEEBMC@?$AA?$CI?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 10084500 LIBCMTD:fwrite.obj - 0003:00001528 ??_C@_1BO@JGPKCBCE@?$AA_?$AAf?$AAw?$AAr?$AAi?$AAt?$AAe?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 10084528 LIBCMTD:fwrite.obj - 0003:0000154c ??_C@_0P@MIGLKIOC@CorExitProcess?$AA@ 1008454c LIBCMTD:crt0dat.obj - 0003:00001560 ??_C@_1BI@BGOHAHKC@?$AAm?$AAs?$AAc?$AAo?$AAr?$AAe?$AAe?$AA?4?$AAd?$AAl?$AAl?$AA?$AA@ 10084560 LIBCMTD:crt0dat.obj - 0003:0000157c ??_C@_1CC@CDIPMFPD@?$AA_?$AAw?$AAp?$AAg?$AAm?$AAp?$AAt?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 1008457c LIBCMTD:crt0dat.obj - 0003:000015a4 ??_C@_1BK@PNLDCCDP@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAw?$AAp?$AAg?$AAm?$AAp?$AAt?$AAr?$AA?$AA@ 100845a4 LIBCMTD:crt0dat.obj - 0003:000015c8 ??_C@_1GC@DGCPEDNJ@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100845c8 LIBCMTD:crt0dat.obj - 0003:00001640 ??_C@_1CA@BBNAFCKO@?$AA_?$AAp?$AAg?$AAm?$AAp?$AAt?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 10084640 LIBCMTD:crt0dat.obj - 0003:00001668 ??_C@_1BI@COAAPHJK@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAp?$AAg?$AAm?$AAp?$AAt?$AAr?$AA?$AA@ 10084668 LIBCMTD:crt0dat.obj - 0003:00001684 ??_C@_1O@GFBPPEGM@?$AAv?$AAs?$AAc?$AAa?$AAn?$AAf?$AA?$AA@ 10084684 LIBCMTD:scanf.obj - 0003:00001698 ??_C@_1FO@NIDAACJK@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 10084698 LIBCMTD:scanf.obj - 0003:00001708 ??_C@_1O@EGMJNCOI@?$AAf?$AAc?$AAl?$AAo?$AAs?$AAe?$AA?$AA@ 10084708 LIBCMTD:fclose.obj - 0003:00001718 ??_C@_1GA@KMIDAPAP@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 10084718 LIBCMTD:fclose.obj - 0003:0000178c ??_C@_1BO@JINCABEC@?$AA_?$AAf?$AAc?$AAl?$AAo?$AAs?$AAe?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 1008478c LIBCMTD:fclose.obj - 0003:000017b0 ??_C@_1BM@JMKHIAHP@?$AA?$CI?$AAs?$AAt?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100847b0 LIBCMTD:fclose.obj - 0003:000017d4 ??_C@_1CI@HBNALCBB@?$AA?$CI?$AA?$CK?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA_?$AAT?$AA?$CI?$AA?8?$AA?2?$AA0?$AA?8?$AA?$CJ?$AA?$CJ?$AA?$AA@ 100847d4 LIBCMTD:fopen.obj - 0003:00001804 ??_C@_1BO@MJMKAKCJ@?$AA?$CI?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 10084804 LIBCMTD:fopen.obj - 0003:00001828 ??_C@_1BA@HNEAFMNL@?$AA_?$AAf?$AAs?$AAo?$AAp?$AAe?$AAn?$AA?$AA@ 10084828 LIBCMTD:fopen.obj - 0003:00001840 ??_C@_1FO@NCADDBOO@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 10084840 LIBCMTD:fopen.obj - 0003:000018b0 ??_C@_1BO@CLGIAEOJ@?$AA?$CI?$AAf?$AAi?$AAl?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100848b0 LIBCMTD:fopen.obj - 0003:000018d4 ??_C@_1BA@PBGKCCAP@?$AAf?$AAo?$AAp?$AAe?$AAn?$AA_?$AAs?$AA?$AA@ 100848d4 LIBCMTD:fopen.obj - 0003:000018e8 ??_C@_1CA@LLJLFCDN@?$AA?$CI?$AAp?$AAf?$AAi?$AAl?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100848e8 LIBCMTD:fopen.obj - 0003:00001910 ??_C@_0CP@CGEOCNHO@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 10084910 LIBCMTD:chdir.obj - 0003:00001948 ??_C@_1O@HIELJLOL@?$AA_?$AAc?$AAh?$AAd?$AAi?$AAr?$AA?$AA@ 10084948 LIBCMTD:chdir.obj - 0003:00001958 ??_C@_1FO@PDKBFEFB@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 10084958 LIBCMTD:chdir.obj - 0003:000019c8 ??_C@_1BO@DPAOGEII@?$AA?$CI?$AAp?$AAa?$AAt?$AAh?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100849c8 LIBCMTD:chdir.obj - 0003:000019ec __pDefaultRawDllMain 100849ec LIBCMTD:dllcrt0.obj - 0003:000019ec __pRawDllMain 100849ec LIBCMTD:dllcrt0.obj - 0003:000019f0 ??_C@_0DB@OLNOAEGF@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100849f0 LIBCMTD:dllcrt0.obj - 0003:00001a2c ??_C@_0DC@LMJHGCKC@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 10084a2c LIBCMTD:tidtable.obj - 0003:00001a68 ??_C@_07PEJMOBNF@FlsFree?$AA@ 10084a68 LIBCMTD:tidtable.obj - 0003:00001a74 ??_C@_0M@JCPCPOEF@FlsSetValue?$AA@ 10084a74 LIBCMTD:tidtable.obj - 0003:00001a84 ??_C@_0M@GDNOONDI@FlsGetValue?$AA@ 10084a84 LIBCMTD:tidtable.obj - 0003:00001a94 ??_C@_08KNHFBNJ@FlsAlloc?$AA@ 10084a94 LIBCMTD:tidtable.obj - 0003:00001aa0 ??_C@_1BK@DBDEIDLH@?$AAK?$AAE?$AAR?$AAN?$AAE?$AAL?$AA3?$AA2?$AA?4?$AAD?$AAL?$AAL?$AA?$AA@ 10084aa0 LIBCMTD:tidtable.obj - 0003:00001ac0 ??_C@_17LGKOMLJ@?$AA?4?$AA?4?$AA?4?$AA?$AA@ 10084ac0 LIBCMTD:dbgrptw.obj - 0003:00001acc ??_C@_1CC@CGHMNGDG@?$AAA?$AAs?$AAs?$AAe?$AAr?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?$AA@ 10084acc LIBCMTD:dbgrptw.obj - 0003:00001af4 ??_C@_1M@ILHOPKA@?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?$AA@ 10084af4 LIBCMTD:dbgrptw.obj - 0003:00001b04 ??_C@_1BA@GLMCNLEM@?$AAW?$AAa?$AAr?$AAn?$AAi?$AAn?$AAg?$AA?$AA@ 10084b04 LIBCMTD:dbgrptw.obj - 0003:00001b28 ??_C@_0DA@PCCBBBID@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 10084b28 LIBCMTD:dbgrptw.obj - 0003:00001b68 ??_C@_1FI@PHIAFFHM@?$AA?$CI?$AA?$CC?$AAT?$AAh?$AAe?$AA?5?$AAh?$AAo?$AAo?$AAk?$AA?5?$AAf?$AAu?$AAn?$AAc?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAi?$AAs?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAi?$AAn?$AA?5?$AAt?$AAh@ 10084b68 LIBCMTD:dbgrptw.obj - 0003:00001bd4 ??_C@_1CG@JBJEFOCM@?$AAp?$AAf?$AAn?$AAN?$AAe?$AAw?$AAH?$AAo?$AAo?$AAk?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 10084bd4 LIBCMTD:dbgrptw.obj - 0003:00001c04 ??_C@_1CI@IIHEAKEI@?$AA_?$AAC?$AAr?$AAt?$AAS?$AAe?$AAt?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AAH?$AAo?$AAo?$AAk?$AAW?$AA2?$AA?$AA@ 10084c04 LIBCMTD:dbgrptw.obj - 0003:00001c38 ??_C@_1GA@IBJGKIFE@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 10084c38 LIBCMTD:dbgrptw.obj - 0003:00001cb0 ??_C@_1HI@OFEHGPPC@?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAC?$AAR?$AAT?$AA_?$AAR?$AAP?$AAT?$AAH?$AAO?$AAO?$AAK?$AA_?$AAI?$AAN?$AAS?$AAT?$AAA?$AAL?$AAL?$AA?5?$AA?$HM?$AA?$HM?$AA?5@ 10084cb0 LIBCMTD:dbgrptw.obj - 0003:00001d40 ??_C@_1EG@PEOEAKBB@?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa?$AAl?$AA?5?$AAC?$AA?$CL?$AA?$CL?$AA?5?$AAD?$AAe?$AAb?$AAu?$AAg?$AA?5?$AAL?$AAi?$AAb?$AAr?$AAa@ 10084d40 LIBCMTD:dbgrptw.obj - 0003:00001d98 ??_C@_1FG@BBOLDHGF@?$AA_?$AAC?$AAr?$AAt?$AAD?$AAb?$AAg?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AA?3?$AA?5?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAt?$AAo?$AAo?$AA?5?$AAl?$AAo?$AAn?$AAg?$AA?5?$AAo@ 10084d98 LIBCMTD:dbgrptw.obj - 0003:00001e00 ??_C@_1JI@EACPGHID@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAL?$AA?$CC?$AA_@ 10084e00 LIBCMTD:dbgrptw.obj - 0003:00001eb8 ??_C@_1BI@KALLJECN@?$AA?$CI?$AA?$CK?$AA_?$AAe?$AAr?$AAr?$AAn?$AAo?$AA?$CI?$AA?$CJ?$AA?$CJ?$AA?$AA@ 10084eb8 LIBCMTD:dbgrptw.obj - 0003:00001ed8 ??_C@_1KK@MEFMPOLM@?$AAD?$AAe?$AAb?$AAu?$AAg?$AA?5?$AA?$CF?$AAs?$AA?$CB?$AA?6?$AA?6?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?3?$AA?5?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs@ 10084ed8 LIBCMTD:dbgrptw.obj - 0003:00001fa4 ??_C@_1BE@CGCJKGHI@?$AA?6?$AAM?$AAo?$AAd?$AAu?$AAl?$AAe?$AA?3?$AA?5?$AA?$AA@ 10084fa4 LIBCMTD:dbgrptw.obj - 0003:00001fbc ??_C@_1BA@LNHECFIM@?$AA?6?$AAF?$AAi?$AAl?$AAe?$AA?3?$AA?5?$AA?$AA@ 10084fbc LIBCMTD:dbgrptw.obj - 0003:00001fd0 ??_C@_1BA@GLLGCPCK@?$AA?6?$AAL?$AAi?$AAn?$AAe?$AA?3?$AA?5?$AA?$AA@ 10084fd0 LIBCMTD:dbgrptw.obj - 0003:00001fe4 ??_C@_15IABLJNFO@?$AA?6?$AA?6?$AA?$AA@ 10084fe4 LIBCMTD:dbgrptw.obj - 0003:00001fec ??_C@_1BK@PEDCIPMA@?$AAE?$AAx?$AAp?$AAr?$AAe?$AAs?$AAs?$AAi?$AAo?$AAn?$AA?3?$AA?5?$AA?$AA@ 10084fec LIBCMTD:dbgrptw.obj - 0003:0000200c ??_C@_11LOCGONAA@?$AA?$AA@ 1008500c LIBCMTD:dbgrptw.obj - 0003:00002010 ??_C@_1OG@PMPPFHAF@?$AA?6?$AA?6?$AAF?$AAo?$AAr?$AA?5?$AAi?$AAn?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAo?$AAn?$AA?5?$AAh?$AAo?$AAw?$AA?5?$AAy?$AAo?$AAu?$AAr?$AA?5?$AAp?$AAr@ 10085010 LIBCMTD:dbgrptw.obj - 0003:00002128 ??_C@_1NO@LECLLHOL@?$AAm?$AAe?$AAm?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAS?$AAh?$AAo?$AAr?$AAt?$AAP?$AAr?$AAo?$AAg?$AAN?$AAa?$AAm?$AAe?$AA?0?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf@ 10085128 LIBCMTD:dbgrptw.obj - 0003:00002234 ??_C@_1CO@EAEJAADC@?$AA?$DM?$AAp?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAn?$AAa?$AAm?$AAe?$AA?5?$AAu?$AAn?$AAk?$AAn?$AAo?$AAw?$AAn?$AA?$DO?$AA?$AA@ 10085234 LIBCMTD:dbgrptw.obj - 0003:00002270 ??_C@_1GI@DEDNNLCI@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAE?$AAx?$AAe?$AAN?$AAa?$AAm?$AAe?$AA?0?$AA?5?$AA2?$AA6?$AA0?$AA?0?$AA?5?$AAL?$AA?$CC?$AA?$DM?$AAp?$AAr?$AAo?$AAg@ 10085270 LIBCMTD:dbgrptw.obj - 0003:000022ec ??_C@_1CI@PGJIFDEK@?$AA_?$AA_?$AAc?$AAr?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AAW?$AAi?$AAn?$AAd?$AAo?$AAw?$AAW?$AA?$AA@ 100852ec LIBCMTD:dbgrptw.obj - 0003:0000231c ??_C@_06PJIGMIJB@Client?$AA@ 1008531c LIBCMTD:dbgheap.obj - 0003:00002324 ??_C@_06KMEJCCGM@Ignore?$AA@ 10085324 LIBCMTD:dbgheap.obj - 0003:0000232c ??_C@_03OGPFLFLO@CRT?$AA@ 1008532c LIBCMTD:dbgheap.obj - 0003:00002330 ??_C@_06EFAGIKOH@Normal?$AA@ 10085330 LIBCMTD:dbgheap.obj - 0003:00002338 ??_C@_04HJMOFLDF@Free?$AA@ 10085338 LIBCMTD:dbgheap.obj - 0003:00002358 ??_C@_0DC@JEMAGEKG@Error?3?5memory?5allocation?3?5bad?5me@ 10085358 LIBCMTD:dbgheap.obj - 0003:00002394 ??_C@_0CF@BICKFLAF@Invalid?5allocation?5size?3?5?$CFIu?5byt@ 10085394 LIBCMTD:dbgheap.obj - 0003:000023c0 ??_C@_0CB@CCLOLAHO@Client?5hook?5allocation?5failure?4?6@ 100853c0 LIBCMTD:dbgheap.obj - 0003:000023e8 ??_C@_0DF@BBEGIFEK@Client?5hook?5allocation?5failure?5a@ 100853e8 LIBCMTD:dbgheap.obj - 0003:00002428 ??_C@_1GC@DNJKKEAA@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 10085428 LIBCMTD:dbgheap.obj - 0003:000024a0 ??_C@_1CE@LJFEPPMP@?$AA_?$AAC?$AAr?$AAt?$AAC?$AAh?$AAe?$AAc?$AAk?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AA?$CI?$AA?$CJ?$AA?$AA@ 100854a0 LIBCMTD:dbgheap.obj - 0003:000024cc ??_C@_1DE@KOOKLFBB@?$AA_?$AAp?$AAF?$AAi?$AAr?$AAs?$AAt?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAp?$AAO?$AAl?$AAd?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 100854cc LIBCMTD:dbgheap.obj - 0003:0000250c ??_C@_1DC@GEFKNOOL@?$AA_?$AAp?$AAL?$AAa?$AAs?$AAt?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAp?$AAO?$AAl?$AAd?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 1008550c LIBCMTD:dbgheap.obj - 0003:00002548 ??_C@_1GE@PCKLOLAO@?$AAf?$AAR?$AAe?$AAa?$AAl?$AAl?$AAo?$AAc?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CI?$AA?$CB?$AAf?$AAR?$AAe?$AAa?$AAl?$AAl?$AAo?$AAc?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAp?$AAN?$AAe?$AAw?$AAB?$AAl@ 10085548 LIBCMTD:dbgheap.obj - 0003:000025c0 ??_C@_0DA@HFBKENN@Error?3?5possible?5heap?5corruption?5@ 100855c0 LIBCMTD:dbgheap.obj - 0003:00002600 ??_C@_1IK@DCPKDGNH@?$AAp?$AAO?$AAl?$AAd?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?9?$AA?$DO?$AAn?$AAL?$AAi?$AAn?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAI?$AAG?$AAN?$AAO?$AAR?$AAE?$AA_?$AAL?$AAI?$AAN?$AAE?$AA?5@ 10085600 LIBCMTD:dbgheap.obj - 0003:000026a8 ??_C@_1EE@GFOPCECE@?$AA_?$AAC?$AAr?$AAt?$AAI?$AAs?$AAV?$AAa?$AAl?$AAi?$AAd?$AAH?$AAe?$AAa?$AAp?$AAP?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?$CI?$AAp?$AAU?$AAs?$AAe?$AAr?$AAD?$AAa?$AAt?$AAa@ 100856a8 LIBCMTD:dbgheap.obj - 0003:00002700 ??_C@_0EM@LGFLMAGJ@The?5Block?5at?50x?$CFp?5was?5allocated?5@ 10085700 LIBCMTD:dbgheap.obj - 0003:00002760 ??_C@_0FA@EFEIGJKG@Error?3?5memory?5allocation?3?5bad?5me@ 10085760 LIBCMTD:dbgheap.obj - 0003:000027c0 ??_C@_0ED@GPCPBAGP@Invalid?5allocation?5size?3?5?$CFIu?5byt@ 100857c0 LIBCMTD:dbgheap.obj - 0003:00002810 ??_C@_0CE@DOFMDOL@Client?5hook?5re?9allocation?5failur@ 10085810 LIBCMTD:dbgheap.obj - 0003:0000283c ??_C@_0DI@KKJPDPGM@Client?5hook?5re?9allocation?5failur@ 1008583c LIBCMTD:dbgheap.obj - 0003:00002880 ??_C@_1BI@HAPNGHDP@?$AA_?$AAe?$AAx?$AAp?$AAa?$AAn?$AAd?$AA_?$AAd?$AAb?$AAg?$AA?$AA@ 10085880 LIBCMTD:dbgheap.obj - 0003:0000289c ??_C@_1CE@CJACEFBA@?$AAp?$AAU?$AAs?$AAe?$AAr?$AAD?$AAa?$AAt?$AAa?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 1008589c LIBCMTD:dbgheap.obj - 0003:000028c8 ??_C@_1CM@MMAADDMD@?$AA_?$AAp?$AAF?$AAi?$AAr?$AAs?$AAt?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAp?$AAH?$AAe?$AAa?$AAd?$AA?$AA@ 100858c8 LIBCMTD:dbgheap.obj - 0003:000028fc ??_C@_1CK@DMAGEMBG@?$AA_?$AAp?$AAL?$AAa?$AAs?$AAt?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAp?$AAH?$AAe?$AAa?$AAd?$AA?$AA@ 100858fc LIBCMTD:dbgheap.obj - 0003:00002930 ??_C@_1DM@ODCJIDCP@?$AAp?$AAH?$AAe?$AAa?$AAd?$AA?9?$AA?$DO?$AAn?$AAB?$AAl?$AAo?$AAc?$AAk?$AAU?$AAs?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAn?$AAB?$AAl?$AAo?$AAc?$AAk?$AAU?$AAs?$AAe?$AA?$AA@ 10085930 LIBCMTD:dbgheap.obj - 0003:00002978 ??_C@_1HK@HPCBMDFG@?$AAp?$AAH?$AAe?$AAa?$AAd?$AA?9?$AA?$DO?$AAn?$AAL?$AAi?$AAn?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAI?$AAG?$AAN?$AAO?$AAR?$AAE?$AA_?$AAL?$AAI?$AAN?$AAE?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAp@ 10085978 LIBCMTD:dbgheap.obj - 0003:00002a10 ??_C@_0IG@LEMBDCJK@HEAP?5CORRUPTION?5DETECTED?3?5after?5@ 10085a10 LIBCMTD:dbgheap.obj - 0003:00002ab0 ??_C@_0KE@MBMNHHHN@HEAP?5CORRUPTION?5DETECTED?3?5after?5@ 10085ab0 LIBCMTD:dbgheap.obj - 0003:00002b78 ??_C@_0IK@PJCGLBOB@HEAP?5CORRUPTION?5DETECTED?3?5before@ 10085b78 LIBCMTD:dbgheap.obj - 0003:00002c20 ??_C@_0KI@JGFOHMEB@HEAP?5CORRUPTION?5DETECTED?3?5before@ 10085c20 LIBCMTD:dbgheap.obj - 0003:00002cf0 ??_C@_1EO@LHDAJOCM@?$AA_?$AAB?$AAL?$AAO?$AAC?$AAK?$AA_?$AAT?$AAY?$AAP?$AAE?$AA_?$AAI?$AAS?$AA_?$AAV?$AAA?$AAL?$AAI?$AAD?$AA?$CI?$AAp?$AAH?$AAe?$AAa?$AAd?$AA?9?$AA?$DO?$AAn?$AAB?$AAl?$AAo@ 10085cf0 LIBCMTD:dbgheap.obj - 0003:00002d50 ??_C@_0BL@KEIPLFAC@Client?5hook?5free?5failure?4?6?$AA@ 10085d50 LIBCMTD:dbgheap.obj - 0003:00002d70 ??_C@_0EJ@HEIBCIMJ@The?5Block?5at?50x?$CFp?5was?5allocated?5@ 10085d70 LIBCMTD:dbgheap.obj - 0003:00002dc8 ??_C@_1BG@MBKOGDLD@?$AA_?$AAm?$AAs?$AAi?$AAz?$AAe?$AA_?$AAd?$AAb?$AAg?$AA?$AA@ 10085dc8 LIBCMTD:dbgheap.obj - 0003:00002de4 ??_C@_0CI@JMLBEDHJ@?$CFhs?5located?5at?50x?$CFp?5is?5?$CFIu?5bytes@ 10085de4 LIBCMTD:dbgheap.obj - 0003:00002e18 ??_C@_0EG@DGJMPDBH@?$CFhs?5located?5at?50x?$CFp?5is?5?$CFIu?5bytes@ 10085e18 LIBCMTD:dbgheap.obj - 0003:00002e70 ??_C@_0IC@BBJIOOJH@HEAP?5CORRUPTION?5DETECTED?3?5on?5top@ 10085e70 LIBCMTD:dbgheap.obj - 0003:00002f10 ??_C@_0KA@IHNJJKPL@HEAP?5CORRUPTION?5DETECTED?3?5on?5top@ 10085f10 LIBCMTD:dbgheap.obj - 0003:00002fd0 ??_C@_07OHKEFPKJ@DAMAGED?$AA@ 10085fd0 LIBCMTD:dbgheap.obj - 0003:00002fdc ??_C@_0CL@HNNNMKMJ@_heapchk?5fails?5with?5unknown?5retu@ 10085fdc LIBCMTD:dbgheap.obj - 0003:00003010 ??_C@_0CC@MFFCHFHO@_heapchk?5fails?5with?5_HEAPBADPTR?4@ 10086010 LIBCMTD:dbgheap.obj - 0003:00003038 ??_C@_0CC@MJGLGBDG@_heapchk?5fails?5with?5_HEAPBADEND?4@ 10086038 LIBCMTD:dbgheap.obj - 0003:00003060 ??_C@_0CD@CPKEAPBD@_heapchk?5fails?5with?5_HEAPBADNODE@ 10086060 LIBCMTD:dbgheap.obj - 0003:0000308c ??_C@_0CE@MKKHMBMK@_heapchk?5fails?5with?5_HEAPBADBEGI@ 1008608c LIBCMTD:dbgheap.obj - 0003:000030b8 ??_C@_1BO@GJFDNMNF@?$AA_?$AAC?$AAr?$AAt?$AAS?$AAe?$AAt?$AAD?$AAb?$AAg?$AAF?$AAl?$AAa?$AAg?$AA?$AA@ 100860b8 LIBCMTD:dbgheap.obj - 0003:000030e0 ??_C@_1BHO@NNANJNF@?$AA?$CI?$AAf?$AAN?$AAe?$AAw?$AAB?$AAi?$AAt?$AAs?$AA?$DN?$AA?$DN?$AA_?$AAC?$AAR?$AAT?$AAD?$AAB?$AAG?$AA_?$AAR?$AAE?$AAP?$AAO?$AAR?$AAT?$AA_?$AAF?$AAL?$AAA?$AAG?$AA?$CJ?$AA?5@ 100860e0 LIBCMTD:dbgheap.obj - 0003:000032ac ??_C@_1DE@GJCKCKEC@?$AA_?$AAC?$AAr?$AAt?$AAD?$AAo?$AAF?$AAo?$AAr?$AAA?$AAl?$AAl?$AAC?$AAl?$AAi?$AAe?$AAn?$AAt?$AAO?$AAb?$AAj?$AAe?$AAc?$AAt?$AAs?$AA?$AA@ 100862ac LIBCMTD:dbgheap.obj - 0003:000032ec ??_C@_1BI@CJGCEEDL@?$AAp?$AAf?$AAn?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100862ec LIBCMTD:dbgheap.obj - 0003:00003308 ??_C@_0CB@EAAIGELO@Bad?5memory?5block?5found?5at?50x?$CFp?4?6@ 10086308 LIBCMTD:dbgheap.obj - 0003:00003330 ??_C@_0DP@LEFMFBOD@Bad?5memory?5block?5found?5at?50x?$CFp?4?6@ 10086330 LIBCMTD:dbgheap.obj - 0003:0000337c ??_C@_1CE@NJJKELF@?$AA_?$AAC?$AAr?$AAt?$AAM?$AAe?$AAm?$AAC?$AAh?$AAe?$AAc?$AAk?$AAp?$AAo?$AAi?$AAn?$AAt?$AA?$AA@ 1008637c LIBCMTD:dbgheap.obj - 0003:000033a8 ??_C@_1BM@MIMANDHC@?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100863a8 LIBCMTD:dbgheap.obj - 0003:000033cc ??_C@_1CC@DFPEDFBP@?$AAn?$AAe?$AAw?$AAS?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100863cc LIBCMTD:dbgheap.obj - 0003:000033f4 ??_C@_1CC@DHPFEMMN@?$AAo?$AAl?$AAd?$AAS?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100863f4 LIBCMTD:dbgheap.obj - 0003:0000341c ??_C@_1CE@PDIENACM@?$AA_?$AAC?$AAr?$AAt?$AAM?$AAe?$AAm?$AAD?$AAi?$AAf?$AAf?$AAe?$AAr?$AAe?$AAn?$AAc?$AAe?$AA?$AA@ 1008641c LIBCMTD:dbgheap.obj - 0003:00003448 ??_C@_0BH@GFGKJDCO@Object?5dump?5complete?4?6?$AA@ 10086448 LIBCMTD:dbgheap.obj - 0003:00003464 ??_C@_0DA@MDLBNIBM@crt?5block?5at?50x?$CFp?0?5subtype?5?$CFx?0?5?$CF@ 10086464 LIBCMTD:dbgheap.obj - 0003:000034a0 ??_C@_0CH@FAGDDGPN@normal?5block?5at?50x?$CFp?0?5?$CFIu?5bytes?5@ 100864a0 LIBCMTD:dbgheap.obj - 0003:000034d0 ??_C@_0DD@GHNAAKBB@client?5block?5at?50x?$CFp?0?5subtype?5?$CFx@ 100864d0 LIBCMTD:dbgheap.obj - 0003:00003510 ??_C@_06PKLGBFGM@?$HL?$CFld?$HN?5?$AA@ 10086510 LIBCMTD:dbgheap.obj - 0003:00003518 ??_C@_0L@JMEFFCCJ@?$CFhs?$CI?$CFd?$CJ?5?3?5?$AA@ 10086518 LIBCMTD:dbgheap.obj - 0003:00003528 ??_C@_0BE@OIEFNFL@?$CDFile?5Error?$CD?$CI?$CFd?$CJ?5?3?5?$AA@ 10086528 LIBCMTD:dbgheap.obj - 0003:00003540 ??_C@_0BE@KCIPKCIA@Dumping?5objects?5?9?$DO?6?$AA@ 10086540 LIBCMTD:dbgheap.obj - 0003:00003558 ??_C@_0BA@HJBKCELP@?5Data?3?5?$DM?$CFs?$DO?5?$CFs?6?$AA@ 10086558 LIBCMTD:dbgheap.obj - 0003:0000356c ??_C@_1CG@LPFIACGM@?$AA_?$AAp?$AAr?$AAi?$AAn?$AAt?$AAM?$AAe?$AAm?$AAB?$AAl?$AAo?$AAc?$AAk?$AAD?$AAa?$AAt?$AAa?$AA?$AA@ 1008656c LIBCMTD:dbgheap.obj - 0003:0000359c ??_C@_05MKKEDADM@?$CF?42X?5?$AA@ 1008659c LIBCMTD:dbgheap.obj - 0003:000035a4 ??_C@_0BI@JBFPOEJA@Detected?5memory?5leaks?$CB?6?$AA@ 100865a4 LIBCMTD:dbgheap.obj - 0003:000035c0 ??_C@_0BP@DEDHGGGI@Total?5allocations?3?5?$CFId?5bytes?4?6?$AA@ 100865c0 LIBCMTD:dbgheap.obj - 0003:000035e8 ??_C@_0CB@BLHDAFNE@Largest?5number?5used?3?5?$CFId?5bytes?4?6@ 100865e8 LIBCMTD:dbgheap.obj - 0003:00003610 ??_C@_0BO@DACNIABB@?$CFId?5bytes?5in?5?$CFId?5?$CFhs?5Blocks?4?6?$AA@ 10086610 LIBCMTD:dbgheap.obj - 0003:00003634 ??_C@_1CM@MPNIBKGK@?$AA_?$AAC?$AAr?$AAt?$AAM?$AAe?$AAm?$AAD?$AAu?$AAm?$AAp?$AAS?$AAt?$AAa?$AAt?$AAi?$AAs?$AAt?$AAi?$AAc?$AAs?$AA?$AA@ 10086634 LIBCMTD:dbgheap.obj - 0003:00003668 ??_C@_1DK@LFLKFPDA@?$AAo?$AAf?$AAf?$AAs?$AAe?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAo?$AAf?$AAf?$AAs?$AAe?$AAt?$AA?5?$AA?$DM?$AA?5?$AAs?$AAi?$AAz?$AAe?$AA?$AA@ 10086668 LIBCMTD:dbgheap.obj - 0003:000036b0 ??_C@_1DG@DONCJBBJ@?$AA_?$AAa?$AAl?$AAi?$AAg?$AAn?$AAe?$AAd?$AA_?$AAo?$AAf?$AAf?$AAs?$AAe?$AAt?$AA_?$AAm?$AAa?$AAl?$AAl?$AAo?$AAc?$AA_?$AAd?$AAb?$AAg?$AA?$AA@ 100866b0 LIBCMTD:dbgheap.obj - 0003:000036f0 ??_C@_1CE@NPMGPNNP@?$AAI?$AAS?$AA_?$AA2?$AA_?$AAP?$AAO?$AAW?$AA_?$AAN?$AA?$CI?$AAa?$AAl?$AAi?$AAg?$AAn?$AA?$CJ?$AA?$AA@ 100866f0 LIBCMTD:dbgheap.obj - 0003:0000371c ??_C@_1DI@NINIKFFK@?$AA_?$AAa?$AAl?$AAi?$AAg?$AAn?$AAe?$AAd?$AA_?$AAo?$AAf?$AAf?$AAs?$AAe?$AAt?$AA_?$AAr?$AAe?$AAa?$AAl?$AAl?$AAo?$AAc?$AA_?$AAd?$AAb?$AAg?$AA?$AA@ 1008671c LIBCMTD:dbgheap.obj - 0003:00003760 ??_C@_0DL@PGHMMKNE@Damage?5before?50x?$CFp?5which?5was?5all@ 10086760 LIBCMTD:dbgheap.obj - 0003:000037a8 ??_C@_0EI@NDNJMAJK@The?5block?5at?50x?$CFp?5was?5not?5alloca@ 100867a8 LIBCMTD:dbgheap.obj - 0003:00003800 ??_C@_0EF@PGELACII@The?5block?5at?50x?$CFp?5was?5not?5alloca@ 10086800 LIBCMTD:dbgheap.obj - 0003:00003854 ??_C@_1CG@CEGMHIMN@?$AA_?$AAa?$AAl?$AAi?$AAg?$AAn?$AAe?$AAd?$AA_?$AAm?$AAs?$AAi?$AAz?$AAe?$AA_?$AAd?$AAb?$AAg?$AA?$AA@ 10086854 LIBCMTD:dbgheap.obj - 0003:00003884 ??_C@_1CC@MOBIKHH@?$AAm?$AAe?$AAm?$AAb?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 10086884 LIBCMTD:dbgheap.obj - 0003:000038ac ??_C@_0CP@BNKDODJJ@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100868ac LIBCMTD:_file.obj - 0003:000038e4 ??_C@_0DB@OLNNDFNH@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100868e4 LIBCMTD:_sftbuf.obj - 0003:00003920 ??_C@_1GC@DGAFOCMO@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 10086920 LIBCMTD:_sftbuf.obj - 0003:00003998 ??_C@_1BI@MFCLPIBM@?$AAs?$AAt?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 10086998 LIBCMTD:_sftbuf.obj - 0003:000039b4 ??_C@_1CO@KCKAACMI@?$AAf?$AAl?$AAa?$AAg?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAf?$AAl?$AAa?$AAg?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA1?$AA?$AA@ 100869b4 LIBCMTD:_sftbuf.obj - 0003:000039ec ??_C@_1O@CEDCILHN@?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AA?$CJ?$AA?$AA@ 100869ec LIBCMTD:output.obj - 0003:000039fc ??_C@_06OJHGLDPL@?$CInull?$CJ?$AA@ 100869fc LIBCMTD:output.obj - 0003:00003a08 ___lookuptable 10086a08 LIBCMTD:output.obj - 0003:00003a74 ??_C@_0DA@NFBEBPEE@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 10086a74 LIBCMTD:output.obj - 0003:00003ab0 ??_C@_1EK@PNGFDECN@?$AA?$CI?$AA?$CC?$AA?8?$AAn?$AA?8?$AA?5?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA?5?$AAs?$AAp?$AAe?$AAc?$AAi?$AAf?$AAi?$AAe?$AAr?$AA?5?$AAd?$AAi?$AAs?$AAa?$AAb?$AAl?$AAe?$AAd?$AA?$CC@ 10086ab0 LIBCMTD:output.obj - 0003:00003b08 ??_C@_1CC@IFFHEMNF@?$AA?$CI?$AAc?$AAh?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA_?$AAT?$AA?$CI?$AA?8?$AA?2?$AA0?$AA?8?$AA?$CJ?$AA?$CJ?$AA?$AA@ 10086b08 LIBCMTD:output.obj - 0003:00003b30 ??_C@_1BAA@ODEGEDCK@?$AA?$CI?$AA?5?$AA?$CI?$AA_?$AAS?$AAt?$AAr?$AAe?$AAa?$AAm?$AA?9?$AA?$DO?$AA_?$AAf?$AAl?$AAa?$AAg?$AA?5?$AA?$CG?$AA?5?$AA_?$AAI?$AAO?$AAS?$AAT?$AAR?$AAG?$AA?$CJ?$AA?5?$AA?$HM?$AA?$HM?$AA?5@ 10086b30 LIBCMTD:output.obj - 0003:00003c64 ??_C@_1BE@IONLIDNC@?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAl?$AA?$AA@ 10086c64 LIBCMTD:output.obj - 0003:00003c80 ??_C@_1GA@HHFOFBLN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 10086c80 LIBCMTD:output.obj - 0003:00003cf4 ??_C@_1BO@JGFPDJCP@?$AAv?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 10086cf4 LIBCMTD:vprintf.obj - 0003:00003d18 ??_C@_1GC@DHFFJKMC@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 10086d18 LIBCMTD:vprintf.obj - 0003:00003d90 ??_C@_1HO@MLMGPAFH@?$AA?$CI?$AA?$CC?$AAi?$AAn?$AAc?$AAo?$AAn?$AAs?$AAi?$AAs?$AAt?$AAe?$AAn?$AAt?$AA?5?$AAI?$AAO?$AAB?$AA?5?$AAf?$AAi?$AAe?$AAl?$AAd?$AAs?$AA?$CC?$AA?0?$AA?5?$AAs?$AAt?$AAr?$AAe@ 10086d90 LIBCMTD:_flsbuf.obj - 0003:00003e28 ??_C@_1GC@GNCCMPNN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 10086e28 LIBCMTD:_flsbuf.obj - 0003:00003ea0 ??_C@_1JE@ECKHFIFP@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAd?$AAe?$AAs?$AAc?$AAr?$AAi?$AAp?$AAt?$AAo?$AAr?$AA?4?$AA?5?$AAF?$AAi?$AAl?$AAe?$AA?5@ 10086ea0 LIBCMTD:write.obj - 0003:00003f54 ??_C@_1CM@OKGMMMDH@?$AA?$CI?$AA_?$AAo?$AAs?$AAf?$AAi?$AAl?$AAe?$AA?$CI?$AAf?$AAh?$AA?$CJ?$AA?5?$AA?$CG?$AA?5?$AAF?$AAO?$AAP?$AAE?$AAN?$AA?$CJ?$AA?$AA@ 10086f54 LIBCMTD:write.obj - 0003:00003f88 ??_C@_1O@KOFKDHPL@?$AA_?$AAw?$AAr?$AAi?$AAt?$AAe?$AA?$AA@ 10086f88 LIBCMTD:write.obj - 0003:00003f98 ??_C@_1FO@EPLDPDDL@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 10086f98 LIBCMTD:write.obj - 0003:00004008 ??_C@_1FO@LPCLHKGE@?$AA?$CI?$AAf?$AAh?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AAu?$AAn?$AAs?$AAi?$AAg?$AAn?$AAe?$AAd?$AA?$CJ?$AAf?$AAh?$AA?5?$AA?$DM?$AA?5?$AA?$CI?$AAu?$AAn?$AAs?$AAi@ 10087008 LIBCMTD:write.obj - 0003:00004078 ??_C@_1DI@CNMHHHLG@?$AAi?$AAs?$AAl?$AAe?$AAa?$AAd?$AAb?$AAy?$AAt?$AAe?$AA?$CI?$AA_?$AAd?$AAb?$AAc?$AAs?$AAB?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?$CI?$AAf?$AAh?$AA?$CJ?$AA?$CJ?$AA?$AA@ 10087078 LIBCMTD:write.obj - 0003:000040bc ??_C@_1CC@EEOLPHGO@?$AA?$CI?$AA?$CI?$AAc?$AAn?$AAt?$AA?5?$AA?$CG?$AA?5?$AA1?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 100870bc LIBCMTD:write.obj - 0003:000040e4 ??_C@_1BM@NCANHCIP@?$AA_?$AAw?$AAr?$AAi?$AAt?$AAe?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 100870e4 LIBCMTD:write.obj - 0003:00004108 ??_C@_1BM@KFJLMBPG@?$AA?$CI?$AAb?$AAu?$AAf?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 10087108 LIBCMTD:write.obj - 0003:0000412c ??_C@_1BA@JGHIEKKM@?$AA_?$AAf?$AAi?$AAl?$AAe?$AAn?$AAo?$AA?$AA@ 1008712c LIBCMTD:fileno.obj - 0003:00004140 ??_C@_1GA@PBJHELNC@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 10087140 LIBCMTD:fileno.obj - 0003:000041b4 ??_C@_0DA@HMCPFNKN@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100871b4 LIBCMTD:onexit.obj - 0003:000041f0 ??_C@_1BO@BKOMIGKJ@?$AAr?$AAu?$AAn?$AAt?$AAi?$AAm?$AAe?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?5?$AA?$AA@ 100871f0 LIBCMTD:crt0msg.obj - 0003:00004214 ??_C@_15JNBOKNOG@?$AA?$AN?$AA?6?$AA?$AA@ 10087214 LIBCMTD:crt0msg.obj - 0003:0000421c ??_C@_1BM@JBBEPPHI@?$AAT?$AAL?$AAO?$AAS?$AAS?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AN?$AA?6?$AA?$AA@ 1008721c LIBCMTD:crt0msg.obj - 0003:00004240 ??_C@_1BK@KMOMNAAI@?$AAS?$AAI?$AAN?$AAG?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AN?$AA?6?$AA?$AA@ 10087240 LIBCMTD:crt0msg.obj - 0003:00004260 ??_C@_1BO@BFCDCGC@?$AAD?$AAO?$AAM?$AAA?$AAI?$AAN?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AN?$AA?6?$AA?$AA@ 10087260 LIBCMTD:crt0msg.obj - 0003:00004288 ??_C@_1BOO@KGEDBGAJ@?$AAR?$AA6?$AA0?$AA3?$AA3?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAA?$AAt?$AAt?$AAe?$AAm?$AAp?$AAt?$AA?5?$AAt?$AAo?$AA?5?$AAu?$AAs?$AAe?$AA?5?$AAM?$AAS?$AAI?$AAL?$AA?5?$AAc?$AAo?$AAd@ 10087288 LIBCMTD:crt0msg.obj - 0003:000044d8 ??_C@_1GG@GOPILAJP@?$AAR?$AA6?$AA0?$AA3?$AA2?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAl?$AAo@ 100874d8 LIBCMTD:crt0msg.obj - 0003:00004558 ??_C@_1MG@ENCOOIDF@?$AAR?$AA6?$AA0?$AA3?$AA1?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAA?$AAt?$AAt?$AAe?$AAm?$AAp?$AAt?$AA?5?$AAt?$AAo?$AA?5?$AAi?$AAn?$AAi?$AAt?$AAi?$AAa?$AAl?$AAi?$AAz?$AAe?$AA?5?$AAt@ 10087558 LIBCMTD:crt0msg.obj - 0003:00004648 ??_C@_1DO@BMFCDCD@?$AAR?$AA6?$AA0?$AA3?$AA0?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAC?$AAR?$AAT?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAi?$AAn?$AAi?$AAt?$AAi?$AAa?$AAl?$AAi?$AAz?$AAe?$AAd?$AA?$AN?$AA?6?$AA?$AA@ 10087648 LIBCMTD:crt0msg.obj - 0003:00004698 ??_C@_1EK@HHFLMAOL@?$AAR?$AA6?$AA0?$AA2?$AA8?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAu?$AAn?$AAa?$AAb?$AAl?$AAe?$AA?5?$AAt?$AAo?$AA?5?$AAi?$AAn?$AAi?$AAt?$AAi?$AAa?$AAl?$AAi?$AAz?$AAe?$AA?5?$AAh?$AAe@ 10087698 LIBCMTD:crt0msg.obj - 0003:000046f0 ??_C@_1GK@MFGOKLAG@?$AAR?$AA6?$AA0?$AA2?$AA7?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAl?$AAo@ 100876f0 LIBCMTD:crt0msg.obj - 0003:00004770 ??_C@_1GK@MCAAGJMO@?$AAR?$AA6?$AA0?$AA2?$AA6?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAs?$AAt@ 10087770 LIBCMTD:crt0msg.obj - 0003:000047f0 ??_C@_1EM@MAADIHMB@?$AAR?$AA6?$AA0?$AA2?$AA5?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAp?$AAu?$AAr?$AAe?$AA?5?$AAv?$AAi?$AAr?$AAt?$AAu?$AAa?$AAl?$AA?5?$AAf?$AAu?$AAn?$AAc?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAc@ 100877f0 LIBCMTD:crt0msg.obj - 0003:00004850 ??_C@_1GK@FHCKBEFA@?$AAR?$AA6?$AA0?$AA2?$AA4?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA_?$AAo@ 10087850 LIBCMTD:crt0msg.obj - 0003:000048d0 ??_C@_1FC@ECHBIFBC@?$AAR?$AA6?$AA0?$AA1?$AA9?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAu?$AAn?$AAa?$AAb?$AAl?$AAe?$AA?5?$AAt?$AAo?$AA?5?$AAo?$AAp?$AAe?$AAn?$AA?5?$AAc?$AAo?$AAn?$AAs?$AAo?$AAl?$AAe?$AA?5@ 100878d0 LIBCMTD:crt0msg.obj - 0003:00004938 ??_C@_1EC@JIBHAOPH@?$AAR?$AA6?$AA0?$AA1?$AA8?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAu?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAh?$AAe?$AAa?$AAp?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AN?$AA?6@ 10087938 LIBCMTD:crt0msg.obj - 0003:00004988 ??_C@_1FK@BEOGODMC@?$AAR?$AA6?$AA0?$AA1?$AA7?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAu?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAm?$AAu?$AAl?$AAt?$AAi?$AAt?$AAh?$AAr?$AAe?$AAa?$AAd?$AA?5@ 10087988 LIBCMTD:crt0msg.obj - 0003:000049f8 ??_C@_1FI@LOGNIKDM@?$AAR?$AA6?$AA0?$AA1?$AA6?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAt?$AAh@ 100879f8 LIBCMTD:crt0msg.obj - 0003:00004a68 ??_C@_1EG@BEHAGFJD@?$AAR?$AA6?$AA0?$AA1?$AA0?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAa?$AAb?$AAo?$AAr?$AAt?$AA?$CI?$AA?$CJ?$AA?5?$AAh?$AAa?$AAs?$AA?5?$AAb?$AAe?$AAe?$AAn?$AA?5?$AAc?$AAa?$AAl?$AAl?$AAe?$AAd@ 10087a68 LIBCMTD:crt0msg.obj - 0003:00004ac0 ??_C@_1FI@HONFMGBI@?$AAR?$AA6?$AA0?$AA0?$AA9?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAe?$AAn@ 10087ac0 LIBCMTD:crt0msg.obj - 0003:00004b30 ??_C@_1FE@LLNEDJMD@?$AAR?$AA6?$AA0?$AA0?$AA8?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAa?$AAr@ 10087b30 LIBCMTD:crt0msg.obj - 0003:00004b98 ??_C@_1FK@PGACCAFB@?$AAR?$AA6?$AA0?$AA0?$AA2?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAf?$AAl?$AAo?$AAa?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AA?5@ 10087b98 LIBCMTD:crt0msg.obj - 0003:00004ce0 ??_C@_1EK@MBDPDCGA@?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa?$AAl?$AA?5?$AAC?$AA?$CL?$AA?$CL?$AA?5?$AAR?$AAu?$AAn?$AAt?$AAi?$AAm?$AAe?$AA?5?$AAL?$AAi?$AAb@ 10087ce0 LIBCMTD:crt0msg.obj - 0003:00004d38 ??_C@_1IG@NMONDPP@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAm?$AAs?$AAg?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf?$AA?$CI?$AAo?$AAu?$AAt?$AAm?$AAs?$AAg?$AA?$CJ@ 10087d38 LIBCMTD:crt0msg.obj - 0003:00004dd8 ??_C@_1IA@DCJGKHFO@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAm?$AAs?$AAg?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf?$AA?$CI?$AAo?$AAu?$AAt?$AAm?$AAs?$AAg?$AA?$CJ@ 10087dd8 LIBCMTD:crt0msg.obj - 0003:00004e78 ??_C@_1HI@FLHKGEBE@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAp?$AAc?$AAh?$AA?0?$AA?5?$AAp?$AAr?$AAo?$AAg?$AAn?$AAa?$AAm?$AAe?$AA_?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?9?$AA?5?$AA?$CI@ 10087e78 LIBCMTD:crt0msg.obj - 0003:00004f08 ??_C@_1HK@FJJNAABO@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAp?$AAr?$AAo?$AAg?$AAn?$AAa?$AAm?$AAe?$AA?0?$AA?5?$AAp?$AAr?$AAo?$AAg?$AAn?$AAa?$AAm?$AAe?$AA_?$AAs?$AAi?$AAz?$AAe@ 10087f08 LIBCMTD:crt0msg.obj - 0003:00004f9c ??_C@_1DE@JNGNBFGO@?$AAR?$AAu?$AAn?$AAt?$AAi?$AAm?$AAe?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?$CB?$AA?6?$AA?6?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?3?$AA?5?$AA?$AA@ 10087f9c LIBCMTD:crt0msg.obj - 0003:00004fe0 ??_C@_1KO@BKLCKNFL@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAm?$AAs?$AAg?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf?$AA?$CI?$AAo?$AAu?$AAt?$AAm?$AAs?$AAg?$AA?$CJ@ 10087fe0 LIBCMTD:crt0msg.obj - 0003:000050b0 ??_C@_1BI@EAHMBMEC@?$AA_?$AAN?$AAM?$AAS?$AAG?$AA_?$AAW?$AAR?$AAI?$AAT?$AAE?$AA?$AA@ 100880b0 LIBCMTD:crt0msg.obj - 0003:000050d0 ??_C@_1GC@HKOJBOFF@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100880d0 LIBCMTD:crt0msg.obj - 0003:00005148 ??_C@_0DB@MHMEONEC@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 10088148 LIBCMTD:mbctype.obj - 0003:00005184 ??_C@_0CP@MKONOLCI@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 10088184 LIBCMTD:mlock.obj - 0003:000051bc ??_C@_1O@EJLDHPPL@?$AAs?$AAi?$AAg?$AAn?$AAa?$AAl?$AA?$AA@ 100881bc LIBCMTD:winsig.obj - 0003:000051d0 ??_C@_1GA@DBECNFG@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100881d0 LIBCMTD:winsig.obj - 0003:00005244 ??_C@_1DO@MLNEDKGB@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAs?$AAi?$AAg?$AAn?$AAa?$AAl?$AA?5?$AAo?$AAr?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$CC?$AA?0?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 10088244 LIBCMTD:winsig.obj - 0003:00005290 ??_C@_0DA@ELJOOIJF@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 10088290 LIBCMTD:winsig.obj - 0003:000052cc ??_C@_1M@DMJEIKHL@?$AAr?$AAa?$AAi?$AAs?$AAe?$AA?$AA@ 100882cc LIBCMTD:winsig.obj - 0003:000052dc ??_C@_0BC@JEAENNKH@SystemFunction036?$AA@ 100882dc LIBCMTD:rand_s.obj - 0003:000052f8 ??_C@_1GA@EBEDGGGB@?$AA?$CI?$AA?$CC?$AAr?$AAa?$AAn?$AAd?$AA_?$AAs?$AA?5?$AAi?$AAs?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAa?$AAv?$AAa?$AAi?$AAl?$AAa?$AAb?$AAl?$AAe?$AA?5?$AAo?$AAn?$AA?5?$AAt?$AAh?$AAi@ 100882f8 LIBCMTD:rand_s.obj - 0003:0000536c ??_C@_1BK@GAEMIDIL@?$AAA?$AAD?$AAV?$AAA?$AAP?$AAI?$AA3?$AA2?$AA?4?$AAD?$AAL?$AAL?$AA?$AA@ 1008836c LIBCMTD:rand_s.obj - 0003:0000538c ??_C@_1O@IJGPPOGF@?$AAr?$AAa?$AAn?$AAd?$AA_?$AAs?$AA?$AA@ 1008838c LIBCMTD:rand_s.obj - 0003:000053a0 ??_C@_1GA@HBGBBKCD@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100883a0 LIBCMTD:rand_s.obj - 0003:00005414 ??_C@_1CK@GFDNDKK@?$AA_?$AAR?$AAa?$AAn?$AAd?$AAo?$AAm?$AAV?$AAa?$AAl?$AAu?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 10088414 LIBCMTD:rand_s.obj - 0003:00005448 ??_C@_1GO@NGIGJNHH@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AA?$CK?$AAs?$AAt?$AAr?$AAa?$AAd?$AAd?$AAr?$AAe?$AAs?$AAs?$AA?0?$AA?5?$AAo?$AAu?$AAt?$AAs?$AAi?$AAz?$AAe?$AA?0?$AA?5@ 10088448 LIBCMTD:inithelp.obj - 0003:000054cc ??_C@_1CA@KHHCPEI@?$AA_?$AA_?$AAg?$AAe?$AAt?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AAi?$AAn?$AAf?$AAo?$AA?$AA@ 100884cc LIBCMTD:inithelp.obj - 0003:000054f8 ??_C@_1GE@PLPIMDHG@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100884f8 LIBCMTD:inithelp.obj - 0003:00005570 ??_C@_0DC@CFDMMFIG@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 10088570 LIBCMTD:inithelp.obj - 0003:000055b0 ??_C@_1GG@CDHAPCGF@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100885b0 LIBCMTD:handler.obj - 0003:0000562c ??_C@_1BC@JLLICHIC@?$AAp?$AAn?$AAh?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?$AA@ 1008862c LIBCMTD:handler.obj - 0003:00005644 ??_C@_1BC@MJNBEDIJ@?$AA_?$AAi?$AAn?$AAp?$AAu?$AAt?$AA_?$AAl?$AA?$AA@ 10088644 LIBCMTD:input.obj - 0003:00005660 ??_C@_1FO@LDDBLKJ@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 10088660 LIBCMTD:input.obj - 0003:000056d0 ??_C@_0CP@MMGCGBFO@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100886d0 LIBCMTD:input.obj - 0003:00005708 ??_C@_1DO@MBOKMJPK@?$AAn?$AAF?$AAl?$AAo?$AAa?$AAt?$AAS?$AAt?$AAr?$AAU?$AAs?$AAe?$AAd?$AA?$DM?$AA?$DN?$AA?$CI?$AA?$CK?$AAp?$AAn?$AAF?$AAl?$AAo?$AAa?$AAt?$AAS?$AAt?$AAr?$AAS?$AAz?$AA?$CJ?$AA?$AA@ 10088708 LIBCMTD:input.obj - 0003:00005754 ??_C@_1DG@MPPGJOHD@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAI?$AAn?$AAp?$AAu?$AAt?$AA?5?$AAF?$AAo?$AAr?$AAm?$AAa?$AAt?$AA?$CC?$AA?0?$AA0?$AA?$CJ?$AA?$AA@ 10088754 LIBCMTD:inputs.obj - 0003:00005794 ??_C@_1BG@LBKFJFHM@?$AA_?$AAi?$AAn?$AAp?$AAu?$AAt?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 10088794 LIBCMTD:inputs.obj - 0003:000057b0 ??_C@_1O@EDEJGJBM@?$AA_?$AAc?$AAl?$AAo?$AAs?$AAe?$AA?$AA@ 100887b0 LIBCMTD:close.obj - 0003:000057c0 ??_C@_1FO@NNGNFGFH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100887c0 LIBCMTD:close.obj - 0003:00005830 ??_C@_1GE@MIMBMOF@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 10088830 LIBCMTD:_freebuf.obj - 0003:000058a8 ??_C@_1BO@KIJENGPH@?$AAs?$AAt?$AAr?$AAe?$AAa?$AAm?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100888a8 LIBCMTD:_freebuf.obj - 0003:000058f4 ??_C@_1CI@KEDPFCAL@?$AA?$CI?$AA?$CK?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAT?$AA?$CI?$AA?8?$AA?2?$AA0?$AA?8?$AA?$CJ?$AA?$CJ?$AA?$AA@ 100888f4 LIBCMTD:_open.obj - 0003:00005924 ??_C@_1BE@DONHJJKE@?$AA_?$AAo?$AAp?$AAe?$AAn?$AAf?$AAi?$AAl?$AAe?$AA?$AA@ 10088924 LIBCMTD:_open.obj - 0003:0000593c ??_C@_1DK@PKMJBLLN@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAo?$AAp?$AAe?$AAn?$AA?5?$AAm?$AAo?$AAd?$AAe?$AA?$CC?$AA?0?$AA0?$AA?$CJ?$AA?$AA@ 1008893c LIBCMTD:_open.obj - 0003:00005984 ??_C@_1BK@HGLMNMEC@?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 10088984 LIBCMTD:_open.obj - 0003:000059a8 ??_C@_1FO@POGAHKND@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100889a8 LIBCMTD:_open.obj - 0003:00005a18 ??_C@_1CC@JBMDNKJP@?$AAf?$AAi?$AAl?$AAe?$AAn?$AAa?$AAm?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 10088a18 LIBCMTD:_open.obj - 0003:00005a40 ??_C@_0DA@NLPACBPK@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 10088a40 LIBCMTD:stream.obj - 0003:00005a7c ??_C@_0DA@NBLAKPEL@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 10088a7c LIBCMTD:ioinit.obj - 0003:00005ab8 ??_C@_1DE@MMOGFGHF@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AA?$CK?$AAe?$AAn?$AAv?$AA?0?$AA?5?$AAc?$AAc?$AAh?$AAa?$AAr?$AAs?$AA?0?$AA?5?$AAp?$AA?$CJ?$AA?$AA@ 10088ab8 LIBCMTD:stdenvp.obj - 0003:00005af8 ??_C@_1BC@GHMCNHHL@?$AA_?$AAs?$AAe?$AAt?$AAe?$AAn?$AAv?$AAp?$AA?$AA@ 10088af8 LIBCMTD:stdenvp.obj - 0003:00005b10 ??_C@_1GC@DGBFLDBN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 10088b10 LIBCMTD:stdenvp.obj - 0003:00005b88 ??_C@_0DB@BMEBJJKP@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 10088b88 LIBCMTD:stdenvp.obj - 0003:00005bc4 ??_C@_0DB@OEPBJOLC@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 10088bc4 LIBCMTD:stdargv.obj - 0003:00005c00 ??_C@_0CP@PPLBCJDN@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 10088c00 LIBCMTD:a_env.obj - 0003:00005c38 ??_C@_1GE@JDDMFOID@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 10088c38 LIBCMTD:heapinit.obj - 0003:00005cb0 ??_C@_1BC@DENNNKIM@?$AA_?$AAc?$AAr?$AAt?$AAh?$AAe?$AAa?$AAp?$AA?$AA@ 10088cb0 LIBCMTD:heapinit.obj - 0003:00005cc8 __XcptActTab 10088cc8 LIBCMTD:winxfltr.obj - 0003:00005d58 __First_FPE_Indx 10088d58 LIBCMTD:winxfltr.obj - 0003:00005d5c __Num_FPE 10088d5c LIBCMTD:winxfltr.obj - 0003:00005d60 __XcptActTabSize 10088d60 LIBCMTD:winxfltr.obj - 0003:00005d64 __XcptActTabCount 10088d64 LIBCMTD:winxfltr.obj - 0003:00005d88 ??_C@_1GE@HMAALBPJ@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 10088d88 LIBCMTD:localref.obj - 0003:00005e00 ??_C@_1BKC@GGIENNAK@?$AA?$CI?$AA?$CI?$AAp?$AAt?$AAl?$AAo?$AAc?$AAi?$AA?9?$AA?$DO?$AAl?$AAc?$AA_?$AAc?$AAa?$AAt?$AAe?$AAg?$AAo?$AAr?$AAy?$AA?$FL?$AAc?$AAa?$AAt?$AAe?$AAg?$AAo?$AAr?$AAy?$AA?$FN?$AA?4@ 10088e00 LIBCMTD:localref.obj - 0003:00005ff8 ??_C@_1BC@GDGBMEMK@?$AAH?$AAH?$AA?3?$AAm?$AAm?$AA?3?$AAs?$AAs?$AA?$AA@ 10088ff8 LIBCMTD:nlsdata2.obj - 0003:00006010 ??_C@_1CI@KNAKOEBC@?$AAd?$AAd?$AAd?$AAd?$AA?0?$AA?5?$AAM?$AAM?$AAM?$AAM?$AA?5?$AAd?$AAd?$AA?0?$AA?5?$AAy?$AAy?$AAy?$AAy?$AA?$AA@ 10089010 LIBCMTD:nlsdata2.obj - 0003:00006040 ??_C@_1BC@IEBCMHCM@?$AAM?$AAM?$AA?1?$AAd?$AAd?$AA?1?$AAy?$AAy?$AA?$AA@ 10089040 LIBCMTD:nlsdata2.obj - 0003:00006058 ??_C@_15CLMNNGEL@?$AAP?$AAM?$AA?$AA@ 10089058 LIBCMTD:nlsdata2.obj - 0003:00006060 ??_C@_15ODEHAHHF@?$AAA?$AAM?$AA?$AA@ 10089060 LIBCMTD:nlsdata2.obj - 0003:00006068 ??_C@_1BC@FEMKIFH@?$AAD?$AAe?$AAc?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@ 10089068 LIBCMTD:nlsdata2.obj - 0003:00006080 ??_C@_1BC@BGLIFPF@?$AAN?$AAo?$AAv?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@ 10089080 LIBCMTD:nlsdata2.obj - 0003:00006098 ??_C@_1BA@EPANDLNG@?$AAO?$AAc?$AAt?$AAo?$AAb?$AAe?$AAr?$AA?$AA@ 10089098 LIBCMTD:nlsdata2.obj - 0003:000060ac ??_C@_1BE@DKAAMBJL@?$AAS?$AAe?$AAp?$AAt?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@ 100890ac LIBCMTD:nlsdata2.obj - 0003:000060c4 ??_C@_1O@PAHLKOAC@?$AAA?$AAu?$AAg?$AAu?$AAs?$AAt?$AA?$AA@ 100890c4 LIBCMTD:nlsdata2.obj - 0003:000060d4 ??_C@_19BIFMLPCD@?$AAJ?$AAu?$AAl?$AAy?$AA?$AA@ 100890d4 LIBCMTD:nlsdata2.obj - 0003:000060e0 ??_C@_19EPFLPGAP@?$AAJ?$AAu?$AAn?$AAe?$AA?$AA@ 100890e0 LIBCMTD:nlsdata2.obj - 0003:000060ec ??_C@_1M@GJNLMHFD@?$AAA?$AAp?$AAr?$AAi?$AAl?$AA?$AA@ 100890ec LIBCMTD:nlsdata2.obj - 0003:000060fc ??_C@_1M@IKEENEDF@?$AAM?$AAa?$AAr?$AAc?$AAh?$AA?$AA@ 100890fc LIBCMTD:nlsdata2.obj - 0003:0000610c ??_C@_1BC@JGDDFFAM@?$AAF?$AAe?$AAb?$AAr?$AAu?$AAa?$AAr?$AAy?$AA?$AA@ 1008910c LIBCMTD:nlsdata2.obj - 0003:00006124 ??_C@_1BA@EFMEIEBA@?$AAJ?$AAa?$AAn?$AAu?$AAa?$AAr?$AAy?$AA?$AA@ 10089124 LIBCMTD:nlsdata2.obj - 0003:00006138 ??_C@_17EGKACKIF@?$AAD?$AAe?$AAc?$AA?$AA@ 10089138 LIBCMTD:nlsdata2.obj - 0003:00006144 ??_C@_17BBDMLCIG@?$AAN?$AAo?$AAv?$AA?$AA@ 10089144 LIBCMTD:nlsdata2.obj - 0003:00006150 ??_C@_17FNLKOI@?$AAO?$AAc?$AAt?$AA?$AA@ 10089150 LIBCMTD:nlsdata2.obj - 0003:0000615c ??_C@_17HCHCOKMG@?$AAS?$AAe?$AAp?$AA?$AA@ 1008915c LIBCMTD:nlsdata2.obj - 0003:00006168 ??_C@_17ICPELBCN@?$AAA?$AAu?$AAg?$AA?$AA@ 10089168 LIBCMTD:nlsdata2.obj - 0003:00006174 ??_C@_17IJPCKHK@?$AAJ?$AAu?$AAl?$AA?$AA@ 10089174 LIBCMTD:nlsdata2.obj - 0003:00006180 ??_C@_17KCJGOCPB@?$AAJ?$AAu?$AAn?$AA?$AA@ 10089180 LIBCMTD:nlsdata2.obj - 0003:0000618c ??_C@_17PNNKMEED@?$AAM?$AAa?$AAy?$AA?$AA@ 1008918c LIBCMTD:nlsdata2.obj - 0003:00006198 ??_C@_17LFPOIHDD@?$AAA?$AAp?$AAr?$AA?$AA@ 10089198 LIBCMTD:nlsdata2.obj - 0003:000061a4 ??_C@_17CKNLEDEC@?$AAM?$AAa?$AAr?$AA?$AA@ 100891a4 LIBCMTD:nlsdata2.obj - 0003:000061b0 ??_C@_17LMDJEKJN@?$AAF?$AAe?$AAb?$AA?$AA@ 100891b0 LIBCMTD:nlsdata2.obj - 0003:000061bc ??_C@_17DKNBKCHM@?$AAJ?$AAa?$AAn?$AA?$AA@ 100891bc LIBCMTD:nlsdata2.obj - 0003:000061c8 ??_C@_1BC@ENMNNPAJ@?$AAS?$AAa?$AAt?$AAu?$AAr?$AAd?$AAa?$AAy?$AA?$AA@ 100891c8 LIBCMTD:nlsdata2.obj - 0003:000061e0 ??_C@_1O@PDICJHAG@?$AAF?$AAr?$AAi?$AAd?$AAa?$AAy?$AA?$AA@ 100891e0 LIBCMTD:nlsdata2.obj - 0003:000061f0 ??_C@_1BC@HHMNLIHE@?$AAT?$AAh?$AAu?$AAr?$AAs?$AAd?$AAa?$AAy?$AA?$AA@ 100891f0 LIBCMTD:nlsdata2.obj - 0003:00006208 ??_C@_1BE@EBOGMDOH@?$AAW?$AAe?$AAd?$AAn?$AAe?$AAs?$AAd?$AAa?$AAy?$AA?$AA@ 10089208 LIBCMTD:nlsdata2.obj - 0003:00006220 ??_C@_1BA@ENFBFFEK@?$AAT?$AAu?$AAe?$AAs?$AAd?$AAa?$AAy?$AA?$AA@ 10089220 LIBCMTD:nlsdata2.obj - 0003:00006234 ??_C@_1O@MMNBFLIA@?$AAM?$AAo?$AAn?$AAd?$AAa?$AAy?$AA?$AA@ 10089234 LIBCMTD:nlsdata2.obj - 0003:00006244 ??_C@_1O@IHNHDHPB@?$AAS?$AAu?$AAn?$AAd?$AAa?$AAy?$AA?$AA@ 10089244 LIBCMTD:nlsdata2.obj - 0003:00006254 ??_C@_17GGIBDPIH@?$AAS?$AAa?$AAt?$AA?$AA@ 10089254 LIBCMTD:nlsdata2.obj - 0003:00006260 ??_C@_17HFOLPPLP@?$AAF?$AAr?$AAi?$AA?$AA@ 10089260 LIBCMTD:nlsdata2.obj - 0003:0000626c ??_C@_17PDPHAADD@?$AAT?$AAh?$AAu?$AA?$AA@ 1008926c LIBCMTD:nlsdata2.obj - 0003:00006278 ??_C@_17CJEDCEPE@?$AAW?$AAe?$AAd?$AA?$AA@ 10089278 LIBCMTD:nlsdata2.obj - 0003:00006284 ??_C@_17BMKGEGOJ@?$AAT?$AAu?$AAe?$AA?$AA@ 10089284 LIBCMTD:nlsdata2.obj - 0003:00006290 ??_C@_17KBOMKBF@?$AAM?$AAo?$AAn?$AA?$AA@ 10089290 LIBCMTD:nlsdata2.obj - 0003:0000629c ??_C@_17MBGCMIPB@?$AAS?$AAu?$AAn?$AA?$AA@ 1008929c LIBCMTD:nlsdata2.obj - 0003:000062a8 ??_C@_08JCCMCCIL@HH?3mm?3ss?$AA@ 100892a8 LIBCMTD:nlsdata2.obj - 0003:000062b4 ??_C@_0BE@CKGJFCPC@dddd?0?5MMMM?5dd?0?5yyyy?$AA@ 100892b4 LIBCMTD:nlsdata2.obj - 0003:000062cc ??_C@_08BPBNCDIB@MM?1dd?1yy?$AA@ 100892cc LIBCMTD:nlsdata2.obj - 0003:000062d8 ??_C@_02CJNFDJBF@PM?$AA@ 100892d8 LIBCMTD:nlsdata2.obj - 0003:000062dc ??_C@_02DEDBPAFC@AM?$AA@ 100892dc LIBCMTD:nlsdata2.obj - 0003:000062e0 ??_C@_08EDHMEBNP@December?$AA@ 100892e0 LIBCMTD:nlsdata2.obj - 0003:000062ec ??_C@_08HCHEGEOA@November?$AA@ 100892ec LIBCMTD:nlsdata2.obj - 0003:000062f8 ??_C@_07JJNFCEND@October?$AA@ 100892f8 LIBCMTD:nlsdata2.obj - 0003:00006304 ??_C@_09BHHEALKD@September?$AA@ 10089304 LIBCMTD:nlsdata2.obj - 0003:00006310 ??_C@_06LBBHFDDG@August?$AA@ 10089310 LIBCMTD:nlsdata2.obj - 0003:00006318 ??_C@_04MIEPOIFP@July?$AA@ 10089318 LIBCMTD:nlsdata2.obj - 0003:00006320 ??_C@_04CNLMGBGM@June?$AA@ 10089320 LIBCMTD:nlsdata2.obj - 0003:00006328 ??_C@_05DMJDNLEJ@April?$AA@ 10089328 LIBCMTD:nlsdata2.obj - 0003:00006330 ??_C@_05HPCKOFNC@March?$AA@ 10089330 LIBCMTD:nlsdata2.obj - 0003:00006338 ??_C@_08GNJGEPFN@February?$AA@ 10089338 LIBCMTD:nlsdata2.obj - 0003:00006344 ??_C@_07CGJPFGJA@January?$AA@ 10089344 LIBCMTD:nlsdata2.obj - 0003:00006350 ??_C@_03MKABNOCG@Dec?$AA@ 10089350 LIBCMTD:nlsdata2.obj - 0003:00006354 ??_C@_03JPJOFNIA@Nov?$AA@ 10089354 LIBCMTD:nlsdata2.obj - 0003:00006358 ??_C@_03BMAOKBAD@Oct?$AA@ 10089358 LIBCMTD:nlsdata2.obj - 0003:0000635c ??_C@_03GGCAPAJC@Sep?$AA@ 1008935c LIBCMTD:nlsdata2.obj - 0003:00006360 ??_C@_03IFJFEIGA@Aug?$AA@ 10089360 LIBCMTD:nlsdata2.obj - 0003:00006364 ??_C@_03LBGABGKK@Jul?$AA@ 10089364 LIBCMTD:nlsdata2.obj - 0003:00006368 ??_C@_03IDFGHECI@Jun?$AA@ 10089368 LIBCMTD:nlsdata2.obj - 0003:0000636c ??_C@_03CNMDKL@May?$AA@ 1008936c LIBCMTD:nlsdata2.obj - 0003:00006370 ??_C@_03LEOLGMJP@Apr?$AA@ 10089370 LIBCMTD:nlsdata2.obj - 0003:00006374 ??_C@_03ODNJBKGA@Mar?$AA@ 10089374 LIBCMTD:nlsdata2.obj - 0003:00006378 ??_C@_03HJBDCHOM@Feb?$AA@ 10089378 LIBCMTD:nlsdata2.obj - 0003:0000637c ??_C@_03JIHJHPIE@Jan?$AA@ 1008937c LIBCMTD:nlsdata2.obj - 0003:00006380 ??_C@_08INBOOONO@Saturday?$AA@ 10089380 LIBCMTD:nlsdata2.obj - 0003:0000638c ??_C@_06JECMNKMI@Friday?$AA@ 1008938c LIBCMTD:nlsdata2.obj - 0003:00006394 ??_C@_08HACCIKIA@Thursday?$AA@ 10089394 LIBCMTD:nlsdata2.obj - 0003:000063a0 ??_C@_09DLIGFAKA@Wednesday?$AA@ 100893a0 LIBCMTD:nlsdata2.obj - 0003:000063ac ??_C@_07BAAGCFCM@Tuesday?$AA@ 100893ac LIBCMTD:nlsdata2.obj - 0003:000063b8 ??_C@_06JLEDEDGH@Monday?$AA@ 100893b8 LIBCMTD:nlsdata2.obj - 0003:000063c0 ??_C@_06OOPIFAJ@Sunday?$AA@ 100893c0 LIBCMTD:nlsdata2.obj - 0003:000063c8 ??_C@_03FEFJNEK@Sat?$AA@ 100893c8 LIBCMTD:nlsdata2.obj - 0003:000063cc ??_C@_03IDIOELNC@Fri?$AA@ 100893cc LIBCMTD:nlsdata2.obj - 0003:000063d0 ??_C@_03IOFIKPDN@Thu?$AA@ 100893d0 LIBCMTD:nlsdata2.obj - 0003:000063d4 ??_C@_03MHOMLAJA@Wed?$AA@ 100893d4 LIBCMTD:nlsdata2.obj - 0003:000063d8 ??_C@_03NAGEINEP@Tue?$AA@ 100893d8 LIBCMTD:nlsdata2.obj - 0003:000063dc ??_C@_03PDAGKDH@Mon?$AA@ 100893dc LIBCMTD:nlsdata2.obj - 0003:000063e0 ??_C@_03KOEHGMDN@Sun?$AA@ 100893e0 LIBCMTD:nlsdata2.obj - 0003:000063e8 ??_C@_1NK@LOFHIHFC@?$AAf?$AAM?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAC?$AAR?$AAT?$AAD?$AAB?$AAG?$AA_?$AAR?$AAE?$AAP?$AAO?$AAR?$AAT?$AA_?$AAM?$AAO?$AAD?$AAE?$AA?5?$AA?$HM?$AA?$HM?$AA?5@ 100893e8 LIBCMTD:dbgrptt.obj - 0003:000064f0 ??_C@_1CE@FIHIECNJ@?$AA_?$AAC?$AAr?$AAt?$AAS?$AAe?$AAt?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AAM?$AAo?$AAd?$AAe?$AA?$AA@ 100894f0 LIBCMTD:dbgrptt.obj - 0003:00006520 ??_C@_1GC@FIGJJMEN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 10089520 LIBCMTD:dbgrptt.obj - 0003:00006598 ??_C@_1FA@IFFFOLDJ@?$AAn?$AAR?$AAp?$AAt?$AAT?$AAy?$AAp?$AAe?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAn?$AAR?$AAp?$AAt?$AAT?$AAy?$AAp?$AAe?$AA?5?$AA?$DM?$AA?5?$AA_?$AAC?$AAR?$AAT@ 10089598 LIBCMTD:dbgrptt.obj - 0003:000065f8 ??_C@_1CE@IKKEDCME@?$AA_?$AAC?$AAr?$AAt?$AAS?$AAe?$AAt?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AAF?$AAi?$AAl?$AAe?$AA?$AA@ 100895f8 LIBCMTD:dbgrptt.obj - 0003:00006628 ??_C@_1HO@PJOFIKFE@?$AA_?$AAC?$AAr?$AAt?$AAD?$AAb?$AAg?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AA?3?$AA?5?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAt?$AAo?$AAo?$AA?5?$AAl?$AAo?$AAn?$AAg?$AA?5?$AAo@ 10089628 LIBCMTD:dbgrptt.obj - 0003:000066c0 ??_C@_1MC@IGEECMDB@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA2?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAL?$AA?$CC@ 100896c0 LIBCMTD:dbgrptt.obj - 0003:000067a8 ??_C@_1IM@OOKIFKOH@?$AAe?$AA?5?$AA?$DN?$AA?5?$AAm?$AAb?$AAs?$AAt?$AAo?$AAw?$AAc?$AAs?$AA_?$AAs?$AA?$CI?$AA?$CG?$AAr?$AAe?$AAt?$AA?0?$AA?5?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg@ 100897a8 LIBCMTD:dbgrptt.obj - 0003:00006850 ??_C@_1FI@IBIOIHEG@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz?$AAL@ 10089850 LIBCMTD:dbgrptt.obj - 0003:000068c0 ??_C@_1JG@CPKCIOEE@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AA?$CC?$AA_?$AAC@ 100898c0 LIBCMTD:dbgrptt.obj - 0003:00006974 ??_C@_0M@IPILFDFN@?$CFs?$CI?$CFd?$CJ?5?3?5?$CFs?$AA@ 10089974 LIBCMTD:dbgrptt.obj - 0003:00006988 ??_C@_1EI@LDHJEDO@?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AA?$CC?$AA?2@ 10089988 LIBCMTD:dbgrptt.obj - 0003:000069e0 ??_C@_01LIIJDEN@?$AN?$AA@ 100899e0 LIBCMTD:dbgrptt.obj - 0003:000069e8 ??_C@_1EI@CACDLAFK@?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AA?$CC?$AA?2@ 100899e8 LIBCMTD:dbgrptt.obj - 0003:00006a40 ??_C@_1FK@NPGBPOFO@?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz@ 10089a40 LIBCMTD:dbgrptt.obj - 0003:00006ab0 ??_C@_1KK@GIGAEDMO@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz@ 10089ab0 LIBCMTD:dbgrptt.obj - 0003:00006b7c ??_C@_0BC@LAIDCHCH@Assertion?5failed?$CB?$AA@ 10089b7c LIBCMTD:dbgrptt.obj - 0003:00006b94 ??_C@_0BD@CAENFOHP@Assertion?5failed?3?5?$AA@ 10089b94 LIBCMTD:dbgrptt.obj - 0003:00006bac ??_C@_0CL@EACFGMNB@_CrtDbgReport?3?5String?5too?5long?5o@ 10089bac LIBCMTD:dbgrptt.obj - 0003:00006be0 ??_C@_1JI@GAALPGBM@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAU?$AAs?$AAe?$AAr?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AA?$CC?$AA_@ 10089be0 LIBCMTD:dbgrptt.obj - 0003:00006c98 ??_C@_01EEMJAFIK@?6?$AA@ 10089c98 LIBCMTD:dbgrptt.obj - 0003:00006c9c ??_C@_07BHGABMGB@?0?5Line?5?$AA@ 10089c9c LIBCMTD:dbgrptt.obj - 0003:00006ca8 ??_C@_0P@DFJNDPOP@?$DMfile?5unknown?$DO?$AA@ 10089ca8 LIBCMTD:dbgrptt.obj - 0003:00006cbc ??_C@_0CG@BNGLOCEO@Second?5Chance?5Assertion?5Failed?3?5@ 10089cbc LIBCMTD:dbgrptt.obj - 0003:00006cf0 ??_C@_1FA@JPHJBHEM@?$AA_?$AAi?$AAt?$AAo?$AAa?$AA_?$AAs?$AA?$CI?$AAn?$AAL?$AAi?$AAn?$AAe?$AA?0?$AA?5?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0@ 10089cf0 LIBCMTD:dbgrptt.obj - 0003:00006d50 ??_C@_1CA@KHJHLKA@?$AA_?$AAV?$AAC?$AAr?$AAt?$AAD?$AAb?$AAg?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AAA?$AA?$AA@ 10089d50 LIBCMTD:dbgrptt.obj - 0003:00006d78 ??_C@_1IE@CPGKIAGP@?$AAw?$AAc?$AAs?$AAt?$AAo?$AAm?$AAb?$AAs?$AA_?$AAs?$AA?$CI?$AA?$CG?$AAr?$AAe?$AAt?$AA?0?$AA?5?$AAs?$AAz?$AAa?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5@ 10089d78 LIBCMTD:dbgrptt.obj - 0003:00006e18 ??_C@_0DP@GNPEPHJD@_CrtDbgReport?3?5String?5too?5long?5o@ 10089e18 LIBCMTD:dbgrptt.obj - 0003:00006e68 ??_C@_1MA@LBAMNNOB@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA2?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AA?$CC?$AA_@ 10089e68 LIBCMTD:dbgrptt.obj - 0003:00006f50 ??_C@_1JC@EOAPFDLN@?$AAw?$AAc?$AAs?$AAt?$AAo?$AAm?$AAb?$AAs?$AA_?$AAs?$AA?$CI?$AA?$CI?$AA?$CI?$AAv?$AAo?$AAi?$AAd?$AA?5?$AA?$CK?$AA?$CJ?$AA0?$AA?$CJ?$AA?0?$AA?5?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs@ 10089f50 LIBCMTD:dbgrptt.obj - 0003:00007000 ??_C@_1FI@DBAIJPJE@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz?$AAL@ 1008a000 LIBCMTD:dbgrptt.obj - 0003:0000706c ??_C@_1BI@JIDBEPIG@?$AA?$CF?$AAs?$AA?$CI?$AA?$CF?$AAd?$AA?$CJ?$AA?5?$AA?3?$AA?5?$AA?$CF?$AAs?$AA?$AA@ 1008a06c LIBCMTD:dbgrptt.obj - 0003:00007088 ??_C@_1EK@PHCBEDKB@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAL?$AA?$CC@ 1008a088 LIBCMTD:dbgrptt.obj - 0003:000070e0 ??_C@_13CMNBPIDO@?$AA?$AN?$AA?$AA@ 1008a0e0 LIBCMTD:dbgrptt.obj - 0003:000070e8 ??_C@_1EK@NMDFGHMF@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAL?$AA?$CC@ 1008a0e8 LIBCMTD:dbgrptt.obj - 0003:00007140 ??_C@_1FK@HPADHBBD@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz@ 1008a140 LIBCMTD:dbgrptt.obj - 0003:000071b0 ??_C@_1KO@DGAHENCH@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz@ 1008a1b0 LIBCMTD:dbgrptt.obj - 0003:00007280 ??_C@_1CE@OJBNHDMO@?$AAA?$AAs?$AAs?$AAe?$AAr?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?$CB?$AA?$AA@ 1008a280 LIBCMTD:dbgrptt.obj - 0003:000072ac ??_C@_1CG@FFFGGODN@?$AAA?$AAs?$AAs?$AAe?$AAr?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?3?$AA?5?$AA?$AA@ 1008a2ac LIBCMTD:dbgrptt.obj - 0003:000072e0 ??_C@_1JK@KHFABAEO@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAU?$AAs?$AAe?$AAr?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAL?$AA?$CC@ 1008a2e0 LIBCMTD:dbgrptt.obj - 0003:00007398 ??_C@_13LBAGMAIH@?$AA?6?$AA?$AA@ 1008a398 LIBCMTD:dbgrptt.obj - 0003:0000739c ??_C@_1BA@ELMMDCFC@?$AA?0?$AA?5?$AAL?$AAi?$AAn?$AAe?$AA?5?$AA?$AA@ 1008a39c LIBCMTD:dbgrptt.obj - 0003:000073b0 ??_C@_1BO@OCHMLCAG@?$AA?$DM?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAu?$AAn?$AAk?$AAn?$AAo?$AAw?$AAn?$AA?$DO?$AA?$AA@ 1008a3b0 LIBCMTD:dbgrptt.obj - 0003:000073d8 ??_C@_1EM@MJFLEDMB@?$AAS?$AAe?$AAc?$AAo?$AAn?$AAd?$AA?5?$AAC?$AAh?$AAa?$AAn?$AAc?$AAe?$AA?5?$AAA?$AAs?$AAs?$AAe?$AAr?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?3?$AA?5@ 1008a3d8 LIBCMTD:dbgrptt.obj - 0003:00007438 ??_C@_1FA@CNLLOMHI@?$AA_?$AAi?$AAt?$AAo?$AAw?$AA_?$AAs?$AA?$CI?$AAn?$AAL?$AAi?$AAn?$AAe?$AA?0?$AA?5?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0@ 1008a438 LIBCMTD:dbgrptt.obj - 0003:00007498 ??_C@_1CA@HPALHDOD@?$AA_?$AAV?$AAC?$AAr?$AAt?$AAD?$AAb?$AAg?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AAW?$AA?$AA@ 1008a498 LIBCMTD:dbgrptt.obj - 0003:000074c0 ??_C@_0BI@DFKBFLJE@GetProcessWindowStation?$AA@ 1008a4c0 LIBCMTD:crtmboxw.obj - 0003:000074dc ??_C@_0BK@DEKFELLI@GetUserObjectInformationW?$AA@ 1008a4dc LIBCMTD:crtmboxw.obj - 0003:000074fc ??_C@_0BD@HHGDFDBJ@GetLastActivePopup?$AA@ 1008a4fc LIBCMTD:crtmboxw.obj - 0003:00007514 ??_C@_0BA@HNOPNCHB@GetActiveWindow?$AA@ 1008a514 LIBCMTD:crtmboxw.obj - 0003:00007528 ??_C@_0M@DLDCCGNP@MessageBoxW?$AA@ 1008a528 LIBCMTD:crtmboxw.obj - 0003:00007538 ??_C@_1BG@GOEBHBDC@?$AAU?$AAS?$AAE?$AAR?$AA3?$AA2?$AA?4?$AAD?$AAL?$AAL?$AA?$AA@ 1008a538 LIBCMTD:crtmboxw.obj - 0003:00007554 ??_C@_1CC@OLIJCKA@?$AA?$CI?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 1008a554 LIBCMTD:swprintf.obj - 0003:0000757c ??_C@_1BE@BMIJMLDD@?$AA_?$AAs?$AAw?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA?$AA@ 1008a57c LIBCMTD:swprintf.obj - 0003:00007598 ??_C@_1GE@DKGHLBLP@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008a598 LIBCMTD:swprintf.obj - 0003:00007610 ??_C@_1CK@DDKKOLAN@?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?$AA@ 1008a610 LIBCMTD:memcpy_s.obj - 0003:00007644 ??_C@_1BI@DCHLDCPP@?$AAs?$AAr?$AAc?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 1008a644 LIBCMTD:memcpy_s.obj - 0003:00007660 ??_C@_1BC@GKHDJMGB@?$AAm?$AAe?$AAm?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$AA@ 1008a660 LIBCMTD:memcpy_s.obj - 0003:00007678 ??_C@_1GE@NEOPGGBM@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008a678 LIBCMTD:memcpy_s.obj - 0003:000076f0 ??_C@_1BI@GKKCBDMD@?$AAd?$AAs?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 1008a6f0 LIBCMTD:memcpy_s.obj - 0003:0000770c ??_C@_1DM@MADKGDLO@?$AA?$CI?$AAL?$AA?$CC?$AAB?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AAi?$AAs?$AA?5?$AAt?$AAo?$AAo?$AA?5?$AAs?$AAm?$AAa?$AAl?$AAl?$AA?$CC?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 1008a70c LIBCMTD:wcscpy_s.obj - 0003:00007754 ??_C@_1CI@HCPHDDLE@?$AAB?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AAi?$AAs?$AA?5?$AAt?$AAo?$AAo?$AA?5?$AAs?$AAm?$AAa?$AAl?$AAl?$AA?$AA@ 1008a754 LIBCMTD:wcscpy_s.obj - 0003:00007784 ??_C@_1CG@OFBJMIGJ@?$AA?$CI?$AA?$CI?$AA?$CI?$AA_?$AAS?$AAr?$AAc?$AA?$CJ?$AA?$CJ?$AA?$CJ?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 1008a784 LIBCMTD:wcscpy_s.obj - 0003:000077b4 ??_C@_1BC@KIONAFPO@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$AA@ 1008a7b4 LIBCMTD:wcscpy_s.obj - 0003:000077d0 ??_C@_1GI@BGBNCIMA@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008a7d0 LIBCMTD:wcscpy_s.obj - 0003:00007850 ??_C@_1FC@PFMLEHKI@?$AA?$CI?$AA?$CI?$AA_?$AAD?$AAs?$AAt?$AA?$CJ?$AA?$CJ?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AA?$CI?$AA_?$AAS?$AAi?$AAz?$AAe?$AAI?$AAn?$AAW?$AAo?$AAr@ 1008a850 LIBCMTD:wcscpy_s.obj - 0003:000078b4 ??_C@_03KHICJKCI@?4?4?4?$AA@ 1008a8b4 LIBCMTD:dbgrpt.obj - 0003:000078b8 ??_C@_0BB@NAGLCMLI@Assertion?5Failed?$AA@ 1008a8b8 LIBCMTD:dbgrpt.obj - 0003:000078cc ??_C@_05NAOIJFC@Error?$AA@ 1008a8cc LIBCMTD:dbgrpt.obj - 0003:000078d4 ??_C@_07KGMMFLDN@Warning?$AA@ 1008a8d4 LIBCMTD:dbgrpt.obj - 0003:000078f0 ??_C@_1CG@GNMJDMIO@?$AA_?$AAC?$AAr?$AAt?$AAS?$AAe?$AAt?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AAH?$AAo?$AAo?$AAk?$AA2?$AA?$AA@ 1008a8f0 LIBCMTD:dbgrpt.obj - 0003:00007920 ??_C@_0CD@EBCGLDDL@Microsoft?5Visual?5C?$CL?$CL?5Debug?5Libra@ 1008a920 LIBCMTD:dbgrpt.obj - 0003:00007950 ??_C@_0FF@CCONDJCB@Debug?5?$CFs?$CB?6?6Program?3?5?$CFs?$CFs?$CFs?$CFs?$CFs?$CFs@ 1008a950 LIBCMTD:dbgrpt.obj - 0003:000079b8 ??_C@_09OFBFHMBK@?6Module?3?5?$AA@ 1008a9b8 LIBCMTD:dbgrpt.obj - 0003:000079c4 ??_C@_07OPHPPLBG@?6File?3?5?$AA@ 1008a9c4 LIBCMTD:dbgrpt.obj - 0003:000079d0 ??_C@_07DBMPPHDI@?6Line?3?5?$AA@ 1008a9d0 LIBCMTD:dbgrpt.obj - 0003:000079dc ??_C@_02PHMGELLB@?6?6?$AA@ 1008a9dc LIBCMTD:dbgrpt.obj - 0003:000079e0 ??_C@_0N@MEECIJGN@Expression?3?5?$AA@ 1008a9e0 LIBCMTD:dbgrpt.obj - 0003:000079f0 ??_C@_0HD@GNBNFCCL@?6?6For?5information?5on?5how?5your?5pr@ 1008a9f0 LIBCMTD:dbgrpt.obj - 0003:00007a7c ??_C@_0BH@DNAGHKFM@?$DMprogram?5name?5unknown?$DO?$AA@ 1008aa7c LIBCMTD:dbgrpt.obj - 0003:00007a98 ??_C@_1GG@DLDHOIGE@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAE?$AAx?$AAe?$AAN?$AAa?$AAm?$AAe?$AA?0?$AA?5?$AA2?$AA6?$AA0?$AA?0?$AA?5?$AA?$CC?$AA?$DM?$AAp?$AAr?$AAo?$AAg?$AAr@ 1008aa98 LIBCMTD:dbgrpt.obj - 0003:00007b14 ??_C@_1CI@IDOKFLAJ@?$AA_?$AA_?$AAc?$AAr?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AAW?$AAi?$AAn?$AAd?$AAo?$AAw?$AAA?$AA?$AA@ 1008ab14 LIBCMTD:dbgrpt.obj - 0003:00007b44 ??_C@_1BK@JMCGJOCC@?$AA_?$AAe?$AAx?$AAp?$AAa?$AAn?$AAd?$AA_?$AAb?$AAa?$AAs?$AAe?$AA?$AA@ 1008ab44 LIBCMTD:expand.obj - 0003:00007b68 ??_C@_1GA@EBHFLDNH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008ab68 LIBCMTD:expand.obj - 0003:00007bdc ??_C@_1BO@KFIJIAEA@?$AAp?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 1008abdc LIBCMTD:expand.obj - 0003:00007c00 ??_C@_1BA@KBJJGFFE@?$AAs?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA?$AA@ 1008ac00 LIBCMTD:sprintf.obj - 0003:00007c18 ??_C@_1GC@BMNPEKNN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008ac18 LIBCMTD:sprintf.obj - 0003:00007c90 ??_C@_1GC@CHGJNMHG@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008ac90 LIBCMTD:isctype.obj - 0003:00007d08 ??_C@_1DC@BPLPALML@?$AA?$CI?$AAu?$AAn?$AAs?$AAi?$AAg?$AAn?$AAe?$AAd?$AA?$CJ?$AA?$CI?$AAc?$AA?5?$AA?$CL?$AA?5?$AA1?$AA?$CJ?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA2?$AA5?$AA6?$AA?$AA@ 1008ad08 LIBCMTD:isctype.obj - 0003:00007d44 ??_C@_1BA@LEBDGIHM@?$AA_?$AAi?$AAs?$AAa?$AAt?$AAt?$AAy?$AA?$AA@ 1008ad44 LIBCMTD:isatty.obj - 0003:00007d58 ??_C@_1GA@LPGDJDEN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008ad58 LIBCMTD:isatty.obj - 0003:00007dcc ??_C@_1DA@HPBFKMEB@?$AA?$CI?$AA?$CC?$AAB?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AAt?$AAo?$AAo?$AA?5?$AAs?$AAm?$AAa?$AAl?$AAl?$AA?$CC?$AA?0?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 1008adcc LIBCMTD:wctomb.obj - 0003:00007e08 ??_C@_1CA@CBMNPEO@?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 1008ae08 LIBCMTD:wctomb.obj - 0003:00007e30 ??_C@_1BI@IEADNOHF@?$AA_?$AAw?$AAc?$AAt?$AAo?$AAm?$AAb?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 1008ae30 LIBCMTD:wctomb.obj - 0003:00007e50 ??_C@_1GA@LDLHPOO@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008ae50 LIBCMTD:wctomb.obj - 0003:00007ec4 ??_C@_1CO@HFMIILNF@?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAI?$AAN?$AAT?$AA_?$AAM?$AAA?$AAX?$AA?$AA@ 1008aec4 LIBCMTD:wctomb.obj - 0003:00007f00 ___lookuptable_s 1008af00 LIBCMTD:outputs.obj - 0003:00007f70 ??_C@_1FK@LNCFKALM@?$AA?$CI?$AA?$CI?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAS?$AAT?$AA_?$AAN?$AAO?$AAR?$AAM?$AAA?$AAL?$AA?$CJ?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CI?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?5@ 1008af70 LIBCMTD:outputs.obj - 0003:00007fe0 ??_C@_1EE@DMAIGNBG@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAc?$AAo?$AAr?$AAr?$AAe?$AAc?$AAt?$AA?5?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA?5?$AAs?$AAp?$AAe?$AAc?$AAi?$AAf?$AAi?$AAe?$AAr?$AA?$CC?$AA?0?$AA?5?$AA0@ 1008afe0 LIBCMTD:outputs.obj - 0003:00008034 ??_C@_1BI@COFBLHCG@?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 1008b034 LIBCMTD:outputs.obj - 0003:00008050 ??_C@_1FK@BCPANIEK@?$AA?$CI?$AA?$CC?$AAM?$AAi?$AAs?$AAs?$AAi?$AAn?$AAg?$AA?5?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAi?$AAn?$AA?5?$AAt?$AAh?$AAe?$AA?5?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt@ 1008b050 LIBCMTD:outputp.obj - 0003:000080c0 ??_C@_1JC@OACKELNN@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 1008b0c0 LIBCMTD:outputp.obj - 0003:00008170 ??_C@_1IK@NBGDDCBN@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 1008b170 LIBCMTD:outputp.obj - 0003:00008218 ??_C@_1DG@GOHGNKHE@?$AAp?$AAa?$AAs?$AAs?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAF?$AAO?$AAR?$AAM?$AAA?$AAT?$AA_?$AAO?$AAU?$AAT?$AAP?$AAU?$AAT?$AA_?$AAP?$AAA?$AAS?$AAS?$AA?$AA@ 1008b218 LIBCMTD:outputp.obj - 0003:00008258 ??_C@_1IM@DNGHAPLB@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 1008b258 LIBCMTD:outputp.obj - 0003:00008300 ??_C@_1IG@HJIMKDHC@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 1008b300 LIBCMTD:outputp.obj - 0003:000083a0 ??_C@_1IG@FDCPLALG@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 1008b3a0 LIBCMTD:outputp.obj - 0003:00008440 ??_C@_1IK@MHEDJAMK@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 1008b440 LIBCMTD:outputp.obj - 0003:000084e8 ??_C@_1EM@BNPHBBIA@?$AA?$CI?$AA?$CI?$AAt?$AAy?$AAp?$AAe?$AA_?$AAp?$AAo?$AAs?$AA?$DO?$AA?$DN?$AA0?$AA?$CJ?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AAt?$AAy?$AAp?$AAe?$AA_?$AAp?$AAo?$AAs?$AA?$DM?$AA_?$AAA?$AAR?$AAG@ 1008b4e8 LIBCMTD:outputp.obj - 0003:00008548 ??_C@_1IK@EIEPDKHJ@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 1008b548 LIBCMTD:outputp.obj - 0003:000085f0 ??_C@_1JG@JBJBOCFB@?$AA?$CI?$AA?$CI?$AAp?$AAr?$AAe?$AAc?$AAi?$AAs?$AA_?$AAp?$AAo?$AAs?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?$CJ?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AA?$CK?$AAe?$AAn?$AAd?$AA_?$AAp?$AAo?$AAs?$AA?5@ 1008b5f0 LIBCMTD:outputp.obj - 0003:000086a8 ??_C@_1II@PIPIMLPF@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 1008b6a8 LIBCMTD:outputp.obj - 0003:00008750 ??_C@_1JE@NMBHOLFI@?$AA?$CI?$AA?$CI?$AAw?$AAi?$AAd?$AAt?$AAh?$AA_?$AAp?$AAo?$AAs?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?$CJ?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AA?$CK?$AAe?$AAn?$AAd?$AA_?$AAp?$AAo?$AAs?$AA?5?$AA?$DN@ 1008b750 LIBCMTD:outputp.obj - 0003:00008808 ??_C@_1JC@PFJNKEIO@?$AA?$CI?$AA?$CI?$AAt?$AAy?$AAp?$AAe?$AA_?$AAp?$AAo?$AAs?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?$CJ?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AA?$CK?$AAe?$AAn?$AAd?$AA_?$AAp?$AAo?$AAs?$AA?5?$AA?$DN?$AA?$DN@ 1008b808 LIBCMTD:outputp.obj - 0003:000088b8 ??_C@_1BI@KANOLAMF@?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AA_?$AAl?$AA?$AA@ 1008b8b8 LIBCMTD:outputp.obj - 0003:000088d4 ??_C@_1BE@KHFBJMNM@?$AA_?$AAl?$AAs?$AAe?$AAe?$AAk?$AAi?$AA6?$AA4?$AA?$AA@ 1008b8d4 LIBCMTD:lseeki64.obj - 0003:000088f0 ??_C@_1GE@MINKPNPH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008b8f0 LIBCMTD:lseeki64.obj - 0003:00008968 ??_C@_0DB@JEHOCBEJ@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 1008b968 LIBCMTD:_getbuf.obj - 0003:000089a8 ??_C@_1GC@DKMGNNCC@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008b9a8 LIBCMTD:_getbuf.obj - 0003:00008a20 ??_C@_0DB@KIKNCIEC@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 1008ba20 LIBCMTD:osfinfo.obj - 0003:00008a5c ??_C@_1BO@EMBOBGKE@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAo?$AAs?$AAf?$AAh?$AAa?$AAn?$AAd?$AAl?$AAe?$AA?$AA@ 1008ba5c LIBCMTD:osfinfo.obj - 0003:00008a80 ??_C@_1GC@MLKLDJJG@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008ba80 LIBCMTD:osfinfo.obj - 0003:00008af8 ??_C@_1GA@GFFDGGFH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008baf8 LIBCMTD:mbtowc.obj - 0003:00008b70 ??_C@_1NC@EINCOKCO@?$AA_?$AAl?$AAo?$AAc?$AA_?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?4?$AAG?$AAe?$AAt?$AAL?$AAo?$AAc?$AAa?$AAl?$AAe?$AAT?$AA?$CI?$AA?$CJ?$AA?9?$AA?$DO?$AAl?$AAo?$AAc?$AAi?$AAn?$AAf@ 1008bb70 LIBCMTD:mbtowc.obj - 0003:00008c6c ??_C@_1DG@LNNHNFHJ@?$AA?$CI?$AA_?$AAo?$AAs?$AAf?$AAi?$AAl?$AAe?$AA?$CI?$AAf?$AAi?$AAl?$AAe?$AAd?$AAe?$AAs?$AA?$CJ?$AA?5?$AA?$CG?$AA?5?$AAF?$AAO?$AAP?$AAE?$AAN?$AA?$CJ?$AA?$AA@ 1008bc6c LIBCMTD:commit.obj - 0003:00008cac ??_C@_1BA@FLNMBBIM@?$AA_?$AAc?$AAo?$AAm?$AAm?$AAi?$AAt?$AA?$AA@ 1008bcac LIBCMTD:commit.obj - 0003:00008cc0 ??_C@_1GA@BOPCOCFN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008bcc0 LIBCMTD:commit.obj - 0003:00008d38 ??_C@_1HC@KFLBHHBC@?$AA?$CI?$AAf?$AAi?$AAl?$AAe?$AAd?$AAe?$AAs?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AAu?$AAn?$AAs?$AAi?$AAg?$AAn?$AAe?$AAd?$AA?$CJ?$AAf?$AAi?$AAl?$AAe?$AAd@ 1008bd38 LIBCMTD:commit.obj - 0003:00008dc0 ??_C@_1CA@LFDHAMEM@?$AA_?$AAs?$AAe?$AAt?$AA_?$AAe?$AAr?$AAr?$AAo?$AAr?$AA_?$AAm?$AAo?$AAd?$AAe?$AA?$AA@ 1008bdc0 LIBCMTD:errmode.obj - 0003:00008de8 ??_C@_1GC@FGMGFCNB@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008bde8 LIBCMTD:errmode.obj - 0003:00008e60 ??_C@_1DE@BCNCAIK@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA_?$AAm?$AAo?$AAd?$AAe?$AA?$CC?$AA?0?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 1008be60 LIBCMTD:errmode.obj - 0003:00008ea0 ??_C@_1FA@MJKDNFFB@?$AA?$CI?$AAL?$AA?$CC?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAi?$AAs?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAt?$AAe?$AAd@ 1008bea0 LIBCMTD:wcscat_s.obj - 0003:00008f00 ??_C@_1DM@FHLMIEG@?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAi?$AAs?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAt?$AAe?$AAd?$AA?$AA@ 1008bf00 LIBCMTD:wcscat_s.obj - 0003:00008f48 ??_C@_1BC@PLIEPKPJ@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$AA@ 1008bf48 LIBCMTD:wcscat_s.obj - 0003:00008f60 ??_C@_1GI@NOKGIAGA@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008bf60 LIBCMTD:wcscat_s.obj - 0003:00008fdc ??_C@_1BE@PMMBFFCC@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$AA@ 1008bfdc LIBCMTD:wcsncpy_s.obj - 0003:00008ff8 ??_C@_1GK@PAJJBKJF@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008bff8 LIBCMTD:wcsncpy_s.obj - 0003:00009078 ??_C@_1GA@INJGGEBC@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008c078 LIBCMTD:a_map.obj - 0003:000090f0 ??_C@_1FE@KNPCCODH@?$AA?$CI?$AA?$CC?$AAC?$AAo?$AAr?$AAr?$AAu?$AAp?$AAt?$AAe?$AAd?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?5?$AAp?$AAa?$AAs?$AAs?$AAe?$AAd?$AA?5?$AAt?$AAo?$AA?5?$AA_?$AAf@ 1008c0f0 LIBCMTD:a_map.obj - 0003:00009154 ??_C@_1BE@NDMJHJJG@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$AA@ 1008c154 LIBCMTD:strncpy_s.obj - 0003:00009170 ??_C@_1FC@NCPEPIBI@?$AA?$CI?$AA?$CI?$AA_?$AAD?$AAs?$AAt?$AA?$CJ?$AA?$CJ?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AA?$CI?$AA_?$AAS?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt@ 1008c170 LIBCMTD:strncpy_s.obj - 0003:000091d4 ??_C@_1BA@IIKEPOGH@?$AA_?$AAf?$AAi?$AAl?$AAb?$AAu?$AAf?$AA?$AA@ 1008c1d4 LIBCMTD:_filbuf.obj - 0003:000091e8 ??_C@_1GC@CHFNJKFB@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008c1e8 LIBCMTD:_filbuf.obj - 0003:00009260 ??_C@_1O@JDPLECOK@?$AAu?$AAn?$AAg?$AAe?$AAt?$AAc?$AA?$AA@ 1008c260 LIBCMTD:ungetc.obj - 0003:00009270 ??_C@_1GA@OAFAANFO@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008c270 LIBCMTD:ungetc.obj - 0003:000092e4 ??_C@_1BO@OLMLKKEA@?$AA_?$AAu?$AAn?$AAg?$AAe?$AAt?$AAc?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 1008c2e4 LIBCMTD:ungetc.obj - 0003:00009308 ??_C@_1HC@OEJDDIIH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008c308 LIBCMTD:ungetc.obj - 0003:00009390 ??_C@_1M@MFLJCMFJ@?$AA_?$AAo?$AAp?$AAe?$AAn?$AA?$AA@ 1008c390 LIBCMTD:open.obj - 0003:000093a0 ??_C@_1FM@LFKHNNH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008c3a0 LIBCMTD:open.obj - 0003:00009410 ??_C@_1FG@NFINBJCM@?$AA?$CI?$AA?$CI?$AAp?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$CG?$AA?5?$AA?$CI?$AA?$HO?$AA?$CI?$AA_?$AAS?$AA_?$AAI?$AAR?$AAE?$AAA?$AAD?$AA?5?$AA?$HM?$AA?5?$AA_?$AAS?$AA_?$AAI?$AAW?$AAR?$AAI?$AAT@ 1008c410 LIBCMTD:open.obj - 0003:00009478 ??_C@_1BM@IOBAMMHO@?$AA_?$AAs?$AAo?$AAp?$AAe?$AAn?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 1008c478 LIBCMTD:open.obj - 0003:0000949c ??_C@_1BM@PGEEHLHE@?$AA?$CI?$AAp?$AAf?$AAh?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 1008c49c LIBCMTD:open.obj - 0003:000094c0 ??_C@_1IA@IENOJNJF@?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CC?$AAO?$AAn?$AAl?$AAy?$AA?5?$AAU?$AAT?$AAF?$AA?9?$AA1?$AA6?$AA?5?$AAl?$AAi?$AAt?$AAt?$AAl?$AAe?$AA?5?$AAe?$AAn?$AAd?$AAi?$AAa?$AAn?$AA?5@ 1008c4c0 LIBCMTD:open.obj - 0003:0000955c ??_C@_1CM@IDLMKMPG@?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CC?$AAI?$AAn?$AAt?$AAe?$AAr?$AAn?$AAa?$AAl?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?$CC?$AA?$AA@ 1008c55c LIBCMTD:open.obj - 0003:00009590 ??_C@_1HM@GJANBLHJ@?$AA?$CI?$AAo?$AAf?$AAl?$AAa?$AAg?$AA?5?$AA?$CG?$AA?5?$AA?$CI?$AA_?$AAO?$AA_?$AAT?$AAE?$AAX?$AAT?$AA?5?$AA?$HM?$AA?5?$AA_?$AAO?$AA_?$AAW?$AAT?$AAE?$AAX?$AAT?$AA?5?$AA?$HM?$AA?5?$AA_@ 1008c590 LIBCMTD:open.obj - 0003:00009624 ??_C@_1DO@PJLMOANO@?$AA?$CI?$AA?5?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAs?$AAh?$AAa?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAf?$AAl?$AAa?$AAg?$AA?$CC?$AA?5?$AA?0?$AA?5?$AA0?$AA?5?$AA?$CJ?$AA?$AA@ 1008c624 LIBCMTD:open.obj - 0003:00009670 ??_C@_1DI@DGKIFCCE@?$AA?$CI?$AA?5?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAo?$AAp?$AAe?$AAn?$AA?5?$AAf?$AAl?$AAa?$AAg?$AA?$CC?$AA?5?$AA?0?$AA?5?$AA0?$AA?5?$AA?$CJ?$AA?$AA@ 1008c670 LIBCMTD:open.obj - 0003:000096b4 ??_C@_1CG@ICBEBDJJ@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAf?$AAm?$AAo?$AAd?$AAe?$AA?$CI?$AA?$CG?$AAf?$AAm?$AAo?$AAd?$AAe?$AA?$CJ?$AA?$AA@ 1008c6b4 LIBCMTD:open.obj - 0003:000096e4 ??_C@_1BO@JOPFMPGH@?$AA_?$AAt?$AAs?$AAo?$AAp?$AAe?$AAn?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 1008c6e4 LIBCMTD:open.obj - 0003:00009708 ??_C@_1BG@GBJNMPFA@?$AAs?$AA2?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 1008c708 LIBCMTD:mbsnbicm.obj - 0003:00009724 ??_C@_1BK@GEJONGBG@?$AA_?$AAm?$AAb?$AAs?$AAn?$AAb?$AAi?$AAc?$AAm?$AAp?$AA_?$AAl?$AA?$AA@ 1008c724 LIBCMTD:mbsnbicm.obj - 0003:00009748 ??_C@_1GE@JLFFJINF@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008c748 LIBCMTD:mbsnbicm.obj - 0003:000097c0 ??_C@_1BG@MODEICJK@?$AAs?$AA1?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 1008c7c0 LIBCMTD:mbsnbicm.obj - 0003:000097dc ??_C@_1BI@LPHOHGHI@?$AA_?$AAm?$AAb?$AAs?$AAn?$AAb?$AAc?$AAm?$AAp?$AA_?$AAl?$AA?$AA@ 1008c7dc LIBCMTD:mbsnbcmp.obj - 0003:000097f8 ??_C@_1GE@IIBFGEPN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008c7f8 LIBCMTD:mbsnbcmp.obj - 0003:0000987c ??_C@_1BC@CFJEPFGF@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$AA@ 1008c87c LIBCMTD:strcpy_s.obj - 0003:00009898 ??_C@_1GE@GJCMHHMH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008c898 LIBCMTD:inittime.obj - 0003:00009910 ??_C@_1EE@FDHCFDHN@?$AAp?$AAl?$AAo?$AAc?$AAi?$AA?9?$AA?$DO?$AAl?$AAc?$AA_?$AAt?$AAi?$AAm?$AAe?$AA_?$AAc?$AAu?$AAr?$AAr?$AA?9?$AA?$DO?$AAr?$AAe?$AAf?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5@ 1008c910 LIBCMTD:inittime.obj - 0003:00009964 ??_C@_0DC@KICHHNFK@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 1008c964 LIBCMTD:inittime.obj - 0003:000099a0 ??_C@_1GC@EDJOCBCL@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008c9a0 LIBCMTD:initnum.obj - 0003:00009a18 ??_C@_1DM@IFKAINNE@?$AAp?$AAl?$AAo?$AAc?$AAi?$AA?9?$AA?$DO?$AAl?$AAc?$AAo?$AAn?$AAv?$AA_?$AAn?$AAu?$AAm?$AA_?$AAr?$AAe?$AAf?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 1008ca18 LIBCMTD:initnum.obj - 0003:00009a60 ??_C@_0DB@KKFMDHFI@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 1008ca60 LIBCMTD:initnum.obj - 0003:00009aa0 ??_C@_1GC@IKADOFBJ@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008caa0 LIBCMTD:initmon.obj - 0003:00009b18 ??_C@_1DM@GKAPAMDO@?$AAp?$AAl?$AAo?$AAc?$AAi?$AA?9?$AA?$DO?$AAl?$AAc?$AAo?$AAn?$AAv?$AA_?$AAm?$AAo?$AAn?$AA_?$AAr?$AAe?$AAf?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 1008cb18 LIBCMTD:initmon.obj - 0003:00009b60 ??_C@_0DB@BECNGFDL@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 1008cb60 LIBCMTD:initmon.obj - 0003:00009ba0 ___newctype 1008cba0 LIBCMTD:ctype.obj - 0003:00009ea0 __wctype 1008cea0 LIBCMTD:ctype.obj - 0003:0000a0a8 ___newclmap 1008d0a8 LIBCMTD:ctype.obj - 0003:0000a228 ___newcumap 1008d228 LIBCMTD:ctype.obj - 0003:0000a544 ??_C@_1CG@JEHFHLNG@?$AA_?$AAm?$AAb?$AAs?$AAt?$AAo?$AAw?$AAc?$AAs?$AA_?$AAl?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 1008d544 LIBCMTD:mbstowcs.obj - 0003:0000a578 ??_C@_1GE@LCCDHBMH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008d578 LIBCMTD:mbstowcs.obj - 0003:0000a5f0 ??_C@_1BE@EEKACIGI@?$AAs?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 1008d5f0 LIBCMTD:mbstowcs.obj - 0003:0000a608 ??_C@_1CO@JNPEPJAL@?$AAr?$AAe?$AAt?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAW?$AAo?$AAr?$AAd?$AAs?$AA?$AA@ 1008d608 LIBCMTD:mbstowcs.obj - 0003:0000a640 ??_C@_1CM@LLECFMFH@?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AAS?$AAi?$AAz?$AAe?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAI?$AAN?$AAT?$AA_?$AAM?$AAA?$AAX?$AA?$AA@ 1008d640 LIBCMTD:mbstowcs.obj - 0003:0000a674 ??_C@_1BM@PHENIGHD@?$AA_?$AAm?$AAb?$AAs?$AAt?$AAo?$AAw?$AAc?$AAs?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 1008d674 LIBCMTD:mbstowcs.obj - 0003:0000a698 ??_C@_1JA@JKDFMOPO@?$AA?$CI?$AAp?$AAw?$AAc?$AAs?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAW?$AAo?$AAr?$AAd?$AAs?$AA?5?$AA?$DN?$AA?$DN?$AA?5@ 1008d698 LIBCMTD:mbstowcs.obj - 0003:0000a744 ??_C@_1BC@HGPNAKGC@?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$AA@ 1008d744 LIBCMTD:strcat_s.obj - 0003:0000a760 ??_C@_1EC@FABAOFFO@?$AA?$CI?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?$CJ?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CI?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ@ 1008d760 LIBCMTD:vsnprnc.obj - 0003:0000a7b0 ??_C@_1CE@PCFPEIFI@?$AA_?$AAv?$AAs?$AAn?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 1008d7b0 LIBCMTD:vsnprnc.obj - 0003:0000a7e0 ??_C@_1GE@DPADKNCG@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008d7e0 LIBCMTD:vsnprnc.obj - 0003:0000a858 ??_C@_1EE@OKCKIGFK@?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$DO?$AA?5@ 1008d858 LIBCMTD:vsnprnc.obj - 0003:0000a8ac ??_C@_1BM@BLJALHEF@?$AA_?$AAv?$AAs?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 1008d8ac LIBCMTD:vsnprnc.obj - 0003:0000a8d0 ??_C@_1BO@MLMCMBKN@?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 1008d8d0 LIBCMTD:vsnprnc.obj - 0003:0000a8f4 ??_C@_1BO@MMPELNIM@?$AA_?$AAv?$AAs?$AAn?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 1008d8f4 LIBCMTD:vsnprnc.obj - 0003:0000a918 ??_C@_1CM@HABGDNLJ@?$AAl?$AAe?$AAn?$AAg?$AAt?$AAh?$AA?5?$AA?$DM?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAT?$AAC?$AAh?$AAa?$AAr?$AAs?$AA?$AA@ 1008d918 LIBCMTD:xtoas.obj - 0003:0000a94c ??_C@_1DE@PCJGDBBD@?$AA2?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAr?$AAa?$AAd?$AAi?$AAx?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAr?$AAa?$AAd?$AAi?$AAx?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA3?$AA6?$AA?$AA@ 1008d94c LIBCMTD:xtoas.obj - 0003:0000a990 ??_C@_1FA@MKGGAGEI@?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAT?$AAC?$AAh?$AAa?$AAr?$AAs?$AA?5?$AA?$DO?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?$CI?$AAi?$AAs?$AA_?$AAn?$AAe?$AAg?$AA?5?$AA?$DP@ 1008d990 LIBCMTD:xtoas.obj - 0003:0000a9f0 ??_C@_1CC@JNJFIMGE@?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAT?$AAC?$AAh?$AAa?$AAr?$AAs?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 1008d9f0 LIBCMTD:xtoas.obj - 0003:0000aa18 ??_C@_1O@GIMBNLEI@?$AAx?$AAt?$AAo?$AAa?$AA_?$AAs?$AA?$AA@ 1008da18 LIBCMTD:xtoas.obj - 0003:0000aa28 ??_C@_1FM@MFCBFCGB@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008da28 LIBCMTD:xtoas.obj - 0003:0000aa98 ??_C@_1BI@ICGGMGLK@?$AAb?$AAu?$AAf?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 1008da98 LIBCMTD:xtoas.obj - 0003:0000aab4 ??_C@_1BC@MJJNBNFN@?$AAx?$AA6?$AA4?$AAt?$AAo?$AAa?$AA_?$AAs?$AA?$AA@ 1008dab4 LIBCMTD:xtoas.obj - 0003:0000aacc ??_C@_1CG@LLJCAOHF@?$AA_?$AAw?$AAc?$AAs?$AAt?$AAo?$AAm?$AAb?$AAs?$AA_?$AAl?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 1008dacc LIBCMTD:wcstombs.obj - 0003:0000ab00 ??_C@_1GE@OAENIBOD@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008db00 LIBCMTD:wcstombs.obj - 0003:0000ab78 ??_C@_1BK@OIBENBPM@?$AAp?$AAw?$AAc?$AAs?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 1008db78 LIBCMTD:wcstombs.obj - 0003:0000ab98 ??_C@_1CM@KEOGBFLI@?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$DO?$AA?5?$AAr?$AAe?$AAt?$AAs?$AAi?$AAz?$AAe?$AA?$AA@ 1008db98 LIBCMTD:wcstombs.obj - 0003:0000abcc ??_C@_1BM@BDMCLLDL@?$AA_?$AAw?$AAc?$AAs?$AAt?$AAo?$AAm?$AAb?$AAs?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 1008dbcc LIBCMTD:wcstombs.obj - 0003:0000abf0 ??_C@_1IM@MFGKHGBP@?$AA?$CI?$AAd?$AAs?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$CJ@ 1008dbf0 LIBCMTD:wcstombs.obj - 0003:0000ac98 ??_C@_1CE@IGKFIJFD@?$AA_?$AAv?$AAs?$AAw?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 1008dc98 LIBCMTD:vswprnc.obj - 0003:0000acc8 ??_C@_1GE@KINELFI@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008dcc8 LIBCMTD:vswprnc.obj - 0003:0000ad40 ??_C@_1EE@MPCHJFGP@?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAW?$AAo?$AAr?$AAd?$AAs?$AA?5?$AA?$DO?$AA?5@ 1008dd40 LIBCMTD:vswprnc.obj - 0003:0000ad94 ??_C@_1BO@OALHJLCI@?$AA_?$AAv?$AAs?$AAw?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 1008dd94 LIBCMTD:vswprnc.obj - 0003:0000adb8 ??_C@_1CA@BKFKMJFF@?$AA_?$AAv?$AAs?$AAn?$AAw?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 1008ddb8 LIBCMTD:vswprnc.obj - 0003:0000ade0 ??_C@_1O@NCBFODOE@?$AAx?$AAt?$AAo?$AAw?$AA_?$AAs?$AA?$AA@ 1008dde0 LIBCMTD:xtows.obj - 0003:0000adf0 ??_C@_1BC@HDEJCFPB@?$AAx?$AA6?$AA4?$AAt?$AAo?$AAw?$AA_?$AAs?$AA?$AA@ 1008ddf0 LIBCMTD:xtows.obj - 0003:0000ae08 ??_C@_1BG@BBCDFOMA@?$AA_?$AAw?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAl?$AA?$AA@ 1008de08 LIBCMTD:woutput.obj - 0003:0000ae24 ??_C@_1BK@EPLNBKAK@?$AA_?$AAv?$AAs?$AAw?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAl?$AA?$AA@ 1008de24 LIBCMTD:vswprint.obj - 0003:0000ae44 ??_C@_1CG@IMMIEPNA@?$AA_?$AAv?$AAs?$AAc?$AAw?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 1008de44 LIBCMTD:vswprint.obj - 0003:0000ae74 ??_C@_0BK@CIDNPOGP@GetUserObjectInformationA?$AA@ 1008de74 LIBCMTD:crtmbox.obj - 0003:0000ae94 ??_C@_0M@CHKKJDAI@MessageBoxA?$AA@ 1008de94 LIBCMTD:crtmbox.obj - 0003:0000aea4 ??_C@_1BI@IGILPKD@?$AA_?$AAv?$AAs?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAl?$AA?$AA@ 1008dea4 LIBCMTD:vsprintf.obj - 0003:0000aec0 ??_C@_1CE@HMKDJHB@?$AA_?$AAv?$AAs?$AAc?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 1008dec0 LIBCMTD:vsprintf.obj - 0003:0000aeec ??_C@_07LCBHPJJN@LC_TIME?$AA@ 1008deec LIBCMTD:setlocal.obj - 0003:0000aef8 ??_C@_0L@DLHIECNL@LC_NUMERIC?$AA@ 1008def8 LIBCMTD:setlocal.obj - 0003:0000af08 ??_C@_0M@MIENIKLA@LC_MONETARY?$AA@ 1008df08 LIBCMTD:setlocal.obj - 0003:0000af18 ??_C@_08EADHIDAD@LC_CTYPE?$AA@ 1008df18 LIBCMTD:setlocal.obj - 0003:0000af24 ??_C@_0L@KFJHEKIK@LC_COLLATE?$AA@ 1008df24 LIBCMTD:setlocal.obj - 0003:0000af34 ??_C@_06NEFDFEKB@LC_ALL?$AA@ 1008df34 LIBCMTD:setlocal.obj - 0003:0000af40 ___lc_category 1008df40 LIBCMTD:setlocal.obj - 0003:0000b030 ??_C@_1CI@FGIONOJM@?$AA_?$AAc?$AAo?$AAn?$AAf?$AAi?$AAg?$AAt?$AAh?$AAr?$AAe?$AAa?$AAd?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?$AA@ 1008e030 LIBCMTD:setlocal.obj - 0003:0000b060 ??_C@_1GE@OLEIGPBJ@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008e060 LIBCMTD:setlocal.obj - 0003:0000b0d8 ??_C@_1GA@LDEGDKD@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAp?$AAa?$AAr?$AAa?$AAm?$AAe?$AAt?$AAe?$AAr?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA_?$AAc?$AAo?$AAn?$AAf?$AAi?$AAg?$AAt@ 1008e0d8 LIBCMTD:setlocal.obj - 0003:0000b14c ??_C@_0DC@JCPFNMID@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 1008e14c LIBCMTD:setlocal.obj - 0003:0000b188 ??_C@_1BE@DBJGBOJC@?$AAs?$AAe?$AAt?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?$AA@ 1008e188 LIBCMTD:setlocal.obj - 0003:0000b1a0 ??_C@_1FG@OHLFEKMC@?$AAL?$AAC?$AA_?$AAM?$AAI?$AAN?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA_?$AAc?$AAa?$AAt?$AAe?$AAg?$AAo?$AAr?$AAy?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA_?$AAc?$AAa?$AAt?$AAe?$AAg?$AAo?$AAr?$AAy@ 1008e1a0 LIBCMTD:setlocal.obj - 0003:0000b208 ??_C@_1IA@PFIKKKFB@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAl?$AAc?$AAt?$AAe?$AAm?$AAp?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf?$AA?$CI?$AAl?$AAc?$AAt?$AAe?$AAm?$AAp@ 1008e208 LIBCMTD:setlocal.obj - 0003:0000b2a4 ??_C@_1CE@OFNHIOO@?$AA_?$AAs?$AAe?$AAt?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 1008e2a4 LIBCMTD:setlocal.obj - 0003:0000b2d0 ??_C@_01ICJEACDI@?$DL?$AA@ 1008e2d0 LIBCMTD:setlocal.obj - 0003:0000b2d4 ??_C@_02BALPLPBG@?$DN?$DL?$AA@ 1008e2d4 LIBCMTD:setlocal.obj - 0003:0000b2d8 ??_C@_1GO@JALHLJEH@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAp?$AAc?$AAh?$AA?5?$AA?$CL?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf?$AA?$CI?$AAi?$AAn?$AAt?$AA?$CJ?$AA?0?$AA?5?$AAc?$AAc?$AAh?$AA?5@ 1008e2d8 LIBCMTD:setlocal.obj - 0003:0000b35c ??_C@_1CG@IEFIICPK@?$AA_?$AAs?$AAe?$AAt?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA_?$AAs?$AAe?$AAt?$AA_?$AAc?$AAa?$AAt?$AA?$AA@ 1008e35c LIBCMTD:setlocal.obj - 0003:0000b38c ??_C@_1DA@GDKKLCLM@?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAp?$AAc?$AAh?$AA?0?$AA?5?$AAc?$AAc?$AAh?$AA?0?$AA?5?$AA?$CC?$AA?$DL?$AA?$CC?$AA?$CJ?$AA?$AA@ 1008e38c LIBCMTD:setlocal.obj - 0003:0000b3c8 ??_C@_1CG@NNFIJLDA@?$AA_?$AAs?$AAe?$AAt?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA_?$AAg?$AAe?$AAt?$AA_?$AAa?$AAl?$AAl?$AA?$AA@ 1008e3c8 LIBCMTD:setlocal.obj - 0003:0000b3f8 ??_C@_01NEMOKFLO@?$DN?$AA@ 1008e3f8 LIBCMTD:setlocal.obj - 0003:0000b400 ??_C@_1FA@MHAOOIBO@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?0?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAC?$AAh?$AAa?$AAr?$AAs?$AA?0?$AA?5?$AAc?$AAa@ 1008e400 LIBCMTD:setlocal.obj - 0003:0000b460 ??_C@_1IA@ONNFOEDA@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAc?$AAa?$AAc?$AAh?$AAe?$AAi?$AAn?$AA?0?$AA?5?$AAc?$AAa?$AAc?$AAh?$AAe?$AAi?$AAn?$AAS?$AAi?$AAz?$AAe?$AA?0?$AA?5@ 1008e460 LIBCMTD:setlocal.obj - 0003:0000b4fc ??_C@_01GFHCPBMG@C?$AA@ 1008e4fc LIBCMTD:setlocal.obj - 0003:0000b500 ??_C@_1EG@MOMHKOD@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?0?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAC?$AAh?$AAa?$AAr?$AAs?$AA?0?$AA?5?$AA?$CC?$AAC@ 1008e500 LIBCMTD:setlocal.obj - 0003:0000b554 ??_C@_1BM@OIIBLEFG@?$AA_?$AAe?$AAx?$AAp?$AAa?$AAn?$AAd?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?$AA@ 1008e554 LIBCMTD:setlocal.obj - 0003:0000b578 ??_C@_1BGM@IJDLABMC@?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAs?$AAt?$AAr?$AA?0?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?0?$AA?5?$AA?$CI?$AA?5@ 1008e578 LIBCMTD:setlocal.obj - 0003:0000b72c ??_C@_1BC@PIABMDIP@?$AA_?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AAs?$AA?$AA@ 1008e72c LIBCMTD:setlocal.obj - 0003:0000b748 ??_C@_1MM@NOPMGFHF@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAn?$AAa?$AAm?$AAe?$AAs?$AA?9?$AA?$DO?$AAs?$AAz?$AAC?$AAo?$AAd?$AAe?$AAP?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi@ 1008e748 LIBCMTD:setlocal.obj - 0003:0000b840 ??_C@_1MG@PHNILIAG@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAn?$AAa?$AAm?$AAe?$AAs?$AA?9?$AA?$DO?$AAs?$AAz?$AAC?$AAo?$AAu?$AAn?$AAt?$AAr?$AAy?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi?$AAz@ 1008e840 LIBCMTD:setlocal.obj - 0003:0000b930 ??_C@_1MM@BFEECMAF@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAn?$AAa?$AAm?$AAe?$AAs?$AA?9?$AA?$DO?$AAs?$AAz?$AAL?$AAa?$AAn?$AAg?$AAu?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi@ 1008e930 LIBCMTD:setlocal.obj - 0003:0000ba24 ??_C@_03EGDHDPFD@_?4?0?$AA@ 1008ea24 LIBCMTD:setlocal.obj - 0003:0000ba28 ??_C@_1NG@FMOPGKGG@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAn?$AAa?$AAm?$AAe?$AAs?$AA?9?$AA?$DO?$AAs?$AAz?$AAC?$AAo?$AAd?$AAe?$AAP?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi@ 1008ea28 LIBCMTD:setlocal.obj - 0003:0000bb28 ??_C@_1BK@CBMMLAGJ@?$AA_?$AA_?$AAl?$AAc?$AA_?$AAs?$AAt?$AAr?$AAt?$AAo?$AAl?$AAc?$AA?$AA@ 1008eb28 LIBCMTD:setlocal.obj - 0003:0000bb48 ??_C@_01LFCBOECM@?4?$AA@ 1008eb48 LIBCMTD:setlocal.obj - 0003:0000bb4c ??_C@_01IDAFKMJL@_?$AA@ 1008eb4c LIBCMTD:setlocal.obj - 0003:0000bb50 ??_C@_1HC@IBDBLKCB@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?0?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?0?$AA?5?$AA?$CI?$AAc@ 1008eb50 LIBCMTD:setlocal.obj - 0003:0000bbd8 ??_C@_1BK@FGDJDEPG@?$AA_?$AA_?$AAl?$AAc?$AA_?$AAl?$AAc?$AAt?$AAo?$AAs?$AAt?$AAr?$AA?$AA@ 1008ebd8 LIBCMTD:setlocal.obj - 0003:0000bbf8 ??_C@_1DG@NMBGBDM@?$AAp?$AAl?$AAo?$AAc?$AAi?$AA?9?$AA?$DO?$AAc?$AAt?$AAy?$AAp?$AAe?$AA1?$AA_?$AAr?$AAe?$AAf?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 1008ebf8 LIBCMTD:initctyp.obj - 0003:0000bc38 ??_C@_1GE@OCPKBDKE@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008ec38 LIBCMTD:initctyp.obj - 0003:0000bcb0 ??_C@_0DC@EHLBFILA@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 1008ecb0 LIBCMTD:initctyp.obj - 0003:0000bcf0 ??_C@_1FE@CEHLKAHD@?$AAi?$AAb?$AAa?$AAs?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CI?$AA2?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAi?$AAb?$AAa?$AAs?$AAe?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAi?$AAb?$AAa@ 1008ecf0 LIBCMTD:strtol.obj - 0003:0000bd54 ??_C@_1BA@LOLAMAJG@?$AAs?$AAt?$AAr?$AAt?$AAo?$AAx?$AAl?$AA?$AA@ 1008ed54 LIBCMTD:strtol.obj - 0003:0000bd68 ??_C@_1GA@IPHKKOEI@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008ed68 LIBCMTD:strtol.obj - 0003:0000bddc ??_C@_1BK@LAOAACLJ@?$AAn?$AAp?$AAt?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 1008eddc LIBCMTD:strtol.obj - 0003:0000bdfc ??_C@_1BA@BALFACEM@?$AAC?$AAO?$AAN?$AAO?$AAU?$AAT?$AA$?$AA?$AA@ 1008edfc LIBCMTD:initcon.obj - 0003:0000be10 __pDestructExceptionObject 1008ee10 LIBCMTD:frame.obj - 0003:0000be14 ??_C@_0O@DPKOEFFH@bad?5exception?$AA@ 1008ee14 LIBCMTD:frame.obj - 0003:0000be28 ??_7bad_exception@std@@6B@ 1008ee28 LIBCMTD:frame.obj - 0003:0000be34 ??_C@_1CC@HBLPFNKH@?$AA?$CI?$AAc?$AAn?$AAt?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAI?$AAN?$AAT?$AA_?$AAM?$AAA?$AAX?$AA?$CJ?$AA?$AA@ 1008ee34 LIBCMTD:read.obj - 0003:0000be5c ??_C@_1M@NHJOLLDM@?$AA_?$AAr?$AAe?$AAa?$AAd?$AA?$AA@ 1008ee5c LIBCMTD:read.obj - 0003:0000be70 ??_C@_1FM@NGICBHLO@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008ee70 LIBCMTD:read.obj - 0003:0000bee0 ??_C@_0CO@CEGKNHEH@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 1008eee0 LIBCMTD:read.obj - 0003:0000bf18 ??_C@_1CG@OHLJHGGK@?$AA?$CI?$AAi?$AAn?$AAp?$AAu?$AAt?$AAb?$AAu?$AAf?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 1008ef18 LIBCMTD:read.obj - 0003:0000bf48 ??_C@_1BK@JJBHNDKJ@?$AA_?$AAr?$AAe?$AAa?$AAd?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 1008ef48 LIBCMTD:read.obj - 0003:0000bf68 ??_C@_1BI@GALBKMKE@?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 1008ef68 LIBCMTD:chsize.obj - 0003:0000bf84 ??_C@_1BE@MAFDNGED@?$AA_?$AAc?$AAh?$AAs?$AAi?$AAz?$AAe?$AA_?$AAs?$AA?$AA@ 1008ef84 LIBCMTD:chsize.obj - 0003:0000bfa0 ??_C@_1GA@DBKMEDOF@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008efa0 LIBCMTD:chsize.obj - 0003:0000c014 ??_C@_1O@EDOIKGHF@?$AA_?$AAl?$AAs?$AAe?$AAe?$AAk?$AA?$AA@ 1008f014 LIBCMTD:lseek.obj - 0003:0000c028 ??_C@_1FO@LGKMLCAL@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008f028 LIBCMTD:lseek.obj - 0003:0000c098 ??_C@_1DM@LMLOLGJ@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAd?$AAe?$AAs?$AAc?$AAr?$AAi?$AAp?$AAt?$AAo?$AAr?$AA?$CC?$AA?0?$AA0?$AA?$CJ?$AA?$AA@ 1008f098 LIBCMTD:lseek.obj - 0003:0000c0e0 ??_C@_1BC@JBGGJDCM@?$AA_?$AAs?$AAe?$AAt?$AAm?$AAo?$AAd?$AAe?$AA?$AA@ 1008f0e0 LIBCMTD:setmode.obj - 0003:0000c0f8 ??_C@_1GC@KODPFLLJ@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008f0f8 LIBCMTD:setmode.obj - 0003:0000c170 ??_C@_1OA@HGPJIFPM@?$AA?$CI?$AA?$CI?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAO?$AA_?$AAT?$AAE?$AAX?$AAT?$AA?$CJ?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CI?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_@ 1008f170 LIBCMTD:setmode.obj - 0003:0000c27c ??_C@_1BG@IEEHLOCL@?$AA_?$AAs?$AAe?$AAt?$AA_?$AAf?$AAm?$AAo?$AAd?$AAe?$AA?$AA@ 1008f27c LIBCMTD:setmode.obj - 0003:0000c298 ??_C@_1IC@NDCJMLB@?$AA?$CI?$AA?$CI?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAO?$AA_?$AAT?$AAE?$AAX?$AAT?$AA?$CJ?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CI?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_@ 1008f298 LIBCMTD:setmode.obj - 0003:0000c334 ??_C@_1BG@CKGMPOFH@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAf?$AAm?$AAo?$AAd?$AAe?$AA?$AA@ 1008f334 LIBCMTD:setmode.obj - 0003:0000c350 ??_C@_1CA@GPIGPPFN@?$AA?$CI?$AAp?$AAM?$AAo?$AAd?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 1008f350 LIBCMTD:setmode.obj - 0003:0000c378 ??_C@_1CC@JLPHKJPH@?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAI?$AAN?$AAT?$AA_?$AAM?$AAA?$AAX?$AA?$AA@ 1008f378 LIBCMTD:strnicmp.obj - 0003:0000c3a0 ??_C@_1BI@BJLEPLEF@?$AA_?$AAs?$AAt?$AAr?$AAn?$AAi?$AAc?$AAm?$AAp?$AA_?$AAl?$AA?$AA@ 1008f3a0 LIBCMTD:strnicmp.obj - 0003:0000c3c0 ??_C@_1GE@CONPOJMA@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008f3c0 LIBCMTD:strnicmp.obj - 0003:0000c438 ??_C@_1BE@BHJDFFNA@?$AA_?$AAs?$AAt?$AAr?$AAn?$AAi?$AAc?$AAm?$AAp?$AA?$AA@ 1008f438 LIBCMTD:strnicmp.obj - 0003:0000c450 ??_C@_1BK@ONMFGLDB@?$AA_?$AAw?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 1008f450 LIBCMTD:woutputs.obj - 0003:0000c470 ??_C@_1BK@GDEKGMNC@?$AA_?$AAw?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AA_?$AAl?$AA?$AA@ 1008f470 LIBCMTD:woutputp.obj - 0003:0000c490 ??_C@_1O@HJNPHHHB@?$AAf?$AAp?$AAu?$AAt?$AAw?$AAc?$AA?$AA@ 1008f490 LIBCMTD:fputwc.obj - 0003:0000c4a0 ??_C@_1GA@BJIGKGEA@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008f4a0 LIBCMTD:fputwc.obj - 0003:0000c514 ??_C@_0O@FMJNFNKE@united?9states?$AA@ 1008f514 LIBCMTD:getqloc.obj - 0003:0000c524 ??_C@_0P@NDHFFKCA@united?9kingdom?$AA@ 1008f524 LIBCMTD:getqloc.obj - 0003:0000c538 ??_C@_0BC@HHDADLGF@trinidad?5?$CG?5tobago?$AA@ 1008f538 LIBCMTD:getqloc.obj - 0003:0000c550 ??_C@_0M@IOAEBDAC@south?9korea?$AA@ 1008f550 LIBCMTD:getqloc.obj - 0003:0000c560 ??_C@_0N@FIELFKIJ@south?9africa?$AA@ 1008f560 LIBCMTD:getqloc.obj - 0003:0000c570 ??_C@_0M@OPNDHCMC@south?5korea?$AA@ 1008f570 LIBCMTD:getqloc.obj - 0003:0000c580 ??_C@_0N@MDEOEPFI@south?5africa?$AA@ 1008f580 LIBCMTD:getqloc.obj - 0003:0000c590 ??_C@_06FKAPCJLB@slovak?$AA@ 1008f590 LIBCMTD:getqloc.obj - 0003:0000c598 ??_C@_0M@EFJANOAL@puerto?9rico?$AA@ 1008f598 LIBCMTD:getqloc.obj - 0003:0000c5a8 ??_C@_08PGOJKDAI@pr?9china?$AA@ 1008f5a8 LIBCMTD:getqloc.obj - 0003:0000c5b4 ??_C@_08JHDOMCMI@pr?5china?$AA@ 1008f5b4 LIBCMTD:getqloc.obj - 0003:0000c5c0 ??_C@_02JHCHFBLL@nz?$AA@ 1008f5c0 LIBCMTD:getqloc.obj - 0003:0000c5c4 ??_C@_0M@LINHDHKP@new?9zealand?$AA@ 1008f5c4 LIBCMTD:getqloc.obj - 0003:0000c5d4 ??_C@_09IIIPPBDB@hong?9kong?$AA@ 1008f5d4 LIBCMTD:getqloc.obj - 0003:0000c5e0 ??_C@_07HJLCKBG@holland?$AA@ 1008f5e0 LIBCMTD:getqloc.obj - 0003:0000c5ec ??_C@_0O@LEHGMHAG@great?5britain?$AA@ 1008f5ec LIBCMTD:getqloc.obj - 0003:0000c5fc ??_C@_07FACOMELA@england?$AA@ 1008f5fc LIBCMTD:getqloc.obj - 0003:0000c608 ??_C@_05JIHCEICB@czech?$AA@ 1008f608 LIBCMTD:getqloc.obj - 0003:0000c610 ??_C@_05BBJOBLGB@china?$AA@ 1008f610 LIBCMTD:getqloc.obj - 0003:0000c618 ??_C@_07GPKPHICP@britain?$AA@ 1008f618 LIBCMTD:getqloc.obj - 0003:0000c624 ??_C@_07MHIPBHMG@america?$AA@ 1008f624 LIBCMTD:getqloc.obj - 0003:0000c630 ??_C@_03KIALPMKC@usa?$AA@ 1008f630 LIBCMTD:getqloc.obj - 0003:0000c634 ??_C@_02FGJGKGGD@us?$AA@ 1008f634 LIBCMTD:getqloc.obj - 0003:0000c638 ??_C@_02NEINDODK@uk?$AA@ 1008f638 LIBCMTD:getqloc.obj - 0003:0000c63c ??_C@_05JMPCFJFJ@swiss?$AA@ 1008f63c LIBCMTD:getqloc.obj - 0003:0000c644 ??_C@_0BA@HLOCPIOD@swedish?9finland?$AA@ 1008f644 LIBCMTD:getqloc.obj - 0003:0000c658 ??_C@_0BC@PKCNIABK@spanish?9venezuela?$AA@ 1008f658 LIBCMTD:getqloc.obj - 0003:0000c670 ??_C@_0BA@GBHHMIJI@spanish?9uruguay?$AA@ 1008f670 LIBCMTD:getqloc.obj - 0003:0000c684 ??_C@_0BE@BHDOHPMC@spanish?9puerto?5rico?$AA@ 1008f684 LIBCMTD:getqloc.obj - 0003:0000c69c ??_C@_0N@KMOIDGGN@spanish?9peru?$AA@ 1008f69c LIBCMTD:getqloc.obj - 0003:0000c6ac ??_C@_0BB@HMHLPGPH@spanish?9paraguay?$AA@ 1008f6ac LIBCMTD:getqloc.obj - 0003:0000c6c0 ??_C@_0P@MCPKNGFD@spanish?9panama?$AA@ 1008f6c0 LIBCMTD:getqloc.obj - 0003:0000c6d4 ??_C@_0BC@IHOHGAIL@spanish?9nicaragua?$AA@ 1008f6d4 LIBCMTD:getqloc.obj - 0003:0000c6ec ??_C@_0P@KLMJDNFJ@spanish?9modern?$AA@ 1008f6ec LIBCMTD:getqloc.obj - 0003:0000c700 ??_C@_0BA@BPAPGBCM@spanish?9mexican?$AA@ 1008f700 LIBCMTD:getqloc.obj - 0003:0000c714 ??_C@_0BB@PDECHHHE@spanish?9honduras?$AA@ 1008f714 LIBCMTD:getqloc.obj - 0003:0000c728 ??_C@_0BC@KLHKFGDB@spanish?9guatemala?$AA@ 1008f728 LIBCMTD:getqloc.obj - 0003:0000c740 ??_C@_0BE@MFOOKJAI@spanish?9el?5salvador?$AA@ 1008f740 LIBCMTD:getqloc.obj - 0003:0000c758 ??_C@_0BA@FCOKFPFC@spanish?9ecuador?$AA@ 1008f758 LIBCMTD:getqloc.obj - 0003:0000c76c ??_C@_0BL@PLMGIMOO@spanish?9dominican?5republic?$AA@ 1008f76c LIBCMTD:getqloc.obj - 0003:0000c78c ??_C@_0BD@HLGDNMHB@spanish?9costa?5rica?$AA@ 1008f78c LIBCMTD:getqloc.obj - 0003:0000c7a4 ??_C@_0BB@PKCBKCPE@spanish?9colombia?$AA@ 1008f7a4 LIBCMTD:getqloc.obj - 0003:0000c7b8 ??_C@_0O@MCBIJGNE@spanish?9chile?$AA@ 1008f7b8 LIBCMTD:getqloc.obj - 0003:0000c7c8 ??_C@_0BA@BEFEIGJJ@spanish?9bolivia?$AA@ 1008f7c8 LIBCMTD:getqloc.obj - 0003:0000c7dc ??_C@_0BC@EMECMPD@spanish?9argentina?$AA@ 1008f7dc LIBCMTD:getqloc.obj - 0003:0000c7f4 ??_C@_0BF@EALFLENP@portuguese?9brazilian?$AA@ 1008f7f4 LIBCMTD:getqloc.obj - 0003:0000c810 ??_C@_0BC@HBLEBLNN@norwegian?9nynorsk?$AA@ 1008f810 LIBCMTD:getqloc.obj - 0003:0000c828 ??_C@_0BB@HMACDDCK@norwegian?9bokmal?$AA@ 1008f828 LIBCMTD:getqloc.obj - 0003:0000c83c ??_C@_09BAFFPPHE@norwegian?$AA@ 1008f83c LIBCMTD:getqloc.obj - 0003:0000c848 ??_C@_0O@EAJFJDFG@italian?9swiss?$AA@ 1008f848 LIBCMTD:getqloc.obj - 0003:0000c858 ??_C@_0O@CNOMPGD@irish?9english?$AA@ 1008f858 LIBCMTD:getqloc.obj - 0003:0000c868 ??_C@_0N@EDHBGCKG@german?9swiss?$AA@ 1008f868 LIBCMTD:getqloc.obj - 0003:0000c878 ??_C@_0BC@JACMHNBP@german?9luxembourg?$AA@ 1008f878 LIBCMTD:getqloc.obj - 0003:0000c890 ??_C@_0BE@HBGMGFEG@german?9lichtenstein?$AA@ 1008f890 LIBCMTD:getqloc.obj - 0003:0000c8a8 ??_C@_0BA@HKKBIBKL@german?9austrian?$AA@ 1008f8a8 LIBCMTD:getqloc.obj - 0003:0000c8bc ??_C@_0N@GCAEPEBK@french?9swiss?$AA@ 1008f8bc LIBCMTD:getqloc.obj - 0003:0000c8cc ??_C@_0BC@DJFJJCK@french?9luxembourg?$AA@ 1008f8cc LIBCMTD:getqloc.obj - 0003:0000c8e4 ??_C@_0BA@NNCEDFIC@french?9canadian?$AA@ 1008f8e4 LIBCMTD:getqloc.obj - 0003:0000c8f8 ??_C@_0P@CMPOCLM@french?9belgian?$AA@ 1008f8f8 LIBCMTD:getqloc.obj - 0003:0000c90c ??_C@_0M@GHHDJOK@english?9usa?$AA@ 1008f90c LIBCMTD:getqloc.obj - 0003:0000c91c ??_C@_0L@PLDJKEIL@english?9us?$AA@ 1008f91c LIBCMTD:getqloc.obj - 0003:0000c92c ??_C@_0L@HJCCDMNC@english?9uk?$AA@ 1008f92c LIBCMTD:getqloc.obj - 0003:0000c93c ??_C@_0BK@CKLIAGJB@english?9trinidad?5y?5tobago?$AA@ 1008f93c LIBCMTD:getqloc.obj - 0003:0000c95c ??_C@_0BF@JMJMGNNF@english?9south?5africa?$AA@ 1008f95c LIBCMTD:getqloc.obj - 0003:0000c978 ??_C@_0L@DKIIFDFD@english?9nz?$AA@ 1008f978 LIBCMTD:getqloc.obj - 0003:0000c988 ??_C@_0BA@ONHGJCLH@english?9jamaica?$AA@ 1008f988 LIBCMTD:getqloc.obj - 0003:0000c99c ??_C@_0M@HJBGHOPO@english?9ire?$AA@ 1008f99c LIBCMTD:getqloc.obj - 0003:0000c9ac ??_C@_0BC@LFEKMIFB@english?9caribbean?$AA@ 1008f9ac LIBCMTD:getqloc.obj - 0003:0000c9c4 ??_C@_0M@OLDPFKHI@english?9can?$AA@ 1008f9c4 LIBCMTD:getqloc.obj - 0003:0000c9d4 ??_C@_0P@OMDEHBMP@english?9belize?$AA@ 1008f9d4 LIBCMTD:getqloc.obj - 0003:0000c9e8 ??_C@_0M@KFHFPFED@english?9aus?$AA@ 1008f9e8 LIBCMTD:getqloc.obj - 0003:0000c9f8 ??_C@_0BB@MNMBKDFE@english?9american?$AA@ 1008f9f8 LIBCMTD:getqloc.obj - 0003:0000ca0c ??_C@_0O@KIDLNNBA@dutch?9belgian?$AA@ 1008fa0c LIBCMTD:getqloc.obj - 0003:0000ca1c ??_C@_0BE@JBKABBMH@chinese?9traditional?$AA@ 1008fa1c LIBCMTD:getqloc.obj - 0003:0000ca34 ??_C@_0BC@MJJMPKCG@chinese?9singapore?$AA@ 1008fa34 LIBCMTD:getqloc.obj - 0003:0000ca4c ??_C@_0BD@FDKADDCP@chinese?9simplified?$AA@ 1008fa4c LIBCMTD:getqloc.obj - 0003:0000ca64 ??_C@_0BB@DBEFDDME@chinese?9hongkong?$AA@ 1008fa64 LIBCMTD:getqloc.obj - 0003:0000ca78 ??_C@_07DHNMFMCI@chinese?$AA@ 1008fa78 LIBCMTD:getqloc.obj - 0003:0000ca84 ??_C@_03FNDDCHI@chi?$AA@ 1008fa84 LIBCMTD:getqloc.obj - 0003:0000ca88 ??_C@_03BMMIADDJ@chh?$AA@ 1008fa88 LIBCMTD:getqloc.obj - 0003:0000ca8c ??_C@_08OAIPJDGI@canadian?$AA@ 1008fa8c LIBCMTD:getqloc.obj - 0003:0000ca98 ??_C@_07HBPMNPNJ@belgian?$AA@ 1008fa98 LIBCMTD:getqloc.obj - 0003:0000caa4 ??_C@_0L@OEKOPBEL@australian?$AA@ 1008faa4 LIBCMTD:getqloc.obj - 0003:0000cab4 ??_C@_0BB@MEIMBEDG@american?9english?$AA@ 1008fab4 LIBCMTD:getqloc.obj - 0003:0000cac8 ??_C@_0BB@DFMDPDGB@american?5english?$AA@ 1008fac8 LIBCMTD:getqloc.obj - 0003:0000cadc ??_C@_08IJLOKOLL@american?$AA@ 1008fadc LIBCMTD:getqloc.obj - 0003:0000cae8 ___rg_language 1008fae8 LIBCMTD:getqloc.obj - 0003:0000cd58 ___rg_country 1008fd58 LIBCMTD:getqloc.obj - 0003:0000ce34 ___rglangidNotDefault 1008fe34 LIBCMTD:getqloc.obj - 0003:0000ce4c ??_C@_0BC@NFIEMBLL@Norwegian?9Nynorsk?$AA@ 1008fe4c LIBCMTD:getqloc.obj - 0003:0000ce68 ??_C@_1OM@OECHDGCF@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAl?$AAp?$AAO?$AAu?$AAt?$AAS?$AAt?$AAr?$AA?9?$AA?$DO?$AAs?$AAz?$AAL?$AAa?$AAn?$AAg?$AAu?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA?$CI@ 1008fe68 LIBCMTD:getqloc.obj - 0003:0000cf84 ??_C@_1CO@NJACLALJ@?$AA_?$AA_?$AAg?$AAe?$AAt?$AA_?$AAq?$AAu?$AAa?$AAl?$AAi?$AAf?$AAi?$AAe?$AAd?$AA_?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?$AA@ 1008ff84 LIBCMTD:getqloc.obj - 0003:0000cfc0 ??_C@_1GC@FECJGAE@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 1008ffc0 LIBCMTD:getqloc.obj - 0003:0000d038 ??_C@_03NFKLAGEF@OCP?$AA@ 10090038 LIBCMTD:getqloc.obj - 0003:0000d03c ??_C@_03DFHEHBHG@ACP?$AA@ 1009003c LIBCMTD:getqloc.obj - 0003:0000d06c ??_7type_info@@6B@ 1009006c LIBCMTD:typinfo.obj - 0003:0000d078 ??_7exception@std@@6B@ 10090078 LIBCMTD:stdexcpt.obj - 0003:0000d084 ??_C@_0BC@EOODALEL@Unknown?5exception?$AA@ 10090084 LIBCMTD:stdexcpt.obj - 0003:0000d0a0 ??_7bad_cast@std@@6B@ 100900a0 LIBCMTD:stdexcpt.obj - 0003:0000d0b0 ??_7bad_typeid@std@@6B@ 100900b0 LIBCMTD:stdexcpt.obj - 0003:0000d0c0 ??_7__non_rtti_object@std@@6B@ 100900c0 LIBCMTD:stdexcpt.obj - 0003:0000d0d0 ??_C@_1GE@BDAODJCD@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100900d0 LIBCMTD:dbgdel.obj - 0003:0000d148 ??_C@_1BA@PCFLFGNC@?$AAw?$AAc?$AAs?$AAt?$AAo?$AAx?$AAl?$AA?$AA@ 10090148 LIBCMTD:wcstol.obj - 0003:0000d160 ??_C@_1GA@CADFOND@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 10090160 LIBCMTD:wcstol.obj - 0003:0000d1d4 ??_C@_1BG@GLLONOEH@?$AA_?$AAs?$AAt?$AAr?$AAi?$AAc?$AAm?$AAp?$AA_?$AAl?$AA?$AA@ 100901d4 LIBCMTD:stricmp.obj - 0003:0000d1f0 ??_C@_1GC@OILHAOLL@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100901f0 LIBCMTD:stricmp.obj - 0003:0000d268 ??_C@_1BC@JLGKKIIG@?$AA_?$AAs?$AAt?$AAr?$AAi?$AAc?$AAm?$AAp?$AA?$AA@ 10090268 LIBCMTD:stricmp.obj - 0003:0000d280 ??_C@_1HG@KNCBMCDD@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 10090280 LIBCMTD:typname.obj - 0003:0000d310 ??_C@_1CK@GELGGBDK@?$AAp?$AAN?$AAo?$AAd?$AAe?$AA?9?$AA?$DO?$AA_?$AAN?$AAe?$AAx?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 10090310 LIBCMTD:typname.obj - 0003:0000d348 ??_C@_1JK@NAFNEPGC@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?5?$AA?$CI?$AA?$CI?$AAc?$AAh?$AAa?$AAr?$AA?5?$AA?$CK?$AA?$CJ?$AA?$CI?$AA?$CI?$AAt?$AAy?$AAp?$AAe?$AA_?$AAi?$AAn?$AAf?$AAo?$AA?5?$AA?$CK?$AA?$CJ@ 10090348 LIBCMTD:typname.obj - 0003:0000d400 ??_C@_1CM@OOICDMK@?$AAt?$AAy?$AAp?$AAe?$AA_?$AAi?$AAn?$AAf?$AAo?$AA?3?$AA?3?$AA_?$AAN?$AAa?$AAm?$AAe?$AA_?$AAb?$AAa?$AAs?$AAe?$AA?$AA@ 10090400 LIBCMTD:typname.obj - 0003:0000d438 ??_C@_1GI@EAJKJPED@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?5?$AA?$CI?$AAp?$AAT?$AAm?$AAp?$AAT?$AAy?$AAp?$AAe?$AAN?$AAa?$AAm?$AAe?$AA?0?$AA?5?$AAl?$AAe?$AAn?$AA?$CL?$AA2?$AA?0?$AA?5?$AA?$CI@ 10090438 LIBCMTD:typname.obj - 0003:0000d4b4 ??_C@_1DO@OJJLFJPE@?$AAt?$AAy?$AAp?$AAe?$AA_?$AAi?$AAn?$AAf?$AAo?$AA?3?$AA?3?$AA_?$AAN?$AAa?$AAm?$AAe?$AA_?$AAb?$AAa?$AAs?$AAe?$AA_?$AAi?$AAn?$AAt?$AAe?$AAr?$AAn?$AAa?$AAl?$AA?$AA@ 100904b4 LIBCMTD:typname.obj - 0003:0000d500 ??_C@_1BA@BMMDEPNE@?$AAs?$AAt?$AAr?$AAt?$AAo?$AAx?$AAq?$AA?$AA@ 10090500 LIBCMTD:strtoq.obj - 0003:0000d518 ??_C@_1GA@GIMEIKLC@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 10090518 LIBCMTD:strtoq.obj - 0003:0000d58c ??_C@_0BK@CFCOFLF@?5Complete?5Object?5Locator?8?$AA@ 1009058c LIBCMTD:undname.obj - 0003:0000d5ac ??_C@_0BN@MECKDCOJ@?5Class?5Hierarchy?5Descriptor?8?$AA@ 100905ac LIBCMTD:undname.obj - 0003:0000d5d0 ??_C@_0BD@LGICGFMM@?5Base?5Class?5Array?8?$AA@ 100905d0 LIBCMTD:undname.obj - 0003:0000d5e8 ??_C@_0BM@LDKODKLH@?5Base?5Class?5Descriptor?5at?5?$CI?$AA@ 100905e8 LIBCMTD:undname.obj - 0003:0000d60c ??_C@_0BC@DAFEJGAK@?5Type?5Descriptor?8?$AA@ 1009060c LIBCMTD:undname.obj - 0003:0000d624 ??_C@_0BM@PMGGMLDN@?$GAlocal?5static?5thread?5guard?8?$AA@ 10090624 LIBCMTD:undname.obj - 0003:0000d648 ??_C@_0CL@FGIJHLCE@?$GAmanaged?5vector?5copy?5constructor@ 10090648 LIBCMTD:undname.obj - 0003:0000d67c ??_C@_0CJ@GJELGAMM@?$GAvector?5vbase?5copy?5constructor?5i@ 1009067c LIBCMTD:undname.obj - 0003:0000d6b0 ??_C@_0CD@CGAJBKEJ@?$GAvector?5copy?5constructor?5iterato@ 100906b0 LIBCMTD:undname.obj - 0003:0000d6dc ??_C@_0CB@PDBIFEP@?$GAdynamic?5atexit?5destructor?5for?5?8@ 100906dc LIBCMTD:undname.obj - 0003:0000d704 ??_C@_0BL@CLIPGLGB@?$GAdynamic?5initializer?5for?5?8?$AA@ 10090704 LIBCMTD:undname.obj - 0003:0000d724 ??_C@_0CM@FCBBDIGB@?$GAeh?5vector?5vbase?5copy?5constructo@ 10090724 LIBCMTD:undname.obj - 0003:0000d758 ??_C@_0CG@HLDDJMAG@?$GAeh?5vector?5copy?5constructor?5iter@ 10090758 LIBCMTD:undname.obj - 0003:0000d788 ??_C@_0CF@IMGKMJNO@?$GAmanaged?5vector?5destructor?5itera@ 10090788 LIBCMTD:undname.obj - 0003:0000d7b4 ??_C@_0CG@CFDHKGGD@?$GAmanaged?5vector?5constructor?5iter@ 100907b4 LIBCMTD:undname.obj - 0003:0000d7e4 ??_C@_0BN@CKNJLHMB@?$GAplacement?5delete?$FL?$FN?5closure?8?$AA@ 100907e4 LIBCMTD:undname.obj - 0003:0000d808 ??_C@_0BL@CNOONJFP@?$GAplacement?5delete?5closure?8?$AA@ 10090808 LIBCMTD:undname.obj - 0003:0000d828 ??_C@_0P@HJKNJFNN@?$GAomni?5callsig?8?$AA@ 10090828 LIBCMTD:undname.obj - 0003:0000d83c ??_C@_09LBNFPBCA@?5delete?$FL?$FN?$AA@ 1009083c LIBCMTD:undname.obj - 0003:0000d848 ??_C@_06FHBGPFGH@?5new?$FL?$FN?$AA@ 10090848 LIBCMTD:undname.obj - 0003:0000d850 ??_C@_0CE@IIHCMGGL@?$GAlocal?5vftable?5constructor?5closu@ 10090850 LIBCMTD:undname.obj - 0003:0000d87c ??_C@_0BA@KKLDJDLB@?$GAlocal?5vftable?8?$AA@ 1009087c LIBCMTD:undname.obj - 0003:0000d890 ??_C@_05KHLCHHI@?$GARTTI?$AA@ 10090890 LIBCMTD:undname.obj - 0003:0000d898 ??_C@_03KLGMFNMG@?$GAEH?$AA@ 10090898 LIBCMTD:undname.obj - 0003:0000d89c ??_C@_0BA@KBCDOMBN@?$GAudt?5returning?8?$AA@ 1009089c LIBCMTD:undname.obj - 0003:0000d8b0 ??_C@_0BL@LLKPOHJI@?$GAcopy?5constructor?5closure?8?$AA@ 100908b0 LIBCMTD:undname.obj - 0003:0000d8d0 ??_C@_0CH@OOJPLCPH@?$GAeh?5vector?5vbase?5constructor?5ite@ 100908d0 LIBCMTD:undname.obj - 0003:0000d900 ??_C@_0CA@GCEOPDGL@?$GAeh?5vector?5destructor?5iterator?8?$AA@ 10090900 LIBCMTD:undname.obj - 0003:0000d928 ??_C@_0CB@JONCMFFK@?$GAeh?5vector?5constructor?5iterator?8@ 10090928 LIBCMTD:undname.obj - 0003:0000d950 ??_C@_0BL@NILFHHPC@?$GAvirtual?5displacement?5map?8?$AA@ 10090950 LIBCMTD:undname.obj - 0003:0000d970 ??_C@_0CE@IKBNEHA@?$GAvector?5vbase?5constructor?5iterat@ 10090970 LIBCMTD:undname.obj - 0003:0000d99c ??_C@_0BN@LFPFMEDL@?$GAvector?5destructor?5iterator?8?$AA@ 1009099c LIBCMTD:undname.obj - 0003:0000d9c0 ??_C@_0BO@PFGOCPJJ@?$GAvector?5constructor?5iterator?8?$AA@ 100909c0 LIBCMTD:undname.obj - 0003:0000d9e4 ??_C@_0BN@IMDCHIKM@?$GAscalar?5deleting?5destructor?8?$AA@ 100909e4 LIBCMTD:undname.obj - 0003:0000da08 ??_C@_0BO@OBMKPJIG@?$GAdefault?5constructor?5closure?8?$AA@ 10090a08 LIBCMTD:undname.obj - 0003:0000da2c ??_C@_0BN@DEGPLNFK@?$GAvector?5deleting?5destructor?8?$AA@ 10090a2c LIBCMTD:undname.obj - 0003:0000da50 ??_C@_0BD@JDLKDPAB@?$GAvbase?5destructor?8?$AA@ 10090a50 LIBCMTD:undname.obj - 0003:0000da68 ??_C@_08OBABFOLI@?$GAstring?8?$AA@ 10090a68 LIBCMTD:undname.obj - 0003:0000da74 ??_C@_0BF@KDPPACIK@?$GAlocal?5static?5guard?8?$AA@ 10090a74 LIBCMTD:undname.obj - 0003:0000da90 ??_C@_08LLFFHHDJ@?$GAtypeof?8?$AA@ 10090a90 LIBCMTD:undname.obj - 0003:0000da9c ??_C@_07FEEIOKP@?$GAvcall?8?$AA@ 10090a9c LIBCMTD:undname.obj - 0003:0000daa8 ??_C@_09BLBHBJP@?$GAvbtable?8?$AA@ 10090aa8 LIBCMTD:undname.obj - 0003:0000dab4 ??_C@_09IFPLHPGF@?$GAvftable?8?$AA@ 10090ab4 LIBCMTD:undname.obj - 0003:0000dac0 ??_C@_02MHEGNOJ@?$FO?$DN?$AA@ 10090ac0 LIBCMTD:undname.obj - 0003:0000dac4 ??_C@_02DHLNPPGH@?$HM?$DN?$AA@ 10090ac4 LIBCMTD:undname.obj - 0003:0000dac8 ??_C@_02FGJGFEAB@?$CG?$DN?$AA@ 10090ac8 LIBCMTD:undname.obj - 0003:0000dacc ??_C@_03CDNPDDLA@?$DM?$DM?$DN?$AA@ 10090acc LIBCMTD:undname.obj - 0003:0000dad0 ??_C@_03IKFCCPFF@?$DO?$DO?$DN?$AA@ 10090ad0 LIBCMTD:undname.obj - 0003:0000dad4 ??_C@_02FENAOKFI@?$CF?$DN?$AA@ 10090ad4 LIBCMTD:undname.obj - 0003:0000dad8 ??_C@_02FJEHGPIO@?1?$DN?$AA@ 10090ad8 LIBCMTD:undname.obj - 0003:0000dadc ??_C@_02FKMDLLOA@?9?$DN?$AA@ 10090adc LIBCMTD:undname.obj - 0003:0000dae0 ??_C@_02FOEOMHFC@?$CL?$DN?$AA@ 10090ae0 LIBCMTD:undname.obj - 0003:0000dae4 ??_C@_02FPIMKNGF@?$CK?$DN?$AA@ 10090ae4 LIBCMTD:undname.obj - 0003:0000dae8 ??_C@_02NONPIBCD@?$HM?$HM?$AA@ 10090ae8 LIBCMTD:undname.obj - 0003:0000daec ??_C@_02PPKAJPJL@?$CG?$CG?$AA@ 10090aec LIBCMTD:undname.obj - 0003:0000daf0 ??_C@_01DNKMNLPK@?$HM?$AA@ 10090af0 LIBCMTD:undname.obj - 0003:0000daf4 ??_C@_01JKBOJNNK@?$FO?$AA@ 10090af4 LIBCMTD:undname.obj - 0003:0000daf8 ??_C@_01PJKLJHI@?$HO?$AA@ 10090af8 LIBCMTD:undname.obj - 0003:0000dafc ??_C@_02HCKGKOFO@?$CI?$CJ?$AA@ 10090afc LIBCMTD:undname.obj - 0003:0000db00 ??_C@_01IHBHIGKO@?0?$AA@ 10090b00 LIBCMTD:undname.obj - 0003:0000db04 ??_C@_02EEKDKGMJ@?$DO?$DN?$AA@ 10090b04 LIBCMTD:undname.obj - 0003:0000db08 ??_C@_01PPODPGHN@?$DO?$AA@ 10090b08 LIBCMTD:undname.obj - 0003:0000db0c ??_C@_02EHCHHCKH@?$DM?$DN?$AA@ 10090b0c LIBCMTD:undname.obj - 0003:0000db10 ??_C@_01MNNFJEPP@?$DM?$AA@ 10090b10 LIBCMTD:undname.obj - 0003:0000db14 ??_C@_01FGNFDNOH@?$CF?$AA@ 10090b14 LIBCMTD:undname.obj - 0003:0000db18 ??_C@_01KMDKNFGN@?1?$AA@ 10090b18 LIBCMTD:undname.obj - 0003:0000db1c ??_C@_03MNHNFDLC@?9?$DO?$CK?$AA@ 10090b1c LIBCMTD:undname.obj - 0003:0000db20 ??_C@_01HNPIGOCE@?$CG?$AA@ 10090b20 LIBCMTD:undname.obj - 0003:0000db24 ??_C@_01MIFGBAGJ@?$CL?$AA@ 10090b24 LIBCMTD:undname.obj - 0003:0000db28 ??_C@_01JOAMLHOP@?9?$AA@ 10090b28 LIBCMTD:undname.obj - 0003:0000db2c ??_C@_02BAABKJLB@?9?9?$AA@ 10090b2c LIBCMTD:undname.obj - 0003:0000db30 ??_C@_02ECNGHCIF@?$CL?$CL?$AA@ 10090b30 LIBCMTD:undname.obj - 0003:0000db34 ??_C@_01NBENCBCI@?$CK?$AA@ 10090b34 LIBCMTD:undname.obj - 0003:0000db38 ??_C@_02HBOOOICD@?9?$DO?$AA@ 10090b38 LIBCMTD:undname.obj - 0003:0000db3c ??_C@_08LHJFAFGD@operator?$AA@ 10090b3c LIBCMTD:undname.obj - 0003:0000db48 ??_C@_02GPECMEKF@?$FL?$FN?$AA@ 10090b48 LIBCMTD:undname.obj - 0003:0000db4c ??_C@_02FDNJECIE@?$CB?$DN?$AA@ 10090b4c LIBCMTD:undname.obj - 0003:0000db50 ??_C@_02EGOFBIJA@?$DN?$DN?$AA@ 10090b50 LIBCMTD:undname.obj - 0003:0000db54 ??_C@_01DCLJPIOD@?$CB?$AA@ 10090b54 LIBCMTD:undname.obj - 0003:0000db58 ??_C@_02FODMEDOG@?$DM?$DM?$AA@ 10090b58 LIBCMTD:undname.obj - 0003:0000db5c ??_C@_02GPIOPFAK@?$DO?$DO?$AA@ 10090b5c LIBCMTD:undname.obj - 0003:0000db60 ??_C@_07FPCDHGMM@?5delete?$AA@ 10090b60 LIBCMTD:undname.obj - 0003:0000db6c ??_C@_04NIHEBCM@?5new?$AA@ 10090b6c LIBCMTD:undname.obj - 0003:0000db74 ??_C@_0M@GFIIJFMG@__unaligned?$AA@ 10090b74 LIBCMTD:undname.obj - 0003:0000db84 ??_C@_0L@PILCLIHE@__restrict?$AA@ 10090b84 LIBCMTD:undname.obj - 0003:0000db94 ??_C@_07JOMMBBKO@__ptr64?$AA@ 10090b94 LIBCMTD:undname.obj - 0003:0000dba0 ??_C@_06GHPCKEAG@__eabi?$AA@ 10090ba0 LIBCMTD:undname.obj - 0003:0000dba8 ??_C@_09HIJEGCPM@__clrcall?$AA@ 10090ba8 LIBCMTD:undname.obj - 0003:0000dbb4 ??_C@_0L@JMKHOMEK@__fastcall?$AA@ 10090bb4 LIBCMTD:undname.obj - 0003:0000dbc4 ??_C@_0L@NPHFGOKO@__thiscall?$AA@ 10090bc4 LIBCMTD:undname.obj - 0003:0000dbd4 ??_C@_09IFJBGAPI@__stdcall?$AA@ 10090bd4 LIBCMTD:undname.obj - 0003:0000dbe0 ??_C@_08GHMPAG@__pascal?$AA@ 10090be0 LIBCMTD:undname.obj - 0003:0000dbec ??_C@_07KOLFKCDI@__cdecl?$AA@ 10090bec LIBCMTD:undname.obj - 0003:0000dbf8 ??_C@_08EHJDFFNH@__based?$CI?$AA@ 10090bf8 LIBCMTD:undname.obj - 0003:0000dddc ??_C@_04HEJADOOB@CV?3?5?$AA@ 10090ddc LIBCMTD:undname.obj - 0003:0000dde4 ??_C@_02MOLJINC@?3?3?$AA@ 10090de4 LIBCMTD:undname.obj - 0003:0000dde8 ??_C@_01GEODFPGF@?8?$AA@ 10090de8 LIBCMTD:undname.obj - 0003:0000ddec ??_C@_01NLNLIGKH@?$GA?$AA@ 10090dec LIBCMTD:undname.obj - 0003:0000ddf0 ??_C@_0O@KHGCOMHP@generic?9type?9?$AA@ 10090df0 LIBCMTD:undname.obj - 0003:0000de00 ??_C@_0BE@JAEOCHPE@template?9parameter?9?$AA@ 10090e00 LIBCMTD:undname.obj - 0003:0000de18 ??_C@_02OHHJMEON@?8?8?$AA@ 10090e18 LIBCMTD:undname.obj - 0003:0000de1c ??_C@_0BG@JNJLAMPM@?$GAanonymous?5namespace?8?$AA@ 10090e1c LIBCMTD:undname.obj - 0003:0000de38 ??_C@_0BN@IBLMMFAP@?$GAnon?9type?9template?9parameter?$AA@ 10090e38 LIBCMTD:undname.obj - 0003:0000de5c ??_C@_0BE@EODMJLIF@?$GAtemplate?9parameter?$AA@ 10090e5c LIBCMTD:undname.obj - 0003:0000de74 ??_C@_04GKJNKENE@void?$AA@ 10090e74 LIBCMTD:undname.obj - 0003:0000de7c ??_C@_04HIBGFPH@NULL?$AA@ 10090e7c LIBCMTD:undname.obj - 0003:0000de84 ??_C@_0M@DHNBOJMP@extern?5?$CCC?$CC?5?$AA@ 10090e84 LIBCMTD:undname.obj - 0003:0000de94 ??_C@_08KJLFOPNE@?$FLthunk?$FN?3?$AA@ 10090e94 LIBCMTD:undname.obj - 0003:0000dea0 ??_C@_08GPDDCMKI@public?3?5?$AA@ 10090ea0 LIBCMTD:undname.obj - 0003:0000deac ??_C@_0M@GAIFPFIP@protected?3?5?$AA@ 10090eac LIBCMTD:undname.obj - 0003:0000debc ??_C@_09LAPHOOG@private?3?5?$AA@ 10090ebc LIBCMTD:undname.obj - 0003:0000dec8 ??_C@_08NIEOINHE@virtual?5?$AA@ 10090ec8 LIBCMTD:undname.obj - 0003:0000ded4 ??_C@_07PGOEDBHP@static?5?$AA@ 10090ed4 LIBCMTD:undname.obj - 0003:0000dee0 ??_C@_0DA@HGFJFBBE@?$GAtemplate?5static?5data?5member?5des@ 10090ee0 LIBCMTD:undname.obj - 0003:0000df1c ??_C@_0DB@ILEFOCIJ@?$GAtemplate?5static?5data?5member?5con@ 10090f1c LIBCMTD:undname.obj - 0003:0000df58 ??_C@_0CB@KJDOOODE@?$GAlocal?5static?5destructor?5helper?8@ 10090f58 LIBCMTD:undname.obj - 0003:0000df80 ??_C@_0L@HNGCOGAE@?$GAadjustor?$HL?$AA@ 10090f80 LIBCMTD:undname.obj - 0003:0000df90 ??_C@_0L@GHPFDFH@?$GAvtordisp?$HL?$AA@ 10090f90 LIBCMTD:undname.obj - 0003:0000dfa0 ??_C@_0N@CBHHHENL@?$GAvtordispex?$HL?$AA@ 10090fa0 LIBCMTD:undname.obj - 0003:0000dfb0 ??_C@_02IGFCGPIL@?$HN?8?$AA@ 10090fb0 LIBCMTD:undname.obj - 0003:0000dfb4 ??_C@_03OPGICMGF@?$HN?8?5?$AA@ 10090fb4 LIBCMTD:undname.obj - 0003:0000dfb8 ??_C@_02KCKGHPCA@?$CJ?5?$AA@ 10090fb8 LIBCMTD:undname.obj - 0003:0000dfbc ??_C@_05BEFAKPML@void?5?$AA@ 10090fbc LIBCMTD:undname.obj - 0003:0000dfc4 ??_C@_0P@GCOCNKDM@std?3?3nullptr_t?$AA@ 10090fc4 LIBCMTD:undname.obj - 0003:0000dfd8 ??_C@_08PABEKFH@volatile?$AA@ 10090fd8 LIBCMTD:undname.obj - 0003:0000dfe4 ??_C@_0M@ELJOJFFH@?0?$DMellipsis?$DO?$AA@ 10090fe4 LIBCMTD:undname.obj - 0003:0000dff4 ??_C@_04EENFHACM@?0?4?4?4?$AA@ 10090ff4 LIBCMTD:undname.obj - 0003:0000dffc ??_C@_0L@EGPHHEKN@?$DMellipsis?$DO?$AA@ 10090ffc LIBCMTD:undname.obj - 0003:0000e00c ??_C@_07HDJPLPEK@?5throw?$CI?$AA@ 1009100c LIBCMTD:undname.obj - 0003:0000e018 ??_C@_09EFNPDFFP@?5volatile?$AA@ 10091018 LIBCMTD:undname.obj - 0003:0000e024 ??_C@_05BNCCCJPP@const?$AA@ 10091024 LIBCMTD:undname.obj - 0003:0000e02c ??_C@_07EDHNAJHC@signed?5?$AA@ 1009102c LIBCMTD:undname.obj - 0003:0000e038 ??_C@_09EBBEKKIH@unsigned?5?$AA@ 10091038 LIBCMTD:undname.obj - 0003:0000e044 ??_C@_07NFANNNEC@UNKNOWN?$AA@ 10091044 LIBCMTD:undname.obj - 0003:0000e050 ??_C@_06GCICPBLB@__w64?5?$AA@ 10091050 LIBCMTD:undname.obj - 0003:0000e058 ??_C@_07CLGGIAMF@wchar_t?$AA@ 10091058 LIBCMTD:undname.obj - 0003:0000e064 ??_C@_09EEKGDCPH@?$DMunknown?$DO?$AA@ 10091064 LIBCMTD:undname.obj - 0003:0000e070 ??_C@_08GAHOLHEO@__int128?$AA@ 10091070 LIBCMTD:undname.obj - 0003:0000e07c ??_C@_07LFCOJCAC@__int64?$AA@ 1009107c LIBCMTD:undname.obj - 0003:0000e088 ??_C@_07OFLPPHGP@__int32?$AA@ 10091088 LIBCMTD:undname.obj - 0003:0000e094 ??_C@_07ICFHOGAF@__int16?$AA@ 10091094 LIBCMTD:undname.obj - 0003:0000e0a0 ??_C@_06EBGKOKIG@__int8?$AA@ 100910a0 LIBCMTD:undname.obj - 0003:0000e0a8 ??_C@_04DDKJGDCM@bool?$AA@ 100910a8 LIBCMTD:undname.obj - 0003:0000e0b0 ??_C@_06BNJCAIGJ@double?$AA@ 100910b0 LIBCMTD:undname.obj - 0003:0000e0b8 ??_C@_05CJIMAING@long?5?$AA@ 100910b8 LIBCMTD:undname.obj - 0003:0000e0c0 ??_C@_05KNFBNCOH@float?$AA@ 100910c0 LIBCMTD:undname.obj - 0003:0000e0c8 ??_C@_04GOKPGOLB@long?$AA@ 100910c8 LIBCMTD:undname.obj - 0003:0000e0d0 ??_C@_03JBIPMCLC@int?$AA@ 100910d0 LIBCMTD:undname.obj - 0003:0000e0d4 ??_C@_05BFKKPKCG@short?$AA@ 100910d4 LIBCMTD:undname.obj - 0003:0000e0dc ??_C@_04ENMBGAPA@char?$AA@ 100910dc LIBCMTD:undname.obj - 0003:0000e0e4 ??_C@_05LJGMCFOG@enum?5?$AA@ 100910e4 LIBCMTD:undname.obj - 0003:0000e0ec ??_C@_0N@DLIEFKNA@cointerface?5?$AA@ 100910ec LIBCMTD:undname.obj - 0003:0000e0fc ??_C@_08KOFANOFK@coclass?5?$AA@ 100910fc LIBCMTD:undname.obj - 0003:0000e108 ??_C@_06LJBABKPM@class?5?$AA@ 10091108 LIBCMTD:undname.obj - 0003:0000e110 ??_C@_07DIBCDNGL@struct?5?$AA@ 10091110 LIBCMTD:undname.obj - 0003:0000e11c ??_C@_06MOJHIBMG@union?5?$AA@ 1009111c LIBCMTD:undname.obj - 0003:0000e124 ??_C@_0P@GCIFDJCJ@?$GAunknown?5ecsu?8?$AA@ 10091124 LIBCMTD:undname.obj - 0003:0000e138 ??_C@_04LAHKHJMA@int?5?$AA@ 10091138 LIBCMTD:undname.obj - 0003:0000e140 ??_C@_06EHJMALKF@short?5?$AA@ 10091140 LIBCMTD:undname.obj - 0003:0000e148 ??_C@_05CIHEBHNO@char?5?$AA@ 10091148 LIBCMTD:undname.obj - 0003:0000e150 ??_C@_06LIJLOJAG@const?5?$AA@ 10091150 LIBCMTD:undname.obj - 0003:0000e158 ??_C@_09GAIEOBLP@volatile?5?$AA@ 10091158 LIBCMTD:undname.obj - 0003:0000e164 ??_C@_0O@GKABPPIF@cli?3?3pin_ptr?$DM?$AA@ 10091164 LIBCMTD:undname.obj - 0003:0000e174 ??_C@_0M@EALIELKG@cli?3?3array?$DM?$AA@ 10091174 LIBCMTD:undname.obj - 0003:0000e184 ??_C@_02GOGNNPBN@?$CJ?$FL?$AA@ 10091184 LIBCMTD:undname.obj - 0003:0000e188 ??_C@_06EEGAIFAK@?$HLflat?$HN?$AA@ 10091188 LIBCMTD:undname.obj - 0003:0000e190 ??_C@_02MDINNEEG@s?5?$AA@ 10091190 LIBCMTD:undname.obj - 0003:0000e194 ??_C@_05JIBOFOHK@?$HLfor?5?$AA@ 10091194 LIBCMTD:undname.obj - 0003:0000e19c ??_7DNameNode@@6B@ 1009119c LIBCMTD:undname.obj - 0003:0000e1ac ??_7charNode@@6B@ 100911ac LIBCMTD:undname.obj - 0003:0000e1bc ??_7pcharNode@@6B@ 100911bc LIBCMTD:undname.obj - 0003:0000e1cc ??_7pDNameNode@@6B@ 100911cc LIBCMTD:undname.obj - 0003:0000e1dc ??_7DNameStatusNode@@6B@ 100911dc LIBCMTD:undname.obj - 0003:0000e1ec ??_C@_04OKOHEJBO@?5?$DP?$DP?5?$AA@ 100911ec LIBCMTD:undname.obj - 0003:0000e1f4 ??_7pairNode@@6B@ 100911f4 LIBCMTD:undname.obj - 0003:0000e77c ??_R4bad_exception@std@@6B@ 1009177c LIBCMTD:frame.obj - 0003:0000e794 ??_R3bad_exception@std@@8 10091794 LIBCMTD:frame.obj - 0003:0000e7a8 ??_R2bad_exception@std@@8 100917a8 LIBCMTD:frame.obj - 0003:0000e7b4 ??_R1A@?0A@EA@bad_exception@std@@8 100917b4 LIBCMTD:frame.obj - 0003:0000e7d8 ??_R1A@?0A@EA@exception@std@@8 100917d8 LIBCMTD:frame.obj - 0003:0000e7fc ??_R3exception@std@@8 100917fc LIBCMTD:frame.obj - 0003:0000e810 ??_R2exception@std@@8 10091810 LIBCMTD:frame.obj - 0003:0000e818 ??_R4type_info@@6B@ 10091818 LIBCMTD:typinfo.obj - 0003:0000e830 ??_R3type_info@@8 10091830 LIBCMTD:typinfo.obj - 0003:0000e844 ??_R2type_info@@8 10091844 LIBCMTD:typinfo.obj - 0003:0000e84c ??_R1A@?0A@EA@type_info@@8 1009184c LIBCMTD:typinfo.obj - 0003:0000e870 ??_R4exception@std@@6B@ 10091870 LIBCMTD:stdexcpt.obj - 0003:0000e888 ??_R4bad_cast@std@@6B@ 10091888 LIBCMTD:stdexcpt.obj - 0003:0000e8a0 ??_R3bad_cast@std@@8 100918a0 LIBCMTD:stdexcpt.obj - 0003:0000e8b4 ??_R2bad_cast@std@@8 100918b4 LIBCMTD:stdexcpt.obj - 0003:0000e8c0 ??_R1A@?0A@EA@bad_cast@std@@8 100918c0 LIBCMTD:stdexcpt.obj - 0003:0000e8e4 ??_R4bad_typeid@std@@6B@ 100918e4 LIBCMTD:stdexcpt.obj - 0003:0000e8fc ??_R3bad_typeid@std@@8 100918fc LIBCMTD:stdexcpt.obj - 0003:0000e910 ??_R2bad_typeid@std@@8 10091910 LIBCMTD:stdexcpt.obj - 0003:0000e91c ??_R1A@?0A@EA@bad_typeid@std@@8 1009191c LIBCMTD:stdexcpt.obj - 0003:0000e940 ??_R4__non_rtti_object@std@@6B@ 10091940 LIBCMTD:stdexcpt.obj - 0003:0000e958 ??_R3__non_rtti_object@std@@8 10091958 LIBCMTD:stdexcpt.obj - 0003:0000e96c ??_R2__non_rtti_object@std@@8 1009196c LIBCMTD:stdexcpt.obj - 0003:0000e97c ??_R1A@?0A@EA@__non_rtti_object@std@@8 1009197c LIBCMTD:stdexcpt.obj - 0003:0000eaac ___rtc_iaa 10091aac LIBCMTD:_initsect_.obj - 0003:0000ebb0 ___rtc_izz 10091bb0 LIBCMTD:_initsect_.obj - 0003:0000ecb4 ___rtc_taa 10091cb4 LIBCMTD:_initsect_.obj - 0003:0000edb8 ___rtc_tzz 10091db8 LIBCMTD:_initsect_.obj - 0003:0000f70c __TI2?AVbad_exception@std@@ 1009270c LIBCMTD:frame.obj - 0003:0000f720 __CTA2?AVbad_exception@std@@ 10092720 LIBCMTD:frame.obj - 0003:0000f730 __CT??_R0?AVbad_exception@std@@@8??0bad_exception@std@@QAE@ABV01@@Z12 10092730 LIBCMTD:frame.obj - 0003:0000f750 __CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12 10092750 LIBCMTD:frame.obj - 0004:000001c0 ___flsindex 100931c0 LIBCMTD:tidtable.obj - 0004:000001c4 ___getvalueindex 100931c4 LIBCMTD:tidtable.obj - 0004:000001d0 __crtDbgFlag 100931d0 LIBCMTD:dbgheap.obj - 0004:000001d4 ___crtDebugFillThreshold 100931d4 LIBCMTD:dbgheap.obj - 0004:000001dc __crtBreakAlloc 100931dc LIBCMTD:dbgheap.obj - 0004:000001e8 __iob 100931e8 LIBCMTD:_file.obj - 0004:000004e8 ___nullstring 100934e8 LIBCMTD:output.obj - 0004:000004ec ___wnullstring 100934ec LIBCMTD:output.obj - 0004:000004f4 ___security_cookie 100934f4 LIBCMTD:gs_cookie.obj - 0004:000004f8 ___security_cookie_complement 100934f8 LIBCMTD:gs_cookie.obj - 0004:00000500 __cfltcvt_tab 10093500 LIBCMTD:cmiscdat.obj - 0004:00000530 ___initialmbcinfo 10093530 LIBCMTD:mbctype.obj - 0004:00000750 __mbctype 10093750 LIBCMTD:mbctype.obj - 0004:00000858 __mbcasemap 10093858 LIBCMTD:mbctype.obj - 0004:00000958 ___ptmbcinfo 10093958 LIBCMTD:mbctype.obj - 0004:00000cc0 ___badioinfo 10093cc0 LIBCMTD:ioinit.obj - 0004:00000d0c ___clocalestr 10093d0c LIBCMTD:nlsdata2.obj - 0004:00000d10 ___lc_time_c 10093d10 LIBCMTD:nlsdata2.obj - 0004:00000ec0 ___initiallocinfo 10093ec0 LIBCMTD:nlsdata2.obj - 0004:00000fc4 ___ptlocinfo 10093fc4 LIBCMTD:nlsdata2.obj - 0004:00000fc8 ___initiallocalestructinfo 10093fc8 LIBCMTD:nlsdata2.obj - 0004:00000fd4 __pfnAllocHook 10093fd4 LIBCMTD:dbghook.obj - 0004:00000fd8 __crtAssertBusy 10093fd8 LIBCMTD:dbgrptt.obj - 0004:00000fdc __CrtDbgMode 10093fdc LIBCMTD:dbgrptt.obj - 0004:00000fe8 __CrtDbgFile 10093fe8 LIBCMTD:dbgrptt.obj - 0004:00001004 ___globallocalestatus 10094004 LIBCMTD:glstatus.obj - 0004:00001008 ___abort_behavior 10094008 LIBCMTD:abort.obj - 0004:00001010 __NLG_Destination 10094010 LIBCMTD:exsup.obj - 0004:00001028 ___lconv_static_decimal 10094028 LIBCMTD:lconv.obj - 0004:0000102c ___lconv_static_W_decimal 1009402c LIBCMTD:lconv.obj - 0004:00001030 ___lconv_c 10094030 LIBCMTD:lconv.obj - 0004:00001080 ___lconv 10094080 LIBCMTD:lconv.obj - 0004:00001098 __pctype 10094098 LIBCMTD:ctype.obj - 0004:0000109c __pwctype 1009409c LIBCMTD:ctype.obj - 0004:000010a8 __confh 100940a8 LIBCMTD:initcon.obj - 0004:000010ac ??_R0?AVbad_exception@std@@@8 100940ac LIBCMTD:frame.obj - 0004:000010d4 ??_R0?AVexception@std@@@8 100940d4 LIBCMTD:frame.obj - 0004:00001100 __lookuptrailbytes 10094100 LIBCMTD:read.obj - 0004:00001240 ___mb_cur_max 10094240 LIBCMTD:nlsdata1.obj - 0004:00001244 ___decimal_point 10094244 LIBCMTD:nlsdata1.obj - 0004:00001248 ___decimal_point_length 10094248 LIBCMTD:nlsdata1.obj - 0004:00001250 ??_R0?AVtype_info@@@8 10094250 LIBCMTD:typinfo.obj - 0004:0000126c ??_R0?AVbad_cast@std@@@8 1009426c LIBCMTD:stdexcpt.obj - 0004:0000128c ??_R0?AVbad_typeid@std@@@8 1009428c LIBCMTD:stdexcpt.obj - 0004:000012b0 ??_R0?AV__non_rtti_object@std@@@8 100942b0 LIBCMTD:stdexcpt.obj - 0004:00001424 __umaskval 10094424 LIBCMTD:crt0dat.obj - 0004:00001428 ___argc 10094428 LIBCMTD:crt0dat.obj - 0004:0000142c ___argv 1009442c LIBCMTD:crt0dat.obj - 0004:00001430 ___wargv 10094430 LIBCMTD:crt0dat.obj - 0004:00001434 __environ 10094434 LIBCMTD:crt0dat.obj - 0004:00001438 ___initenv 10094438 LIBCMTD:crt0dat.obj - 0004:0000143c __wenviron 1009443c LIBCMTD:crt0dat.obj - 0004:00001440 ___winitenv 10094440 LIBCMTD:crt0dat.obj - 0004:00001444 __pgmptr 10094444 LIBCMTD:crt0dat.obj - 0004:00001448 __wpgmptr 10094448 LIBCMTD:crt0dat.obj - 0004:0000144c __exitflag 1009444c LIBCMTD:crt0dat.obj - 0004:00001450 __C_Termination_Done 10094450 LIBCMTD:crt0dat.obj - 0004:00001454 __C_Exit_Done 10094454 LIBCMTD:crt0dat.obj - 0004:0000146c __aenvptr 1009446c LIBCMTD:dllcrt0.obj - 0004:00001470 __wenvptr 10094470 LIBCMTD:dllcrt0.obj - 0004:00001474 ___error_mode 10094474 LIBCMTD:dllcrt0.obj - 0004:00001478 ___app_type 10094478 LIBCMTD:dllcrt0.obj - 0004:00001480 _gpFlsAlloc 10094480 LIBCMTD:tidtable.obj - 0004:00001484 _gpFlsGetValue 10094484 LIBCMTD:tidtable.obj - 0004:00001488 _gpFlsSetValue 10094488 LIBCMTD:tidtable.obj - 0004:0000148c _gpFlsFree 1009448c LIBCMTD:tidtable.obj - 0004:00001494 ___pInvalidArgHandler 10094494 LIBCMTD:invarg.obj - 0004:000014ac ?_pfnDumpClient@@3P6AXPAXI@ZA 100944ac LIBCMTD:dbgheap.obj - 0004:000014b4 ___crtDebugCheckCount 100944b4 LIBCMTD:dbgheap.obj - 0004:000014c4 __cflush 100944c4 LIBCMTD:_file.obj - 0004:000014c8 __stdbuf 100944c8 LIBCMTD:_sftbuf.obj - 0004:000014d4 __newmode 100944d4 LIBCMTD:_newmode.obj - 0004:00001c40 ___mbulinfo 10094c40 LIBCMTD:mbctype.obj - 0004:00001c4c ___mbcodepage 10094c4c LIBCMTD:mbctype.obj - 0004:00001c50 ___ismbcodepage 10094c50 LIBCMTD:mbctype.obj - 0004:00001c54 ___mblcid 10094c54 LIBCMTD:mbctype.obj - 0004:00001e10 ?__pInconsistency@@3P6AXXZA 10094e10 LIBCMTD:hooks.obj - 0004:00001e30 ___pPurecall 10094e30 LIBCMTD:inithelp.obj - 0004:00001e34 ?_pnhHeap@@3P6AHI@ZA 10094e34 LIBCMTD:handler.obj - 0004:00001f74 __crtheap 10094f74 LIBCMTD:heapinit.obj - 0004:00001f90 __commode 10094f90 LIBCMTD:ncommode.obj - 0004:0000235c ___lconv_static_null 1009535c LIBCMTD:lconv.obj - 0004:00002360 ___lconv_static_W_null 10095360 LIBCMTD:lconv.obj - 0004:0000237c ___locale_changed 1009537c LIBCMTD:setlocal.obj - 0004:00002380 __fmode 10095380 LIBCMTD:txtmode.obj - 0004:000023a4 ?pArgList@UnDecorator@@0PAVReplicator@@A 100953a4 LIBCMTD:undname.obj - 0004:000023a8 ?pZNameList@UnDecorator@@0PAVReplicator@@A 100953a8 LIBCMTD:undname.obj - 0004:000023ac ?pTemplateArgList@UnDecorator@@0PAVReplicator@@A 100953ac LIBCMTD:undname.obj - 0004:000023b0 ?gName@UnDecorator@@0PBDB 100953b0 LIBCMTD:undname.obj - 0004:000023b4 ?name@UnDecorator@@0PBDB 100953b4 LIBCMTD:undname.obj - 0004:000023b8 ?outputString@UnDecorator@@0PADA 100953b8 LIBCMTD:undname.obj - 0004:000023bc ?maxStringLength@UnDecorator@@0HA 100953bc LIBCMTD:undname.obj - 0004:000023c0 ?disableFlags@UnDecorator@@0KA 100953c0 LIBCMTD:undname.obj - 0004:000023c4 ?m_pGetParameter@UnDecorator@@0P6APADJ@ZA 100953c4 LIBCMTD:undname.obj - 0004:000023c8 ?fExplicitTemplateParams@UnDecorator@@0_NA 100953c8 LIBCMTD:undname.obj - 0004:000023c9 ?fGetTemplateArgumentList@UnDecorator@@0_NA 100953c9 LIBCMTD:undname.obj - 0004:00002438 ?nodes@?1??make@DNameStatusNode@@SAPAV2@W4DNameStatus@@@Z@4PAV2@A 10095438 LIBCMTD:undname.obj - 0004:00002474 ??_B?1??make@DNameStatusNode@@SAPAV1@W4DNameStatus@@@Z@51 10095474 LIBCMTD:undname.obj - 0004:00002478 ___setlc_active 10095478 - 0004:00002488 ___unguarded_readlc_active 10095488 - 0004:0000248c __pfnReportHook 1009548c - 0004:0000249c __pReportHookListW 1009549c - 0004:000024a0 __pReportHookList 100954a0 - 0004:000024a4 __debugger_hook_dummy 100954a4 - 0004:000024b0 __nhandle 100954b0 - 0004:00002500 ___pioinfo 10095500 - 0004:00002600 ___sse2_available 10095600 - 0004:0000260c ___piob 1009560c - 0004:00002960 __bufin 10095960 - 0004:00003960 __nstream 10096960 - 0004:00003964 __acmdln 10096964 - 0004:00003970 ___env_initialized 10096970 - 0004:00003980 ___onexitend 10096980 - 0004:00003984 ___onexitbegin 10096984 - 0004:00003988 ___mbctype_initialized 10096988 - 0004:0000398c __FPinit 1009698c - 0004:00003990 ___dyn_tls_init_callback 10096990 - 0005:00000000 __IMPORT_DESCRIPTOR_zlibvc 10097000 zlibwapi:zlibvc.dll - 0005:00000014 __IMPORT_DESCRIPTOR_KERNEL32 10097014 kernel32:KERNEL32.dll - 0005:00000028 __NULL_IMPORT_DESCRIPTOR 10097028 zlibwapi:zlibvc.dll - 0005:00000274 __imp__GetConsoleMode@8 10097274 kernel32:KERNEL32.dll - 0005:00000278 __imp__GetUserDefaultLCID@0 10097278 kernel32:KERNEL32.dll - 0005:0000027c __imp__EnumSystemLocalesA@8 1009727c kernel32:KERNEL32.dll - 0005:00000280 __imp__IsValidLocale@8 10097280 kernel32:KERNEL32.dll - 0005:00000284 __imp__GetLocaleInfoA@16 10097284 kernel32:KERNEL32.dll - 0005:00000288 __imp__GetProcessHeap@0 10097288 kernel32:KERNEL32.dll - 0005:0000028c __imp__SetEndOfFile@4 1009728c kernel32:KERNEL32.dll - 0005:00000290 __imp__ReadFile@20 10097290 kernel32:KERNEL32.dll - 0005:00000294 __imp__CreateFileW@28 10097294 kernel32:KERNEL32.dll - 0005:00000298 __imp__GetStringTypeW@16 10097298 kernel32:KERNEL32.dll - 0005:0000029c __imp__LCMapStringW@24 1009729c kernel32:KERNEL32.dll - 0005:000002a0 __imp__CloseHandle@4 100972a0 kernel32:KERNEL32.dll - 0005:000002a4 __imp__SetFileTime@16 100972a4 kernel32:KERNEL32.dll - 0005:000002a8 __imp__LocalFileTimeToFileTime@8 100972a8 kernel32:KERNEL32.dll - 0005:000002ac __imp__DosDateTimeToFileTime@12 100972ac kernel32:KERNEL32.dll - 0005:000002b0 __imp__GetFileTime@16 100972b0 kernel32:KERNEL32.dll - 0005:000002b4 __imp__CreateFileA@28 100972b4 kernel32:KERNEL32.dll - 0005:000002b8 __imp__GetLastError@0 100972b8 kernel32:KERNEL32.dll - 0005:000002bc __imp__CreateDirectoryA@8 100972bc kernel32:KERNEL32.dll - 0005:000002c0 __imp__InterlockedIncrement@4 100972c0 kernel32:KERNEL32.dll - 0005:000002c4 __imp__InterlockedDecrement@4 100972c4 kernel32:KERNEL32.dll - 0005:000002c8 __imp__DecodePointer@4 100972c8 kernel32:KERNEL32.dll - 0005:000002cc __imp__GetProcAddress@8 100972cc kernel32:KERNEL32.dll - 0005:000002d0 __imp__GetModuleHandleW@4 100972d0 kernel32:KERNEL32.dll - 0005:000002d4 __imp__ExitProcess@4 100972d4 kernel32:KERNEL32.dll - 0005:000002d8 __imp__SetEnvironmentVariableA@8 100972d8 kernel32:KERNEL32.dll - 0005:000002dc __imp__GetCurrentDirectoryA@8 100972dc kernel32:KERNEL32.dll - 0005:000002e0 __imp__SetCurrentDirectoryA@4 100972e0 kernel32:KERNEL32.dll - 0005:000002e4 __imp__GetCurrentThreadId@0 100972e4 kernel32:KERNEL32.dll - 0005:000002e8 __imp__GetCommandLineA@0 100972e8 kernel32:KERNEL32.dll - 0005:000002ec __imp__EncodePointer@4 100972ec kernel32:KERNEL32.dll - 0005:000002f0 __imp__TlsAlloc@0 100972f0 kernel32:KERNEL32.dll - 0005:000002f4 __imp__TlsGetValue@4 100972f4 kernel32:KERNEL32.dll - 0005:000002f8 __imp__TlsSetValue@8 100972f8 kernel32:KERNEL32.dll - 0005:000002fc __imp__TlsFree@4 100972fc kernel32:KERNEL32.dll - 0005:00000300 __imp__SetLastError@4 10097300 kernel32:KERNEL32.dll - 0005:00000304 __imp__GetCurrentThread@0 10097304 kernel32:KERNEL32.dll - 0005:00000308 __imp__TerminateProcess@8 10097308 kernel32:KERNEL32.dll - 0005:0000030c __imp__GetCurrentProcess@0 1009730c kernel32:KERNEL32.dll - 0005:00000310 __imp__UnhandledExceptionFilter@4 10097310 kernel32:KERNEL32.dll - 0005:00000314 __imp__SetUnhandledExceptionFilter@4 10097314 kernel32:KERNEL32.dll - 0005:00000318 __imp__IsDebuggerPresent@0 10097318 kernel32:KERNEL32.dll - 0005:0000031c __imp__GetModuleFileNameW@12 1009731c kernel32:KERNEL32.dll - 0005:00000320 __imp__HeapValidate@12 10097320 kernel32:KERNEL32.dll - 0005:00000324 __imp__IsBadReadPtr@8 10097324 kernel32:KERNEL32.dll - 0005:00000328 __imp__EnterCriticalSection@4 10097328 kernel32:KERNEL32.dll - 0005:0000032c __imp__LeaveCriticalSection@4 1009732c kernel32:KERNEL32.dll - 0005:00000330 __imp__WriteFile@20 10097330 kernel32:KERNEL32.dll - 0005:00000334 __imp__WideCharToMultiByte@32 10097334 kernel32:KERNEL32.dll - 0005:00000338 __imp__GetConsoleCP@0 10097338 kernel32:KERNEL32.dll - 0005:0000033c __imp__RaiseException@16 1009733c kernel32:KERNEL32.dll - 0005:00000340 __imp__GetStdHandle@4 10097340 kernel32:KERNEL32.dll - 0005:00000344 __imp__GetACP@0 10097344 kernel32:KERNEL32.dll - 0005:00000348 __imp__GetOEMCP@0 10097348 kernel32:KERNEL32.dll - 0005:0000034c __imp__GetCPInfo@8 1009734c kernel32:KERNEL32.dll - 0005:00000350 __imp__IsValidCodePage@4 10097350 kernel32:KERNEL32.dll - 0005:00000354 __imp__InitializeCriticalSectionAndSpinCount@8 10097354 kernel32:KERNEL32.dll - 0005:00000358 __imp__DeleteCriticalSection@4 10097358 kernel32:KERNEL32.dll - 0005:0000035c __imp__FatalAppExitA@8 1009735c kernel32:KERNEL32.dll - 0005:00000360 __imp__SetConsoleCtrlHandler@8 10097360 kernel32:KERNEL32.dll - 0005:00000364 __imp__FreeLibrary@4 10097364 kernel32:KERNEL32.dll - 0005:00000368 __imp__InterlockedExchange@8 10097368 kernel32:KERNEL32.dll - 0005:0000036c __imp__LoadLibraryW@4 1009736c kernel32:KERNEL32.dll - 0005:00000370 __imp__GetLocaleInfoW@16 10097370 kernel32:KERNEL32.dll - 0005:00000374 __imp__RtlUnwind@16 10097374 kernel32:KERNEL32.dll - 0005:00000378 __imp__IsProcessorFeaturePresent@4 10097378 kernel32:KERNEL32.dll - 0005:0000037c __imp__SetHandleCount@4 1009737c kernel32:KERNEL32.dll - 0005:00000380 __imp__GetFileType@4 10097380 kernel32:KERNEL32.dll - 0005:00000384 __imp__GetStartupInfoW@4 10097384 kernel32:KERNEL32.dll - 0005:00000388 __imp__GetModuleFileNameA@12 10097388 kernel32:KERNEL32.dll - 0005:0000038c __imp__FreeEnvironmentStringsW@4 1009738c kernel32:KERNEL32.dll - 0005:00000390 __imp__GetEnvironmentStringsW@0 10097390 kernel32:KERNEL32.dll - 0005:00000394 __imp__HeapCreate@12 10097394 kernel32:KERNEL32.dll - 0005:00000398 __imp__HeapDestroy@4 10097398 kernel32:KERNEL32.dll - 0005:0000039c __imp__QueryPerformanceCounter@4 1009739c kernel32:KERNEL32.dll - 0005:000003a0 __imp__GetTickCount@0 100973a0 kernel32:KERNEL32.dll - 0005:000003a4 __imp__GetCurrentProcessId@0 100973a4 kernel32:KERNEL32.dll - 0005:000003a8 __imp__GetSystemTimeAsFileTime@4 100973a8 kernel32:KERNEL32.dll - 0005:000003ac __imp__OutputDebugStringA@4 100973ac kernel32:KERNEL32.dll - 0005:000003b0 __imp__WriteConsoleW@20 100973b0 kernel32:KERNEL32.dll - 0005:000003b4 __imp__OutputDebugStringW@4 100973b4 kernel32:KERNEL32.dll - 0005:000003b8 __imp__HeapAlloc@12 100973b8 kernel32:KERNEL32.dll - 0005:000003bc __imp__HeapReAlloc@16 100973bc kernel32:KERNEL32.dll - 0005:000003c0 __imp__HeapSize@12 100973c0 kernel32:KERNEL32.dll - 0005:000003c4 __imp__HeapQueryInformation@20 100973c4 kernel32:KERNEL32.dll - 0005:000003c8 __imp__HeapFree@12 100973c8 kernel32:KERNEL32.dll - 0005:000003cc __imp__SetFilePointer@16 100973cc kernel32:KERNEL32.dll - 0005:000003d0 __imp__SetStdHandle@8 100973d0 kernel32:KERNEL32.dll - 0005:000003d4 __imp__MultiByteToWideChar@24 100973d4 kernel32:KERNEL32.dll - 0005:000003d8 __imp__FlushFileBuffers@4 100973d8 kernel32:KERNEL32.dll - 0005:000003dc \177KERNEL32_NULL_THUNK_DATA 100973dc kernel32:KERNEL32.dll - 0005:00000450 __imp__fill_win32_filefunc64A 10097450 zlibwapi:zlibvc.dll - 0005:00000454 __imp__unzOpen2_64@8 10097454 zlibwapi:zlibvc.dll - 0005:00000458 __imp__unzClose@4 10097458 zlibwapi:zlibvc.dll - 0005:0000045c __imp__unzLocateFile@12 1009745c zlibwapi:zlibvc.dll - 0005:00000460 __imp__unzOpenCurrentFilePassword@8 10097460 zlibwapi:zlibvc.dll - 0005:00000464 __imp__unzReadCurrentFile@12 10097464 zlibwapi:zlibvc.dll - 0005:00000468 __imp__unzCloseCurrentFile@4 10097468 zlibwapi:zlibvc.dll - 0005:0000046c __imp__unzGetGlobalInfo64@8 1009746c zlibwapi:zlibvc.dll - 0005:00000470 __imp__unzGetCurrentFileInfo64@32 10097470 zlibwapi:zlibvc.dll - 0005:00000474 __imp__unzGoToNextFile@4 10097474 zlibwapi:zlibvc.dll - 0005:00000478 \177zlibvc_NULL_THUNK_DATA 10097478 zlibwapi:zlibvc.dll - - entry point at 0002:000009f1 - diff --git a/org.simantics.modelica/FMUSolution/Debug/miniunz.pdb b/org.simantics.modelica/FMUSolution/Debug/miniunz.pdb deleted file mode 100644 index 1da9cc43..00000000 Binary files a/org.simantics.modelica/FMUSolution/Debug/miniunz.pdb and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Debug/vc100.idb b/org.simantics.modelica/FMUSolution/Debug/vc100.idb deleted file mode 100644 index 0fc7211d..00000000 Binary files a/org.simantics.modelica/FMUSolution/Debug/vc100.idb and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Debug/vc100.pdb b/org.simantics.modelica/FMUSolution/Debug/vc100.pdb deleted file mode 100644 index 2667ccb0..00000000 Binary files a/org.simantics.modelica/FMUSolution/Debug/vc100.pdb and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Debug/zlibvc.dll b/org.simantics.modelica/FMUSolution/Debug/zlibvc.dll deleted file mode 100644 index 3fdc4ad9..00000000 Binary files a/org.simantics.modelica/FMUSolution/Debug/zlibvc.dll and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Debug/zlibvc.ilk b/org.simantics.modelica/FMUSolution/Debug/zlibvc.ilk deleted file mode 100644 index f3a59147..00000000 Binary files a/org.simantics.modelica/FMUSolution/Debug/zlibvc.ilk and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Debug/zlibwapi.exp b/org.simantics.modelica/FMUSolution/Debug/zlibwapi.exp deleted file mode 100644 index 7e2abea7..00000000 Binary files a/org.simantics.modelica/FMUSolution/Debug/zlibwapi.exp and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Debug/zlibwapi.lib b/org.simantics.modelica/FMUSolution/Debug/zlibwapi.lib deleted file mode 100644 index 83ce90a9..00000000 Binary files a/org.simantics.modelica/FMUSolution/Debug/zlibwapi.lib and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Debug/zlibwapi.map b/org.simantics.modelica/FMUSolution/Debug/zlibwapi.map deleted file mode 100644 index 0c2417bb..00000000 --- a/org.simantics.modelica/FMUSolution/Debug/zlibwapi.map +++ /dev/null @@ -1,2424 +0,0 @@ - zlibvc - - Timestamp is 4fb0c3a9 (Mon May 14 11:34:49 2012) - - Preferred load address is 10000000 - - Start Length Name Class - 0001:00000000 00036721H .textbss DATA - 0002:00000000 000701aaH .text CODE - 0002:000701b0 0000112fH .text$x CODE - 0003:00000000 00000104H .CRT$XCA DATA - 0003:00000104 00000104H .CRT$XCZ DATA - 0003:00000208 00000104H .CRT$XIA DATA - 0003:0000030c 00000113H .CRT$XIC DATA - 0003:00000420 00000104H .CRT$XIZ DATA - 0003:00000524 00000104H .CRT$XPA DATA - 0003:00000628 00000109H .CRT$XPX DATA - 0003:00000734 00000104H .CRT$XPXA DATA - 0003:00000838 00000104H .CRT$XPZ DATA - 0003:0000093c 00000104H .CRT$XTA DATA - 0003:00000a40 00000104H .CRT$XTZ DATA - 0003:00000b50 00012b04H .rdata DATA - 0003:00013654 00000176H .rdata$debug DATA - 0003:000137cc 0000032fH .rdata$r DATA - 0003:00013afc 00000104H .rtc$IAA DATA - 0003:00013c00 00000104H .rtc$IZZ DATA - 0003:00013d04 00000104H .rtc$TAA DATA - 0003:00013e08 00000104H .rtc$TZZ DATA - 0003:00013f10 00000f3aH .xdata$x DATA - 0003:00014e50 00000f72H .edata DATA - 0004:00000000 0000150dH .data DATA - 0004:00001520 00002578H .bss DATA - 0005:00000000 00000014H .idata$2 DATA - 0005:00000014 00000014H .idata$3 DATA - 0005:00000028 000001b4H .idata$4 DATA - 0005:000001dc 000001b4H .idata$5 DATA - 0005:00000390 00000790H .idata$6 DATA - 0006:00000000 00000169H .rsrc$01 DATA - 0006:00000170 000004d3H .rsrc$02 DATA - - Address Publics by Value Rva+Base Lib:Object - - 0000:00000000 ___safe_se_handler_count 00000000 - 0000:00000000 ___safe_se_handler_table 00000000 - 0000:00000000 __except_list 00000000 - 0000:00000000 ___ImageBase 10000000 - 0001:00000000 __enc$textbss$begin 10001000 - 0001:00036721 __enc$textbss$end 10037721 - 0002:00002a20 _longest_match 1003aa20 f match686.obj - 0002:00002c08 _match_init 1003ac08 f match686.obj - 0002:00002d90 _inflate_fast 1003ad90 f inffas32.obj - 0002:00003610 _adler32@12 1003b610 f adler32.obj - 0002:00003bc0 _adler32_combine@12 1003bbc0 f adler32.obj - 0002:00003d40 _adler32_combine64@16 1003bd40 f adler32.obj - 0002:00003d80 _compress2@20 1003bd80 f compress.obj - 0002:00003e80 _compress@16 1003be80 f compress.obj - 0002:00003ec0 _compressBound@4 1003bec0 f compress.obj - 0002:00003f00 _get_crc_table@0 1003bf00 f crc32.obj - 0002:00003f20 _crc32@12 1003bf20 f crc32.obj - 0002:00004c20 _crc32_combine@12 1003cc20 f crc32.obj - 0002:00004f10 _crc32_combine64@16 1003cf10 f crc32.obj - 0002:00004f50 _deflateInit_@16 1003cf50 f deflate.obj - 0002:00004f90 _deflateInit2_@32 1003cf90 f deflate.obj - 0002:000053a0 _deflateSetDictionary@12 1003d3a0 f deflate.obj - 0002:000056b0 _deflateResetKeep@4 1003d6b0 f deflate.obj - 0002:000057f0 _deflateReset@4 1003d7f0 f deflate.obj - 0002:00005840 _deflateSetHeader@8 1003d840 f deflate.obj - 0002:000058a0 _deflatePending@12 1003d8a0 f deflate.obj - 0002:00005910 _deflatePrime@12 1003d910 f deflate.obj - 0002:00005a30 _deflateParams@12 1003da30 f deflate.obj - 0002:00005bb0 _deflateTune@20 1003dbb0 f deflate.obj - 0002:00005c30 _deflateBound@8 1003dc30 f deflate.obj - 0002:00005e10 _deflate@8 1003de10 f deflate.obj - 0002:00007220 _deflateEnd@4 1003f220 f deflate.obj - 0002:000073b0 _deflateCopy@8 1003f3b0 f deflate.obj - 0002:00009be0 _gzclose@4 10041be0 f gzclose.obj - 0002:00009c50 _gzopen@8 10041c50 f gzlib.obj - 0002:0000a180 _gzopen64@8 10042180 f gzlib.obj - 0002:0000a1b0 _gzdopen@8 100421b0 f gzlib.obj - 0002:0000a240 _gzbuffer@8 10042240 f gzlib.obj - 0002:0000a2c0 _gzrewind@4 100422c0 f gzlib.obj - 0002:0000a360 _gzseek64@16 10042360 f gzlib.obj - 0002:0000a700 _gzseek@12 10042700 f gzlib.obj - 0002:0000a770 _gztell64@4 10042770 f gzlib.obj - 0002:0000a810 _gztell@4 10042810 f gzlib.obj - 0002:0000a870 _gzoffset64@4 10042870 f gzlib.obj - 0002:0000a940 _gzoffset@4 10042940 f gzlib.obj - 0002:0000a9a0 _gzeof@4 100429a0 f gzlib.obj - 0002:0000aa20 _gzerror@8 10042a20 f gzlib.obj - 0002:0000aab0 _gzclearerr@4 10042ab0 f gzlib.obj - 0002:0000ab40 _gz_error 10042b40 f gzlib.obj - 0002:0000ac90 _gzread@12 10042c90 f gzread.obj - 0002:0000b7b0 _gzgetc_@4 100437b0 f gzread.obj - 0002:0000b8b0 _gzgetc@4 100438b0 f gzread.obj - 0002:0000b8e0 _gzungetc@8 100438e0 f gzread.obj - 0002:0000bb20 _gzgets@12 10043b20 f gzread.obj - 0002:0000bd30 _gzdirect@4 10043d30 f gzread.obj - 0002:0000bda0 _gzclose_r@4 10043da0 f gzread.obj - 0002:0000bec0 _gzwrite@12 10043ec0 f gzwrite.obj - 0002:0000c670 _gzputc@8 10044670 f gzwrite.obj - 0002:0000c7d0 _gzputs@8 100447d0 f gzwrite.obj - 0002:0000c840 _gzprintf 10044840 f gzwrite.obj - 0002:0000c9f0 _gzflush@8 100449f0 f gzwrite.obj - 0002:0000cac0 _gzsetparams@12 10044ac0 f gzwrite.obj - 0002:0000cbf0 _gzclose_w@4 10044bf0 f gzwrite.obj - 0002:0000cd50 _gzflags@0 10044d50 f gzwrite.obj - 0002:0000cd70 _inflateBackInit_@20 10044d70 f infback.obj - 0002:0000cec0 _inflateBack@20 10044ec0 f infback.obj - 0002:0000e790 _inflateBackEnd@4 10046790 f infback.obj - 0002:0000e800 _inflateResetKeep@4 10046800 f inflate.obj - 0002:0000e940 _inflateReset@4 10046940 f inflate.obj - 0002:0000e9b0 _inflateReset2@8 100469b0 f inflate.obj - 0002:0000eac0 _inflateInit2_@16 10046ac0 f inflate.obj - 0002:0000ec00 _inflateInit_@12 10046c00 f inflate.obj - 0002:0000ec30 _inflatePrime@12 10046c30 f inflate.obj - 0002:0000ed00 _inflate@8 10046d00 f inflate.obj - 0002:00011820 _inflateEnd@4 10049820 f inflate.obj - 0002:000118d0 _inflateSetDictionary@12 100498d0 f inflate.obj - 0002:00011a10 _inflateGetHeader@8 10049a10 f inflate.obj - 0002:00011a80 _inflateSync@4 10049a80 f inflate.obj - 0002:00011d30 _inflateSyncPoint@4 10049d30 f inflate.obj - 0002:00011da0 _inflateCopy@8 10049da0 f inflate.obj - 0002:00011fe0 _inflateUndermine@8 10049fe0 f inflate.obj - 0002:00012050 _inflateMark@4 1004a050 f inflate.obj - 0002:000120f0 _inflate_table 1004a0f0 f inftrees.obj - 0002:00012820 _call_zopen64 1004a820 f ioapi.obj - 0002:00012890 _call_zseek64 1004a890 f ioapi.obj - 0002:00012940 _call_ztell64 1004a940 f ioapi.obj - 0002:000129c0 _fill_zlib_filefunc64_32_def_from_filefunc32 1004a9c0 f ioapi.obj - 0002:00012a80 _fill_fopen_filefunc 1004aa80 f ioapi.obj - 0002:00012d50 _fill_fopen64_filefunc 1004ad50 f ioapi.obj - 0002:00012f50 _win32_open64_file_func 1004af50 f iowin32.obj - 0002:00013120 _win32_open64_file_funcA 1004b120 f iowin32.obj - 0002:000131b0 _win32_open64_file_funcW 1004b1b0 f iowin32.obj - 0002:00013240 _win32_open_file_func 1004b240 f iowin32.obj - 0002:000132d0 _win32_read_file_func 1004b2d0 f iowin32.obj - 0002:00013360 _win32_write_file_func 1004b360 f iowin32.obj - 0002:000133f0 _win32_tell_file_func 1004b3f0 f iowin32.obj - 0002:00013480 _win32_tell64_file_func 1004b480 f iowin32.obj - 0002:00013550 _win32_seek_file_func 1004b550 f iowin32.obj - 0002:00013640 _win32_seek64_file_func 1004b640 f iowin32.obj - 0002:00013740 _win32_close_file_func 1004b740 f iowin32.obj - 0002:000137a0 _win32_error_file_func 1004b7a0 f iowin32.obj - 0002:000137e0 _fill_win32_filefunc 1004b7e0 f iowin32.obj - 0002:00013860 _fill_win32_filefunc64 1004b860 f iowin32.obj - 0002:000138e0 _fill_win32_filefunc64A 1004b8e0 f iowin32.obj - 0002:00013960 _fill_win32_filefunc64W 1004b960 f iowin32.obj - 0002:000139e0 __tr_init 1004b9e0 f trees.obj - 0002:00013bd0 __tr_stored_block 1004bbd0 f trees.obj - 0002:00013d60 __tr_flush_bits 1004bd60 f trees.obj - 0002:00013d90 __tr_align 1004bd90 f trees.obj - 0002:00014080 __tr_flush_block 1004c080 f trees.obj - 0002:00016700 __tr_tally 1004e700 f trees.obj - 0002:00017750 _uncompress@16 1004f750 f uncompr.obj - 0002:00017850 _unzStringFileNameCompare@12 1004f850 f unzip.obj - 0002:000179a0 _unzOpen2@8 1004f9a0 f unzip.obj - 0002:00018d90 _unzOpen2_64@8 10050d90 f unzip.obj - 0002:00018e00 _unzOpen@4 10050e00 f unzip.obj - 0002:00018e30 _unzOpen64@4 10050e30 f unzip.obj - 0002:00018e60 _unzClose@4 10050e60 f unzip.obj - 0002:00018ee0 _unzGetGlobalInfo64@8 10050ee0 f unzip.obj - 0002:00018f40 _unzGetGlobalInfo@8 10050f40 f unzip.obj - 0002:00018f90 _unzGetCurrentFileInfo64@32 10050f90 f unzip.obj - 0002:000199a0 _unzGetCurrentFileInfo@32 100519a0 f unzip.obj - 0002:00019ae0 _unzGoToFirstFile@4 10051ae0 f unzip.obj - 0002:00019ba0 _unzGoToNextFile@4 10051ba0 f unzip.obj - 0002:00019d20 _unzLocateFile@12 10051d20 f unzip.obj - 0002:00019ee0 _unzGetFilePos64@8 10051ee0 f unzip.obj - 0002:00019f70 _unzGetFilePos@8 10051f70 f unzip.obj - 0002:00019fc0 _unzGoToFilePos64@8 10051fc0 f unzip.obj - 0002:0001a080 _unzGoToFilePos@8 10052080 f unzip.obj - 0002:0001a0e0 _unzOpenCurrentFile3@20 100520e0 f unzip.obj - 0002:0001a960 _unzOpenCurrentFile@4 10052960 f unzip.obj - 0002:0001a990 _unzOpenCurrentFilePassword@8 10052990 f unzip.obj - 0002:0001a9c0 _unzOpenCurrentFile2@16 100529c0 f unzip.obj - 0002:0001aa00 _unzGetCurrentFileZStreamPos64@4 10052a00 f unzip.obj - 0002:0001aa70 _unzReadCurrentFile@12 10052a70 f unzip.obj - 0002:0001b0a0 _unztell@4 100530a0 f unzip.obj - 0002:0001b100 _unztell64@4 10053100 f unzip.obj - 0002:0001b160 _unzeof@4 10053160 f unzip.obj - 0002:0001b1e0 _unzGetLocalExtrafield@12 100531e0 f unzip.obj - 0002:0001b340 _unzCloseCurrentFile@4 10053340 f unzip.obj - 0002:0001b460 _unzGetGlobalComment@12 10053460 f unzip.obj - 0002:0001b560 _unzGetOffset64@4 10053560 f unzip.obj - 0002:0001b630 _unzGetOffset@4 10053630 f unzip.obj - 0002:0001b670 _unzSetOffset64@12 10053670 f unzip.obj - 0002:0001b720 _unzSetOffset@8 10053720 f unzip.obj - 0002:0001b750 _LoadCentralDirectoryRecord 10053750 f zip.obj - 0002:0001cce0 _zipOpen3@16 10054ce0 f zip.obj - 0002:0001cf60 _zipOpen2@16 10054f60 f zip.obj - 0002:0001cfd0 _zipOpen2_64@16 10054fd0 f zip.obj - 0002:0001d050 _zipOpen@8 10055050 f zip.obj - 0002:0001d080 _zipOpen64@8 10055080 f zip.obj - 0002:0001d0b0 _Write_LocalFileHeader 100550b0 f zip.obj - 0002:0001d600 _zipOpenNewFileInZip4_64@76 10055600 f zip.obj - 0002:0001e480 _zipOpenNewFileInZip4@72 10056480 f zip.obj - 0002:0001e500 _zipOpenNewFileInZip3@64 10056500 f zip.obj - 0002:0001e580 _zipOpenNewFileInZip3_64@68 10056580 f zip.obj - 0002:0001e600 _zipOpenNewFileInZip2@44 10056600 f zip.obj - 0002:0001e670 _zipOpenNewFileInZip2_64@48 10056670 f zip.obj - 0002:0001e6e0 _zipOpenNewFileInZip64@44 100566e0 f zip.obj - 0002:0001e750 _zipOpenNewFileInZip@40 10056750 f zip.obj - 0002:0001e7c0 _zipWriteInFileInZip@12 100567c0 f zip.obj - 0002:0001ebe0 _zipCloseFileInZipRaw@12 10056be0 f zip.obj - 0002:0001ec10 _zipCloseFileInZipRaw64@16 10056c10 f zip.obj - 0002:0001f4e0 _zipCloseFileInZip@4 100574e0 f zip.obj - 0002:0001f510 _Write_Zip64EndOfCentralDirectoryLocator 10057510 f zip.obj - 0002:0001f600 _Write_Zip64EndOfCentralDirectoryRecord 10057600 f zip.obj - 0002:0001f820 _Write_EndOfCentralDirectoryRecord 10057820 f zip.obj - 0002:0001faa0 _Write_GlobalComment 10057aa0 f zip.obj - 0002:0001fb60 _zipClose@8 10057b60 f zip.obj - 0002:0001fea0 _zipRemoveExtraInfoBlock@12 10057ea0 f zip.obj - 0002:00020020 _zlibVersion@0 10058020 f zutil.obj - 0002:00020040 _zlibCompileFlags@0 10058040 f zutil.obj - 0002:000201c0 _zError@4 100581c0 f zutil.obj - 0002:000201f0 _zcalloc 100581f0 f zutil.obj - 0002:00020230 _zcfree 10058230 f zutil.obj - 0002:00020254 _CreateFileA@28 10058254 f kernel32:KERNEL32.dll - 0002:0002025a _CloseHandle@4 1005825a f kernel32:KERNEL32.dll - 0002:00020260 _CreateFileW@28 10058260 f kernel32:KERNEL32.dll - 0002:00020266 _GetLastError@0 10058266 f kernel32:KERNEL32.dll - 0002:0002026c _ReadFile@20 1005826c f kernel32:KERNEL32.dll - 0002:00020272 _WriteFile@20 10058272 f kernel32:KERNEL32.dll - 0002:00020278 _SetFilePointer@16 10058278 f kernel32:KERNEL32.dll - 0002:00020280 __allrem 10058280 f LIBCMTD:llrem.obj - 0002:00020360 __allshr 10058360 f LIBCMTD:llshr.obj - 0002:00020390 _memset 10058390 f LIBCMTD:memset.obj - 0002:00020430 _memcpy 10058430 f LIBCMTD:memcpy.obj - 0002:00020870 __lseeki64 10058870 f LIBCMTD:lseeki64.obj - 0002:00020b50 __lseeki64_nolock 10058b50 f LIBCMTD:lseeki64.obj - 0002:00020c80 _strcpy 10058c80 f LIBCMTD:strcat.obj - 0002:00020c90 _strcat 10058c90 f LIBCMTD:strcat.obj - 0002:00020dc0 _strlen 10058dc0 f LIBCMTD:strlen.obj - 0002:00020e70 _free 10058e70 f LIBCMTD:dbgfree.obj - 0002:00020e90 _malloc 10058e90 f LIBCMTD:dbgmalloc.obj - 0002:00020ed0 _sprintf 10058ed0 f LIBCMTD:sprintf.obj - 0002:000210d0 __sprintf_l 100590d0 f LIBCMTD:sprintf.obj - 0002:00021110 _sprintf_s 10059110 f LIBCMTD:sprintf.obj - 0002:00021150 __sprintf_s_l 10059150 f LIBCMTD:sprintf.obj - 0002:00021190 __snprintf_s 10059190 f LIBCMTD:sprintf.obj - 0002:000211d0 __snprintf_s_l 100591d0 f LIBCMTD:sprintf.obj - 0002:00021210 __sprintf_p 10059210 f LIBCMTD:sprintf.obj - 0002:00021250 __sprintf_p_l 10059250 f LIBCMTD:sprintf.obj - 0002:00021290 __scprintf 10059290 f LIBCMTD:sprintf.obj - 0002:000212c0 __scprintf_p 100592c0 f LIBCMTD:sprintf.obj - 0002:000212f0 __scprintf_l 100592f0 f LIBCMTD:sprintf.obj - 0002:00021320 __scprintf_p_l 10059320 f LIBCMTD:sprintf.obj - 0002:00021350 _strerror 10059350 f LIBCMTD:strerror.obj - 0002:00021420 __invoke_watson_if_error 10059420 f i LIBCMTD:strerror.obj - 0002:00021460 __get_sys_err_msg 10059460 f i LIBCMTD:strerror.obj - 0002:000214b0 _strerror_s 100594b0 f LIBCMTD:strerror.obj - 0002:00021620 __dosmaperr 10059620 f LIBCMTD:dosmap.obj - 0002:00021660 __get_errno_from_oserr 10059660 f LIBCMTD:dosmap.obj - 0002:00021700 __set_errno 10059700 f LIBCMTD:dosmap.obj - 0002:00021740 __get_errno 10059740 f LIBCMTD:dosmap.obj - 0002:000217e0 __set_doserrno 100597e0 f LIBCMTD:dosmap.obj - 0002:00021820 __get_doserrno 10059820 f LIBCMTD:dosmap.obj - 0002:000218c0 __errno 100598c0 f LIBCMTD:dosmap.obj - 0002:000218f0 ___doserrno 100598f0 f LIBCMTD:dosmap.obj - 0002:00021920 _memmove 10059920 f LIBCMTD:memmove.obj - 0002:00021d60 _memchr 10059d60 f LIBCMTD:memchr.obj - 0002:00021e40 __fsopen 10059e40 f LIBCMTD:fopen.obj - 0002:000220d0 _fopen 1005a0d0 f LIBCMTD:fopen.obj - 0002:000220f0 _fopen_s 1005a0f0 f LIBCMTD:fopen.obj - 0002:000221c0 _fread_s 1005a1c0 f LIBCMTD:fread.obj - 0002:00022340 __fread_nolock_s 1005a340 f LIBCMTD:fread.obj - 0002:00022a90 _fread 1005aa90 f LIBCMTD:fread.obj - 0002:00022ac0 __fread_nolock 1005aac0 f LIBCMTD:fread.obj - 0002:00022af0 _fwrite 1005aaf0 f LIBCMTD:fwrite.obj - 0002:00022c40 __fwrite_nolock 1005ac40 f LIBCMTD:fwrite.obj - 0002:00023100 _ftell 1005b100 f LIBCMTD:ftell.obj - 0002:00023220 __ftell_nolock 1005b220 f LIBCMTD:ftell.obj - 0002:000235a0 _fseek 1005b5a0 f LIBCMTD:fseek.obj - 0002:00023770 __fseek_nolock 1005b770 f LIBCMTD:fseek.obj - 0002:00023890 _fclose 1005b890 f LIBCMTD:fclose.obj - 0002:000239e0 __fclose_nolock 1005b9e0 f LIBCMTD:fclose.obj - 0002:00023b20 _feof 1005bb20 f LIBCMTD:feoferr.obj - 0002:00023bb0 _ferror 1005bbb0 f LIBCMTD:feoferr.obj - 0002:00023c40 __ftelli64 1005bc40 f LIBCMTD:ftelli64.obj - 0002:00023d70 __ftelli64_nolock 1005bd70 f LIBCMTD:ftelli64.obj - 0002:00024460 __fseeki64 1005c460 f LIBCMTD:fseeki64.obj - 0002:00024630 __fseeki64_nolock 1005c630 f LIBCMTD:fseeki64.obj - 0002:000247c0 _strcmp 1005c7c0 f LIBCMTD:strcmp.obj - 0002:00024870 __allshl 1005c870 f LIBCMTD:llshl.obj - 0002:000248a0 __allmul 1005c8a0 f LIBCMTD:llmul.obj - 0002:000248f0 __aulldiv 1005c8f0 f LIBCMTD:ulldiv.obj - 0002:00024980 __aullshr 1005c980 f LIBCMTD:ullshr.obj - 0002:000249b0 __alloca_probe 1005c9b0 LIBCMTD:chkstk.obj - 0002:000249b0 __chkstk 1005c9b0 f LIBCMTD:chkstk.obj - 0002:000249f0 _srand 1005c9f0 f LIBCMTD:rand.obj - 0002:00024a10 _rand 1005ca10 f LIBCMTD:rand.obj - 0002:00024a60 __time64 1005ca60 f LIBCMTD:time64.obj - 0002:00024b00 __CRT_INIT@12 1005cb00 f LIBCMTD:dllcrt0.obj - 0002:00024da0 __DllMainCRTStartup@12 1005cda0 f LIBCMTD:dllcrt0.obj - 0002:00025000 __VEC_memzero 1005d000 f LIBCMTD:p4_memset.obj - 0002:000250f0 ___sse2_available_init 1005d0f0 f LIBCMTD:cpu_disp.obj - 0002:00025110 __VEC_memcpy 1005d110 f LIBCMTD:p4_memcpy.obj - 0002:00025260 __alloc_osfhnd 1005d260 f LIBCMTD:osfinfo.obj - 0002:000255c0 __set_osfhnd 1005d5c0 f LIBCMTD:osfinfo.obj - 0002:000256c0 __free_osfhnd 1005d6c0 f LIBCMTD:osfinfo.obj - 0002:000257e0 __get_osfhandle 1005d7e0 f LIBCMTD:osfinfo.obj - 0002:000259a0 __open_osfhandle 1005d9a0 f LIBCMTD:osfinfo.obj - 0002:00025c60 ___lock_fhandle 1005dc60 f LIBCMTD:osfinfo.obj - 0002:00025da0 __unlock_fhandle 1005dda0 f LIBCMTD:osfinfo.obj - 0002:00025de0 __ioinit 1005dde0 f LIBCMTD:ioinit.obj - 0002:00026300 __ioterm 1005e300 f LIBCMTD:ioinit.obj - 0002:000263d0 __initp_misc_invarg 1005e3d0 f LIBCMTD:invarg.obj - 0002:000263f0 __invalid_parameter 1005e3f0 f LIBCMTD:invarg.obj - 0002:00026460 __invoke_watson 1005e460 f LIBCMTD:invarg.obj - 0002:000264a0 __call_reportfault 1005e4a0 f LIBCMTD:invarg.obj - 0002:00026650 __set_invalid_parameter_handler 1005e650 f LIBCMTD:invarg.obj - 0002:000266a0 __get_invalid_parameter_handler 1005e6a0 f LIBCMTD:invarg.obj - 0002:000266e0 ?_invalid_parameter@@YAXPBG00II@Z 1005e6e0 f LIBCMTD:invarg.obj - 0002:00026710 ?_invoke_watson@@YAXPBG00II@Z 1005e710 f LIBCMTD:invarg.obj - 0002:00026740 __CrtSetReportHookW2 1005e740 f LIBCMTD:dbgrptw.obj - 0002:00026b30 __CrtDbgReportW 1005eb30 f LIBCMTD:dbgrptw.obj - 0002:00026b80 __CrtDbgReportWV 1005eb80 f i LIBCMTD:dbgrptw.obj - 0002:00026bb0 ___crtMessageWindowW 1005ebb0 f LIBCMTD:dbgrptw.obj - 0002:000270b0 __invoke_watson_if_oneof 1005f0b0 f i LIBCMTD:dbgrptw.obj - 0002:00027100 ?_CrtDbgReportW@@YAHHPBGH00ZZ 1005f100 f LIBCMTD:dbgrptw.obj - 0002:00027150 __except_handler4 1005f150 f LIBCMTD:chandler4.obj - 0002:00027400 __malloc_dbg 1005f400 f LIBCMTD:dbgheap.obj - 0002:00027440 __nh_malloc 1005f440 f LIBCMTD:dbgheap.obj - 0002:00027470 __nh_malloc_dbg 1005f470 f LIBCMTD:dbgheap.obj - 0002:00027570 __heap_alloc 1005f570 f LIBCMTD:dbgheap.obj - 0002:00027a40 __heap_alloc_dbg 1005fa40 f LIBCMTD:dbgheap.obj - 0002:00027ab0 __calloc_dbg_impl 1005fab0 f LIBCMTD:dbgheap.obj - 0002:00027b50 __calloc_dbg 1005fb50 f LIBCMTD:dbgheap.obj - 0002:00027bc0 __recalloc 1005fbc0 f LIBCMTD:dbgheap.obj - 0002:00027c00 __realloc_dbg 1005fc00 f LIBCMTD:dbgheap.obj - 0002:00028440 __recalloc_dbg 10060440 f LIBCMTD:dbgheap.obj - 0002:00028520 __expand 10060520 f LIBCMTD:dbgheap.obj - 0002:00028550 __expand_dbg 10060550 f LIBCMTD:dbgheap.obj - 0002:000286a0 __free_nolock 100606a0 f LIBCMTD:dbgheap.obj - 0002:000286c0 __free_dbg 100606c0 f LIBCMTD:dbgheap.obj - 0002:00028760 __free_dbg_nolock 10060760 f LIBCMTD:dbgheap.obj - 0002:00028d80 __msize 10060d80 f LIBCMTD:dbgheap.obj - 0002:00028da0 __msize_dbg 10060da0 f LIBCMTD:dbgheap.obj - 0002:00029000 __CrtSetBreakAlloc 10061000 f LIBCMTD:dbgheap.obj - 0002:00029030 __CrtSetDbgBlockType 10061030 f LIBCMTD:dbgheap.obj - 0002:00029150 __CrtSetAllocHook 10061150 f LIBCMTD:dbgheap.obj - 0002:00029180 __CrtGetAllocHook 10061180 f LIBCMTD:dbgheap.obj - 0002:000291e0 __CrtCheckMemory 100611e0 f LIBCMTD:dbgheap.obj - 0002:00029750 __CrtSetDbgFlag 10061750 f LIBCMTD:dbgheap.obj - 0002:000298f0 __CrtDoForAllClientObjects 100618f0 f LIBCMTD:dbgheap.obj - 0002:00029a60 __CrtIsValidPointer 10061a60 f LIBCMTD:dbgheap.obj - 0002:00029a80 __CrtIsValidHeapPointer 10061a80 f LIBCMTD:dbgheap.obj - 0002:00029ae0 __CrtIsMemoryBlock 10061ae0 f LIBCMTD:dbgheap.obj - 0002:00029cb0 __CrtReportBlockType 10061cb0 f LIBCMTD:dbgheap.obj - 0002:00029cf0 __CrtSetDumpClient 10061cf0 f LIBCMTD:dbgheap.obj - 0002:00029d20 __CrtGetDumpClient 10061d20 f LIBCMTD:dbgheap.obj - 0002:00029d30 __CrtMemCheckpoint 10061d30 f LIBCMTD:dbgheap.obj - 0002:00029fd0 __CrtMemDifference 10061fd0 f LIBCMTD:dbgheap.obj - 0002:0002a270 __CrtMemDumpAllObjectsSince 10062270 f LIBCMTD:dbgheap.obj - 0002:0002a2c0 ??0_LocaleUpdate@@QAE@PAUlocaleinfo_struct@@@Z 100622c0 f i LIBCMTD:dbgheap.obj - 0002:0002a3d0 ??1_LocaleUpdate@@QAE@XZ 100623d0 f i LIBCMTD:dbgheap.obj - 0002:0002a410 ?GetLocaleT@_LocaleUpdate@@QAEPAUlocaleinfo_struct@@XZ 10062410 f i LIBCMTD:dbgheap.obj - 0002:0002aa10 __CrtDumpMemoryLeaks 10062a10 f LIBCMTD:dbgheap.obj - 0002:0002aab0 __CrtMemDumpStatistics 10062ab0 f LIBCMTD:dbgheap.obj - 0002:0002ac00 __aligned_malloc 10062c00 f LIBCMTD:dbgheap.obj - 0002:0002ac30 __aligned_malloc_dbg 10062c30 f LIBCMTD:dbgheap.obj - 0002:0002ac60 __aligned_realloc 10062c60 f LIBCMTD:dbgheap.obj - 0002:0002ac90 __aligned_recalloc 10062c90 f LIBCMTD:dbgheap.obj - 0002:0002acc0 __aligned_realloc_dbg 10062cc0 f LIBCMTD:dbgheap.obj - 0002:0002acf0 __aligned_recalloc_dbg 10062cf0 f LIBCMTD:dbgheap.obj - 0002:0002ad30 __aligned_offset_malloc 10062d30 f LIBCMTD:dbgheap.obj - 0002:0002ad60 __aligned_offset_malloc_dbg 10062d60 f LIBCMTD:dbgheap.obj - 0002:0002af90 __aligned_offset_realloc 10062f90 f LIBCMTD:dbgheap.obj - 0002:0002afc0 __aligned_offset_recalloc 10062fc0 f LIBCMTD:dbgheap.obj - 0002:0002aff0 __aligned_offset_realloc_dbg 10062ff0 f LIBCMTD:dbgheap.obj - 0002:0002b3a0 __aligned_offset_recalloc_dbg 100633a0 f LIBCMTD:dbgheap.obj - 0002:0002b490 __aligned_free 10063490 f LIBCMTD:dbgheap.obj - 0002:0002b4b0 __aligned_free_dbg 100634b0 f LIBCMTD:dbgheap.obj - 0002:0002b590 __CrtSetDebugFillThreshold 10063590 f LIBCMTD:dbgheap.obj - 0002:0002b5c0 __CrtSetCheckCount 100635c0 f LIBCMTD:dbgheap.obj - 0002:0002b5e0 __CrtGetCheckCount 100635e0 f LIBCMTD:dbgheap.obj - 0002:0002b5f0 __aligned_msize 100635f0 f LIBCMTD:dbgheap.obj - 0002:0002b620 __aligned_msize_dbg 10063620 f LIBCMTD:dbgheap.obj - 0002:0002b770 __flsbuf 10063770 f LIBCMTD:_flsbuf.obj - 0002:0002bae0 __output_l 10063ae0 f LIBCMTD:output.obj - 0002:0002d420 _get_int_arg 10065420 f i LIBCMTD:output.obj - 0002:0002d450 _get_int64_arg 10065450 f i LIBCMTD:output.obj - 0002:0002d480 _get_short_arg 10065480 f i LIBCMTD:output.obj - 0002:0002d4b0 __vsprintf_l 100654b0 f LIBCMTD:vsprintf.obj - 0002:0002d6b0 _vsprintf 100656b0 f LIBCMTD:vsprintf.obj - 0002:0002d6e0 __vscprintf_helper 100656e0 f LIBCMTD:vsprintf.obj - 0002:0002d7f0 __vscprintf 100657f0 f LIBCMTD:vsprintf.obj - 0002:0002d820 __vscprintf_l 10065820 f LIBCMTD:vsprintf.obj - 0002:0002d850 __vscprintf_p 10065850 f LIBCMTD:vsprintf.obj - 0002:0002d880 __vscprintf_p_l 10065880 f LIBCMTD:vsprintf.obj - 0002:0002d8b0 __vsnprintf_helper 100658b0 f LIBCMTD:vsnprnc.obj - 0002:0002db10 __vsnprintf_c 10065b10 f LIBCMTD:vsnprnc.obj - 0002:0002db70 __vsnprintf_c_l 10065b70 f LIBCMTD:vsnprnc.obj - 0002:0002dbd0 __vsprintf_s_l 10065bd0 f LIBCMTD:vsnprnc.obj - 0002:0002ded0 _vsprintf_s 10065ed0 f LIBCMTD:vsnprnc.obj - 0002:0002df00 __vsnprintf_s_l 10065f00 f LIBCMTD:vsnprnc.obj - 0002:0002e380 __vsnprintf_s 10066380 f LIBCMTD:vsnprnc.obj - 0002:0002e3b0 __vsprintf_p 100663b0 f LIBCMTD:vsnprnc.obj - 0002:0002e410 __vsprintf_p_l 10066410 f LIBCMTD:vsnprnc.obj - 0002:0002e470 _strcpy_s 10066470 f LIBCMTD:strcpy_s.obj - 0002:0002e800 __encoded_null 10066800 f LIBCMTD:tidtable.obj - 0002:0002e820 ___crtTlsAlloc@4 10066820 f LIBCMTD:tidtable.obj - 0002:0002e840 ___fls_getvalue@4 10066840 f LIBCMTD:tidtable.obj - 0002:0002e870 ___get_flsindex 10066870 f LIBCMTD:tidtable.obj - 0002:0002e880 ___set_flsgetvalue 10066880 f LIBCMTD:tidtable.obj - 0002:0002e8e0 ___fls_setvalue@8 100668e0 f LIBCMTD:tidtable.obj - 0002:0002e910 __mtinit 10066910 f LIBCMTD:tidtable.obj - 0002:0002eb90 __mtterm 10066b90 f LIBCMTD:tidtable.obj - 0002:0002ec00 __initptd 10066c00 f LIBCMTD:tidtable.obj - 0002:0002ed70 __getptd_noexit 10066d70 f LIBCMTD:tidtable.obj - 0002:0002ee60 __getptd 10066e60 f LIBCMTD:tidtable.obj - 0002:0002ee90 __freefls@4 10066e90 f LIBCMTD:tidtable.obj - 0002:0002f120 __freeptd 10067120 f LIBCMTD:tidtable.obj - 0002:0002f1c0 ___threadid 100671c0 f LIBCMTD:tidtable.obj - 0002:0002f1d0 ___threadhandle 100671d0 f LIBCMTD:tidtable.obj - 0002:0002f1e0 ___sys_nerr 100671e0 f LIBCMTD:syserr.obj - 0002:0002f1f0 ___sys_errlist 100671f0 f LIBCMTD:syserr.obj - 0002:0002f200 _strncpy_s 10067200 f LIBCMTD:strncpy_s.obj - 0002:0002f6f0 __vsnprintf_l 100676f0 f LIBCMTD:vsnprint.obj - 0002:0002f920 _vsnprintf 10067920 f LIBCMTD:vsnprint.obj - 0002:0002f920 __vsnprintf 10067920 f LIBCMTD:vsnprint.obj - 0002:0002f950 ___iob_func 10067950 f LIBCMTD:_file.obj - 0002:0002f960 ___initstdio 10067960 f LIBCMTD:_file.obj - 0002:0002fb00 ___endstdio 10067b00 f LIBCMTD:_file.obj - 0002:0002fb40 __lock_file 10067b40 f LIBCMTD:_file.obj - 0002:0002fbb0 __lock_file2 10067bb0 f LIBCMTD:_file.obj - 0002:0002fc00 __unlock_file 10067c00 f LIBCMTD:_file.obj - 0002:0002fc70 __unlock_file2 10067c70 f LIBCMTD:_file.obj - 0002:0002fcc0 __openfile 10067cc0 f LIBCMTD:_open.obj - 0002:00030670 __getstream 10068670 f LIBCMTD:stream.obj - 0002:00030970 __local_unwind4 10068970 f LIBCMTD:exsup4.obj - 0002:00030a46 __seh_longjmp_unwind4@4 10068a46 f LIBCMTD:exsup4.obj - 0002:00030a62 @_EH4_CallFilterFunc@8 10068a62 f LIBCMTD:exsup4.obj - 0002:00030a79 @_EH4_TransferToHandler@8 10068a79 f LIBCMTD:exsup4.obj - 0002:00030a92 @_EH4_GlobalUnwind2@8 10068a92 f LIBCMTD:exsup4.obj - 0002:00030aab @_EH4_LocalUnwind@16 10068aab f LIBCMTD:exsup4.obj - 0002:00030b20 __filbuf 10068b20 f LIBCMTD:_filbuf.obj - 0002:00030e00 __read 10068e00 f LIBCMTD:read.obj - 0002:00030e00 _read 10068e00 f LIBCMTD:read.obj - 0002:00031140 __read_nolock 10069140 f LIBCMTD:read.obj - 0002:00032460 __fileno 1006a460 f LIBCMTD:fileno.obj - 0002:000324f0 _memcpy_s 1006a4f0 f LIBCMTD:memcpy_s.obj - 0002:000326e0 _write 1006a6e0 f LIBCMTD:write.obj - 0002:000326e0 __write 1006a6e0 f LIBCMTD:write.obj - 0002:00032990 __write_nolock 1006a990 f LIBCMTD:write.obj - 0002:000337a0 _fflush 1006b7a0 f LIBCMTD:fflush.obj - 0002:00033860 __fflush_nolock 1006b860 f LIBCMTD:fflush.obj - 0002:000338d0 __flush 1006b8d0 f LIBCMTD:fflush.obj - 0002:000339c0 __flushall 1006b9c0 f LIBCMTD:fflush.obj - 0002:00033bf0 __lseek 1006bbf0 f LIBCMTD:lseek.obj - 0002:00033ea0 __lseek_nolock 1006bea0 f LIBCMTD:lseek.obj - 0002:00033fb0 __close 1006bfb0 f LIBCMTD:close.obj - 0002:00033fb0 _close 1006bfb0 f LIBCMTD:close.obj - 0002:00034250 __close_nolock 1006c250 f LIBCMTD:close.obj - 0002:00034350 __freebuf 1006c350 f LIBCMTD:_freebuf.obj - 0002:00034400 @__security_check_cookie@4 1006c400 f LIBCMTD:secchk.obj - 0002:00034420 __cinit 1006c420 f LIBCMTD:crt0dat.obj - 0002:000344f0 _exit 1006c4f0 f LIBCMTD:crt0dat.obj - 0002:00034510 __exit 1006c510 f LIBCMTD:crt0dat.obj - 0002:00034530 __cexit 1006c530 f LIBCMTD:crt0dat.obj - 0002:00034550 __c_exit 1006c550 f LIBCMTD:crt0dat.obj - 0002:00034570 __amsg_exit 1006c570 f LIBCMTD:crt0dat.obj - 0002:000345a0 ___freeCrtMemory 1006c5a0 f LIBCMTD:crt0dat.obj - 0002:000349b0 ___crtCorExitProcess 1006c9b0 f LIBCMTD:crt0dat.obj - 0002:00034a00 ___crtExitProcess 1006ca00 f LIBCMTD:crt0dat.obj - 0002:00034a30 __lockexit 1006ca30 f LIBCMTD:crt0dat.obj - 0002:00034a50 __unlockexit 1006ca50 f LIBCMTD:crt0dat.obj - 0002:00034a70 __init_pointers 1006ca70 f LIBCMTD:crt0dat.obj - 0002:00034b20 __initterm_e 1006cb20 f LIBCMTD:crt0dat.obj - 0002:00034b70 __get_wpgmptr 1006cb70 f LIBCMTD:crt0dat.obj - 0002:00034ca0 __get_pgmptr 1006cca0 f LIBCMTD:crt0dat.obj - 0002:00034dd0 __setenvp 1006cdd0 f LIBCMTD:stdenvp.obj - 0002:00034fe0 __setargv 1006cfe0 f LIBCMTD:stdargv.obj - 0002:00035140 __set_pgmptr 1006d140 f i LIBCMTD:stdargv.obj - 0002:000355a0 ___crtGetEnvironmentStringsA 1006d5a0 f LIBCMTD:a_env.obj - 0002:000356e0 __RTC_Initialize 1006d6e0 f LIBCMTD:_initsect_.obj - 0002:00035710 __RTC_Terminate 1006d710 f LIBCMTD:_initsect_.obj - 0002:00035740 __heap_init 1006d740 f LIBCMTD:heapinit.obj - 0002:00035790 __heap_term 1006d790 f LIBCMTD:heapinit.obj - 0002:000357c0 __get_heap_handle 1006d7c0 f LIBCMTD:heapinit.obj - 0002:00035800 ___security_init_cookie 1006d800 f LIBCMTD:gs_support.obj - 0002:00035920 ___CppXcptFilter 1006d920 f LIBCMTD:winxfltr.obj - 0002:00035950 __XcptFilter 1006d950 f LIBCMTD:winxfltr.obj - 0002:00035c40 _DllMain@12 1006dc40 f LIBCMTD:dllmain.obj - 0002:00035c60 __mtinitlocks 1006dc60 f LIBCMTD:mlock.obj - 0002:00035d10 __mtdeletelocks 1006dd10 f LIBCMTD:mlock.obj - 0002:00035e00 __mtinitlocknum 1006de00 f LIBCMTD:mlock.obj - 0002:00035fa0 __lock 1006dfa0 f LIBCMTD:mlock.obj - 0002:00035ff0 __unlock 1006dff0 f LIBCMTD:mlock.obj - 0002:00036010 __lockerr_exit 1006e010 f LIBCMTD:mlock.obj - 0002:00036040 __CrtDefaultAllocHook 1006e040 f LIBCMTD:dbghook.obj - 0002:00036050 __crt_debugger_hook 1006e050 f LIBCMTD:dbghook.obj - 0002:00036070 __CrtDbgBreak 1006e070 f LIBCMTD:dbgrptt.obj - 0002:00036080 __CrtSetReportMode 1006e080 f LIBCMTD:dbgrptt.obj - 0002:00036210 __CrtSetReportFile 1006e210 f LIBCMTD:dbgrptt.obj - 0002:00036340 __CrtSetReportHook 1006e340 f LIBCMTD:dbgrptt.obj - 0002:00036370 __CrtGetReportHook 1006e370 f LIBCMTD:dbgrptt.obj - 0002:00036380 __VCrtDbgReportA 1006e380 f LIBCMTD:dbgrptt.obj - 0002:00036db0 __VCrtDbgReportW 1006edb0 f LIBCMTD:dbgrptt.obj - 0002:00037930 __initp_misc_winsig 1006f930 f LIBCMTD:winsig.obj - 0002:00037970 _signal 1006f970 f LIBCMTD:winsig.obj - 0002:00037f20 _raise 1006ff20 f LIBCMTD:winsig.obj - 0002:00038370 ___get_sigabrt 10070370 f LIBCMTD:winsig.obj - 0002:00038390 ___fpecode 10070390 f LIBCMTD:winsig.obj - 0002:000383b0 ___pxcptinfoptrs 100703b0 f LIBCMTD:winsig.obj - 0002:000383d0 ___crtMessageBoxW 100703d0 f LIBCMTD:crtmboxw.obj - 0002:00038680 __swprintf 10070680 f LIBCMTD:swprintf.obj - 0002:00038900 ___swprintf_l 10070900 f LIBCMTD:swprintf.obj - 0002:00038940 _swprintf_s 10070940 f LIBCMTD:swprintf.obj - 0002:00038980 __snwprintf_s 10070980 f LIBCMTD:swprintf.obj - 0002:000389c0 __swprintf_p 100709c0 f LIBCMTD:swprintf.obj - 0002:00038a00 __swprintf_s_l 10070a00 f LIBCMTD:swprintf.obj - 0002:00038a40 __snwprintf_s_l 10070a40 f LIBCMTD:swprintf.obj - 0002:00038a80 __swprintf_p_l 10070a80 f LIBCMTD:swprintf.obj - 0002:00038ac0 __scwprintf 10070ac0 f LIBCMTD:swprintf.obj - 0002:00038af0 __scwprintf_p 10070af0 f LIBCMTD:swprintf.obj - 0002:00038b20 __scwprintf_l 10070b20 f LIBCMTD:swprintf.obj - 0002:00038b50 __scwprintf_p_l 10070b50 f LIBCMTD:swprintf.obj - 0002:00038b80 _wcslen 10070b80 f LIBCMTD:wcslen.obj - 0002:00038bc0 _wcscpy_s 10070bc0 f LIBCMTD:wcscpy_s.obj - 0002:00038f60 __ValidateImageBase 10070f60 f LIBCMTD:pesect.obj - 0002:00038fe0 __FindPESection 10070fe0 f LIBCMTD:pesect.obj - 0002:00039080 __IsNonwritableInCurrentImage 10071080 f LIBCMTD:pesect.obj - 0002:000391e0 __initp_heap_handler 100711e0 f LIBCMTD:handler.obj - 0002:00039200 ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z 10071200 f LIBCMTD:handler.obj - 0002:00039250 ?_set_new_handler@@YAP6AHI@ZH@Z 10071250 f LIBCMTD:handler.obj - 0002:000392a0 ?_query_new_handler@@YAP6AHI@ZXZ 100712a0 f LIBCMTD:handler.obj - 0002:000392c0 __callnewh 100712c0 f LIBCMTD:handler.obj - 0002:00039310 __malloc_base 10071310 f LIBCMTD:malloc.obj - 0002:000393c0 __heap_alloc_base 100713c0 f i LIBCMTD:malloc.obj - 0002:00039430 __CrtSetReportHook2 10071430 f LIBCMTD:dbgrpt.obj - 0002:00039820 __CrtDbgReport 10071820 f LIBCMTD:dbgrpt.obj - 0002:00039870 __CrtDbgReportV 10071870 f i LIBCMTD:dbgrpt.obj - 0002:000398a0 ___crtMessageWindowA 100718a0 f LIBCMTD:dbgrpt.obj - 0002:00039da0 __expand_base 10071da0 f LIBCMTD:expand.obj - 0002:00039f50 __realloc_base 10071f50 f LIBCMTD:realloc.obj - 0002:0003a090 __free_base 10072090 f LIBCMTD:free.obj - 0002:0003a100 __heapchk 10072100 f LIBCMTD:heapchk.obj - 0002:0003a140 __heapset 10072140 f LIBCMTD:heapchk.obj - 0002:0003a150 ___updatetmbcinfo 10072150 f LIBCMTD:mbctype.obj - 0002:0003a2a0 __setmbcp 100722a0 f LIBCMTD:mbctype.obj - 0002:0003a730 __setmbcp_nolock 10072730 f LIBCMTD:mbctype.obj - 0002:0003b110 __getmbcp 10073110 f LIBCMTD:mbctype.obj - 0002:0003b1a0 ___initmbctable 100731a0 f LIBCMTD:mbctype.obj - 0002:0003b1d0 ___addlocaleref 100731d0 f LIBCMTD:localref.obj - 0002:0003b340 ___removelocaleref 10073340 f LIBCMTD:localref.obj - 0002:0003b4c0 ___freetlocinfo 100734c0 f LIBCMTD:localref.obj - 0002:0003b860 __updatetlocinfoEx_nolock 10073860 f LIBCMTD:localref.obj - 0002:0003b900 ___updatetlocinfo 10073900 f LIBCMTD:localref.obj - 0002:0003ba00 __chvalidator 10073a00 f LIBCMTD:isctype.obj - 0002:0003ba60 __chvalidator_l 10073a60 f LIBCMTD:isctype.obj - 0002:0003bb40 __isctype_l 10073b40 f LIBCMTD:isctype.obj - 0002:0003bca0 __isctype 10073ca0 f LIBCMTD:isctype.obj - 0002:0003bcf0 __getbuf 10073cf0 f LIBCMTD:_getbuf.obj - 0002:0003bdf0 __isatty 10073df0 f LIBCMTD:isatty.obj - 0002:0003bee0 __initp_misc_cfltcvt_tab 10073ee0 f LIBCMTD:cmiscdat.obj - 0002:0003bf30 _printf 10073f30 f LIBCMTD:printf.obj - 0002:0003c0c0 __printf_l 100740c0 f LIBCMTD:printf.obj - 0002:0003c0f0 __printf_s_l 100740f0 f LIBCMTD:printf.obj - 0002:0003c120 _printf_s 10074120 f LIBCMTD:printf.obj - 0002:0003c150 __printf_p_l 10074150 f LIBCMTD:printf.obj - 0002:0003c180 __printf_p 10074180 f LIBCMTD:printf.obj - 0002:0003c1b0 __set_printf_count_output 100741b0 f LIBCMTD:printf.obj - 0002:0003c210 __get_printf_count_output 10074210 f LIBCMTD:printf.obj - 0002:0003c240 __wctomb_s_l 10074240 f LIBCMTD:wctomb.obj - 0002:0003c600 _wctomb_s 10074600 f LIBCMTD:wctomb.obj - 0002:0003c630 __wctomb_l 10074630 f LIBCMTD:wctomb.obj - 0002:0003c6d0 _wctomb 100746d0 f LIBCMTD:wctomb.obj - 0002:0003c730 __isleadbyte_l 10074730 f i LIBCMTD:_wctype.obj - 0002:0003c790 _isleadbyte 10074790 f i LIBCMTD:_wctype.obj - 0002:0003c7b0 __iswalpha_l 100747b0 f i LIBCMTD:_wctype.obj - 0002:0003c7d0 _iswalpha 100747d0 f i LIBCMTD:_wctype.obj - 0002:0003c7f0 __iswupper_l 100747f0 f i LIBCMTD:_wctype.obj - 0002:0003c810 _iswupper 10074810 f i LIBCMTD:_wctype.obj - 0002:0003c830 __iswlower_l 10074830 f i LIBCMTD:_wctype.obj - 0002:0003c850 _iswlower 10074850 f i LIBCMTD:_wctype.obj - 0002:0003c870 __iswdigit_l 10074870 f i LIBCMTD:_wctype.obj - 0002:0003c890 _iswdigit 10074890 f i LIBCMTD:_wctype.obj - 0002:0003c8b0 __iswxdigit_l 100748b0 f i LIBCMTD:_wctype.obj - 0002:0003c8d0 _iswxdigit 100748d0 f i LIBCMTD:_wctype.obj - 0002:0003c8f0 __iswspace_l 100748f0 f i LIBCMTD:_wctype.obj - 0002:0003c910 _iswspace 10074910 f i LIBCMTD:_wctype.obj - 0002:0003c930 __iswpunct_l 10074930 f i LIBCMTD:_wctype.obj - 0002:0003c950 _iswpunct 10074950 f i LIBCMTD:_wctype.obj - 0002:0003c970 __iswalnum_l 10074970 f i LIBCMTD:_wctype.obj - 0002:0003c990 _iswalnum 10074990 f i LIBCMTD:_wctype.obj - 0002:0003c9b0 __iswprint_l 100749b0 f i LIBCMTD:_wctype.obj - 0002:0003c9d0 _iswprint 100749d0 f i LIBCMTD:_wctype.obj - 0002:0003c9f0 __iswgraph_l 100749f0 f i LIBCMTD:_wctype.obj - 0002:0003ca10 _iswgraph 10074a10 f i LIBCMTD:_wctype.obj - 0002:0003ca30 __iswcntrl_l 10074a30 f i LIBCMTD:_wctype.obj - 0002:0003ca50 _iswcntrl 10074a50 f i LIBCMTD:_wctype.obj - 0002:0003ca70 _iswascii 10074a70 f i LIBCMTD:_wctype.obj - 0002:0003ca90 __iswcsym_l 10074a90 f i LIBCMTD:_wctype.obj - 0002:0003cae0 ___iswcsym 10074ae0 f i LIBCMTD:_wctype.obj - 0002:0003cb30 __iswcsymf_l 10074b30 f i LIBCMTD:_wctype.obj - 0002:0003cb80 ___iswcsymf 10074b80 f i LIBCMTD:_wctype.obj - 0002:0003cbd0 __aullrem 10074bd0 f LIBCMTD:ullrem.obj - 0002:0003cc70 __validate_param_reuseA 10074c70 f LIBCMTD:outputp.obj - 0002:0003cf80 __output_p_l 10074f80 f LIBCMTD:outputp.obj - 0002:00041a30 _get_crtdouble_arg 10079a30 f i LIBCMTD:outputp.obj - 0002:00041a60 __output_s_l 10079a60 f LIBCMTD:outputs.obj - 0002:00043550 __fcloseall 1007b550 f LIBCMTD:closeall.obj - 0002:000436d0 _open 1007b6d0 f LIBCMTD:open.obj - 0002:000436d0 __open 1007b6d0 f LIBCMTD:open.obj - 0002:000438b0 __sopen_helper 1007b8b0 f LIBCMTD:open.obj - 0002:00044fa0 __sopen 1007cfa0 f LIBCMTD:open.obj - 0002:00045030 __sopen_s 1007d030 f LIBCMTD:open.obj - 0002:00045060 __mbsnbicmp_l 1007d060 f LIBCMTD:mbsnbicm.obj - 0002:00045630 __mbsnbicmp 1007d630 f LIBCMTD:mbsnbicm.obj - 0002:00045660 __mbsnbcmp_l 1007d660 f LIBCMTD:mbsnbcmp.obj - 0002:00045a00 __mbsnbcmp 1007da00 f LIBCMTD:mbsnbcmp.obj - 0002:00045a30 __global_unwind2 1007da30 f LIBCMTD:exsup.obj - 0002:00045a95 __local_unwind2 1007da95 f LIBCMTD:exsup.obj - 0002:00045b19 __abnormal_termination 1007db19 f LIBCMTD:exsup.obj - 0002:00045b3c __NLG_Notify1 1007db3c f LIBCMTD:exsup.obj - 0002:00045b45 __NLG_Notify 1007db45 f LIBCMTD:exsup.obj - 0002:00045b5c __NLG_Dispatch2 1007db5c LIBCMTD:exsup.obj - 0002:00045b5c __NLG_Dispatch 1007db5c LIBCMTD:exsup.obj - 0002:00045b64 __NLG_Call 1007db64 f LIBCMTD:exsup.obj - 0002:00045b66 __NLG_Return2 1007db66 LIBCMTD:exsup.obj - 0002:00045bc0 __putwch 1007dbc0 f LIBCMTD:putwch.obj - 0002:00045c70 __putwch_nolock 1007dc70 f LIBCMTD:putwch.obj - 0002:00045ce0 __mbtowc_l 1007dce0 f LIBCMTD:mbtowc.obj - 0002:00045f80 _mbtowc 1007df80 f LIBCMTD:mbtowc.obj - 0002:00045fb0 __commit 1007dfb0 f LIBCMTD:commit.obj - 0002:00046250 ___report_gsfailure 1007e250 f LIBCMTD:gs_report.obj - 0002:000463b0 __onexit 1007e3b0 f LIBCMTD:onexit.obj - 0002:000465f0 _atexit 1007e5f0 f LIBCMTD:onexit.obj - 0002:00046620 ___onexitinit 1007e620 f LIBCMTD:onexit.obj - 0002:00046690 __FF_MSGBANNER 1007e690 f LIBCMTD:crt0msg.obj - 0002:000466f0 __GET_RTERRMSG 1007e6f0 f LIBCMTD:crt0msg.obj - 0002:00046750 __NMSG_WRITE 1007e750 f LIBCMTD:crt0msg.obj - 0002:00046b50 __initp_eh_hooks 1007eb50 f LIBCMTD:hooks.obj - 0002:00046b70 ?terminate@@YAXXZ 1007eb70 f LIBCMTD:hooks.obj - 0002:00046c10 ?unexpected@@YAXXZ 1007ec10 f LIBCMTD:hooks.obj - 0002:00046c40 ?_inconsistency@@YAXXZ 1007ec40 f LIBCMTD:hooks.obj - 0002:00046cf0 __initp_misc_rand_s 1007ecf0 f LIBCMTD:rand_s.obj - 0002:00046d10 _rand_s 1007ed10 f LIBCMTD:rand_s.obj - 0002:00046fb0 ___getlocaleinfo 1007efb0 f LIBCMTD:inithelp.obj - 0002:00047340 __initp_misc_purevirt 1007f340 f LIBCMTD:inithelp.obj - 0002:00047360 __ismbbkalnum_l 1007f360 f LIBCMTD:ismbbyte.obj - 0002:00047390 __ismbbkalnum 1007f390 f LIBCMTD:ismbbyte.obj - 0002:000473b0 __ismbbkprint_l 1007f3b0 f LIBCMTD:ismbbyte.obj - 0002:000473e0 __ismbbkprint 1007f3e0 f LIBCMTD:ismbbyte.obj - 0002:00047400 __ismbbkpunct_l 1007f400 f LIBCMTD:ismbbyte.obj - 0002:00047430 __ismbbkpunct 1007f430 f LIBCMTD:ismbbyte.obj - 0002:00047450 __ismbbalnum_l 1007f450 f LIBCMTD:ismbbyte.obj - 0002:00047480 __ismbbalnum 1007f480 f LIBCMTD:ismbbyte.obj - 0002:000474b0 __ismbbalpha_l 1007f4b0 f LIBCMTD:ismbbyte.obj - 0002:000474e0 __ismbbalpha 1007f4e0 f LIBCMTD:ismbbyte.obj - 0002:00047510 __ismbbgraph_l 1007f510 f LIBCMTD:ismbbyte.obj - 0002:00047540 __ismbbgraph 1007f540 f LIBCMTD:ismbbyte.obj - 0002:00047570 __ismbbprint_l 1007f570 f LIBCMTD:ismbbyte.obj - 0002:000475a0 __ismbbprint 1007f5a0 f LIBCMTD:ismbbyte.obj - 0002:000475d0 __ismbbpunct_l 1007f5d0 f LIBCMTD:ismbbyte.obj - 0002:00047600 __ismbbpunct 1007f600 f LIBCMTD:ismbbyte.obj - 0002:00047620 __ismbblead_l 1007f620 f LIBCMTD:ismbbyte.obj - 0002:00047650 __ismbblead 1007f650 f LIBCMTD:ismbbyte.obj - 0002:00047670 __ismbbtrail_l 1007f670 f LIBCMTD:ismbbyte.obj - 0002:000476a0 __ismbbtrail 1007f6a0 f LIBCMTD:ismbbyte.obj - 0002:000476c0 __ismbbkana_l 1007f6c0 f LIBCMTD:ismbbyte.obj - 0002:00047750 __ismbbkana 1007f750 f LIBCMTD:ismbbyte.obj - 0002:00047870 __mbstowcs_l_helper 1007f870 f LIBCMTD:mbstowcs.obj - 0002:00047ca0 __mbstowcs_l 1007fca0 f LIBCMTD:mbstowcs.obj - 0002:00047cd0 _mbstowcs 1007fcd0 f LIBCMTD:mbstowcs.obj - 0002:00047d30 __mbstowcs_s_l 1007fd30 f LIBCMTD:mbstowcs.obj - 0002:00048190 _mbstowcs_s 10080190 f LIBCMTD:mbstowcs.obj - 0002:000481c0 _strcat_s 100801c0 f LIBCMTD:strcat_s.obj - 0002:00048690 __itoa_s 10080690 f LIBCMTD:xtoas.obj - 0002:00048b40 __ltoa_s 10080b40 f LIBCMTD:xtoas.obj - 0002:00048b90 __ultoa_s 10080b90 f LIBCMTD:xtoas.obj - 0002:00048bc0 __i64toa_s 10080bc0 f LIBCMTD:xtoas.obj - 0002:000490c0 __ui64toa_s 100810c0 f LIBCMTD:xtoas.obj - 0002:000490f0 __wcstombs_l_helper 100810f0 f LIBCMTD:wcstombs.obj - 0002:00049790 __wcstombs_l 10081790 f LIBCMTD:wcstombs.obj - 0002:000497c0 _wcstombs 100817c0 f LIBCMTD:wcstombs.obj - 0002:000497f0 __wcstombs_s_l 100817f0 f LIBCMTD:wcstombs.obj - 0002:00049be0 _wcstombs_s 10081be0 f LIBCMTD:wcstombs.obj - 0002:00049c10 _wcscat_s 10081c10 f LIBCMTD:wcscat_s.obj - 0002:0004a0f0 __vswprintf_helper 100820f0 f LIBCMTD:vswprnc.obj - 0002:0004a3e0 __vswprintf_c 100823e0 f LIBCMTD:vswprnc.obj - 0002:0004a440 __vswprintf_c_l 10082440 f LIBCMTD:vswprnc.obj - 0002:0004a4a0 __vswprintf_s_l 100824a0 f LIBCMTD:vswprnc.obj - 0002:0004a7a0 _vswprintf_s 100827a0 f LIBCMTD:vswprnc.obj - 0002:0004a7d0 __vsnwprintf_s_l 100827d0 f LIBCMTD:vswprnc.obj - 0002:0004ac70 __vsnwprintf_s 10082c70 f LIBCMTD:vswprnc.obj - 0002:0004aca0 __vswprintf_p 10082ca0 f LIBCMTD:vswprnc.obj - 0002:0004ad00 __vswprintf_p_l 10082d00 f LIBCMTD:vswprnc.obj - 0002:0004ad60 __itow_s 10082d60 f LIBCMTD:xtows.obj - 0002:0004b230 __ltow_s 10083230 f LIBCMTD:xtows.obj - 0002:0004b280 __ultow_s 10083280 f LIBCMTD:xtows.obj - 0002:0004b2b0 __i64tow_s 100832b0 f LIBCMTD:xtows.obj - 0002:0004b7d0 __ui64tow_s 100837d0 f LIBCMTD:xtows.obj - 0002:0004b800 __woutput_l 10083800 f LIBCMTD:woutput.obj - 0002:0004ce50 __vswprintf_l 10084e50 f LIBCMTD:vswprint.obj - 0002:0004d0c0 __vswprintf 100850c0 f LIBCMTD:vswprint.obj - 0002:0004d0f0 ___vswprintf_l 100850f0 f LIBCMTD:vswprint.obj - 0002:0004d120 __vscwprintf_helper 10085120 f LIBCMTD:vswprint.obj - 0002:0004d230 __vscwprintf 10085230 f LIBCMTD:vswprint.obj - 0002:0004d260 __vscwprintf_l 10085260 f LIBCMTD:vswprint.obj - 0002:0004d290 __vscwprintf_p 10085290 f LIBCMTD:vswprint.obj - 0002:0004d2c0 __vscwprintf_p_l 100852c0 f LIBCMTD:vswprint.obj - 0002:0004d2f0 ___crtMessageBoxA 100852f0 f LIBCMTD:crtmbox.obj - 0002:0004d5a0 ?_JumpToContinuation@@YGXPAXPAUEHRegistrationNode@@@Z 100855a0 f LIBCMTD:_trnsctrl_.obj - 0002:0004d5f0 ?_CallMemberFunction0@@YGXPAX0@Z 100855f0 f LIBCMTD:_trnsctrl_.obj - 0002:0004d600 ?_CallMemberFunction1@@YGXPAX00@Z 10085600 f LIBCMTD:_trnsctrl_.obj - 0002:0004d610 ?_CallMemberFunction2@@YGXPAX00H@Z 10085610 f LIBCMTD:_trnsctrl_.obj - 0002:0004d620 ?_UnwindNestedFrames@@YGXPAUEHRegistrationNode@@PAUEHExceptionRecord@@@Z 10085620 f LIBCMTD:_trnsctrl_.obj - 0002:0004d690 ___CxxFrameHandler 10085690 f LIBCMTD:_trnsctrl_.obj - 0002:0004d6e0 ___CxxFrameHandler3 100856e0 f LIBCMTD:_trnsctrl_.obj - 0002:0004d730 ___CxxFrameHandler2 10085730 f LIBCMTD:_trnsctrl_.obj - 0002:0004d780 ___CxxLongjmpUnwind@4 10085780 f LIBCMTD:_trnsctrl_.obj - 0002:0004d7c0 ?_CallCatchBlock2@@YAPAXPAUEHRegistrationNode@@PBU_s_FuncInfo@@PAXHK@Z 100857c0 f LIBCMTD:_trnsctrl_.obj - 0002:0004d8b0 ?_CallSETranslator@@YAHPAUEHExceptionRecord@@PAUEHRegistrationNode@@PAX2PBU_s_FuncInfo@@H1@Z 100858b0 f LIBCMTD:_trnsctrl_.obj - 0002:0004dac0 ?_GetRangeOfTrysToCheck@@YAPBU_s_TryBlockMapEntry@@PBU_s_FuncInfo@@HHPAI1@Z 10085ac0 f LIBCMTD:_trnsctrl_.obj - 0002:0004db60 __CreateFrameInfo 10085b60 f LIBCMTD:_trnsctrl_.obj - 0002:0004dba0 __IsExceptionObjectToBeDestroyed 10085ba0 f LIBCMTD:_trnsctrl_.obj - 0002:0004dbe0 __FindAndUnlinkFrame 10085be0 f LIBCMTD:_trnsctrl_.obj - 0002:0004dc50 ___crtLCMapStringA 10085c50 f LIBCMTD:a_map.obj - 0002:0004e000 __MarkAllocaS 10086000 f i LIBCMTD:a_map.obj - 0002:0004e030 __freea 10086030 f i LIBCMTD:a_map.obj - 0002:0004e110 ___crtGetStringTypeA 10086110 f LIBCMTD:a_str.obj - 0002:0004e2d0 ___init_time 100862d0 f LIBCMTD:inittime.obj - 0002:0004f340 ___free_lc_time 10087340 f LIBCMTD:inittime.obj - 0002:0004fb50 ___init_numeric 10087b50 f LIBCMTD:initnum.obj - 0002:0004fff0 ___free_lconv_num 10087ff0 f LIBCMTD:initnum.obj - 0002:000500d0 ___init_monetary 100880d0 f LIBCMTD:initmon.obj - 0002:00050830 ___free_lconv_mon 10088830 f LIBCMTD:initmon.obj - 0002:00050a40 _localeconv 10088a40 f LIBCMTD:lconv.obj - 0002:00050aa0 ___pwctype_func 10088aa0 f LIBCMTD:ctype.obj - 0002:00050ab0 ___pctype_func 10088ab0 f LIBCMTD:ctype.obj - 0002:00050b10 ____setlc_active_func 10088b10 f LIBCMTD:setlocal.obj - 0002:00050b20 ____unguarded_readlc_active_add_func 10088b20 f LIBCMTD:setlocal.obj - 0002:00050b30 __configthreadlocale 10088b30 f LIBCMTD:setlocal.obj - 0002:00050c80 __locterm 10088c80 f LIBCMTD:setlocal.obj - 0002:00050d40 __free_locale 10088d40 f LIBCMTD:setlocal.obj - 0002:00050ed0 ___free_locale 10088ed0 f LIBCMTD:setlocal.obj - 0002:00050ef0 __create_locale 10088ef0 f LIBCMTD:setlocal.obj - 0002:000511b0 ___create_locale 100891b0 f LIBCMTD:setlocal.obj - 0002:000511d0 __get_current_locale 100891d0 f LIBCMTD:setlocal.obj - 0002:00051330 ___get_current_locale 10089330 f LIBCMTD:setlocal.obj - 0002:00051340 _setlocale 10089340 f LIBCMTD:setlocal.obj - 0002:000525a0 __expandlocale 1008a5a0 f LIBCMTD:setlocal.obj - 0002:000528f0 ___init_dummy 1008a8f0 f LIBCMTD:setlocal.obj - 0002:00052900 __strcats 1008a900 f LIBCMTD:setlocal.obj - 0002:000529a0 ___lc_strtolc 1008a9a0 f LIBCMTD:setlocal.obj - 0002:00052c20 ___lc_lctostr 1008ac20 f LIBCMTD:setlocal.obj - 0002:00052ce0 __fptrap 1008ace0 f LIBCMTD:crt0fp.obj - 0002:00052d00 __stbuf 1008ad00 f LIBCMTD:_sftbuf.obj - 0002:00052eb0 __ftbuf 1008aeb0 f LIBCMTD:_sftbuf.obj - 0002:00052f60 _vprintf_helper 1008af60 f LIBCMTD:vprintf.obj - 0002:000530c0 __vprintf_l 1008b0c0 f LIBCMTD:vprintf.obj - 0002:000530f0 __vprintf_s_l 1008b0f0 f LIBCMTD:vprintf.obj - 0002:00053120 __vprintf_p_l 1008b120 f LIBCMTD:vprintf.obj - 0002:00053150 _vprintf 1008b150 f LIBCMTD:vprintf.obj - 0002:00053180 _vprintf_s 1008b180 f LIBCMTD:vprintf.obj - 0002:000531b0 __vprintf_p 1008b1b0 f LIBCMTD:vprintf.obj - 0002:000531e0 ___init_ctype 1008b1e0 f LIBCMTD:initctyp.obj - 0002:00053900 ____mb_cur_max_func 1008b900 f LIBCMTD:initctyp.obj - 0002:00053960 ____mb_cur_max_l_func 1008b960 f LIBCMTD:initctyp.obj - 0002:000539a0 ____lc_codepage_func 1008b9a0 f LIBCMTD:initctyp.obj - 0002:00053a00 ____lc_collate_cp_func 1008ba00 f LIBCMTD:initctyp.obj - 0002:00053a60 ____lc_handle_func 1008ba60 f LIBCMTD:initctyp.obj - 0002:00053ac0 __iswctype_l 1008bac0 f LIBCMTD:iswctype.obj - 0002:00053ae0 _iswctype 1008bae0 f LIBCMTD:iswctype.obj - 0002:00053b60 _is_wctype 1008bb60 f LIBCMTD:iswctype.obj - 0002:00053b80 _strtol 1008bb80 f LIBCMTD:strtol.obj - 0002:00054200 __strtol_l 1008c200 f LIBCMTD:strtol.obj - 0002:00054230 _strtoul 1008c230 f LIBCMTD:strtol.obj - 0002:00054290 __strtoul_l 1008c290 f LIBCMTD:strtol.obj - 0002:000542c0 __chsize_s 1008c2c0 f LIBCMTD:chsize.obj - 0002:00054600 __chsize_nolock 1008c600 f LIBCMTD:chsize.obj - 0002:00054940 __chsize 1008c940 f LIBCMTD:chsize.obj - 0002:00054970 __setmode 1008c970 f LIBCMTD:setmode.obj - 0002:00054ca0 __setmode_nolock 1008cca0 f LIBCMTD:setmode.obj - 0002:00054fa0 __set_fmode 1008cfa0 f LIBCMTD:setmode.obj - 0002:00055080 __get_fmode 1008d080 f LIBCMTD:setmode.obj - 0002:00055120 __strnicmp_l 1008d120 f LIBCMTD:strnicmp.obj - 0002:000553f0 __strnicmp 1008d3f0 f LIBCMTD:strnicmp.obj - 0002:000555e0 _strncmp 1008d5e0 f LIBCMTD:strncmp.obj - 0002:000557b0 ___initconout 1008d7b0 f LIBCMTD:initcon.obj - 0002:000557e0 ___termconout 1008d7e0 f LIBCMTD:initcon.obj - 0002:00055810 __set_error_mode 1008d810 f LIBCMTD:errmode.obj - 0002:00055900 ___set_app_type 1008d900 f LIBCMTD:errmode.obj - 0002:00055920 _wcsncpy_s 1008d920 f LIBCMTD:wcsncpy_s.obj - 0002:00055e30 _abort 1008de30 f LIBCMTD:abort.obj - 0002:00055eb0 __set_abort_behavior 1008deb0 f LIBCMTD:abort.obj - 0002:00055ef0 ___crtGetLocaleInfoA 1008def0 f LIBCMTD:a_loc.obj - 0002:000560a0 __woutput_s_l 1008e0a0 f LIBCMTD:woutputs.obj - 0002:000578a0 __validate_param_reuseW 1008f8a0 f LIBCMTD:woutputp.obj - 0002:00057bb0 __woutput_p_l 1008fbb0 f LIBCMTD:woutputp.obj - 0002:0005c0f0 _fputwc 100940f0 f LIBCMTD:fputwc.obj - 0002:0005c230 __fputwc_nolock 10094230 f LIBCMTD:fputwc.obj - 0002:0005c5e0 _putwc 100945e0 f LIBCMTD:fputwc.obj - 0002:0005c600 ___InternalCxxFrameHandler 10094600 f LIBCMTD:frame.obj - 0002:0005cd70 ??0bad_exception@std@@QAE@PBD@Z 10094d70 f i LIBCMTD:frame.obj - 0002:0005cda0 ??1bad_exception@std@@UAE@XZ 10094da0 f i LIBCMTD:frame.obj - 0002:0005cdd0 ??_Gbad_exception@std@@UAEPAXI@Z 10094dd0 f i LIBCMTD:frame.obj - 0002:0005cdd0 ??_Ebad_exception@std@@UAEPAXI@Z 10094dd0 f i LIBCMTD:frame.obj - 0002:0005ce10 ??0bad_exception@std@@QAE@ABV01@@Z 10094e10 f i LIBCMTD:frame.obj - 0002:0005d030 ___TypeMatch 10095030 f LIBCMTD:frame.obj - 0002:0005d110 ___FrameUnwindFilter 10095110 f LIBCMTD:frame.obj - 0002:0005d1b0 ___FrameUnwindToState 100951b0 f LIBCMTD:frame.obj - 0002:0005d840 ___BuildCatchObjectHelper 10095840 f LIBCMTD:frame.obj - 0002:0005db50 ___BuildCatchObject 10095b50 f LIBCMTD:frame.obj - 0002:0005dca0 ___DestructExceptionObject 10095ca0 f LIBCMTD:frame.obj - 0002:0005dd80 ___AdjustPointer 10095d80 f LIBCMTD:frame.obj - 0002:0005dde0 ?__uncaught_exception@@YA_NXZ 10095de0 f LIBCMTD:frame.obj - 0002:0005de00 ___CxxExceptionFilter 10095e00 f LIBCMTD:frame.obj - 0002:0005e070 ___CxxRegisterExceptionObject 10096070 f LIBCMTD:frame.obj - 0002:0005e1f0 ___CxxDetectRethrow 100961f0 f LIBCMTD:frame.obj - 0002:0005e2a0 ___CxxUnregisterExceptionObject 100962a0 f LIBCMTD:frame.obj - 0002:0005e480 ___CxxQueryExceptionSize 10096480 f LIBCMTD:frame.obj - 0002:0005e490 ___CxxCallUnwindDtor 10096490 f LIBCMTD:frame.obj - 0002:0005e530 ___CxxCallUnwindDelDtor 10096530 f LIBCMTD:frame.obj - 0002:0005e5d0 ___CxxCallUnwindStdDelDtor 100965d0 f LIBCMTD:frame.obj - 0002:0005e670 ___CxxCallUnwindVecDtor 10096670 f LIBCMTD:frame.obj - 0002:0005e940 ?_is_exception_typeof@@YAHABVtype_info@@PAU_EXCEPTION_POINTERS@@@Z 10096940 f LIBCMTD:frame.obj - 0002:0005ea50 __CallSettingFrame@12 10096a50 f LIBCMTD:lowhelpr.obj - 0002:0005ea77 __NLG_Return 10096a77 LIBCMTD:lowhelpr.obj - 0002:0005eab0 ___init_collate 10096ab0 f LIBCMTD:initcoll.obj - 0002:0005eac0 _strcspn 10096ac0 f LIBCMTD:strcspn.obj - 0002:0005eb20 _strpbrk 10096b20 f LIBCMTD:strpbrk.obj - 0002:0005eb70 _memcmp 10096b70 f LIBCMTD:memcmp.obj - 0002:0005f890 ___get_qualified_locale 10097890 f LIBCMTD:getqloc.obj - 0002:00060a60 __tolower 10098a60 f LIBCMTD:tolower.obj - 0002:00060a70 __tolower_l 10098a70 f LIBCMTD:tolower.obj - 0002:00060cc0 _tolower 10098cc0 f LIBCMTD:tolower.obj - 0002:00060d20 ___ascii_strnicmp 10098d20 f LIBCMTD:_strnicm.obj - 0002:00060da0 _wcstol 10098da0 f LIBCMTD:wcstol.obj - 0002:00061260 __wcstol_l 10099260 f LIBCMTD:wcstol.obj - 0002:00061290 _wcstoul 10099290 f LIBCMTD:wcstol.obj - 0002:000612c0 __wcstoul_l 100992c0 f LIBCMTD:wcstol.obj - 0002:000612f0 __flswbuf 100992f0 f LIBCMTD:_flswbuf.obj - 0002:00061680 ?_ValidateRead@@YAHPBXI@Z 10099680 f LIBCMTD:validate.obj - 0002:000616b0 ?_ValidateWrite@@YAHPAXI@Z 100996b0 f LIBCMTD:validate.obj - 0002:000616e0 ?_ValidateExecute@@YAHP6GHXZ@Z 100996e0 f LIBCMTD:validate.obj - 0002:00061710 __CxxThrowException@8 10099710 f LIBCMTD:throw.obj - 0002:00061780 ?name@type_info@@QBEPBDPAU__type_info_node@@@Z 10099780 f LIBCMTD:typinfo.obj - 0002:000617b0 ??1type_info@@UAE@XZ 100997b0 f LIBCMTD:typinfo.obj - 0002:000617e0 ??_Etype_info@@UAEPAXI@Z 100997e0 f i LIBCMTD:typinfo.obj - 0002:000617e0 ??_Gtype_info@@UAEPAXI@Z 100997e0 f i LIBCMTD:typinfo.obj - 0002:00061820 ?_name_internal_method@type_info@@QBEPBDPAU__type_info_node@@@Z 10099820 f LIBCMTD:typinfo.obj - 0002:00061850 ?_type_info_dtor_internal_method@type_info@@QAEXXZ 10099850 f LIBCMTD:typinfo.obj - 0002:00061870 ??8type_info@@QBE_NABV0@@Z 10099870 f LIBCMTD:typinfo.obj - 0002:000618b0 ??9type_info@@QBE_NABV0@@Z 100998b0 f LIBCMTD:typinfo.obj - 0002:000618f0 ?before@type_info@@QBEHABV1@@Z 100998f0 f LIBCMTD:typinfo.obj - 0002:00061930 ?raw_name@type_info@@QBEPBDXZ 10099930 f LIBCMTD:typinfo.obj - 0002:00061950 ??0type_info@@AAE@ABV0@@Z 10099950 f LIBCMTD:typinfo.obj - 0002:00061980 ??4type_info@@AAEAAV0@ABV0@@Z 10099980 f LIBCMTD:typinfo.obj - 0002:000619a0 ??0exception@std@@QAE@XZ 100999a0 f LIBCMTD:stdexcpt.obj - 0002:000619e0 ??_Gexception@std@@UAEPAXI@Z 100999e0 f i LIBCMTD:stdexcpt.obj - 0002:000619e0 ??_Eexception@std@@UAEPAXI@Z 100999e0 f i LIBCMTD:stdexcpt.obj - 0002:00061a20 ??0exception@std@@QAE@ABQBD@Z 10099a20 f LIBCMTD:stdexcpt.obj - 0002:00061a70 ??0exception@std@@QAE@ABQBDH@Z 10099a70 f LIBCMTD:stdexcpt.obj - 0002:00061ab0 ??0exception@std@@QAE@ABV01@@Z 10099ab0 f LIBCMTD:stdexcpt.obj - 0002:00061b00 ??4exception@std@@QAEAAV01@ABV01@@Z 10099b00 f LIBCMTD:stdexcpt.obj - 0002:00061b60 ??1exception@std@@UAE@XZ 10099b60 f LIBCMTD:stdexcpt.obj - 0002:00061b90 ?what@exception@std@@UBEPBDXZ 10099b90 f LIBCMTD:stdexcpt.obj - 0002:00061bd0 ?_Copy_str@exception@std@@AAEXPBD@Z 10099bd0 f LIBCMTD:stdexcpt.obj - 0002:00061c50 ?_Tidy@exception@std@@AAEXXZ 10099c50 f LIBCMTD:stdexcpt.obj - 0002:00061ca0 ??0bad_cast@std@@QAE@PBD@Z 10099ca0 f LIBCMTD:stdexcpt.obj - 0002:00061cd0 ??_Gbad_cast@std@@UAEPAXI@Z 10099cd0 f i LIBCMTD:stdexcpt.obj - 0002:00061cd0 ??_Ebad_cast@std@@UAEPAXI@Z 10099cd0 f i LIBCMTD:stdexcpt.obj - 0002:00061d10 ??0bad_cast@std@@QAE@ABV01@@Z 10099d10 f LIBCMTD:stdexcpt.obj - 0002:00061d40 ??1bad_cast@std@@UAE@XZ 10099d40 f LIBCMTD:stdexcpt.obj - 0002:00061d70 ??0bad_typeid@std@@QAE@PBD@Z 10099d70 f LIBCMTD:stdexcpt.obj - 0002:00061da0 ??_Gbad_typeid@std@@UAEPAXI@Z 10099da0 f i LIBCMTD:stdexcpt.obj - 0002:00061da0 ??_Ebad_typeid@std@@UAEPAXI@Z 10099da0 f i LIBCMTD:stdexcpt.obj - 0002:00061de0 ??0bad_typeid@std@@QAE@ABV01@@Z 10099de0 f LIBCMTD:stdexcpt.obj - 0002:00061e10 ??1bad_typeid@std@@UAE@XZ 10099e10 f LIBCMTD:stdexcpt.obj - 0002:00061e40 ??0__non_rtti_object@std@@QAE@PBD@Z 10099e40 f LIBCMTD:stdexcpt.obj - 0002:00061e70 ??_G__non_rtti_object@std@@UAEPAXI@Z 10099e70 f i LIBCMTD:stdexcpt.obj - 0002:00061e70 ??_E__non_rtti_object@std@@UAEPAXI@Z 10099e70 f i LIBCMTD:stdexcpt.obj - 0002:00061eb0 ??0__non_rtti_object@std@@QAE@ABV01@@Z 10099eb0 f LIBCMTD:stdexcpt.obj - 0002:00061ee0 ??1__non_rtti_object@std@@UAE@XZ 10099ee0 f LIBCMTD:stdexcpt.obj - 0002:00061f10 ??3@YAXPAX@Z 10099f10 f LIBCMTD:dbgdel.obj - 0002:00062030 __stricmp_l 1009a030 f LIBCMTD:stricmp.obj - 0002:00062240 ___ascii_stricmp 1009a240 f LIBCMTD:stricmp.obj - 0002:000622d0 __stricmp 1009a2d0 f LIBCMTD:stricmp.obj - 0002:00062420 _atol 1009a420 f LIBCMTD:atox.obj - 0002:00062440 __atol_l 1009a440 f LIBCMTD:atox.obj - 0002:00062470 _atoi 1009a470 f LIBCMTD:atox.obj - 0002:00062490 __atoi_l 1009a490 f LIBCMTD:atox.obj - 0002:000624b0 __atoi64 1009a4b0 f LIBCMTD:atox.obj - 0002:000624d0 __atoi64_l 1009a4d0 f LIBCMTD:atox.obj - 0002:00062500 __wchartodigit 1009a500 f LIBCMTD:wchtodig.obj - 0002:000628f0 ?_Type_info_dtor@type_info@@CAXPAV1@@Z 1009a8f0 f LIBCMTD:typname.obj - 0002:00062a40 ?_Name_base@type_info@@CAPBDPBV1@PAU__type_info_node@@@Z 1009aa40 f LIBCMTD:typname.obj - 0002:00062c50 ?_Type_info_dtor_internal@type_info@@CAXPAV1@@Z 1009ac50 f LIBCMTD:typname.obj - 0002:00062da0 ___unDNameHelper 1009ada0 f LIBCMTD:typname.obj - 0002:00062df0 ?_Name_base_internal@type_info@@CAPBDPBV1@PAU__type_info_node@@@Z 1009adf0 f LIBCMTD:typname.obj - 0002:00063020 ___clean_type_info_names_internal 1009b020 f LIBCMTD:typname.obj - 0002:00063100 __strtoi64 1009b100 f LIBCMTD:strtoq.obj - 0002:000637d0 __strtoi64_l 1009b7d0 f LIBCMTD:strtoq.obj - 0002:00063800 __strtoui64 1009b800 f LIBCMTD:strtoq.obj - 0002:00063860 __strtoui64_l 1009b860 f LIBCMTD:strtoq.obj - 0002:00063890 ___unDName 1009b890 f LIBCMTD:undname.obj - 0002:000639a0 ?Constructor@_HeapManager@@QAEXP6APAXI@ZP6AXPAX@Z@Z 1009b9a0 f i LIBCMTD:undname.obj - 0002:000639f0 ?Destructor@_HeapManager@@QAEXXZ 1009b9f0 f i LIBCMTD:undname.obj - 0002:00063a50 ___unDNameEx 1009ba50 f LIBCMTD:undname.obj - 0002:00063b60 ??0UnDecorator@@QAE@PADPBDHP6APADJ@ZK@Z 1009bb60 f i LIBCMTD:undname.obj - 0002:00063c20 ??BUnDecorator@@QAEPADXZ 1009bc20 f i LIBCMTD:undname.obj - 0002:00063ee0 ?dbGetString@DName@@QBEPADXZ 1009bee0 f LIBCMTD:undname.obj - 0002:00063f10 ?getDecoratedName@UnDecorator@@CA?AVDName@@XZ 1009bf10 f LIBCMTD:undname.obj - 0002:000642f0 ?getSymbolName@UnDecorator@@CA?AVDName@@XZ 1009c2f0 f i LIBCMTD:undname.obj - 0002:00064380 ?getZName@UnDecorator@@CA?AVDName@@_N0@Z 1009c380 f LIBCMTD:undname.obj - 0002:000646d0 ?getOperatorName@UnDecorator@@CA?AVDName@@_NPA_N@Z 1009c6d0 f i LIBCMTD:undname.obj - 0002:00065290 ?getStringEncoding@UnDecorator@@CA?AVDName@@PADH@Z 1009d290 f LIBCMTD:undname.obj - 0002:000653d0 ?getScope@UnDecorator@@CA?AVDName@@XZ 1009d3d0 f LIBCMTD:undname.obj - 0002:000658a0 ?getSignedDimension@UnDecorator@@CA?AVDName@@XZ 1009d8a0 f LIBCMTD:undname.obj - 0002:00065940 ?getDimension@UnDecorator@@CA?AVDName@@_N@Z 1009d940 f LIBCMTD:undname.obj - 0002:00065ca0 ?getNumberOfDimensions@UnDecorator@@CAHXZ 1009dca0 f LIBCMTD:undname.obj - 0002:00065de0 ?getTemplateName@UnDecorator@@CA?AVDName@@_N@Z 1009dde0 f LIBCMTD:undname.obj - 0002:00066010 ?getTemplateArgumentList@UnDecorator@@CA?AVDName@@XZ 1009e010 f LIBCMTD:undname.obj - 0002:00066330 ?getTemplateConstant@UnDecorator@@CA?AVDName@@XZ 1009e330 f LIBCMTD:undname.obj - 0002:000668e0 ?composeDeclaration@UnDecorator@@CA?AVDName@@ABV2@@Z 1009e8e0 f i LIBCMTD:undname.obj - 0002:00068450 ?getTypeEncoding@UnDecorator@@CAHXZ 100a0450 f i LIBCMTD:undname.obj - 0002:00069120 ?getBasedType@UnDecorator@@CA?AVDName@@XZ 100a1120 f LIBCMTD:undname.obj - 0002:00069210 ?getScopedName@UnDecorator@@CA?AVDName@@XZ 100a1210 f LIBCMTD:undname.obj - 0002:00069370 ?getCallingConvention@UnDecorator@@CA?AVDName@@XZ 100a1370 f LIBCMTD:undname.obj - 0002:00069540 ?getReturnType@UnDecorator@@CA?AVDName@@PAV2@@Z 100a1540 f LIBCMTD:undname.obj - 0002:000695a0 ?getDataType@UnDecorator@@CA?AVDName@@PAV2@@Z 100a15a0 f LIBCMTD:undname.obj - 0002:00069700 ?getPrimaryDataType@UnDecorator@@CA?AVDName@@ABV2@@Z 100a1700 f LIBCMTD:undname.obj - 0002:00069b80 ?getArgumentTypes@UnDecorator@@CA?AVDName@@XZ 100a1b80 f LIBCMTD:undname.obj - 0002:00069d30 ?getArgumentList@UnDecorator@@CA?AVDName@@XZ 100a1d30 f LIBCMTD:undname.obj - 0002:00069ed0 ?getThrowTypes@UnDecorator@@CA?AVDName@@XZ 100a1ed0 f LIBCMTD:undname.obj - 0002:00069fb0 ?getBasicDataType@UnDecorator@@CA?AVDName@@ABV2@@Z 100a1fb0 f LIBCMTD:undname.obj - 0002:0006a6e0 ?getECSUDataType@UnDecorator@@CA?AVDName@@XZ 100a26e0 f LIBCMTD:undname.obj - 0002:0006a930 ?getECSUName@UnDecorator@@CA?AVDName@@XZ 100a2930 f i LIBCMTD:undname.obj - 0002:0006a950 ?getEnumType@UnDecorator@@CA?AVDName@@XZ 100a2950 f i LIBCMTD:undname.obj - 0002:0006aaf0 ?getFunctionIndirectType@UnDecorator@@CA?AVDName@@ABV2@@Z 100a2af0 f LIBCMTD:undname.obj - 0002:0006b040 ?getPtrRefType@UnDecorator@@CA?AVDName@@ABV2@0PBD@Z 100a3040 f LIBCMTD:undname.obj - 0002:0006b200 ?getExtendedDataIndirectType@UnDecorator@@CA?AVDName@@AAPBDAA_NH@Z 100a3200 f LIBCMTD:undname.obj - 0002:0006b4b0 ?getDataIndirectType@UnDecorator@@CA?AVDName@@ABV2@PBD0H@Z 100a34b0 f LIBCMTD:undname.obj - 0002:0006bd70 ?getPtrRefDataType@UnDecorator@@CA?AVDName@@ABV2@H@Z 100a3d70 f i LIBCMTD:undname.obj - 0002:0006bf00 ?getArrayType@UnDecorator@@CA?AVDName@@ABV2@@Z 100a3f00 f i LIBCMTD:undname.obj - 0002:0006c1c0 ?getLexicalFrame@UnDecorator@@CA?AVDName@@XZ 100a41c0 f i LIBCMTD:undname.obj - 0002:0006c210 ?getThisType@UnDecorator@@CA?AVDName@@XZ 100a4210 f i LIBCMTD:undname.obj - 0002:0006c260 ?getPointerType@UnDecorator@@CA?AVDName@@ABV2@0@Z 100a4260 f i LIBCMTD:undname.obj - 0002:0006c2a0 ?getPointerTypeArray@UnDecorator@@CA?AVDName@@ABV2@0@Z 100a42a0 f i LIBCMTD:undname.obj - 0002:0006c2e0 ?getReferenceType@UnDecorator@@CA?AVDName@@ABV2@0PBD@Z 100a42e0 f i LIBCMTD:undname.obj - 0002:0006c310 ?getDisplacement@UnDecorator@@CA?AVDName@@XZ 100a4310 f i LIBCMTD:undname.obj - 0002:0006c330 ?getCallIndex@UnDecorator@@CA?AVDName@@XZ 100a4330 f i LIBCMTD:undname.obj - 0002:0006c350 ?getGuardNumber@UnDecorator@@CA?AVDName@@XZ 100a4350 f i LIBCMTD:undname.obj - 0002:0006c370 ?getVbTableType@UnDecorator@@CA?AVDName@@ABV2@@Z 100a4370 f i LIBCMTD:undname.obj - 0002:0006c390 ?getVCallThunkType@UnDecorator@@CA?AVDName@@XZ 100a4390 f i LIBCMTD:undname.obj - 0002:0006c410 ?getVfTableType@UnDecorator@@CA?AVDName@@ABV2@@Z 100a4410 f i LIBCMTD:undname.obj - 0002:0006c640 ?getStorageConvention@UnDecorator@@CA?AVDName@@XZ 100a4640 f i LIBCMTD:undname.obj - 0002:0006c660 ?getDataIndirectType@UnDecorator@@CA?AVDName@@XZ 100a4660 f i LIBCMTD:undname.obj - 0002:0006c6b0 ?getVdispMapType@UnDecorator@@CA?AVDName@@ABV2@@Z 100a46b0 f i LIBCMTD:undname.obj - 0002:0006c740 ?getExternalDataType@UnDecorator@@CA?AVDName@@ABV2@@Z 100a4740 f i LIBCMTD:undname.obj - 0002:0006c800 ?doMSKeywords@UnDecorator@@SAHXZ 100a4800 f i LIBCMTD:undname.obj - 0002:0006c820 ?doPtr64@UnDecorator@@SAHXZ 100a4820 f i LIBCMTD:undname.obj - 0002:0006c840 ?doFunctionReturns@UnDecorator@@SAHXZ 100a4840 f i LIBCMTD:undname.obj - 0002:0006c860 ?doAllocationModel@UnDecorator@@SAHXZ 100a4860 f i LIBCMTD:undname.obj - 0002:0006c880 ?doAllocationLanguage@UnDecorator@@SAHXZ 100a4880 f i LIBCMTD:undname.obj - 0002:0006c8a0 ?doThisTypes@UnDecorator@@SAHXZ 100a48a0 f i LIBCMTD:undname.obj - 0002:0006c8c0 ?doAccessSpecifiers@UnDecorator@@SAHXZ 100a48c0 f i LIBCMTD:undname.obj - 0002:0006c8e0 ?doThrowTypes@UnDecorator@@SAHXZ 100a48e0 f i LIBCMTD:undname.obj - 0002:0006c900 ?doMemberTypes@UnDecorator@@SAHXZ 100a4900 f i LIBCMTD:undname.obj - 0002:0006c920 ?doNameOnly@UnDecorator@@SAHXZ 100a4920 f i LIBCMTD:undname.obj - 0002:0006c940 ?doTypeOnly@UnDecorator@@SAHXZ 100a4940 f i LIBCMTD:undname.obj - 0002:0006c960 ?haveTemplateParameters@UnDecorator@@SAHXZ 100a4960 f i LIBCMTD:undname.obj - 0002:0006c980 ?doEcsu@UnDecorator@@SAHXZ 100a4980 f i LIBCMTD:undname.obj - 0002:0006c9a0 ?doEllipsis@UnDecorator@@SAHXZ 100a49a0 f i LIBCMTD:undname.obj - 0002:0006c9c0 ?UScore@UnDecorator@@SAPBDW4Tokens@@@Z 100a49c0 f LIBCMTD:undname.obj - 0002:0006ca00 ?doUnderScore@UnDecorator@@SAHXZ 100a4a00 f i LIBCMTD:undname.obj - 0002:0006ca20 ??2@YAPAXIAAV_HeapManager@@H@Z 100a4a20 f i LIBCMTD:undname.obj - 0002:0006ca40 ?getMemory@_HeapManager@@QAEPAXIH@Z 100a4a40 f LIBCMTD:undname.obj - 0002:0006cb90 ??0Block@_HeapManager@@QAE@XZ 100a4b90 f i LIBCMTD:undname.obj - 0002:0006cbb0 ??H@YA?AVDName@@DABV0@@Z 100a4bb0 f i LIBCMTD:undname.obj - 0002:0006cbf0 ??H@YA?AVDName@@W4DNameStatus@@ABV0@@Z 100a4bf0 f i LIBCMTD:undname.obj - 0002:0006cc30 ??H@YA?AVDName@@PBDABV0@@Z 100a4c30 f i LIBCMTD:undname.obj - 0002:0006cc70 ??0DName@@QAE@XZ 100a4c70 f i LIBCMTD:undname.obj - 0002:0006cd60 ??0DName@@QAE@D@Z 100a4d60 f LIBCMTD:undname.obj - 0002:0006ce70 ??0DName@@QAE@ABV0@@Z 100a4e70 f i LIBCMTD:undname.obj - 0002:0006cea0 ??0DName@@QAE@PAV0@@Z 100a4ea0 f LIBCMTD:undname.obj - 0002:0006d020 ??0DName@@QAE@PBD@Z 100a5020 f LIBCMTD:undname.obj - 0002:0006d150 ??0DName@@QAE@AAPBDD@Z 100a5150 f LIBCMTD:undname.obj - 0002:0006d4c0 ?doNoIdentCharCheck@UnDecorator@@SAHXZ 100a54c0 f i LIBCMTD:undname.obj - 0002:0006d4e0 ??0DName@@QAE@_K@Z 100a54e0 f LIBCMTD:undname.obj - 0002:0006d670 ??0DName@@QAE@_J@Z 100a5670 f LIBCMTD:undname.obj - 0002:0006d850 ??0DName@@QAE@W4DNameStatus@@@Z 100a5850 f LIBCMTD:undname.obj - 0002:0006d9b0 ?isValid@DName@@QBEHXZ 100a59b0 f i LIBCMTD:undname.obj - 0002:0006d9e0 ?isEmpty@DName@@QBEHXZ 100a59e0 f i LIBCMTD:undname.obj - 0002:0006da00 ?status@DName@@QBE?AW4DNameStatus@@XZ 100a5a00 f i LIBCMTD:undname.obj - 0002:0006da20 ?setPtrRef@DName@@QAEAAV1@XZ 100a5a20 f i LIBCMTD:undname.obj - 0002:0006da50 ?isPtrRef@DName@@QBEHXZ 100a5a50 f i LIBCMTD:undname.obj - 0002:0006da70 ?isUDC@DName@@QBEHXZ 100a5a70 f i LIBCMTD:undname.obj - 0002:0006dac0 ?setIsUDC@DName@@QAEXXZ 100a5ac0 f i LIBCMTD:undname.obj - 0002:0006db00 ?isUDTThunk@DName@@QBEHXZ 100a5b00 f i LIBCMTD:undname.obj - 0002:0006db50 ?setIsArray@DName@@QAEXXZ 100a5b50 f i LIBCMTD:undname.obj - 0002:0006db80 ?isArray@DName@@QBEHXZ 100a5b80 f i LIBCMTD:undname.obj - 0002:0006dba0 ?isNoTE@DName@@QBEHXZ 100a5ba0 f i LIBCMTD:undname.obj - 0002:0006dbc0 ?setIsNoTE@DName@@QAEXXZ 100a5bc0 f i LIBCMTD:undname.obj - 0002:0006dbf0 ?isPinPtr@DName@@QBEHXZ 100a5bf0 f i LIBCMTD:undname.obj - 0002:0006dc10 ?setIsPinPtr@DName@@QAEXXZ 100a5c10 f i LIBCMTD:undname.obj - 0002:0006dc40 ?isComArray@DName@@QBEHXZ 100a5c40 f i LIBCMTD:undname.obj - 0002:0006dc60 ?setIsComArray@DName@@QAEXXZ 100a5c60 f i LIBCMTD:undname.obj - 0002:0006dc90 ?isVCallThunk@DName@@QBEHXZ 100a5c90 f i LIBCMTD:undname.obj - 0002:0006dcb0 ?setIsVCallThunk@DName@@QAEXXZ 100a5cb0 f i LIBCMTD:undname.obj - 0002:0006dce0 ?length@DName@@QBEHXZ 100a5ce0 f i LIBCMTD:undname.obj - 0002:0006dd20 ?getLastChar@DName@@QBEDXZ 100a5d20 f i LIBCMTD:undname.obj - 0002:0006dd60 ?getString@DName@@QBEPADPADH@Z 100a5d60 f i LIBCMTD:undname.obj - 0002:0006de10 ?getString@DName@@QBEPADPAD0@Z 100a5e10 f i LIBCMTD:undname.obj - 0002:0006de60 ??HDName@@QBE?AV0@D@Z 100a5e60 f LIBCMTD:undname.obj - 0002:0006deb0 ??HDName@@QBE?AV0@PBD@Z 100a5eb0 f LIBCMTD:undname.obj - 0002:0006df00 ??HDName@@QBE?AV0@ABV0@@Z 100a5f00 f LIBCMTD:undname.obj - 0002:0006df50 ??HDName@@QBE?AV0@PAV0@@Z 100a5f50 f LIBCMTD:undname.obj - 0002:0006dfa0 ??HDName@@QBE?AV0@W4DNameStatus@@@Z 100a5fa0 f LIBCMTD:undname.obj - 0002:0006dff0 ?append@DName@@AAEXPAVDNameNode@@@Z 100a5ff0 f LIBCMTD:undname.obj - 0002:0006e0a0 ??YDName@@QAEAAV0@D@Z 100a60a0 f LIBCMTD:undname.obj - 0002:0006e150 ??YDName@@QAEAAV0@PBD@Z 100a6150 f LIBCMTD:undname.obj - 0002:0006e210 ??YDName@@QAEAAV0@ABV0@@Z 100a6210 f LIBCMTD:undname.obj - 0002:0006e290 ??YDName@@QAEAAV0@PAV0@@Z 100a6290 f LIBCMTD:undname.obj - 0002:0006e370 ??YDName@@QAEAAV0@W4DNameStatus@@@Z 100a6370 f LIBCMTD:undname.obj - 0002:0006e3f0 ??_5DName@@QAEAAV0@ABV0@@Z 100a63f0 f LIBCMTD:undname.obj - 0002:0006e460 ??4DName@@QAEAAV0@D@Z 100a6460 f i LIBCMTD:undname.obj - 0002:0006e570 ??4DName@@QAEAAV0@PBD@Z 100a6570 f LIBCMTD:undname.obj - 0002:0006e680 ??4DName@@QAEAAV0@ABV0@@Z 100a6680 f LIBCMTD:undname.obj - 0002:0006e6b0 ??4DName@@QAEAAV0@PAV0@@Z 100a66b0 f LIBCMTD:undname.obj - 0002:0006e830 ??4DName@@QAEAAV0@W4DNameStatus@@@Z 100a6830 f LIBCMTD:undname.obj - 0002:0006e970 ?doPchar@DName@@AAEXPBDH@Z 100a6970 f LIBCMTD:undname.obj - 0002:0006eb00 ?isFull@Replicator@@QBEHXZ 100a6b00 f i LIBCMTD:undname.obj - 0002:0006eb20 ??0Replicator@@QAE@XZ 100a6b20 f i LIBCMTD:undname.obj - 0002:0006eb40 ??YReplicator@@QAEAAV0@ABVDName@@@Z 100a6b40 f LIBCMTD:undname.obj - 0002:0006ebf0 ??AReplicator@@QBE?AVDName@@H@Z 100a6bf0 f LIBCMTD:undname.obj - 0002:0006ec70 ??0DNameNode@@IAE@XZ 100a6c70 f LIBCMTD:undname.obj - 0002:0006ec90 ??0charNode@@QAE@D@Z 100a6c90 f LIBCMTD:undname.obj - 0002:0006ecd0 ?length@charNode@@UBEHXZ 100a6cd0 f i LIBCMTD:undname.obj - 0002:0006ecf0 ?getLastChar@charNode@@UBEDXZ 100a6cf0 f i LIBCMTD:undname.obj - 0002:0006ed10 ?getString@charNode@@UBEPADPAD0@Z 100a6d10 f i LIBCMTD:undname.obj - 0002:0006ed50 ??0pcharNode@@QAE@PBDH@Z 100a6d50 f LIBCMTD:undname.obj - 0002:0006ee10 ?length@pcharNode@@UBEHXZ 100a6e10 f i LIBCMTD:undname.obj - 0002:0006ee30 ?getLastChar@pcharNode@@UBEDXZ 100a6e30 f i LIBCMTD:undname.obj - 0002:0006ee80 ?getString@pcharNode@@UBEPADPAD0@Z 100a6e80 f i LIBCMTD:undname.obj - 0002:0006eec0 ?getStringHelper@@YAPADPAD00H@Z 100a6ec0 f i LIBCMTD:undname.obj - 0002:0006ef10 ??0pDNameNode@@QAE@PAVDName@@@Z 100a6f10 f LIBCMTD:undname.obj - 0002:0006ef90 ?length@pDNameNode@@UBEHXZ 100a6f90 f i LIBCMTD:undname.obj - 0002:0006efd0 ?getLastChar@pDNameNode@@UBEDXZ 100a6fd0 f i LIBCMTD:undname.obj - 0002:0006f010 ?getString@pDNameNode@@UBEPADPAD0@Z 100a7010 f i LIBCMTD:undname.obj - 0002:0006f060 ??0DNameStatusNode@@AAE@W4DNameStatus@@@Z 100a7060 f LIBCMTD:undname.obj - 0002:0006f0c0 ?length@DNameStatusNode@@UBEHXZ 100a70c0 f i LIBCMTD:undname.obj - 0002:0006f0e0 ?getLastChar@DNameStatusNode@@UBEDXZ 100a70e0 f i LIBCMTD:undname.obj - 0002:0006f110 ?getString@DNameStatusNode@@UBEPADPAD0@Z 100a7110 f i LIBCMTD:undname.obj - 0002:0006f160 ?make@DNameStatusNode@@SAPAV1@W4DNameStatus@@@Z 100a7160 f i LIBCMTD:undname.obj - 0002:0006f240 ??0pairNode@@QAE@PAVDNameNode@@0@Z 100a7240 f LIBCMTD:undname.obj - 0002:0006f290 ?length@pairNode@@UBEHXZ 100a7290 f i LIBCMTD:undname.obj - 0002:0006f2f0 ?getLastChar@pairNode@@UBEDXZ 100a72f0 f i LIBCMTD:undname.obj - 0002:0006f350 ?getString@pairNode@@UBEPADPAD0@Z 100a7350 f i LIBCMTD:undname.obj - 0002:0006f4d0 __purecall 100a74d0 f LIBCMTD:purevirt.obj - 0002:0006f520 __set_purecall_handler 100a7520 f LIBCMTD:purevirt.obj - 0002:0006f560 __get_purecall_handler 100a7560 f LIBCMTD:purevirt.obj - 0002:0006f578 _GetSystemTimeAsFileTime@4 100a7578 f kernel32:KERNEL32.dll - 0002:0006f57e _GetCurrentThreadId@0 100a757e f kernel32:KERNEL32.dll - 0002:0006f584 _DecodePointer@4 100a7584 f kernel32:KERNEL32.dll - 0002:0006f58a _GetCommandLineA@0 100a758a f kernel32:KERNEL32.dll - 0002:0006f590 _IsProcessorFeaturePresent@4 100a7590 f kernel32:KERNEL32.dll - 0002:0006f596 _LeaveCriticalSection@4 100a7596 f kernel32:KERNEL32.dll - 0002:0006f59c _EnterCriticalSection@4 100a759c f kernel32:KERNEL32.dll - 0002:0006f5a2 _InitializeCriticalSectionAndSpinCount@8 100a75a2 f kernel32:KERNEL32.dll - 0002:0006f5a8 _SetStdHandle@8 100a75a8 f kernel32:KERNEL32.dll - 0002:0006f5ae _GetFileType@4 100a75ae f kernel32:KERNEL32.dll - 0002:0006f5b4 _SetHandleCount@4 100a75b4 f kernel32:KERNEL32.dll - 0002:0006f5ba _GetStdHandle@4 100a75ba f kernel32:KERNEL32.dll - 0002:0006f5c0 _GetStartupInfoW@4 100a75c0 f kernel32:KERNEL32.dll - 0002:0006f5c6 _DeleteCriticalSection@4 100a75c6 f kernel32:KERNEL32.dll - 0002:0006f5cc _TerminateProcess@8 100a75cc f kernel32:KERNEL32.dll - 0002:0006f5d2 _GetCurrentProcess@0 100a75d2 f kernel32:KERNEL32.dll - 0002:0006f5d8 _UnhandledExceptionFilter@4 100a75d8 f kernel32:KERNEL32.dll - 0002:0006f5de _SetUnhandledExceptionFilter@4 100a75de f kernel32:KERNEL32.dll - 0002:0006f5e4 _IsDebuggerPresent@0 100a75e4 f kernel32:KERNEL32.dll - 0002:0006f5ea _EncodePointer@4 100a75ea f kernel32:KERNEL32.dll - 0002:0006f5f0 _GetModuleFileNameW@12 100a75f0 f kernel32:KERNEL32.dll - 0002:0006f5f6 _HeapValidate@12 100a75f6 f kernel32:KERNEL32.dll - 0002:0006f5fc _IsBadReadPtr@8 100a75fc f kernel32:KERNEL32.dll - 0002:0006f602 _TlsAlloc@0 100a7602 f kernel32:KERNEL32.dll - 0002:0006f608 _TlsGetValue@4 100a7608 f kernel32:KERNEL32.dll - 0002:0006f60e _TlsSetValue@8 100a760e f kernel32:KERNEL32.dll - 0002:0006f614 _TlsFree@4 100a7614 f kernel32:KERNEL32.dll - 0002:0006f61a _GetProcAddress@8 100a761a f kernel32:KERNEL32.dll - 0002:0006f620 _GetModuleHandleW@4 100a7620 f kernel32:KERNEL32.dll - 0002:0006f626 _InterlockedIncrement@4 100a7626 f kernel32:KERNEL32.dll - 0002:0006f62c _SetLastError@4 100a762c f kernel32:KERNEL32.dll - 0002:0006f632 _InterlockedDecrement@4 100a7632 f kernel32:KERNEL32.dll - 0002:0006f638 _GetCurrentThread@0 100a7638 f kernel32:KERNEL32.dll - 0002:0006f63e _RtlUnwind@16 100a763e f kernel32:KERNEL32.dll - 0002:0006f644 _MultiByteToWideChar@24 100a7644 f kernel32:KERNEL32.dll - 0002:0006f64a _WideCharToMultiByte@32 100a764a f kernel32:KERNEL32.dll - 0002:0006f650 _GetConsoleCP@0 100a7650 f kernel32:KERNEL32.dll - 0002:0006f656 _GetConsoleMode@8 100a7656 f kernel32:KERNEL32.dll - 0002:0006f65c _ExitProcess@4 100a765c f kernel32:KERNEL32.dll - 0002:0006f662 _GetModuleFileNameA@12 100a7662 f kernel32:KERNEL32.dll - 0002:0006f668 _FreeEnvironmentStringsW@4 100a7668 f kernel32:KERNEL32.dll - 0002:0006f66e _GetEnvironmentStringsW@0 100a766e f kernel32:KERNEL32.dll - 0002:0006f674 _HeapCreate@12 100a7674 f kernel32:KERNEL32.dll - 0002:0006f67a _HeapDestroy@4 100a767a f kernel32:KERNEL32.dll - 0002:0006f680 _QueryPerformanceCounter@4 100a7680 f kernel32:KERNEL32.dll - 0002:0006f686 _GetTickCount@0 100a7686 f kernel32:KERNEL32.dll - 0002:0006f68c _GetCurrentProcessId@0 100a768c f kernel32:KERNEL32.dll - 0002:0006f692 _FatalAppExitA@8 100a7692 f kernel32:KERNEL32.dll - 0002:0006f698 _OutputDebugStringA@4 100a7698 f kernel32:KERNEL32.dll - 0002:0006f69e _WriteConsoleW@20 100a769e f kernel32:KERNEL32.dll - 0002:0006f6a4 _OutputDebugStringW@4 100a76a4 f kernel32:KERNEL32.dll - 0002:0006f6aa _SetConsoleCtrlHandler@8 100a76aa f kernel32:KERNEL32.dll - 0002:0006f6b0 _LoadLibraryW@4 100a76b0 f kernel32:KERNEL32.dll - 0002:0006f6b6 _HeapAlloc@12 100a76b6 f kernel32:KERNEL32.dll - 0002:0006f6bc _HeapReAlloc@16 100a76bc f kernel32:KERNEL32.dll - 0002:0006f6c2 _HeapSize@12 100a76c2 f kernel32:KERNEL32.dll - 0002:0006f6c8 _HeapQueryInformation@20 100a76c8 f kernel32:KERNEL32.dll - 0002:0006f6ce _HeapFree@12 100a76ce f kernel32:KERNEL32.dll - 0002:0006f6d4 _GetACP@0 100a76d4 f kernel32:KERNEL32.dll - 0002:0006f6da _GetOEMCP@0 100a76da f kernel32:KERNEL32.dll - 0002:0006f6e0 _GetCPInfo@8 100a76e0 f kernel32:KERNEL32.dll - 0002:0006f6e6 _IsValidCodePage@4 100a76e6 f kernel32:KERNEL32.dll - 0002:0006f6ec _FlushFileBuffers@4 100a76ec f kernel32:KERNEL32.dll - 0002:0006f6f2 _FreeLibrary@4 100a76f2 f kernel32:KERNEL32.dll - 0002:0006f6f8 _InterlockedExchange@8 100a76f8 f kernel32:KERNEL32.dll - 0002:0006f6fe _GetLocaleInfoW@16 100a76fe f kernel32:KERNEL32.dll - 0002:0006f704 _LCMapStringW@24 100a7704 f kernel32:KERNEL32.dll - 0002:0006f70a _GetStringTypeW@16 100a770a f kernel32:KERNEL32.dll - 0002:0006f710 _SetEndOfFile@4 100a7710 f kernel32:KERNEL32.dll - 0002:0006f716 _GetProcessHeap@0 100a7716 f kernel32:KERNEL32.dll - 0002:0006f71c _GetLocaleInfoA@16 100a771c f kernel32:KERNEL32.dll - 0002:0006f722 _IsValidLocale@8 100a7722 f kernel32:KERNEL32.dll - 0002:0006f728 _EnumSystemLocalesA@8 100a7728 f kernel32:KERNEL32.dll - 0002:0006f72e _GetUserDefaultLCID@0 100a772e f kernel32:KERNEL32.dll - 0002:0006f734 _RaiseException@16 100a7734 f kernel32:KERNEL32.dll - 0003:00000000 ___xc_a 100aa000 LIBCMTD:crt0init.obj - 0003:00000104 ___xc_z 100aa104 LIBCMTD:crt0init.obj - 0003:00000208 ___xi_a 100aa208 LIBCMTD:crt0init.obj - 0003:00000420 ___xi_z 100aa420 LIBCMTD:crt0init.obj - 0003:00000524 ___xp_a 100aa524 LIBCMTD:crt0init.obj - 0003:00000838 ___xp_z 100aa838 LIBCMTD:crt0init.obj - 0003:0000093c ___xt_a 100aa93c LIBCMTD:crt0init.obj - 0003:00000a40 ___xt_z 100aaa40 LIBCMTD:crt0init.obj - 0003:00000b6c ??_C@_05BOAHNBIE@1?42?46?$AA@ 100aab6c compress.obj - 0003:000031e0 _deflate_copyright 100ad1e0 deflate.obj - 0003:000032d0 ??_C@_07EBNKNFJN@?$DMfd?3?$CFd?$DO?$AA@ 100ad2d0 gzlib.obj - 0003:000032d9 ??_C@_00CNPNBAHC@?$AA@ 100ad2d9 gzlib.obj - 0003:000032dc ??_C@_02LMMGGCAJ@?3?5?$AA@ 100ad2dc gzlib.obj - 0003:000032e0 ??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ 100ad2e0 gzlib.obj - 0003:000032f0 ??_C@_0CF@MLPJFDMM@requested?5length?5does?5not?5fit?5in@ 100ad2f0 gzread.obj - 0003:0000331c ??_C@_0BG@HCKBMIHF@compressed?5data?5error?$AA@ 100ad31c gzread.obj - 0003:00003338 ??_C@_0CH@CPOLIEKA@internal?5error?3?5inflate?5stream?5c@ 100ad338 gzread.obj - 0003:00003368 ??_C@_0BH@CFIIDOJD@unexpected?5end?5of?5file?$AA@ 100ad368 gzread.obj - 0003:00003384 ??_C@_0BP@IIKIGMCC@out?5of?5room?5to?5push?5characters?$AA@ 100ad384 gzread.obj - 0003:000033ac ??_C@_0CH@DEEGAHIB@internal?5error?3?5deflate?5stream?5c@ 100ad3ac gzwrite.obj - 0003:00003e40 ??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@ 100ade40 infback.obj - 0003:00003e64 ??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@ 100ade64 infback.obj - 0003:00003e80 ??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@ 100ade80 infback.obj - 0003:00003ea4 ??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@ 100adea4 infback.obj - 0003:00003ec0 ??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@ 100adec0 infback.obj - 0003:00003ee4 ??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@ 100adee4 infback.obj - 0003:00003f10 ??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@ 100adf10 infback.obj - 0003:00003f30 ??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@ 100adf30 infback.obj - 0003:00003f50 ??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@ 100adf50 infback.obj - 0003:00003f7c ??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@ 100adf7c infback.obj - 0003:00003fa0 ??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@ 100adfa0 infback.obj - 0003:00004a18 ??_C@_0BH@FGKKJGOC@incorrect?5length?5check?$AA@ 100aea18 inflate.obj - 0003:00004a34 ??_C@_0BF@MEIGEHBE@incorrect?5data?5check?$AA@ 100aea34 inflate.obj - 0003:00004a50 ??_C@_0BE@GONKLEPM@header?5crc?5mismatch?$AA@ 100aea50 inflate.obj - 0003:00004a68 ??_C@_0BJ@BLBBCOMO@unknown?5header?5flags?5set?$AA@ 100aea68 inflate.obj - 0003:00004a88 ??_C@_0BE@EMOGCLGO@invalid?5window?5size?$AA@ 100aea88 inflate.obj - 0003:00004aa0 ??_C@_0BL@IHKGDAEE@unknown?5compression?5method?$AA@ 100aeaa0 inflate.obj - 0003:00004ac0 ??_C@_0BH@LIBMMIGA@incorrect?5header?5check?$AA@ 100aeac0 inflate.obj - 0003:00004ae0 _inflate_copyright 100aeae0 inftrees.obj - 0003:00004c4c ??_C@_02GMLFBBN@wb?$AA@ 100aec4c ioapi.obj - 0003:00004c50 ??_C@_03HMFOOINA@r?$CLb?$AA@ 100aec50 ioapi.obj - 0003:00004c54 ??_C@_02JDPG@rb?$AA@ 100aec54 ioapi.obj - 0003:000052a0 __dist_code 100af2a0 trees.obj - 0003:000054a0 __length_code 100af4a0 trees.obj - 0003:000058a0 _unz_copyright 100af8a0 unzip.obj - 0003:00005908 _zip_copyright 100af908 zip.obj - 0003:00005968 ??_C@_01JOAMLHOP@?9?$AA@ 100af968 zip.obj - 0003:0000596c ??_C@_0BF@CJFPCCEG@incompatible?5version?$AA@ 100af96c zutil.obj - 0003:00005988 ??_C@_0N@DFPGLBGC@buffer?5error?$AA@ 100af988 zutil.obj - 0003:00005998 ??_C@_0BE@OGGJBMCE@insufficient?5memory?$AA@ 100af998 zutil.obj - 0003:000059b0 ??_C@_0L@HAHMBNLP@data?5error?$AA@ 100af9b0 zutil.obj - 0003:000059c0 ??_C@_0N@MKKNPMJD@stream?5error?$AA@ 100af9c0 zutil.obj - 0003:000059d0 ??_C@_0L@KIJFAKBJ@file?5error?$AA@ 100af9d0 zutil.obj - 0003:000059e0 ??_C@_0L@FNAOCBOG@stream?5end?$AA@ 100af9e0 zutil.obj - 0003:000059f0 ??_C@_0BA@MOKMMFOD@need?5dictionary?$AA@ 100af9f0 zutil.obj - 0003:00005a04 _z_errmsg 100afa04 zutil.obj - 0003:00005a38 ??_C@_1JE@ECKHFIFP@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAd?$AAe?$AAs?$AAc?$AAr?$AAi?$AAp?$AAt?$AAo?$AAr?$AA?4?$AA?5?$AAF?$AAi?$AAl?$AAe?$AA?5@ 100afa38 LIBCMTD:lseeki64.obj - 0003:00005aec ??_C@_1CM@OKGMMMDH@?$AA?$CI?$AA_?$AAo?$AAs?$AAf?$AAi?$AAl?$AAe?$AA?$CI?$AAf?$AAh?$AA?$CJ?$AA?5?$AA?$CG?$AA?5?$AAF?$AAO?$AAP?$AAE?$AAN?$AA?$CJ?$AA?$AA@ 100afaec LIBCMTD:lseeki64.obj - 0003:00005b20 ??_C@_1BE@KHFBJMNM@?$AA_?$AAl?$AAs?$AAe?$AAe?$AAk?$AAi?$AA6?$AA4?$AA?$AA@ 100afb20 LIBCMTD:lseeki64.obj - 0003:00005b38 ??_C@_1GE@MINKPNPH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100afb38 LIBCMTD:lseeki64.obj - 0003:00005bb0 ??_C@_1FO@LPCLHKGE@?$AA?$CI?$AAf?$AAh?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AAu?$AAn?$AAs?$AAi?$AAg?$AAn?$AAe?$AAd?$AA?$CJ?$AAf?$AAh?$AA?5?$AA?$DM?$AA?5?$AA?$CI?$AAu?$AAn?$AAs?$AAi@ 100afbb0 LIBCMTD:lseeki64.obj - 0003:00005c20 ?ProcessDetach@NativeDll@@@0IB 100afc20 LIBCMTD:dbgfree.obj - 0003:00005c24 ?ProcessAttach@NativeDll@@@0IB 100afc24 LIBCMTD:dbgfree.obj - 0003:00005c28 ?ThreadAttach@NativeDll@@@0IB 100afc28 LIBCMTD:dbgfree.obj - 0003:00005c2c ?ThreadDetach@NativeDll@@@0IB 100afc2c LIBCMTD:dbgfree.obj - 0003:00005c30 ?ProcessVerifier@NativeDll@@@0IB 100afc30 LIBCMTD:dbgfree.obj - 0003:00005c34 ??_C@_1CC@OLIJCKA@?$AA?$CI?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100afc34 LIBCMTD:sprintf.obj - 0003:00005c5c ??_C@_1BA@KBJJGFFE@?$AAs?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA?$AA@ 100afc5c LIBCMTD:sprintf.obj - 0003:00005c70 ??_C@_1GC@BMNPEKNN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100afc70 LIBCMTD:sprintf.obj - 0003:00005ce8 ??_C@_1CC@MGIEJOME@?$AA?$CI?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100afce8 LIBCMTD:sprintf.obj - 0003:00005d10 ??_C@_1GM@HFLCJPGH@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAe?$AAr?$AAr?$AAm?$AAs?$AAg?$AA?0?$AA?5?$AA?$CI?$AA9?$AA4?$AA?$CL?$AA3?$AA8?$AA?$CL?$AA2?$AA?$CJ?$AA?0?$AA?5?$AA_?$AAg?$AAe?$AAt@ 100afd10 LIBCMTD:strerror.obj - 0003:00005d94 ??_C@_1BC@CPPAPMCG@?$AAs?$AAt?$AAr?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AA@ 100afd94 LIBCMTD:strerror.obj - 0003:00005db0 ??_C@_1GE@IMODLDCP@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100afdb0 LIBCMTD:strerror.obj - 0003:00005e28 ??_C@_0DC@PHLJOGAJ@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100afe28 LIBCMTD:strerror.obj - 0003:00005e68 ??_C@_0EA@FCLIIPNN@Visual?5C?$CL?$CL?5CRT?3?5Not?5enough?5memor@ 100afe68 LIBCMTD:strerror.obj - 0003:00005eb8 ??_C@_1JI@GAHGOJMC@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAT?$AAC?$AAh?$AAa?$AAr?$AAs?$AA?0?$AA?5@ 100afeb8 LIBCMTD:strerror.obj - 0003:00005f70 ??_C@_1CC@JNJFIMGE@?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAT?$AAC?$AAh?$AAa?$AAr?$AAs?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 100aff70 LIBCMTD:strerror.obj - 0003:00005f98 ??_C@_1BG@CLIBDOC@?$AAs?$AAt?$AAr?$AAe?$AAr?$AAr?$AAo?$AAr?$AA_?$AAs?$AA?$AA@ 100aff98 LIBCMTD:strerror.obj - 0003:00005fb4 ??_C@_1BO@PNINNIGK@?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100affb4 LIBCMTD:strerror.obj - 0003:00005fd8 ??_C@_1BG@KCMPBBDK@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAe?$AAr?$AAr?$AAn?$AAo?$AA?$AA@ 100affd8 LIBCMTD:dosmap.obj - 0003:00005ff8 ??_C@_1GA@MFGIMPNL@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100afff8 LIBCMTD:dosmap.obj - 0003:0000606c ??_C@_1BO@LKEBEKJP@?$AAp?$AAV?$AAa?$AAl?$AAu?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b006c LIBCMTD:dosmap.obj - 0003:00006090 ??_C@_1BM@INIPHHDD@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAd?$AAo?$AAs?$AAe?$AAr?$AAr?$AAn?$AAo?$AA?$AA@ 100b0090 LIBCMTD:dosmap.obj - 0003:000060b4 ??_C@_1CI@HBNALCBB@?$AA?$CI?$AA?$CK?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA_?$AAT?$AA?$CI?$AA?8?$AA?2?$AA0?$AA?8?$AA?$CJ?$AA?$CJ?$AA?$AA@ 100b00b4 LIBCMTD:fopen.obj - 0003:000060e4 ??_C@_1BO@MJMKAKCJ@?$AA?$CI?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100b00e4 LIBCMTD:fopen.obj - 0003:00006108 ??_C@_1BA@HNEAFMNL@?$AA_?$AAf?$AAs?$AAo?$AAp?$AAe?$AAn?$AA?$AA@ 100b0108 LIBCMTD:fopen.obj - 0003:00006120 ??_C@_1FO@NCADDBOO@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b0120 LIBCMTD:fopen.obj - 0003:00006190 ??_C@_1BO@CLGIAEOJ@?$AA?$CI?$AAf?$AAi?$AAl?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100b0190 LIBCMTD:fopen.obj - 0003:000061b4 ??_C@_1BA@PBGKCCAP@?$AAf?$AAo?$AAp?$AAe?$AAn?$AA_?$AAs?$AA?$AA@ 100b01b4 LIBCMTD:fopen.obj - 0003:000061c8 ??_C@_1CA@LLJLFCDN@?$AA?$CI?$AAp?$AAf?$AAi?$AAl?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100b01c8 LIBCMTD:fopen.obj - 0003:000061f0 ??_C@_1BA@CMLCEIGG@?$AAf?$AAr?$AAe?$AAa?$AAd?$AA_?$AAs?$AA?$AA@ 100b01f0 LIBCMTD:fread.obj - 0003:00006208 ??_C@_1FO@PNLFLIH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b0208 LIBCMTD:fread.obj - 0003:00006278 ??_C@_1CC@FADMNIL@?$AA?$CI?$AAs?$AAt?$AAr?$AAe?$AAa?$AAm?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100b0278 LIBCMTD:fread.obj - 0003:000062a0 ??_C@_1DA@DKEFLDMG@?$AA?$CI?$AA?$CC?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AAt?$AAo?$AAo?$AA?5?$AAs?$AAm?$AAa?$AAl?$AAl?$AA?$CC?$AA?0?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 100b02a0 LIBCMTD:fread.obj - 0003:000062e0 ??_C@_1LG@DCNDJCHK@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAc?$AAo?$AAn?$AAs?$AAi?$AAs?$AAt?$AAe?$AAn?$AAt?$AA?5?$AAS?$AAt?$AAr?$AAe?$AAa?$AAm?$AA?5?$AAC?$AAo?$AAu?$AAn?$AAt?$AA?4?$AA?5?$AAF?$AAl?$AAu@ 100b02e0 LIBCMTD:fread.obj - 0003:000063c0 ??_C@_1EA@FAMECDND@?$AAn?$AAu?$AAm?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA?$CI?$AAS?$AAI?$AAZ?$AAE?$AA_?$AAM?$AAA?$AAX?$AA?5?$AA?1?$AA?5?$AAe?$AAl?$AAe?$AAm?$AAe?$AAn?$AAt?$AAS?$AAi?$AAz?$AAe?$AA?$CJ?$AA?$AA@ 100b03c0 LIBCMTD:fread.obj - 0003:0000640c ??_C@_1CA@IDPOGFL@?$AA_?$AAf?$AAr?$AAe?$AAa?$AAd?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA_?$AAs?$AA?$AA@ 100b040c LIBCMTD:fread.obj - 0003:00006434 ??_C@_1CC@CGFEEBMC@?$AA?$CI?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100b0434 LIBCMTD:fread.obj - 0003:0000645c ??_C@_1O@KLNKIMAP@?$AAf?$AAw?$AAr?$AAi?$AAt?$AAe?$AA?$AA@ 100b045c LIBCMTD:fwrite.obj - 0003:00006470 ??_C@_1GA@DOFNKKGD@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b0470 LIBCMTD:fwrite.obj - 0003:000064e4 ??_C@_1DC@FHEPNAPF@?$AAn?$AAu?$AAm?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA?$CI?$AAS?$AAI?$AAZ?$AAE?$AA_?$AAM?$AAA?$AAX?$AA?5?$AA?1?$AA?5?$AAs?$AAi?$AAz?$AAe?$AA?$CJ?$AA?$AA@ 100b04e4 LIBCMTD:fwrite.obj - 0003:00006520 ??_C@_1BO@JGPKCBCE@?$AA_?$AAf?$AAw?$AAr?$AAi?$AAt?$AAe?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 100b0520 LIBCMTD:fwrite.obj - 0003:00006544 ??_C@_1M@CKCKPMNP@?$AAf?$AAt?$AAe?$AAl?$AAl?$AA?$AA@ 100b0544 LIBCMTD:ftell.obj - 0003:00006558 ??_C@_1FO@NBACIADE@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b0558 LIBCMTD:ftell.obj - 0003:000065c8 ??_C@_1BM@EPIDANEK@?$AA_?$AAf?$AAt?$AAe?$AAl?$AAl?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 100b05c8 LIBCMTD:ftell.obj - 0003:000065ec ??_C@_1BM@JMKHIAHP@?$AA?$CI?$AAs?$AAt?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100b05ec LIBCMTD:ftell.obj - 0003:00006610 ??_C@_1IO@PMHBOLJK@?$AA?$CI?$AA?$CI?$AAw?$AAh?$AAe?$AAn?$AAc?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAS?$AAE?$AAE?$AAK?$AA_?$AAS?$AAE?$AAT?$AA?$CJ?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CI?$AAw?$AAh?$AAe?$AAn?$AAc?$AAe@ 100b0610 LIBCMTD:fseek.obj - 0003:000066bc ??_C@_1M@HCCOIONH@?$AAf?$AAs?$AAe?$AAe?$AAk?$AA?$AA@ 100b06bc LIBCMTD:fseek.obj - 0003:000066d0 ??_C@_1FO@ECBPAICH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b06d0 LIBCMTD:fseek.obj - 0003:00006740 ??_C@_1O@EGMJNCOI@?$AAf?$AAc?$AAl?$AAo?$AAs?$AAe?$AA?$AA@ 100b0740 LIBCMTD:fclose.obj - 0003:00006750 ??_C@_1GA@KMIDAPAP@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b0750 LIBCMTD:fclose.obj - 0003:000067c4 ??_C@_1BO@JINCABEC@?$AA_?$AAf?$AAc?$AAl?$AAo?$AAs?$AAe?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 100b07c4 LIBCMTD:fclose.obj - 0003:000067e8 ??_C@_19LPGIFIDB@?$AAf?$AAe?$AAo?$AAf?$AA?$AA@ 100b07e8 LIBCMTD:feoferr.obj - 0003:000067f8 ??_C@_1GC@CAEOCPLB@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b07f8 LIBCMTD:feoferr.obj - 0003:00006870 ??_C@_1O@MOPHEPGP@?$AAf?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AA@ 100b0870 LIBCMTD:feoferr.obj - 0003:00006880 ??_C@_1BE@DHFIIAMO@?$AA_?$AAf?$AAt?$AAe?$AAl?$AAl?$AAi?$AA6?$AA4?$AA?$AA@ 100b0880 LIBCMTD:ftelli64.obj - 0003:00006898 ??_C@_1GE@GDLBAPK@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b0898 LIBCMTD:ftelli64.obj - 0003:00006910 ??_C@_1BI@MFCLPIBM@?$AAs?$AAt?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b0910 LIBCMTD:ftelli64.obj - 0003:0000692c ??_C@_1BE@LFNEFJFD@?$AA_?$AAf?$AAs?$AAe?$AAe?$AAk?$AAi?$AA6?$AA4?$AA?$AA@ 100b092c LIBCMTD:fseeki64.obj - 0003:00006948 ??_C@_1GE@FPMJBCHH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b0948 LIBCMTD:fseeki64.obj - 0003:000069c0 __pRawDllMain 100b09c0 LIBCMTD:dllcrt0.obj - 0003:000069c0 __pDefaultRawDllMain 100b09c0 LIBCMTD:dllcrt0.obj - 0003:000069c4 ??_C@_0DB@OLNOAEGF@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b09c4 LIBCMTD:dllcrt0.obj - 0003:00006a00 ??_C@_0DB@KIKNCIEC@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b0a00 LIBCMTD:osfinfo.obj - 0003:00006a3c ??_C@_1BO@EMBOBGKE@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAo?$AAs?$AAf?$AAh?$AAa?$AAn?$AAd?$AAl?$AAe?$AA?$AA@ 100b0a3c LIBCMTD:osfinfo.obj - 0003:00006a60 ??_C@_1GC@MLKLDJJG@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b0a60 LIBCMTD:osfinfo.obj - 0003:00006ad8 ??_C@_0DA@NBLAKPEL@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b0ad8 LIBCMTD:ioinit.obj - 0003:00006b14 ??_C@_17LGKOMLJ@?$AA?4?$AA?4?$AA?4?$AA?$AA@ 100b0b14 LIBCMTD:dbgrptw.obj - 0003:00006b20 ??_C@_1CC@CGHMNGDG@?$AAA?$AAs?$AAs?$AAe?$AAr?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?$AA@ 100b0b20 LIBCMTD:dbgrptw.obj - 0003:00006b48 ??_C@_1M@ILHOPKA@?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?$AA@ 100b0b48 LIBCMTD:dbgrptw.obj - 0003:00006b58 ??_C@_1BA@GLMCNLEM@?$AAW?$AAa?$AAr?$AAn?$AAi?$AAn?$AAg?$AA?$AA@ 100b0b58 LIBCMTD:dbgrptw.obj - 0003:00006b7c ??_C@_0DA@PCCBBBID@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b0b7c LIBCMTD:dbgrptw.obj - 0003:00006bb8 ??_C@_1FI@PHIAFFHM@?$AA?$CI?$AA?$CC?$AAT?$AAh?$AAe?$AA?5?$AAh?$AAo?$AAo?$AAk?$AA?5?$AAf?$AAu?$AAn?$AAc?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAi?$AAs?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAi?$AAn?$AA?5?$AAt?$AAh@ 100b0bb8 LIBCMTD:dbgrptw.obj - 0003:00006c24 ??_C@_1CG@JBJEFOCM@?$AAp?$AAf?$AAn?$AAN?$AAe?$AAw?$AAH?$AAo?$AAo?$AAk?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b0c24 LIBCMTD:dbgrptw.obj - 0003:00006c54 ??_C@_1CI@IIHEAKEI@?$AA_?$AAC?$AAr?$AAt?$AAS?$AAe?$AAt?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AAH?$AAo?$AAo?$AAk?$AAW?$AA2?$AA?$AA@ 100b0c54 LIBCMTD:dbgrptw.obj - 0003:00006c88 ??_C@_1GA@IBJGKIFE@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b0c88 LIBCMTD:dbgrptw.obj - 0003:00006d00 ??_C@_1HI@OFEHGPPC@?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAC?$AAR?$AAT?$AA_?$AAR?$AAP?$AAT?$AAH?$AAO?$AAO?$AAK?$AA_?$AAI?$AAN?$AAS?$AAT?$AAA?$AAL?$AAL?$AA?5?$AA?$HM?$AA?$HM?$AA?5@ 100b0d00 LIBCMTD:dbgrptw.obj - 0003:00006d90 ??_C@_1EG@PEOEAKBB@?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa?$AAl?$AA?5?$AAC?$AA?$CL?$AA?$CL?$AA?5?$AAD?$AAe?$AAb?$AAu?$AAg?$AA?5?$AAL?$AAi?$AAb?$AAr?$AAa@ 100b0d90 LIBCMTD:dbgrptw.obj - 0003:00006de8 ??_C@_1FG@BBOLDHGF@?$AA_?$AAC?$AAr?$AAt?$AAD?$AAb?$AAg?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AA?3?$AA?5?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAt?$AAo?$AAo?$AA?5?$AAl?$AAo?$AAn?$AAg?$AA?5?$AAo@ 100b0de8 LIBCMTD:dbgrptw.obj - 0003:00006e50 ??_C@_1JI@EACPGHID@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAL?$AA?$CC?$AA_@ 100b0e50 LIBCMTD:dbgrptw.obj - 0003:00006f08 ??_C@_1BI@KALLJECN@?$AA?$CI?$AA?$CK?$AA_?$AAe?$AAr?$AAr?$AAn?$AAo?$AA?$CI?$AA?$CJ?$AA?$CJ?$AA?$AA@ 100b0f08 LIBCMTD:dbgrptw.obj - 0003:00006f28 ??_C@_1KK@MEFMPOLM@?$AAD?$AAe?$AAb?$AAu?$AAg?$AA?5?$AA?$CF?$AAs?$AA?$CB?$AA?6?$AA?6?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?3?$AA?5?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs@ 100b0f28 LIBCMTD:dbgrptw.obj - 0003:00006ff4 ??_C@_1BE@CGCJKGHI@?$AA?6?$AAM?$AAo?$AAd?$AAu?$AAl?$AAe?$AA?3?$AA?5?$AA?$AA@ 100b0ff4 LIBCMTD:dbgrptw.obj - 0003:0000700c ??_C@_1BA@LNHECFIM@?$AA?6?$AAF?$AAi?$AAl?$AAe?$AA?3?$AA?5?$AA?$AA@ 100b100c LIBCMTD:dbgrptw.obj - 0003:00007020 ??_C@_1BA@GLLGCPCK@?$AA?6?$AAL?$AAi?$AAn?$AAe?$AA?3?$AA?5?$AA?$AA@ 100b1020 LIBCMTD:dbgrptw.obj - 0003:00007034 ??_C@_15IABLJNFO@?$AA?6?$AA?6?$AA?$AA@ 100b1034 LIBCMTD:dbgrptw.obj - 0003:0000703c ??_C@_1BK@PEDCIPMA@?$AAE?$AAx?$AAp?$AAr?$AAe?$AAs?$AAs?$AAi?$AAo?$AAn?$AA?3?$AA?5?$AA?$AA@ 100b103c LIBCMTD:dbgrptw.obj - 0003:0000705c ??_C@_11LOCGONAA@?$AA?$AA@ 100b105c LIBCMTD:dbgrptw.obj - 0003:00007060 ??_C@_1OG@PMPPFHAF@?$AA?6?$AA?6?$AAF?$AAo?$AAr?$AA?5?$AAi?$AAn?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAo?$AAn?$AA?5?$AAh?$AAo?$AAw?$AA?5?$AAy?$AAo?$AAu?$AAr?$AA?5?$AAp?$AAr@ 100b1060 LIBCMTD:dbgrptw.obj - 0003:00007178 ??_C@_1NO@LECLLHOL@?$AAm?$AAe?$AAm?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAS?$AAh?$AAo?$AAr?$AAt?$AAP?$AAr?$AAo?$AAg?$AAN?$AAa?$AAm?$AAe?$AA?0?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf@ 100b1178 LIBCMTD:dbgrptw.obj - 0003:00007284 ??_C@_1CO@EAEJAADC@?$AA?$DM?$AAp?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAn?$AAa?$AAm?$AAe?$AA?5?$AAu?$AAn?$AAk?$AAn?$AAo?$AAw?$AAn?$AA?$DO?$AA?$AA@ 100b1284 LIBCMTD:dbgrptw.obj - 0003:000072c0 ??_C@_1GI@DEDNNLCI@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAE?$AAx?$AAe?$AAN?$AAa?$AAm?$AAe?$AA?0?$AA?5?$AA2?$AA6?$AA0?$AA?0?$AA?5?$AAL?$AA?$CC?$AA?$DM?$AAp?$AAr?$AAo?$AAg@ 100b12c0 LIBCMTD:dbgrptw.obj - 0003:0000733c ??_C@_1CI@PGJIFDEK@?$AA_?$AA_?$AAc?$AAr?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AAW?$AAi?$AAn?$AAd?$AAo?$AAw?$AAW?$AA?$AA@ 100b133c LIBCMTD:dbgrptw.obj - 0003:0000736c ??_C@_06PJIGMIJB@Client?$AA@ 100b136c LIBCMTD:dbgheap.obj - 0003:00007374 ??_C@_06KMEJCCGM@Ignore?$AA@ 100b1374 LIBCMTD:dbgheap.obj - 0003:0000737c ??_C@_03OGPFLFLO@CRT?$AA@ 100b137c LIBCMTD:dbgheap.obj - 0003:00007380 ??_C@_06EFAGIKOH@Normal?$AA@ 100b1380 LIBCMTD:dbgheap.obj - 0003:00007388 ??_C@_04HJMOFLDF@Free?$AA@ 100b1388 LIBCMTD:dbgheap.obj - 0003:000073a8 ??_C@_0DC@JEMAGEKG@Error?3?5memory?5allocation?3?5bad?5me@ 100b13a8 LIBCMTD:dbgheap.obj - 0003:000073e4 ??_C@_0CF@BICKFLAF@Invalid?5allocation?5size?3?5?$CFIu?5byt@ 100b13e4 LIBCMTD:dbgheap.obj - 0003:00007410 ??_C@_02DKCKIIND@?$CFs?$AA@ 100b1410 LIBCMTD:dbgheap.obj - 0003:00007414 ??_C@_0CB@CCLOLAHO@Client?5hook?5allocation?5failure?4?6@ 100b1414 LIBCMTD:dbgheap.obj - 0003:0000743c ??_C@_0DF@BBEGIFEK@Client?5hook?5allocation?5failure?5a@ 100b143c LIBCMTD:dbgheap.obj - 0003:00007480 ??_C@_1GC@DNJKKEAA@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b1480 LIBCMTD:dbgheap.obj - 0003:000074f8 ??_C@_1CE@LJFEPPMP@?$AA_?$AAC?$AAr?$AAt?$AAC?$AAh?$AAe?$AAc?$AAk?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AA?$CI?$AA?$CJ?$AA?$AA@ 100b14f8 LIBCMTD:dbgheap.obj - 0003:00007524 ??_C@_1DE@KOOKLFBB@?$AA_?$AAp?$AAF?$AAi?$AAr?$AAs?$AAt?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAp?$AAO?$AAl?$AAd?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 100b1524 LIBCMTD:dbgheap.obj - 0003:00007564 ??_C@_1DC@GEFKNOOL@?$AA_?$AAp?$AAL?$AAa?$AAs?$AAt?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAp?$AAO?$AAl?$AAd?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 100b1564 LIBCMTD:dbgheap.obj - 0003:000075a0 ??_C@_1GE@PCKLOLAO@?$AAf?$AAR?$AAe?$AAa?$AAl?$AAl?$AAo?$AAc?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CI?$AA?$CB?$AAf?$AAR?$AAe?$AAa?$AAl?$AAl?$AAo?$AAc?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAp?$AAN?$AAe?$AAw?$AAB?$AAl@ 100b15a0 LIBCMTD:dbgheap.obj - 0003:00007618 ??_C@_0DA@HFBKENN@Error?3?5possible?5heap?5corruption?5@ 100b1618 LIBCMTD:dbgheap.obj - 0003:00007658 ??_C@_1IK@DCPKDGNH@?$AAp?$AAO?$AAl?$AAd?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?9?$AA?$DO?$AAn?$AAL?$AAi?$AAn?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAI?$AAG?$AAN?$AAO?$AAR?$AAE?$AA_?$AAL?$AAI?$AAN?$AAE?$AA?5@ 100b1658 LIBCMTD:dbgheap.obj - 0003:00007700 ??_C@_1EE@GFOPCECE@?$AA_?$AAC?$AAr?$AAt?$AAI?$AAs?$AAV?$AAa?$AAl?$AAi?$AAd?$AAH?$AAe?$AAa?$AAp?$AAP?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?$CI?$AAp?$AAU?$AAs?$AAe?$AAr?$AAD?$AAa?$AAt?$AAa@ 100b1700 LIBCMTD:dbgheap.obj - 0003:00007758 ??_C@_0EM@LGFLMAGJ@The?5Block?5at?50x?$CFp?5was?5allocated?5@ 100b1758 LIBCMTD:dbgheap.obj - 0003:000077b8 ??_C@_0FA@EFEIGJKG@Error?3?5memory?5allocation?3?5bad?5me@ 100b17b8 LIBCMTD:dbgheap.obj - 0003:00007818 ??_C@_0ED@GPCPBAGP@Invalid?5allocation?5size?3?5?$CFIu?5byt@ 100b1818 LIBCMTD:dbgheap.obj - 0003:00007868 ??_C@_0CE@DOFMDOL@Client?5hook?5re?9allocation?5failur@ 100b1868 LIBCMTD:dbgheap.obj - 0003:00007894 ??_C@_0DI@KKJPDPGM@Client?5hook?5re?9allocation?5failur@ 100b1894 LIBCMTD:dbgheap.obj - 0003:000078d8 ??_C@_1BI@HAPNGHDP@?$AA_?$AAe?$AAx?$AAp?$AAa?$AAn?$AAd?$AA_?$AAd?$AAb?$AAg?$AA?$AA@ 100b18d8 LIBCMTD:dbgheap.obj - 0003:000078f4 ??_C@_1CE@CJACEFBA@?$AAp?$AAU?$AAs?$AAe?$AAr?$AAD?$AAa?$AAt?$AAa?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b18f4 LIBCMTD:dbgheap.obj - 0003:00007920 ??_C@_1CM@MMAADDMD@?$AA_?$AAp?$AAF?$AAi?$AAr?$AAs?$AAt?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAp?$AAH?$AAe?$AAa?$AAd?$AA?$AA@ 100b1920 LIBCMTD:dbgheap.obj - 0003:00007954 ??_C@_1CK@DMAGEMBG@?$AA_?$AAp?$AAL?$AAa?$AAs?$AAt?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAp?$AAH?$AAe?$AAa?$AAd?$AA?$AA@ 100b1954 LIBCMTD:dbgheap.obj - 0003:00007988 ??_C@_1DM@ODCJIDCP@?$AAp?$AAH?$AAe?$AAa?$AAd?$AA?9?$AA?$DO?$AAn?$AAB?$AAl?$AAo?$AAc?$AAk?$AAU?$AAs?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAn?$AAB?$AAl?$AAo?$AAc?$AAk?$AAU?$AAs?$AAe?$AA?$AA@ 100b1988 LIBCMTD:dbgheap.obj - 0003:000079d0 ??_C@_1HK@HPCBMDFG@?$AAp?$AAH?$AAe?$AAa?$AAd?$AA?9?$AA?$DO?$AAn?$AAL?$AAi?$AAn?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAI?$AAG?$AAN?$AAO?$AAR?$AAE?$AA_?$AAL?$AAI?$AAN?$AAE?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAp@ 100b19d0 LIBCMTD:dbgheap.obj - 0003:00007a68 ??_C@_0IG@LEMBDCJK@HEAP?5CORRUPTION?5DETECTED?3?5after?5@ 100b1a68 LIBCMTD:dbgheap.obj - 0003:00007b08 ??_C@_0KE@MBMNHHHN@HEAP?5CORRUPTION?5DETECTED?3?5after?5@ 100b1b08 LIBCMTD:dbgheap.obj - 0003:00007bd0 ??_C@_0IK@PJCGLBOB@HEAP?5CORRUPTION?5DETECTED?3?5before@ 100b1bd0 LIBCMTD:dbgheap.obj - 0003:00007c78 ??_C@_0KI@JGFOHMEB@HEAP?5CORRUPTION?5DETECTED?3?5before@ 100b1c78 LIBCMTD:dbgheap.obj - 0003:00007d48 ??_C@_1EO@LHDAJOCM@?$AA_?$AAB?$AAL?$AAO?$AAC?$AAK?$AA_?$AAT?$AAY?$AAP?$AAE?$AA_?$AAI?$AAS?$AA_?$AAV?$AAA?$AAL?$AAI?$AAD?$AA?$CI?$AAp?$AAH?$AAe?$AAa?$AAd?$AA?9?$AA?$DO?$AAn?$AAB?$AAl?$AAo@ 100b1d48 LIBCMTD:dbgheap.obj - 0003:00007da8 ??_C@_0BL@KEIPLFAC@Client?5hook?5free?5failure?4?6?$AA@ 100b1da8 LIBCMTD:dbgheap.obj - 0003:00007dc8 ??_C@_0EJ@HEIBCIMJ@The?5Block?5at?50x?$CFp?5was?5allocated?5@ 100b1dc8 LIBCMTD:dbgheap.obj - 0003:00007e20 ??_C@_1BG@MBKOGDLD@?$AA_?$AAm?$AAs?$AAi?$AAz?$AAe?$AA_?$AAd?$AAb?$AAg?$AA?$AA@ 100b1e20 LIBCMTD:dbgheap.obj - 0003:00007e3c ??_C@_0CI@JMLBEDHJ@?$CFhs?5located?5at?50x?$CFp?5is?5?$CFIu?5bytes@ 100b1e3c LIBCMTD:dbgheap.obj - 0003:00007e70 ??_C@_0EG@DGJMPDBH@?$CFhs?5located?5at?50x?$CFp?5is?5?$CFIu?5bytes@ 100b1e70 LIBCMTD:dbgheap.obj - 0003:00007ec8 ??_C@_0IC@BBJIOOJH@HEAP?5CORRUPTION?5DETECTED?3?5on?5top@ 100b1ec8 LIBCMTD:dbgheap.obj - 0003:00007f68 ??_C@_0KA@IHNJJKPL@HEAP?5CORRUPTION?5DETECTED?3?5on?5top@ 100b1f68 LIBCMTD:dbgheap.obj - 0003:00008028 ??_C@_07OHKEFPKJ@DAMAGED?$AA@ 100b2028 LIBCMTD:dbgheap.obj - 0003:00008034 ??_C@_0CL@HNNNMKMJ@_heapchk?5fails?5with?5unknown?5retu@ 100b2034 LIBCMTD:dbgheap.obj - 0003:00008068 ??_C@_0CC@MFFCHFHO@_heapchk?5fails?5with?5_HEAPBADPTR?4@ 100b2068 LIBCMTD:dbgheap.obj - 0003:00008090 ??_C@_0CC@MJGLGBDG@_heapchk?5fails?5with?5_HEAPBADEND?4@ 100b2090 LIBCMTD:dbgheap.obj - 0003:000080b8 ??_C@_0CD@CPKEAPBD@_heapchk?5fails?5with?5_HEAPBADNODE@ 100b20b8 LIBCMTD:dbgheap.obj - 0003:000080e4 ??_C@_0CE@MKKHMBMK@_heapchk?5fails?5with?5_HEAPBADBEGI@ 100b20e4 LIBCMTD:dbgheap.obj - 0003:00008110 ??_C@_1BO@GJFDNMNF@?$AA_?$AAC?$AAr?$AAt?$AAS?$AAe?$AAt?$AAD?$AAb?$AAg?$AAF?$AAl?$AAa?$AAg?$AA?$AA@ 100b2110 LIBCMTD:dbgheap.obj - 0003:00008138 ??_C@_1BHO@NNANJNF@?$AA?$CI?$AAf?$AAN?$AAe?$AAw?$AAB?$AAi?$AAt?$AAs?$AA?$DN?$AA?$DN?$AA_?$AAC?$AAR?$AAT?$AAD?$AAB?$AAG?$AA_?$AAR?$AAE?$AAP?$AAO?$AAR?$AAT?$AA_?$AAF?$AAL?$AAA?$AAG?$AA?$CJ?$AA?5@ 100b2138 LIBCMTD:dbgheap.obj - 0003:00008304 ??_C@_1DE@GJCKCKEC@?$AA_?$AAC?$AAr?$AAt?$AAD?$AAo?$AAF?$AAo?$AAr?$AAA?$AAl?$AAl?$AAC?$AAl?$AAi?$AAe?$AAn?$AAt?$AAO?$AAb?$AAj?$AAe?$AAc?$AAt?$AAs?$AA?$AA@ 100b2304 LIBCMTD:dbgheap.obj - 0003:00008344 ??_C@_1BI@CJGCEEDL@?$AAp?$AAf?$AAn?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b2344 LIBCMTD:dbgheap.obj - 0003:00008360 ??_C@_0CB@EAAIGELO@Bad?5memory?5block?5found?5at?50x?$CFp?4?6@ 100b2360 LIBCMTD:dbgheap.obj - 0003:00008388 ??_C@_0DP@LEFMFBOD@Bad?5memory?5block?5found?5at?50x?$CFp?4?6@ 100b2388 LIBCMTD:dbgheap.obj - 0003:000083d4 ??_C@_1CE@NJJKELF@?$AA_?$AAC?$AAr?$AAt?$AAM?$AAe?$AAm?$AAC?$AAh?$AAe?$AAc?$AAk?$AAp?$AAo?$AAi?$AAn?$AAt?$AA?$AA@ 100b23d4 LIBCMTD:dbgheap.obj - 0003:00008400 ??_C@_1BM@MIMANDHC@?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b2400 LIBCMTD:dbgheap.obj - 0003:00008424 ??_C@_1CC@DFPEDFBP@?$AAn?$AAe?$AAw?$AAS?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b2424 LIBCMTD:dbgheap.obj - 0003:0000844c ??_C@_1CC@DHPFEMMN@?$AAo?$AAl?$AAd?$AAS?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b244c LIBCMTD:dbgheap.obj - 0003:00008474 ??_C@_1CE@PDIENACM@?$AA_?$AAC?$AAr?$AAt?$AAM?$AAe?$AAm?$AAD?$AAi?$AAf?$AAf?$AAe?$AAr?$AAe?$AAn?$AAc?$AAe?$AA?$AA@ 100b2474 LIBCMTD:dbgheap.obj - 0003:000084a0 ??_C@_0BH@GFGKJDCO@Object?5dump?5complete?4?6?$AA@ 100b24a0 LIBCMTD:dbgheap.obj - 0003:000084bc ??_C@_0DA@MDLBNIBM@crt?5block?5at?50x?$CFp?0?5subtype?5?$CFx?0?5?$CF@ 100b24bc LIBCMTD:dbgheap.obj - 0003:000084f8 ??_C@_0CH@FAGDDGPN@normal?5block?5at?50x?$CFp?0?5?$CFIu?5bytes?5@ 100b24f8 LIBCMTD:dbgheap.obj - 0003:00008528 ??_C@_0DD@GHNAAKBB@client?5block?5at?50x?$CFp?0?5subtype?5?$CFx@ 100b2528 LIBCMTD:dbgheap.obj - 0003:00008568 ??_C@_06PKLGBFGM@?$HL?$CFld?$HN?5?$AA@ 100b2568 LIBCMTD:dbgheap.obj - 0003:00008570 ??_C@_0L@JMEFFCCJ@?$CFhs?$CI?$CFd?$CJ?5?3?5?$AA@ 100b2570 LIBCMTD:dbgheap.obj - 0003:00008580 ??_C@_0BE@OIEFNFL@?$CDFile?5Error?$CD?$CI?$CFd?$CJ?5?3?5?$AA@ 100b2580 LIBCMTD:dbgheap.obj - 0003:00008598 ??_C@_0BE@KCIPKCIA@Dumping?5objects?5?9?$DO?6?$AA@ 100b2598 LIBCMTD:dbgheap.obj - 0003:000085b0 ??_C@_0BA@HJBKCELP@?5Data?3?5?$DM?$CFs?$DO?5?$CFs?6?$AA@ 100b25b0 LIBCMTD:dbgheap.obj - 0003:000085c4 ??_C@_1CG@LPFIACGM@?$AA_?$AAp?$AAr?$AAi?$AAn?$AAt?$AAM?$AAe?$AAm?$AAB?$AAl?$AAo?$AAc?$AAk?$AAD?$AAa?$AAt?$AAa?$AA?$AA@ 100b25c4 LIBCMTD:dbgheap.obj - 0003:000085f4 ??_C@_05MKKEDADM@?$CF?42X?5?$AA@ 100b25f4 LIBCMTD:dbgheap.obj - 0003:000085fc ??_C@_0BI@JBFPOEJA@Detected?5memory?5leaks?$CB?6?$AA@ 100b25fc LIBCMTD:dbgheap.obj - 0003:00008618 ??_C@_0BP@DEDHGGGI@Total?5allocations?3?5?$CFId?5bytes?4?6?$AA@ 100b2618 LIBCMTD:dbgheap.obj - 0003:00008640 ??_C@_0CB@BLHDAFNE@Largest?5number?5used?3?5?$CFId?5bytes?4?6@ 100b2640 LIBCMTD:dbgheap.obj - 0003:00008668 ??_C@_0BO@DACNIABB@?$CFId?5bytes?5in?5?$CFId?5?$CFhs?5Blocks?4?6?$AA@ 100b2668 LIBCMTD:dbgheap.obj - 0003:0000868c ??_C@_1CM@MPNIBKGK@?$AA_?$AAC?$AAr?$AAt?$AAM?$AAe?$AAm?$AAD?$AAu?$AAm?$AAp?$AAS?$AAt?$AAa?$AAt?$AAi?$AAs?$AAt?$AAi?$AAc?$AAs?$AA?$AA@ 100b268c LIBCMTD:dbgheap.obj - 0003:000086c0 ??_C@_1DK@LFLKFPDA@?$AAo?$AAf?$AAf?$AAs?$AAe?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAo?$AAf?$AAf?$AAs?$AAe?$AAt?$AA?5?$AA?$DM?$AA?5?$AAs?$AAi?$AAz?$AAe?$AA?$AA@ 100b26c0 LIBCMTD:dbgheap.obj - 0003:00008708 ??_C@_1DG@DONCJBBJ@?$AA_?$AAa?$AAl?$AAi?$AAg?$AAn?$AAe?$AAd?$AA_?$AAo?$AAf?$AAf?$AAs?$AAe?$AAt?$AA_?$AAm?$AAa?$AAl?$AAl?$AAo?$AAc?$AA_?$AAd?$AAb?$AAg?$AA?$AA@ 100b2708 LIBCMTD:dbgheap.obj - 0003:00008748 ??_C@_1CE@NPMGPNNP@?$AAI?$AAS?$AA_?$AA2?$AA_?$AAP?$AAO?$AAW?$AA_?$AAN?$AA?$CI?$AAa?$AAl?$AAi?$AAg?$AAn?$AA?$CJ?$AA?$AA@ 100b2748 LIBCMTD:dbgheap.obj - 0003:00008774 ??_C@_1DI@NINIKFFK@?$AA_?$AAa?$AAl?$AAi?$AAg?$AAn?$AAe?$AAd?$AA_?$AAo?$AAf?$AAf?$AAs?$AAe?$AAt?$AA_?$AAr?$AAe?$AAa?$AAl?$AAl?$AAo?$AAc?$AA_?$AAd?$AAb?$AAg?$AA?$AA@ 100b2774 LIBCMTD:dbgheap.obj - 0003:000087b8 ??_C@_0DL@PGHMMKNE@Damage?5before?50x?$CFp?5which?5was?5all@ 100b27b8 LIBCMTD:dbgheap.obj - 0003:00008800 ??_C@_0EI@NDNJMAJK@The?5block?5at?50x?$CFp?5was?5not?5alloca@ 100b2800 LIBCMTD:dbgheap.obj - 0003:00008858 ??_C@_0EF@PGELACII@The?5block?5at?50x?$CFp?5was?5not?5alloca@ 100b2858 LIBCMTD:dbgheap.obj - 0003:000088ac ??_C@_1CG@CEGMHIMN@?$AA_?$AAa?$AAl?$AAi?$AAg?$AAn?$AAe?$AAd?$AA_?$AAm?$AAs?$AAi?$AAz?$AAe?$AA_?$AAd?$AAb?$AAg?$AA?$AA@ 100b28ac LIBCMTD:dbgheap.obj - 0003:000088dc ??_C@_1CC@MOBIKHH@?$AAm?$AAe?$AAm?$AAb?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b28dc LIBCMTD:dbgheap.obj - 0003:00008908 ??_C@_1HO@MLMGPAFH@?$AA?$CI?$AA?$CC?$AAi?$AAn?$AAc?$AAo?$AAn?$AAs?$AAi?$AAs?$AAt?$AAe?$AAn?$AAt?$AA?5?$AAI?$AAO?$AAB?$AA?5?$AAf?$AAi?$AAe?$AAl?$AAd?$AAs?$AA?$CC?$AA?0?$AA?5?$AAs?$AAt?$AAr?$AAe@ 100b2908 LIBCMTD:_flsbuf.obj - 0003:000089a0 ??_C@_1GC@GNCCMPNN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b29a0 LIBCMTD:_flsbuf.obj - 0003:00008a18 ??_C@_1O@CEDCILHN@?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AA?$CJ?$AA?$AA@ 100b2a18 LIBCMTD:output.obj - 0003:00008a28 ??_C@_06OJHGLDPL@?$CInull?$CJ?$AA@ 100b2a28 LIBCMTD:output.obj - 0003:00008a30 ___lookuptable 100b2a30 LIBCMTD:output.obj - 0003:00008a9c ??_C@_0DA@NFBEBPEE@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b2a9c LIBCMTD:output.obj - 0003:00008ad8 ??_C@_1EK@PNGFDECN@?$AA?$CI?$AA?$CC?$AA?8?$AAn?$AA?8?$AA?5?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA?5?$AAs?$AAp?$AAe?$AAc?$AAi?$AAf?$AAi?$AAe?$AAr?$AA?5?$AAd?$AAi?$AAs?$AAa?$AAb?$AAl?$AAe?$AAd?$AA?$CC@ 100b2ad8 LIBCMTD:output.obj - 0003:00008b30 ??_C@_1CC@IFFHEMNF@?$AA?$CI?$AAc?$AAh?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA_?$AAT?$AA?$CI?$AA?8?$AA?2?$AA0?$AA?8?$AA?$CJ?$AA?$CJ?$AA?$AA@ 100b2b30 LIBCMTD:output.obj - 0003:00008b58 ??_C@_1BAA@ODEGEDCK@?$AA?$CI?$AA?5?$AA?$CI?$AA_?$AAS?$AAt?$AAr?$AAe?$AAa?$AAm?$AA?9?$AA?$DO?$AA_?$AAf?$AAl?$AAa?$AAg?$AA?5?$AA?$CG?$AA?5?$AA_?$AAI?$AAO?$AAS?$AAT?$AAR?$AAG?$AA?$CJ?$AA?5?$AA?$HM?$AA?$HM?$AA?5@ 100b2b58 LIBCMTD:output.obj - 0003:00008c8c ??_C@_1BE@IONLIDNC@?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAl?$AA?$AA@ 100b2c8c LIBCMTD:output.obj - 0003:00008ca8 ??_C@_1GA@HHFOFBLN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b2ca8 LIBCMTD:output.obj - 0003:00008d1c ??_C@_1BI@IGILPKD@?$AA_?$AAv?$AAs?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAl?$AA?$AA@ 100b2d1c LIBCMTD:vsprintf.obj - 0003:00008d38 ??_C@_1GE@DPADKNCG@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b2d38 LIBCMTD:vsprintf.obj - 0003:00008db0 ??_C@_1CE@HMKDJHB@?$AA_?$AAv?$AAs?$AAc?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 100b2db0 LIBCMTD:vsprintf.obj - 0003:00008de0 ??_C@_1EC@FABAOFFO@?$AA?$CI?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?$CJ?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CI?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ@ 100b2de0 LIBCMTD:vsnprnc.obj - 0003:00008e30 ??_C@_1CE@PCFPEIFI@?$AA_?$AAv?$AAs?$AAn?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 100b2e30 LIBCMTD:vsnprnc.obj - 0003:00008e5c ??_C@_1DA@HPBFKMEB@?$AA?$CI?$AA?$CC?$AAB?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AAt?$AAo?$AAo?$AA?5?$AAs?$AAm?$AAa?$AAl?$AAl?$AA?$CC?$AA?0?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 100b2e5c LIBCMTD:vsnprnc.obj - 0003:00008e98 ??_C@_1EE@OKCKIGFK@?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$DO?$AA?5@ 100b2e98 LIBCMTD:vsnprnc.obj - 0003:00008eec ??_C@_1BM@BLJALHEF@?$AA_?$AAv?$AAs?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 100b2eec LIBCMTD:vsnprnc.obj - 0003:00008f10 ??_C@_1BO@MLMCMBKN@?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b2f10 LIBCMTD:vsnprnc.obj - 0003:00008f34 ??_C@_1BO@MMPELNIM@?$AA_?$AAv?$AAs?$AAn?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 100b2f34 LIBCMTD:vsnprnc.obj - 0003:00008f58 ??_C@_1DM@MADKGDLO@?$AA?$CI?$AAL?$AA?$CC?$AAB?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AAi?$AAs?$AA?5?$AAt?$AAo?$AAo?$AA?5?$AAs?$AAm?$AAa?$AAl?$AAl?$AA?$CC?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 100b2f58 LIBCMTD:strcpy_s.obj - 0003:00008fa0 ??_C@_1CI@HCPHDDLE@?$AAB?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AAi?$AAs?$AA?5?$AAt?$AAo?$AAo?$AA?5?$AAs?$AAm?$AAa?$AAl?$AAl?$AA?$AA@ 100b2fa0 LIBCMTD:strcpy_s.obj - 0003:00008fd0 ??_C@_1CG@OFBJMIGJ@?$AA?$CI?$AA?$CI?$AA?$CI?$AA_?$AAS?$AAr?$AAc?$AA?$CJ?$AA?$CJ?$AA?$CJ?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b2fd0 LIBCMTD:strcpy_s.obj - 0003:00009000 ??_C@_1BC@CFJEPFGF@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$AA@ 100b3000 LIBCMTD:strcpy_s.obj - 0003:00009018 ??_C@_1GI@BGBNCIMA@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b3018 LIBCMTD:strcpy_s.obj - 0003:00009098 ??_C@_1FC@NCPEPIBI@?$AA?$CI?$AA?$CI?$AA_?$AAD?$AAs?$AAt?$AA?$CJ?$AA?$CJ?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AA?$CI?$AA_?$AAS?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt@ 100b3098 LIBCMTD:strcpy_s.obj - 0003:000090fc ??_C@_0DC@LMJHGCKC@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b30fc LIBCMTD:tidtable.obj - 0003:00009138 ??_C@_07PEJMOBNF@FlsFree?$AA@ 100b3138 LIBCMTD:tidtable.obj - 0003:00009144 ??_C@_0M@JCPCPOEF@FlsSetValue?$AA@ 100b3144 LIBCMTD:tidtable.obj - 0003:00009154 ??_C@_0M@GDNOONDI@FlsGetValue?$AA@ 100b3154 LIBCMTD:tidtable.obj - 0003:00009164 ??_C@_08KNHFBNJ@FlsAlloc?$AA@ 100b3164 LIBCMTD:tidtable.obj - 0003:00009170 ??_C@_1BK@DBDEIDLH@?$AAK?$AAE?$AAR?$AAN?$AAE?$AAL?$AA3?$AA2?$AA?4?$AAD?$AAL?$AAL?$AA?$AA@ 100b3170 LIBCMTD:tidtable.obj - 0003:00009190 ??_C@_0BG@KLEAJEFJ@Illegal?5byte?5sequence?$AA@ 100b3190 LIBCMTD:syserr.obj - 0003:000091ac ??_C@_0BE@ICMCHPHH@Directory?5not?5empty?$AA@ 100b31ac LIBCMTD:syserr.obj - 0003:000091c4 ??_C@_0BJ@IHEHINLI@Function?5not?5implemented?$AA@ 100b31c4 LIBCMTD:syserr.obj - 0003:000091e4 ??_C@_0BD@CLHBCGPB@No?5locks?5available?$AA@ 100b31e4 LIBCMTD:syserr.obj - 0003:000091fc ??_C@_0BC@BEDIHIDK@Filename?5too?5long?$AA@ 100b31fc LIBCMTD:syserr.obj - 0003:00009214 ??_C@_0BK@JAEBMJJM@Resource?5deadlock?5avoided?$AA@ 100b3214 LIBCMTD:syserr.obj - 0003:00009234 ??_C@_0BB@FCBJFCAJ@Result?5too?5large?$AA@ 100b3234 LIBCMTD:syserr.obj - 0003:00009248 ??_C@_0N@MMJPGLJK@Domain?5error?$AA@ 100b3248 LIBCMTD:syserr.obj - 0003:00009258 ??_C@_0M@LHEPIIOM@Broken?5pipe?$AA@ 100b3258 LIBCMTD:syserr.obj - 0003:00009268 ??_C@_0P@PKCJJLLM@Too?5many?5links?$AA@ 100b3268 LIBCMTD:syserr.obj - 0003:0000927c ??_C@_0BG@DDBFNKBH@Read?9only?5file?5system?$AA@ 100b327c LIBCMTD:syserr.obj - 0003:00009298 ??_C@_0N@FEHLOILP@Invalid?5seek?$AA@ 100b3298 LIBCMTD:syserr.obj - 0003:000092a8 ??_C@_0BI@FEALHKLD@No?5space?5left?5on?5device?$AA@ 100b32a8 LIBCMTD:syserr.obj - 0003:000092c4 ??_C@_0P@LFMMIPAE@File?5too?5large?$AA@ 100b32c4 LIBCMTD:syserr.obj - 0003:000092d8 ??_C@_0CE@ONOKNLPF@Inappropriate?5I?1O?5control?5operat@ 100b32d8 LIBCMTD:syserr.obj - 0003:00009304 ??_C@_0BE@INBJMKGG@Too?5many?5open?5files?$AA@ 100b3304 LIBCMTD:syserr.obj - 0003:0000931c ??_C@_0BO@IIFBODJE@Too?5many?5open?5files?5in?5system?$AA@ 100b331c LIBCMTD:syserr.obj - 0003:00009340 ??_C@_0BB@HMGGCEBG@Invalid?5argument?$AA@ 100b3340 LIBCMTD:syserr.obj - 0003:00009354 ??_C@_0P@NDHGCGKE@Is?5a?5directory?$AA@ 100b3354 LIBCMTD:syserr.obj - 0003:00009368 ??_C@_0BA@CJBACOOL@Not?5a?5directory?$AA@ 100b3368 LIBCMTD:syserr.obj - 0003:0000937c ??_C@_0P@NLEIANHE@No?5such?5device?$AA@ 100b337c LIBCMTD:syserr.obj - 0003:00009390 ??_C@_0O@OAMDNOCP@Improper?5link?$AA@ 100b3390 LIBCMTD:syserr.obj - 0003:000093a0 ??_C@_0M@NAAJNNGH@File?5exists?$AA@ 100b33a0 LIBCMTD:syserr.obj - 0003:000093b0 ??_C@_0BA@BIBLIOEK@Resource?5device?$AA@ 100b33b0 LIBCMTD:syserr.obj - 0003:000093c4 ??_C@_0O@NIPGCINC@Unknown?5error?$AA@ 100b33c4 LIBCMTD:syserr.obj - 0003:000093d4 ??_C@_0M@LOEHLCJD@Bad?5address?$AA@ 100b33d4 LIBCMTD:syserr.obj - 0003:000093e4 ??_C@_0BC@HFNFNKAI@Permission?5denied?$AA@ 100b33e4 LIBCMTD:syserr.obj - 0003:000093fc ??_C@_0BB@IMDKMPFB@Not?5enough?5space?$AA@ 100b33fc LIBCMTD:syserr.obj - 0003:00009410 ??_C@_0CB@EPFKGNAK@Resource?5temporarily?5unavailable@ 100b3410 LIBCMTD:syserr.obj - 0003:00009438 ??_C@_0BD@LOHELEP@No?5child?5processes?$AA@ 100b3438 LIBCMTD:syserr.obj - 0003:00009450 ??_C@_0BE@NFGDDCEF@Bad?5file?5descriptor?$AA@ 100b3450 LIBCMTD:syserr.obj - 0003:00009468 ??_C@_0BC@HKPNECK@Exec?5format?5error?$AA@ 100b3468 LIBCMTD:syserr.obj - 0003:00009480 ??_C@_0BC@MFFGCDFL@Arg?5list?5too?5long?$AA@ 100b3480 LIBCMTD:syserr.obj - 0003:00009498 ??_C@_0BK@DPKMCKJ@No?5such?5device?5or?5address?$AA@ 100b3498 LIBCMTD:syserr.obj - 0003:000094b8 ??_C@_0BD@KKNFOBBD@Input?1output?5error?$AA@ 100b34b8 LIBCMTD:syserr.obj - 0003:000094d0 ??_C@_0BK@FJBOAFDK@Interrupted?5function?5call?$AA@ 100b34d0 LIBCMTD:syserr.obj - 0003:000094f0 ??_C@_0BA@FKIAIBGA@No?5such?5process?$AA@ 100b34f0 LIBCMTD:syserr.obj - 0003:00009504 ??_C@_0BK@FMDHKPNF@No?5such?5file?5or?5directory?$AA@ 100b3504 LIBCMTD:syserr.obj - 0003:00009524 ??_C@_0BI@BJFCGOHL@Operation?5not?5permitted?$AA@ 100b3524 LIBCMTD:syserr.obj - 0003:00009540 ??_C@_08INEPGKHH@No?5error?$AA@ 100b3540 LIBCMTD:syserr.obj - 0003:0000954c ??_C@_1BE@NDMJHJJG@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$AA@ 100b354c LIBCMTD:strncpy_s.obj - 0003:00009568 ??_C@_1GK@PAJJBKJF@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b3568 LIBCMTD:strncpy_s.obj - 0003:000095e8 ??_C@_1BK@FHMHFMNL@?$AA_?$AAv?$AAs?$AAn?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAl?$AA?$AA@ 100b35e8 LIBCMTD:vsnprint.obj - 0003:00009608 ??_C@_0CP@BNKDODJJ@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b3608 LIBCMTD:_file.obj - 0003:00009668 ??_C@_1CI@KEDPFCAL@?$AA?$CI?$AA?$CK?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAT?$AA?$CI?$AA?8?$AA?2?$AA0?$AA?8?$AA?$CJ?$AA?$CJ?$AA?$AA@ 100b3668 LIBCMTD:_open.obj - 0003:00009698 ??_C@_1BE@DONHJJKE@?$AA_?$AAo?$AAp?$AAe?$AAn?$AAf?$AAi?$AAl?$AAe?$AA?$AA@ 100b3698 LIBCMTD:_open.obj - 0003:000096b0 ??_C@_1DK@PKMJBLLN@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAo?$AAp?$AAe?$AAn?$AA?5?$AAm?$AAo?$AAd?$AAe?$AA?$CC?$AA?0?$AA0?$AA?$CJ?$AA?$AA@ 100b36b0 LIBCMTD:_open.obj - 0003:000096f8 ??_C@_1BK@HGLMNMEC@?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b36f8 LIBCMTD:_open.obj - 0003:00009718 ??_C@_1FO@POGAHKND@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b3718 LIBCMTD:_open.obj - 0003:00009788 ??_C@_1CC@JBMDNKJP@?$AAf?$AAi?$AAl?$AAe?$AAn?$AAa?$AAm?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b3788 LIBCMTD:_open.obj - 0003:000097b0 ??_C@_0DA@NLPACBPK@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b37b0 LIBCMTD:stream.obj - 0003:000097ec ??_C@_1BA@IIKEPOGH@?$AA_?$AAf?$AAi?$AAl?$AAb?$AAu?$AAf?$AA?$AA@ 100b37ec LIBCMTD:_filbuf.obj - 0003:00009800 ??_C@_1GC@CHFNJKFB@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b3800 LIBCMTD:_filbuf.obj - 0003:00009878 ??_C@_1CC@HBLPFNKH@?$AA?$CI?$AAc?$AAn?$AAt?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAI?$AAN?$AAT?$AA_?$AAM?$AAA?$AAX?$AA?$CJ?$AA?$AA@ 100b3878 LIBCMTD:read.obj - 0003:000098a0 ??_C@_1M@NHJOLLDM@?$AA_?$AAr?$AAe?$AAa?$AAd?$AA?$AA@ 100b38a0 LIBCMTD:read.obj - 0003:000098b0 ??_C@_1FM@NGICBHLO@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b38b0 LIBCMTD:read.obj - 0003:00009920 ??_C@_0CO@CEGKNHEH@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b3920 LIBCMTD:read.obj - 0003:00009958 ??_C@_1CC@EEOLPHGO@?$AA?$CI?$AA?$CI?$AAc?$AAn?$AAt?$AA?5?$AA?$CG?$AA?5?$AA1?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 100b3958 LIBCMTD:read.obj - 0003:00009980 ??_C@_1CG@OHLJHGGK@?$AA?$CI?$AAi?$AAn?$AAp?$AAu?$AAt?$AAb?$AAu?$AAf?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100b3980 LIBCMTD:read.obj - 0003:000099b0 ??_C@_1BK@JJBHNDKJ@?$AA_?$AAr?$AAe?$AAa?$AAd?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 100b39b0 LIBCMTD:read.obj - 0003:000099d0 ??_C@_1BA@JGHIEKKM@?$AA_?$AAf?$AAi?$AAl?$AAe?$AAn?$AAo?$AA?$AA@ 100b39d0 LIBCMTD:fileno.obj - 0003:000099e8 ??_C@_1GA@PBJHELNC@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b39e8 LIBCMTD:fileno.obj - 0003:00009a5c ??_C@_1CK@DDKKOLAN@?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?$AA@ 100b3a5c LIBCMTD:memcpy_s.obj - 0003:00009a90 ??_C@_1BI@DCHLDCPP@?$AAs?$AAr?$AAc?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b3a90 LIBCMTD:memcpy_s.obj - 0003:00009aac ??_C@_1BC@GKHDJMGB@?$AAm?$AAe?$AAm?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$AA@ 100b3aac LIBCMTD:memcpy_s.obj - 0003:00009ac8 ??_C@_1GE@NEOPGGBM@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b3ac8 LIBCMTD:memcpy_s.obj - 0003:00009b40 ??_C@_1BI@GKKCBDMD@?$AAd?$AAs?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b3b40 LIBCMTD:memcpy_s.obj - 0003:00009b5c ??_C@_1O@KOFKDHPL@?$AA_?$AAw?$AAr?$AAi?$AAt?$AAe?$AA?$AA@ 100b3b5c LIBCMTD:write.obj - 0003:00009b70 ??_C@_1FO@EPLDPDDL@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b3b70 LIBCMTD:write.obj - 0003:00009be0 ??_C@_1DI@CNMHHHLG@?$AAi?$AAs?$AAl?$AAe?$AAa?$AAd?$AAb?$AAy?$AAt?$AAe?$AA?$CI?$AA_?$AAd?$AAb?$AAc?$AAs?$AAB?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?$CI?$AAf?$AAh?$AA?$CJ?$AA?$CJ?$AA?$AA@ 100b3be0 LIBCMTD:write.obj - 0003:00009c24 ??_C@_1BM@NCANHCIP@?$AA_?$AAw?$AAr?$AAi?$AAt?$AAe?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 100b3c24 LIBCMTD:write.obj - 0003:00009c48 ??_C@_1BM@KFJLMBPG@?$AA?$CI?$AAb?$AAu?$AAf?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100b3c48 LIBCMTD:write.obj - 0003:00009c6c ??_C@_1O@EDOIKGHF@?$AA_?$AAl?$AAs?$AAe?$AAe?$AAk?$AA?$AA@ 100b3c6c LIBCMTD:lseek.obj - 0003:00009c80 ??_C@_1FO@LGKMLCAL@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b3c80 LIBCMTD:lseek.obj - 0003:00009cf0 ??_C@_1DM@LMLOLGJ@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAd?$AAe?$AAs?$AAc?$AAr?$AAi?$AAp?$AAt?$AAo?$AAr?$AA?$CC?$AA?0?$AA0?$AA?$CJ?$AA?$AA@ 100b3cf0 LIBCMTD:lseek.obj - 0003:00009d38 ??_C@_1O@EDEJGJBM@?$AA_?$AAc?$AAl?$AAo?$AAs?$AAe?$AA?$AA@ 100b3d38 LIBCMTD:close.obj - 0003:00009d48 ??_C@_1FO@NNGNFGFH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b3d48 LIBCMTD:close.obj - 0003:00009db8 ??_C@_1GE@MIMBMOF@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b3db8 LIBCMTD:_freebuf.obj - 0003:00009e30 ??_C@_1BO@KIJENGPH@?$AAs?$AAt?$AAr?$AAe?$AAa?$AAm?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b3e30 LIBCMTD:_freebuf.obj - 0003:00009e54 ??_C@_0P@MIGLKIOC@CorExitProcess?$AA@ 100b3e54 LIBCMTD:crt0dat.obj - 0003:00009e68 ??_C@_1BI@BGOHAHKC@?$AAm?$AAs?$AAc?$AAo?$AAr?$AAe?$AAe?$AA?4?$AAd?$AAl?$AAl?$AA?$AA@ 100b3e68 LIBCMTD:crt0dat.obj - 0003:00009e84 ??_C@_1CC@CDIPMFPD@?$AA_?$AAw?$AAp?$AAg?$AAm?$AAp?$AAt?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b3e84 LIBCMTD:crt0dat.obj - 0003:00009eac ??_C@_1BK@PNLDCCDP@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAw?$AAp?$AAg?$AAm?$AAp?$AAt?$AAr?$AA?$AA@ 100b3eac LIBCMTD:crt0dat.obj - 0003:00009ed0 ??_C@_1GC@DGCPEDNJ@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b3ed0 LIBCMTD:crt0dat.obj - 0003:00009f48 ??_C@_1CA@BBNAFCKO@?$AA_?$AAp?$AAg?$AAm?$AAp?$AAt?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b3f48 LIBCMTD:crt0dat.obj - 0003:00009f70 ??_C@_1BI@COAAPHJK@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAp?$AAg?$AAm?$AAp?$AAt?$AAr?$AA?$AA@ 100b3f70 LIBCMTD:crt0dat.obj - 0003:00009f8c ??_C@_1DE@MMOGFGHF@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AA?$CK?$AAe?$AAn?$AAv?$AA?0?$AA?5?$AAc?$AAc?$AAh?$AAa?$AAr?$AAs?$AA?0?$AA?5?$AAp?$AA?$CJ?$AA?$AA@ 100b3f8c LIBCMTD:stdenvp.obj - 0003:00009fcc ??_C@_1BC@GHMCNHHL@?$AA_?$AAs?$AAe?$AAt?$AAe?$AAn?$AAv?$AAp?$AA?$AA@ 100b3fcc LIBCMTD:stdenvp.obj - 0003:00009fe8 ??_C@_1GC@DGBFLDBN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b3fe8 LIBCMTD:stdenvp.obj - 0003:0000a060 ??_C@_0DB@BMEBJJKP@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b4060 LIBCMTD:stdenvp.obj - 0003:0000a09c ??_C@_0DB@OEPBJOLC@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b409c LIBCMTD:stdargv.obj - 0003:0000a0d8 ??_C@_0CP@PPLBCJDN@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b40d8 LIBCMTD:a_env.obj - 0003:0000a110 ??_C@_1GE@JDDMFOID@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b4110 LIBCMTD:heapinit.obj - 0003:0000a188 ??_C@_1BC@DENNNKIM@?$AA_?$AAc?$AAr?$AAt?$AAh?$AAe?$AAa?$AAp?$AA?$AA@ 100b4188 LIBCMTD:heapinit.obj - 0003:0000a1a0 __XcptActTab 100b41a0 LIBCMTD:winxfltr.obj - 0003:0000a230 __First_FPE_Indx 100b4230 LIBCMTD:winxfltr.obj - 0003:0000a234 __Num_FPE 100b4234 LIBCMTD:winxfltr.obj - 0003:0000a238 __XcptActTabSize 100b4238 LIBCMTD:winxfltr.obj - 0003:0000a23c __XcptActTabCount 100b423c LIBCMTD:winxfltr.obj - 0003:0000a260 ??_C@_0CP@MKONOLCI@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b4260 LIBCMTD:mlock.obj - 0003:0000a298 ??_C@_1NK@LOFHIHFC@?$AAf?$AAM?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAC?$AAR?$AAT?$AAD?$AAB?$AAG?$AA_?$AAR?$AAE?$AAP?$AAO?$AAR?$AAT?$AA_?$AAM?$AAO?$AAD?$AAE?$AA?5?$AA?$HM?$AA?$HM?$AA?5@ 100b4298 LIBCMTD:dbgrptt.obj - 0003:0000a3a0 ??_C@_1CE@FIHIECNJ@?$AA_?$AAC?$AAr?$AAt?$AAS?$AAe?$AAt?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AAM?$AAo?$AAd?$AAe?$AA?$AA@ 100b43a0 LIBCMTD:dbgrptt.obj - 0003:0000a3d0 ??_C@_1GC@FIGJJMEN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b43d0 LIBCMTD:dbgrptt.obj - 0003:0000a448 ??_C@_1FA@IFFFOLDJ@?$AAn?$AAR?$AAp?$AAt?$AAT?$AAy?$AAp?$AAe?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAn?$AAR?$AAp?$AAt?$AAT?$AAy?$AAp?$AAe?$AA?5?$AA?$DM?$AA?5?$AA_?$AAC?$AAR?$AAT@ 100b4448 LIBCMTD:dbgrptt.obj - 0003:0000a4a8 ??_C@_1CE@IKKEDCME@?$AA_?$AAC?$AAr?$AAt?$AAS?$AAe?$AAt?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AAF?$AAi?$AAl?$AAe?$AA?$AA@ 100b44a8 LIBCMTD:dbgrptt.obj - 0003:0000a4d8 ??_C@_1HO@PJOFIKFE@?$AA_?$AAC?$AAr?$AAt?$AAD?$AAb?$AAg?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AA?3?$AA?5?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAt?$AAo?$AAo?$AA?5?$AAl?$AAo?$AAn?$AAg?$AA?5?$AAo@ 100b44d8 LIBCMTD:dbgrptt.obj - 0003:0000a570 ??_C@_1MC@IGEECMDB@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA2?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAL?$AA?$CC@ 100b4570 LIBCMTD:dbgrptt.obj - 0003:0000a658 ??_C@_1IM@OOKIFKOH@?$AAe?$AA?5?$AA?$DN?$AA?5?$AAm?$AAb?$AAs?$AAt?$AAo?$AAw?$AAc?$AAs?$AA_?$AAs?$AA?$CI?$AA?$CG?$AAr?$AAe?$AAt?$AA?0?$AA?5?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg@ 100b4658 LIBCMTD:dbgrptt.obj - 0003:0000a700 ??_C@_1FI@IBIOIHEG@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz?$AAL@ 100b4700 LIBCMTD:dbgrptt.obj - 0003:0000a770 ??_C@_1JG@CPKCIOEE@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AA?$CC?$AA_?$AAC@ 100b4770 LIBCMTD:dbgrptt.obj - 0003:0000a824 ??_C@_0M@IPILFDFN@?$CFs?$CI?$CFd?$CJ?5?3?5?$CFs?$AA@ 100b4824 LIBCMTD:dbgrptt.obj - 0003:0000a838 ??_C@_1EI@LDHJEDO@?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AA?$CC?$AA?2@ 100b4838 LIBCMTD:dbgrptt.obj - 0003:0000a890 ??_C@_01LIIJDEN@?$AN?$AA@ 100b4890 LIBCMTD:dbgrptt.obj - 0003:0000a898 ??_C@_1EI@CACDLAFK@?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AA?$CC?$AA?2@ 100b4898 LIBCMTD:dbgrptt.obj - 0003:0000a8f0 ??_C@_1FK@NPGBPOFO@?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz@ 100b48f0 LIBCMTD:dbgrptt.obj - 0003:0000a960 ??_C@_1KK@GIGAEDMO@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz@ 100b4960 LIBCMTD:dbgrptt.obj - 0003:0000aa2c ??_C@_0BC@LAIDCHCH@Assertion?5failed?$CB?$AA@ 100b4a2c LIBCMTD:dbgrptt.obj - 0003:0000aa44 ??_C@_0BD@CAENFOHP@Assertion?5failed?3?5?$AA@ 100b4a44 LIBCMTD:dbgrptt.obj - 0003:0000aa5c ??_C@_0CL@EACFGMNB@_CrtDbgReport?3?5String?5too?5long?5o@ 100b4a5c LIBCMTD:dbgrptt.obj - 0003:0000aa90 ??_C@_1JI@GAALPGBM@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAU?$AAs?$AAe?$AAr?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AA?$CC?$AA_@ 100b4a90 LIBCMTD:dbgrptt.obj - 0003:0000ab48 ??_C@_01EEMJAFIK@?6?$AA@ 100b4b48 LIBCMTD:dbgrptt.obj - 0003:0000ab4c ??_C@_07BHGABMGB@?0?5Line?5?$AA@ 100b4b4c LIBCMTD:dbgrptt.obj - 0003:0000ab58 ??_C@_0P@DFJNDPOP@?$DMfile?5unknown?$DO?$AA@ 100b4b58 LIBCMTD:dbgrptt.obj - 0003:0000ab6c ??_C@_0CG@BNGLOCEO@Second?5Chance?5Assertion?5Failed?3?5@ 100b4b6c LIBCMTD:dbgrptt.obj - 0003:0000aba0 ??_C@_1FA@JPHJBHEM@?$AA_?$AAi?$AAt?$AAo?$AAa?$AA_?$AAs?$AA?$CI?$AAn?$AAL?$AAi?$AAn?$AAe?$AA?0?$AA?5?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0@ 100b4ba0 LIBCMTD:dbgrptt.obj - 0003:0000ac00 ??_C@_1CA@KHJHLKA@?$AA_?$AAV?$AAC?$AAr?$AAt?$AAD?$AAb?$AAg?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AAA?$AA?$AA@ 100b4c00 LIBCMTD:dbgrptt.obj - 0003:0000ac28 ??_C@_1IE@CPGKIAGP@?$AAw?$AAc?$AAs?$AAt?$AAo?$AAm?$AAb?$AAs?$AA_?$AAs?$AA?$CI?$AA?$CG?$AAr?$AAe?$AAt?$AA?0?$AA?5?$AAs?$AAz?$AAa?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5@ 100b4c28 LIBCMTD:dbgrptt.obj - 0003:0000acc8 ??_C@_0DP@GNPEPHJD@_CrtDbgReport?3?5String?5too?5long?5o@ 100b4cc8 LIBCMTD:dbgrptt.obj - 0003:0000ad18 ??_C@_1MA@LBAMNNOB@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA2?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AA?$CC?$AA_@ 100b4d18 LIBCMTD:dbgrptt.obj - 0003:0000ae00 ??_C@_1JC@EOAPFDLN@?$AAw?$AAc?$AAs?$AAt?$AAo?$AAm?$AAb?$AAs?$AA_?$AAs?$AA?$CI?$AA?$CI?$AA?$CI?$AAv?$AAo?$AAi?$AAd?$AA?5?$AA?$CK?$AA?$CJ?$AA0?$AA?$CJ?$AA?0?$AA?5?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs@ 100b4e00 LIBCMTD:dbgrptt.obj - 0003:0000aeb0 ??_C@_1FI@DBAIJPJE@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz?$AAL@ 100b4eb0 LIBCMTD:dbgrptt.obj - 0003:0000af1c ??_C@_1BI@JIDBEPIG@?$AA?$CF?$AAs?$AA?$CI?$AA?$CF?$AAd?$AA?$CJ?$AA?5?$AA?3?$AA?5?$AA?$CF?$AAs?$AA?$AA@ 100b4f1c LIBCMTD:dbgrptt.obj - 0003:0000af38 ??_C@_1EK@PHCBEDKB@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAL?$AA?$CC@ 100b4f38 LIBCMTD:dbgrptt.obj - 0003:0000af90 ??_C@_13CMNBPIDO@?$AA?$AN?$AA?$AA@ 100b4f90 LIBCMTD:dbgrptt.obj - 0003:0000af98 ??_C@_1EK@NMDFGHMF@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAL?$AA?$CC@ 100b4f98 LIBCMTD:dbgrptt.obj - 0003:0000aff0 ??_C@_1FK@HPADHBBD@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz@ 100b4ff0 LIBCMTD:dbgrptt.obj - 0003:0000b060 ??_C@_1KO@DGAHENCH@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz@ 100b5060 LIBCMTD:dbgrptt.obj - 0003:0000b130 ??_C@_1CE@OJBNHDMO@?$AAA?$AAs?$AAs?$AAe?$AAr?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?$CB?$AA?$AA@ 100b5130 LIBCMTD:dbgrptt.obj - 0003:0000b15c ??_C@_1CG@FFFGGODN@?$AAA?$AAs?$AAs?$AAe?$AAr?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?3?$AA?5?$AA?$AA@ 100b515c LIBCMTD:dbgrptt.obj - 0003:0000b190 ??_C@_1JK@KHFABAEO@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAU?$AAs?$AAe?$AAr?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAL?$AA?$CC@ 100b5190 LIBCMTD:dbgrptt.obj - 0003:0000b248 ??_C@_13LBAGMAIH@?$AA?6?$AA?$AA@ 100b5248 LIBCMTD:dbgrptt.obj - 0003:0000b24c ??_C@_1BA@ELMMDCFC@?$AA?0?$AA?5?$AAL?$AAi?$AAn?$AAe?$AA?5?$AA?$AA@ 100b524c LIBCMTD:dbgrptt.obj - 0003:0000b260 ??_C@_1BO@OCHMLCAG@?$AA?$DM?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAu?$AAn?$AAk?$AAn?$AAo?$AAw?$AAn?$AA?$DO?$AA?$AA@ 100b5260 LIBCMTD:dbgrptt.obj - 0003:0000b288 ??_C@_1EM@MJFLEDMB@?$AAS?$AAe?$AAc?$AAo?$AAn?$AAd?$AA?5?$AAC?$AAh?$AAa?$AAn?$AAc?$AAe?$AA?5?$AAA?$AAs?$AAs?$AAe?$AAr?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?3?$AA?5@ 100b5288 LIBCMTD:dbgrptt.obj - 0003:0000b2e8 ??_C@_1FA@CNLLOMHI@?$AA_?$AAi?$AAt?$AAo?$AAw?$AA_?$AAs?$AA?$CI?$AAn?$AAL?$AAi?$AAn?$AAe?$AA?0?$AA?5?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0@ 100b52e8 LIBCMTD:dbgrptt.obj - 0003:0000b348 ??_C@_1CA@HPALHDOD@?$AA_?$AAV?$AAC?$AAr?$AAt?$AAD?$AAb?$AAg?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AAW?$AA?$AA@ 100b5348 LIBCMTD:dbgrptt.obj - 0003:0000b370 ??_C@_1O@EJLDHPPL@?$AAs?$AAi?$AAg?$AAn?$AAa?$AAl?$AA?$AA@ 100b5370 LIBCMTD:winsig.obj - 0003:0000b380 ??_C@_1GA@DBECNFG@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b5380 LIBCMTD:winsig.obj - 0003:0000b3f4 ??_C@_1DO@MLNEDKGB@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAs?$AAi?$AAg?$AAn?$AAa?$AAl?$AA?5?$AAo?$AAr?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$CC?$AA?0?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 100b53f4 LIBCMTD:winsig.obj - 0003:0000b440 ??_C@_0DA@ELJOOIJF@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b5440 LIBCMTD:winsig.obj - 0003:0000b47c ??_C@_1M@DMJEIKHL@?$AAr?$AAa?$AAi?$AAs?$AAe?$AA?$AA@ 100b547c LIBCMTD:winsig.obj - 0003:0000b48c ??_C@_0BI@DFKBFLJE@GetProcessWindowStation?$AA@ 100b548c LIBCMTD:crtmboxw.obj - 0003:0000b4a8 ??_C@_0BK@DEKFELLI@GetUserObjectInformationW?$AA@ 100b54a8 LIBCMTD:crtmboxw.obj - 0003:0000b4c8 ??_C@_0BD@HHGDFDBJ@GetLastActivePopup?$AA@ 100b54c8 LIBCMTD:crtmboxw.obj - 0003:0000b4e0 ??_C@_0BA@HNOPNCHB@GetActiveWindow?$AA@ 100b54e0 LIBCMTD:crtmboxw.obj - 0003:0000b4f4 ??_C@_0M@DLDCCGNP@MessageBoxW?$AA@ 100b54f4 LIBCMTD:crtmboxw.obj - 0003:0000b504 ??_C@_1BG@GOEBHBDC@?$AAU?$AAS?$AAE?$AAR?$AA3?$AA2?$AA?4?$AAD?$AAL?$AAL?$AA?$AA@ 100b5504 LIBCMTD:crtmboxw.obj - 0003:0000b520 ??_C@_1BE@BMIJMLDD@?$AA_?$AAs?$AAw?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA?$AA@ 100b5520 LIBCMTD:swprintf.obj - 0003:0000b538 ??_C@_1GE@DKGHLBLP@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b5538 LIBCMTD:swprintf.obj - 0003:0000b5b0 ??_C@_1BC@KIONAFPO@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$AA@ 100b55b0 LIBCMTD:wcscpy_s.obj - 0003:0000b5c8 ??_C@_1FC@PFMLEHKI@?$AA?$CI?$AA?$CI?$AA_?$AAD?$AAs?$AAt?$AA?$CJ?$AA?$CJ?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AA?$CI?$AA_?$AAS?$AAi?$AAz?$AAe?$AAI?$AAn?$AAW?$AAo?$AAr@ 100b55c8 LIBCMTD:wcscpy_s.obj - 0003:0000b630 ??_C@_1GG@CDHAPCGF@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b5630 LIBCMTD:handler.obj - 0003:0000b6ac ??_C@_1BC@JLLICHIC@?$AAp?$AAn?$AAh?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?$AA@ 100b56ac LIBCMTD:handler.obj - 0003:0000b6c4 ??_C@_03KHICJKCI@?4?4?4?$AA@ 100b56c4 LIBCMTD:dbgrpt.obj - 0003:0000b6c8 ??_C@_0BB@NAGLCMLI@Assertion?5Failed?$AA@ 100b56c8 LIBCMTD:dbgrpt.obj - 0003:0000b6dc ??_C@_05NAOIJFC@Error?$AA@ 100b56dc LIBCMTD:dbgrpt.obj - 0003:0000b6e4 ??_C@_07KGMMFLDN@Warning?$AA@ 100b56e4 LIBCMTD:dbgrpt.obj - 0003:0000b700 ??_C@_1CG@GNMJDMIO@?$AA_?$AAC?$AAr?$AAt?$AAS?$AAe?$AAt?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AAH?$AAo?$AAo?$AAk?$AA2?$AA?$AA@ 100b5700 LIBCMTD:dbgrpt.obj - 0003:0000b730 ??_C@_0CD@EBCGLDDL@Microsoft?5Visual?5C?$CL?$CL?5Debug?5Libra@ 100b5730 LIBCMTD:dbgrpt.obj - 0003:0000b760 ??_C@_0FF@CCONDJCB@Debug?5?$CFs?$CB?6?6Program?3?5?$CFs?$CFs?$CFs?$CFs?$CFs?$CFs@ 100b5760 LIBCMTD:dbgrpt.obj - 0003:0000b7c8 ??_C@_09OFBFHMBK@?6Module?3?5?$AA@ 100b57c8 LIBCMTD:dbgrpt.obj - 0003:0000b7d4 ??_C@_07OPHPPLBG@?6File?3?5?$AA@ 100b57d4 LIBCMTD:dbgrpt.obj - 0003:0000b7e0 ??_C@_07DBMPPHDI@?6Line?3?5?$AA@ 100b57e0 LIBCMTD:dbgrpt.obj - 0003:0000b7ec ??_C@_02PHMGELLB@?6?6?$AA@ 100b57ec LIBCMTD:dbgrpt.obj - 0003:0000b7f0 ??_C@_0N@MEECIJGN@Expression?3?5?$AA@ 100b57f0 LIBCMTD:dbgrpt.obj - 0003:0000b800 ??_C@_0HD@GNBNFCCL@?6?6For?5information?5on?5how?5your?5pr@ 100b5800 LIBCMTD:dbgrpt.obj - 0003:0000b88c ??_C@_0BH@DNAGHKFM@?$DMprogram?5name?5unknown?$DO?$AA@ 100b588c LIBCMTD:dbgrpt.obj - 0003:0000b8a8 ??_C@_1GG@DLDHOIGE@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAE?$AAx?$AAe?$AAN?$AAa?$AAm?$AAe?$AA?0?$AA?5?$AA2?$AA6?$AA0?$AA?0?$AA?5?$AA?$CC?$AA?$DM?$AAp?$AAr?$AAo?$AAg?$AAr@ 100b58a8 LIBCMTD:dbgrpt.obj - 0003:0000b924 ??_C@_1CI@IDOKFLAJ@?$AA_?$AA_?$AAc?$AAr?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AAW?$AAi?$AAn?$AAd?$AAo?$AAw?$AAA?$AA?$AA@ 100b5924 LIBCMTD:dbgrpt.obj - 0003:0000b954 ??_C@_1BK@JMCGJOCC@?$AA_?$AAe?$AAx?$AAp?$AAa?$AAn?$AAd?$AA_?$AAb?$AAa?$AAs?$AAe?$AA?$AA@ 100b5954 LIBCMTD:expand.obj - 0003:0000b978 ??_C@_1GA@EBHFLDNH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b5978 LIBCMTD:expand.obj - 0003:0000b9ec ??_C@_1BO@KFIJIAEA@?$AAp?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b59ec LIBCMTD:expand.obj - 0003:0000ba10 ??_C@_0DB@MHMEONEC@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b5a10 LIBCMTD:mbctype.obj - 0003:0000ba50 ??_C@_1GE@HMAALBPJ@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b5a50 LIBCMTD:localref.obj - 0003:0000bac8 ??_C@_1BKC@GGIENNAK@?$AA?$CI?$AA?$CI?$AAp?$AAt?$AAl?$AAo?$AAc?$AAi?$AA?9?$AA?$DO?$AAl?$AAc?$AA_?$AAc?$AAa?$AAt?$AAe?$AAg?$AAo?$AAr?$AAy?$AA?$FL?$AAc?$AAa?$AAt?$AAe?$AAg?$AAo?$AAr?$AAy?$AA?$FN?$AA?4@ 100b5ac8 LIBCMTD:localref.obj - 0003:0000bcc0 ??_C@_1BC@GDGBMEMK@?$AAH?$AAH?$AA?3?$AAm?$AAm?$AA?3?$AAs?$AAs?$AA?$AA@ 100b5cc0 LIBCMTD:nlsdata2.obj - 0003:0000bcd8 ??_C@_1CI@KNAKOEBC@?$AAd?$AAd?$AAd?$AAd?$AA?0?$AA?5?$AAM?$AAM?$AAM?$AAM?$AA?5?$AAd?$AAd?$AA?0?$AA?5?$AAy?$AAy?$AAy?$AAy?$AA?$AA@ 100b5cd8 LIBCMTD:nlsdata2.obj - 0003:0000bd08 ??_C@_1BC@IEBCMHCM@?$AAM?$AAM?$AA?1?$AAd?$AAd?$AA?1?$AAy?$AAy?$AA?$AA@ 100b5d08 LIBCMTD:nlsdata2.obj - 0003:0000bd20 ??_C@_15CLMNNGEL@?$AAP?$AAM?$AA?$AA@ 100b5d20 LIBCMTD:nlsdata2.obj - 0003:0000bd28 ??_C@_15ODEHAHHF@?$AAA?$AAM?$AA?$AA@ 100b5d28 LIBCMTD:nlsdata2.obj - 0003:0000bd30 ??_C@_1BC@FEMKIFH@?$AAD?$AAe?$AAc?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@ 100b5d30 LIBCMTD:nlsdata2.obj - 0003:0000bd48 ??_C@_1BC@BGLIFPF@?$AAN?$AAo?$AAv?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@ 100b5d48 LIBCMTD:nlsdata2.obj - 0003:0000bd60 ??_C@_1BA@EPANDLNG@?$AAO?$AAc?$AAt?$AAo?$AAb?$AAe?$AAr?$AA?$AA@ 100b5d60 LIBCMTD:nlsdata2.obj - 0003:0000bd74 ??_C@_1BE@DKAAMBJL@?$AAS?$AAe?$AAp?$AAt?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@ 100b5d74 LIBCMTD:nlsdata2.obj - 0003:0000bd8c ??_C@_1O@PAHLKOAC@?$AAA?$AAu?$AAg?$AAu?$AAs?$AAt?$AA?$AA@ 100b5d8c LIBCMTD:nlsdata2.obj - 0003:0000bd9c ??_C@_19BIFMLPCD@?$AAJ?$AAu?$AAl?$AAy?$AA?$AA@ 100b5d9c LIBCMTD:nlsdata2.obj - 0003:0000bda8 ??_C@_19EPFLPGAP@?$AAJ?$AAu?$AAn?$AAe?$AA?$AA@ 100b5da8 LIBCMTD:nlsdata2.obj - 0003:0000bdb4 ??_C@_1M@GJNLMHFD@?$AAA?$AAp?$AAr?$AAi?$AAl?$AA?$AA@ 100b5db4 LIBCMTD:nlsdata2.obj - 0003:0000bdc4 ??_C@_1M@IKEENEDF@?$AAM?$AAa?$AAr?$AAc?$AAh?$AA?$AA@ 100b5dc4 LIBCMTD:nlsdata2.obj - 0003:0000bdd4 ??_C@_1BC@JGDDFFAM@?$AAF?$AAe?$AAb?$AAr?$AAu?$AAa?$AAr?$AAy?$AA?$AA@ 100b5dd4 LIBCMTD:nlsdata2.obj - 0003:0000bdec ??_C@_1BA@EFMEIEBA@?$AAJ?$AAa?$AAn?$AAu?$AAa?$AAr?$AAy?$AA?$AA@ 100b5dec LIBCMTD:nlsdata2.obj - 0003:0000be00 ??_C@_17EGKACKIF@?$AAD?$AAe?$AAc?$AA?$AA@ 100b5e00 LIBCMTD:nlsdata2.obj - 0003:0000be0c ??_C@_17BBDMLCIG@?$AAN?$AAo?$AAv?$AA?$AA@ 100b5e0c LIBCMTD:nlsdata2.obj - 0003:0000be18 ??_C@_17FNLKOI@?$AAO?$AAc?$AAt?$AA?$AA@ 100b5e18 LIBCMTD:nlsdata2.obj - 0003:0000be24 ??_C@_17HCHCOKMG@?$AAS?$AAe?$AAp?$AA?$AA@ 100b5e24 LIBCMTD:nlsdata2.obj - 0003:0000be30 ??_C@_17ICPELBCN@?$AAA?$AAu?$AAg?$AA?$AA@ 100b5e30 LIBCMTD:nlsdata2.obj - 0003:0000be3c ??_C@_17IJPCKHK@?$AAJ?$AAu?$AAl?$AA?$AA@ 100b5e3c LIBCMTD:nlsdata2.obj - 0003:0000be48 ??_C@_17KCJGOCPB@?$AAJ?$AAu?$AAn?$AA?$AA@ 100b5e48 LIBCMTD:nlsdata2.obj - 0003:0000be54 ??_C@_17PNNKMEED@?$AAM?$AAa?$AAy?$AA?$AA@ 100b5e54 LIBCMTD:nlsdata2.obj - 0003:0000be60 ??_C@_17LFPOIHDD@?$AAA?$AAp?$AAr?$AA?$AA@ 100b5e60 LIBCMTD:nlsdata2.obj - 0003:0000be6c ??_C@_17CKNLEDEC@?$AAM?$AAa?$AAr?$AA?$AA@ 100b5e6c LIBCMTD:nlsdata2.obj - 0003:0000be78 ??_C@_17LMDJEKJN@?$AAF?$AAe?$AAb?$AA?$AA@ 100b5e78 LIBCMTD:nlsdata2.obj - 0003:0000be84 ??_C@_17DKNBKCHM@?$AAJ?$AAa?$AAn?$AA?$AA@ 100b5e84 LIBCMTD:nlsdata2.obj - 0003:0000be90 ??_C@_1BC@ENMNNPAJ@?$AAS?$AAa?$AAt?$AAu?$AAr?$AAd?$AAa?$AAy?$AA?$AA@ 100b5e90 LIBCMTD:nlsdata2.obj - 0003:0000bea8 ??_C@_1O@PDICJHAG@?$AAF?$AAr?$AAi?$AAd?$AAa?$AAy?$AA?$AA@ 100b5ea8 LIBCMTD:nlsdata2.obj - 0003:0000beb8 ??_C@_1BC@HHMNLIHE@?$AAT?$AAh?$AAu?$AAr?$AAs?$AAd?$AAa?$AAy?$AA?$AA@ 100b5eb8 LIBCMTD:nlsdata2.obj - 0003:0000bed0 ??_C@_1BE@EBOGMDOH@?$AAW?$AAe?$AAd?$AAn?$AAe?$AAs?$AAd?$AAa?$AAy?$AA?$AA@ 100b5ed0 LIBCMTD:nlsdata2.obj - 0003:0000bee8 ??_C@_1BA@ENFBFFEK@?$AAT?$AAu?$AAe?$AAs?$AAd?$AAa?$AAy?$AA?$AA@ 100b5ee8 LIBCMTD:nlsdata2.obj - 0003:0000befc ??_C@_1O@MMNBFLIA@?$AAM?$AAo?$AAn?$AAd?$AAa?$AAy?$AA?$AA@ 100b5efc LIBCMTD:nlsdata2.obj - 0003:0000bf0c ??_C@_1O@IHNHDHPB@?$AAS?$AAu?$AAn?$AAd?$AAa?$AAy?$AA?$AA@ 100b5f0c LIBCMTD:nlsdata2.obj - 0003:0000bf1c ??_C@_17GGIBDPIH@?$AAS?$AAa?$AAt?$AA?$AA@ 100b5f1c LIBCMTD:nlsdata2.obj - 0003:0000bf28 ??_C@_17HFOLPPLP@?$AAF?$AAr?$AAi?$AA?$AA@ 100b5f28 LIBCMTD:nlsdata2.obj - 0003:0000bf34 ??_C@_17PDPHAADD@?$AAT?$AAh?$AAu?$AA?$AA@ 100b5f34 LIBCMTD:nlsdata2.obj - 0003:0000bf40 ??_C@_17CJEDCEPE@?$AAW?$AAe?$AAd?$AA?$AA@ 100b5f40 LIBCMTD:nlsdata2.obj - 0003:0000bf4c ??_C@_17BMKGEGOJ@?$AAT?$AAu?$AAe?$AA?$AA@ 100b5f4c LIBCMTD:nlsdata2.obj - 0003:0000bf58 ??_C@_17KBOMKBF@?$AAM?$AAo?$AAn?$AA?$AA@ 100b5f58 LIBCMTD:nlsdata2.obj - 0003:0000bf64 ??_C@_17MBGCMIPB@?$AAS?$AAu?$AAn?$AA?$AA@ 100b5f64 LIBCMTD:nlsdata2.obj - 0003:0000bf70 ??_C@_08JCCMCCIL@HH?3mm?3ss?$AA@ 100b5f70 LIBCMTD:nlsdata2.obj - 0003:0000bf7c ??_C@_0BE@CKGJFCPC@dddd?0?5MMMM?5dd?0?5yyyy?$AA@ 100b5f7c LIBCMTD:nlsdata2.obj - 0003:0000bf94 ??_C@_08BPBNCDIB@MM?1dd?1yy?$AA@ 100b5f94 LIBCMTD:nlsdata2.obj - 0003:0000bfa0 ??_C@_02CJNFDJBF@PM?$AA@ 100b5fa0 LIBCMTD:nlsdata2.obj - 0003:0000bfa4 ??_C@_02DEDBPAFC@AM?$AA@ 100b5fa4 LIBCMTD:nlsdata2.obj - 0003:0000bfa8 ??_C@_08EDHMEBNP@December?$AA@ 100b5fa8 LIBCMTD:nlsdata2.obj - 0003:0000bfb4 ??_C@_08HCHEGEOA@November?$AA@ 100b5fb4 LIBCMTD:nlsdata2.obj - 0003:0000bfc0 ??_C@_07JJNFCEND@October?$AA@ 100b5fc0 LIBCMTD:nlsdata2.obj - 0003:0000bfcc ??_C@_09BHHEALKD@September?$AA@ 100b5fcc LIBCMTD:nlsdata2.obj - 0003:0000bfd8 ??_C@_06LBBHFDDG@August?$AA@ 100b5fd8 LIBCMTD:nlsdata2.obj - 0003:0000bfe0 ??_C@_04MIEPOIFP@July?$AA@ 100b5fe0 LIBCMTD:nlsdata2.obj - 0003:0000bfe8 ??_C@_04CNLMGBGM@June?$AA@ 100b5fe8 LIBCMTD:nlsdata2.obj - 0003:0000bff0 ??_C@_05DMJDNLEJ@April?$AA@ 100b5ff0 LIBCMTD:nlsdata2.obj - 0003:0000bff8 ??_C@_05HPCKOFNC@March?$AA@ 100b5ff8 LIBCMTD:nlsdata2.obj - 0003:0000c000 ??_C@_08GNJGEPFN@February?$AA@ 100b6000 LIBCMTD:nlsdata2.obj - 0003:0000c00c ??_C@_07CGJPFGJA@January?$AA@ 100b600c LIBCMTD:nlsdata2.obj - 0003:0000c018 ??_C@_03MKABNOCG@Dec?$AA@ 100b6018 LIBCMTD:nlsdata2.obj - 0003:0000c01c ??_C@_03JPJOFNIA@Nov?$AA@ 100b601c LIBCMTD:nlsdata2.obj - 0003:0000c020 ??_C@_03BMAOKBAD@Oct?$AA@ 100b6020 LIBCMTD:nlsdata2.obj - 0003:0000c024 ??_C@_03GGCAPAJC@Sep?$AA@ 100b6024 LIBCMTD:nlsdata2.obj - 0003:0000c028 ??_C@_03IFJFEIGA@Aug?$AA@ 100b6028 LIBCMTD:nlsdata2.obj - 0003:0000c02c ??_C@_03LBGABGKK@Jul?$AA@ 100b602c LIBCMTD:nlsdata2.obj - 0003:0000c030 ??_C@_03IDFGHECI@Jun?$AA@ 100b6030 LIBCMTD:nlsdata2.obj - 0003:0000c034 ??_C@_03CNMDKL@May?$AA@ 100b6034 LIBCMTD:nlsdata2.obj - 0003:0000c038 ??_C@_03LEOLGMJP@Apr?$AA@ 100b6038 LIBCMTD:nlsdata2.obj - 0003:0000c03c ??_C@_03ODNJBKGA@Mar?$AA@ 100b603c LIBCMTD:nlsdata2.obj - 0003:0000c040 ??_C@_03HJBDCHOM@Feb?$AA@ 100b6040 LIBCMTD:nlsdata2.obj - 0003:0000c044 ??_C@_03JIHJHPIE@Jan?$AA@ 100b6044 LIBCMTD:nlsdata2.obj - 0003:0000c048 ??_C@_08INBOOONO@Saturday?$AA@ 100b6048 LIBCMTD:nlsdata2.obj - 0003:0000c054 ??_C@_06JECMNKMI@Friday?$AA@ 100b6054 LIBCMTD:nlsdata2.obj - 0003:0000c05c ??_C@_08HACCIKIA@Thursday?$AA@ 100b605c LIBCMTD:nlsdata2.obj - 0003:0000c068 ??_C@_09DLIGFAKA@Wednesday?$AA@ 100b6068 LIBCMTD:nlsdata2.obj - 0003:0000c074 ??_C@_07BAAGCFCM@Tuesday?$AA@ 100b6074 LIBCMTD:nlsdata2.obj - 0003:0000c080 ??_C@_06JLEDEDGH@Monday?$AA@ 100b6080 LIBCMTD:nlsdata2.obj - 0003:0000c088 ??_C@_06OOPIFAJ@Sunday?$AA@ 100b6088 LIBCMTD:nlsdata2.obj - 0003:0000c090 ??_C@_03FEFJNEK@Sat?$AA@ 100b6090 LIBCMTD:nlsdata2.obj - 0003:0000c094 ??_C@_03IDIOELNC@Fri?$AA@ 100b6094 LIBCMTD:nlsdata2.obj - 0003:0000c098 ??_C@_03IOFIKPDN@Thu?$AA@ 100b6098 LIBCMTD:nlsdata2.obj - 0003:0000c09c ??_C@_03MHOMLAJA@Wed?$AA@ 100b609c LIBCMTD:nlsdata2.obj - 0003:0000c0a0 ??_C@_03NAGEINEP@Tue?$AA@ 100b60a0 LIBCMTD:nlsdata2.obj - 0003:0000c0a4 ??_C@_03PDAGKDH@Mon?$AA@ 100b60a4 LIBCMTD:nlsdata2.obj - 0003:0000c0a8 ??_C@_03KOEHGMDN@Sun?$AA@ 100b60a8 LIBCMTD:nlsdata2.obj - 0003:0000c0b0 ??_C@_1GC@CHGJNMHG@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b60b0 LIBCMTD:isctype.obj - 0003:0000c128 ??_C@_1DC@BPLPALML@?$AA?$CI?$AAu?$AAn?$AAs?$AAi?$AAg?$AAn?$AAe?$AAd?$AA?$CJ?$AA?$CI?$AAc?$AA?5?$AA?$CL?$AA?5?$AA1?$AA?$CJ?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA2?$AA5?$AA6?$AA?$AA@ 100b6128 LIBCMTD:isctype.obj - 0003:0000c164 ??_C@_0DB@JEHOCBEJ@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b6164 LIBCMTD:_getbuf.obj - 0003:0000c1a0 ??_C@_1GC@DKMGNNCC@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b61a0 LIBCMTD:_getbuf.obj - 0003:0000c218 ??_C@_1BA@LEBDGIHM@?$AA_?$AAi?$AAs?$AAa?$AAt?$AAt?$AAy?$AA?$AA@ 100b6218 LIBCMTD:isatty.obj - 0003:0000c230 ??_C@_1GA@LPGDJDEN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b6230 LIBCMTD:isatty.obj - 0003:0000c2a4 ??_C@_1O@GKDHFACN@?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA?$AA@ 100b62a4 LIBCMTD:printf.obj - 0003:0000c2b8 ??_C@_1GA@LHEGHOAF@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b62b8 LIBCMTD:printf.obj - 0003:0000c32c ??_C@_1CA@CBMNPEO@?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 100b632c LIBCMTD:wctomb.obj - 0003:0000c354 ??_C@_1BI@IEADNOHF@?$AA_?$AAw?$AAc?$AAt?$AAo?$AAm?$AAb?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 100b6354 LIBCMTD:wctomb.obj - 0003:0000c370 ??_C@_1GA@LDLHPOO@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b6370 LIBCMTD:wctomb.obj - 0003:0000c3e4 ??_C@_1CO@HFMIILNF@?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAI?$AAN?$AAT?$AA_?$AAM?$AAA?$AAX?$AA?$AA@ 100b63e4 LIBCMTD:wctomb.obj - 0003:0000c420 ??_C@_1FK@BCPANIEK@?$AA?$CI?$AA?$CC?$AAM?$AAi?$AAs?$AAs?$AAi?$AAn?$AAg?$AA?5?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAi?$AAn?$AA?5?$AAt?$AAh?$AAe?$AA?5?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt@ 100b6420 LIBCMTD:outputp.obj - 0003:0000c490 ??_C@_1FK@LNCFKALM@?$AA?$CI?$AA?$CI?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAS?$AAT?$AA_?$AAN?$AAO?$AAR?$AAM?$AAA?$AAL?$AA?$CJ?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CI?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?5@ 100b6490 LIBCMTD:outputp.obj - 0003:0000c500 ??_C@_1JC@OACKELNN@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 100b6500 LIBCMTD:outputp.obj - 0003:0000c5b0 ??_C@_1IK@NBGDDCBN@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 100b65b0 LIBCMTD:outputp.obj - 0003:0000c658 ??_C@_1DG@GOHGNKHE@?$AAp?$AAa?$AAs?$AAs?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAF?$AAO?$AAR?$AAM?$AAA?$AAT?$AA_?$AAO?$AAU?$AAT?$AAP?$AAU?$AAT?$AA_?$AAP?$AAA?$AAS?$AAS?$AA?$AA@ 100b6658 LIBCMTD:outputp.obj - 0003:0000c698 ??_C@_1IM@DNGHAPLB@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 100b6698 LIBCMTD:outputp.obj - 0003:0000c740 ??_C@_1IG@HJIMKDHC@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 100b6740 LIBCMTD:outputp.obj - 0003:0000c7e0 ??_C@_1IG@FDCPLALG@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 100b67e0 LIBCMTD:outputp.obj - 0003:0000c880 ??_C@_1IK@MHEDJAMK@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 100b6880 LIBCMTD:outputp.obj - 0003:0000c928 ??_C@_1EM@BNPHBBIA@?$AA?$CI?$AA?$CI?$AAt?$AAy?$AAp?$AAe?$AA_?$AAp?$AAo?$AAs?$AA?$DO?$AA?$DN?$AA0?$AA?$CJ?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AAt?$AAy?$AAp?$AAe?$AA_?$AAp?$AAo?$AAs?$AA?$DM?$AA_?$AAA?$AAR?$AAG@ 100b6928 LIBCMTD:outputp.obj - 0003:0000c988 ??_C@_1IK@EIEPDKHJ@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 100b6988 LIBCMTD:outputp.obj - 0003:0000ca30 ??_C@_1JG@JBJBOCFB@?$AA?$CI?$AA?$CI?$AAp?$AAr?$AAe?$AAc?$AAi?$AAs?$AA_?$AAp?$AAo?$AAs?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?$CJ?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AA?$CK?$AAe?$AAn?$AAd?$AA_?$AAp?$AAo?$AAs?$AA?5@ 100b6a30 LIBCMTD:outputp.obj - 0003:0000cae8 ??_C@_1II@PIPIMLPF@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 100b6ae8 LIBCMTD:outputp.obj - 0003:0000cb90 ??_C@_1JE@NMBHOLFI@?$AA?$CI?$AA?$CI?$AAw?$AAi?$AAd?$AAt?$AAh?$AA_?$AAp?$AAo?$AAs?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?$CJ?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AA?$CK?$AAe?$AAn?$AAd?$AA_?$AAp?$AAo?$AAs?$AA?5?$AA?$DN@ 100b6b90 LIBCMTD:outputp.obj - 0003:0000cc48 ??_C@_1EE@DMAIGNBG@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAc?$AAo?$AAr?$AAr?$AAe?$AAc?$AAt?$AA?5?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA?5?$AAs?$AAp?$AAe?$AAc?$AAi?$AAf?$AAi?$AAe?$AAr?$AA?$CC?$AA?0?$AA?5?$AA0@ 100b6c48 LIBCMTD:outputp.obj - 0003:0000cca0 ??_C@_1JC@PFJNKEIO@?$AA?$CI?$AA?$CI?$AAt?$AAy?$AAp?$AAe?$AA_?$AAp?$AAo?$AAs?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?$CJ?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AA?$CK?$AAe?$AAn?$AAd?$AA_?$AAp?$AAo?$AAs?$AA?5?$AA?$DN?$AA?$DN@ 100b6ca0 LIBCMTD:outputp.obj - 0003:0000cd50 ??_C@_1BI@KANOLAMF@?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AA_?$AAl?$AA?$AA@ 100b6d50 LIBCMTD:outputp.obj - 0003:0000cd70 ___lookuptable_s 100b6d70 LIBCMTD:outputs.obj - 0003:0000cddc ??_C@_1BI@COFBLHCG@?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 100b6ddc LIBCMTD:outputs.obj - 0003:0000cdf8 ??_C@_1M@MFLJCMFJ@?$AA_?$AAo?$AAp?$AAe?$AAn?$AA?$AA@ 100b6df8 LIBCMTD:open.obj - 0003:0000ce08 ??_C@_1FM@LFKHNNH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b6e08 LIBCMTD:open.obj - 0003:0000ce78 ??_C@_1BO@DPAOGEII@?$AA?$CI?$AAp?$AAa?$AAt?$AAh?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100b6e78 LIBCMTD:open.obj - 0003:0000cea0 ??_C@_1FG@NFINBJCM@?$AA?$CI?$AA?$CI?$AAp?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$CG?$AA?5?$AA?$CI?$AA?$HO?$AA?$CI?$AA_?$AAS?$AA_?$AAI?$AAR?$AAE?$AAA?$AAD?$AA?5?$AA?$HM?$AA?5?$AA_?$AAS?$AA_?$AAI?$AAW?$AAR?$AAI?$AAT@ 100b6ea0 LIBCMTD:open.obj - 0003:0000cf08 ??_C@_1BM@IOBAMMHO@?$AA_?$AAs?$AAo?$AAp?$AAe?$AAn?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 100b6f08 LIBCMTD:open.obj - 0003:0000cf2c ??_C@_1BM@PGEEHLHE@?$AA?$CI?$AAp?$AAf?$AAh?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100b6f2c LIBCMTD:open.obj - 0003:0000cf50 ??_C@_1IA@IENOJNJF@?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CC?$AAO?$AAn?$AAl?$AAy?$AA?5?$AAU?$AAT?$AAF?$AA?9?$AA1?$AA6?$AA?5?$AAl?$AAi?$AAt?$AAt?$AAl?$AAe?$AA?5?$AAe?$AAn?$AAd?$AAi?$AAa?$AAn?$AA?5@ 100b6f50 LIBCMTD:open.obj - 0003:0000cfec ??_C@_1CM@IDLMKMPG@?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CC?$AAI?$AAn?$AAt?$AAe?$AAr?$AAn?$AAa?$AAl?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?$CC?$AA?$AA@ 100b6fec LIBCMTD:open.obj - 0003:0000d020 ??_C@_1HM@GJANBLHJ@?$AA?$CI?$AAo?$AAf?$AAl?$AAa?$AAg?$AA?5?$AA?$CG?$AA?5?$AA?$CI?$AA_?$AAO?$AA_?$AAT?$AAE?$AAX?$AAT?$AA?5?$AA?$HM?$AA?5?$AA_?$AAO?$AA_?$AAW?$AAT?$AAE?$AAX?$AAT?$AA?5?$AA?$HM?$AA?5?$AA_@ 100b7020 LIBCMTD:open.obj - 0003:0000d0b4 ??_C@_1DO@PJLMOANO@?$AA?$CI?$AA?5?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAs?$AAh?$AAa?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAf?$AAl?$AAa?$AAg?$AA?$CC?$AA?5?$AA?0?$AA?5?$AA0?$AA?5?$AA?$CJ?$AA?$AA@ 100b70b4 LIBCMTD:open.obj - 0003:0000d100 ??_C@_1DI@DGKIFCCE@?$AA?$CI?$AA?5?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAo?$AAp?$AAe?$AAn?$AA?5?$AAf?$AAl?$AAa?$AAg?$AA?$CC?$AA?5?$AA?0?$AA?5?$AA0?$AA?5?$AA?$CJ?$AA?$AA@ 100b7100 LIBCMTD:open.obj - 0003:0000d144 ??_C@_1CG@ICBEBDJJ@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAf?$AAm?$AAo?$AAd?$AAe?$AA?$CI?$AA?$CG?$AAf?$AAm?$AAo?$AAd?$AAe?$AA?$CJ?$AA?$AA@ 100b7144 LIBCMTD:open.obj - 0003:0000d174 ??_C@_1BO@JOPFMPGH@?$AA_?$AAt?$AAs?$AAo?$AAp?$AAe?$AAn?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 100b7174 LIBCMTD:open.obj - 0003:0000d198 ??_C@_1BG@GBJNMPFA@?$AAs?$AA2?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b7198 LIBCMTD:mbsnbicm.obj - 0003:0000d1b4 ??_C@_1BK@GEJONGBG@?$AA_?$AAm?$AAb?$AAs?$AAn?$AAb?$AAi?$AAc?$AAm?$AAp?$AA_?$AAl?$AA?$AA@ 100b71b4 LIBCMTD:mbsnbicm.obj - 0003:0000d1d8 ??_C@_1GE@JLFFJINF@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b71d8 LIBCMTD:mbsnbicm.obj - 0003:0000d250 ??_C@_1BG@MODEICJK@?$AAs?$AA1?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b7250 LIBCMTD:mbsnbicm.obj - 0003:0000d26c ??_C@_1BI@LPHOHGHI@?$AA_?$AAm?$AAb?$AAs?$AAn?$AAb?$AAc?$AAm?$AAp?$AA_?$AAl?$AA?$AA@ 100b726c LIBCMTD:mbsnbcmp.obj - 0003:0000d288 ??_C@_1GE@IIBFGEPN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b7288 LIBCMTD:mbsnbcmp.obj - 0003:0000d300 ??_C@_1GA@GFFDGGFH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b7300 LIBCMTD:mbtowc.obj - 0003:0000d378 ??_C@_1NC@EINCOKCO@?$AA_?$AAl?$AAo?$AAc?$AA_?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?4?$AAG?$AAe?$AAt?$AAL?$AAo?$AAc?$AAa?$AAl?$AAe?$AAT?$AA?$CI?$AA?$CJ?$AA?9?$AA?$DO?$AAl?$AAo?$AAc?$AAi?$AAn?$AAf@ 100b7378 LIBCMTD:mbtowc.obj - 0003:0000d474 ??_C@_1DG@LNNHNFHJ@?$AA?$CI?$AA_?$AAo?$AAs?$AAf?$AAi?$AAl?$AAe?$AA?$CI?$AAf?$AAi?$AAl?$AAe?$AAd?$AAe?$AAs?$AA?$CJ?$AA?5?$AA?$CG?$AA?5?$AAF?$AAO?$AAP?$AAE?$AAN?$AA?$CJ?$AA?$AA@ 100b7474 LIBCMTD:commit.obj - 0003:0000d4b4 ??_C@_1BA@FLNMBBIM@?$AA_?$AAc?$AAo?$AAm?$AAm?$AAi?$AAt?$AA?$AA@ 100b74b4 LIBCMTD:commit.obj - 0003:0000d4c8 ??_C@_1GA@BOPCOCFN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b74c8 LIBCMTD:commit.obj - 0003:0000d540 ??_C@_1HC@KFLBHHBC@?$AA?$CI?$AAf?$AAi?$AAl?$AAe?$AAd?$AAe?$AAs?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AAu?$AAn?$AAs?$AAi?$AAg?$AAn?$AAe?$AAd?$AA?$CJ?$AAf?$AAi?$AAl?$AAe?$AAd@ 100b7540 LIBCMTD:commit.obj - 0003:0000d5d4 ??_C@_0DA@HMCPFNKN@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b75d4 LIBCMTD:onexit.obj - 0003:0000d610 ??_C@_1BO@BKOMIGKJ@?$AAr?$AAu?$AAn?$AAt?$AAi?$AAm?$AAe?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?5?$AA?$AA@ 100b7610 LIBCMTD:crt0msg.obj - 0003:0000d634 ??_C@_15JNBOKNOG@?$AA?$AN?$AA?6?$AA?$AA@ 100b7634 LIBCMTD:crt0msg.obj - 0003:0000d63c ??_C@_1BM@JBBEPPHI@?$AAT?$AAL?$AAO?$AAS?$AAS?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AN?$AA?6?$AA?$AA@ 100b763c LIBCMTD:crt0msg.obj - 0003:0000d660 ??_C@_1BK@KMOMNAAI@?$AAS?$AAI?$AAN?$AAG?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AN?$AA?6?$AA?$AA@ 100b7660 LIBCMTD:crt0msg.obj - 0003:0000d680 ??_C@_1BO@BFCDCGC@?$AAD?$AAO?$AAM?$AAA?$AAI?$AAN?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AN?$AA?6?$AA?$AA@ 100b7680 LIBCMTD:crt0msg.obj - 0003:0000d6a8 ??_C@_1BOO@KGEDBGAJ@?$AAR?$AA6?$AA0?$AA3?$AA3?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAA?$AAt?$AAt?$AAe?$AAm?$AAp?$AAt?$AA?5?$AAt?$AAo?$AA?5?$AAu?$AAs?$AAe?$AA?5?$AAM?$AAS?$AAI?$AAL?$AA?5?$AAc?$AAo?$AAd@ 100b76a8 LIBCMTD:crt0msg.obj - 0003:0000d8f8 ??_C@_1GG@GOPILAJP@?$AAR?$AA6?$AA0?$AA3?$AA2?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAl?$AAo@ 100b78f8 LIBCMTD:crt0msg.obj - 0003:0000d978 ??_C@_1MG@ENCOOIDF@?$AAR?$AA6?$AA0?$AA3?$AA1?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAA?$AAt?$AAt?$AAe?$AAm?$AAp?$AAt?$AA?5?$AAt?$AAo?$AA?5?$AAi?$AAn?$AAi?$AAt?$AAi?$AAa?$AAl?$AAi?$AAz?$AAe?$AA?5?$AAt@ 100b7978 LIBCMTD:crt0msg.obj - 0003:0000da68 ??_C@_1DO@BMFCDCD@?$AAR?$AA6?$AA0?$AA3?$AA0?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAC?$AAR?$AAT?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAi?$AAn?$AAi?$AAt?$AAi?$AAa?$AAl?$AAi?$AAz?$AAe?$AAd?$AA?$AN?$AA?6?$AA?$AA@ 100b7a68 LIBCMTD:crt0msg.obj - 0003:0000dab8 ??_C@_1EK@HHFLMAOL@?$AAR?$AA6?$AA0?$AA2?$AA8?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAu?$AAn?$AAa?$AAb?$AAl?$AAe?$AA?5?$AAt?$AAo?$AA?5?$AAi?$AAn?$AAi?$AAt?$AAi?$AAa?$AAl?$AAi?$AAz?$AAe?$AA?5?$AAh?$AAe@ 100b7ab8 LIBCMTD:crt0msg.obj - 0003:0000db10 ??_C@_1GK@MFGOKLAG@?$AAR?$AA6?$AA0?$AA2?$AA7?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAl?$AAo@ 100b7b10 LIBCMTD:crt0msg.obj - 0003:0000db90 ??_C@_1GK@MCAAGJMO@?$AAR?$AA6?$AA0?$AA2?$AA6?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAs?$AAt@ 100b7b90 LIBCMTD:crt0msg.obj - 0003:0000dc10 ??_C@_1EM@MAADIHMB@?$AAR?$AA6?$AA0?$AA2?$AA5?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAp?$AAu?$AAr?$AAe?$AA?5?$AAv?$AAi?$AAr?$AAt?$AAu?$AAa?$AAl?$AA?5?$AAf?$AAu?$AAn?$AAc?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAc@ 100b7c10 LIBCMTD:crt0msg.obj - 0003:0000dc70 ??_C@_1GK@FHCKBEFA@?$AAR?$AA6?$AA0?$AA2?$AA4?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA_?$AAo@ 100b7c70 LIBCMTD:crt0msg.obj - 0003:0000dcf0 ??_C@_1FC@ECHBIFBC@?$AAR?$AA6?$AA0?$AA1?$AA9?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAu?$AAn?$AAa?$AAb?$AAl?$AAe?$AA?5?$AAt?$AAo?$AA?5?$AAo?$AAp?$AAe?$AAn?$AA?5?$AAc?$AAo?$AAn?$AAs?$AAo?$AAl?$AAe?$AA?5@ 100b7cf0 LIBCMTD:crt0msg.obj - 0003:0000dd58 ??_C@_1EC@JIBHAOPH@?$AAR?$AA6?$AA0?$AA1?$AA8?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAu?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAh?$AAe?$AAa?$AAp?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AN?$AA?6@ 100b7d58 LIBCMTD:crt0msg.obj - 0003:0000dda8 ??_C@_1FK@BEOGODMC@?$AAR?$AA6?$AA0?$AA1?$AA7?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAu?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAm?$AAu?$AAl?$AAt?$AAi?$AAt?$AAh?$AAr?$AAe?$AAa?$AAd?$AA?5@ 100b7da8 LIBCMTD:crt0msg.obj - 0003:0000de18 ??_C@_1FI@LOGNIKDM@?$AAR?$AA6?$AA0?$AA1?$AA6?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAt?$AAh@ 100b7e18 LIBCMTD:crt0msg.obj - 0003:0000de88 ??_C@_1EG@BEHAGFJD@?$AAR?$AA6?$AA0?$AA1?$AA0?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAa?$AAb?$AAo?$AAr?$AAt?$AA?$CI?$AA?$CJ?$AA?5?$AAh?$AAa?$AAs?$AA?5?$AAb?$AAe?$AAe?$AAn?$AA?5?$AAc?$AAa?$AAl?$AAl?$AAe?$AAd@ 100b7e88 LIBCMTD:crt0msg.obj - 0003:0000dee0 ??_C@_1FI@HONFMGBI@?$AAR?$AA6?$AA0?$AA0?$AA9?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAe?$AAn@ 100b7ee0 LIBCMTD:crt0msg.obj - 0003:0000df50 ??_C@_1FE@LLNEDJMD@?$AAR?$AA6?$AA0?$AA0?$AA8?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAa?$AAr@ 100b7f50 LIBCMTD:crt0msg.obj - 0003:0000dfb8 ??_C@_1FK@PGACCAFB@?$AAR?$AA6?$AA0?$AA0?$AA2?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAf?$AAl?$AAo?$AAa?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AA?5@ 100b7fb8 LIBCMTD:crt0msg.obj - 0003:0000e100 ??_C@_1EK@MBDPDCGA@?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa?$AAl?$AA?5?$AAC?$AA?$CL?$AA?$CL?$AA?5?$AAR?$AAu?$AAn?$AAt?$AAi?$AAm?$AAe?$AA?5?$AAL?$AAi?$AAb@ 100b8100 LIBCMTD:crt0msg.obj - 0003:0000e158 ??_C@_1IG@NMONDPP@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAm?$AAs?$AAg?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf?$AA?$CI?$AAo?$AAu?$AAt?$AAm?$AAs?$AAg?$AA?$CJ@ 100b8158 LIBCMTD:crt0msg.obj - 0003:0000e1f8 ??_C@_1IA@DCJGKHFO@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAm?$AAs?$AAg?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf?$AA?$CI?$AAo?$AAu?$AAt?$AAm?$AAs?$AAg?$AA?$CJ@ 100b81f8 LIBCMTD:crt0msg.obj - 0003:0000e298 ??_C@_1HI@FLHKGEBE@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAp?$AAc?$AAh?$AA?0?$AA?5?$AAp?$AAr?$AAo?$AAg?$AAn?$AAa?$AAm?$AAe?$AA_?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?9?$AA?5?$AA?$CI@ 100b8298 LIBCMTD:crt0msg.obj - 0003:0000e328 ??_C@_1HK@FJJNAABO@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAp?$AAr?$AAo?$AAg?$AAn?$AAa?$AAm?$AAe?$AA?0?$AA?5?$AAp?$AAr?$AAo?$AAg?$AAn?$AAa?$AAm?$AAe?$AA_?$AAs?$AAi?$AAz?$AAe@ 100b8328 LIBCMTD:crt0msg.obj - 0003:0000e3bc ??_C@_1DE@JNGNBFGO@?$AAR?$AAu?$AAn?$AAt?$AAi?$AAm?$AAe?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?$CB?$AA?6?$AA?6?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?3?$AA?5?$AA?$AA@ 100b83bc LIBCMTD:crt0msg.obj - 0003:0000e400 ??_C@_1KO@BKLCKNFL@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAm?$AAs?$AAg?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf?$AA?$CI?$AAo?$AAu?$AAt?$AAm?$AAs?$AAg?$AA?$CJ@ 100b8400 LIBCMTD:crt0msg.obj - 0003:0000e4d0 ??_C@_1BI@EAHMBMEC@?$AA_?$AAN?$AAM?$AAS?$AAG?$AA_?$AAW?$AAR?$AAI?$AAT?$AAE?$AA?$AA@ 100b84d0 LIBCMTD:crt0msg.obj - 0003:0000e4f0 ??_C@_1GC@HKOJBOFF@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b84f0 LIBCMTD:crt0msg.obj - 0003:0000e568 ??_C@_0BC@JEAENNKH@SystemFunction036?$AA@ 100b8568 LIBCMTD:rand_s.obj - 0003:0000e580 ??_C@_1GA@EBEDGGGB@?$AA?$CI?$AA?$CC?$AAr?$AAa?$AAn?$AAd?$AA_?$AAs?$AA?5?$AAi?$AAs?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAa?$AAv?$AAa?$AAi?$AAl?$AAa?$AAb?$AAl?$AAe?$AA?5?$AAo?$AAn?$AA?5?$AAt?$AAh?$AAi@ 100b8580 LIBCMTD:rand_s.obj - 0003:0000e5f4 ??_C@_1BK@GAEMIDIL@?$AAA?$AAD?$AAV?$AAA?$AAP?$AAI?$AA3?$AA2?$AA?4?$AAD?$AAL?$AAL?$AA?$AA@ 100b85f4 LIBCMTD:rand_s.obj - 0003:0000e614 ??_C@_1O@IJGPPOGF@?$AAr?$AAa?$AAn?$AAd?$AA_?$AAs?$AA?$AA@ 100b8614 LIBCMTD:rand_s.obj - 0003:0000e628 ??_C@_1GA@HBGBBKCD@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b8628 LIBCMTD:rand_s.obj - 0003:0000e69c ??_C@_1CK@GFDNDKK@?$AA_?$AAR?$AAa?$AAn?$AAd?$AAo?$AAm?$AAV?$AAa?$AAl?$AAu?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b869c LIBCMTD:rand_s.obj - 0003:0000e6d0 ??_C@_1GO@NGIGJNHH@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AA?$CK?$AAs?$AAt?$AAr?$AAa?$AAd?$AAd?$AAr?$AAe?$AAs?$AAs?$AA?0?$AA?5?$AAo?$AAu?$AAt?$AAs?$AAi?$AAz?$AAe?$AA?0?$AA?5@ 100b86d0 LIBCMTD:inithelp.obj - 0003:0000e754 ??_C@_1CA@KHHCPEI@?$AA_?$AA_?$AAg?$AAe?$AAt?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AAi?$AAn?$AAf?$AAo?$AA?$AA@ 100b8754 LIBCMTD:inithelp.obj - 0003:0000e780 ??_C@_1GE@PLPIMDHG@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b8780 LIBCMTD:inithelp.obj - 0003:0000e7f8 ??_C@_0DC@CFDMMFIG@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b87f8 LIBCMTD:inithelp.obj - 0003:0000e834 ??_C@_1CG@JEHFHLNG@?$AA_?$AAm?$AAb?$AAs?$AAt?$AAo?$AAw?$AAc?$AAs?$AA_?$AAl?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 100b8834 LIBCMTD:mbstowcs.obj - 0003:0000e868 ??_C@_1GE@LCCDHBMH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b8868 LIBCMTD:mbstowcs.obj - 0003:0000e8e0 ??_C@_1BE@EEKACIGI@?$AAs?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b88e0 LIBCMTD:mbstowcs.obj - 0003:0000e8f8 ??_C@_1CO@JNPEPJAL@?$AAr?$AAe?$AAt?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAW?$AAo?$AAr?$AAd?$AAs?$AA?$AA@ 100b88f8 LIBCMTD:mbstowcs.obj - 0003:0000e930 ??_C@_1CM@LLECFMFH@?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AAS?$AAi?$AAz?$AAe?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAI?$AAN?$AAT?$AA_?$AAM?$AAA?$AAX?$AA?$AA@ 100b8930 LIBCMTD:mbstowcs.obj - 0003:0000e964 ??_C@_1BM@PHENIGHD@?$AA_?$AAm?$AAb?$AAs?$AAt?$AAo?$AAw?$AAc?$AAs?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 100b8964 LIBCMTD:mbstowcs.obj - 0003:0000e988 ??_C@_1JA@JKDFMOPO@?$AA?$CI?$AAp?$AAw?$AAc?$AAs?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAW?$AAo?$AAr?$AAd?$AAs?$AA?5?$AA?$DN?$AA?$DN?$AA?5@ 100b8988 LIBCMTD:mbstowcs.obj - 0003:0000ea38 ??_C@_1FA@MJKDNFFB@?$AA?$CI?$AAL?$AA?$CC?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAi?$AAs?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAt?$AAe?$AAd@ 100b8a38 LIBCMTD:strcat_s.obj - 0003:0000ea98 ??_C@_1DM@FHLMIEG@?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAi?$AAs?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAt?$AAe?$AAd?$AA?$AA@ 100b8a98 LIBCMTD:strcat_s.obj - 0003:0000eae0 ??_C@_1BC@HGPNAKGC@?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$AA@ 100b8ae0 LIBCMTD:strcat_s.obj - 0003:0000eaf8 ??_C@_1GI@NOKGIAGA@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b8af8 LIBCMTD:strcat_s.obj - 0003:0000eb74 ??_C@_1CM@HABGDNLJ@?$AAl?$AAe?$AAn?$AAg?$AAt?$AAh?$AA?5?$AA?$DM?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAT?$AAC?$AAh?$AAa?$AAr?$AAs?$AA?$AA@ 100b8b74 LIBCMTD:xtoas.obj - 0003:0000eba8 ??_C@_1DE@PCJGDBBD@?$AA2?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAr?$AAa?$AAd?$AAi?$AAx?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAr?$AAa?$AAd?$AAi?$AAx?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA3?$AA6?$AA?$AA@ 100b8ba8 LIBCMTD:xtoas.obj - 0003:0000ebe8 ??_C@_1FA@MKGGAGEI@?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAT?$AAC?$AAh?$AAa?$AAr?$AAs?$AA?5?$AA?$DO?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?$CI?$AAi?$AAs?$AA_?$AAn?$AAe?$AAg?$AA?5?$AA?$DP@ 100b8be8 LIBCMTD:xtoas.obj - 0003:0000ec48 ??_C@_1O@GIMBNLEI@?$AAx?$AAt?$AAo?$AAa?$AA_?$AAs?$AA?$AA@ 100b8c48 LIBCMTD:xtoas.obj - 0003:0000ec58 ??_C@_1FM@MFCBFCGB@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b8c58 LIBCMTD:xtoas.obj - 0003:0000ecc8 ??_C@_1BI@ICGGMGLK@?$AAb?$AAu?$AAf?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b8cc8 LIBCMTD:xtoas.obj - 0003:0000ece4 ??_C@_1BC@MJJNBNFN@?$AAx?$AA6?$AA4?$AAt?$AAo?$AAa?$AA_?$AAs?$AA?$AA@ 100b8ce4 LIBCMTD:xtoas.obj - 0003:0000ecfc ??_C@_1CG@LLJCAOHF@?$AA_?$AAw?$AAc?$AAs?$AAt?$AAo?$AAm?$AAb?$AAs?$AA_?$AAl?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 100b8cfc LIBCMTD:wcstombs.obj - 0003:0000ed30 ??_C@_1GE@OAENIBOD@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b8d30 LIBCMTD:wcstombs.obj - 0003:0000eda8 ??_C@_1BK@OIBENBPM@?$AAp?$AAw?$AAc?$AAs?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b8da8 LIBCMTD:wcstombs.obj - 0003:0000edc8 ??_C@_1CM@KEOGBFLI@?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$DO?$AA?5?$AAr?$AAe?$AAt?$AAs?$AAi?$AAz?$AAe?$AA?$AA@ 100b8dc8 LIBCMTD:wcstombs.obj - 0003:0000edfc ??_C@_1BM@BDMCLLDL@?$AA_?$AAw?$AAc?$AAs?$AAt?$AAo?$AAm?$AAb?$AAs?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 100b8dfc LIBCMTD:wcstombs.obj - 0003:0000ee20 ??_C@_1IM@MFGKHGBP@?$AA?$CI?$AAd?$AAs?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$CJ@ 100b8e20 LIBCMTD:wcstombs.obj - 0003:0000eec8 ??_C@_1BC@PLIEPKPJ@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$AA@ 100b8ec8 LIBCMTD:wcscat_s.obj - 0003:0000eee0 ??_C@_1CE@IGKFIJFD@?$AA_?$AAv?$AAs?$AAw?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 100b8ee0 LIBCMTD:vswprnc.obj - 0003:0000ef10 ??_C@_1GE@KINELFI@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b8f10 LIBCMTD:vswprnc.obj - 0003:0000ef88 ??_C@_1EE@MPCHJFGP@?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAW?$AAo?$AAr?$AAd?$AAs?$AA?5?$AA?$DO?$AA?5@ 100b8f88 LIBCMTD:vswprnc.obj - 0003:0000efdc ??_C@_1BO@OALHJLCI@?$AA_?$AAv?$AAs?$AAw?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 100b8fdc LIBCMTD:vswprnc.obj - 0003:0000f000 ??_C@_1CA@BKFKMJFF@?$AA_?$AAv?$AAs?$AAn?$AAw?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 100b9000 LIBCMTD:vswprnc.obj - 0003:0000f028 ??_C@_1O@NCBFODOE@?$AAx?$AAt?$AAo?$AAw?$AA_?$AAs?$AA?$AA@ 100b9028 LIBCMTD:xtows.obj - 0003:0000f038 ??_C@_1BC@HDEJCFPB@?$AAx?$AA6?$AA4?$AAt?$AAo?$AAw?$AA_?$AAs?$AA?$AA@ 100b9038 LIBCMTD:xtows.obj - 0003:0000f050 ??_C@_1BG@BBCDFOMA@?$AA_?$AAw?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAl?$AA?$AA@ 100b9050 LIBCMTD:woutput.obj - 0003:0000f06c ??_C@_1BK@EPLNBKAK@?$AA_?$AAv?$AAs?$AAw?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAl?$AA?$AA@ 100b906c LIBCMTD:vswprint.obj - 0003:0000f08c ??_C@_1CG@IMMIEPNA@?$AA_?$AAv?$AAs?$AAc?$AAw?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 100b908c LIBCMTD:vswprint.obj - 0003:0000f0bc ??_C@_0BK@CIDNPOGP@GetUserObjectInformationA?$AA@ 100b90bc LIBCMTD:crtmbox.obj - 0003:0000f0dc ??_C@_0M@CHKKJDAI@MessageBoxA?$AA@ 100b90dc LIBCMTD:crtmbox.obj - 0003:0000f0f0 ??_C@_1GA@INJGGEBC@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b90f0 LIBCMTD:a_map.obj - 0003:0000f168 ??_C@_1FE@KNPCCODH@?$AA?$CI?$AA?$CC?$AAC?$AAo?$AAr?$AAr?$AAu?$AAp?$AAt?$AAe?$AAd?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?5?$AAp?$AAa?$AAs?$AAs?$AAe?$AAd?$AA?5?$AAt?$AAo?$AA?5?$AA_?$AAf@ 100b9168 LIBCMTD:a_map.obj - 0003:0000f1d0 ??_C@_1GE@GJCMHHMH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b91d0 LIBCMTD:inittime.obj - 0003:0000f248 ??_C@_1EE@FDHCFDHN@?$AAp?$AAl?$AAo?$AAc?$AAi?$AA?9?$AA?$DO?$AAl?$AAc?$AA_?$AAt?$AAi?$AAm?$AAe?$AA_?$AAc?$AAu?$AAr?$AAr?$AA?9?$AA?$DO?$AAr?$AAe?$AAf?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5@ 100b9248 LIBCMTD:inittime.obj - 0003:0000f29c ??_C@_0DC@KICHHNFK@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b929c LIBCMTD:inittime.obj - 0003:0000f2d8 ??_C@_1GC@EDJOCBCL@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b92d8 LIBCMTD:initnum.obj - 0003:0000f350 ??_C@_1DM@IFKAINNE@?$AAp?$AAl?$AAo?$AAc?$AAi?$AA?9?$AA?$DO?$AAl?$AAc?$AAo?$AAn?$AAv?$AA_?$AAn?$AAu?$AAm?$AA_?$AAr?$AAe?$AAf?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 100b9350 LIBCMTD:initnum.obj - 0003:0000f398 ??_C@_0DB@KKFMDHFI@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b9398 LIBCMTD:initnum.obj - 0003:0000f3d8 ??_C@_1GC@IKADOFBJ@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b93d8 LIBCMTD:initmon.obj - 0003:0000f450 ??_C@_1DM@GKAPAMDO@?$AAp?$AAl?$AAo?$AAc?$AAi?$AA?9?$AA?$DO?$AAl?$AAc?$AAo?$AAn?$AAv?$AA_?$AAm?$AAo?$AAn?$AA_?$AAr?$AAe?$AAf?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 100b9450 LIBCMTD:initmon.obj - 0003:0000f498 ??_C@_0DB@BECNGFDL@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b9498 LIBCMTD:initmon.obj - 0003:0000f4d8 ___newctype 100b94d8 LIBCMTD:ctype.obj - 0003:0000f7d8 __wctype 100b97d8 LIBCMTD:ctype.obj - 0003:0000f9e0 ___newclmap 100b99e0 LIBCMTD:ctype.obj - 0003:0000fb60 ___newcumap 100b9b60 LIBCMTD:ctype.obj - 0003:0000fe7c ??_C@_07LCBHPJJN@LC_TIME?$AA@ 100b9e7c LIBCMTD:setlocal.obj - 0003:0000fe88 ??_C@_0L@DLHIECNL@LC_NUMERIC?$AA@ 100b9e88 LIBCMTD:setlocal.obj - 0003:0000fe98 ??_C@_0M@MIENIKLA@LC_MONETARY?$AA@ 100b9e98 LIBCMTD:setlocal.obj - 0003:0000fea8 ??_C@_08EADHIDAD@LC_CTYPE?$AA@ 100b9ea8 LIBCMTD:setlocal.obj - 0003:0000feb4 ??_C@_0L@KFJHEKIK@LC_COLLATE?$AA@ 100b9eb4 LIBCMTD:setlocal.obj - 0003:0000fec4 ??_C@_06NEFDFEKB@LC_ALL?$AA@ 100b9ec4 LIBCMTD:setlocal.obj - 0003:0000fed0 ___lc_category 100b9ed0 LIBCMTD:setlocal.obj - 0003:0000ffc0 ??_C@_1CI@FGIONOJM@?$AA_?$AAc?$AAo?$AAn?$AAf?$AAi?$AAg?$AAt?$AAh?$AAr?$AAe?$AAa?$AAd?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?$AA@ 100b9fc0 LIBCMTD:setlocal.obj - 0003:0000fff0 ??_C@_1GE@OLEIGPBJ@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b9ff0 LIBCMTD:setlocal.obj - 0003:00010068 ??_C@_1GA@LDEGDKD@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAp?$AAa?$AAr?$AAa?$AAm?$AAe?$AAt?$AAe?$AAr?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA_?$AAc?$AAo?$AAn?$AAf?$AAi?$AAg?$AAt@ 100ba068 LIBCMTD:setlocal.obj - 0003:000100dc ??_C@_0DC@JCPFNMID@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100ba0dc LIBCMTD:setlocal.obj - 0003:00010118 ??_C@_1BE@DBJGBOJC@?$AAs?$AAe?$AAt?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?$AA@ 100ba118 LIBCMTD:setlocal.obj - 0003:00010130 ??_C@_1FG@OHLFEKMC@?$AAL?$AAC?$AA_?$AAM?$AAI?$AAN?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA_?$AAc?$AAa?$AAt?$AAe?$AAg?$AAo?$AAr?$AAy?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA_?$AAc?$AAa?$AAt?$AAe?$AAg?$AAo?$AAr?$AAy@ 100ba130 LIBCMTD:setlocal.obj - 0003:00010198 ??_C@_1IA@PFIKKKFB@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAl?$AAc?$AAt?$AAe?$AAm?$AAp?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf?$AA?$CI?$AAl?$AAc?$AAt?$AAe?$AAm?$AAp@ 100ba198 LIBCMTD:setlocal.obj - 0003:00010234 ??_C@_1CE@OFNHIOO@?$AA_?$AAs?$AAe?$AAt?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 100ba234 LIBCMTD:setlocal.obj - 0003:00010260 ??_C@_01ICJEACDI@?$DL?$AA@ 100ba260 LIBCMTD:setlocal.obj - 0003:00010264 ??_C@_02BALPLPBG@?$DN?$DL?$AA@ 100ba264 LIBCMTD:setlocal.obj - 0003:00010268 ??_C@_1GO@JALHLJEH@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAp?$AAc?$AAh?$AA?5?$AA?$CL?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf?$AA?$CI?$AAi?$AAn?$AAt?$AA?$CJ?$AA?0?$AA?5?$AAc?$AAc?$AAh?$AA?5@ 100ba268 LIBCMTD:setlocal.obj - 0003:000102ec ??_C@_1CG@IEFIICPK@?$AA_?$AAs?$AAe?$AAt?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA_?$AAs?$AAe?$AAt?$AA_?$AAc?$AAa?$AAt?$AA?$AA@ 100ba2ec LIBCMTD:setlocal.obj - 0003:0001031c ??_C@_1DA@GDKKLCLM@?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAp?$AAc?$AAh?$AA?0?$AA?5?$AAc?$AAc?$AAh?$AA?0?$AA?5?$AA?$CC?$AA?$DL?$AA?$CC?$AA?$CJ?$AA?$AA@ 100ba31c LIBCMTD:setlocal.obj - 0003:00010358 ??_C@_1CG@NNFIJLDA@?$AA_?$AAs?$AAe?$AAt?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA_?$AAg?$AAe?$AAt?$AA_?$AAa?$AAl?$AAl?$AA?$AA@ 100ba358 LIBCMTD:setlocal.obj - 0003:00010388 ??_C@_01NEMOKFLO@?$DN?$AA@ 100ba388 LIBCMTD:setlocal.obj - 0003:00010390 ??_C@_1FA@MHAOOIBO@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?0?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAC?$AAh?$AAa?$AAr?$AAs?$AA?0?$AA?5?$AAc?$AAa@ 100ba390 LIBCMTD:setlocal.obj - 0003:000103f0 ??_C@_1IA@ONNFOEDA@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAc?$AAa?$AAc?$AAh?$AAe?$AAi?$AAn?$AA?0?$AA?5?$AAc?$AAa?$AAc?$AAh?$AAe?$AAi?$AAn?$AAS?$AAi?$AAz?$AAe?$AA?0?$AA?5@ 100ba3f0 LIBCMTD:setlocal.obj - 0003:0001048c ??_C@_01GFHCPBMG@C?$AA@ 100ba48c LIBCMTD:setlocal.obj - 0003:00010490 ??_C@_1EG@MOMHKOD@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?0?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAC?$AAh?$AAa?$AAr?$AAs?$AA?0?$AA?5?$AA?$CC?$AAC@ 100ba490 LIBCMTD:setlocal.obj - 0003:000104e4 ??_C@_1BM@OIIBLEFG@?$AA_?$AAe?$AAx?$AAp?$AAa?$AAn?$AAd?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?$AA@ 100ba4e4 LIBCMTD:setlocal.obj - 0003:00010508 ??_C@_1BGM@IJDLABMC@?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAs?$AAt?$AAr?$AA?0?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?0?$AA?5?$AA?$CI?$AA?5@ 100ba508 LIBCMTD:setlocal.obj - 0003:000106bc ??_C@_1BC@PIABMDIP@?$AA_?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AAs?$AA?$AA@ 100ba6bc LIBCMTD:setlocal.obj - 0003:000106d8 ??_C@_1MM@NOPMGFHF@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAn?$AAa?$AAm?$AAe?$AAs?$AA?9?$AA?$DO?$AAs?$AAz?$AAC?$AAo?$AAd?$AAe?$AAP?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi@ 100ba6d8 LIBCMTD:setlocal.obj - 0003:000107d0 ??_C@_1MG@PHNILIAG@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAn?$AAa?$AAm?$AAe?$AAs?$AA?9?$AA?$DO?$AAs?$AAz?$AAC?$AAo?$AAu?$AAn?$AAt?$AAr?$AAy?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi?$AAz@ 100ba7d0 LIBCMTD:setlocal.obj - 0003:000108c0 ??_C@_1MM@BFEECMAF@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAn?$AAa?$AAm?$AAe?$AAs?$AA?9?$AA?$DO?$AAs?$AAz?$AAL?$AAa?$AAn?$AAg?$AAu?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi@ 100ba8c0 LIBCMTD:setlocal.obj - 0003:000109b4 ??_C@_03EGDHDPFD@_?4?0?$AA@ 100ba9b4 LIBCMTD:setlocal.obj - 0003:000109b8 ??_C@_1NG@FMOPGKGG@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAn?$AAa?$AAm?$AAe?$AAs?$AA?9?$AA?$DO?$AAs?$AAz?$AAC?$AAo?$AAd?$AAe?$AAP?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi@ 100ba9b8 LIBCMTD:setlocal.obj - 0003:00010ab8 ??_C@_1BK@CBMMLAGJ@?$AA_?$AA_?$AAl?$AAc?$AA_?$AAs?$AAt?$AAr?$AAt?$AAo?$AAl?$AAc?$AA?$AA@ 100baab8 LIBCMTD:setlocal.obj - 0003:00010ad8 ??_C@_01LFCBOECM@?4?$AA@ 100baad8 LIBCMTD:setlocal.obj - 0003:00010adc ??_C@_01IDAFKMJL@_?$AA@ 100baadc LIBCMTD:setlocal.obj - 0003:00010ae0 ??_C@_1HC@IBDBLKCB@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?0?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?0?$AA?5?$AA?$CI?$AAc@ 100baae0 LIBCMTD:setlocal.obj - 0003:00010b68 ??_C@_1BK@FGDJDEPG@?$AA_?$AA_?$AAl?$AAc?$AA_?$AAl?$AAc?$AAt?$AAo?$AAs?$AAt?$AAr?$AA?$AA@ 100bab68 LIBCMTD:setlocal.obj - 0003:00010b88 ??_C@_0DB@OLNNDFNH@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100bab88 LIBCMTD:_sftbuf.obj - 0003:00010bc8 ??_C@_1GC@DGAFOCMO@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100babc8 LIBCMTD:_sftbuf.obj - 0003:00010c40 ??_C@_1CO@KCKAACMI@?$AAf?$AAl?$AAa?$AAg?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAf?$AAl?$AAa?$AAg?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA1?$AA?$AA@ 100bac40 LIBCMTD:_sftbuf.obj - 0003:00010c78 ??_C@_1BO@JGFPDJCP@?$AAv?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 100bac78 LIBCMTD:vprintf.obj - 0003:00010ca0 ??_C@_1GC@DHFFJKMC@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100baca0 LIBCMTD:vprintf.obj - 0003:00010d18 ??_C@_1DG@NMBGBDM@?$AAp?$AAl?$AAo?$AAc?$AAi?$AA?9?$AA?$DO?$AAc?$AAt?$AAy?$AAp?$AAe?$AA1?$AA_?$AAr?$AAe?$AAf?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 100bad18 LIBCMTD:initctyp.obj - 0003:00010d58 ??_C@_1GE@OCPKBDKE@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bad58 LIBCMTD:initctyp.obj - 0003:00010dd0 ??_C@_0DC@EHLBFILA@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100badd0 LIBCMTD:initctyp.obj - 0003:00010e10 ??_C@_1FE@CEHLKAHD@?$AAi?$AAb?$AAa?$AAs?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CI?$AA2?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAi?$AAb?$AAa?$AAs?$AAe?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAi?$AAb?$AAa@ 100bae10 LIBCMTD:strtol.obj - 0003:00010e74 ??_C@_1BA@LOLAMAJG@?$AAs?$AAt?$AAr?$AAt?$AAo?$AAx?$AAl?$AA?$AA@ 100bae74 LIBCMTD:strtol.obj - 0003:00010e88 ??_C@_1GA@IPHKKOEI@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bae88 LIBCMTD:strtol.obj - 0003:00010efc ??_C@_1BK@LAOAACLJ@?$AAn?$AAp?$AAt?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100baefc LIBCMTD:strtol.obj - 0003:00010f1c ??_C@_1BI@GALBKMKE@?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 100baf1c LIBCMTD:chsize.obj - 0003:00010f38 ??_C@_1BE@MAFDNGED@?$AA_?$AAc?$AAh?$AAs?$AAi?$AAz?$AAe?$AA_?$AAs?$AA?$AA@ 100baf38 LIBCMTD:chsize.obj - 0003:00010f50 ??_C@_1GA@DBKMEDOF@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100baf50 LIBCMTD:chsize.obj - 0003:00010fc4 ??_C@_1BC@JBGGJDCM@?$AA_?$AAs?$AAe?$AAt?$AAm?$AAo?$AAd?$AAe?$AA?$AA@ 100bafc4 LIBCMTD:setmode.obj - 0003:00010fe0 ??_C@_1GC@KODPFLLJ@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bafe0 LIBCMTD:setmode.obj - 0003:00011058 ??_C@_1OA@HGPJIFPM@?$AA?$CI?$AA?$CI?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAO?$AA_?$AAT?$AAE?$AAX?$AAT?$AA?$CJ?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CI?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_@ 100bb058 LIBCMTD:setmode.obj - 0003:00011164 ??_C@_1BG@IEEHLOCL@?$AA_?$AAs?$AAe?$AAt?$AA_?$AAf?$AAm?$AAo?$AAd?$AAe?$AA?$AA@ 100bb164 LIBCMTD:setmode.obj - 0003:00011180 ??_C@_1IC@NDCJMLB@?$AA?$CI?$AA?$CI?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAO?$AA_?$AAT?$AAE?$AAX?$AAT?$AA?$CJ?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CI?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_@ 100bb180 LIBCMTD:setmode.obj - 0003:0001121c ??_C@_1BG@CKGMPOFH@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAf?$AAm?$AAo?$AAd?$AAe?$AA?$AA@ 100bb21c LIBCMTD:setmode.obj - 0003:00011238 ??_C@_1CA@GPIGPPFN@?$AA?$CI?$AAp?$AAM?$AAo?$AAd?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100bb238 LIBCMTD:setmode.obj - 0003:00011260 ??_C@_1CC@JLPHKJPH@?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAI?$AAN?$AAT?$AA_?$AAM?$AAA?$AAX?$AA?$AA@ 100bb260 LIBCMTD:strnicmp.obj - 0003:00011288 ??_C@_1BI@BJLEPLEF@?$AA_?$AAs?$AAt?$AAr?$AAn?$AAi?$AAc?$AAm?$AAp?$AA_?$AAl?$AA?$AA@ 100bb288 LIBCMTD:strnicmp.obj - 0003:000112a8 ??_C@_1GE@CONPOJMA@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bb2a8 LIBCMTD:strnicmp.obj - 0003:00011320 ??_C@_1BE@BHJDFFNA@?$AA_?$AAs?$AAt?$AAr?$AAn?$AAi?$AAc?$AAm?$AAp?$AA?$AA@ 100bb320 LIBCMTD:strnicmp.obj - 0003:00011338 ??_C@_1BA@BALFACEM@?$AAC?$AAO?$AAN?$AAO?$AAU?$AAT?$AA$?$AA?$AA@ 100bb338 LIBCMTD:initcon.obj - 0003:0001134c ??_C@_1CA@LFDHAMEM@?$AA_?$AAs?$AAe?$AAt?$AA_?$AAe?$AAr?$AAr?$AAo?$AAr?$AA_?$AAm?$AAo?$AAd?$AAe?$AA?$AA@ 100bb34c LIBCMTD:errmode.obj - 0003:00011378 ??_C@_1GC@FGMGFCNB@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bb378 LIBCMTD:errmode.obj - 0003:000113f0 ??_C@_1DE@BCNCAIK@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA_?$AAm?$AAo?$AAd?$AAe?$AA?$CC?$AA?0?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 100bb3f0 LIBCMTD:errmode.obj - 0003:00011430 ??_C@_1BE@PMMBFFCC@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$AA@ 100bb430 LIBCMTD:wcsncpy_s.obj - 0003:00011448 ??_C@_1BK@ONMFGLDB@?$AA_?$AAw?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 100bb448 LIBCMTD:woutputs.obj - 0003:00011468 ??_C@_1BK@GDEKGMNC@?$AA_?$AAw?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AA_?$AAl?$AA?$AA@ 100bb468 LIBCMTD:woutputp.obj - 0003:00011488 ??_C@_1O@HJNPHHHB@?$AAf?$AAp?$AAu?$AAt?$AAw?$AAc?$AA?$AA@ 100bb488 LIBCMTD:fputwc.obj - 0003:00011498 ??_C@_1GA@BJIGKGEA@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bb498 LIBCMTD:fputwc.obj - 0003:0001150c __pDestructExceptionObject 100bb50c LIBCMTD:frame.obj - 0003:00011510 ??_C@_0O@DPKOEFFH@bad?5exception?$AA@ 100bb510 LIBCMTD:frame.obj - 0003:00011524 ??_7bad_exception@std@@6B@ 100bb524 LIBCMTD:frame.obj - 0003:00011530 ??_C@_0O@FMJNFNKE@united?9states?$AA@ 100bb530 LIBCMTD:getqloc.obj - 0003:00011540 ??_C@_0P@NDHFFKCA@united?9kingdom?$AA@ 100bb540 LIBCMTD:getqloc.obj - 0003:00011554 ??_C@_0BC@HHDADLGF@trinidad?5?$CG?5tobago?$AA@ 100bb554 LIBCMTD:getqloc.obj - 0003:0001156c ??_C@_0M@IOAEBDAC@south?9korea?$AA@ 100bb56c LIBCMTD:getqloc.obj - 0003:0001157c ??_C@_0N@FIELFKIJ@south?9africa?$AA@ 100bb57c LIBCMTD:getqloc.obj - 0003:0001158c ??_C@_0M@OPNDHCMC@south?5korea?$AA@ 100bb58c LIBCMTD:getqloc.obj - 0003:0001159c ??_C@_0N@MDEOEPFI@south?5africa?$AA@ 100bb59c LIBCMTD:getqloc.obj - 0003:000115ac ??_C@_06FKAPCJLB@slovak?$AA@ 100bb5ac LIBCMTD:getqloc.obj - 0003:000115b4 ??_C@_0M@EFJANOAL@puerto?9rico?$AA@ 100bb5b4 LIBCMTD:getqloc.obj - 0003:000115c4 ??_C@_08PGOJKDAI@pr?9china?$AA@ 100bb5c4 LIBCMTD:getqloc.obj - 0003:000115d0 ??_C@_08JHDOMCMI@pr?5china?$AA@ 100bb5d0 LIBCMTD:getqloc.obj - 0003:000115dc ??_C@_02JHCHFBLL@nz?$AA@ 100bb5dc LIBCMTD:getqloc.obj - 0003:000115e0 ??_C@_0M@LINHDHKP@new?9zealand?$AA@ 100bb5e0 LIBCMTD:getqloc.obj - 0003:000115f0 ??_C@_09IIIPPBDB@hong?9kong?$AA@ 100bb5f0 LIBCMTD:getqloc.obj - 0003:000115fc ??_C@_07HJLCKBG@holland?$AA@ 100bb5fc LIBCMTD:getqloc.obj - 0003:00011608 ??_C@_0O@LEHGMHAG@great?5britain?$AA@ 100bb608 LIBCMTD:getqloc.obj - 0003:00011618 ??_C@_07FACOMELA@england?$AA@ 100bb618 LIBCMTD:getqloc.obj - 0003:00011624 ??_C@_05JIHCEICB@czech?$AA@ 100bb624 LIBCMTD:getqloc.obj - 0003:0001162c ??_C@_05BBJOBLGB@china?$AA@ 100bb62c LIBCMTD:getqloc.obj - 0003:00011634 ??_C@_07GPKPHICP@britain?$AA@ 100bb634 LIBCMTD:getqloc.obj - 0003:00011640 ??_C@_07MHIPBHMG@america?$AA@ 100bb640 LIBCMTD:getqloc.obj - 0003:0001164c ??_C@_03KIALPMKC@usa?$AA@ 100bb64c LIBCMTD:getqloc.obj - 0003:00011650 ??_C@_02FGJGKGGD@us?$AA@ 100bb650 LIBCMTD:getqloc.obj - 0003:00011654 ??_C@_02NEINDODK@uk?$AA@ 100bb654 LIBCMTD:getqloc.obj - 0003:00011658 ??_C@_05JMPCFJFJ@swiss?$AA@ 100bb658 LIBCMTD:getqloc.obj - 0003:00011660 ??_C@_0BA@HLOCPIOD@swedish?9finland?$AA@ 100bb660 LIBCMTD:getqloc.obj - 0003:00011674 ??_C@_0BC@PKCNIABK@spanish?9venezuela?$AA@ 100bb674 LIBCMTD:getqloc.obj - 0003:0001168c ??_C@_0BA@GBHHMIJI@spanish?9uruguay?$AA@ 100bb68c LIBCMTD:getqloc.obj - 0003:000116a0 ??_C@_0BE@BHDOHPMC@spanish?9puerto?5rico?$AA@ 100bb6a0 LIBCMTD:getqloc.obj - 0003:000116b8 ??_C@_0N@KMOIDGGN@spanish?9peru?$AA@ 100bb6b8 LIBCMTD:getqloc.obj - 0003:000116c8 ??_C@_0BB@HMHLPGPH@spanish?9paraguay?$AA@ 100bb6c8 LIBCMTD:getqloc.obj - 0003:000116dc ??_C@_0P@MCPKNGFD@spanish?9panama?$AA@ 100bb6dc LIBCMTD:getqloc.obj - 0003:000116f0 ??_C@_0BC@IHOHGAIL@spanish?9nicaragua?$AA@ 100bb6f0 LIBCMTD:getqloc.obj - 0003:00011708 ??_C@_0P@KLMJDNFJ@spanish?9modern?$AA@ 100bb708 LIBCMTD:getqloc.obj - 0003:0001171c ??_C@_0BA@BPAPGBCM@spanish?9mexican?$AA@ 100bb71c LIBCMTD:getqloc.obj - 0003:00011730 ??_C@_0BB@PDECHHHE@spanish?9honduras?$AA@ 100bb730 LIBCMTD:getqloc.obj - 0003:00011744 ??_C@_0BC@KLHKFGDB@spanish?9guatemala?$AA@ 100bb744 LIBCMTD:getqloc.obj - 0003:0001175c ??_C@_0BE@MFOOKJAI@spanish?9el?5salvador?$AA@ 100bb75c LIBCMTD:getqloc.obj - 0003:00011774 ??_C@_0BA@FCOKFPFC@spanish?9ecuador?$AA@ 100bb774 LIBCMTD:getqloc.obj - 0003:00011788 ??_C@_0BL@PLMGIMOO@spanish?9dominican?5republic?$AA@ 100bb788 LIBCMTD:getqloc.obj - 0003:000117a8 ??_C@_0BD@HLGDNMHB@spanish?9costa?5rica?$AA@ 100bb7a8 LIBCMTD:getqloc.obj - 0003:000117c0 ??_C@_0BB@PKCBKCPE@spanish?9colombia?$AA@ 100bb7c0 LIBCMTD:getqloc.obj - 0003:000117d4 ??_C@_0O@MCBIJGNE@spanish?9chile?$AA@ 100bb7d4 LIBCMTD:getqloc.obj - 0003:000117e4 ??_C@_0BA@BEFEIGJJ@spanish?9bolivia?$AA@ 100bb7e4 LIBCMTD:getqloc.obj - 0003:000117f8 ??_C@_0BC@EMECMPD@spanish?9argentina?$AA@ 100bb7f8 LIBCMTD:getqloc.obj - 0003:00011810 ??_C@_0BF@EALFLENP@portuguese?9brazilian?$AA@ 100bb810 LIBCMTD:getqloc.obj - 0003:0001182c ??_C@_0BC@HBLEBLNN@norwegian?9nynorsk?$AA@ 100bb82c LIBCMTD:getqloc.obj - 0003:00011844 ??_C@_0BB@HMACDDCK@norwegian?9bokmal?$AA@ 100bb844 LIBCMTD:getqloc.obj - 0003:00011858 ??_C@_09BAFFPPHE@norwegian?$AA@ 100bb858 LIBCMTD:getqloc.obj - 0003:00011864 ??_C@_0O@EAJFJDFG@italian?9swiss?$AA@ 100bb864 LIBCMTD:getqloc.obj - 0003:00011874 ??_C@_0O@CNOMPGD@irish?9english?$AA@ 100bb874 LIBCMTD:getqloc.obj - 0003:00011884 ??_C@_0N@EDHBGCKG@german?9swiss?$AA@ 100bb884 LIBCMTD:getqloc.obj - 0003:00011894 ??_C@_0BC@JACMHNBP@german?9luxembourg?$AA@ 100bb894 LIBCMTD:getqloc.obj - 0003:000118ac ??_C@_0BE@HBGMGFEG@german?9lichtenstein?$AA@ 100bb8ac LIBCMTD:getqloc.obj - 0003:000118c4 ??_C@_0BA@HKKBIBKL@german?9austrian?$AA@ 100bb8c4 LIBCMTD:getqloc.obj - 0003:000118d8 ??_C@_0N@GCAEPEBK@french?9swiss?$AA@ 100bb8d8 LIBCMTD:getqloc.obj - 0003:000118e8 ??_C@_0BC@DJFJJCK@french?9luxembourg?$AA@ 100bb8e8 LIBCMTD:getqloc.obj - 0003:00011900 ??_C@_0BA@NNCEDFIC@french?9canadian?$AA@ 100bb900 LIBCMTD:getqloc.obj - 0003:00011914 ??_C@_0P@CMPOCLM@french?9belgian?$AA@ 100bb914 LIBCMTD:getqloc.obj - 0003:00011928 ??_C@_0M@GHHDJOK@english?9usa?$AA@ 100bb928 LIBCMTD:getqloc.obj - 0003:00011938 ??_C@_0L@PLDJKEIL@english?9us?$AA@ 100bb938 LIBCMTD:getqloc.obj - 0003:00011948 ??_C@_0L@HJCCDMNC@english?9uk?$AA@ 100bb948 LIBCMTD:getqloc.obj - 0003:00011958 ??_C@_0BK@CKLIAGJB@english?9trinidad?5y?5tobago?$AA@ 100bb958 LIBCMTD:getqloc.obj - 0003:00011978 ??_C@_0BF@JMJMGNNF@english?9south?5africa?$AA@ 100bb978 LIBCMTD:getqloc.obj - 0003:00011994 ??_C@_0L@DKIIFDFD@english?9nz?$AA@ 100bb994 LIBCMTD:getqloc.obj - 0003:000119a4 ??_C@_0BA@ONHGJCLH@english?9jamaica?$AA@ 100bb9a4 LIBCMTD:getqloc.obj - 0003:000119b8 ??_C@_0M@HJBGHOPO@english?9ire?$AA@ 100bb9b8 LIBCMTD:getqloc.obj - 0003:000119c8 ??_C@_0BC@LFEKMIFB@english?9caribbean?$AA@ 100bb9c8 LIBCMTD:getqloc.obj - 0003:000119e0 ??_C@_0M@OLDPFKHI@english?9can?$AA@ 100bb9e0 LIBCMTD:getqloc.obj - 0003:000119f0 ??_C@_0P@OMDEHBMP@english?9belize?$AA@ 100bb9f0 LIBCMTD:getqloc.obj - 0003:00011a04 ??_C@_0M@KFHFPFED@english?9aus?$AA@ 100bba04 LIBCMTD:getqloc.obj - 0003:00011a14 ??_C@_0BB@MNMBKDFE@english?9american?$AA@ 100bba14 LIBCMTD:getqloc.obj - 0003:00011a28 ??_C@_0O@KIDLNNBA@dutch?9belgian?$AA@ 100bba28 LIBCMTD:getqloc.obj - 0003:00011a38 ??_C@_0BE@JBKABBMH@chinese?9traditional?$AA@ 100bba38 LIBCMTD:getqloc.obj - 0003:00011a50 ??_C@_0BC@MJJMPKCG@chinese?9singapore?$AA@ 100bba50 LIBCMTD:getqloc.obj - 0003:00011a68 ??_C@_0BD@FDKADDCP@chinese?9simplified?$AA@ 100bba68 LIBCMTD:getqloc.obj - 0003:00011a80 ??_C@_0BB@DBEFDDME@chinese?9hongkong?$AA@ 100bba80 LIBCMTD:getqloc.obj - 0003:00011a94 ??_C@_07DHNMFMCI@chinese?$AA@ 100bba94 LIBCMTD:getqloc.obj - 0003:00011aa0 ??_C@_03FNDDCHI@chi?$AA@ 100bbaa0 LIBCMTD:getqloc.obj - 0003:00011aa4 ??_C@_03BMMIADDJ@chh?$AA@ 100bbaa4 LIBCMTD:getqloc.obj - 0003:00011aa8 ??_C@_08OAIPJDGI@canadian?$AA@ 100bbaa8 LIBCMTD:getqloc.obj - 0003:00011ab4 ??_C@_07HBPMNPNJ@belgian?$AA@ 100bbab4 LIBCMTD:getqloc.obj - 0003:00011ac0 ??_C@_0L@OEKOPBEL@australian?$AA@ 100bbac0 LIBCMTD:getqloc.obj - 0003:00011ad0 ??_C@_0BB@MEIMBEDG@american?9english?$AA@ 100bbad0 LIBCMTD:getqloc.obj - 0003:00011ae4 ??_C@_0BB@DFMDPDGB@american?5english?$AA@ 100bbae4 LIBCMTD:getqloc.obj - 0003:00011af8 ??_C@_08IJLOKOLL@american?$AA@ 100bbaf8 LIBCMTD:getqloc.obj - 0003:00011b08 ___rg_language 100bbb08 LIBCMTD:getqloc.obj - 0003:00011d78 ___rg_country 100bbd78 LIBCMTD:getqloc.obj - 0003:00011e54 ___rglangidNotDefault 100bbe54 LIBCMTD:getqloc.obj - 0003:00011e6c ??_C@_0BC@NFIEMBLL@Norwegian?9Nynorsk?$AA@ 100bbe6c LIBCMTD:getqloc.obj - 0003:00011e88 ??_C@_1OM@OECHDGCF@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAl?$AAp?$AAO?$AAu?$AAt?$AAS?$AAt?$AAr?$AA?9?$AA?$DO?$AAs?$AAz?$AAL?$AAa?$AAn?$AAg?$AAu?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA?$CI@ 100bbe88 LIBCMTD:getqloc.obj - 0003:00011fa4 ??_C@_1CO@NJACLALJ@?$AA_?$AA_?$AAg?$AAe?$AAt?$AA_?$AAq?$AAu?$AAa?$AAl?$AAi?$AAf?$AAi?$AAe?$AAd?$AA_?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?$AA@ 100bbfa4 LIBCMTD:getqloc.obj - 0003:00011fe0 ??_C@_1GC@FECJGAE@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bbfe0 LIBCMTD:getqloc.obj - 0003:00012058 ??_C@_03NFKLAGEF@OCP?$AA@ 100bc058 LIBCMTD:getqloc.obj - 0003:0001205c ??_C@_03DFHEHBHG@ACP?$AA@ 100bc05c LIBCMTD:getqloc.obj - 0003:00012060 ??_C@_1BA@PCFLFGNC@?$AAw?$AAc?$AAs?$AAt?$AAo?$AAx?$AAl?$AA?$AA@ 100bc060 LIBCMTD:wcstol.obj - 0003:00012078 ??_C@_1GA@CADFOND@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bc078 LIBCMTD:wcstol.obj - 0003:00012118 ??_7type_info@@6B@ 100bc118 LIBCMTD:typinfo.obj - 0003:00012124 ??_7exception@std@@6B@ 100bc124 LIBCMTD:stdexcpt.obj - 0003:00012130 ??_C@_0BC@EOODALEL@Unknown?5exception?$AA@ 100bc130 LIBCMTD:stdexcpt.obj - 0003:0001214c ??_7bad_cast@std@@6B@ 100bc14c LIBCMTD:stdexcpt.obj - 0003:0001215c ??_7bad_typeid@std@@6B@ 100bc15c LIBCMTD:stdexcpt.obj - 0003:0001216c ??_7__non_rtti_object@std@@6B@ 100bc16c LIBCMTD:stdexcpt.obj - 0003:00012178 ??_C@_1GE@BDAODJCD@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bc178 LIBCMTD:dbgdel.obj - 0003:000121f0 ??_C@_1BG@GLLONOEH@?$AA_?$AAs?$AAt?$AAr?$AAi?$AAc?$AAm?$AAp?$AA_?$AAl?$AA?$AA@ 100bc1f0 LIBCMTD:stricmp.obj - 0003:00012210 ??_C@_1GC@OILHAOLL@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bc210 LIBCMTD:stricmp.obj - 0003:00012288 ??_C@_1BC@JLGKKIIG@?$AA_?$AAs?$AAt?$AAr?$AAi?$AAc?$AAm?$AAp?$AA?$AA@ 100bc288 LIBCMTD:stricmp.obj - 0003:000122a0 ??_C@_1HG@KNCBMCDD@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bc2a0 LIBCMTD:typname.obj - 0003:00012330 ??_C@_1CK@GELGGBDK@?$AAp?$AAN?$AAo?$AAd?$AAe?$AA?9?$AA?$DO?$AA_?$AAN?$AAe?$AAx?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100bc330 LIBCMTD:typname.obj - 0003:00012368 ??_C@_1JK@NAFNEPGC@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?5?$AA?$CI?$AA?$CI?$AAc?$AAh?$AAa?$AAr?$AA?5?$AA?$CK?$AA?$CJ?$AA?$CI?$AA?$CI?$AAt?$AAy?$AAp?$AAe?$AA_?$AAi?$AAn?$AAf?$AAo?$AA?5?$AA?$CK?$AA?$CJ@ 100bc368 LIBCMTD:typname.obj - 0003:00012420 ??_C@_1CM@OOICDMK@?$AAt?$AAy?$AAp?$AAe?$AA_?$AAi?$AAn?$AAf?$AAo?$AA?3?$AA?3?$AA_?$AAN?$AAa?$AAm?$AAe?$AA_?$AAb?$AAa?$AAs?$AAe?$AA?$AA@ 100bc420 LIBCMTD:typname.obj - 0003:00012458 ??_C@_1GI@EAJKJPED@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?5?$AA?$CI?$AAp?$AAT?$AAm?$AAp?$AAT?$AAy?$AAp?$AAe?$AAN?$AAa?$AAm?$AAe?$AA?0?$AA?5?$AAl?$AAe?$AAn?$AA?$CL?$AA2?$AA?0?$AA?5?$AA?$CI@ 100bc458 LIBCMTD:typname.obj - 0003:000124d4 ??_C@_1DO@OJJLFJPE@?$AAt?$AAy?$AAp?$AAe?$AA_?$AAi?$AAn?$AAf?$AAo?$AA?3?$AA?3?$AA_?$AAN?$AAa?$AAm?$AAe?$AA_?$AAb?$AAa?$AAs?$AAe?$AA_?$AAi?$AAn?$AAt?$AAe?$AAr?$AAn?$AAa?$AAl?$AA?$AA@ 100bc4d4 LIBCMTD:typname.obj - 0003:00012520 ??_C@_1BA@BMMDEPNE@?$AAs?$AAt?$AAr?$AAt?$AAo?$AAx?$AAq?$AA?$AA@ 100bc520 LIBCMTD:strtoq.obj - 0003:00012538 ??_C@_1GA@GIMEIKLC@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bc538 LIBCMTD:strtoq.obj - 0003:000125ac ??_C@_0BK@CFCOFLF@?5Complete?5Object?5Locator?8?$AA@ 100bc5ac LIBCMTD:undname.obj - 0003:000125cc ??_C@_0BN@MECKDCOJ@?5Class?5Hierarchy?5Descriptor?8?$AA@ 100bc5cc LIBCMTD:undname.obj - 0003:000125f0 ??_C@_0BD@LGICGFMM@?5Base?5Class?5Array?8?$AA@ 100bc5f0 LIBCMTD:undname.obj - 0003:00012608 ??_C@_0BM@LDKODKLH@?5Base?5Class?5Descriptor?5at?5?$CI?$AA@ 100bc608 LIBCMTD:undname.obj - 0003:0001262c ??_C@_0BC@DAFEJGAK@?5Type?5Descriptor?8?$AA@ 100bc62c LIBCMTD:undname.obj - 0003:00012644 ??_C@_0BM@PMGGMLDN@?$GAlocal?5static?5thread?5guard?8?$AA@ 100bc644 LIBCMTD:undname.obj - 0003:00012668 ??_C@_0CL@FGIJHLCE@?$GAmanaged?5vector?5copy?5constructor@ 100bc668 LIBCMTD:undname.obj - 0003:0001269c ??_C@_0CJ@GJELGAMM@?$GAvector?5vbase?5copy?5constructor?5i@ 100bc69c LIBCMTD:undname.obj - 0003:000126d0 ??_C@_0CD@CGAJBKEJ@?$GAvector?5copy?5constructor?5iterato@ 100bc6d0 LIBCMTD:undname.obj - 0003:000126fc ??_C@_0CB@PDBIFEP@?$GAdynamic?5atexit?5destructor?5for?5?8@ 100bc6fc LIBCMTD:undname.obj - 0003:00012724 ??_C@_0BL@CLIPGLGB@?$GAdynamic?5initializer?5for?5?8?$AA@ 100bc724 LIBCMTD:undname.obj - 0003:00012744 ??_C@_0CM@FCBBDIGB@?$GAeh?5vector?5vbase?5copy?5constructo@ 100bc744 LIBCMTD:undname.obj - 0003:00012778 ??_C@_0CG@HLDDJMAG@?$GAeh?5vector?5copy?5constructor?5iter@ 100bc778 LIBCMTD:undname.obj - 0003:000127a8 ??_C@_0CF@IMGKMJNO@?$GAmanaged?5vector?5destructor?5itera@ 100bc7a8 LIBCMTD:undname.obj - 0003:000127d4 ??_C@_0CG@CFDHKGGD@?$GAmanaged?5vector?5constructor?5iter@ 100bc7d4 LIBCMTD:undname.obj - 0003:00012804 ??_C@_0BN@CKNJLHMB@?$GAplacement?5delete?$FL?$FN?5closure?8?$AA@ 100bc804 LIBCMTD:undname.obj - 0003:00012828 ??_C@_0BL@CNOONJFP@?$GAplacement?5delete?5closure?8?$AA@ 100bc828 LIBCMTD:undname.obj - 0003:00012848 ??_C@_0P@HJKNJFNN@?$GAomni?5callsig?8?$AA@ 100bc848 LIBCMTD:undname.obj - 0003:0001285c ??_C@_09LBNFPBCA@?5delete?$FL?$FN?$AA@ 100bc85c LIBCMTD:undname.obj - 0003:00012868 ??_C@_06FHBGPFGH@?5new?$FL?$FN?$AA@ 100bc868 LIBCMTD:undname.obj - 0003:00012870 ??_C@_0CE@IIHCMGGL@?$GAlocal?5vftable?5constructor?5closu@ 100bc870 LIBCMTD:undname.obj - 0003:0001289c ??_C@_0BA@KKLDJDLB@?$GAlocal?5vftable?8?$AA@ 100bc89c LIBCMTD:undname.obj - 0003:000128b0 ??_C@_05KHLCHHI@?$GARTTI?$AA@ 100bc8b0 LIBCMTD:undname.obj - 0003:000128b8 ??_C@_03KLGMFNMG@?$GAEH?$AA@ 100bc8b8 LIBCMTD:undname.obj - 0003:000128bc ??_C@_0BA@KBCDOMBN@?$GAudt?5returning?8?$AA@ 100bc8bc LIBCMTD:undname.obj - 0003:000128d0 ??_C@_0BL@LLKPOHJI@?$GAcopy?5constructor?5closure?8?$AA@ 100bc8d0 LIBCMTD:undname.obj - 0003:000128f0 ??_C@_0CH@OOJPLCPH@?$GAeh?5vector?5vbase?5constructor?5ite@ 100bc8f0 LIBCMTD:undname.obj - 0003:00012920 ??_C@_0CA@GCEOPDGL@?$GAeh?5vector?5destructor?5iterator?8?$AA@ 100bc920 LIBCMTD:undname.obj - 0003:00012948 ??_C@_0CB@JONCMFFK@?$GAeh?5vector?5constructor?5iterator?8@ 100bc948 LIBCMTD:undname.obj - 0003:00012970 ??_C@_0BL@NILFHHPC@?$GAvirtual?5displacement?5map?8?$AA@ 100bc970 LIBCMTD:undname.obj - 0003:00012990 ??_C@_0CE@IKBNEHA@?$GAvector?5vbase?5constructor?5iterat@ 100bc990 LIBCMTD:undname.obj - 0003:000129bc ??_C@_0BN@LFPFMEDL@?$GAvector?5destructor?5iterator?8?$AA@ 100bc9bc LIBCMTD:undname.obj - 0003:000129e0 ??_C@_0BO@PFGOCPJJ@?$GAvector?5constructor?5iterator?8?$AA@ 100bc9e0 LIBCMTD:undname.obj - 0003:00012a04 ??_C@_0BN@IMDCHIKM@?$GAscalar?5deleting?5destructor?8?$AA@ 100bca04 LIBCMTD:undname.obj - 0003:00012a28 ??_C@_0BO@OBMKPJIG@?$GAdefault?5constructor?5closure?8?$AA@ 100bca28 LIBCMTD:undname.obj - 0003:00012a4c ??_C@_0BN@DEGPLNFK@?$GAvector?5deleting?5destructor?8?$AA@ 100bca4c LIBCMTD:undname.obj - 0003:00012a70 ??_C@_0BD@JDLKDPAB@?$GAvbase?5destructor?8?$AA@ 100bca70 LIBCMTD:undname.obj - 0003:00012a88 ??_C@_08OBABFOLI@?$GAstring?8?$AA@ 100bca88 LIBCMTD:undname.obj - 0003:00012a94 ??_C@_0BF@KDPPACIK@?$GAlocal?5static?5guard?8?$AA@ 100bca94 LIBCMTD:undname.obj - 0003:00012ab0 ??_C@_08LLFFHHDJ@?$GAtypeof?8?$AA@ 100bcab0 LIBCMTD:undname.obj - 0003:00012abc ??_C@_07FEEIOKP@?$GAvcall?8?$AA@ 100bcabc LIBCMTD:undname.obj - 0003:00012ac8 ??_C@_09BLBHBJP@?$GAvbtable?8?$AA@ 100bcac8 LIBCMTD:undname.obj - 0003:00012ad4 ??_C@_09IFPLHPGF@?$GAvftable?8?$AA@ 100bcad4 LIBCMTD:undname.obj - 0003:00012ae0 ??_C@_02MHEGNOJ@?$FO?$DN?$AA@ 100bcae0 LIBCMTD:undname.obj - 0003:00012ae4 ??_C@_02DHLNPPGH@?$HM?$DN?$AA@ 100bcae4 LIBCMTD:undname.obj - 0003:00012ae8 ??_C@_02FGJGFEAB@?$CG?$DN?$AA@ 100bcae8 LIBCMTD:undname.obj - 0003:00012aec ??_C@_03CDNPDDLA@?$DM?$DM?$DN?$AA@ 100bcaec LIBCMTD:undname.obj - 0003:00012af0 ??_C@_03IKFCCPFF@?$DO?$DO?$DN?$AA@ 100bcaf0 LIBCMTD:undname.obj - 0003:00012af4 ??_C@_02FENAOKFI@?$CF?$DN?$AA@ 100bcaf4 LIBCMTD:undname.obj - 0003:00012af8 ??_C@_02FJEHGPIO@?1?$DN?$AA@ 100bcaf8 LIBCMTD:undname.obj - 0003:00012afc ??_C@_02FKMDLLOA@?9?$DN?$AA@ 100bcafc LIBCMTD:undname.obj - 0003:00012b00 ??_C@_02FOEOMHFC@?$CL?$DN?$AA@ 100bcb00 LIBCMTD:undname.obj - 0003:00012b04 ??_C@_02FPIMKNGF@?$CK?$DN?$AA@ 100bcb04 LIBCMTD:undname.obj - 0003:00012b08 ??_C@_02NONPIBCD@?$HM?$HM?$AA@ 100bcb08 LIBCMTD:undname.obj - 0003:00012b0c ??_C@_02PPKAJPJL@?$CG?$CG?$AA@ 100bcb0c LIBCMTD:undname.obj - 0003:00012b10 ??_C@_01DNKMNLPK@?$HM?$AA@ 100bcb10 LIBCMTD:undname.obj - 0003:00012b14 ??_C@_01JKBOJNNK@?$FO?$AA@ 100bcb14 LIBCMTD:undname.obj - 0003:00012b18 ??_C@_01PJKLJHI@?$HO?$AA@ 100bcb18 LIBCMTD:undname.obj - 0003:00012b1c ??_C@_02HCKGKOFO@?$CI?$CJ?$AA@ 100bcb1c LIBCMTD:undname.obj - 0003:00012b20 ??_C@_01IHBHIGKO@?0?$AA@ 100bcb20 LIBCMTD:undname.obj - 0003:00012b24 ??_C@_02EEKDKGMJ@?$DO?$DN?$AA@ 100bcb24 LIBCMTD:undname.obj - 0003:00012b28 ??_C@_01PPODPGHN@?$DO?$AA@ 100bcb28 LIBCMTD:undname.obj - 0003:00012b2c ??_C@_02EHCHHCKH@?$DM?$DN?$AA@ 100bcb2c LIBCMTD:undname.obj - 0003:00012b30 ??_C@_01MNNFJEPP@?$DM?$AA@ 100bcb30 LIBCMTD:undname.obj - 0003:00012b34 ??_C@_01FGNFDNOH@?$CF?$AA@ 100bcb34 LIBCMTD:undname.obj - 0003:00012b38 ??_C@_01KMDKNFGN@?1?$AA@ 100bcb38 LIBCMTD:undname.obj - 0003:00012b3c ??_C@_03MNHNFDLC@?9?$DO?$CK?$AA@ 100bcb3c LIBCMTD:undname.obj - 0003:00012b40 ??_C@_01HNPIGOCE@?$CG?$AA@ 100bcb40 LIBCMTD:undname.obj - 0003:00012b44 ??_C@_01MIFGBAGJ@?$CL?$AA@ 100bcb44 LIBCMTD:undname.obj - 0003:00012b48 ??_C@_02BAABKJLB@?9?9?$AA@ 100bcb48 LIBCMTD:undname.obj - 0003:00012b4c ??_C@_02ECNGHCIF@?$CL?$CL?$AA@ 100bcb4c LIBCMTD:undname.obj - 0003:00012b50 ??_C@_01NBENCBCI@?$CK?$AA@ 100bcb50 LIBCMTD:undname.obj - 0003:00012b54 ??_C@_02HBOOOICD@?9?$DO?$AA@ 100bcb54 LIBCMTD:undname.obj - 0003:00012b58 ??_C@_08LHJFAFGD@operator?$AA@ 100bcb58 LIBCMTD:undname.obj - 0003:00012b64 ??_C@_02GPECMEKF@?$FL?$FN?$AA@ 100bcb64 LIBCMTD:undname.obj - 0003:00012b68 ??_C@_02FDNJECIE@?$CB?$DN?$AA@ 100bcb68 LIBCMTD:undname.obj - 0003:00012b6c ??_C@_02EGOFBIJA@?$DN?$DN?$AA@ 100bcb6c LIBCMTD:undname.obj - 0003:00012b70 ??_C@_01DCLJPIOD@?$CB?$AA@ 100bcb70 LIBCMTD:undname.obj - 0003:00012b74 ??_C@_02FODMEDOG@?$DM?$DM?$AA@ 100bcb74 LIBCMTD:undname.obj - 0003:00012b78 ??_C@_02GPIOPFAK@?$DO?$DO?$AA@ 100bcb78 LIBCMTD:undname.obj - 0003:00012b7c ??_C@_07FPCDHGMM@?5delete?$AA@ 100bcb7c LIBCMTD:undname.obj - 0003:00012b88 ??_C@_04NIHEBCM@?5new?$AA@ 100bcb88 LIBCMTD:undname.obj - 0003:00012b90 ??_C@_0M@GFIIJFMG@__unaligned?$AA@ 100bcb90 LIBCMTD:undname.obj - 0003:00012ba0 ??_C@_0L@PILCLIHE@__restrict?$AA@ 100bcba0 LIBCMTD:undname.obj - 0003:00012bb0 ??_C@_07JOMMBBKO@__ptr64?$AA@ 100bcbb0 LIBCMTD:undname.obj - 0003:00012bbc ??_C@_06GHPCKEAG@__eabi?$AA@ 100bcbbc LIBCMTD:undname.obj - 0003:00012bc4 ??_C@_09HIJEGCPM@__clrcall?$AA@ 100bcbc4 LIBCMTD:undname.obj - 0003:00012bd0 ??_C@_0L@JMKHOMEK@__fastcall?$AA@ 100bcbd0 LIBCMTD:undname.obj - 0003:00012be0 ??_C@_0L@NPHFGOKO@__thiscall?$AA@ 100bcbe0 LIBCMTD:undname.obj - 0003:00012bf0 ??_C@_09IFJBGAPI@__stdcall?$AA@ 100bcbf0 LIBCMTD:undname.obj - 0003:00012bfc ??_C@_08GHMPAG@__pascal?$AA@ 100bcbfc LIBCMTD:undname.obj - 0003:00012c08 ??_C@_07KOLFKCDI@__cdecl?$AA@ 100bcc08 LIBCMTD:undname.obj - 0003:00012c14 ??_C@_08EHJDFFNH@__based?$CI?$AA@ 100bcc14 LIBCMTD:undname.obj - 0003:00012df4 ??_C@_04HEJADOOB@CV?3?5?$AA@ 100bcdf4 LIBCMTD:undname.obj - 0003:00012dfc ??_C@_02MOLJINC@?3?3?$AA@ 100bcdfc LIBCMTD:undname.obj - 0003:00012e00 ??_C@_01GEODFPGF@?8?$AA@ 100bce00 LIBCMTD:undname.obj - 0003:00012e04 ??_C@_01NLNLIGKH@?$GA?$AA@ 100bce04 LIBCMTD:undname.obj - 0003:00012e08 ??_C@_0O@KHGCOMHP@generic?9type?9?$AA@ 100bce08 LIBCMTD:undname.obj - 0003:00012e18 ??_C@_0BE@JAEOCHPE@template?9parameter?9?$AA@ 100bce18 LIBCMTD:undname.obj - 0003:00012e30 ??_C@_02OHHJMEON@?8?8?$AA@ 100bce30 LIBCMTD:undname.obj - 0003:00012e34 ??_C@_0BG@JNJLAMPM@?$GAanonymous?5namespace?8?$AA@ 100bce34 LIBCMTD:undname.obj - 0003:00012e50 ??_C@_0BN@IBLMMFAP@?$GAnon?9type?9template?9parameter?$AA@ 100bce50 LIBCMTD:undname.obj - 0003:00012e74 ??_C@_0BE@EODMJLIF@?$GAtemplate?9parameter?$AA@ 100bce74 LIBCMTD:undname.obj - 0003:00012e8c ??_C@_04GKJNKENE@void?$AA@ 100bce8c LIBCMTD:undname.obj - 0003:00012e94 ??_C@_04HIBGFPH@NULL?$AA@ 100bce94 LIBCMTD:undname.obj - 0003:00012e9c ??_C@_0M@DHNBOJMP@extern?5?$CCC?$CC?5?$AA@ 100bce9c LIBCMTD:undname.obj - 0003:00012eac ??_C@_08KJLFOPNE@?$FLthunk?$FN?3?$AA@ 100bceac LIBCMTD:undname.obj - 0003:00012eb8 ??_C@_08GPDDCMKI@public?3?5?$AA@ 100bceb8 LIBCMTD:undname.obj - 0003:00012ec4 ??_C@_0M@GAIFPFIP@protected?3?5?$AA@ 100bcec4 LIBCMTD:undname.obj - 0003:00012ed4 ??_C@_09LAPHOOG@private?3?5?$AA@ 100bced4 LIBCMTD:undname.obj - 0003:00012ee0 ??_C@_08NIEOINHE@virtual?5?$AA@ 100bcee0 LIBCMTD:undname.obj - 0003:00012eec ??_C@_07PGOEDBHP@static?5?$AA@ 100bceec LIBCMTD:undname.obj - 0003:00012ef8 ??_C@_0DA@HGFJFBBE@?$GAtemplate?5static?5data?5member?5des@ 100bcef8 LIBCMTD:undname.obj - 0003:00012f34 ??_C@_0DB@ILEFOCIJ@?$GAtemplate?5static?5data?5member?5con@ 100bcf34 LIBCMTD:undname.obj - 0003:00012f70 ??_C@_0CB@KJDOOODE@?$GAlocal?5static?5destructor?5helper?8@ 100bcf70 LIBCMTD:undname.obj - 0003:00012f98 ??_C@_0L@HNGCOGAE@?$GAadjustor?$HL?$AA@ 100bcf98 LIBCMTD:undname.obj - 0003:00012fa8 ??_C@_0L@GHPFDFH@?$GAvtordisp?$HL?$AA@ 100bcfa8 LIBCMTD:undname.obj - 0003:00012fb8 ??_C@_0N@CBHHHENL@?$GAvtordispex?$HL?$AA@ 100bcfb8 LIBCMTD:undname.obj - 0003:00012fc8 ??_C@_01CLKCMJKC@?5?$AA@ 100bcfc8 LIBCMTD:undname.obj - 0003:00012fcc ??_C@_02IGFCGPIL@?$HN?8?$AA@ 100bcfcc LIBCMTD:undname.obj - 0003:00012fd0 ??_C@_03OPGICMGF@?$HN?8?5?$AA@ 100bcfd0 LIBCMTD:undname.obj - 0003:00012fd4 ??_C@_02KCKGHPCA@?$CJ?5?$AA@ 100bcfd4 LIBCMTD:undname.obj - 0003:00012fd8 ??_C@_05BEFAKPML@void?5?$AA@ 100bcfd8 LIBCMTD:undname.obj - 0003:00012fe0 ??_C@_0P@GCOCNKDM@std?3?3nullptr_t?$AA@ 100bcfe0 LIBCMTD:undname.obj - 0003:00012ff4 ??_C@_08PABEKFH@volatile?$AA@ 100bcff4 LIBCMTD:undname.obj - 0003:00013000 ??_C@_0M@ELJOJFFH@?0?$DMellipsis?$DO?$AA@ 100bd000 LIBCMTD:undname.obj - 0003:00013010 ??_C@_04EENFHACM@?0?4?4?4?$AA@ 100bd010 LIBCMTD:undname.obj - 0003:00013018 ??_C@_0L@EGPHHEKN@?$DMellipsis?$DO?$AA@ 100bd018 LIBCMTD:undname.obj - 0003:00013028 ??_C@_07HDJPLPEK@?5throw?$CI?$AA@ 100bd028 LIBCMTD:undname.obj - 0003:00013034 ??_C@_09EFNPDFFP@?5volatile?$AA@ 100bd034 LIBCMTD:undname.obj - 0003:00013040 ??_C@_05BNCCCJPP@const?$AA@ 100bd040 LIBCMTD:undname.obj - 0003:00013048 ??_C@_07EDHNAJHC@signed?5?$AA@ 100bd048 LIBCMTD:undname.obj - 0003:00013054 ??_C@_09EBBEKKIH@unsigned?5?$AA@ 100bd054 LIBCMTD:undname.obj - 0003:00013060 ??_C@_07NFANNNEC@UNKNOWN?$AA@ 100bd060 LIBCMTD:undname.obj - 0003:0001306c ??_C@_06GCICPBLB@__w64?5?$AA@ 100bd06c LIBCMTD:undname.obj - 0003:00013074 ??_C@_07CLGGIAMF@wchar_t?$AA@ 100bd074 LIBCMTD:undname.obj - 0003:00013080 ??_C@_09EEKGDCPH@?$DMunknown?$DO?$AA@ 100bd080 LIBCMTD:undname.obj - 0003:0001308c ??_C@_08GAHOLHEO@__int128?$AA@ 100bd08c LIBCMTD:undname.obj - 0003:00013098 ??_C@_07LFCOJCAC@__int64?$AA@ 100bd098 LIBCMTD:undname.obj - 0003:000130a4 ??_C@_07OFLPPHGP@__int32?$AA@ 100bd0a4 LIBCMTD:undname.obj - 0003:000130b0 ??_C@_07ICFHOGAF@__int16?$AA@ 100bd0b0 LIBCMTD:undname.obj - 0003:000130bc ??_C@_06EBGKOKIG@__int8?$AA@ 100bd0bc LIBCMTD:undname.obj - 0003:000130c4 ??_C@_04DDKJGDCM@bool?$AA@ 100bd0c4 LIBCMTD:undname.obj - 0003:000130cc ??_C@_06BNJCAIGJ@double?$AA@ 100bd0cc LIBCMTD:undname.obj - 0003:000130d4 ??_C@_05CJIMAING@long?5?$AA@ 100bd0d4 LIBCMTD:undname.obj - 0003:000130dc ??_C@_05KNFBNCOH@float?$AA@ 100bd0dc LIBCMTD:undname.obj - 0003:000130e4 ??_C@_04GOKPGOLB@long?$AA@ 100bd0e4 LIBCMTD:undname.obj - 0003:000130ec ??_C@_03JBIPMCLC@int?$AA@ 100bd0ec LIBCMTD:undname.obj - 0003:000130f0 ??_C@_05BFKKPKCG@short?$AA@ 100bd0f0 LIBCMTD:undname.obj - 0003:000130f8 ??_C@_04ENMBGAPA@char?$AA@ 100bd0f8 LIBCMTD:undname.obj - 0003:00013100 ??_C@_05LJGMCFOG@enum?5?$AA@ 100bd100 LIBCMTD:undname.obj - 0003:00013108 ??_C@_0N@DLIEFKNA@cointerface?5?$AA@ 100bd108 LIBCMTD:undname.obj - 0003:00013118 ??_C@_08KOFANOFK@coclass?5?$AA@ 100bd118 LIBCMTD:undname.obj - 0003:00013124 ??_C@_06LJBABKPM@class?5?$AA@ 100bd124 LIBCMTD:undname.obj - 0003:0001312c ??_C@_07DIBCDNGL@struct?5?$AA@ 100bd12c LIBCMTD:undname.obj - 0003:00013138 ??_C@_06MOJHIBMG@union?5?$AA@ 100bd138 LIBCMTD:undname.obj - 0003:00013140 ??_C@_0P@GCIFDJCJ@?$GAunknown?5ecsu?8?$AA@ 100bd140 LIBCMTD:undname.obj - 0003:00013154 ??_C@_04LAHKHJMA@int?5?$AA@ 100bd154 LIBCMTD:undname.obj - 0003:0001315c ??_C@_06EHJMALKF@short?5?$AA@ 100bd15c LIBCMTD:undname.obj - 0003:00013164 ??_C@_05CIHEBHNO@char?5?$AA@ 100bd164 LIBCMTD:undname.obj - 0003:0001316c ??_C@_06LIJLOJAG@const?5?$AA@ 100bd16c LIBCMTD:undname.obj - 0003:00013174 ??_C@_09GAIEOBLP@volatile?5?$AA@ 100bd174 LIBCMTD:undname.obj - 0003:00013180 ??_C@_0O@GKABPPIF@cli?3?3pin_ptr?$DM?$AA@ 100bd180 LIBCMTD:undname.obj - 0003:00013190 ??_C@_0M@EALIELKG@cli?3?3array?$DM?$AA@ 100bd190 LIBCMTD:undname.obj - 0003:000131a0 ??_C@_02GOGNNPBN@?$CJ?$FL?$AA@ 100bd1a0 LIBCMTD:undname.obj - 0003:000131a4 ??_C@_06EEGAIFAK@?$HLflat?$HN?$AA@ 100bd1a4 LIBCMTD:undname.obj - 0003:000131ac ??_C@_02MDINNEEG@s?5?$AA@ 100bd1ac LIBCMTD:undname.obj - 0003:000131b0 ??_C@_05JIBOFOHK@?$HLfor?5?$AA@ 100bd1b0 LIBCMTD:undname.obj - 0003:000131b8 ??_7DNameNode@@6B@ 100bd1b8 LIBCMTD:undname.obj - 0003:000131c8 ??_7charNode@@6B@ 100bd1c8 LIBCMTD:undname.obj - 0003:000131d8 ??_7pcharNode@@6B@ 100bd1d8 LIBCMTD:undname.obj - 0003:000131e8 ??_7pDNameNode@@6B@ 100bd1e8 LIBCMTD:undname.obj - 0003:000131f8 ??_7DNameStatusNode@@6B@ 100bd1f8 LIBCMTD:undname.obj - 0003:00013208 ??_C@_04OKOHEJBO@?5?$DP?$DP?5?$AA@ 100bd208 LIBCMTD:undname.obj - 0003:00013210 ??_7pairNode@@6B@ 100bd210 LIBCMTD:undname.obj - 0003:000137cc ??_R4bad_exception@std@@6B@ 100bd7cc LIBCMTD:frame.obj - 0003:000137e4 ??_R3bad_exception@std@@8 100bd7e4 LIBCMTD:frame.obj - 0003:000137f8 ??_R2bad_exception@std@@8 100bd7f8 LIBCMTD:frame.obj - 0003:00013804 ??_R1A@?0A@EA@bad_exception@std@@8 100bd804 LIBCMTD:frame.obj - 0003:00013828 ??_R1A@?0A@EA@exception@std@@8 100bd828 LIBCMTD:frame.obj - 0003:0001384c ??_R3exception@std@@8 100bd84c LIBCMTD:frame.obj - 0003:00013860 ??_R2exception@std@@8 100bd860 LIBCMTD:frame.obj - 0003:00013868 ??_R4type_info@@6B@ 100bd868 LIBCMTD:typinfo.obj - 0003:00013880 ??_R3type_info@@8 100bd880 LIBCMTD:typinfo.obj - 0003:00013894 ??_R2type_info@@8 100bd894 LIBCMTD:typinfo.obj - 0003:0001389c ??_R1A@?0A@EA@type_info@@8 100bd89c LIBCMTD:typinfo.obj - 0003:000138c0 ??_R4exception@std@@6B@ 100bd8c0 LIBCMTD:stdexcpt.obj - 0003:000138d8 ??_R4bad_cast@std@@6B@ 100bd8d8 LIBCMTD:stdexcpt.obj - 0003:000138f0 ??_R3bad_cast@std@@8 100bd8f0 LIBCMTD:stdexcpt.obj - 0003:00013904 ??_R2bad_cast@std@@8 100bd904 LIBCMTD:stdexcpt.obj - 0003:00013910 ??_R1A@?0A@EA@bad_cast@std@@8 100bd910 LIBCMTD:stdexcpt.obj - 0003:00013934 ??_R4bad_typeid@std@@6B@ 100bd934 LIBCMTD:stdexcpt.obj - 0003:0001394c ??_R3bad_typeid@std@@8 100bd94c LIBCMTD:stdexcpt.obj - 0003:00013960 ??_R2bad_typeid@std@@8 100bd960 LIBCMTD:stdexcpt.obj - 0003:0001396c ??_R1A@?0A@EA@bad_typeid@std@@8 100bd96c LIBCMTD:stdexcpt.obj - 0003:00013990 ??_R4__non_rtti_object@std@@6B@ 100bd990 LIBCMTD:stdexcpt.obj - 0003:000139a8 ??_R3__non_rtti_object@std@@8 100bd9a8 LIBCMTD:stdexcpt.obj - 0003:000139bc ??_R2__non_rtti_object@std@@8 100bd9bc LIBCMTD:stdexcpt.obj - 0003:000139cc ??_R1A@?0A@EA@__non_rtti_object@std@@8 100bd9cc LIBCMTD:stdexcpt.obj - 0003:00013afc ___rtc_iaa 100bdafc LIBCMTD:_initsect_.obj - 0003:00013c00 ___rtc_izz 100bdc00 LIBCMTD:_initsect_.obj - 0003:00013d04 ___rtc_taa 100bdd04 LIBCMTD:_initsect_.obj - 0003:00013e08 ___rtc_tzz 100bde08 LIBCMTD:_initsect_.obj - 0003:00014860 __TI2?AVbad_exception@std@@ 100be860 LIBCMTD:frame.obj - 0003:00014874 __CTA2?AVbad_exception@std@@ 100be874 LIBCMTD:frame.obj - 0003:00014884 __CT??_R0?AVbad_exception@std@@@8??0bad_exception@std@@QAE@ABV01@@Z12 100be884 LIBCMTD:frame.obj - 0003:000148a4 __CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12 100be8a4 LIBCMTD:frame.obj - 0004:00000210 ___badioinfo 100c0210 LIBCMTD:ioinit.obj - 0004:00000260 ___security_cookie 100c0260 LIBCMTD:gs_cookie.obj - 0004:00000264 ___security_cookie_complement 100c0264 LIBCMTD:gs_cookie.obj - 0004:00000268 __crtDbgFlag 100c0268 LIBCMTD:dbgheap.obj - 0004:0000026c ___crtDebugFillThreshold 100c026c LIBCMTD:dbgheap.obj - 0004:00000274 __crtBreakAlloc 100c0274 LIBCMTD:dbgheap.obj - 0004:00000280 ___nullstring 100c0280 LIBCMTD:output.obj - 0004:00000284 ___wnullstring 100c0284 LIBCMTD:output.obj - 0004:0000028c ___flsindex 100c028c LIBCMTD:tidtable.obj - 0004:00000290 ___getvalueindex 100c0290 LIBCMTD:tidtable.obj - 0004:00000298 __sys_errlist 100c0298 LIBCMTD:syserr.obj - 0004:00000348 __sys_nerr 100c0348 LIBCMTD:syserr.obj - 0004:00000370 __iob 100c0370 LIBCMTD:_file.obj - 0004:00000670 __lookuptrailbytes 100c0670 LIBCMTD:read.obj - 0004:00000904 __pfnAllocHook 100c0904 LIBCMTD:dbghook.obj - 0004:00000908 __crtAssertBusy 100c0908 LIBCMTD:dbgrptt.obj - 0004:0000090c __CrtDbgMode 100c090c LIBCMTD:dbgrptt.obj - 0004:00000918 __CrtDbgFile 100c0918 LIBCMTD:dbgrptt.obj - 0004:00000930 ___initialmbcinfo 100c0930 LIBCMTD:mbctype.obj - 0004:00000b50 __mbctype 100c0b50 LIBCMTD:mbctype.obj - 0004:00000c58 __mbcasemap 100c0c58 LIBCMTD:mbctype.obj - 0004:00000d58 ___ptmbcinfo 100c0d58 LIBCMTD:mbctype.obj - 0004:00000f58 ___globallocalestatus 100c0f58 LIBCMTD:glstatus.obj - 0004:00000f5c ___clocalestr 100c0f5c LIBCMTD:nlsdata2.obj - 0004:00000f60 ___lc_time_c 100c0f60 LIBCMTD:nlsdata2.obj - 0004:00001110 ___initiallocinfo 100c1110 LIBCMTD:nlsdata2.obj - 0004:00001214 ___ptlocinfo 100c1214 LIBCMTD:nlsdata2.obj - 0004:00001218 ___initiallocalestructinfo 100c1218 LIBCMTD:nlsdata2.obj - 0004:00001224 __cfltcvt_tab 100c1224 LIBCMTD:cmiscdat.obj - 0004:00001260 __NLG_Destination 100c1260 LIBCMTD:exsup.obj - 0004:00001278 ___lconv_static_decimal 100c1278 LIBCMTD:lconv.obj - 0004:0000127c ___lconv_static_W_decimal 100c127c LIBCMTD:lconv.obj - 0004:00001280 ___lconv_c 100c1280 LIBCMTD:lconv.obj - 0004:000012d0 ___lconv 100c12d0 LIBCMTD:lconv.obj - 0004:000012e8 __pctype 100c12e8 LIBCMTD:ctype.obj - 0004:000012ec __pwctype 100c12ec LIBCMTD:ctype.obj - 0004:000012f8 __confh 100c12f8 LIBCMTD:initcon.obj - 0004:000012fc ___abort_behavior 100c12fc LIBCMTD:abort.obj - 0004:00001300 ??_R0?AVbad_exception@std@@@8 100c1300 LIBCMTD:frame.obj - 0004:00001328 ??_R0?AVexception@std@@@8 100c1328 LIBCMTD:frame.obj - 0004:00001350 ___mb_cur_max 100c1350 LIBCMTD:nlsdata1.obj - 0004:00001354 ___decimal_point 100c1354 LIBCMTD:nlsdata1.obj - 0004:00001358 ___decimal_point_length 100c1358 LIBCMTD:nlsdata1.obj - 0004:00001360 ??_R0?AVtype_info@@@8 100c1360 LIBCMTD:typinfo.obj - 0004:0000137c ??_R0?AVbad_cast@std@@@8 100c137c LIBCMTD:stdexcpt.obj - 0004:0000139c ??_R0?AVbad_typeid@std@@@8 100c139c LIBCMTD:stdexcpt.obj - 0004:000013c0 ??_R0?AV__non_rtti_object@std@@@8 100c13c0 LIBCMTD:stdexcpt.obj - 0004:00001528 __aenvptr 100c1528 LIBCMTD:dllcrt0.obj - 0004:0000152c __wenvptr 100c152c LIBCMTD:dllcrt0.obj - 0004:00001530 ___error_mode 100c1530 LIBCMTD:dllcrt0.obj - 0004:00001534 ___app_type 100c1534 LIBCMTD:dllcrt0.obj - 0004:0000153c ___pInvalidArgHandler 100c153c LIBCMTD:invarg.obj - 0004:00001554 ?_pfnDumpClient@@3P6AXPAXI@ZA 100c1554 LIBCMTD:dbgheap.obj - 0004:0000155c ___crtDebugCheckCount 100c155c LIBCMTD:dbgheap.obj - 0004:0000156c __newmode 100c156c LIBCMTD:_newmode.obj - 0004:00001570 _gpFlsAlloc 100c1570 LIBCMTD:tidtable.obj - 0004:00001574 _gpFlsGetValue 100c1574 LIBCMTD:tidtable.obj - 0004:00001578 _gpFlsSetValue 100c1578 LIBCMTD:tidtable.obj - 0004:0000157c _gpFlsFree 100c157c LIBCMTD:tidtable.obj - 0004:00001584 __cflush 100c1584 LIBCMTD:_file.obj - 0004:00001588 __umaskval 100c1588 LIBCMTD:crt0dat.obj - 0004:0000158c ___argc 100c158c LIBCMTD:crt0dat.obj - 0004:00001590 ___argv 100c1590 LIBCMTD:crt0dat.obj - 0004:00001594 ___wargv 100c1594 LIBCMTD:crt0dat.obj - 0004:00001598 __environ 100c1598 LIBCMTD:crt0dat.obj - 0004:0000159c ___initenv 100c159c LIBCMTD:crt0dat.obj - 0004:000015a0 __wenviron 100c15a0 LIBCMTD:crt0dat.obj - 0004:000015a4 ___winitenv 100c15a4 LIBCMTD:crt0dat.obj - 0004:000015a8 __pgmptr 100c15a8 LIBCMTD:crt0dat.obj - 0004:000015ac __wpgmptr 100c15ac LIBCMTD:crt0dat.obj - 0004:000015b0 __exitflag 100c15b0 LIBCMTD:crt0dat.obj - 0004:000015b4 __C_Termination_Done 100c15b4 LIBCMTD:crt0dat.obj - 0004:000015b8 __C_Exit_Done 100c15b8 LIBCMTD:crt0dat.obj - 0004:0000170c __crtheap 100c170c LIBCMTD:heapinit.obj - 0004:000018f0 ?_pnhHeap@@3P6AHI@ZA 100c18f0 LIBCMTD:handler.obj - 0004:000018f8 ___mbulinfo 100c18f8 LIBCMTD:mbctype.obj - 0004:00001904 ___mbcodepage 100c1904 LIBCMTD:mbctype.obj - 0004:00001908 ___ismbcodepage 100c1908 LIBCMTD:mbctype.obj - 0004:0000190c ___mblcid 100c190c LIBCMTD:mbctype.obj - 0004:0000191c __commode 100c191c LIBCMTD:ncommode.obj - 0004:0000244c ?__pInconsistency@@3P6AXXZA 100c244c LIBCMTD:hooks.obj - 0004:00002454 ___pPurecall 100c2454 LIBCMTD:inithelp.obj - 0004:00002470 ___lconv_static_null 100c2470 LIBCMTD:lconv.obj - 0004:00002474 ___lconv_static_W_null 100c2474 LIBCMTD:lconv.obj - 0004:00002478 ___locale_changed 100c2478 LIBCMTD:setlocal.obj - 0004:0000247c __stdbuf 100c247c LIBCMTD:_sftbuf.obj - 0004:00002488 __fmode 100c2488 LIBCMTD:txtmode.obj - 0004:000024ac ?pArgList@UnDecorator@@0PAVReplicator@@A 100c24ac LIBCMTD:undname.obj - 0004:000024b0 ?pZNameList@UnDecorator@@0PAVReplicator@@A 100c24b0 LIBCMTD:undname.obj - 0004:000024b4 ?pTemplateArgList@UnDecorator@@0PAVReplicator@@A 100c24b4 LIBCMTD:undname.obj - 0004:000024b8 ?gName@UnDecorator@@0PBDB 100c24b8 LIBCMTD:undname.obj - 0004:000024bc ?name@UnDecorator@@0PBDB 100c24bc LIBCMTD:undname.obj - 0004:000024c0 ?outputString@UnDecorator@@0PADA 100c24c0 LIBCMTD:undname.obj - 0004:000024c4 ?maxStringLength@UnDecorator@@0HA 100c24c4 LIBCMTD:undname.obj - 0004:000024c8 ?disableFlags@UnDecorator@@0KA 100c24c8 LIBCMTD:undname.obj - 0004:000024cc ?m_pGetParameter@UnDecorator@@0P6APADJ@ZA 100c24cc LIBCMTD:undname.obj - 0004:000024d0 ?fExplicitTemplateParams@UnDecorator@@0_NA 100c24d0 LIBCMTD:undname.obj - 0004:000024d1 ?fGetTemplateArgumentList@UnDecorator@@0_NA 100c24d1 LIBCMTD:undname.obj - 0004:00002540 ?nodes@?1??make@DNameStatusNode@@SAPAV2@W4DNameStatus@@@Z@4PAV2@A 100c2540 LIBCMTD:undname.obj - 0004:0000257c ??_B?1??make@DNameStatusNode@@SAPAV1@W4DNameStatus@@@Z@51 100c257c LIBCMTD:undname.obj - 0004:00002580 ___setlc_active 100c2580 - 0004:00002590 ___unguarded_readlc_active 100c2590 - 0004:00002594 __pfnReportHook 100c2594 - 0004:000025a4 __pReportHookListW 100c25a4 - 0004:000025a8 __pReportHookList 100c25a8 - 0004:000025ac __debugger_hook_dummy 100c25ac - 0004:000025b8 ___env_initialized 100c25b8 - 0004:000025c8 ___onexitend 100c25c8 - 0004:000025cc ___onexitbegin 100c25cc - 0004:000025d0 ___mbctype_initialized 100c25d0 - 0004:000025d4 __FPinit 100c25d4 - 0004:000025d8 ___dyn_tls_init_callback 100c25d8 - 0004:000025dc ___piob 100c25dc - 0004:00002920 __bufin 100c2920 - 0004:00003920 __nstream 100c3920 - 0004:00003924 __nhandle 100c3924 - 0004:00003980 ___pioinfo 100c3980 - 0004:00003a80 ___sse2_available 100c3a80 - 0004:00003a8c __acmdln 100c3a8c - 0005:00000000 __IMPORT_DESCRIPTOR_KERNEL32 100c4000 kernel32:KERNEL32.dll - 0005:00000014 __NULL_IMPORT_DESCRIPTOR 100c4014 kernel32:KERNEL32.dll - 0005:000001dc __imp__CreateFileA@28 100c41dc kernel32:KERNEL32.dll - 0005:000001e0 __imp__CloseHandle@4 100c41e0 kernel32:KERNEL32.dll - 0005:000001e4 __imp__CreateFileW@28 100c41e4 kernel32:KERNEL32.dll - 0005:000001e8 __imp__GetLastError@0 100c41e8 kernel32:KERNEL32.dll - 0005:000001ec __imp__ReadFile@20 100c41ec kernel32:KERNEL32.dll - 0005:000001f0 __imp__WriteFile@20 100c41f0 kernel32:KERNEL32.dll - 0005:000001f4 __imp__SetFilePointer@16 100c41f4 kernel32:KERNEL32.dll - 0005:000001f8 __imp__GetSystemTimeAsFileTime@4 100c41f8 kernel32:KERNEL32.dll - 0005:000001fc __imp__GetCurrentThreadId@0 100c41fc kernel32:KERNEL32.dll - 0005:00000200 __imp__DecodePointer@4 100c4200 kernel32:KERNEL32.dll - 0005:00000204 __imp__GetCommandLineA@0 100c4204 kernel32:KERNEL32.dll - 0005:00000208 __imp__IsProcessorFeaturePresent@4 100c4208 kernel32:KERNEL32.dll - 0005:0000020c __imp__LeaveCriticalSection@4 100c420c kernel32:KERNEL32.dll - 0005:00000210 __imp__EnterCriticalSection@4 100c4210 kernel32:KERNEL32.dll - 0005:00000214 __imp__InitializeCriticalSectionAndSpinCount@8 100c4214 kernel32:KERNEL32.dll - 0005:00000218 __imp__SetStdHandle@8 100c4218 kernel32:KERNEL32.dll - 0005:0000021c __imp__GetFileType@4 100c421c kernel32:KERNEL32.dll - 0005:00000220 __imp__SetHandleCount@4 100c4220 kernel32:KERNEL32.dll - 0005:00000224 __imp__GetStdHandle@4 100c4224 kernel32:KERNEL32.dll - 0005:00000228 __imp__GetStartupInfoW@4 100c4228 kernel32:KERNEL32.dll - 0005:0000022c __imp__DeleteCriticalSection@4 100c422c kernel32:KERNEL32.dll - 0005:00000230 __imp__TerminateProcess@8 100c4230 kernel32:KERNEL32.dll - 0005:00000234 __imp__GetCurrentProcess@0 100c4234 kernel32:KERNEL32.dll - 0005:00000238 __imp__UnhandledExceptionFilter@4 100c4238 kernel32:KERNEL32.dll - 0005:0000023c __imp__SetUnhandledExceptionFilter@4 100c423c kernel32:KERNEL32.dll - 0005:00000240 __imp__IsDebuggerPresent@0 100c4240 kernel32:KERNEL32.dll - 0005:00000244 __imp__EncodePointer@4 100c4244 kernel32:KERNEL32.dll - 0005:00000248 __imp__GetModuleFileNameW@12 100c4248 kernel32:KERNEL32.dll - 0005:0000024c __imp__HeapValidate@12 100c424c kernel32:KERNEL32.dll - 0005:00000250 __imp__IsBadReadPtr@8 100c4250 kernel32:KERNEL32.dll - 0005:00000254 __imp__TlsAlloc@0 100c4254 kernel32:KERNEL32.dll - 0005:00000258 __imp__TlsGetValue@4 100c4258 kernel32:KERNEL32.dll - 0005:0000025c __imp__TlsSetValue@8 100c425c kernel32:KERNEL32.dll - 0005:00000260 __imp__TlsFree@4 100c4260 kernel32:KERNEL32.dll - 0005:00000264 __imp__GetProcAddress@8 100c4264 kernel32:KERNEL32.dll - 0005:00000268 __imp__GetModuleHandleW@4 100c4268 kernel32:KERNEL32.dll - 0005:0000026c __imp__InterlockedIncrement@4 100c426c kernel32:KERNEL32.dll - 0005:00000270 __imp__SetLastError@4 100c4270 kernel32:KERNEL32.dll - 0005:00000274 __imp__InterlockedDecrement@4 100c4274 kernel32:KERNEL32.dll - 0005:00000278 __imp__GetCurrentThread@0 100c4278 kernel32:KERNEL32.dll - 0005:0000027c __imp__RtlUnwind@16 100c427c kernel32:KERNEL32.dll - 0005:00000280 __imp__MultiByteToWideChar@24 100c4280 kernel32:KERNEL32.dll - 0005:00000284 __imp__WideCharToMultiByte@32 100c4284 kernel32:KERNEL32.dll - 0005:00000288 __imp__GetConsoleCP@0 100c4288 kernel32:KERNEL32.dll - 0005:0000028c __imp__GetConsoleMode@8 100c428c kernel32:KERNEL32.dll - 0005:00000290 __imp__ExitProcess@4 100c4290 kernel32:KERNEL32.dll - 0005:00000294 __imp__GetModuleFileNameA@12 100c4294 kernel32:KERNEL32.dll - 0005:00000298 __imp__FreeEnvironmentStringsW@4 100c4298 kernel32:KERNEL32.dll - 0005:0000029c __imp__GetEnvironmentStringsW@0 100c429c kernel32:KERNEL32.dll - 0005:000002a0 __imp__HeapCreate@12 100c42a0 kernel32:KERNEL32.dll - 0005:000002a4 __imp__HeapDestroy@4 100c42a4 kernel32:KERNEL32.dll - 0005:000002a8 __imp__QueryPerformanceCounter@4 100c42a8 kernel32:KERNEL32.dll - 0005:000002ac __imp__GetTickCount@0 100c42ac kernel32:KERNEL32.dll - 0005:000002b0 __imp__GetCurrentProcessId@0 100c42b0 kernel32:KERNEL32.dll - 0005:000002b4 __imp__FatalAppExitA@8 100c42b4 kernel32:KERNEL32.dll - 0005:000002b8 __imp__OutputDebugStringA@4 100c42b8 kernel32:KERNEL32.dll - 0005:000002bc __imp__WriteConsoleW@20 100c42bc kernel32:KERNEL32.dll - 0005:000002c0 __imp__OutputDebugStringW@4 100c42c0 kernel32:KERNEL32.dll - 0005:000002c4 __imp__SetConsoleCtrlHandler@8 100c42c4 kernel32:KERNEL32.dll - 0005:000002c8 __imp__LoadLibraryW@4 100c42c8 kernel32:KERNEL32.dll - 0005:000002cc __imp__HeapAlloc@12 100c42cc kernel32:KERNEL32.dll - 0005:000002d0 __imp__HeapReAlloc@16 100c42d0 kernel32:KERNEL32.dll - 0005:000002d4 __imp__HeapSize@12 100c42d4 kernel32:KERNEL32.dll - 0005:000002d8 __imp__HeapQueryInformation@20 100c42d8 kernel32:KERNEL32.dll - 0005:000002dc __imp__HeapFree@12 100c42dc kernel32:KERNEL32.dll - 0005:000002e0 __imp__GetACP@0 100c42e0 kernel32:KERNEL32.dll - 0005:000002e4 __imp__GetOEMCP@0 100c42e4 kernel32:KERNEL32.dll - 0005:000002e8 __imp__GetCPInfo@8 100c42e8 kernel32:KERNEL32.dll - 0005:000002ec __imp__IsValidCodePage@4 100c42ec kernel32:KERNEL32.dll - 0005:000002f0 __imp__FlushFileBuffers@4 100c42f0 kernel32:KERNEL32.dll - 0005:000002f4 __imp__FreeLibrary@4 100c42f4 kernel32:KERNEL32.dll - 0005:000002f8 __imp__InterlockedExchange@8 100c42f8 kernel32:KERNEL32.dll - 0005:000002fc __imp__GetLocaleInfoW@16 100c42fc kernel32:KERNEL32.dll - 0005:00000300 __imp__LCMapStringW@24 100c4300 kernel32:KERNEL32.dll - 0005:00000304 __imp__GetStringTypeW@16 100c4304 kernel32:KERNEL32.dll - 0005:00000308 __imp__SetEndOfFile@4 100c4308 kernel32:KERNEL32.dll - 0005:0000030c __imp__GetProcessHeap@0 100c430c kernel32:KERNEL32.dll - 0005:00000310 __imp__GetLocaleInfoA@16 100c4310 kernel32:KERNEL32.dll - 0005:00000314 __imp__IsValidLocale@8 100c4314 kernel32:KERNEL32.dll - 0005:00000318 __imp__EnumSystemLocalesA@8 100c4318 kernel32:KERNEL32.dll - 0005:0000031c __imp__GetUserDefaultLCID@0 100c431c kernel32:KERNEL32.dll - 0005:00000320 __imp__RaiseException@16 100c4320 kernel32:KERNEL32.dll - 0005:00000324 \177KERNEL32_NULL_THUNK_DATA 100c4324 kernel32:KERNEL32.dll - - entry point at 0002:00000b54 - diff --git a/org.simantics.modelica/FMUSolution/Debug/zlibwapi.pdb b/org.simantics.modelica/FMUSolution/Debug/zlibwapi.pdb deleted file mode 100644 index 8e6b155f..00000000 Binary files a/org.simantics.modelica/FMUSolution/Debug/zlibwapi.pdb and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/bin/7z.dll b/org.simantics.modelica/FMUSolution/FMISDK/bin/7z.dll deleted file mode 100644 index 7e629218..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/bin/7z.dll and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/bin/7z.exe b/org.simantics.modelica/FMUSolution/FMISDK/bin/7z.exe deleted file mode 100644 index f1f56e37..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/bin/7z.exe and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/bin/License.txt b/org.simantics.modelica/FMUSolution/FMISDK/bin/License.txt deleted file mode 100644 index 44802a8a..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/bin/License.txt +++ /dev/null @@ -1,57 +0,0 @@ - 7-Zip - ~~~~~ - License for use and distribution - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - 7-Zip Copyright (C) 1999-2007 Igor Pavlov. - - Licenses for files are: - - 1) 7z.dll: GNU LGPL + unRAR restriction - 2) All other files: GNU LGPL - - The GNU LGPL + unRAR restriction means that you must follow both - GNU LGPL rules and unRAR restriction rules. - - - Note: - You can use 7-Zip on any computer, including a computer in a commercial - organization. You don't need to register or pay for 7-Zip. - - - GNU LGPL information - -------------------- - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - unRAR restriction - ----------------- - - The decompression engine for RAR archives was developed using source - code of unRAR program. - All copyrights to original unRAR code are owned by Alexander Roshal. - - The license for original unRAR code has the following restriction: - - The unRAR sources cannot be used to re-create the RAR compression algorithm, - which is proprietary. Distribution of modified unRAR sources in separate form - or as a part of other software is permitted, provided that it is clearly - stated in the documentation and source comments that the code may - not be used to develop a RAR (WinRAR) compatible archiver. - - - -- - Igor Pavlov diff --git a/org.simantics.modelica/FMUSolution/FMISDK/bin/fmusim_cs.exe b/org.simantics.modelica/FMUSolution/FMISDK/bin/fmusim_cs.exe deleted file mode 100644 index 7020feab..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/bin/fmusim_cs.exe and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/bin/fmusim_me.exe b/org.simantics.modelica/FMUSolution/FMISDK/bin/fmusim_me.exe deleted file mode 100644 index 41999eee..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/bin/fmusim_me.exe and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/doc/FmuSdk_reference.html b/org.simantics.modelica/FMUSolution/FMISDK/doc/FmuSdk_reference.html deleted file mode 100644 index 5f2e531f..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/doc/FmuSdk_reference.html +++ /dev/null @@ -1,210 +0,0 @@ - - - Documentation for FMU SDK 1.0.2 - - - -

FMU SDK 1.0.2

- The FMU SDK is a free software development kit provided by - QTronic. - The FMU SDK demonstrates basic use of Functional Mockup Units (FMUs) - as defined by the following specifications - - The FMI specifications are available from - here. - A short overview on FMUs and the FMI specification can be found - here. - The FMU SDK can also serve as starting point for developing applications - that create or process FMUs. -

- The FMU SDK contains the C sources for various discrete and continuous - FMU models, a batch file for compiling and zip'ing these models, - an XML parser for parsing the model description of an FMU and two simple - simulation programs that run a given FMU and output the result as CSV file. -

- The FMU SDK can be downloaded from - - http://www.qtronic.de/doc/fmusdk.zip. - For bug reports, questions or comments regarding the FMU SDK, please - mail to fmu@qtronic.de. - Questions or comments regarding the FMU specification should be sent to - info@functional-mockup-interface.org. - - -


- -

Table of Contents

- - -
-

Building and Installing the FMU SDK

-Downwload the FMU SDK from here, -and unzip in a directory where you have write access. -That directory is called FMUSDK_HOME below and may contain white space, such as in "C:\Program Files\fmusdk". -The FMU SDK contains only the C sources of the FMUs and the simulator, not the executables, -and should compile on all Windows platforms. -

-To build the FMUs and the simulator, double click on FMUSDK_HOME\src\build_all.bat. -This should create fmu files in FMUSDK_HOME\fmu\me and FMUSDK_HOME\fmu\cs, as well as two -simulators fmusim_me.exe and fmusim_cs.exe in FMUSDK_HOME\bin. -Compilation using build_all.bat requires that you have installed -Microsoft Visual Studio 2005 (VS8) or 2008 (VS9), for example the free Express Edition. -To compile with another compiler, adapt file build_all.bat. -


-

Simulating an FMU

-To run a given FMU, open a command shell in directory FMUSDK_HOME and run the command fmusim -
-fmusim fmi model.fmu tEnd h loggingOn csvSeparator
-  fmi ........... cs for co-simulation or me for model exchange, required
-  model.fmu ..... path to FMU, relative to current dir or absolute, required
-  tEnd .......... end  time of simulation, optional, defaults to 1.0 sec
-  h ............. step size of simulation, optional, defaults to 0.1 sec
-  loggingOn ..... 1 to activate logging,   optional, defaults to 0
-  csvSeparator .. c for comma, s for semicolon, optional, defaults to c
-
-This unzips the given FMU, parses the contained modelDescription.xml file, simulates -the FMU from t=0 to t=tEnd, and writes the solution to file 'result.csv'. The file -is written in CSV format (comma-separated values), using ';' to separate columns and -using ',' instead of '.' as decimal dot to print floating-point numbers. -To change the result file format, use the 'csv separator' option. -The logging option activates logging of the simulated FMU. The FMI specification does -not specify, what exactly to log in this case. However, when logging is switched on, -the sample FMUs of the FMU SDK log every single FMU function call. Moreover, the -fmusim simulators logs every step and every event that is detected. -

-Example command: -

-> fmusim me fmu/me/bouncingBall.fmu 5 0.1 0 s
-FMU Simulator: run 'fmu/bouncingBall.fmu' from t=0..5 with step size h=0.1, loggingOn=0, csv separator=';'
-Simulation from 0 to 5 terminated successful
-  steps ............ 51
-  fixed step size .. 0.1
-  time events ...... 0
-  state events ..... 14
-  step events ...... 0
-CSV file 'result.csv' written
-
-To plot the result file, open it e.g. in a spread-sheet program, such as Miscrosoft Excel or OpenOffice Calc. -The figure below shows the result of the above simulation when plotted using OpenOffice Calc 3.0. -Note that the height h of the bouncing ball as computed by fmusim becomes negative at the contact points, -while the true solution of the FMU does actually not contain negative height values. -This is not a limitation of the FMU, but of fmusim_me, which does not attempt to locate the -exact time of state events. -To improve this, either reduce the step size or add your own procedure for state-event location to fmusim_me. -

- - -


-

Creating your own FMUs

-The FMU SDK contains a few sample FMUs -
    -
  • dq the Dahlquist test function x = -k der(x)
  • -
  • inc increments an integer counter every second
  • -
  • values demonstrates the use of all scalar FMU data types
  • -
  • vanDerPol ODE with 2 continuous states
  • -
  • bouncingBall a bouncing ball that defines state events
  • -
-To implement your own FMU using the FMU SDK, create a directory - say xy - in FMUSDK_HOME\src\models, and create -files modelDescription.xml and xy.c there. -The names of the new directory and the .c file must be the same. The content of the .c file should -follow the existing FMU examples, see the comments in the example code. -The XML file must not contain the <implementation> -element and the closing </fmiModelDescription> tag, because this is added automatically during build. -When done with editing the xml file and xy.c, open a command shell in FMUSDK_HOME\src\model and run the -command build_fmu me xy to build an FMU for model exchange, or build_fmu cs xy to build an FMU for co-simulation. -This should create the FMU file xy.fmu in directory FMUSDK_HOME\fmu\me or FMUSDK_HOME\fmu\cs. -

-The figure below might help to create or process the XML file modelDescription.xml. -It shows all XML elements (without attributes) used in the schema files (XSD) for -model exchange and co-simulation. Notation: UML class diagram. - - -


- -

FMU SDK Revision history

-
    -
  • 07.02.2010, Version 1.0 -
      -
    • First release
    • -
    • demo FMI for Model Exchange 1.0
    • -
    -
  • -
  • 05.03.2010, Version 1.0.1 -
      -
    • demo FMI for Model Exchange 1.0
    • -
    • bug-fix in fmuTemplate.c: fmiSetString now copies the passed - string argument and fmiFreeModelInstance frees all string copies -
    • -
    • fmusim/main.c: removed strerror(GetLastError()) from error messages -
    • -
    -
  • -
  • 22.08.2011, Version 1.0.2 -
      -
    • demo FMI for Model Exchange 1.0 and FMI for Co-Simulation 1.0
    • -
    • added support for FMI for Co-Simulation 1.0 (standalone, no tool coupling)
    • -
    • bug-fix in fmusim/main.c: added missing calls to fmiTerminate and fmiFreeModelInstance
    • -
    -
  • -
- -

License conditions

-The FMU SDK is provided by QTronic under the -BSD License. -
-
-FMU SDK license 
-
-Copyright © 2008-2011, QTronic GmbH. All rights reserved.
-The FmuSdk is licensed by the copyright holder under the BSD License
-(http://www.opensource.org/licenses/bsd-license.html):
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-- Redistributions of source code must retain the above copyright notice,
-  this list of conditions and the following disclaimer.
-- Redistributions in binary form must reproduce the above copyright notice,
-  this list of conditions and the following disclaimer in the documentation
-  and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY QTRONIC GMBH "AS IS" AND ANY EXPRESS OR 
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
-IN NO EVENT SHALL QTRONIC GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, 
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
- -The following additional tools are distributed with the FMU SDK under their -respective licenses -
    -
  • 7z 4.57 - by Igor Pavlov. Used here to zip and unzip FMUs, - license is here.
  • -
  • eXpat 2.0.1 - by James Clark. Used here to parse the modelDescription.xml file of an FMU, - license is here.
  • -
-
- - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/doc/bouncingBallCalc.png b/org.simantics.modelica/FMUSolution/FMISDK/doc/bouncingBallCalc.png deleted file mode 100644 index 1944a623..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/doc/bouncingBallCalc.png and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/doc/fmu10-xml-schema.png b/org.simantics.modelica/FMUSolution/FMISDK/doc/fmu10-xml-schema.png deleted file mode 100644 index 772eaf6d..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/doc/fmu10-xml-schema.png and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/doc/fmus.jpg b/org.simantics.modelica/FMUSolution/FMISDK/doc/fmus.jpg deleted file mode 100644 index d7eec877..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/doc/fmus.jpg and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/doc/fmusdk_license.txt b/org.simantics.modelica/FMUSolution/FMISDK/doc/fmusdk_license.txt deleted file mode 100644 index e1ac0aa9..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/doc/fmusdk_license.txt +++ /dev/null @@ -1,24 +0,0 @@ - -FMU SDK license - -Copyright © 2008-2011, QTronic GmbH. All rights reserved. -The FmuSdk is licensed by the copyright holder under the BSD License -(http://www.opensource.org/licenses/bsd-license.html): -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: -- Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY QTRONIC GMBH "AS IS" AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -IN NO EVENT SHALL QTRONIC GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/FMISDK/fmu/Model.fmu b/org.simantics.modelica/FMUSolution/FMISDK/fmu/Model.fmu deleted file mode 100644 index ad3b03e2..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/fmu/Model.fmu and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/fmu/cs/bouncingBall.fmu b/org.simantics.modelica/FMUSolution/FMISDK/fmu/cs/bouncingBall.fmu deleted file mode 100644 index 7f009f62..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/fmu/cs/bouncingBall.fmu and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/fmu/cs/dq.fmu b/org.simantics.modelica/FMUSolution/FMISDK/fmu/cs/dq.fmu deleted file mode 100644 index 38e5c2bd..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/fmu/cs/dq.fmu and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/fmu/cs/inc.fmu b/org.simantics.modelica/FMUSolution/FMISDK/fmu/cs/inc.fmu deleted file mode 100644 index fbbd4490..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/fmu/cs/inc.fmu and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/fmu/cs/values.fmu b/org.simantics.modelica/FMUSolution/FMISDK/fmu/cs/values.fmu deleted file mode 100644 index 7b03aa41..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/fmu/cs/values.fmu and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/fmu/cs/vanDerPol.fmu b/org.simantics.modelica/FMUSolution/FMISDK/fmu/cs/vanDerPol.fmu deleted file mode 100644 index f36f4c22..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/fmu/cs/vanDerPol.fmu and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/fmu/me/bouncingBall.fmu b/org.simantics.modelica/FMUSolution/FMISDK/fmu/me/bouncingBall.fmu deleted file mode 100644 index f0847441..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/fmu/me/bouncingBall.fmu and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/fmu/me/dq.fmu b/org.simantics.modelica/FMUSolution/FMISDK/fmu/me/dq.fmu deleted file mode 100644 index 821fb564..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/fmu/me/dq.fmu and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/fmu/me/inc.fmu b/org.simantics.modelica/FMUSolution/FMISDK/fmu/me/inc.fmu deleted file mode 100644 index d9a5b7d6..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/fmu/me/inc.fmu and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/fmu/me/values.fmu b/org.simantics.modelica/FMUSolution/FMISDK/fmu/me/values.fmu deleted file mode 100644 index a450894c..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/fmu/me/values.fmu and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/fmu/me/vanDerPol.fmu b/org.simantics.modelica/FMUSolution/FMISDK/fmu/me/vanDerPol.fmu deleted file mode 100644 index e694c540..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/fmu/me/vanDerPol.fmu and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/fmusdk.zip b/org.simantics.modelica/FMUSolution/FMISDK/fmusdk.zip deleted file mode 100644 index 519bf018..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/fmusdk.zip and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/fmusim.bat b/org.simantics.modelica/FMUSolution/FMISDK/fmusim.bat deleted file mode 100644 index c9e575c1..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/fmusim.bat +++ /dev/null @@ -1,9 +0,0 @@ -@echo off -rem ------------------------------------------------------------ -rem To run a simulation, start this batch in this directory. -rem Example: fmusim me fmu/me/dq.fmu 0.3 0.1 1 c -rem To build simulators bin\*.exe and FMUs, run src\build_all.bat -rem ------------------------------------------------------------ - -set FMUSDK_HOME=. -if %1==me (bin\fmusim_me.exe %2 %3 %4 %5 %6) else bin\fmusim_cs.exe %2 %3 %4 %5 %6 diff --git a/org.simantics.modelica/FMUSolution/FMISDK/run_all.bat b/org.simantics.modelica/FMUSolution/FMISDK/run_all.bat deleted file mode 100644 index 8de848b8..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/run_all.bat +++ /dev/null @@ -1,50 +0,0 @@ -@echo off - -rem ------------------------------------------------------------ -rem This batch simulates all FMUs of the FmuSDK and stores -rem simulation results in CSV files, one per simulation run. -rem (c) 2011 QTronic GmbH -rem ------------------------------------------------------------ - -echo ----------------------------------------------------------- -echo Runnig all FMUs of the FmuSDK ... - -echo ----------------------------------------------------------- -call fmusim me fmu\me\bouncingBall.fmu 4 0.01 0 c -move /Y result.csv result_me_bouncingBall.csv - -echo ----------------------------------------------------------- -call fmusim cs fmu\cs\bouncingBall.fmu 4 0.01 0 c -move /Y result.csv result_cs_bouncingBall.csv - -echo ----------------------------------------------------------- -call fmusim me fmu\me\vanDerPol.fmu 5 0.1 0 c -move /Y result.csv result_me_vanDerPol.csv - -echo ----------------------------------------------------------- -call fmusim cs fmu\cs\vanDerPol.fmu 5 0.1 0 c -move /Y result.csv result_cs_vanDerPol.csv - -echo ----------------------------------------------------------- -call fmusim me fmu\me\dq.fmu 1 0.1 0 c -move /Y result.csv result_me_dq.csv - -echo ----------------------------------------------------------- -call fmusim cs fmu\cs\dq.fmu 1 0.1 0 c -move /Y result.csv result_cs_dq.csv - -echo ----------------------------------------------------------- -call fmusim me fmu\me\inc.fmu 15 15 0 c -move /Y result.csv result_me_inc.csv - -echo ----------------------------------------------------------- -call fmusim cs fmu\cs\inc.fmu 15 0.5 0 c -move /Y result.csv result_cs_inc.csv - -echo ----------------------------------------------------------- -call fmusim me fmu\me\values.fmu 12 12 0 c -move /Y result.csv result_me_values.csv - -echo ----------------------------------------------------------- -call fmusim cs fmu\cs\values.fmu 12 0.3 0 c -move /Y result.csv result_cs_values.csv diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/build_all.bat b/org.simantics.modelica/FMUSolution/FMISDK/src _original/build_all.bat deleted file mode 100644 index cdd75152..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/build_all.bat +++ /dev/null @@ -1,28 +0,0 @@ -@echo off - -rem ------------------------------------------------------------ -rem This batch builds both simulators and all FMUs of the FmuSDK -rem (c) 2011 QTronic GmbH -rem ------------------------------------------------------------ - -call build_fmusim_me -call build_fmusim_cs -echo ----------------------------------------------------------- -echo Making the FMUs of the FmuSDK ... -pushd models - -call build_fmu me dq -call build_fmu me inc -call build_fmu me values -call build_fmu me vanDerPol -call build_fmu me bouncingBall - -call build_fmu cs dq -call build_fmu cs inc -call build_fmu cs values -call build_fmu cs vanDerPol -call build_fmu cs bouncingBall - -popd - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/build_fmusim_cs.bat b/org.simantics.modelica/FMUSolution/FMISDK/src _original/build_fmusim_cs.bat deleted file mode 100644 index 6e90292c..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/build_fmusim_cs.bat +++ /dev/null @@ -1,48 +0,0 @@ -@echo off -rem ------------------------------------------------------------ -rem This batch builds the FMU simulator fmusim_cs.exe -rem (c) 2011 QTronic GmbH -rem ------------------------------------------------------------ - -echo ----------------------------------------------------------- -echo building fmusim_cs.exe - FMI for Co-Simulation 1.0 -echo ----------------------------------------------------------- - -rem save env variable settings -set PREV_PATH=%PATH% -if defined INCLUDE set PREV_INCLUDE=%INLUDE% -if defined LIB set PREV_LIB=%LIB% -if defined LIBPATH set PREV_LIBPATH=%LIBPATH% - -rem setup the compiler -if defined VS90COMNTOOLS (call "%VS90COMNTOOLS%\vsvars32.bat") else ^ -if defined VS80COMNTOOLS (call "%VS80COMNTOOLS%\vsvars32.bat") else ^ -goto noCompiler - -set SRC=fmusim_cs\main.c ..\shared\xml_parser.c ..\shared\stack.c ..\shared\sim_support.c -set INC=/Iinclude /I../shared /Ifmusim_cs -set OPTIONS=/DFMI_COSIMULATION /wd4090 /nologo - -rem create fmusim_cs.exe in the fmusim_cs dir -rem /wd4090 to disable warnings about different 'const' qualifiers -pushd co_simulation -cl %SRC% %INC% %OPTIONS% /Fefmusim_cs.exe /link ..\shared\libexpatMT.lib -del *.obj -popd -if not exist co_simulation\fmusim_cs.exe goto compileError -move /Y co_simulation\fmusim_cs.exe ..\bin -goto done - -:noCompiler -echo No Microsoft Visual C compiler found - -:compileError -echo build of fmusim_cs.exe failed - -:done -rem undo variable settings performed by vsvars32.bat -set PATH=%PREV_PATH% -if defined PREV_INCLUDE set INCLUDE=%PREV_INLUDE% -if defined PREV_LIB set LIB=%PREV_LIB% -if defined PREV_LIBPATH set LIBPATH=%PREV_LIBPATH% -echo done. diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/build_fmusim_me.bat b/org.simantics.modelica/FMUSolution/FMISDK/src _original/build_fmusim_me.bat deleted file mode 100644 index 0828428b..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/build_fmusim_me.bat +++ /dev/null @@ -1,51 +0,0 @@ -@echo off -rem ------------------------------------------------------------ -rem This batch builds the FMU simulator fmusim_me.exe -rem (c) 2011 QTronic GmbH -rem ------------------------------------------------------------ - -echo ----------------------------------------------------------- -echo building fmusim_me.exe - FMI for Model Exchange 1.0 -echo ----------------------------------------------------------- - -rem save env variable settings -set PREV_PATH=%PATH% -if defined INCLUDE set PREV_INCLUDE=%INLUDE% -if defined LIB set PREV_LIB=%LIB% -if defined LIBPATH set PREV_LIBPATH=%LIBPATH% - -rem setup the compiler -if defined VS90COMNTOOLS (call "%VS90COMNTOOLS%\vsvars32.bat") else ^ -if defined VS80COMNTOOLS (call "%VS80COMNTOOLS%\vsvars32.bat") else ^ -goto noCompiler - -set SRC=fmusim_me\main.c ..\shared\xml_parser.c ..\shared\stack.c ..\shared\sim_support.c -set INC=/Iinclude /I../shared /Ifmusim_me -set OPTIONS=/wd4090 /nologo - -rem create fmusim_me.exe in the fmusim_me dir -rem /wd4090 to disable warnings about different 'const' qualifiers -pushd model_exchange -cl %SRC% %INC% %OPTIONS% /Fefmusim_me.exe /link ..\shared\libexpatMT.lib -del *.obj -popd -if not exist model_exchange\fmusim_me.exe goto compileError -move /Y model_exchange\fmusim_me.exe ..\bin -goto done - -:noCompiler -echo No Microsoft Visual C compiler found - -:compileError -echo build of fmusim_me.exe failed - -:done -rem undo variable settings performed by vsvars32.bat -set PATH=%PREV_PATH% -if defined PREV_INCLUDE set INCLUDE=%PREV_INLUDE% -if defined PREV_LIB set LIB=%PREV_LIB% -if defined PREV_LIBPATH set LIBPATH=%PREV_LIBPATH% -echo done. - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/co_simulation/fmusim_cs/fmi_cs.h b/org.simantics.modelica/FMUSolution/FMISDK/src _original/co_simulation/fmusim_cs/fmi_cs.h deleted file mode 100644 index f446eac1..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/co_simulation/fmusim_cs/fmi_cs.h +++ /dev/null @@ -1,78 +0,0 @@ -/* ------------------------------------------------------------------------- - * fmi_cs.h - * Function types for all function of the "FMI for Co-Simulation 1.0" - * and a struct with the corresponding function pointers. - * Copyright 2011 QTronic GmbH. All rights reserved. - * ------------------------------------------------------------------------- - */ - -#ifndef FMI_CS_H -#define FMI_CS_H - -#include -#include "fmiFunctions.h" -#include "xml_parser.h" - -typedef const char* (*fGetTypesPlatform)(); -typedef const char* (*fGetVersion)(); -typedef fmiStatus (*fSetDebugLogging) (fmiComponent c, fmiBoolean loggingOn); -typedef fmiStatus (*fSetReal) (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiReal value[]); -typedef fmiStatus (*fSetInteger)(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger value[]); -typedef fmiStatus (*fSetBoolean)(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiBoolean value[]); -typedef fmiStatus (*fSetString) (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiString value[]); -typedef fmiStatus (*fGetReal) (fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiReal value[]); -typedef fmiStatus (*fGetInteger)(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiInteger value[]); -typedef fmiStatus (*fGetBoolean)(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiBoolean value[]); -typedef fmiStatus (*fGetString) (fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiString value[]); -typedef fmiComponent (*fInstantiateSlave) (fmiString instanceName, fmiString fmuGUID, fmiString fmuLocation, - fmiString mimeType, fmiReal timeout, fmiBoolean visible, fmiBoolean interactive, - fmiCallbackFunctions functions, fmiBoolean loggingOn); -typedef fmiStatus (*fInitializeSlave)(fmiComponent c, fmiReal tStart, fmiBoolean StopTimeDefined, fmiReal tStop); -typedef fmiStatus (*fTerminateSlave) (fmiComponent c); -typedef fmiStatus (*fResetSlave) (fmiComponent c); -typedef void (*fFreeSlaveInstance)(fmiComponent c); -typedef fmiStatus (*fSetRealInputDerivatives)(fmiComponent c, const fmiValueReference vr[], size_t nvr, - const fmiInteger order[], const fmiReal value[]); -typedef fmiStatus (*fGetRealOutputDerivatives)(fmiComponent c, const fmiValueReference vr[], size_t nvr, - const fmiInteger order[], fmiReal value[]); -typedef fmiStatus (*fCancelStep)(fmiComponent c); -typedef fmiStatus (*fDoStep)(fmiComponent c, fmiReal currentCommunicationPoint, - fmiReal communicationStepSize, fmiBoolean newStep); -typedef fmiStatus (*fGetStatus) (fmiComponent c, const fmiStatusKind s, fmiStatus* value); -typedef fmiStatus (*fGetRealStatus) (fmiComponent c, const fmiStatusKind s, fmiReal* value); -typedef fmiStatus (*fGetIntegerStatus)(fmiComponent c, const fmiStatusKind s, fmiInteger* value); -typedef fmiStatus (*fGetBooleanStatus)(fmiComponent c, const fmiStatusKind s, fmiBoolean* value); -typedef fmiStatus (*fGetStringStatus) (fmiComponent c, const fmiStatusKind s, fmiString* value); - -typedef struct { - ModelDescription* modelDescription; - HANDLE dllHandle; - fGetTypesPlatform getTypesPlatform; - fGetVersion getVersion; - fSetDebugLogging setDebugLogging; - fSetReal setReal; - fSetInteger setInteger; - fSetBoolean setBoolean; - fSetString setString; - fGetReal getReal; - fGetInteger getInteger; - fGetBoolean getBoolean; - fGetString getString; - fInstantiateSlave instantiateSlave; - fInitializeSlave initializeSlave; - fTerminateSlave terminateSlave; - fResetSlave resetSlave; - fFreeSlaveInstance freeSlaveInstance; - fGetRealOutputDerivatives getRealOutputDerivatives; - fSetRealInputDerivatives setRealInputDerivatives; - fDoStep doStep; - fCancelStep cancelStep; - fGetStatus getStatus; - fGetRealStatus getRealStatus; - fGetIntegerStatus getIntegerStatus; - fGetBooleanStatus getBooleanStatus; - fGetStringStatus getStringStatus; -} FMU; - -#endif // FMI_CS_H - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/co_simulation/fmusim_cs/main.c b/org.simantics.modelica/FMUSolution/FMISDK/src _original/co_simulation/fmusim_cs/main.c deleted file mode 100644 index f0673d11..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/co_simulation/fmusim_cs/main.c +++ /dev/null @@ -1,127 +0,0 @@ -/* ------------------------------------------------------------------------- - * main.c - * Implements simulation of a single FMU instance - * that implements the "FMI for Co-Simulation 1.0" interface. - * Command syntax: see printHelp() - * Simulates the given FMU from t = 0 .. tEnd with fixed step size h and - * writes the computed solution to file 'result.csv'. - * The CSV file (comma-separated values) may e.g. be plotted using - * OpenOffice Calc or Microsoft Excel. - * This progamm demonstrates basic use of an FMU. - * Real applications may use advanced master algorithms to cosimulate - * many FMUs, limit the numerical error using error estimation - * and back-stepping, provide graphical plotting utilities, debug support, - * and user control of parameter and start values, or perform a clean - * error handling (e.g. call freeSlaveInstance when a call to the fmu - * returns with error). All this is missing here. - * - * Revision history - * 22.08.2011 initial version released in FMU SDK 1.0.2 - * - * Free libraries and tools used to implement this simulator: - * - header files from the FMU specification - * - eXpat 2.0.1 XML parser, see http://expat.sourceforge.net - * - 7z.exe 4.57 zip and unzip tool, see http://www.7-zip.org - * Author: Jakob Mauss - * Copyright 2011 QTronic GmbH. All rights reserved. - * ------------------------------------------------------------------------- - */ - -#include -#include -#include -#include "fmi_cs.h" -#include "sim_support.h" - -FMU fmu; // the fmu to simulate - -// simulate the given FMU using the forward euler method. -// time events are processed by reducing step size to exactly hit tNext. -// state events are checked and fired only at the end of an Euler step. -// the simulator may therefore miss state events and fires state events typically too late. -static int simulate(FMU* fmu, double tEnd, double h, fmiBoolean loggingOn, char separator) { - double time; - double tStart = 0; // start time - const char* guid; // global unique id of the fmu - fmiComponent c; // instance of the fmu - fmiStatus fmiFlag; // return code of the fmu functions - const char* fmuLocation = NULL; // path to the fmu as URL, "file://C:\QTronic\sales" - const char* mimeType = "application/x-fmu-sharedlibrary"; // denotes tool in case of tool coupling - fmiReal timeout = 1000; // wait period in milli seconds, 0 for unlimited wait period" - fmiBoolean visible = fmiFalse; // no simulator user interface - fmiBoolean interactive = fmiFalse; // simulation run without user interaction - fmiCallbackFunctions callbacks; // called by the model during simulation - ModelDescription* md; // handle to the parsed XML file - int nSteps = 0; - FILE* file; - - // instantiate the fmu - md = fmu->modelDescription; - guid = getString(md, att_guid); - callbacks.logger = fmuLogger; - callbacks.allocateMemory = calloc; - callbacks.freeMemory = free; - callbacks.stepFinished = NULL; // fmiDoStep has to be carried out synchronously - c = fmu->instantiateSlave(getModelIdentifier(md), guid, fmuLocation, mimeType, - timeout, visible, interactive, callbacks, loggingOn); - if (!c) return error("could not instantiate model"); - - // open result file - if (!(file=fopen(RESULT_FILE, "w"))) { - printf("could not write %s because:\n", RESULT_FILE); - printf(" %s\n", strerror(errno)); - return 0; // failure - } - - // StopTimeDefined=fmiFalse means: ignore value of tEnd - fmiFlag = fmu->initializeSlave(c, tStart, fmiTrue, tEnd); - if (fmiFlag > fmiWarning) return error("could not initialize model"); - - // output solution for time t0 - outputRow(fmu, c, tStart, file, separator, TRUE); // output column names - outputRow(fmu, c, tStart, file, separator, FALSE); // output values - - // enter the simulation loop - time = tStart; - while (time < tEnd) { - fmiFlag = fmu->doStep(c, time, h, fmiTrue); - if (fmiFlag != fmiOK) return error("could not complete simulation of the model"); - time += h; - outputRow(fmu, c, time, file, separator, FALSE); // output values for this step - nSteps++; - } - - // end simulation - fmiFlag = fmu->terminateSlave(c); - fmu->freeSlaveInstance(c); - - // print simulation summary - printf("Simulation from %g to %g terminated successful\n", tStart, tEnd); - printf(" steps ............ %d\n", nSteps); - printf(" fixed step size .. %g\n", h); - return 1; // success -} - -int main(int argc, char *argv[]) { - const char* fmuFileName; - - // parse command line arguments and load the FMU - double tEnd = 1.0; - double h=0.1; - int loggingOn = 0; - char csv_separator = ';'; - parseArguments(argc, argv, &fmuFileName, &tEnd, &h, &loggingOn, &csv_separator); - loadFMU(fmuFileName); - - // run the simulation - printf("FMU Simulator: run '%s' from t=0..%g with step size h=%g, loggingOn=%d, csv separator='%c'\n", - fmuFileName, tEnd, h, loggingOn, csv_separator); - simulate(&fmu, tEnd, h, loggingOn, csv_separator); - printf("CSV file '%s' written\n", RESULT_FILE); - - // release FMU - FreeLibrary(fmu.dllHandle); - freeElement(fmu.modelDescription); - return EXIT_SUCCESS; -} - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/co_simulation/include/fmiFunctions.h b/org.simantics.modelica/FMUSolution/FMISDK/src _original/co_simulation/include/fmiFunctions.h deleted file mode 100644 index f4341025..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/co_simulation/include/fmiFunctions.h +++ /dev/null @@ -1,231 +0,0 @@ -#ifndef fmiFunctions_h -#define fmiFunctions_h - -/* This header file must be utilized when compiling a FMU. - It defines all functions of Co-Simulation Interface. - In order to have unique function names even if several FMUs - are compiled together (e.g. for embedded systems), every "real" function name - is constructed by prepending the function name by - "MODEL_IDENTIFIER" + "_" where "MODEL_IDENTIFIER" is the short name - of the model used as the name of the zip-file where the model is stored. - Therefore, the typical usage is: - - #define MODEL_IDENTIFIER MyModel - #include "fmiFunctions.h" - - As a result, a function that is defined as "fmiGetDerivatives" in this header file, - is actually getting the name "MyModel_fmiGetDerivatives". - - Revisions: - - November 4, 2010: Adapted to specification text: - o fmiGetModelTypesPlatform renamed to fmiGetTypesPlatform - o fmiInstantiateSlave: Argument GUID replaced by fmuGUID - Argument mimetype replaced by mimeType - o tabs replaced by spaces - - October 16, 2010: First public Version - - - Copyright © 2008-2010, MODELISAR consortium. All rights reserved. - This file is licensed by the copyright holders under the BSD License - (http://www.opensource.org/licenses/bsd-license.html): - - ---------------------------------------------------------------------------- - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ---------------------------------------------------------------------------- -*/ - -#include "fmiPlatformTypes.h" -#include - -/* Export fmi functions on Windows */ -#ifdef _MSC_VER -#define DllExport __declspec( dllexport ) -#else -#define DllExport -#endif - -/* Macros to construct the real function name - (prepend function name by MODEL_IDENTIFIER + "_") */ - -#define fmiPaste(a,b) a ## b -#define fmiPasteB(a,b) fmiPaste(a,b) -#define fmiFullName(name) fmiPasteB(MODEL_IDENTIFIER, name) - -/*************************************************** -Common Functions -****************************************************/ -#define fmiGetTypesPlatform fmiFullName(_fmiGetTypesPlatform) -#define fmiGetVersion fmiFullName(_fmiGetVersion) -#define fmiSetDebugLogging fmiFullName(_fmiSetDebugLogging) - -/*Data Exchange*/ -#define fmiSetReal fmiFullName(_fmiSetReal) -#define fmiSetInteger fmiFullName(_fmiSetInteger) -#define fmiSetBoolean fmiFullName(_fmiSetBoolean) -#define fmiSetString fmiFullName(_fmiSetString) - -#define fmiGetReal fmiFullName(_fmiGetReal) -#define fmiGetInteger fmiFullName(_fmiGetInteger) -#define fmiGetBoolean fmiFullName(_fmiGetBoolean) -#define fmiGetString fmiFullName(_fmiGetString) - -/*************************************************** -Functions for FMI for Co-Simulation -****************************************************/ -#define fmiInstantiateSlave fmiFullName(_fmiInstantiateSlave) -#define fmiInitializeSlave fmiFullName(_fmiInitializeSlave) -#define fmiTerminateSlave fmiFullName(_fmiTerminateSlave) -#define fmiResetSlave fmiFullName(_fmiResetSlave) -#define fmiFreeSlaveInstance fmiFullName(_fmiFreeSlaveInstance) -#define fmiSetRealInputDerivatives fmiFullName(_fmiSetRealInputDerivatives) -#define fmiGetRealOutputDerivatives fmiFullName(_fmiGetRealOutputDerivatives) -#define fmiDoStep fmiFullName(_fmiDoStep) -#define fmiCancelStep fmiFullName(_fmiCancelStep) -#define fmiGetStatus fmiFullName(_fmiGetStatus) -#define fmiGetRealStatus fmiFullName(_fmiGetRealStatus) -#define fmiGetIntegerStatus fmiFullName(_fmiGetIntegerStatus) -#define fmiGetBooleanStatus fmiFullName(_fmiGetBooleanStatus) -#define fmiGetStringStatus fmiFullName(_fmiGetStringStatus) - -/* Version number */ -#define fmiVersion "1.0" - -/* make sure all compiler use the same alignment policies for structures */ -#ifdef WIN32 -#pragma pack(push,8) -#endif - - -/* Type definitions */ - typedef enum {fmiOK, - fmiWarning, - fmiDiscard, - fmiError, - fmiFatal, - fmiPending} fmiStatus; - - typedef void (*fmiCallbackLogger) (fmiComponent c, fmiString instanceName, fmiStatus status, - fmiString category, fmiString message, ...); - typedef void* (*fmiCallbackAllocateMemory)(size_t nobj, size_t size); - typedef void (*fmiCallbackFreeMemory) (void* obj); - typedef void (*fmiStepFinished) (fmiComponent c, fmiStatus status); - - typedef struct { - fmiCallbackLogger logger; - fmiCallbackAllocateMemory allocateMemory; - fmiCallbackFreeMemory freeMemory; - fmiStepFinished stepFinished; - } fmiCallbackFunctions; - - typedef struct { - fmiBoolean iterationConverged; - fmiBoolean stateValueReferencesChanged; - fmiBoolean stateValuesChanged; - fmiBoolean terminateSimulation; - fmiBoolean upcomingTimeEvent; - fmiReal nextEventTime; - } fmiEventInfo; - -/* reset alignment policy to the one set before reading this file */ -#ifdef WIN32 -#pragma pack(pop) -#endif - -/*************************************************** -Common Functions -****************************************************/ - -/* Inquire version numbers of header files */ - DllExport const char* fmiGetTypesPlatform(); - DllExport const char* fmiGetVersion(); - - DllExport fmiStatus fmiSetDebugLogging (fmiComponent c, fmiBoolean loggingOn); - -/* Data Exchange Functions*/ - DllExport fmiStatus fmiGetReal (fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiReal value[]); - DllExport fmiStatus fmiGetInteger(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiInteger value[]); - DllExport fmiStatus fmiGetBoolean(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiBoolean value[]); - DllExport fmiStatus fmiGetString (fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiString value[]); - - DllExport fmiStatus fmiSetReal (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiReal value[]); - DllExport fmiStatus fmiSetInteger (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger value[]); - DllExport fmiStatus fmiSetBoolean (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiBoolean value[]); - DllExport fmiStatus fmiSetString (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiString value[]); - -/*************************************************** -Functions for FMI for Co-Simulation -****************************************************/ - -/* Creation and destruction of slave instances and setting debug status */ - DllExport fmiComponent fmiInstantiateSlave(fmiString instanceName, - fmiString fmuGUID, - fmiString fmuLocation, - fmiString mimeType, - fmiReal timeout, - fmiBoolean visible, - fmiBoolean interactive, - fmiCallbackFunctions functions, - fmiBoolean loggingOn); - - DllExport fmiStatus fmiInitializeSlave(fmiComponent c, - fmiReal tStart, - fmiBoolean StopTimeDefined, - fmiReal tStop); - - DllExport fmiStatus fmiTerminateSlave (fmiComponent c); - DllExport fmiStatus fmiResetSlave (fmiComponent c); - DllExport void fmiFreeSlaveInstance(fmiComponent c); - - DllExport fmiStatus fmiSetRealInputDerivatives(fmiComponent c, - const fmiValueReference vr[], - size_t nvr, - const fmiInteger order[], - const fmiReal value[]); - - DllExport fmiStatus fmiGetRealOutputDerivatives(fmiComponent c, - const fmiValueReference vr[], - size_t nvr, - const fmiInteger order[], - fmiReal value[]); - - DllExport fmiStatus fmiCancelStep(fmiComponent c); - DllExport fmiStatus fmiDoStep (fmiComponent c, - fmiReal currentCommunicationPoint, - fmiReal communicationStepSize, - fmiBoolean newStep); - - - typedef enum {fmiDoStepStatus, - fmiPendingStatus, - fmiLastSuccessfulTime} fmiStatusKind; - - DllExport fmiStatus fmiGetStatus (fmiComponent c, const fmiStatusKind s, fmiStatus* value); - DllExport fmiStatus fmiGetRealStatus (fmiComponent c, const fmiStatusKind s, fmiReal* value); - DllExport fmiStatus fmiGetIntegerStatus(fmiComponent c, const fmiStatusKind s, fmiInteger* value); - DllExport fmiStatus fmiGetBooleanStatus(fmiComponent c, const fmiStatusKind s, fmiBoolean* value); - DllExport fmiStatus fmiGetStringStatus (fmiComponent c, const fmiStatusKind s, fmiString* value); - - -#endif // fmiFunctions_h diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/co_simulation/include/fmiPlatformTypes.h b/org.simantics.modelica/FMUSolution/FMISDK/src _original/co_simulation/include/fmiPlatformTypes.h deleted file mode 100644 index 7916f792..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/co_simulation/include/fmiPlatformTypes.h +++ /dev/null @@ -1,73 +0,0 @@ -#ifndef fmiPlatformTypes_h -#define fmiPlatformTypes_h - -/* Standard header file to define the argument types of the - functions of the Model Execution Interface. - This header file must be utilized both by the model and - by the simulation engine. - - Revisions: - - October 2010: First public Version - - - Copyright © 2008-2010, MODELISAR consortium. All rights reserved. - This file is licensed by the copyright holders under the BSD License - (http://www.opensource.org/licenses/bsd-license.html): - - - ---------------------------------------------------------------------------- - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ---------------------------------------------------------------------------- -*/ - -/* Platform (combination of machine, compiler, operating system) */ -#define fmiPlatform "standard32" - -/* Type definitions of variables passed as arguments - Version "standard32" means: - - fmiComponent : 32 bit pointer - fmiValueReference: 32 bit - fmiReal : 64 bit - fmiInteger : 32 bit - fmiBoolean : 8 bit - fmiString : 32 bit pointer - -*/ - typedef void* fmiComponent; - typedef unsigned int fmiValueReference; - typedef double fmiReal ; - typedef int fmiInteger; - typedef char fmiBoolean; - typedef const char* fmiString ; - -/* Values for fmiBoolean */ -#define fmiTrue 1 -#define fmiFalse 0 - -/* Undefined value for fmiValueReference (largest unsigned int value) */ -#define fmiUndefinedValueReference (fmiValueReference)(-1) - -#endif diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/model_exchange/fmusim_me/fmi_me.h b/org.simantics.modelica/FMUSolution/FMISDK/src _original/model_exchange/fmusim_me/fmi_me.h deleted file mode 100644 index f1152455..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/model_exchange/fmusim_me/fmi_me.h +++ /dev/null @@ -1,89 +0,0 @@ -/* ------------------------------------------------------------------------- - * fmi_me.h - * Function types for all function of the "FMI for Model Exchange 1.0" - * and a struct with the corresponding function pointers. - * Copyright 2011 QTronic GmbH. All rights reserved. - * ------------------------------------------------------------------------- - */ - -#ifndef FMI_ME_H -#define FMI_ME_H - -#include -#include "fmiModelFunctions.h" -#include "xml_parser.h" - -typedef const char* (*fGetModelTypesPlatform)(); -typedef const char* (*fGetVersion)(); -typedef fmiComponent (*fInstantiateModel)(fmiString instanceName, fmiString GUID, - fmiCallbackFunctions functions, fmiBoolean loggingOn); -typedef void (*fFreeModelInstance) (fmiComponent c); -typedef fmiStatus (*fSetDebugLogging) (fmiComponent c, fmiBoolean loggingOn); -typedef fmiStatus (*fSetTime) (fmiComponent c, fmiReal time); -typedef fmiStatus (*fSetContinuousStates)(fmiComponent c, const fmiReal x[], size_t nx); -typedef fmiStatus (*fCompletedIntegratorStep)(fmiComponent c, fmiBoolean* callEventUpdate); -typedef fmiStatus (*fSetReal) (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiReal value[]); -typedef fmiStatus (*fSetInteger)(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger value[]); -typedef fmiStatus (*fSetBoolean)(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiBoolean value[]); -typedef fmiStatus (*fSetString) (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiString value[]); -typedef fmiStatus (*fInitialize)(fmiComponent c, fmiBoolean toleranceControlled, - fmiReal relativeTolerance, fmiEventInfo* eventInfo); -typedef fmiStatus (*fGetDerivatives) (fmiComponent c, fmiReal derivatives[] , size_t nx); -typedef fmiStatus (*fGetEventIndicators)(fmiComponent c, fmiReal eventIndicators[], size_t ni); -typedef fmiStatus (*fGetReal) (fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiReal value[]); -typedef fmiStatus (*fGetInteger)(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiInteger value[]); -typedef fmiStatus (*fGetBoolean)(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiBoolean value[]); -typedef fmiStatus (*fGetString) (fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiString value[]); -typedef fmiStatus (*fEventUpdate) (fmiComponent c, fmiBoolean intermediateResults, fmiEventInfo* eventInfo); -typedef fmiStatus (*fGetContinuousStates) (fmiComponent c, fmiReal states[], size_t nx); -typedef fmiStatus (*fGetNominalContinuousStates)(fmiComponent c, fmiReal x_nominal[], size_t nx); -typedef fmiStatus (*fGetStateValueReferences) (fmiComponent c, fmiValueReference vrx[], size_t nx); -typedef fmiStatus (*fTerminate) (fmiComponent c); - -typedef struct { - ModelDescription* modelDescription; - HANDLE dllHandle; - fGetModelTypesPlatform getModelTypesPlatform; - fGetVersion getVersion; - fInstantiateModel instantiateModel; - fFreeModelInstance freeModelInstance; - fSetDebugLogging setDebugLogging; - fSetTime setTime; - fSetContinuousStates setContinuousStates; - fCompletedIntegratorStep completedIntegratorStep; - fSetReal setReal; - fSetInteger setInteger; - fSetBoolean setBoolean; - fSetString setString; - fInitialize initialize; - fGetDerivatives getDerivatives; - fGetEventIndicators getEventIndicators; - fGetReal getReal; - fGetInteger getInteger; - fGetBoolean getBoolean; - fGetString getString; - fEventUpdate eventUpdate; - fGetContinuousStates getContinuousStates; - fGetNominalContinuousStates getNominalContinuousStates; - fGetStateValueReferences getStateValueReferences; - fTerminate terminate; -/* - fInstantiateSlave instantiateSlave; - fInitializeSlave initializeSlave; - fTerminateSlave terminateSlave; - fResetSlave resetSlave; - fFreeSlaveInstance freeSlaveInstance; - fGetRealOutputDerivatives getRealOutputDerivatives; - fSetRealInputDerivatives setRealInputDerivatives; - fDoStep doStep; - fCancelStep cancelStep; - fGetStatus getStatus; - fGetRealStatus getRealStatus; - fGetIntegerStatus getIntegerStatus; - fGetBooleanStatus getBooleanStatus; - fGetStringStatus getStringStatus; -*/ -} FMU; - -#endif // FMI_ME_H - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/model_exchange/fmusim_me/main.c b/org.simantics.modelica/FMUSolution/FMISDK/src _original/model_exchange/fmusim_me/main.c deleted file mode 100644 index d911fa90..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/model_exchange/fmusim_me/main.c +++ /dev/null @@ -1,233 +0,0 @@ -/* ------------------------------------------------------------------------- - * main.c - * Implements simulation of a single FMU instance using the forward Euler - * method for numerical integration. - * Command syntax: see printHelp() - * Simulates the given FMU from t = 0 .. tEnd with fixed step size h and - * writes the computed solution to file 'result.csv'. - * The CSV file (comma-separated values) may e.g. be plotted using - * OpenOffice Calc or Microsoft Excel. - * This progamm demonstrates basic use of an FMU. - * Real applications may use advanced numerical solvers instead, means to - * exactly locate state events in time, graphical plotting utilities, support - * for coexecution of many FMUs, stepping and debug support, user control - * of parameter and start values etc. - * All this is missing here. - * - * Revision history - * 07.02.2010 initial version released in FMU SDK 1.0 - * 05.03.2010 bug fix: removed strerror(GetLastError()) from error messages - * 11.06.2010 bug fix: replaced win32 API call to OpenFile in getFmuPath - * which restricted path length to FMU to 128 chars. New limit is MAX_PATH. - * 15.07.2010 fixed wrong label in xml parser: deault instead of default - * 13.12.2010 added check for undefined 'declared type' to xml parser - * 31.07.2011 bug fix: added missing freeModelInstance(c) - * 31.07.2011 bug fix: added missing terminate(c) - * - * Free libraries and tools used to implement this simulator: - * - header files from the FMU specification - * - eXpat 2.0.1 XML parser, see http://expat.sourceforge.net - * - 7z.exe 4.57 zip and unzip tool, see http://www.7-zip.org - * Author: Jakob Mauss - * Copyright 2011 QTronic GmbH. All rights reserved. - * ------------------------------------------------------------------------- - */ - -#include -#include -#include "fmi_me.h" -#include "sim_support.h" - -FMU fmu; // the fmu to simulate - -// simulate the given FMU using the forward euler method. -// time events are processed by reducing step size to exactly hit tNext. -// state events are checked and fired only at the end of an Euler step. -// the simulator may therefore miss state events and fires state events typically too late. -static int simulate(FMU* fmu, double tEnd, double h, fmiBoolean loggingOn, char separator) { - int i, n; - double dt, tPre; - fmiBoolean timeEvent, stateEvent, stepEvent; - double time; - int nx; // number of state variables - int nz; // number of state event indicators - double *x; // continuous states - double *xdot; // the crresponding derivatives in same order - double *z = NULL; // state event indicators - double *prez = NULL; // previous values of state event indicators - fmiEventInfo eventInfo; // updated by calls to initialize and eventUpdate - ModelDescription* md; // handle to the parsed XML file - const char* guid; // global unique id of the fmu - fmiCallbackFunctions callbacks; // called by the model during simulation - fmiComponent c; // instance of the fmu - fmiStatus fmiFlag; // return code of the fmu functions - fmiReal t0 = 0; // start time - fmiBoolean toleranceControlled = fmiFalse; - int nSteps = 0; - int nTimeEvents = 0; - int nStepEvents = 0; - int nStateEvents = 0; - FILE* file; - - // instantiate the fmu - md = fmu->modelDescription; - guid = getString(md, att_guid); - callbacks.logger = fmuLogger; - callbacks.allocateMemory = calloc; - callbacks.freeMemory = free; - c = fmu->instantiateModel(getModelIdentifier(md), guid, callbacks, loggingOn); - if (!c) return error("could not instantiate model"); - - // allocate memory - nx = getNumberOfStates(md); - nz = getNumberOfEventIndicators(md); - x = (double *) calloc(nx, sizeof(double)); - xdot = (double *) calloc(nx, sizeof(double)); - if (nz>0) { - z = (double *) calloc(nz, sizeof(double)); - prez = (double *) calloc(nz, sizeof(double)); - } - if (!x || !xdot || nz>0 && (!z || !prez)) return error("out of memory"); - - // open result file - if (!(file=fopen(RESULT_FILE, "w"))) { - printf("could not write %s because:\n", RESULT_FILE); - printf(" %s\n", strerror(errno)); - return 0; // failure - } - - // set the start time and initialize - time = t0; - fmiFlag = fmu->setTime(c, t0); - if (fmiFlag > fmiWarning) return error("could not set time"); - fmiFlag = fmu->initialize(c, toleranceControlled, t0, &eventInfo); - if (fmiFlag > fmiWarning) return error("could not initialize model"); - if (eventInfo.terminateSimulation) { - printf("model requested termination at init"); - tEnd = time; - } - - // output solution for time t0 - outputRow(fmu, c, t0, file, separator, TRUE); // output column names - outputRow(fmu, c, t0, file, separator, FALSE); // output values - - // enter the simulation loop - while (time < tEnd) { - // get current state and derivatives - fmiFlag = fmu->getContinuousStates(c, x, nx); - if (fmiFlag > fmiWarning) return error("could not retrieve states"); - fmiFlag = fmu->getDerivatives(c, xdot, nx); - if (fmiFlag > fmiWarning) return error("could not retrieve derivatives"); - - // advance time - tPre = time; - time = min(time+h, tEnd); - timeEvent = eventInfo.upcomingTimeEvent && eventInfo.nextEventTime < time; - if (timeEvent) time = eventInfo.nextEventTime; - dt = time - tPre; - fmiFlag = fmu->setTime(c, time); - if (fmiFlag > fmiWarning) error("could not set time"); - - // perform one step - for (i=0; isetContinuousStates(c, x, nx); - if (fmiFlag > fmiWarning) return error("could not set states"); - if (loggingOn) printf("Step %d to t=%.16g\n", nSteps, time); - - // Check for step event, e.g. dynamic state selection - fmiFlag = fmu->completedIntegratorStep(c, &stepEvent); - if (fmiFlag > fmiWarning) return error("could not complete intgrator step"); - - // Check for state event - for (i=0; igetEventIndicators(c, z, nz); - if (fmiFlag > fmiWarning) return error("could not retrieve event indicators"); - stateEvent = FALSE; - for (i=0; i0 && z[i]<0) ? "-\\-" : "-/-", i, time); - } - if (stepEvent) { - nStepEvents++; - if (loggingOn) printf("step event at t=%.16g\n", time); - } - - // event iteration in one step, ignoring intermediate results - fmiFlag = fmu->eventUpdate(c, fmiFalse, &eventInfo); - if (fmiFlag > fmiWarning) return error("could not perform event update"); - - // terminate simulation, if requested by the model - if (eventInfo.terminateSimulation) { - printf("model requested termination at t=%.16g\n", time); - break; // success - } - - // check for change of value of states - if (eventInfo.stateValuesChanged && loggingOn) { - printf("state values changed at t=%.16g\n", time); - } - - // check for selection of new state variables - if (eventInfo.stateValueReferencesChanged && loggingOn) { - printf("new state variables selected at t=%.16g\n", time); - } - - } // if event - outputRow(fmu, c, time, file, separator, FALSE); // output values for this step - nSteps++; - } // while - - // cleanup - if(! eventInfo.terminateSimulation) fmu->terminate(c); - fmu->freeModelInstance(c); - fclose(file); - if (x!=NULL) free(x); - if (xdot!= NULL) free(xdot); - if (z!= NULL) free(z); - if (prez!= NULL) free(prez); - - // print simulation summary - printf("Simulation from %g to %g terminated successful\n", t0, tEnd); - printf(" steps ............ %d\n", nSteps); - printf(" fixed step size .. %g\n", h); - printf(" time events ...... %d\n", nTimeEvents); - printf(" state events ..... %d\n", nStateEvents); - printf(" step events ...... %d\n", nStepEvents); - - return 1; // success -} - -int main(int argc, char *argv[]) { - const char* fmuFileName; - - // parse command line arguments and load the FMU - double tEnd = 1.0; - double h=0.1; - int loggingOn = 0; - char csv_separator = ';'; - parseArguments(argc, argv, &fmuFileName, &tEnd, &h, &loggingOn, &csv_separator); - loadFMU(fmuFileName); - - // run the simulation - printf("FMU Simulator: run '%s' from t=0..%g with step size h=%g, loggingOn=%d, csv separator='%c'\n", - fmuFileName, tEnd, h, loggingOn, csv_separator); - simulate(&fmu, tEnd, h, loggingOn, csv_separator); - printf("CSV file '%s' written\n", RESULT_FILE); - - // release FMU - FreeLibrary(fmu.dllHandle); - freeElement(fmu.modelDescription); - return EXIT_SUCCESS; -} diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/model_exchange/include/fmiModelFunctions.h b/org.simantics.modelica/FMUSolution/FMISDK/src _original/model_exchange/include/fmiModelFunctions.h deleted file mode 100644 index e2047724..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/model_exchange/include/fmiModelFunctions.h +++ /dev/null @@ -1,210 +0,0 @@ -#ifndef fmiModelFunctions_h -#define fmiModelFunctions_h - -/* This header file must be utilized when compiling a model. - It defines all functions of the Model Execution Interface. - In order to have unique function names even if several models - are compiled together (e.g. for embedded systems), every "real" function name - is constructed by prepending the function name by - "MODEL_IDENTIFIER" + "_" where "MODEL_IDENTIFIER" is the short name - of the model used as the name of the zip-file where the model is stored. - Therefore, the typical usage is: - - #define MODEL_IDENTIFIER MyModel - #include "fmiModelFunctions.h" - - As a result, a function that is defined as "fmiGetDerivatives" in this header file, - is actually getting the name "MyModel_fmiGetDerivatives". - - Revisions: - - Jan. 20, 2010: stateValueReferencesChanged added to struct fmiEventInfo (ticket #27) - (by M. Otter, DLR) - Added WIN32 pragma to define the struct layout (ticket #34) - (by J. Mauss, QTronic) - - Jan. 4, 2010: Removed argument intermediateResults from fmiInitialize - Renamed macro fmiGetModelFunctionsVersion to fmiGetVersion - Renamed macro fmiModelFunctionsVersion to fmiVersion - Replaced fmiModel by fmiComponent in decl of fmiInstantiateModel - (by J. Mauss, QTronic) - - Dec. 17, 2009: Changed extension "me" to "fmi" (by Martin Otter, DLR). - - Dez. 14, 2009: Added eventInfo to meInitialize and added - meGetNominalContinuousStates (by Martin Otter, DLR) - - Sept. 9, 2009: Added DllExport (according to Peter Nilsson's suggestion) - (by A. Junghanns, QTronic) - - Sept. 9, 2009: Changes according to FMI-meeting on July 21: - meInquireModelTypesVersion -> meGetModelTypesPlatform - meInquireModelFunctionsVersion -> meGetModelFunctionsVersion - meSetStates -> meSetContinuousStates - meGetStates -> meGetContinuousStates - removal of meInitializeModelClass - removal of meGetTime - change of arguments of meInstantiateModel - change of arguments of meCompletedIntegratorStep - (by Martin Otter, DLR): - - July 19, 2009: Added "me" as prefix to file names (by Martin Otter, DLR). - - March 2, 2009: Changed function definitions according to the last design - meeting with additional improvements (by Martin Otter, DLR). - - Dec. 3 , 2008: First version by Martin Otter (DLR) and Hans Olsson (Dynasim). - - - Copyright © 2008-2009, MODELISAR consortium. All rights reserved. - This file is licensed by the copyright holders under the BSD License - (http://www.opensource.org/licenses/bsd-license.html): - - ---------------------------------------------------------------------------- - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ---------------------------------------------------------------------------- - - with the extension: - - You may distribute or publicly perform any modification only under the - terms of this license. -*/ - -#include "fmiModelTypes.h" -#include - -/* Export fmi functions on Windows */ -#ifdef _MSC_VER -#define DllExport __declspec( dllexport ) -#else -#define DllExport -#endif - -/* Macros to construct the real function name - (prepend function name by MODEL_IDENTIFIER + "_") */ - -#define fmiPaste(a,b) a ## b -#define fmiPasteB(a,b) fmiPaste(a,b) -#define fmiFullName(name) fmiPasteB(MODEL_IDENTIFIER, name) - -#define fmiGetModelTypesPlatform fmiFullName(_fmiGetModelTypesPlatform) -#define fmiGetVersion fmiFullName(_fmiGetVersion) -#define fmiInstantiateModel fmiFullName(_fmiInstantiateModel) -#define fmiFreeModelInstance fmiFullName(_fmiFreeModelInstance) -#define fmiSetDebugLogging fmiFullName(_fmiSetDebugLogging) -#define fmiSetTime fmiFullName(_fmiSetTime) -#define fmiSetContinuousStates fmiFullName(_fmiSetContinuousStates) -#define fmiCompletedIntegratorStep fmiFullName(_fmiCompletedIntegratorStep) -#define fmiSetReal fmiFullName(_fmiSetReal) -#define fmiSetInteger fmiFullName(_fmiSetInteger) -#define fmiSetBoolean fmiFullName(_fmiSetBoolean) -#define fmiSetString fmiFullName(_fmiSetString) -#define fmiInitialize fmiFullName(_fmiInitialize) -#define fmiGetDerivatives fmiFullName(_fmiGetDerivatives) -#define fmiGetEventIndicators fmiFullName(_fmiGetEventIndicators) -#define fmiGetReal fmiFullName(_fmiGetReal) -#define fmiGetInteger fmiFullName(_fmiGetInteger) -#define fmiGetBoolean fmiFullName(_fmiGetBoolean) -#define fmiGetString fmiFullName(_fmiGetString) -#define fmiEventUpdate fmiFullName(_fmiEventUpdate) -#define fmiGetContinuousStates fmiFullName(_fmiGetContinuousStates) -#define fmiGetNominalContinuousStates fmiFullName(_fmiGetNominalContinuousStates) -#define fmiGetStateValueReferences fmiFullName(_fmiGetStateValueReferences) -#define fmiTerminate fmiFullName(_fmiTerminate) - - -/* Version number */ -#define fmiVersion "1.0" - -/* Inquire version numbers of header files */ - DllExport const char* fmiGetModelTypesPlatform(); - DllExport const char* fmiGetVersion(); - -/* make sure all compiler use the same alignment policies for structures */ -#ifdef WIN32 -#pragma pack(push,8) -#endif - -/* Type definitions */ - typedef enum {fmiOK, - fmiWarning, - fmiDiscard, - fmiError, - fmiFatal} fmiStatus; - - typedef void (*fmiCallbackLogger) (fmiComponent c, fmiString instanceName, fmiStatus status, - fmiString category, fmiString message, ...); - typedef void* (*fmiCallbackAllocateMemory)(size_t nobj, size_t size); - typedef void (*fmiCallbackFreeMemory) (void* obj); - - typedef struct { - fmiCallbackLogger logger; - fmiCallbackAllocateMemory allocateMemory; - fmiCallbackFreeMemory freeMemory; - } fmiCallbackFunctions; - - typedef struct { - fmiBoolean iterationConverged; - fmiBoolean stateValueReferencesChanged; - fmiBoolean stateValuesChanged; - fmiBoolean terminateSimulation; - fmiBoolean upcomingTimeEvent; - fmiReal nextEventTime; - } fmiEventInfo; - -/* reset alignment policy to the one set before reading this file */ -#ifdef WIN32 -#pragma pack(pop) -#endif - -/* Creation and destruction of model instances and setting debug status */ - DllExport fmiComponent fmiInstantiateModel (fmiString instanceName, - fmiString GUID, - fmiCallbackFunctions functions, - fmiBoolean loggingOn); - DllExport void fmiFreeModelInstance(fmiComponent c); - DllExport fmiStatus fmiSetDebugLogging (fmiComponent c, fmiBoolean loggingOn); - - -/* Providing independent variables and re-initialization of caching */ - DllExport fmiStatus fmiSetTime (fmiComponent c, fmiReal time); - DllExport fmiStatus fmiSetContinuousStates (fmiComponent c, const fmiReal x[], size_t nx); - DllExport fmiStatus fmiCompletedIntegratorStep(fmiComponent c, fmiBoolean* callEventUpdate); - DllExport fmiStatus fmiSetReal (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiReal value[]); - DllExport fmiStatus fmiSetInteger (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger value[]); - DllExport fmiStatus fmiSetBoolean (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiBoolean value[]); - DllExport fmiStatus fmiSetString (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiString value[]); - - -/* Evaluation of the model equations */ - DllExport fmiStatus fmiInitialize(fmiComponent c, fmiBoolean toleranceControlled, - fmiReal relativeTolerance, fmiEventInfo* eventInfo); - - DllExport fmiStatus fmiGetDerivatives (fmiComponent c, fmiReal derivatives[] , size_t nx); - DllExport fmiStatus fmiGetEventIndicators(fmiComponent c, fmiReal eventIndicators[], size_t ni); - - DllExport fmiStatus fmiGetReal (fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiReal value[]); - DllExport fmiStatus fmiGetInteger(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiInteger value[]); - DllExport fmiStatus fmiGetBoolean(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiBoolean value[]); - DllExport fmiStatus fmiGetString (fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiString value[]); - - DllExport fmiStatus fmiEventUpdate (fmiComponent c, fmiBoolean intermediateResults, fmiEventInfo* eventInfo); - DllExport fmiStatus fmiGetContinuousStates (fmiComponent c, fmiReal states[], size_t nx); - DllExport fmiStatus fmiGetNominalContinuousStates(fmiComponent c, fmiReal x_nominal[], size_t nx); - DllExport fmiStatus fmiGetStateValueReferences (fmiComponent c, fmiValueReference vrx[], size_t nx); - DllExport fmiStatus fmiTerminate (fmiComponent c); - -#endif // fmiModelFunctions_h diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/model_exchange/include/fmiModelTypes.h b/org.simantics.modelica/FMUSolution/FMISDK/src _original/model_exchange/include/fmiModelTypes.h deleted file mode 100644 index 17e9e300..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/model_exchange/include/fmiModelTypes.h +++ /dev/null @@ -1,91 +0,0 @@ -#ifndef fmiModelTypes_h -#define fmiModelTypes_h - -/* Standard header file to define the argument types of the - functions of the Model Execution Interface. - This header file must be utilized both by the model and - by the simulation engine. - - Revisions: - - Jan. 4, 2010: Renamed meModelTypes_h to fmiModelTypes_h (by Mauss, QTronic) - - Dec. 21, 2009: Changed "me" to "fmi" and "meModel" to "fmiComponent" - according to meeting on Dec. 18 (by Martin Otter, DLR) - - Dec. 6, 2009: Added meUndefinedValueReference (by Martin Otter, DLR) - - Sept. 9, 2009: Changes according to FMI-meeting on July 21: - Changed "version" to "platform", "standard" to "standard32", - Added a precise definition of "standard32" as comment - (by Martin Otter, DLR) - - July 19, 2009: Added "me" as prefix to file names, added meTrue/meFalse, - and changed meValueReferenced from int to unsigned int - (by Martin Otter, DLR). - - March 2, 2009: Moved enums and function pointer definitions to - ModelFunctions.h (by Martin Otter, DLR). - - Dec. 3, 2008 : First version by Martin Otter (DLR) and - Hans Olsson (Dynasim). - - - Copyright © 2008-2010, MODELISAR consortium. All rights reserved. - This file is licensed by the copyright holders under the BSD License - (http://www.opensource.org/licenses/bsd-license.html) - - ---------------------------------------------------------------------------- - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ---------------------------------------------------------------------------- - - with the extension: - - You may distribute or publicly perform any modification only under the - terms of this license. -*/ - -/* Platform (combination of machine, compiler, operating system) */ -#define fmiModelTypesPlatform "standard32" - -/* Type definitions of variables passed as arguments - Version "standard32" means: - - fmiComponent : 32 bit pointer - fmiValueReference: 32 bit - fmiReal : 64 bit - fmiInteger : 32 bit - fmiBoolean : 8 bit - fmiString : 32 bit pointer - -*/ - typedef void* fmiComponent; - typedef unsigned int fmiValueReference; - typedef double fmiReal ; - typedef int fmiInteger; - typedef char fmiBoolean; - typedef const char* fmiString ; - -/* Values for fmiBoolean */ -#define fmiTrue 1 -#define fmiFalse 0 - -/* Undefined value for fmiValueReference (largest unsigned int value) */ -#define fmiUndefinedValueReference (fmiValueReference)(-1) - -#endif diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/bouncingBall/_main.html b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/bouncingBall/_main.html deleted file mode 100644 index fff15c6a..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/bouncingBall/_main.html +++ /dev/null @@ -1,52 +0,0 @@ - - - Documentation for bouncingBall.fmu - - - -

bouncingBall.fmu

-The bouncingBall implements the following equation: -
    -
  • der(h) = v; -
  • der(v) = -g; -
  • when h<0 then v := -e* v -
-with start values h=1, e=0.7, g = 9.81 and -
    -
  • h: height [m], used as state -
  • v: velocity of ball [m/s], used as state -
  • der(h): velocity of ball [m/s] -
  • der(v): acceleration of ball [m/s2] -
  • g: acceleration of gravity [m/s2], a parameter -
  • e: a dimensionless parameter -
- -
- -
-The figure shows the solution computed with Silver -for height h of the ball for the start values given above. - -

-The chain of events during simulation is as follows -

    -
  1. intitially h>0 and pos(0)=true
  2. -
  3. continuous integration until a state event is detected, i.e. - until h + EPS_INDICATORS = 0. - At this time h < 0, the EPS_INDICATORS adds hysteresis.
  4. -
  5. the simulator calls eventUpdate once which reverses the speed direction - v of the ball: v = -e * v, and sets pos(0)=false
  6. -
  7. continuous integration until state event is detected, i.e. - until h - EPS_INDICATORS = 0. - At this time h > 0, the EPS_INDICATORS adds hysteresis.
  8. -
  9. the simulator calls eventUpdate once more which sets pos(0)=true.
  10. -
  11. goto 2
  12. -
-The above description refers to the variables used -in file bouncingBall.c. - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/bouncingBall/bouncingBall.c b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/bouncingBall/bouncingBall.c deleted file mode 100644 index 7f6c3037..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/bouncingBall/bouncingBall.c +++ /dev/null @@ -1,103 +0,0 @@ -/* ---------------------------------------------------------------------------* - * Sample implementation of an FMU - a bouncing ball. - * This demonstrates the use of state events and reinit of states. - * Equations: - * der(h) = v; - * der(v) = -g; - * when h<0 then v := -e * v; - * where - * h height [m], used as state, start = 1 - * v velocity of ball [m/s], used as state - * der(h) velocity of ball [m/s] - * der(v) acceleration of ball [m/s2] - * g acceleration of gravity [m/s2], a parameter, start = 9.81 - * e a dimensionless parameter, start = 0.7 - * - * (c) 2010 QTronic GmbH - * ---------------------------------------------------------------------------*/ - -// define class name and unique id -#define MODEL_IDENTIFIER bouncingBall -#define MODEL_GUID "{8c4e810f-3df3-4a00-8276-176fa3c9f003}" - -// define model size -#define NUMBER_OF_REALS 5 -#define NUMBER_OF_INTEGERS 0 -#define NUMBER_OF_BOOLEANS 0 -#define NUMBER_OF_STRINGS 0 -#define NUMBER_OF_STATES 2 -#define NUMBER_OF_EVENT_INDICATORS 1 - -// include fmu header files, typedefs and macros -#include "fmuTemplate.h" - -// define all model variables and their value references -// conventions used here: -// - if x is a variable, then macro x_ is its variable reference -// - the vr of a variable is its index in array r, i, b or s -// - if k is the vr of a real state, then k+1 is the vr of its derivative -#define h_ 0 -#define der_h_ 1 -#define v_ 2 -#define der_v_ 3 -#define g_ 3 // negated alias -#define e_ 4 - -// define initial state vector as vector of value references -#define STATES { h_, v_ } - -// called by fmiInstantiateModel -// Set values for all variables that define a start value -// Settings used unless changed by fmiSetX before fmiInitialize -void setStartValues(ModelInstance *comp) { - r(h_) = 1; - r(v_) = 0; - r(der_v_) = -9.81; - r(e_) = 0.7; - pos(0) = r(h_) > 0; -} - -// called by fmiGetReal, fmiGetContinuousStates and fmiGetDerivatives -fmiReal getReal(ModelInstance* comp, fmiValueReference vr){ - switch (vr) { - case h_ : return r(h_); - case der_h_ : return r(v_); - case v_ : return r(v_); - case der_v_ : return r(der_v_); - case e_ : return r(e_); - default: return 0; - } -} - -// called by fmiInitialize() after setting eventInfo to defaults -// Used to set the first time event, if any. -void initialize(ModelInstance* comp, fmiEventInfo* eventInfo) { -} - -// offset for event indicator, adds hysteresis and prevents z=0 at restart -#define EPS_INDICATORS 1e-14 - -fmiReal getEventIndicator(ModelInstance* comp, int z) { - switch (z) { - case 0 : return r(h_) + (pos(0) ? EPS_INDICATORS : -EPS_INDICATORS); - default: return 0; - } -} - -// Used to set the next time event, if any. -void eventUpdate(ModelInstance* comp, fmiEventInfo* eventInfo) { - if (pos(0)) { - r(v_) = - r(e_) * r(v_); - } - pos(0) = r(h_) > 0; - eventInfo->iterationConverged = fmiTrue; - eventInfo->stateValueReferencesChanged = fmiFalse; - eventInfo->stateValuesChanged = fmiTrue; - eventInfo->terminateSimulation = fmiFalse; - eventInfo->upcomingTimeEvent = fmiFalse; - } - -// include code that implements the FMI based on the above definitions -#include "fmuTemplate.c" - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/bouncingBall/model.png b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/bouncingBall/model.png deleted file mode 100644 index 8d23e9a9..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/bouncingBall/model.png and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/bouncingBall/modelDescription.xml b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/bouncingBall/modelDescription.xml deleted file mode 100644 index 4cb345e7..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/bouncingBall/modelDescription.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/bouncingBall/plot_h.PNG b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/bouncingBall/plot_h.PNG deleted file mode 100644 index ced85c46..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/bouncingBall/plot_h.PNG and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/build_fmu.bat b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/build_fmu.bat deleted file mode 100644 index 9d014581..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/build_fmu.bat +++ /dev/null @@ -1,80 +0,0 @@ -@echo off -rem ------------------------------------------------------------ -rem This batch builds an FMU of the FMU SDK -rem Usage: build_fmu (me|cs) -rem (c) 2011 QTronic GmbH -rem ------------------------------------------------------------ - -echo ----------------------------------------------------------- -if %1==cs (^ -echo building FMU %2 - FMI for Co-Simulation 1.0) else ^ -echo building FMU %2 - FMI for Model Exchange 1.0 - -rem save env variable settings -set PREV_PATH=%PATH% -if defined INCLUDE set PREV_INCLUDE=%INLUDE% -if defined LIB set PREV_LIB=%LIB% -if defined LIBPATH set PREV_LIBPATH=%LIBPATH% - -rem setup the compiler -if defined VS90COMNTOOLS (call "%VS90COMNTOOLS%\vsvars32.bat") else ^ -if defined VS80COMNTOOLS (call "%VS80COMNTOOLS%\vsvars32.bat") else ^ -goto noCompiler - -rem create the %2.dll in the temp dir -if not exist temp mkdir temp -pushd temp -if exist *.dll del /Q *.dll - -rem /wd4090 disables warnings about different 'const' qualifiers -if %1==cs (set FMI_DIR=co_simulation) else set FMI_DIR=model_exchange -if %1==cs (set DEF=/DFMI_COSIMULATION) else set DEF= -cl /LD /wd4090 /nologo %DEF% ..\%2\%2.c /I ..\. /I ..\..\%FMI_DIR%\include -if not exist %2.dll goto compileError - -rem create FMU dir structure with root 'fmu' -set BIN_DIR=fmu\binaries\win32 -set SRC_DIR=fmu\sources -set DOC_DIR=fmu\documentation -if not exist %BIN_DIR% mkdir %BIN_DIR% -if not exist %SRC_DIR% mkdir %SRC_DIR% -if not exist %DOC_DIR% mkdir %DOC_DIR% -move /Y %2.dll %BIN_DIR% -if exist ..\%2\*~ del /Q ..\%2\*~ -copy ..\%2\%2.c %SRC_DIR% -type ..\%2\modelDescription.xml ..\%1.xml > fmu\modelDescription.xml -copy ..\%2\model.png fmu -copy ..\fmuTemplate.c %SRC_DIR% -copy ..\fmuTemplate.h %SRC_DIR% -copy ..\%2\*.html %DOC_DIR% -copy ..\%2\*.png %DOC_DIR% -del %DOC_DIR%\model.png - -rem zip the directory tree and move to fmu directory -cd fmu -set FMU_FILE=..\..\..\..\fmu\%1\%2.fmu -if exist %ZIP_FILE% del %FMU_FILE% -..\..\..\..\bin\7z.exe a -tzip -xr!.svn %FMU_FILE% ^ - modelDescription.xml model.png binaries sources documentation -goto cleanup - -:noCompiler -echo No Microsoft Visual C compiler found -exit - -:compileError -echo build of %2 failed - -:cleanup -popd -if exist temp rmdir /S /Q temp - -rem undo variable settings performed by vsvars32.bat -set PATH=%PREV_PATH% -if defined PREV_INCLUDE set INCLUDE=%PREV_INLUDE% -if defined PREV_LIB set LIB=%PREV_LIB% -if defined PREV_LIBPATH set LIBPATH=%PREV_LIBPATH% -echo done. - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/cs.xml b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/cs.xml deleted file mode 100644 index 9e38bc40..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/cs.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/dq/_main.html b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/dq/_main.html deleted file mode 100644 index f981d0fe..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/dq/_main.html +++ /dev/null @@ -1,29 +0,0 @@ - - -Documentation for dq.fmu - - - -

dq.fmu

-This FMU implements the equation -
    -
  • der(x) = -k * x
  • -
-The analytical solution of this system is -
    -
  • x(t) = exp(-k*t)
  • -
-The above equation is also known as -Dahlquist -test equation. -
- -
-The figure shows the solution for x computed with Silver -for start values k = 1 and x = 1. - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/dq/dq.c b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/dq/dq.c deleted file mode 100644 index bb8df472..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/dq/dq.c +++ /dev/null @@ -1,67 +0,0 @@ -/* ---------------------------------------------------------------------------* - * Sample implementation of an FMU - the Dahlquist test equation. - * - * der(x) = - k * x and x(0) = 1. - * Analytical solution: x(t) = exp(-k*t). - * - * (c) 2010 QTronic GmbH - * ---------------------------------------------------------------------------*/ - -// define class name and unique id -#define MODEL_IDENTIFIER dq -#define MODEL_GUID "{8c4e810f-3df3-4a00-8276-176fa3c9f000}" - -// define model size -#define NUMBER_OF_REALS 3 -#define NUMBER_OF_INTEGERS 0 -#define NUMBER_OF_BOOLEANS 0 -#define NUMBER_OF_STRINGS 0 -#define NUMBER_OF_STATES 1 -#define NUMBER_OF_EVENT_INDICATORS 0 - -// include fmu header files, typedefs and macros -#include "fmuTemplate.h" - -// define all model variables and their value references -// conventions used here: -// - if x is a variable, then macro x_ is its variable reference -// - the vr of a variable is its index in array r, i, b or s -// - if k is the vr of a real state, then k+1 is the vr of its derivative -#define x_ 0 -#define der_x_ 1 -#define k_ 2 - -// define state vector as vector of value references -#define STATES { x_ } - -// called by fmiInstantiateModel -// Set values for all variables that define a start value -// Settings used unless changed by fmiSetX before fmiInitialize -void setStartValues(ModelInstance *comp) { - r(x_) = 1; - r(k_) = 1; -} - -// called by fmiInitialize() after setting eventInfo to defaults -// Used to set the first time event, if any. -void initialize(ModelInstance* comp, fmiEventInfo* eventInfo) { -} - -// called by fmiGetReal, fmiGetContinuousStates and fmiGetDerivatives -fmiReal getReal(ModelInstance* comp, fmiValueReference vr){ - switch (vr) { - case x_ : return r(x_); - case der_x_ : return - r(k_) * r(x_); - case k_ : return r(k_); - default: return 0; - } -} - -// Used to set the next time event, if any. -void eventUpdate(fmiComponent comp, fmiEventInfo* eventInfo) { -} - -// include code that implements the FMI based on the above definitions -#include "fmuTemplate.c" - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/dq/model.png b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/dq/model.png deleted file mode 100644 index 8d23e9a9..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/dq/model.png and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/dq/modelDescription.xml b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/dq/modelDescription.xml deleted file mode 100644 index daf9fbf0..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/dq/modelDescription.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/dq/plot_x.PNG b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/dq/plot_x.PNG deleted file mode 100644 index b28fa66c..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/dq/plot_x.PNG and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/fmuTemplate.c b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/fmuTemplate.c deleted file mode 100644 index e64b47e3..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/fmuTemplate.c +++ /dev/null @@ -1,765 +0,0 @@ -/* ---------------------------------------------------------------------------* - * Implementation of the FMI interface based on functions and macros to - * be defined by the includer of this file. - * If FMI_COSIMULATION is defined, this implements "FMI for Co-Simulation 1.0", - * otherwise "FMI for Model Exchange 1.0". - * The "FMI for Co-Simulation 1.0", implementation assumes that exactly the - * following capability flags are set to fmiTrue: - * canHandleVariableCommunicationStepSize, i.e. fmiDoStep step size can vary - * canHandleEvents, i.e. fmiDoStep step size can be zero - * and all other capability flags are set to default, i.e. to fmiFalse or 0. - * - * Revision history - * 07.02.2010 initial version for "Model Exchange 1.0" released in FMU SDK 1.0 - * 05.03.2010 bug fix: fmiSetString now copies the passed string argument - * and fmiFreeModelInstance frees all string copies - * 11.12.2010 replaced calloc by functions.allocateMemory in fmiInstantiateModel - * 04.08.2011 added support for "FMI for Co-Simulation 1.0" - * - * (c) 2011 QTronic GmbH - * ---------------------------------------------------------------------------*/ - -// array of value references of states -#if NUMBER_OF_REALS>0 -fmiValueReference vrStates[NUMBER_OF_STATES] = STATES; -#endif - -// --------------------------------------------------------------------------- -// Private helpers used below to validate function arguments -// --------------------------------------------------------------------------- - -static fmiBoolean invalidNumber(ModelInstance* comp, const char* f, const char* arg, int n, int nExpected){ - if (n != nExpected) { - comp->state = modelError; - comp->functions.logger(comp, comp->instanceName, fmiError, "error", - "%s: Invalid argument %s = %d. Expected %d.", f, arg, n, nExpected); - return fmiTrue; - } - return fmiFalse; -} - -static fmiBoolean invalidState(ModelInstance* comp, const char* f, int statesExpected){ - if (!comp) - return fmiTrue; - if (!(comp->state & statesExpected)) { - comp->state = modelError; - comp->functions.logger(comp, comp->instanceName, fmiError, "error", - "%s: Illegal call sequence.", f); - return fmiTrue; - } - return fmiFalse; -} - -static fmiBoolean nullPointer(ModelInstance* comp, const char* f, const char* arg, const void* p){ - if (!p) { - comp->state = modelError; - comp->functions.logger(comp, comp->instanceName, fmiError, "error", - "%s: Invalid argument %s = NULL.", f, arg); - return fmiTrue; - } - return fmiFalse; -} - -static fmiBoolean vrOutOfRange(ModelInstance* comp, const char* f, fmiValueReference vr, int end) { - if (vr >= end) { - comp->functions.logger(comp, comp->instanceName, fmiError, "error", - "%s: Illegal value reference %u.", f, vr); - comp->state = fmiError; - return fmiTrue; - } - return fmiFalse; -} - -// --------------------------------------------------------------------------- -// Private helpers used below to implement functions -// --------------------------------------------------------------------------- - -fmiStatus setString(fmiComponent comp, fmiValueReference vr, fmiString value){ - return fmiSetString(comp, &vr, 1, &value); -} - -// fname is fmiInstantiateModel or fmiInstantiateSlave -static fmiComponent instantiateModel(char* fname, fmiString instanceName, fmiString GUID, - fmiCallbackFunctions functions, fmiBoolean loggingOn) { - ModelInstance* comp; - if (!functions.logger) - return NULL; - if (!functions.allocateMemory || !functions.freeMemory){ - functions.logger(NULL, instanceName, fmiError, "error", - "%s: Missing callback function.", fname); - return NULL; - } - if (!instanceName || strlen(instanceName)==0) { - functions.logger(NULL, instanceName, fmiError, "error", - "%s: Missing instance name.", fname); - return NULL; - } - if (strcmp(GUID, MODEL_GUID)) { - functions.logger(NULL, instanceName, fmiError, "error", - "%s: Wrong GUID %s. Expected %s.", fname, GUID, MODEL_GUID); - return NULL; - } - comp = (ModelInstance *)functions.allocateMemory(1, sizeof(ModelInstance)); - if (comp) { - comp->r = functions.allocateMemory(NUMBER_OF_REALS, sizeof(fmiReal)); - comp->i = functions.allocateMemory(NUMBER_OF_INTEGERS, sizeof(fmiInteger)); - comp->b = functions.allocateMemory(NUMBER_OF_BOOLEANS, sizeof(fmiBoolean)); - comp->s = functions.allocateMemory(NUMBER_OF_STRINGS, sizeof(fmiString)); - comp->isPositive = functions.allocateMemory(NUMBER_OF_EVENT_INDICATORS, sizeof(fmiBoolean)); - } - if (!comp || !comp->r || !comp->i || !comp->b || !comp->s || !comp->isPositive) { - functions.logger(NULL, instanceName, fmiError, "error", - "%s: Out of memory.", fname); - return NULL; - } - if (comp->loggingOn) comp->functions.logger(NULL, instanceName, fmiOK, "log", - "%s: GUID=%s", fname, GUID); - comp->instanceName = instanceName; - comp->GUID = GUID; - comp->functions = functions; - comp->loggingOn = loggingOn; - comp->state = modelInstantiated; - setStartValues(comp); // to be implemented by the includer of this file - return comp; -} - -// fname is fmiInitialize or fmiInitializeSlave -static fmiStatus init(char* fname, fmiComponent c, fmiBoolean toleranceControlled, fmiReal relativeTolerance, - fmiEventInfo* eventInfo) { - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, fname, modelInstantiated)) - return fmiError; - if (nullPointer(comp, fname, "eventInfo", eventInfo)) - return fmiError; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "%s: toleranceControlled=%d relativeTolerance=%g", - fname, toleranceControlled, relativeTolerance); - eventInfo->iterationConverged = fmiTrue; - eventInfo->stateValueReferencesChanged = fmiFalse; - eventInfo->stateValuesChanged = fmiFalse; - eventInfo->terminateSimulation = fmiFalse; - eventInfo->upcomingTimeEvent = fmiFalse; - initialize(comp, eventInfo); // to be implemented by the includer of this file - comp->state = modelInitialized; - return fmiOK; -} - -// fname is fmiTerminate or fmiTerminateSlave -static fmiStatus terminate(char* fname, fmiComponent c){ - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, fname, modelInitialized)) - return fmiError; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", fname); - comp->state = modelTerminated; - return fmiOK; -} - -// fname is freeModelInstance of freeSlaveInstance -void freeInstance(char* fname, fmiComponent c) { - ModelInstance* comp = (ModelInstance *)c; - if (!comp) return; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", fname); - if (comp->r) comp->functions.freeMemory(comp->r); - if (comp->i) comp->functions.freeMemory(comp->i); - if (comp->b) comp->functions.freeMemory(comp->b); - if (comp->s) { - int i; - for (i=0; is[i]) comp->functions.freeMemory(comp->s[i]); - } - comp->functions.freeMemory(comp->s); - } - comp->functions.freeMemory(comp); -} - -// --------------------------------------------------------------------------- -// FMI functions: class methods not depending of a specific model instance -// --------------------------------------------------------------------------- - -const char* fmiGetVersion() { - return fmiVersion; -} - -// --------------------------------------------------------------------------- -// FMI functions: for FMI Model Exchange 1.0 and for FMI Co-Simulation 1.0 -// logging control, setters and getters for Real, Integer, Boolean, String -// --------------------------------------------------------------------------- - -fmiStatus fmiSetDebugLogging(fmiComponent c, fmiBoolean loggingOn) { - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiSetDebugLogging", not_modelError)) - return fmiError; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiSetDebugLogging: loggingOn=%d", loggingOn); - comp->loggingOn = loggingOn; - return fmiOK; -} - -fmiStatus fmiSetReal(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiReal value[]){ - int i; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiSetReal", modelInstantiated|modelInitialized)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiSetReal", "vr[]", vr)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiSetReal", "value[]", value)) - return fmiError; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiSetReal: nvr = %d", nvr); - // no check wether setting the value is allowed in the current state - for (i=0; iloggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiSetReal: #r%d# = %.16g", vr[i], value[i]); - comp->r[vr[i]] = value[i]; - } - return fmiOK; -} - -fmiStatus fmiSetInteger(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger value[]){ - int i; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiSetInteger", modelInstantiated|modelInitialized)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiSetInteger", "vr[]", vr)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiSetInteger", "value[]", value)) - return fmiError; - if (comp->loggingOn) - comp->functions.logger(c, comp->instanceName, fmiOK, "log", "fmiSetInteger: nvr = %d", nvr); - for (i=0; iloggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiSetInteger: #i%d# = %d", vr[i], value[i]); - comp->i[vr[i]] = value[i]; - } - return fmiOK; -} - -fmiStatus fmiSetBoolean(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiBoolean value[]){ - int i; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiSetBoolean", modelInstantiated|modelInitialized)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiSetBoolean", "vr[]", vr)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiSetBoolean", "value[]", value)) - return fmiError; - if (comp->loggingOn) - comp->functions.logger(c, comp->instanceName, fmiOK, "log", "fmiSetBoolean: nvr = %d", nvr); - for (i=0; iloggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiSetBoolean: #b%d# = %s", vr[i], value[i] ? "true" : "false"); - comp->b[vr[i]] = value[i]; - } - return fmiOK; -} - -fmiStatus fmiSetString(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiString value[]){ - int i, n; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiSetString", modelInstantiated|modelInitialized)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiSetString", "vr[]", vr)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiSetString", "value[]", value)) - return fmiError; - if (comp->loggingOn) - comp->functions.logger(c, comp->instanceName, fmiOK, "log", "fmiSetString: nvr = %d", nvr); - for (i=0; is[vr[i]]; - if (vrOutOfRange(comp, "fmiSetString", vr[i], NUMBER_OF_STRINGS)) - return fmiError; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiSetString: #s%d# = '%s'", vr[i], value[i]); - if (nullPointer(comp, "fmiSetString", "value[i]", value[i])) - return fmiError; - if (string==NULL || strlen(string) < strlen(value[i])) { - if (string) comp->functions.freeMemory(string); - comp->s[vr[i]] = comp->functions.allocateMemory(1+strlen(value[i]), sizeof(char)); - if (!comp->s[vr[i]]) { - comp->state = modelError; - comp->functions.logger(NULL, comp->instanceName, fmiError, "error", "fmiSetString: Out of memory."); - return fmiError; - } - } - strcpy(comp->s[vr[i]], value[i]); - } - return fmiOK; -} - -fmiStatus fmiGetReal(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiReal value[]) { - int i; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiGetReal", not_modelError)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiGetReal", "vr[]", vr)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiGetReal", "value[]", value)) - return fmiError; -#if NUMBER_OF_REALS>0 - for (i=0; iloggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiGetReal: #r%u# = %.16g", vr[i], value[i]); - } -#endif - return fmiOK; -} - -fmiStatus fmiGetInteger(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiInteger value[]) { - int i; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiGetInteger", not_modelError)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiGetInteger", "vr[]", vr)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiGetInteger", "value[]", value)) - return fmiError; - for (i=0; ii[vr[i]]; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiGetInteger: #i%u# = %d", vr[i], value[i]); - } - return fmiOK; -} - -fmiStatus fmiGetBoolean(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiBoolean value[]) { - int i; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiGetBoolean", not_modelError)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiGetBoolean", "vr[]", vr)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiGetBoolean", "value[]", value)) - return fmiError; - for (i=0; ib[vr[i]]; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiGetBoolean: #b%u# = %s", vr[i], value[i]? "true" : "false"); - } - return fmiOK; -} - -fmiStatus fmiGetString(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiString value[]) { - int i; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiGetString", not_modelError)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiGetString", "vr[]", vr)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiGetString", "value[]", value)) - return fmiError; - for (i=0; is[vr[i]]; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiGetString: #s%u# = '%s'", vr[i], value[i]); - } - return fmiOK; -} - -#ifdef FMI_COSIMULATION -// --------------------------------------------------------------------------- -// FMI functions: only for FMI Co-Simulation 1.0 -// --------------------------------------------------------------------------- - -const char* fmiGetTypesPlatform() { - return fmiPlatform; -} - -fmiComponent fmiInstantiateSlave(fmiString instanceName, fmiString GUID, - fmiString fmuLocation, fmiString mimeType, fmiReal timeout, fmiBoolean visible, - fmiBoolean interactive, fmiCallbackFunctions functions, fmiBoolean loggingOn) { - // ignoring arguments: fmuLocation, mimeType, timeout, visible, interactive - return instantiateModel("fmiInstantiateSlave", instanceName, GUID, functions, loggingOn); -} - -fmiStatus fmiInitializeSlave(fmiComponent c, fmiReal tStart, fmiBoolean StopTimeDefined, fmiReal tStop) { - ModelInstance* comp = (ModelInstance *)c; - fmiBoolean toleranceControlled = fmiFalse; - fmiReal relativeTolerance = 0; - fmiStatus flag = fmiOK; - comp->eventInfo.iterationConverged = 0; - while (flag==fmiOK && !comp->eventInfo.iterationConverged) { - // ignoring arguments: tStart, StopTimeDefined, tStop - flag = init("fmiInitializeSlave", c, toleranceControlled, relativeTolerance, &comp->eventInfo); - } - return flag; -} - -fmiStatus fmiTerminateSlave(fmiComponent c) { - return terminate("fmiTerminateSlave", c); -} - -fmiStatus fmiResetSlave(fmiComponent c) { - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiResetSlave", modelInitialized)) - return fmiError; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", "fmiResetSlave"); - comp->state = modelInstantiated; - setStartValues(comp); // to be implemented by the includer of this file - return fmiOK; -} - -void fmiFreeSlaveInstance(fmiComponent c) { - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiFreeSlaveInstance", modelTerminated)) - return; - freeInstance("fmiFreeSlaveInstance", c); -} - -fmiStatus fmiSetRealInputDerivatives(fmiComponent c, const fmiValueReference vr[], size_t nvr, - const fmiInteger order[], const fmiReal value[]) { - ModelInstance* comp = (ModelInstance *)c; - fmiCallbackLogger log = comp->functions.logger; - if (invalidState(comp, "fmiSetRealInputDerivatives", modelInitialized)) - return fmiError; - if (comp->loggingOn) log(c, comp->instanceName, fmiOK, "log", "fmiSetRealInputDerivatives: nvr= %d", nvr); - log(NULL, comp->instanceName, fmiError, "warning", "fmiSetRealInputDerivatives: ignoring function call." - " This model cannot interpolate inputs: canInterpolateInputs=\"fmiFalse\""); - return fmiWarning; -} - -fmiStatus fmiGetRealOutputDerivatives(fmiComponent c, const fmiValueReference vr[], size_t nvr, - const fmiInteger order[], fmiReal value[]) { - int i; - ModelInstance* comp = (ModelInstance *)c; - fmiCallbackLogger log = comp->functions.logger; - if (invalidState(comp, "fmiGetRealOutputDerivatives", modelInitialized)) - return fmiError; - if (comp->loggingOn) log(c, comp->instanceName, fmiOK, "log", "fmiGetRealOutputDerivatives: nvr= %d", nvr); - log(NULL, comp->instanceName, fmiError, "warning", "fmiGetRealOutputDerivatives: ignoring function call." - " This model cannot compute derivatives of outputs: MaxOutputDerivativeOrder=\"0\""); - for (i=0; ifunctions.logger; - if (invalidState(comp, "fmiCancelStep", modelInitialized)) - return fmiError; - if (comp->loggingOn) log(c, comp->instanceName, fmiOK, "log", "fmiCancelStep"); - log(NULL, comp->instanceName, fmiError, "error", - "fmiCancelStep: Can be called when fmiDoStep returned fmiPending." - " This is not the case."); - return fmiError; -} - -fmiStatus fmiDoStep(fmiComponent c, fmiReal currentCommunicationPoint, - fmiReal communicationStepSize, fmiBoolean newStep) { - ModelInstance* comp = (ModelInstance *)c; - fmiCallbackLogger log = comp->functions.logger; - double h = communicationStepSize / 10; - int k,i; - const int n = 10; // how many Euler steps to perform for one do step - double prevState[max(NUMBER_OF_STATES, 1)]; - double prevEventIndicators[max(NUMBER_OF_EVENT_INDICATORS, 1)]; - int stateEvent = 0; - - if (invalidState(comp, "fmiDoStep", modelInitialized)) - return fmiError; - - if (comp->loggingOn) log(c, comp->instanceName, fmiOK, "log", "fmiDoStep: " - "currentCommunicationPoint = %g, ", - "communicationStepSize = %g, ", - "newStep = fmi%s", - currentCommunicationPoint, communicationStepSize, newStep ? "True" : "False"); - - // Treat also case of zero step, i.e. during an event iteration - if (communicationStepSize == 0) { - return fmiOK; - } - -#if NUMBER_OF_EVENT_INDICATORS>0 - // initialize previous event indcators with current values - for (i=0; itime = currentCommunicationPoint; - for (k=0; ktime += h; - -#if NUMBER_OF_REALS>0 - for (i=0; i0 - // check for state event - for (i=0; iloggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiDoStep: state event at %g, z%d crosses zero -%c-", comp->time, i, ei<0 ? '\\' : '/'); - stateEvent++; - } - prevEventIndicators[i] = ei; - } - if (stateEvent) { - eventUpdate(comp, &comp->eventInfo); - stateEvent = 0; - } -#endif - // check for time event - if (comp->eventInfo.upcomingTimeEvent && comp->time > comp->eventInfo.nextEventTime) { - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiDoStep: time event detected at %g", comp->time); - eventUpdate(comp, &comp->eventInfo); - } - - // terminate simulation, if requested by the model - if (comp->eventInfo.terminateSimulation) { - comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiDoStep: model requested termination at t=%g", comp->time); - return fmiError; // enforce termination of the simulation loop - } - } - return fmiOK; -} - -static fmiStatus getStatus(char* fname, fmiComponent c, const fmiStatusKind s) { - const char* statusKind[3] = {"fmiDoStepStatus","fmiPendingStatus","fmiLastSuccessfulTime"}; - ModelInstance* comp = (ModelInstance *)c; - fmiCallbackLogger log = comp->functions.logger; - if (invalidState(comp, fname, modelInstantiated|modelInitialized)) - return fmiError; - if (comp->loggingOn) log(c, comp->instanceName, fmiOK, "log", "$s: fmiStatusKind = %s", fname, statusKind[s]); - switch(s) { - case fmiDoStepStatus: log(NULL, comp->instanceName, fmiError, "error", - "%s: Can be called with fmiDoStepStatus when fmiDoStep returned fmiPending." - " This is not the case.", fname); - break; - case fmiPendingStatus: log(NULL, comp->instanceName, fmiError, "error", - "%s: Can be called with fmiPendingStatus when fmiDoStep returned fmiPending." - " This is not the case.", fname); - break; - case fmiLastSuccessfulTime: log(NULL, comp->instanceName, fmiError, "error", - "%s: Can be called with fmiLastSuccessfulTime when fmiDoStep returned fmiDiscard." - " This is not the case.", fname); - break; - } - return fmiError; -} - -fmiStatus fmiGetStatus(fmiComponent c, const fmiStatusKind s, fmiStatus* value) { - return getStatus("fmiGetStatus", c, s); -} - -fmiStatus fmiGetRealStatus(fmiComponent c, const fmiStatusKind s, fmiReal* value){ - return getStatus("fmiGetRealStatus", c, s); -} - -fmiStatus fmiGetIntegerStatus(fmiComponent c, const fmiStatusKind s, fmiInteger* value){ - return getStatus("fmiGetIntegerStatus", c, s); -} - -fmiStatus fmiGetBooleanStatus(fmiComponent c, const fmiStatusKind s, fmiBoolean* value){ - return getStatus("fmiGetBooleanStatus", c, s); -} - -fmiStatus fmiGetStringStatus(fmiComponent c, const fmiStatusKind s, fmiString* value){ - return getStatus("fmiGetStringStatus", c, s); -} - -#else -// --------------------------------------------------------------------------- -// FMI functions: only for Model Exchange 1.0 -// --------------------------------------------------------------------------- - -const char* fmiGetModelTypesPlatform() { - return fmiModelTypesPlatform; -} - -fmiComponent fmiInstantiateModel(fmiString instanceName, fmiString GUID, - fmiCallbackFunctions functions, fmiBoolean loggingOn) { - return instantiateModel("fmiInstantiateModel", instanceName, GUID, functions, loggingOn); -} - -fmiStatus fmiInitialize(fmiComponent c, fmiBoolean toleranceControlled, fmiReal relativeTolerance, - fmiEventInfo* eventInfo) { - return init("fmiInitialize", c, toleranceControlled, relativeTolerance, eventInfo); -} - -fmiStatus fmiSetTime(fmiComponent c, fmiReal time) { - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiSetTime", modelInstantiated|modelInitialized)) - return fmiError; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiSetTime: time=%.16g", time); - comp->time = time; - return fmiOK; -} - -fmiStatus fmiSetContinuousStates(fmiComponent c, const fmiReal x[], size_t nx){ - ModelInstance* comp = (ModelInstance *)c; - int i; - if (invalidState(comp, "fmiSetContinuousStates", modelInitialized)) - return fmiError; - if (invalidNumber(comp, "fmiSetContinuousStates", "nx", nx, NUMBER_OF_STATES)) - return fmiError; - if (nullPointer(comp, "fmiSetContinuousStates", "x[]", x)) - return fmiError; -#if NUMBER_OF_REALS>0 - for (i=0; iloggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiSetContinuousStates: #r%d#=%.16g", vr, x[i]); - assert(vr>=0 && vrr[vr] = x[i]; - } -#endif - return fmiOK; -} - -fmiStatus fmiEventUpdate(fmiComponent c, fmiBoolean intermediateResults, fmiEventInfo* eventInfo) { - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiEventUpdate", modelInitialized)) - return fmiError; - if (nullPointer(comp, "fmiEventUpdate", "eventInfo", eventInfo)) - return fmiError; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiEventUpdate: intermediateResults = %d", intermediateResults); - eventInfo->iterationConverged = fmiTrue; - eventInfo->stateValueReferencesChanged = fmiFalse; - eventInfo->stateValuesChanged = fmiFalse; - eventInfo->terminateSimulation = fmiFalse; - eventInfo->upcomingTimeEvent = fmiFalse; - eventUpdate(comp, eventInfo); // to be implemented by the includer of this file - return fmiOK; -} - -fmiStatus fmiCompletedIntegratorStep(fmiComponent c, fmiBoolean* callEventUpdate){ - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiCompletedIntegratorStep", modelInitialized)) - return fmiError; - if (nullPointer(comp, "fmiCompletedIntegratorStep", "callEventUpdate", callEventUpdate)) - return fmiError; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiCompletedIntegratorStep"); - *callEventUpdate = fmiFalse; - return fmiOK; -} - -fmiStatus fmiGetStateValueReferences(fmiComponent c, fmiValueReference vrx[], size_t nx){ - int i; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiGetStateValueReferences", not_modelError)) - return fmiError; - if (invalidNumber(comp, "fmiGetStateValueReferences", "nx", nx, NUMBER_OF_STATES)) - return fmiError; - if (nullPointer(comp, "fmiGetStateValueReferences", "vrx[]", vrx)) - return fmiError; -#if NUMBER_OF_REALS>0 - for (i=0; iloggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiGetStateValueReferences: vrx[%d] = %d", i, vrx[i]); - } -#endif - return fmiOK; -} - -fmiStatus fmiGetContinuousStates(fmiComponent c, fmiReal states[], size_t nx){ - int i; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiGetContinuousStates", not_modelError)) - return fmiError; - if (invalidNumber(comp, "fmiGetContinuousStates", "nx", nx, NUMBER_OF_STATES)) - return fmiError; - if (nullPointer(comp, "fmiGetContinuousStates", "states[]", states)) - return fmiError; -#if NUMBER_OF_REALS>0 - for (i=0; iloggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiGetContinuousStates: #r%u# = %.16g", vr, states[i]); - } -#endif - return fmiOK; -} - -fmiStatus fmiGetNominalContinuousStates(fmiComponent c, fmiReal x_nominal[], size_t nx){ - int i; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiGetNominalContinuousStates", not_modelError)) - return fmiError; - if (invalidNumber(comp, "fmiGetNominalContinuousStates", "nx", nx, NUMBER_OF_STATES)) - return fmiError; - if (nullPointer(comp, "fmiGetNominalContinuousStates", "x_nominal[]", x_nominal)) - return fmiError; - x_nominal[0] = 1; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiGetNominalContinuousStates: x_nominal[0..%d] = 1.0", nx-1); - for (i=0; i0 - for (i=0; iloggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiGetDerivatives: #r%d# = %.16g", vr, derivatives[i]); - } -#endif - return fmiOK; -} - -fmiStatus fmiGetEventIndicators(fmiComponent c, fmiReal eventIndicators[], size_t ni) { - int i; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiGetEventIndicators", not_modelError)) - return fmiError; - if (invalidNumber(comp, "fmiGetEventIndicators", "ni", ni, NUMBER_OF_EVENT_INDICATORS)) - return fmiError; -#if NUMBER_OF_EVENT_INDICATORS>0 - for (i=0; iloggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiGetEventIndicators: z%d = %.16g", i, eventIndicators[i]); - } -#endif - return fmiOK; -} - -fmiStatus fmiTerminate(fmiComponent c){ - return terminate("fmiTerminate", c); -} - -void fmiFreeModelInstance(fmiComponent c) { - freeInstance("fmiFreeModelInstance", c); -} - -#endif // Model Exchange 1.0 diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/fmuTemplate.h b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/fmuTemplate.h deleted file mode 100644 index 486bd406..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/fmuTemplate.h +++ /dev/null @@ -1,49 +0,0 @@ -/* ---------------------------------------------------------------------------* - * fmuTemplate.h - * Definitions used in fmiModelFunctions.c and by the includer of this file - * (c) 2010 QTronic GmbH - * ---------------------------------------------------------------------------*/ - -#include -#include -#include - -#ifdef FMI_COSIMULATION -#include "fmiFunctions.h" -#else -#include "fmiModelFunctions.h" -#endif - -// macros used to define variables -#define r(vr) comp->r[vr] -#define i(vr) comp->i[vr] -#define b(vr) comp->b[vr] -#define s(vr) comp->s[vr] -#define pos(z) comp->isPositive[z] -#define copy(vr, value) setString(comp, vr, value) - -#define not_modelError (modelInstantiated|modelInitialized|modelTerminated) - -typedef enum { - modelInstantiated = 1<<0, - modelInitialized = 1<<1, - modelTerminated = 1<<2, - modelError = 1<<3 -} ModelState; - -typedef struct { - fmiReal *r; - fmiInteger *i; - fmiBoolean *b; - fmiString *s; - fmiBoolean *isPositive; - fmiReal time; - fmiString instanceName; - fmiString GUID; - fmiCallbackFunctions functions; - fmiBoolean loggingOn; - ModelState state; -#ifdef FMI_COSIMULATION - fmiEventInfo eventInfo; -#endif -} ModelInstance; diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/inc/_main.html b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/inc/_main.html deleted file mode 100644 index 8850b0d8..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/inc/_main.html +++ /dev/null @@ -1,18 +0,0 @@ - - - Documentation for inc.fmu - - - -

inc.fmu

-This FMU generates time events to increment an integer counter every second and terminates simulation at t=12 sec. -
- -
-The figure shows the solution computed with Silver. - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/inc/inc.c b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/inc/inc.c deleted file mode 100644 index 8440dcd5..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/inc/inc.c +++ /dev/null @@ -1,56 +0,0 @@ -/* ---------------------------------------------------------------------------* - * Sample implementation of an FMU - increments an int counter every second. - * (c) 2010 QTronic GmbH - * ---------------------------------------------------------------------------*/ - -// define class name and unique id -#define MODEL_IDENTIFIER inc -#define MODEL_GUID "{8c4e810f-3df3-4a00-8276-176fa3c9f008}" - -// define model size -#define NUMBER_OF_REALS 0 -#define NUMBER_OF_INTEGERS 1 -#define NUMBER_OF_BOOLEANS 0 -#define NUMBER_OF_STRINGS 0 -#define NUMBER_OF_STATES 0 -#define NUMBER_OF_EVENT_INDICATORS 0 - -// include fmu header files, typedefs and macros -#include "fmuTemplate.h" - -// define all model variables and their value references -// conventions used here: -// - if x is a variable, then macro x_ is its variable reference -// - the vr of a variable is its index in array r, i, b or s -// - if k is the vr of a real state, then k+1 is the vr of its derivative -#define counter_ 0 - -// called by fmiInstantiateModel -// Set values for all variables that define a start value -// Settings used unless changed by fmiSetX before fmiInitialize -void setStartValues(ModelInstance *comp) { - i(counter_) = 1; -} - -// called by fmiInitialize() after setting eventInfo to defaults -// Used to set the first time event, if any. -void initialize(ModelInstance* comp, fmiEventInfo* eventInfo) { - eventInfo->upcomingTimeEvent = fmiTrue; - eventInfo->nextEventTime = 1 + comp->time; -} - -// called by fmiEventUpdate() after setting eventInfo to defaults -// Used to set the next time event, if any. -void eventUpdate(ModelInstance* comp, fmiEventInfo* eventInfo) { - i(counter_) += 1; - if (i(counter_) == 13) - eventInfo->terminateSimulation = fmiTrue; - else { - eventInfo->upcomingTimeEvent = fmiTrue; - eventInfo->nextEventTime = 1 + comp->time; - } -} - -// include code that implements the FMI based on the above definitions -#include "fmuTemplate.c" - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/inc/model.png b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/inc/model.png deleted file mode 100644 index 8d23e9a9..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/inc/model.png and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/inc/modelDescription.xml b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/inc/modelDescription.xml deleted file mode 100644 index 58ce6f81..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/inc/modelDescription.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/inc/plot_counter.PNG b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/inc/plot_counter.PNG deleted file mode 100644 index d3ec25da..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/inc/plot_counter.PNG and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/me.xml b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/me.xml deleted file mode 100644 index 5ecace66..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/me.xml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/values/_main.html b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/values/_main.html deleted file mode 100644 index 082d5145..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/values/_main.html +++ /dev/null @@ -1,19 +0,0 @@ - - - Documentation for values.fmu - - - -

values.fmu

- This FMU demonstrates the use of all four scalar FMU data types - and terminates simulation at t=12 sec. - -
-The figure shows the solution computed with fmusim using the command -fmusim me fmu\me\values.fmu 12 12. - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/values/model.png b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/values/model.png deleted file mode 100644 index 8d23e9a9..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/values/model.png and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/values/modelDescription.xml b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/values/modelDescription.xml deleted file mode 100644 index 3673a616..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/values/modelDescription.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/values/values.PNG b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/values/values.PNG deleted file mode 100644 index 45eaf966..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/values/values.PNG and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/values/values.c b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/values/values.c deleted file mode 100644 index 536a2904..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/values/values.c +++ /dev/null @@ -1,85 +0,0 @@ -/* ---------------------------------------------------------------------------* - * Sample implementation of an FMU - * This demonstrates the use of all FMU variable types. - * (c) 2010 QTronic GmbH - * ---------------------------------------------------------------------------*/ - -// define class name and unique id -#define MODEL_IDENTIFIER values -#define MODEL_GUID "{8c4e810f-3df3-4a00-8276-176fa3c9f004}" - -// define model size -#define NUMBER_OF_REALS 2 -#define NUMBER_OF_INTEGERS 2 -#define NUMBER_OF_BOOLEANS 2 -#define NUMBER_OF_STRINGS 2 -#define NUMBER_OF_STATES 1 -#define NUMBER_OF_EVENT_INDICATORS 0 - -// include fmu header files, typedefs and macros -#include "fmuTemplate.h" - -// define all model variables and their value references -// conventions used here: -// - if x is a variable, then macro x_ is its variable reference -// - the vr of a variable is its index in array r, i, b or s -// - if k is the vr of a real state, then k+1 is the vr of its derivative -#define x_ 0 -#define der_x_ 1 -#define int_in_ 0 -#define int_out_ 1 -#define bool_in_ 0 -#define bool_out_ 1 -#define string_in_ 0 -#define string_out_ 1 - -// define state vector as vector of value references -#define STATES { x_ } - -const char* month[] = { - "jan","feb","march","april","may","june","july", - "august","sept","october","november","december" -}; - -// called by fmiInstantiateModel -// Set values for all variables that define a start value -// Settings used unless changed by fmiSetX before fmiInitialize -void setStartValues(ModelInstance *comp) { - r(x_) = 1; - i(int_in_) = 2; - i(int_out_) = 0; - b(bool_in_) = fmiTrue; - b(bool_out_) = fmiFalse; - copy(string_in_, "a string"); - copy(string_out_, month[0]); -} - -// called by fmiInitialize() after setting eventInfo to defaults -// Used to set the first time event, if any. -void initialize(ModelInstance* comp, fmiEventInfo* eventInfo) { - eventInfo->upcomingTimeEvent = fmiTrue; - eventInfo->nextEventTime = 1 + comp->time; -} - -// called by fmiGetReal, fmiGetContinuousStates and fmiGetDerivatives -fmiReal getReal(ModelInstance* comp, fmiValueReference vr){ - switch (vr) { - case x_ : return r(x_); - case der_x_ : return - r(x_); - default: return 0; - } -} - -// called by fmiEventUpdate() after setting eventInfo to defaults -void eventUpdate(ModelInstance* comp, fmiEventInfo* eventInfo) { - eventInfo->upcomingTimeEvent = fmiTrue; - eventInfo->nextEventTime = 1 + comp->time; - i(int_out_) += 1; - b(bool_out_) = !b(bool_out_); - if (i(int_out_)<12) copy(string_out_, month[i(int_out_)]); - else eventInfo->terminateSimulation = fmiTrue; -} - -// include code that implements the FMI based on the above definitions -#include "fmuTemplate.c" - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/vanDerPol/_main.html b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/vanDerPol/_main.html deleted file mode 100644 index 07875f40..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/vanDerPol/_main.html +++ /dev/null @@ -1,23 +0,0 @@ - - -Documentation for vanDerPol.fmu - - - -

vanDerPol.fmu

-This FMU implements the famous -Van der Pol oscillator. -
    -
  • der(x0) = x1
  • -
  • der(x1) = mu * ((1 - x0 * x0) * x1) - x0
  • -
- -
-The figure shows the solution computed with Silver -for start values x0 = 2, x1 = 0, mu = 1. - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/vanDerPol/model.png b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/vanDerPol/model.png deleted file mode 100644 index 8d23e9a9..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/vanDerPol/model.png and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/vanDerPol/modelDescription.xml b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/vanDerPol/modelDescription.xml deleted file mode 100644 index ca44c3f3..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/vanDerPol/modelDescription.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/vanDerPol/plot_states.png b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/vanDerPol/plot_states.png deleted file mode 100644 index 05761cd2..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/vanDerPol/plot_states.png and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/vanDerPol/vanDerPol.c b/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/vanDerPol/vanDerPol.c deleted file mode 100644 index c4945207..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/models/vanDerPol/vanDerPol.c +++ /dev/null @@ -1,75 +0,0 @@ -/* ---------------------------------------------------------------------------* - * Sample implementation of an FMU - the Van der Pol oscillator. - * See http://en.wikipedia.org/wiki/Van_der_Pol_oscillator - * - * der(x0) = x1 - * der(x1) = mu * ((1 - x0 ^ 2) * x1) - x0; - * - * start values: x0=2, x1=0, mue=1 - * - * (c) 2011 QTronic GmbH - * ---------------------------------------------------------------------------*/ - -// define class name and unique id -#define MODEL_IDENTIFIER vanDerPol -#define MODEL_GUID "{8c4e810f-3da3-4a00-8276-176fa3c9f000}" - -// define model size -#define NUMBER_OF_REALS 5 -#define NUMBER_OF_INTEGERS 0 -#define NUMBER_OF_BOOLEANS 0 -#define NUMBER_OF_STRINGS 0 -#define NUMBER_OF_STATES 2 -#define NUMBER_OF_EVENT_INDICATORS 0 - -// include fmu header files, typedefs and macros -#include "fmuTemplate.h" - -// define all model variables and their value references -// conventions used here: -// - if x is a variable, then macro x_ is its variable reference -// - the vr of a variable is its index in array r, i, b or s -// - if k is the vr of a real state, then k+1 is the vr of its derivative -#define x0_ 0 -#define der_x0_ 1 -#define x1_ 2 -#define der_x1_ 3 -#define mu_ 4 - -// define state vector as vector of value references -#define STATES { x0_, x1_ } - -// called by fmiInstantiateModel -// Set values for all variables that define a start value -// Settings used unless changed by fmiSetX before fmiInitialize -void setStartValues(ModelInstance *comp) { - r(x0_) = 2; - r(x1_) = 0; - r(mu_) = 1; -} - -// called by fmiInitialize() after setting eventInfo to defaults -// Used to set the first time event, if any. -void initialize(ModelInstance* comp, fmiEventInfo* eventInfo) { -} - -// called by fmiGetReal, fmiGetContinuousStates and fmiGetDerivatives -fmiReal getReal(ModelInstance* comp, fmiValueReference vr){ - switch (vr) { - case x0_ : return r(x0_); - case x1_ : return r(x1_); - case der_x0_ : return r(x1_); - case der_x1_ : return r(mu_) * ((1.0-r(x0_)*r(x0_))*r(x1_)) - r(x0_); - case mu_ : return r(mu_); - default: return 0; - } -} - -// Used to set the next time event, if any. -void eventUpdate(fmiComponent comp, fmiEventInfo* eventInfo) { -} - -// include code that implements the FMI based on the above definitions -#include "fmuTemplate.c" - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/COPYING.txt b/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/COPYING.txt deleted file mode 100644 index 90422175..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/COPYING.txt +++ /dev/null @@ -1,24 +0,0 @@ -Files expat.h, expat_external.h and libexpatMT.lib - -Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd - and Clark Cooper -Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/expat.h b/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/expat.h deleted file mode 100644 index 6c2b6ff5..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/expat.h +++ /dev/null @@ -1,1014 +0,0 @@ -/* Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd - See the file COPYING for copying permission. -*/ - -#ifndef Expat_INCLUDED -#define Expat_INCLUDED 1 - -#ifdef __VMS -/* 0 1 2 3 0 1 2 3 - 1234567890123456789012345678901 1234567890123456789012345678901 */ -#define XML_SetProcessingInstructionHandler XML_SetProcessingInstrHandler -#define XML_SetUnparsedEntityDeclHandler XML_SetUnparsedEntDeclHandler -#define XML_SetStartNamespaceDeclHandler XML_SetStartNamespcDeclHandler -#define XML_SetExternalEntityRefHandlerArg XML_SetExternalEntRefHandlerArg -#endif - -#include -#include "expat_external.h" - -#ifdef __cplusplus -extern "C" { -#endif - -struct XML_ParserStruct; -typedef struct XML_ParserStruct *XML_Parser; - -/* Should this be defined using stdbool.h when C99 is available? */ -typedef unsigned char XML_Bool; -#define XML_TRUE ((XML_Bool) 1) -#define XML_FALSE ((XML_Bool) 0) - -/* The XML_Status enum gives the possible return values for several - API functions. The preprocessor #defines are included so this - stanza can be added to code that still needs to support older - versions of Expat 1.95.x: - - #ifndef XML_STATUS_OK - #define XML_STATUS_OK 1 - #define XML_STATUS_ERROR 0 - #endif - - Otherwise, the #define hackery is quite ugly and would have been - dropped. -*/ -enum XML_Status { - XML_STATUS_ERROR = 0, -#define XML_STATUS_ERROR XML_STATUS_ERROR - XML_STATUS_OK = 1, -#define XML_STATUS_OK XML_STATUS_OK - XML_STATUS_SUSPENDED = 2 -#define XML_STATUS_SUSPENDED XML_STATUS_SUSPENDED -}; - -enum XML_Error { - XML_ERROR_NONE, - XML_ERROR_NO_MEMORY, - XML_ERROR_SYNTAX, - XML_ERROR_NO_ELEMENTS, - XML_ERROR_INVALID_TOKEN, - XML_ERROR_UNCLOSED_TOKEN, - XML_ERROR_PARTIAL_CHAR, - XML_ERROR_TAG_MISMATCH, - XML_ERROR_DUPLICATE_ATTRIBUTE, - XML_ERROR_JUNK_AFTER_DOC_ELEMENT, - XML_ERROR_PARAM_ENTITY_REF, - XML_ERROR_UNDEFINED_ENTITY, - XML_ERROR_RECURSIVE_ENTITY_REF, - XML_ERROR_ASYNC_ENTITY, - XML_ERROR_BAD_CHAR_REF, - XML_ERROR_BINARY_ENTITY_REF, - XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF, - XML_ERROR_MISPLACED_XML_PI, - XML_ERROR_UNKNOWN_ENCODING, - XML_ERROR_INCORRECT_ENCODING, - XML_ERROR_UNCLOSED_CDATA_SECTION, - XML_ERROR_EXTERNAL_ENTITY_HANDLING, - XML_ERROR_NOT_STANDALONE, - XML_ERROR_UNEXPECTED_STATE, - XML_ERROR_ENTITY_DECLARED_IN_PE, - XML_ERROR_FEATURE_REQUIRES_XML_DTD, - XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING, - /* Added in 1.95.7. */ - XML_ERROR_UNBOUND_PREFIX, - /* Added in 1.95.8. */ - XML_ERROR_UNDECLARING_PREFIX, - XML_ERROR_INCOMPLETE_PE, - XML_ERROR_XML_DECL, - XML_ERROR_TEXT_DECL, - XML_ERROR_PUBLICID, - XML_ERROR_SUSPENDED, - XML_ERROR_NOT_SUSPENDED, - XML_ERROR_ABORTED, - XML_ERROR_FINISHED, - XML_ERROR_SUSPEND_PE, - /* Added in 2.0. */ - XML_ERROR_RESERVED_PREFIX_XML, - XML_ERROR_RESERVED_PREFIX_XMLNS, - XML_ERROR_RESERVED_NAMESPACE_URI -}; - -enum XML_Content_Type { - XML_CTYPE_EMPTY = 1, - XML_CTYPE_ANY, - XML_CTYPE_MIXED, - XML_CTYPE_NAME, - XML_CTYPE_CHOICE, - XML_CTYPE_SEQ -}; - -enum XML_Content_Quant { - XML_CQUANT_NONE, - XML_CQUANT_OPT, - XML_CQUANT_REP, - XML_CQUANT_PLUS -}; - -/* If type == XML_CTYPE_EMPTY or XML_CTYPE_ANY, then quant will be - XML_CQUANT_NONE, and the other fields will be zero or NULL. - If type == XML_CTYPE_MIXED, then quant will be NONE or REP and - numchildren will contain number of elements that may be mixed in - and children point to an array of XML_Content cells that will be - all of XML_CTYPE_NAME type with no quantification. - - If type == XML_CTYPE_NAME, then the name points to the name, and - the numchildren field will be zero and children will be NULL. The - quant fields indicates any quantifiers placed on the name. - - CHOICE and SEQ will have name NULL, the number of children in - numchildren and children will point, recursively, to an array - of XML_Content cells. - - The EMPTY, ANY, and MIXED types will only occur at top level. -*/ - -typedef struct XML_cp XML_Content; - -struct XML_cp { - enum XML_Content_Type type; - enum XML_Content_Quant quant; - XML_Char * name; - unsigned int numchildren; - XML_Content * children; -}; - - -/* This is called for an element declaration. See above for - description of the model argument. It's the caller's responsibility - to free model when finished with it. -*/ -typedef void (XMLCALL *XML_ElementDeclHandler) (void *userData, - const XML_Char *name, - XML_Content *model); - -XMLPARSEAPI(void) -XML_SetElementDeclHandler(XML_Parser parser, - XML_ElementDeclHandler eldecl); - -/* The Attlist declaration handler is called for *each* attribute. So - a single Attlist declaration with multiple attributes declared will - generate multiple calls to this handler. The "default" parameter - may be NULL in the case of the "#IMPLIED" or "#REQUIRED" - keyword. The "isrequired" parameter will be true and the default - value will be NULL in the case of "#REQUIRED". If "isrequired" is - true and default is non-NULL, then this is a "#FIXED" default. -*/ -typedef void (XMLCALL *XML_AttlistDeclHandler) ( - void *userData, - const XML_Char *elname, - const XML_Char *attname, - const XML_Char *att_type, - const XML_Char *dflt, - int isrequired); - -XMLPARSEAPI(void) -XML_SetAttlistDeclHandler(XML_Parser parser, - XML_AttlistDeclHandler attdecl); - -/* The XML declaration handler is called for *both* XML declarations - and text declarations. The way to distinguish is that the version - parameter will be NULL for text declarations. The encoding - parameter may be NULL for XML declarations. The standalone - parameter will be -1, 0, or 1 indicating respectively that there - was no standalone parameter in the declaration, that it was given - as no, or that it was given as yes. -*/ -typedef void (XMLCALL *XML_XmlDeclHandler) (void *userData, - const XML_Char *version, - const XML_Char *encoding, - int standalone); - -XMLPARSEAPI(void) -XML_SetXmlDeclHandler(XML_Parser parser, - XML_XmlDeclHandler xmldecl); - - -typedef struct { - void *(*malloc_fcn)(size_t size); - void *(*realloc_fcn)(void *ptr, size_t size); - void (*free_fcn)(void *ptr); -} XML_Memory_Handling_Suite; - -/* Constructs a new parser; encoding is the encoding specified by the - external protocol or NULL if there is none specified. -*/ -XMLPARSEAPI(XML_Parser) -XML_ParserCreate(const XML_Char *encoding); - -/* Constructs a new parser and namespace processor. Element type - names and attribute names that belong to a namespace will be - expanded; unprefixed attribute names are never expanded; unprefixed - element type names are expanded only if there is a default - namespace. The expanded name is the concatenation of the namespace - URI, the namespace separator character, and the local part of the - name. If the namespace separator is '\0' then the namespace URI - and the local part will be concatenated without any separator. - It is a programming error to use the separator '\0' with namespace - triplets (see XML_SetReturnNSTriplet). -*/ -XMLPARSEAPI(XML_Parser) -XML_ParserCreateNS(const XML_Char *encoding, XML_Char namespaceSeparator); - - -/* Constructs a new parser using the memory management suite referred to - by memsuite. If memsuite is NULL, then use the standard library memory - suite. If namespaceSeparator is non-NULL it creates a parser with - namespace processing as described above. The character pointed at - will serve as the namespace separator. - - All further memory operations used for the created parser will come from - the given suite. -*/ -XMLPARSEAPI(XML_Parser) -XML_ParserCreate_MM(const XML_Char *encoding, - const XML_Memory_Handling_Suite *memsuite, - const XML_Char *namespaceSeparator); - -/* Prepare a parser object to be re-used. This is particularly - valuable when memory allocation overhead is disproportionatly high, - such as when a large number of small documnents need to be parsed. - All handlers are cleared from the parser, except for the - unknownEncodingHandler. The parser's external state is re-initialized - except for the values of ns and ns_triplets. - - Added in Expat 1.95.3. -*/ -XMLPARSEAPI(XML_Bool) -XML_ParserReset(XML_Parser parser, const XML_Char *encoding); - -/* atts is array of name/value pairs, terminated by 0; - names and values are 0 terminated. -*/ -typedef void (XMLCALL *XML_StartElementHandler) (void *userData, - const XML_Char *name, - const XML_Char **atts); - -typedef void (XMLCALL *XML_EndElementHandler) (void *userData, - const XML_Char *name); - - -/* s is not 0 terminated. */ -typedef void (XMLCALL *XML_CharacterDataHandler) (void *userData, - const XML_Char *s, - int len); - -/* target and data are 0 terminated */ -typedef void (XMLCALL *XML_ProcessingInstructionHandler) ( - void *userData, - const XML_Char *target, - const XML_Char *data); - -/* data is 0 terminated */ -typedef void (XMLCALL *XML_CommentHandler) (void *userData, - const XML_Char *data); - -typedef void (XMLCALL *XML_StartCdataSectionHandler) (void *userData); -typedef void (XMLCALL *XML_EndCdataSectionHandler) (void *userData); - -/* This is called for any characters in the XML document for which - there is no applicable handler. This includes both characters that - are part of markup which is of a kind that is not reported - (comments, markup declarations), or characters that are part of a - construct which could be reported but for which no handler has been - supplied. The characters are passed exactly as they were in the XML - document except that they will be encoded in UTF-8 or UTF-16. - Line boundaries are not normalized. Note that a byte order mark - character is not passed to the default handler. There are no - guarantees about how characters are divided between calls to the - default handler: for example, a comment might be split between - multiple calls. -*/ -typedef void (XMLCALL *XML_DefaultHandler) (void *userData, - const XML_Char *s, - int len); - -/* This is called for the start of the DOCTYPE declaration, before - any DTD or internal subset is parsed. -*/ -typedef void (XMLCALL *XML_StartDoctypeDeclHandler) ( - void *userData, - const XML_Char *doctypeName, - const XML_Char *sysid, - const XML_Char *pubid, - int has_internal_subset); - -/* This is called for the start of the DOCTYPE declaration when the - closing > is encountered, but after processing any external - subset. -*/ -typedef void (XMLCALL *XML_EndDoctypeDeclHandler)(void *userData); - -/* This is called for entity declarations. The is_parameter_entity - argument will be non-zero if the entity is a parameter entity, zero - otherwise. - - For internal entities (), value will - be non-NULL and systemId, publicID, and notationName will be NULL. - The value string is NOT nul-terminated; the length is provided in - the value_length argument. Since it is legal to have zero-length - values, do not use this argument to test for internal entities. - - For external entities, value will be NULL and systemId will be - non-NULL. The publicId argument will be NULL unless a public - identifier was provided. The notationName argument will have a - non-NULL value only for unparsed entity declarations. - - Note that is_parameter_entity can't be changed to XML_Bool, since - that would break binary compatibility. -*/ -typedef void (XMLCALL *XML_EntityDeclHandler) ( - void *userData, - const XML_Char *entityName, - int is_parameter_entity, - const XML_Char *value, - int value_length, - const XML_Char *base, - const XML_Char *systemId, - const XML_Char *publicId, - const XML_Char *notationName); - -XMLPARSEAPI(void) -XML_SetEntityDeclHandler(XML_Parser parser, - XML_EntityDeclHandler handler); - -/* OBSOLETE -- OBSOLETE -- OBSOLETE - This handler has been superceded by the EntityDeclHandler above. - It is provided here for backward compatibility. - - This is called for a declaration of an unparsed (NDATA) entity. - The base argument is whatever was set by XML_SetBase. The - entityName, systemId and notationName arguments will never be - NULL. The other arguments may be. -*/ -typedef void (XMLCALL *XML_UnparsedEntityDeclHandler) ( - void *userData, - const XML_Char *entityName, - const XML_Char *base, - const XML_Char *systemId, - const XML_Char *publicId, - const XML_Char *notationName); - -/* This is called for a declaration of notation. The base argument is - whatever was set by XML_SetBase. The notationName will never be - NULL. The other arguments can be. -*/ -typedef void (XMLCALL *XML_NotationDeclHandler) ( - void *userData, - const XML_Char *notationName, - const XML_Char *base, - const XML_Char *systemId, - const XML_Char *publicId); - -/* When namespace processing is enabled, these are called once for - each namespace declaration. The call to the start and end element - handlers occur between the calls to the start and end namespace - declaration handlers. For an xmlns attribute, prefix will be - NULL. For an xmlns="" attribute, uri will be NULL. -*/ -typedef void (XMLCALL *XML_StartNamespaceDeclHandler) ( - void *userData, - const XML_Char *prefix, - const XML_Char *uri); - -typedef void (XMLCALL *XML_EndNamespaceDeclHandler) ( - void *userData, - const XML_Char *prefix); - -/* This is called if the document is not standalone, that is, it has an - external subset or a reference to a parameter entity, but does not - have standalone="yes". If this handler returns XML_STATUS_ERROR, - then processing will not continue, and the parser will return a - XML_ERROR_NOT_STANDALONE error. - If parameter entity parsing is enabled, then in addition to the - conditions above this handler will only be called if the referenced - entity was actually read. -*/ -typedef int (XMLCALL *XML_NotStandaloneHandler) (void *userData); - -/* This is called for a reference to an external parsed general - entity. The referenced entity is not automatically parsed. The - application can parse it immediately or later using - XML_ExternalEntityParserCreate. - - The parser argument is the parser parsing the entity containing the - reference; it can be passed as the parser argument to - XML_ExternalEntityParserCreate. The systemId argument is the - system identifier as specified in the entity declaration; it will - not be NULL. - - The base argument is the system identifier that should be used as - the base for resolving systemId if systemId was relative; this is - set by XML_SetBase; it may be NULL. - - The publicId argument is the public identifier as specified in the - entity declaration, or NULL if none was specified; the whitespace - in the public identifier will have been normalized as required by - the XML spec. - - The context argument specifies the parsing context in the format - expected by the context argument to XML_ExternalEntityParserCreate; - context is valid only until the handler returns, so if the - referenced entity is to be parsed later, it must be copied. - context is NULL only when the entity is a parameter entity. - - The handler should return XML_STATUS_ERROR if processing should not - continue because of a fatal error in the handling of the external - entity. In this case the calling parser will return an - XML_ERROR_EXTERNAL_ENTITY_HANDLING error. - - Note that unlike other handlers the first argument is the parser, - not userData. -*/ -typedef int (XMLCALL *XML_ExternalEntityRefHandler) ( - XML_Parser parser, - const XML_Char *context, - const XML_Char *base, - const XML_Char *systemId, - const XML_Char *publicId); - -/* This is called in two situations: - 1) An entity reference is encountered for which no declaration - has been read *and* this is not an error. - 2) An internal entity reference is read, but not expanded, because - XML_SetDefaultHandler has been called. - Note: skipped parameter entities in declarations and skipped general - entities in attribute values cannot be reported, because - the event would be out of sync with the reporting of the - declarations or attribute values -*/ -typedef void (XMLCALL *XML_SkippedEntityHandler) ( - void *userData, - const XML_Char *entityName, - int is_parameter_entity); - -/* This structure is filled in by the XML_UnknownEncodingHandler to - provide information to the parser about encodings that are unknown - to the parser. - - The map[b] member gives information about byte sequences whose - first byte is b. - - If map[b] is c where c is >= 0, then b by itself encodes the - Unicode scalar value c. - - If map[b] is -1, then the byte sequence is malformed. - - If map[b] is -n, where n >= 2, then b is the first byte of an - n-byte sequence that encodes a single Unicode scalar value. - - The data member will be passed as the first argument to the convert - function. - - The convert function is used to convert multibyte sequences; s will - point to a n-byte sequence where map[(unsigned char)*s] == -n. The - convert function must return the Unicode scalar value represented - by this byte sequence or -1 if the byte sequence is malformed. - - The convert function may be NULL if the encoding is a single-byte - encoding, that is if map[b] >= -1 for all bytes b. - - When the parser is finished with the encoding, then if release is - not NULL, it will call release passing it the data member; once - release has been called, the convert function will not be called - again. - - Expat places certain restrictions on the encodings that are supported - using this mechanism. - - 1. Every ASCII character that can appear in a well-formed XML document, - other than the characters - - $@\^`{}~ - - must be represented by a single byte, and that byte must be the - same byte that represents that character in ASCII. - - 2. No character may require more than 4 bytes to encode. - - 3. All characters encoded must have Unicode scalar values <= - 0xFFFF, (i.e., characters that would be encoded by surrogates in - UTF-16 are not allowed). Note that this restriction doesn't - apply to the built-in support for UTF-8 and UTF-16. - - 4. No Unicode character may be encoded by more than one distinct - sequence of bytes. -*/ -typedef struct { - int map[256]; - void *data; - int (XMLCALL *convert)(void *data, const char *s); - void (XMLCALL *release)(void *data); -} XML_Encoding; - -/* This is called for an encoding that is unknown to the parser. - - The encodingHandlerData argument is that which was passed as the - second argument to XML_SetUnknownEncodingHandler. - - The name argument gives the name of the encoding as specified in - the encoding declaration. - - If the callback can provide information about the encoding, it must - fill in the XML_Encoding structure, and return XML_STATUS_OK. - Otherwise it must return XML_STATUS_ERROR. - - If info does not describe a suitable encoding, then the parser will - return an XML_UNKNOWN_ENCODING error. -*/ -typedef int (XMLCALL *XML_UnknownEncodingHandler) ( - void *encodingHandlerData, - const XML_Char *name, - XML_Encoding *info); - -XMLPARSEAPI(void) -XML_SetElementHandler(XML_Parser parser, - XML_StartElementHandler start, - XML_EndElementHandler end); - -XMLPARSEAPI(void) -XML_SetStartElementHandler(XML_Parser parser, - XML_StartElementHandler handler); - -XMLPARSEAPI(void) -XML_SetEndElementHandler(XML_Parser parser, - XML_EndElementHandler handler); - -XMLPARSEAPI(void) -XML_SetCharacterDataHandler(XML_Parser parser, - XML_CharacterDataHandler handler); - -XMLPARSEAPI(void) -XML_SetProcessingInstructionHandler(XML_Parser parser, - XML_ProcessingInstructionHandler handler); -XMLPARSEAPI(void) -XML_SetCommentHandler(XML_Parser parser, - XML_CommentHandler handler); - -XMLPARSEAPI(void) -XML_SetCdataSectionHandler(XML_Parser parser, - XML_StartCdataSectionHandler start, - XML_EndCdataSectionHandler end); - -XMLPARSEAPI(void) -XML_SetStartCdataSectionHandler(XML_Parser parser, - XML_StartCdataSectionHandler start); - -XMLPARSEAPI(void) -XML_SetEndCdataSectionHandler(XML_Parser parser, - XML_EndCdataSectionHandler end); - -/* This sets the default handler and also inhibits expansion of - internal entities. These entity references will be passed to the - default handler, or to the skipped entity handler, if one is set. -*/ -XMLPARSEAPI(void) -XML_SetDefaultHandler(XML_Parser parser, - XML_DefaultHandler handler); - -/* This sets the default handler but does not inhibit expansion of - internal entities. The entity reference will not be passed to the - default handler. -*/ -XMLPARSEAPI(void) -XML_SetDefaultHandlerExpand(XML_Parser parser, - XML_DefaultHandler handler); - -XMLPARSEAPI(void) -XML_SetDoctypeDeclHandler(XML_Parser parser, - XML_StartDoctypeDeclHandler start, - XML_EndDoctypeDeclHandler end); - -XMLPARSEAPI(void) -XML_SetStartDoctypeDeclHandler(XML_Parser parser, - XML_StartDoctypeDeclHandler start); - -XMLPARSEAPI(void) -XML_SetEndDoctypeDeclHandler(XML_Parser parser, - XML_EndDoctypeDeclHandler end); - -XMLPARSEAPI(void) -XML_SetUnparsedEntityDeclHandler(XML_Parser parser, - XML_UnparsedEntityDeclHandler handler); - -XMLPARSEAPI(void) -XML_SetNotationDeclHandler(XML_Parser parser, - XML_NotationDeclHandler handler); - -XMLPARSEAPI(void) -XML_SetNamespaceDeclHandler(XML_Parser parser, - XML_StartNamespaceDeclHandler start, - XML_EndNamespaceDeclHandler end); - -XMLPARSEAPI(void) -XML_SetStartNamespaceDeclHandler(XML_Parser parser, - XML_StartNamespaceDeclHandler start); - -XMLPARSEAPI(void) -XML_SetEndNamespaceDeclHandler(XML_Parser parser, - XML_EndNamespaceDeclHandler end); - -XMLPARSEAPI(void) -XML_SetNotStandaloneHandler(XML_Parser parser, - XML_NotStandaloneHandler handler); - -XMLPARSEAPI(void) -XML_SetExternalEntityRefHandler(XML_Parser parser, - XML_ExternalEntityRefHandler handler); - -/* If a non-NULL value for arg is specified here, then it will be - passed as the first argument to the external entity ref handler - instead of the parser object. -*/ -XMLPARSEAPI(void) -XML_SetExternalEntityRefHandlerArg(XML_Parser parser, - void *arg); - -XMLPARSEAPI(void) -XML_SetSkippedEntityHandler(XML_Parser parser, - XML_SkippedEntityHandler handler); - -XMLPARSEAPI(void) -XML_SetUnknownEncodingHandler(XML_Parser parser, - XML_UnknownEncodingHandler handler, - void *encodingHandlerData); - -/* This can be called within a handler for a start element, end - element, processing instruction or character data. It causes the - corresponding markup to be passed to the default handler. -*/ -XMLPARSEAPI(void) -XML_DefaultCurrent(XML_Parser parser); - -/* If do_nst is non-zero, and namespace processing is in effect, and - a name has a prefix (i.e. an explicit namespace qualifier) then - that name is returned as a triplet in a single string separated by - the separator character specified when the parser was created: URI - + sep + local_name + sep + prefix. - - If do_nst is zero, then namespace information is returned in the - default manner (URI + sep + local_name) whether or not the name - has a prefix. - - Note: Calling XML_SetReturnNSTriplet after XML_Parse or - XML_ParseBuffer has no effect. -*/ - -XMLPARSEAPI(void) -XML_SetReturnNSTriplet(XML_Parser parser, int do_nst); - -/* This value is passed as the userData argument to callbacks. */ -XMLPARSEAPI(void) -XML_SetUserData(XML_Parser parser, void *userData); - -/* Returns the last value set by XML_SetUserData or NULL. */ -#define XML_GetUserData(parser) (*(void **)(parser)) - -/* This is equivalent to supplying an encoding argument to - XML_ParserCreate. On success XML_SetEncoding returns non-zero, - zero otherwise. - Note: Calling XML_SetEncoding after XML_Parse or XML_ParseBuffer - has no effect and returns XML_STATUS_ERROR. -*/ -XMLPARSEAPI(enum XML_Status) -XML_SetEncoding(XML_Parser parser, const XML_Char *encoding); - -/* If this function is called, then the parser will be passed as the - first argument to callbacks instead of userData. The userData will - still be accessible using XML_GetUserData. -*/ -XMLPARSEAPI(void) -XML_UseParserAsHandlerArg(XML_Parser parser); - -/* If useDTD == XML_TRUE is passed to this function, then the parser - will assume that there is an external subset, even if none is - specified in the document. In such a case the parser will call the - externalEntityRefHandler with a value of NULL for the systemId - argument (the publicId and context arguments will be NULL as well). - Note: For the purpose of checking WFC: Entity Declared, passing - useDTD == XML_TRUE will make the parser behave as if the document - had a DTD with an external subset. - Note: If this function is called, then this must be done before - the first call to XML_Parse or XML_ParseBuffer, since it will - have no effect after that. Returns - XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING. - Note: If the document does not have a DOCTYPE declaration at all, - then startDoctypeDeclHandler and endDoctypeDeclHandler will not - be called, despite an external subset being parsed. - Note: If XML_DTD is not defined when Expat is compiled, returns - XML_ERROR_FEATURE_REQUIRES_XML_DTD. -*/ -XMLPARSEAPI(enum XML_Error) -XML_UseForeignDTD(XML_Parser parser, XML_Bool useDTD); - - -/* Sets the base to be used for resolving relative URIs in system - identifiers in declarations. Resolving relative identifiers is - left to the application: this value will be passed through as the - base argument to the XML_ExternalEntityRefHandler, - XML_NotationDeclHandler and XML_UnparsedEntityDeclHandler. The base - argument will be copied. Returns XML_STATUS_ERROR if out of memory, - XML_STATUS_OK otherwise. -*/ -XMLPARSEAPI(enum XML_Status) -XML_SetBase(XML_Parser parser, const XML_Char *base); - -XMLPARSEAPI(const XML_Char *) -XML_GetBase(XML_Parser parser); - -/* Returns the number of the attribute/value pairs passed in last call - to the XML_StartElementHandler that were specified in the start-tag - rather than defaulted. Each attribute/value pair counts as 2; thus - this correspondds to an index into the atts array passed to the - XML_StartElementHandler. -*/ -XMLPARSEAPI(int) -XML_GetSpecifiedAttributeCount(XML_Parser parser); - -/* Returns the index of the ID attribute passed in the last call to - XML_StartElementHandler, or -1 if there is no ID attribute. Each - attribute/value pair counts as 2; thus this correspondds to an - index into the atts array passed to the XML_StartElementHandler. -*/ -XMLPARSEAPI(int) -XML_GetIdAttributeIndex(XML_Parser parser); - -/* Parses some input. Returns XML_STATUS_ERROR if a fatal error is - detected. The last call to XML_Parse must have isFinal true; len - may be zero for this call (or any other). - - Though the return values for these functions has always been - described as a Boolean value, the implementation, at least for the - 1.95.x series, has always returned exactly one of the XML_Status - values. -*/ -XMLPARSEAPI(enum XML_Status) -XML_Parse(XML_Parser parser, const char *s, int len, int isFinal); - -XMLPARSEAPI(void *) -XML_GetBuffer(XML_Parser parser, int len); - -XMLPARSEAPI(enum XML_Status) -XML_ParseBuffer(XML_Parser parser, int len, int isFinal); - -/* Stops parsing, causing XML_Parse() or XML_ParseBuffer() to return. - Must be called from within a call-back handler, except when aborting - (resumable = 0) an already suspended parser. Some call-backs may - still follow because they would otherwise get lost. Examples: - - endElementHandler() for empty elements when stopped in - startElementHandler(), - - endNameSpaceDeclHandler() when stopped in endElementHandler(), - and possibly others. - - Can be called from most handlers, including DTD related call-backs, - except when parsing an external parameter entity and resumable != 0. - Returns XML_STATUS_OK when successful, XML_STATUS_ERROR otherwise. - Possible error codes: - - XML_ERROR_SUSPENDED: when suspending an already suspended parser. - - XML_ERROR_FINISHED: when the parser has already finished. - - XML_ERROR_SUSPEND_PE: when suspending while parsing an external PE. - - When resumable != 0 (true) then parsing is suspended, that is, - XML_Parse() and XML_ParseBuffer() return XML_STATUS_SUSPENDED. - Otherwise, parsing is aborted, that is, XML_Parse() and XML_ParseBuffer() - return XML_STATUS_ERROR with error code XML_ERROR_ABORTED. - - *Note*: - This will be applied to the current parser instance only, that is, if - there is a parent parser then it will continue parsing when the - externalEntityRefHandler() returns. It is up to the implementation of - the externalEntityRefHandler() to call XML_StopParser() on the parent - parser (recursively), if one wants to stop parsing altogether. - - When suspended, parsing can be resumed by calling XML_ResumeParser(). -*/ -XMLPARSEAPI(enum XML_Status) -XML_StopParser(XML_Parser parser, XML_Bool resumable); - -/* Resumes parsing after it has been suspended with XML_StopParser(). - Must not be called from within a handler call-back. Returns same - status codes as XML_Parse() or XML_ParseBuffer(). - Additional error code XML_ERROR_NOT_SUSPENDED possible. - - *Note*: - This must be called on the most deeply nested child parser instance - first, and on its parent parser only after the child parser has finished, - to be applied recursively until the document entity's parser is restarted. - That is, the parent parser will not resume by itself and it is up to the - application to call XML_ResumeParser() on it at the appropriate moment. -*/ -XMLPARSEAPI(enum XML_Status) -XML_ResumeParser(XML_Parser parser); - -enum XML_Parsing { - XML_INITIALIZED, - XML_PARSING, - XML_FINISHED, - XML_SUSPENDED -}; - -typedef struct { - enum XML_Parsing parsing; - XML_Bool finalBuffer; -} XML_ParsingStatus; - -/* Returns status of parser with respect to being initialized, parsing, - finished, or suspended and processing the final buffer. - XXX XML_Parse() and XML_ParseBuffer() should return XML_ParsingStatus, - XXX with XML_FINISHED_OK or XML_FINISHED_ERROR replacing XML_FINISHED -*/ -XMLPARSEAPI(void) -XML_GetParsingStatus(XML_Parser parser, XML_ParsingStatus *status); - -/* Creates an XML_Parser object that can parse an external general - entity; context is a '\0'-terminated string specifying the parse - context; encoding is a '\0'-terminated string giving the name of - the externally specified encoding, or NULL if there is no - externally specified encoding. The context string consists of a - sequence of tokens separated by formfeeds (\f); a token consisting - of a name specifies that the general entity of the name is open; a - token of the form prefix=uri specifies the namespace for a - particular prefix; a token of the form =uri specifies the default - namespace. This can be called at any point after the first call to - an ExternalEntityRefHandler so longer as the parser has not yet - been freed. The new parser is completely independent and may - safely be used in a separate thread. The handlers and userData are - initialized from the parser argument. Returns NULL if out of memory. - Otherwise returns a new XML_Parser object. -*/ -XMLPARSEAPI(XML_Parser) -XML_ExternalEntityParserCreate(XML_Parser parser, - const XML_Char *context, - const XML_Char *encoding); - -enum XML_ParamEntityParsing { - XML_PARAM_ENTITY_PARSING_NEVER, - XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE, - XML_PARAM_ENTITY_PARSING_ALWAYS -}; - -/* Controls parsing of parameter entities (including the external DTD - subset). If parsing of parameter entities is enabled, then - references to external parameter entities (including the external - DTD subset) will be passed to the handler set with - XML_SetExternalEntityRefHandler. The context passed will be 0. - - Unlike external general entities, external parameter entities can - only be parsed synchronously. If the external parameter entity is - to be parsed, it must be parsed during the call to the external - entity ref handler: the complete sequence of - XML_ExternalEntityParserCreate, XML_Parse/XML_ParseBuffer and - XML_ParserFree calls must be made during this call. After - XML_ExternalEntityParserCreate has been called to create the parser - for the external parameter entity (context must be 0 for this - call), it is illegal to make any calls on the old parser until - XML_ParserFree has been called on the newly created parser. - If the library has been compiled without support for parameter - entity parsing (ie without XML_DTD being defined), then - XML_SetParamEntityParsing will return 0 if parsing of parameter - entities is requested; otherwise it will return non-zero. - Note: If XML_SetParamEntityParsing is called after XML_Parse or - XML_ParseBuffer, then it has no effect and will always return 0. -*/ -XMLPARSEAPI(int) -XML_SetParamEntityParsing(XML_Parser parser, - enum XML_ParamEntityParsing parsing); - -/* If XML_Parse or XML_ParseBuffer have returned XML_STATUS_ERROR, then - XML_GetErrorCode returns information about the error. -*/ -XMLPARSEAPI(enum XML_Error) -XML_GetErrorCode(XML_Parser parser); - -/* These functions return information about the current parse - location. They may be called from any callback called to report - some parse event; in this case the location is the location of the - first of the sequence of characters that generated the event. When - called from callbacks generated by declarations in the document - prologue, the location identified isn't as neatly defined, but will - be within the relevant markup. When called outside of the callback - functions, the position indicated will be just past the last parse - event (regardless of whether there was an associated callback). - - They may also be called after returning from a call to XML_Parse - or XML_ParseBuffer. If the return value is XML_STATUS_ERROR then - the location is the location of the character at which the error - was detected; otherwise the location is the location of the last - parse event, as described above. -*/ -XMLPARSEAPI(XML_Size) XML_GetCurrentLineNumber(XML_Parser parser); -XMLPARSEAPI(XML_Size) XML_GetCurrentColumnNumber(XML_Parser parser); -XMLPARSEAPI(XML_Index) XML_GetCurrentByteIndex(XML_Parser parser); - -/* Return the number of bytes in the current event. - Returns 0 if the event is in an internal entity. -*/ -XMLPARSEAPI(int) -XML_GetCurrentByteCount(XML_Parser parser); - -/* If XML_CONTEXT_BYTES is defined, returns the input buffer, sets - the integer pointed to by offset to the offset within this buffer - of the current parse position, and sets the integer pointed to by size - to the size of this buffer (the number of input bytes). Otherwise - returns a NULL pointer. Also returns a NULL pointer if a parse isn't - active. - - NOTE: The character pointer returned should not be used outside - the handler that makes the call. -*/ -XMLPARSEAPI(const char *) -XML_GetInputContext(XML_Parser parser, - int *offset, - int *size); - -/* For backwards compatibility with previous versions. */ -#define XML_GetErrorLineNumber XML_GetCurrentLineNumber -#define XML_GetErrorColumnNumber XML_GetCurrentColumnNumber -#define XML_GetErrorByteIndex XML_GetCurrentByteIndex - -/* Frees the content model passed to the element declaration handler */ -XMLPARSEAPI(void) -XML_FreeContentModel(XML_Parser parser, XML_Content *model); - -/* Exposing the memory handling functions used in Expat */ -XMLPARSEAPI(void *) -XML_MemMalloc(XML_Parser parser, size_t size); - -XMLPARSEAPI(void *) -XML_MemRealloc(XML_Parser parser, void *ptr, size_t size); - -XMLPARSEAPI(void) -XML_MemFree(XML_Parser parser, void *ptr); - -/* Frees memory used by the parser. */ -XMLPARSEAPI(void) -XML_ParserFree(XML_Parser parser); - -/* Returns a string describing the error. */ -XMLPARSEAPI(const XML_LChar *) -XML_ErrorString(enum XML_Error code); - -/* Return a string containing the version number of this expat */ -XMLPARSEAPI(const XML_LChar *) -XML_ExpatVersion(void); - -typedef struct { - int major; - int minor; - int micro; -} XML_Expat_Version; - -/* Return an XML_Expat_Version structure containing numeric version - number information for this version of expat. -*/ -XMLPARSEAPI(XML_Expat_Version) -XML_ExpatVersionInfo(void); - -/* Added in Expat 1.95.5. */ -enum XML_FeatureEnum { - XML_FEATURE_END = 0, - XML_FEATURE_UNICODE, - XML_FEATURE_UNICODE_WCHAR_T, - XML_FEATURE_DTD, - XML_FEATURE_CONTEXT_BYTES, - XML_FEATURE_MIN_SIZE, - XML_FEATURE_SIZEOF_XML_CHAR, - XML_FEATURE_SIZEOF_XML_LCHAR, - XML_FEATURE_NS, - XML_FEATURE_LARGE_SIZE - /* Additional features must be added to the end of this enum. */ -}; - -typedef struct { - enum XML_FeatureEnum feature; - const XML_LChar *name; - long int value; -} XML_Feature; - -XMLPARSEAPI(const XML_Feature *) -XML_GetFeatureList(void); - - -/* Expat follows the GNU/Linux convention of odd number minor version for - beta/development releases and even number minor version for stable - releases. Micro is bumped with each release, and set to 0 with each - change to major or minor version. -*/ -#define XML_MAJOR_VERSION 2 -#define XML_MINOR_VERSION 0 -#define XML_MICRO_VERSION 1 - -#ifdef __cplusplus -} -#endif - -#endif /* not Expat_INCLUDED */ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/expat_external.h b/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/expat_external.h deleted file mode 100644 index bb83a995..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/expat_external.h +++ /dev/null @@ -1,115 +0,0 @@ -/* Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd - See the file COPYING for copying permission. -*/ - -#ifndef Expat_External_INCLUDED -#define Expat_External_INCLUDED 1 - -/* External API definitions */ - -#if defined(_MSC_EXTENSIONS) && !defined(__BEOS__) && !defined(__CYGWIN__) -#define XML_USE_MSC_EXTENSIONS 1 -#endif - -/* Expat tries very hard to make the API boundary very specifically - defined. There are two macros defined to control this boundary; - each of these can be defined before including this header to - achieve some different behavior, but doing so it not recommended or - tested frequently. - - XMLCALL - The calling convention to use for all calls across the - "library boundary." This will default to cdecl, and - try really hard to tell the compiler that's what we - want. - - XMLIMPORT - Whatever magic is needed to note that a function is - to be imported from a dynamically loaded library - (.dll, .so, or .sl, depending on your platform). - - The XMLCALL macro was added in Expat 1.95.7. The only one which is - expected to be directly useful in client code is XMLCALL. - - Note that on at least some Unix versions, the Expat library must be - compiled with the cdecl calling convention as the default since - system headers may assume the cdecl convention. -*/ -#ifndef XMLCALL -#if defined(_MSC_VER) -#define XMLCALL __cdecl -#elif defined(__GNUC__) && defined(__i386) && !defined(__INTEL_COMPILER) -#define XMLCALL __attribute__((cdecl)) -#else -/* For any platform which uses this definition and supports more than - one calling convention, we need to extend this definition to - declare the convention used on that platform, if it's possible to - do so. - - If this is the case for your platform, please file a bug report - with information on how to identify your platform via the C - pre-processor and how to specify the same calling convention as the - platform's malloc() implementation. -*/ -#define XMLCALL -#endif -#endif /* not defined XMLCALL */ - - -#if !defined(XML_STATIC) && !defined(XMLIMPORT) -#ifndef XML_BUILDING_EXPAT -/* using Expat from an application */ - -#ifdef XML_USE_MSC_EXTENSIONS -#define XMLIMPORT __declspec(dllimport) -#endif - -#endif -#endif /* not defined XML_STATIC */ - - -/* If we didn't define it above, define it away: */ -#ifndef XMLIMPORT -#define XMLIMPORT -#endif - - -#define XMLPARSEAPI(type) XMLIMPORT type XMLCALL - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef XML_UNICODE_WCHAR_T -#define XML_UNICODE -#endif - -#ifdef XML_UNICODE /* Information is UTF-16 encoded. */ -#ifdef XML_UNICODE_WCHAR_T -typedef wchar_t XML_Char; -typedef wchar_t XML_LChar; -#else -typedef unsigned short XML_Char; -typedef char XML_LChar; -#endif /* XML_UNICODE_WCHAR_T */ -#else /* Information is UTF-8 encoded. */ -typedef char XML_Char; -typedef char XML_LChar; -#endif /* XML_UNICODE */ - -#ifdef XML_LARGE_SIZE /* Use large integers for file/stream positions. */ -#if defined(XML_USE_MSC_EXTENSIONS) && _MSC_VER < 1400 -typedef __int64 XML_Index; -typedef unsigned __int64 XML_Size; -#else -typedef long long XML_Index; -typedef unsigned long long XML_Size; -#endif -#else -typedef long XML_Index; -typedef unsigned long XML_Size; -#endif /* XML_LARGE_SIZE */ - -#ifdef __cplusplus -} -#endif - -#endif /* not Expat_External_INCLUDED */ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/libexpatMT.lib b/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/libexpatMT.lib deleted file mode 100644 index 2436f617..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/libexpatMT.lib and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/sim_support.c b/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/sim_support.c deleted file mode 100644 index 32b5439b..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/sim_support.c +++ /dev/null @@ -1,476 +0,0 @@ -/* ------------------------------------------------------------------------- - * sim_support.c - * Functions used by both FMU simulators fmusim_me and fmusim_cs - * to parse command-line arguments, to unzip and load an fmu, - * to write CSV file, and more. - * Copyright 2011 QTronic GmbH. All rights reserved. - * -------------------------------------------------------------------------*/ - -#include -#include -#include -#include - -#ifdef FMI_COSIMULATION -#include "fmi_cs.h" -#else -#include "fmi_me.h" -#endif - -#include "sim_support.h" - -extern FMU fmu; - -int unzip(const char *zipPath, const char *outPath) { - int code; - char cwd[BUFSIZE]; - char binPath[BUFSIZE]; - int n = strlen(UNZIP_CMD) + strlen(outPath) + 1 + strlen(zipPath) + 9; - char* cmd = (char*)calloc(sizeof(char), n); - - // remember current directory - if (!GetCurrentDirectory(BUFSIZE, cwd)) { - printf ("error: Could not get current directory\n"); - return 0; // error - } - - // change to %FMUSDK_HOME%\bin to find 7z.dll and 7z.exe - if (!GetEnvironmentVariable("FMUSDK_HOME", binPath, BUFSIZE)) { - if (GetLastError() == ERROR_ENVVAR_NOT_FOUND) { - printf ("error: Environment variable FMUSDK_HOME not defined\n"); - } - else { - printf ("error: Could not get value of FMUSDK_HOME\n"); - } - return 0; // error - } - strcat(binPath, "\\bin"); - if (!SetCurrentDirectory(binPath)) { - printf ("error: could not change to directory '%s'\n", binPath); - return 0; // error - } - - // run the unzip command - // remove "> NUL" to see the unzip protocol - sprintf(cmd, "%s%s \"%s\" > NUL", UNZIP_CMD, outPath, zipPath); - // printf("cmd='%s'\n", cmd); - code = system(cmd); - free(cmd); - if (code!=SEVEN_ZIP_NO_ERROR) { - switch (code) { - printf("7z: "); - case SEVEN_ZIP_WARNING: printf("warning\n"); break; - case SEVEN_ZIP_ERROR: printf("error\n"); break; - case SEVEN_ZIP_COMMAND_LINE_ERROR: printf("command line error\n"); break; - case SEVEN_ZIP_OUT_OF_MEMORY: printf("out of memory\n"); break; - case SEVEN_ZIP_STOPPED_BY_USER: printf("stopped by user\n"); break; - default: printf("unknown problem\n"); - } - } - - // restore current directory - SetCurrentDirectory(cwd); - - return (code==SEVEN_ZIP_NO_ERROR || code==SEVEN_ZIP_WARNING) ? 1 : 0; -} - -// fileName is an absolute path, e.g. C:\test\a.fmu -// or relative to the current dir, e.g. ..\test\a.fmu -// Does not check for existence of the file -static char* getFmuPath(const char* fileName){ - char pathName[MAX_PATH]; - int n = GetFullPathName(fileName, MAX_PATH, pathName, NULL); - return n ? strdup(pathName) : NULL; -} - -static char* getTmpPath() { - char tmpPath[BUFSIZE]; - if(! GetTempPath(BUFSIZE, tmpPath)) { - printf ("error: Could not find temporary disk space\n"); - return NULL; - } - strcat(tmpPath, "fmu\\"); - return strdup(tmpPath); -} - -static void* getAdr(int* s, FMU *fmu, const char* functionName){ - char name[BUFSIZE]; - void* fp; - sprintf(name, "%s_%s", getModelIdentifier(fmu->modelDescription), functionName); - fp = GetProcAddress(fmu->dllHandle, name); - if (!fp) { - printf ("warning: Function %s not found in dll\n", name); - *s = 0; // mark dll load as 'failed' - } - return fp; -} - -// Load the given dll and set function pointers in fmu -// Return 0 to indicate failure -static int loadDll(const char* dllPath, FMU *fmu) { - int x = 1, s = 1; - HANDLE h = LoadLibrary(dllPath); - if (!h) { - printf("error: Could not load %s\n", dllPath); - return 0; // failure - } - fmu->dllHandle = h; - -#ifdef FMI_COSIMULATION - fmu->getTypesPlatform = (fGetTypesPlatform) getAdr(&s, fmu, "fmiGetTypesPlatform"); - if (s==0) { - s = 1; // work around bug for FMUs exported using Dymola 2012 and SimulationX 3.x - fmu->getTypesPlatform = (fGetTypesPlatform) getAdr(&s, fmu, "fmiGetModelTypesPlatform"); - if (s==1) printf(" using fmiGetModelTypesPlatform instead\n", dllPath); - } - fmu->instantiateSlave = (fInstantiateSlave) getAdr(&s, fmu, "fmiInstantiateSlave"); - fmu->initializeSlave = (fInitializeSlave) getAdr(&s, fmu, "fmiInitializeSlave"); - fmu->terminateSlave = (fTerminateSlave) getAdr(&s, fmu, "fmiTerminateSlave"); - fmu->resetSlave = (fResetSlave) getAdr(&s, fmu, "fmiResetSlave"); - fmu->freeSlaveInstance = (fFreeSlaveInstance) getAdr(&s, fmu, "fmiFreeSlaveInstance"); - fmu->setRealInputDerivatives = (fSetRealInputDerivatives) getAdr(&s, fmu, "fmiSetRealInputDerivatives"); - fmu->getRealOutputDerivatives = (fGetRealOutputDerivatives) getAdr(&s, fmu, "fmiGetRealOutputDerivatives"); - fmu->cancelStep = (fCancelStep) getAdr(&s, fmu, "fmiCancelStep"); - fmu->doStep = (fDoStep) getAdr(&s, fmu, "fmiDoStep"); - // SimulationX 3.4 and 3.5 do not yet export getStatus and getXStatus: do not count this as failure here - fmu->getStatus = (fGetStatus) getAdr(&x, fmu, "fmiGetStatus"); - fmu->getRealStatus = (fGetRealStatus) getAdr(&x, fmu, "fmiGetRealStatus"); - fmu->getIntegerStatus = (fGetIntegerStatus) getAdr(&x, fmu, "fmiGetIntegerStatus"); - fmu->getBooleanStatus = (fGetBooleanStatus) getAdr(&x, fmu, "fmiGetBooleanStatus"); - fmu->getStringStatus = (fGetStringStatus) getAdr(&x, fmu, "fmiGetStringStatus"); - -#else // FMI for Model Exchange 1.0 - fmu->getModelTypesPlatform = (fGetModelTypesPlatform) getAdr(&s, fmu, "fmiGetModelTypesPlatform"); - fmu->instantiateModel = (fInstantiateModel) getAdr(&s, fmu, "fmiInstantiateModel"); - fmu->freeModelInstance = (fFreeModelInstance) getAdr(&s, fmu, "fmiFreeModelInstance"); - fmu->setTime = (fSetTime) getAdr(&s, fmu, "fmiSetTime"); - fmu->setContinuousStates = (fSetContinuousStates)getAdr(&s, fmu, "fmiSetContinuousStates"); - fmu->completedIntegratorStep = (fCompletedIntegratorStep)getAdr(&s, fmu, "fmiCompletedIntegratorStep"); - fmu->initialize = (fInitialize) getAdr(&s, fmu, "fmiInitialize"); - fmu->getDerivatives = (fGetDerivatives) getAdr(&s, fmu, "fmiGetDerivatives"); - fmu->getEventIndicators = (fGetEventIndicators) getAdr(&s, fmu, "fmiGetEventIndicators"); - fmu->eventUpdate = (fEventUpdate) getAdr(&s, fmu, "fmiEventUpdate"); - fmu->getContinuousStates = (fGetContinuousStates)getAdr(&s, fmu, "fmiGetContinuousStates"); - fmu->getNominalContinuousStates = (fGetNominalContinuousStates)getAdr(&s, fmu, "fmiGetNominalContinuousStates"); - fmu->getStateValueReferences = (fGetStateValueReferences)getAdr(&s, fmu, "fmiGetStateValueReferences"); - fmu->terminate = (fTerminate) getAdr(&s, fmu, "fmiTerminate"); -#endif - fmu->getVersion = (fGetVersion) getAdr(&s, fmu, "fmiGetVersion"); - fmu->setDebugLogging = (fSetDebugLogging) getAdr(&s, fmu, "fmiSetDebugLogging"); - fmu->setReal = (fSetReal) getAdr(&s, fmu, "fmiSetReal"); - fmu->setInteger = (fSetInteger) getAdr(&s, fmu, "fmiSetInteger"); - fmu->setBoolean = (fSetBoolean) getAdr(&s, fmu, "fmiSetBoolean"); - fmu->setString = (fSetString) getAdr(&s, fmu, "fmiSetString"); - fmu->getReal = (fGetReal) getAdr(&s, fmu, "fmiGetReal"); - fmu->getInteger = (fGetInteger) getAdr(&s, fmu, "fmiGetInteger"); - fmu->getBoolean = (fGetBoolean) getAdr(&s, fmu, "fmiGetBoolean"); - fmu->getString = (fGetString) getAdr(&s, fmu, "fmiGetString"); - return s; -} - -static void printModelDescription(ModelDescription* md){ - Element* e = (Element*)md; - int i; - printf("%s\n", elmNames[e->type]); - for (i=0; in; i+=2) - printf(" %s=%s\n", e->attributes[i], e->attributes[i+1]); -#ifdef FMI_COSIMULATION - if (!md->cosimulation) { - printf("error: No Implementation element found in model description. This FMU is not for Co-Simulation.\n"); - exit(EXIT_FAILURE); - } - e = md->cosimulation->capabilities; - printf("%s\n", elmNames[e->type]); - for (i=0; in; i+=2) - printf(" %s=%s\n", e->attributes[i], e->attributes[i+1]); -#endif // FMI_COSIMULATION -} - -void loadFMU(const char* fmuFileName) { - char* fmuPath; - char* tmpPath; - char* xmlPath; - char* dllPath; - - // get absolute path to FMU, NULL if not found - fmuPath = getFmuPath(fmuFileName); - if (!fmuPath) exit(EXIT_FAILURE); - - // unzip the FMU to the tmpPath directory - tmpPath = getTmpPath(); - if (!unzip(fmuPath, tmpPath)) exit(EXIT_FAILURE); - - // parse tmpPath\modelDescription.xml - xmlPath = calloc(sizeof(char), strlen(tmpPath) + strlen(XML_FILE) + 1); - sprintf(xmlPath, "%s%s", tmpPath, XML_FILE); - fmu.modelDescription = parse(xmlPath); - free(xmlPath); - if (!fmu.modelDescription) exit(EXIT_FAILURE); - printModelDescription(fmu.modelDescription); - - // load the FMU dll - dllPath = calloc(sizeof(char), strlen(tmpPath) + strlen(DLL_DIR) - + strlen( getModelIdentifier(fmu.modelDescription)) + strlen(".dll") + 1); - sprintf(dllPath,"%s%s%s.dll", tmpPath, DLL_DIR, getModelIdentifier(fmu.modelDescription)); - if (!loadDll(dllPath, &fmu)) exit(EXIT_FAILURE); - free(dllPath); - free(fmuPath); - free(tmpPath); -} - -static void doubleToCommaString(char* buffer, double r){ - char* comma; - sprintf(buffer, "%.16g", r); - comma = strchr(buffer, '.'); - if (comma) *comma = ','; -} - -// output time and all non-alias variables in CSV format -// if separator is ',', columns are separated by ',' and '.' is used for floating-point numbers. -// otherwise, the given separator (e.g. ';' or '\t') is to separate columns, and ',' is used -// as decimal dot in floating-point numbers. -void outputRow(FMU *fmu, fmiComponent c, double time, FILE* file, char separator, boolean header) { - int k; - fmiReal r; - fmiInteger i; - fmiBoolean b; - fmiString s; - fmiValueReference vr; - ScalarVariable** vars = fmu->modelDescription->modelVariables; - char buffer[32]; - - // print first column - if (header) - fprintf(file, "time"); - else { - if (separator==',') - fprintf(file, "%.16g", time); - else { - // separator is e.g. ';' or '\t' - doubleToCommaString(buffer, time); - fprintf(file, "%s", buffer); - } - } - - // print all other columns - for (k=0; vars[k]; k++) { - ScalarVariable* sv = vars[k]; - if (getAlias(sv)!=enu_noAlias) continue; - if (header) { - // output names only - if (separator==',') { - // treat array element, e.g. print a[1, 2] as a[1.2] - char* s = getName(sv); - fprintf(file, "%c", separator); - while (*s) { - if (*s!=' ') fprintf(file, "%c", *s==',' ? '.' : *s); - s++; - } - } - else - fprintf(file, "%c%s", separator, getName(sv)); - } - else { - // output values - vr = getValueReference(sv); - switch (sv->typeSpec->type){ - case elm_Real: - fmu->getReal(c, &vr, 1, &r); - if (separator==',') - fprintf(file, ",%.16g", r); - else { - // separator is e.g. ';' or '\t' - doubleToCommaString(buffer, r); - fprintf(file, "%c%s", separator, buffer); - } - break; - case elm_Integer: - case elm_Enumeration: - fmu->getInteger(c, &vr, 1, &i); - fprintf(file, "%c%d", separator, i); - break; - case elm_Boolean: - fmu->getBoolean(c, &vr, 1, &b); - fprintf(file, "%c%d", separator, b); - break; - case elm_String: - fmu->getString(c, &vr, 1, &s); - fprintf(file, "%c%s", separator, s); - break; - default: - fprintf(file, "%cNoValueForType=%d", separator,sv->typeSpec->type); - } - } - } // for - - // terminate this row - fprintf(file, "\n"); -} - -static const char* fmiStatusToString(fmiStatus status){ - switch (status){ - case fmiOK: return "ok"; - case fmiWarning: return "warning"; - case fmiDiscard: return "discard"; - case fmiError: return "error"; - case fmiFatal: return "fatal"; -#ifdef FMI_COSIMULATION - case fmiPending: return "fmiPending"; -#endif - default: return "?"; - } -} - -// search a fmu for the given variable -// return NULL if not found or vr = fmiUndefinedValueReference -static ScalarVariable* getSV(FMU* fmu, char type, fmiValueReference vr) { - int i; - Elm tp; - ScalarVariable** vars = fmu->modelDescription->modelVariables; - if (vr==fmiUndefinedValueReference) return NULL; - switch (type) { - case 'r': tp = elm_Real; break; - case 'i': tp = elm_Integer; break; - case 'b': tp = elm_Boolean; break; - case 's': tp = elm_String; break; - } - for (i=0; vars[i]; i++) { - ScalarVariable* sv = vars[i]; - if (vr==getValueReference(sv) && tp==sv->typeSpec->type) - return sv; - } - return NULL; -} - -// replace e.g. #r1365# by variable name and ## by # in message -// copies the result to buffer -static void replaceRefsInMessage(const char* msg, char* buffer, int nBuffer, FMU* fmu){ - int i=0; // position in msg - int k=0; // position in buffer - int n; - char c = msg[i]; - while (c!='\0' && k < nBuffer) { - if (c!='#') { - buffer[k++]=c; - i++; - c = msg[i]; - } - else { - char* end = strchr(msg+i+1, '#'); - if (!end) { - printf("unmatched '#' in '%s'\n", msg); - buffer[k++]='#'; - break; - } - n = end - (msg+i); - if (n==1) { - // ## detected, output # - buffer[k++]='#'; - i += 2; - c = msg[i]; - } - else { - char type = msg[i+1]; // one of ribs - fmiValueReference vr; - int nvr = sscanf(msg+i+2, "%u", &vr); - if (nvr==1) { - // vr of type detected, e.g. #r12# - ScalarVariable* sv = getSV(fmu, type, vr); - const char* name = sv ? getName(sv) : "?"; - sprintf(buffer+k, "%s", name); - k += strlen(name); - i += (n+1); - c = msg[i]; - } - else { - // could not parse the number - printf("illegal value reference at position %d in '%s'\n", i+2, msg); - buffer[k++]='#'; - break; - } - } - } - } // while - buffer[k] = '\0'; -} - -#define MAX_MSG_SIZE 1000 -void fmuLogger(fmiComponent c, fmiString instanceName, fmiStatus status, - fmiString category, fmiString message, ...) { - char msg[MAX_MSG_SIZE]; - char* copy; - va_list argp; - - // replace C format strings - va_start(argp, message); - vsprintf(msg, message, argp); - - // replace e.g. ## and #r12# - copy = strdup(msg); - replaceRefsInMessage(copy, msg, MAX_MSG_SIZE, &fmu); - free(copy); - - // print the final message - if (!instanceName) instanceName = "?"; - if (!category) category = "?"; - printf("%s %s (%s): %s\n", fmiStatusToString(status), instanceName, category, msg); -} - -int error(const char* message){ - printf("%s\n", message); - return 0; -} - -void parseArguments(int argc, char *argv[], char** fmuFileName, double* tEnd, double* h, int* loggingOn, char* csv_separator) { - // parse command line arguments - if (argc>1) { - *fmuFileName = argv[1]; - } - else { - printf("error: no fmu file\n"); - printHelp(argv[0]); - exit(EXIT_FAILURE); - } - if (argc>2) { - if (sscanf(argv[2],"%lf", tEnd) != 1) { - printf("error: The given end time (%s) is not a number\n", argv[2]); - exit(EXIT_FAILURE); - } - } - if (argc>3) { - if (sscanf(argv[3],"%lf", h) != 1) { - printf("error: The given stepsize (%s) is not a number\n", argv[3]); - exit(EXIT_FAILURE); - } - } - if (argc>4) { - if (sscanf(argv[4],"%d", loggingOn) != 1 || *loggingOn<0 || *loggingOn>1) { - printf("error: The given logging flag (%s) is not boolean\n", argv[4]); - exit(EXIT_FAILURE); - } - } - if (argc>5) { - if (strlen(argv[5]) != 1) { - printf("error: The given CSV separator char (%s) is not valid\n", argv[5]); - exit(EXIT_FAILURE); - } - switch (argv[5][0]) { - case 'c': *csv_separator = ','; break; // comma - case 's': *csv_separator = ';'; break; // semicolon - default: *csv_separator = argv[5][0]; break; // any other char - } - } - if (argc>6) { - printf("warning: Ignoring %d additional arguments: %s ...\n", argc-6, argv[6]); - printHelp(argv[0]); - } -} - -void printHelp(const char* fmusim) { - printf("command syntax: %s \n", fmusim); - printf(" .... path to FMU, relative to current dir or absolute, required\n"); - printf(" ......... end time of simulation, optional, defaults to 1.0 sec\n"); - printf(" ............ step size of simulation, optional, defaults to 0.1 sec\n"); - printf(" .... 1 to activate logging, optional, defaults to 0\n"); - printf(" . separator in csv file, optional, c for ';', s for';', defaults to c\n"); -} diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/sim_support.h b/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/sim_support.h deleted file mode 100644 index 648c8b59..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/sim_support.h +++ /dev/null @@ -1,31 +0,0 @@ -/* ------------------------------------------------------------------------- - * sim_support.h - * Functions used by the FMU simulatios fmusim_me and fmusim_cs. - * Copyright 2011 QTronic GmbH. All rights reserved. - * -------------------------------------------------------------------------*/ - -// Used 7z options, version 4.57: -// -x Extracts files from an archive with their full paths in the current dir, or in an output dir if specified -// -aoa Overwrite All existing files without prompt -// -o Specifies a destination directory where files are to be extracted -#define UNZIP_CMD "7z x -aoa -o" -#define XML_FILE "modelDescription.xml" -#define DLL_DIR "binaries\\win32\\" -#define RESULT_FILE "result.csv" -#define BUFSIZE 4096 - -// return codes of the 7z command line tool -#define SEVEN_ZIP_NO_ERROR 0 // success -#define SEVEN_ZIP_WARNING 1 // e.g., one or more files were locked during zip -#define SEVEN_ZIP_ERROR 2 -#define SEVEN_ZIP_COMMAND_LINE_ERROR 7 -#define SEVEN_ZIP_OUT_OF_MEMORY 8 -#define SEVEN_ZIP_STOPPED_BY_USER 255 - -void fmuLogger(fmiComponent c, fmiString instanceName, fmiStatus status, fmiString category, fmiString message, ...); -int unzip(const char *zipPath, const char *outPath); -void parseArguments(int argc, char *argv[], char** fmuFileName, double* tEnd, double* h, int* loggingOn, char* csv_separator); -void loadFMU(const char* fmuFileName); -void outputRow(FMU *fmu, fmiComponent c, double time, FILE* file, char separator, boolean header); -int error(const char* message); -void printHelp(const char* fmusim); diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/stack.c b/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/stack.c deleted file mode 100644 index 042b796b..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/stack.c +++ /dev/null @@ -1,85 +0,0 @@ -/* ------------------------------------------------------------------------- - * stack.c - * A stack of pointers. - * Copyright 2010 QTronic GmbH. All rights reserved. - * -------------------------------------------------------------------------*/ - -#include -#include -#include -#include "stack.h" - -Stack* stackNew(int initialSize, int inc){ - Stack* s = (Stack*)malloc(sizeof(Stack)); - s->stack = NULL; - s->stackSize = 0; - s->stackPos = -1; - s->initialSize = initialSize; - s->inc = inc; - return s; -} - -int stackIsEmpty(Stack* s) { - return s->stackPos == -1; -} - -// add an element to stack and grow stack if required -// returns 1 to indicate success and 0 for error -int stackPush(Stack* s, void* e) { - s->stackPos++; - if (s->stackPos==s->stackSize){ - s->stackSize += (s->stack ? s->inc: s->initialSize); - s->stack = (void**) realloc(s->stack, s->stackSize * sizeof(void*)); - if (!s->stack) return 0; // error; - } - s->stack[s->stackPos] = e; - return 1; // success -} - -// return top element (possibly NULL), if stack not empty -// runtime error if stack is empty -void* stackPeek(Stack* s){ - assert(!stackIsEmpty(s)); - return s->stack[s->stackPos]; -} - -// remove top element (possibly NULL) from stack and return it -// runtime error if stack is empty -void* stackPop(Stack* s){ - assert(!stackIsEmpty(s)); - return s->stack[s->stackPos--]; -} - -// return the last n elements as null terminated array, -// or NULL if memory allocation fails -void** stackLastPopedAsArray0(Stack* s, int n){ - int i; - void** array = (void**)malloc((n + 1)*sizeof(void*)); - if (! array) return NULL; // failure - for (i=0; istack[i+ s->stackPos + 1]; - } - array[n]=NULL; // terminating NULL - return array; -} - -// return stack as possibly empty array, or NULL if memory allocation fails -// On sucessful return, the stack is empty. -void** stackPopAllAsArray(Stack* s, int *size) { - int i; - void** array = (void**)malloc((s->stackPos + 1)*sizeof(void*)); - if (! array) return NULL; // failure - *size = s->stackPos + 1; - for (i=0; i<*size; i++) - array[i] = s->stack[i]; - s->stackPos = -1; - return array; -} - -// release the given stack -void stackFree(Stack* s){ - if (s->stack) free(s->stack); - free(s); -} - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/stack.h b/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/stack.h deleted file mode 100644 index a52977fa..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/stack.h +++ /dev/null @@ -1,28 +0,0 @@ -/* ------------------------------------------------------------------------- - * stack.c - * A stack of pointers. - * Copyright 2010 QTronic GmbH. All rights reserved. - * -------------------------------------------------------------------------*/ - -#ifndef STACK_H -#define STACK_H - -typedef struct { - void** stack; - int stackSize; // allocated size of stack - int stackPos; // array index of top element, -1 if stack is empty. - int initialSize; // how many element to allocate initially - int inc; // how many elements to allocate when stack gets full -} Stack; - -Stack* stackNew(int initialSize, int inc); -int stackIsEmpty(Stack* s); -int stackPush(Stack* s, void* e); -void* stackPeek(Stack* s); -void* stackPop(Stack* s); -void** stackPopAllAsArray(Stack* s, int *size); -void** stackLastPopedAsArray0(Stack* s, int n); -void stackFree(Stack* s); - -#endif // STACK_H - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/xml_parser.c b/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/xml_parser.c deleted file mode 100644 index 93e62162..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/xml_parser.c +++ /dev/null @@ -1,860 +0,0 @@ -/* ------------------------------------------------------------------------- - * xml_Parser.c - * A parser for file modelVariables.xml of an FMU. - * The parser creates an AST (abstract syntax tree) for a given XML file. - * The root node of the AST is of type ModelDescription. - * Validation already performed by this parser - * - check for match of open/close elements (performed by Expat) - * - ceck element, attribute and enum value names, all case sensitive - * - check for each element that is has the expected parent element - * - check for correct sequence of elements - * - check that all decalaredType values reference an existing Type - * Validation to be performed by this parser - * - check for each attribute value that it is of the expected type - * - check that required attributes are present - * - check that dependencies are only declared for outputs and - * refer only to inputs - * Author: Jakob Mauss - * Copyright 2011 QTronic GmbH. All rights reserved. - * -------------------------------------------------------------------------*/ - -#include -#include -#include -#include "xml_parser.h" - -const char *elmNames[SIZEOF_ELM] = { - "fmiModelDescription","UnitDefinitions","BaseUnit","DisplayUnitDefinition","TypeDefinitions", - "Type","RealType","IntegerType","BooleanType","StringType","EnumerationType","Item", - "DefaultExperiment","VendorAnnotations","Tool","Annotation", "ModelVariables","ScalarVariable", - "DirectDependency","Name","Real","Integer","Boolean","String","Enumeration", - "Implementation","CoSimulation_StandAlone","CoSimulation_Tool","Model","File","Capabilities" -}; - -const char *attNames[SIZEOF_ATT] = { - "fmiVersion","displayUnit","gain","offset","unit","name","description","quantity", "relativeQuantity", - "min","max","nominal","declaredType","start","fixed","startTime","stopTime","tolerance","value", - "valueReference","variability","causality","alias", "modelName","modelIdentifier","guid","author", - "version","generationTool","generationDateAndTime","variableNamingConvention","numberOfContinuousStates", - "numberOfEventIndicators","input", - "canHandleVariableCommunicationStepSize","canHandleEvents","canRejectSteps","canInterpolateInputs", - "maxOutputDerivativeOrder","canRunAsynchronuously","canSignalEvents","canBeInstantiatedOnlyOncePerProcess", - "canNotUseMemoryManagementFunctions","file","entryPoint","manualStart","type" -}; - -const char *enuNames[SIZEOF_ENU] = { - "flat","structured","constant","parameter","discrete","continuous", - "input","output", "internal","none","noAlias","alias","negatedAlias" -}; - -#define ANY_TYPE -1 -#define XMLBUFSIZE 1024 -char text[XMLBUFSIZE]; // XML file is parsed in chunks of length XMLBUFZIZE -XML_Parser parser = NULL; // non-NULL during parsing -Stack* stack = NULL; // the parser stack -char* data = NULL; // buffer that holds element content, see handleData -int skipData=0; // 1 to ignore element content, 0 when recordig content - -// ------------------------------------------------------------------------- -// Low-level functions for inspecting the model description - -const char* getString(void* element, Att a){ - Element* e = (Element*)element; - const char** attr = e->attributes; - int i; - for (i=0; in; i+=2) - if (attr[i]==attNames[a]) return attr[i+1]; - return NULL; -} - -double getDouble(void* element, Att a, ValueStatus* vs){ - double d = 0; - const char* value = getString(element, a); - if (!value) { *vs=valueMissing; return d; } - *vs = (1==sscanf(value, "%lf", &d)) ? valueDefined : valueIllegal; - return d; -} - -// getInt() is also used to retrieve Enumeration values from XML, -// e.g. the start value for a variable of user-defined enumeration type. -int getInt(void* element, Att a, ValueStatus* vs){ - int n = 0; - const char* value = getString(element, a); - if (!value) { *vs=valueMissing; return n; } - *vs = (1==sscanf(value, "%d", &n)) ? valueDefined : valueIllegal; - return n; -} - -unsigned int getUInt(void* element, Att a, ValueStatus* vs){ - unsigned int u = -1; - const char* value = getString(element, a); - if (!value) { *vs=valueMissing; return u; } - *vs = (1==sscanf(value, "%u", &u)) ? valueDefined : valueIllegal; - return u; -} - -char getBoolean(void* element, Att a, ValueStatus* vs){ - const char* value = getString(element, a); - if (!value) { *vs=valueMissing; return 0; }; - *vs = valueDefined; - if (!strcmp(value, "true")) return 1; - if (!strcmp(value, "false")) return 0; - *vs = valueIllegal; - return 0; -} - -static int checkEnumValue(const char* enu); - -// Retrieve the value of the given built-in enum attribute. -// If the value is missing, this is marked in the ValueStatus -// and the corresponding default is returned. -// Returns -1 or a globally unique id for the value such that -// enuNames[id] is the string representation of the enum value. -Enu getEnumValue(void* element, Att a, ValueStatus* vs) { - const char* value = getString(element, a); - Enu id = valueDefined; - if (!value) { - *vs = valueMissing; - switch (a) { - case att_variableNamingConvention: return enu_flat; - case att_variability: return enu_continuous; - case att_causality: return enu_internal; - case att_alias: return enu_noAlias; - default: return -1; - } - } - id = checkEnumValue(value); - if (id==-1) *vs = valueIllegal; - return id; -} - -// ------------------------------------------------------------------------- -// Convenience methods for accessing the model description. -// Use is only safe after the ast has been successfuly validated. - -const char* getModelIdentifier(ModelDescription* md) { - const char* modelId = getString(md, att_modelIdentifier); - assert(modelId); // this is a required attribute - return modelId; -} - -int getNumberOfStates(ModelDescription* md) { - ValueStatus vs; - int n = getUInt(md, att_numberOfContinuousStates, &vs); - assert(vs==valueDefined); // this is a required attribute - return n; -} - -int getNumberOfEventIndicators(ModelDescription* md) { - ValueStatus vs; - int n = getInt(md, att_numberOfEventIndicators, &vs); - assert(vs==valueDefined); // this is a required attribute - return n; -} - -// name is a required attribute of ScalarVariable, Type, Item, Annotation, and Tool -const char* getName(void* element) { - const char* name = getString(element, att_name); - assert(name); // this is a required attribute - return name; -} - -// returns one of: input, output, internal, none -// if value is missing, the default internal is returned -Enu getCausality(void* scalarVariable) { - ValueStatus vs; - return getEnumValue(scalarVariable, att_causality, &vs); -} - -// returns one of constant, parameter, discrete, continuous -// if value is missing, the default continuous is returned -Enu getVariability(void* scalarVariable) { - ValueStatus vs; - return getEnumValue(scalarVariable, att_variability, &vs); -} - -// returns one of noAlias, alias, negatedAlias -// if value is missing, the default noAlias is returned -Enu getAlias(void* scalarVariable) { - ValueStatus vs; - return getEnumValue(scalarVariable, att_alias, &vs); -} - -// the vr is unique only for one of the 4 base data types r,i,b,s and -// may also be fmiUndefinedValueReference = 4294967295 = 0xFFFFFFFF -// here, i means integer or enumeration -fmiValueReference getValueReference(void* scalarVariable) { - ValueStatus vs; - fmiValueReference vr = getUInt(scalarVariable, att_valueReference, &vs); - assert(((Element*)scalarVariable)->type == elm_ScalarVariable); - assert(vs==valueDefined); // this is a reqired attribute - return vr; -} - -// the name is unique within a fmu -ScalarVariable* getVariableByName(ModelDescription* md, const char* name) { - int i; - if (md->modelVariables) - for (i=0; md->modelVariables[i]; i++){ - ScalarVariable* sv = (ScalarVariable*)md->modelVariables[i]; - if (!strcmp(getName(sv), name)) return sv; - } - return NULL; -} - -// Enumeration and Integer have the same base type while -// Real, String, Boolean define own base types. -int sameBaseType(Elm t1, Elm t2){ - return t1==t2 || - t1==elm_Enumeration && t2==elm_Integer || - t2==elm_Enumeration && t1==elm_Integer; -} - -// returns NULL if variable not found or vr==fmiUndefinedValueReference -ScalarVariable* getVariable(ModelDescription* md, fmiValueReference vr, Elm type){ - int i; - if (md->modelVariables && vr!=fmiUndefinedValueReference) - for (i=0; md->modelVariables[i]; i++){ - ScalarVariable* sv = (ScalarVariable*)md->modelVariables[i]; - if (sameBaseType(type, sv->typeSpec->type) && getValueReference(sv) == vr) - return sv; - } - return NULL; -} - -Type* getDeclaredType(ModelDescription* md, const char* declaredType){ - int i; - if (declaredType && md->typeDefinitions) - for (i=0; md->typeDefinitions[i]; i++){ - Type* tp = (Type*)md->typeDefinitions[i]; - if (!strcmp(declaredType, getName(tp))) return tp; - } - return NULL; -} - -const char* getString2(ModelDescription* md, void* tp, Att a) { - Type* type; - const char* value = getString(tp, a); - if (value) return value; // found - // search declared type, if any - type = getDeclaredType(md, getString(tp, att_declaredType)); - return type ? getString(type->typeSpec, a) : NULL; -} - -// Get description from variable or from declared type, or NULL. -const char * getDescription(ModelDescription* md, ScalarVariable* sv) { - const char* value = getString(sv, att_description); - Type* type; - if (value) return value; // found - // search declared type, if any - type = getDeclaredType(md, getString(sv->typeSpec, att_declaredType)); - return type ? getString(type, att_description) : NULL; -} - -// Get attribute value from scalar variable given by vr and type, -// incl. default value provided by declared type, if any. -const char * getVariableAttributeString(ModelDescription* md, - fmiValueReference vr, Elm type, Att a){ - const char* value; - const char* declaredType; - Type* tp; - ScalarVariable* sv = getVariable(md, vr, type); - if (!sv) return NULL; - value = getString(sv->typeSpec, a); - if (value) return value; // found - // search declared type, if any - tp = getDeclaredType(md, getString(sv->typeSpec, att_declaredType)); - return tp ? getString(tp->typeSpec, a) : NULL; -} - -// Get attribute value from scalar variable given by vr and type, -// incl. default value provided by declared type, if any. -double getVariableAttributeDouble(ModelDescription* md, - fmiValueReference vr, Elm type, Att a, ValueStatus* vs){ - double d = 0; - const char* value = getVariableAttributeString(md, vr, type, a); - if (!value) { *vs = valueMissing; return d; } - *vs = (1==sscanf(value, "%lf", &d)) ? valueDefined : valueIllegal; - return d; -} - -// Get nominal value from real variable or its declared type. -// Return 1, if no nominal value is defined. -double getNominal(ModelDescription* md, fmiValueReference vr){ - ValueStatus vs; - double nominal = getVariableAttributeDouble(md, vr, elm_Real, att_nominal, &vs); - return vs==valueDefined ? nominal : 1.0; -} - -// ------------------------------------------------------------------------- -// Various checks that log an error and stop the parser - -// Returns 0 to indicate error -static int checkPointer(const void* ptr){ - if (! ptr) { - printf("Out of memory\n"); - if (parser) XML_StopParser(parser, XML_FALSE); - return 0; // error - } - return 1; // success -} - -static int checkName(const char* name, const char* kind, const char* array[], int n){ - int i; - for (i=0; itype == e) return 1; // success - logFatalTypeError(elmNames[e], elm->type); - return 0; // error -} - -// Returns 0 to indicate error -// Verify that the next stack element exists and is of the given type -// If e==ANY_TYPE, the type check is ommited -static int checkPeek(Elm e) { - if (stackIsEmpty(stack)){ - printf("Illegal document structure, expected %s\n", elmNames[e]); - XML_StopParser(parser, XML_FALSE); - return 0; // error - } - return e==ANY_TYPE ? 1 : checkElementType(stackPeek(stack), e); -} - -// Returns NULL to indicate error -// Get the next stack element, it is of the given type. -// If e==ANY_TYPE, the type check is ommited -static void* checkPop(Elm e){ - return checkPeek(e) ? stackPop(stack) : NULL; -} - -// ------------------------------------------------------------------------- -// Helper - -AstNodeType getAstNodeType(Elm e){ - switch (e) { - case elm_fmiModelDescription: - return astModelDescription; - case elm_Type: - return astType; - case elm_ScalarVariable: - return astScalarVariable; - case elm_CoSimulation_StandAlone: - case elm_CoSimulation_Tool: - return astCoSimulation; - case elm_BaseUnit: - case elm_EnumerationType: - case elm_Tool: - case elm_UnitDefinitions: - case elm_TypeDefinitions: - case elm_VendorAnnotations: - case elm_ModelVariables: - case elm_DirectDependency: - case elm_Model: - return astListElement; - default: - return astElement; - } -} - -// Returns 0 to indicate error -// Copies the attr array and all values. -// Replaces all attribute names by constant literal strings. -// Converts the null-terminated array into an array of known size n. -int addAttributes(Element* el, const char** attr) { - int n, a; - const char** att = NULL; - for (n=0; attr[n]; n+=2); - if (n>0) { - att = calloc(n, sizeof(char*)); - if (!checkPointer(att)) return 0; - } - for (n=0; attr[n]; n+=2) { - char* value = strdup(attr[n+1]); - if (!checkPointer(value)) return 0; - a = checkAttribute(attr[n]); - if (a == -1) return 0; // illegal attribute error - att[n ] = attNames[a]; // no heap memory - att[n+1] = value; // heap memory - } - el->attributes = att; // NULL if n=0 - el->n = n; - return 1; // success -} - -// Returns NULL to indicate error -Element* newElement(Elm type, int size, const char** attr) { - Element* e = (Element*)calloc(1, size); - if (!checkPointer(e)) return NULL; - e->type = type; - e->attributes = NULL; - e->n=0; - if (!addAttributes(e, attr)) return NULL; - return e; -} - -// ------------------------------------------------------------------------- -// callback functions called by the XML parser - -// Create and push a new element node -static void XMLCALL startElement(void *context, const char *elm, const char **attr) { - Elm el; - void* e; - int size; - el = checkElement(elm); - if (el==-1) return; // error - skipData = (el != elm_Name); // skip element content for all elements but Name - switch(getAstNodeType(el)){ - case astElement: size = sizeof(Element); break; - case astListElement: size = sizeof(ListElement); break; - case astType: size = sizeof(Type); break; - case astScalarVariable: size = sizeof(ScalarVariable); break; - case astCoSimulation: size = sizeof(CoSimulation); break; - case astModelDescription: size = sizeof(ModelDescription); break; - default: assert(0); - } - e = newElement(el, size, attr); - checkPointer(e); - stackPush(stack, e); -} - -// Pop all elements of the given type from stack and -// add it to the ListElement that follows. -// The ListElement remains on the stack. -static void popList(Elm e) { - int n = 0; - Element** array; - Element* elm = stackPop(stack); - while (elm->type == e) { - elm = stackPop(stack); - n++; - } - stackPush(stack, elm); // push ListElement back to stack - array = (Element**)stackLastPopedAsArray0(stack, n); // NULL terminated list - if (getAstNodeType(elm->type)!=astListElement) return; // failure - ((ListElement*)elm)->list = array; - return; // success only if list!=NULL -} - -// Pop the children from the stack and -// check for correct type and sequence of children -static void XMLCALL endElement(void *context, const char *elm) { - Elm el; - el = checkElement(elm); - switch(el) { - case elm_fmiModelDescription: - { - ModelDescription* md; - ListElement** ud = NULL; // NULL or list of BaseUnits - Type** td = NULL; // NULL or list of Types - Element* de = NULL; // NULL or DefaultExperiment - ListElement** va = NULL; // NULL or list of Tools - ScalarVariable** mv = NULL; // NULL or list of ScalarVariable - CoSimulation *cs = NULL; // NULL or CoSimulation - ListElement* child; - - child = checkPop(ANY_TYPE); - if (child->type == elm_CoSimulation_StandAlone || child->type == elm_CoSimulation_Tool) { - cs = (CoSimulation*)child; - child = checkPop(ANY_TYPE); - if (!child) return; - } - if (child->type == elm_ModelVariables){ - mv = (ScalarVariable**)child->list; - free(child); - child = checkPop(ANY_TYPE); - if (!child) return; - } - if (child->type == elm_VendorAnnotations){ - va = (ListElement**)child->list; - free(child); - child = checkPop(ANY_TYPE); - if (!child) return; - } - if (child->type == elm_DefaultExperiment){ - de = (Element*)child; - child = checkPop(ANY_TYPE); - if (!child) return; - } - if (child->type == elm_TypeDefinitions){ - td = (Type**)child->list; - free(child); - child = checkPop(ANY_TYPE); - if (!child) return; - } - if (child->type == elm_UnitDefinitions){ - ud = (ListElement**)child->list; - free(child); - child = checkPop(ANY_TYPE); - if (!child) return; - } - // work around bug of SimulationX 3.4 and 3.5 which places Implementation at wrong location - if (!cs && (child->type == elm_CoSimulation_StandAlone || child->type == elm_CoSimulation_Tool)) { - cs = (CoSimulation*)child; - child = checkPop(ANY_TYPE); - if (!child) return; - } - if (!checkElementType(child, elm_fmiModelDescription)) return; - md = (ModelDescription*)child; - md->modelVariables = mv; - md->vendorAnnotations = va; - md->defaultExperiment = de; - md->typeDefinitions = td; - md->unitDefinitions = ud; - md->cosimulation = cs; - stackPush(stack, md); - break; - } - case elm_Implementation: - { - // replace Implementation element - void* cs = checkPop(ANY_TYPE); - void* im = checkPop(elm_Implementation); - stackPush(stack, cs); - free(im); - el = ((Element*)cs)->type; - break; - } - case elm_CoSimulation_StandAlone: - { - Element* ca = checkPop(elm_Capabilities); - CoSimulation* cs = checkPop(elm_CoSimulation_StandAlone); - if (!ca || !cs) return; - cs->capabilities = ca; - stackPush(stack, cs); - break; - } - case elm_CoSimulation_Tool: - { - ListElement* mo = checkPop(elm_Model); - Element* ca = checkPop(elm_Capabilities); - CoSimulation* cs = checkPop(elm_CoSimulation_Tool); - if (!ca || !mo || !cs) return; - cs->capabilities = ca; - cs->model = mo; - stackPush(stack, cs); - break; - } - case elm_Type: - { - Type* tp; - Element* ts = checkPop(ANY_TYPE); - if (!ts) return; - if (!checkPeek(elm_Type)) return; - tp = (Type*)stackPeek(stack); - switch (ts->type) { - case elm_RealType: - case elm_IntegerType: - case elm_BooleanType: - case elm_StringType: - case elm_EnumerationType: - break; - default: - logFatalTypeError("RealType or similar", ts->type); - return; - } - tp->typeSpec = ts; - break; - } - case elm_ScalarVariable: - { - ScalarVariable* sv; - Element** list = NULL; - Element* child = checkPop(ANY_TYPE); - if (!child) return; - if (child->type==elm_DirectDependency){ - list = ((ListElement*)child)->list; - free(child); - child = checkPop(ANY_TYPE); - if (!child) return; - } - if (!checkPeek(elm_ScalarVariable)) return; - sv = (ScalarVariable*)stackPeek(stack); - switch (child->type) { - case elm_Real: - case elm_Integer: - case elm_Boolean: - case elm_String: - case elm_Enumeration: - break; - default: - logFatalTypeError("Real or similar", child->type); - return; - } - sv->directDependencies = list; - sv->typeSpec = child; - break; - } - case elm_ModelVariables: popList(elm_ScalarVariable); break; - case elm_VendorAnnotations: popList(elm_Tool);break; - case elm_Tool: popList(elm_Annotation); break; - case elm_TypeDefinitions: popList(elm_Type); break; - case elm_EnumerationType: popList(elm_Item); break; - case elm_UnitDefinitions: popList(elm_BaseUnit); break; - case elm_BaseUnit: popList(elm_DisplayUnitDefinition); break; - case elm_DirectDependency: popList(elm_Name); break; - case elm_Model: popList(elm_File); break; - case elm_Name: - { - // Exception: the name value is represented as element content. - // All other values of the XML file are represented using attributes. - Element* name = checkPop(elm_Name); - if (!name) return; - name->n = 2; - name->attributes = malloc(2*sizeof(char*)); - name->attributes[0] = attNames[att_input]; - name->attributes[1] = data; - data = NULL; - skipData = 1; // stop recording element content - stackPush(stack, name); - break; - } - case -1: return; // illegal element error - default: // must be a leaf Element - assert(getAstNodeType(el)==astElement); - break; - } - // All children of el removed from the stack. - // The top element must be of type el now. - checkPeek(el); -} - -// Called to handle element data, e.g. "xy" in xy -// Can be called many times, e.g. with "x" and then with "y" in the example above. -// Feature in expat: -// For some reason, if the element data is the empty string (Eg. ) -// instead of an empty string with len == 0 we get "\n". The workaround is -// to replace this with the empty string whenever we encounter "\n". -void XMLCALL handleData(void *context, const XML_Char *s, int len) { - int n; - if (skipData) return; - if (!data) { - // start a new data string - if (len == 1 && s[0] == '\n') { - data = strdup(""); - } else { - data = malloc(len + 1); - strncpy(data, s, len); - data[len] = '\0'; - } - } - else { - // continue existing string - n = strlen(data) + len; - data = realloc(data, n+1); - strncat(data, s, len); - data[n] = '\0'; - } - return; -} - -// ------------------------------------------------------------------------- -// printing - -static void printList(int indent, void** list); - -void printElement(int indent, void* element){ - int i; - Element* e = (Element*)element; - if (!e) return; - // print attributes - for (i=0; itype]); - for (i=0; in; i+=2) - printf(" %s=%s", e->attributes[i], e->attributes[i+1]); - printf("\n"); - // print child nodes - indent += 2; - switch (getAstNodeType(e->type)) { - case astListElement: - printList(indent, ((ListElement*)e)->list); - break; - case astScalarVariable: - printElement(indent, ((Type*)e)->typeSpec); - printList(indent, ((ScalarVariable*)e)->directDependencies); - break; - case astType: - printElement(indent, ((Type*)e)->typeSpec); - break; - case astCoSimulation: { - CoSimulation* cs = (CoSimulation*)e; - printElement(indent, cs->capabilities); - printElement(indent, cs->model); - break; - } - case astModelDescription: { - ModelDescription *md = (ModelDescription*)e; - printList(indent, md->unitDefinitions); - printList(indent, md->typeDefinitions); - printElement(indent, md->defaultExperiment); - printList(indent, md->vendorAnnotations); - printList(indent, md->modelVariables); - printElement(indent, md->cosimulation); - break; - } - } -} - -static void printList(int indent, void** list){ - int i; - if (list) for (i=0; list[i]; i++) - printElement(indent, list[i]); -} - -// ------------------------------------------------------------------------- -// free memory of the AST - -static void freeList(void** list); - -void freeElement(void* element){ - int i; - Element* e = (Element*)element; - if (!e) return; - // free attributes - for (i=0; in; i+=2) - free(e->attributes[i+1]); - if (e->attributes) free(e->attributes); - // free child nodes - switch (getAstNodeType(e->type)) { - case astListElement: - freeList(((ListElement*)e)->list); - break; - case astScalarVariable: - freeList(((ScalarVariable*)e)->directDependencies); - case astType: - freeElement(((Type*)e)->typeSpec); - break; - case astCoSimulation: { - CoSimulation* cs = (CoSimulation*)e; - freeElement(cs->capabilities); - freeElement(cs->model); - break; - } - case astModelDescription: { - ModelDescription* md = (ModelDescription*)e; - freeList(md->unitDefinitions); - freeList(md->typeDefinitions); - freeElement(md->defaultExperiment); - freeList(md->vendorAnnotations); - freeList(md->modelVariables); - freeElement(md->cosimulation); - break; - } - } - // free the struct - free(e); -} - -static void freeList(void** list){ - int i; - if (!list) return; - for (i=0; list[i]; i++) - freeElement(list[i]); - free(list); -} - -// ------------------------------------------------------------------------- -// Validation - done after parsing to report all errors - -ModelDescription* validate(ModelDescription* md) { - int error = 0; - int i; - if (md->modelVariables) - for (i=0; md->modelVariables[i]; i++){ - ScalarVariable* sv = (ScalarVariable*)md->modelVariables[i]; - char* declaredType = getString(sv->typeSpec, att_declaredType); - Type* decltype = getDeclaredType(md, declaredType); - if (declaredType && decltype==NULL) { - printf("Warning: Declared type %s of variable %s not found in modelDescription.xml\n", declaredType, getName(sv)); - error++; - } - } - if (error) { - printf("Error: Found %d error in modelDescription.xml\n", error); - return NULL; - } - return md; -} - -// ------------------------------------------------------------------------- -// Entry function parse() of the XML parser - -static void cleanup(FILE *file) { - stackFree(stack); - stack = NULL; - XML_ParserFree(parser); - parser = NULL; - fclose(file); -} - -// Returns NULL to indicate failure -// Otherwise, return the root node md of the AST. -// The receiver must call freeElement(md) to release AST memory. -ModelDescription* parse(const char* xmlPath) { - ModelDescription* md = NULL; - FILE *file; - int done = 0; - stack = stackNew(100, 10); - if (!checkPointer(stack)) return NULL; // failure - parser = XML_ParserCreate(NULL); - if (!checkPointer(parser)) return NULL; // failure - XML_SetElementHandler(parser, startElement, endElement); - XML_SetCharacterDataHandler(parser, handleData); - file = fopen(xmlPath, "rb"); - if (file == NULL) { - printf("Cannot open file '%s'\n", xmlPath); - XML_ParserFree(parser); - return NULL; // failure - } - while (!done) { - int n = fread(text, sizeof(char), XMLBUFSIZE, file); - if (n != XMLBUFSIZE) done = 1; - if (!XML_Parse(parser, text, n, done)){ - printf("Parse error in file %s at line %d:\n%s\n", - xmlPath, - XML_GetCurrentLineNumber(parser), - XML_ErrorString(XML_GetErrorCode(parser))); - while (! stackIsEmpty(stack)) md = stackPop(stack); - if (md) freeElement(md); - cleanup(file); - return NULL; // failure - } - } - md = stackPop(stack); - assert(stackIsEmpty(stack)); - cleanup(file); - //printElement(1, md); // debug - return validate(md); // success if all refs are valid -} - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/xml_parser.h b/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/xml_parser.h deleted file mode 100644 index 0730d56b..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src _original/shared/xml_parser.h +++ /dev/null @@ -1,159 +0,0 @@ -/* ------------------------------------------------------------------------- - * xml_parser.h - * A parser for file modelVariables.xml of an FMU. - * Supports "FMI for Model Exchange 1.0" and "FMI for Co-Simulation 1.0". - * Copyright 2011 QTronic GmbH. All rights reserved. - * -------------------------------------------------------------------------*/ - -#ifndef xml_parser_h -#define xml_parser_h - -// define XML_STATIC before including expat.h -// to prevent error when linking with libexpatMT.lib -#define XML_STATIC -#include "expat.h" -#include "stack.h" - -typedef unsigned int fmiValueReference; -#define fmiUndefinedValueReference (fmiValueReference)(-1) - -#define SIZEOF_ELM 31 -extern const char *elmNames[SIZEOF_ELM]; - -#define SIZEOF_ATT 47 -extern const char *attNames[SIZEOF_ATT]; - -#define SIZEOF_ENU 13 -extern const char *enuNames[SIZEOF_ENU]; - -// Elements -typedef enum { - elm_fmiModelDescription,elm_UnitDefinitions,elm_BaseUnit,elm_DisplayUnitDefinition,elm_TypeDefinitions, - elm_Type,elm_RealType,elm_IntegerType,elm_BooleanType,elm_StringType,elm_EnumerationType,elm_Item, - elm_DefaultExperiment,elm_VendorAnnotations,elm_Tool,elm_Annotation,elm_ModelVariables,elm_ScalarVariable, - elm_DirectDependency,elm_Name,elm_Real,elm_Integer,elm_Boolean,elm_String,elm_Enumeration, - elm_Implementation,elm_CoSimulation_StandAlone,elm_CoSimulation_Tool,elm_Model,elm_File,elm_Capabilities -} Elm; - -// Attributes -typedef enum { - att_fmiVersion,att_displayUnit,att_gain,att_offset,att_unit,att_name,att_description,att_quantity,att_relativeQuantity, - att_min,att_max,att_nominal,att_declaredType,att_start,att_fixed,att_startTime,att_stopTime,att_tolerance,att_value, - att_valueReference,att_variability,att_causality,att_alias,att_modelName,att_modelIdentifier,att_guid,att_author, - att_version,att_generationTool,att_generationDateAndTime,att_variableNamingConvention,att_numberOfContinuousStates, - att_numberOfEventIndicators,att_input, - att_canHandleVariableCommunicationStepSize,att_canHandleEvents,att_canRejectSteps,att_canInterpolateInputs, - att_maxOutputDerivativeOrder,att_canRunAsynchronuously,att_canSignalEvents,att_canBeInstantiatedOnlyOncePerProcess, - att_canNotUseMemoryManagementFunctions,att_entryPoint,att_manualStart,att_type -} Att; - -// Enumeration values -typedef enum { - enu_flat,enu_structured,enu_constant,enu_parameter,enu_discrete,enu_continuous, - enu_input,enu_output,enu_internal,enu_none,enu_noAlias,enu_alias,enu_negatedAlias -} Enu; - -// AST node for element -// DisplayUnitDefinition, RealType, IntegerType, BooleanType, StringType, DefaultExperiment, -// Item, Annotation, Name, Real, Integer, Boolean, String, Enumeration, Capabilities, File -typedef struct { - Elm type; // element type - const char** attributes; // null or n attribute value strings - int n; // size of attributes, even number -} Element; - -// AST node for element that has a list of elements -// BaseUnit, EnumerationType, Tool, DirectDependency, Model -typedef struct { - Elm type; // element type - const char** attributes; // null or n attribute value strings - int n; // size of attributes, even number - Element** list; // null-terminated array of pointers to elements, not null -} ListElement; - -// AST node for element Type -typedef struct { - Elm type; // element type - const char** attributes; // null or n attribute value strings - int n; // size of attributes, an even number - Element* typeSpec; // one of RealType, IntegerType etc. -} Type; - -// AST node for element ScalarVariable -typedef struct { - Elm type; // element type - const char** attributes; // null or n attribute value strings - int n; // size of attributes, even number - Element* typeSpec; // one of Real, Integer, etc - Element** directDependencies; // null or null-terminated list of Name -} ScalarVariable; - -// AST node for element CoSimulation_StandAlone and CoSimulation_Tool -typedef struct { - Elm type; // one of elm_CoSimulation_StandAlone and elm_CoSimulation_Tool - const char** attributes; // null or n attribute value strings - int n; // size of attributes, even number - Element* capabilities; // a set of capability attributes - ListElement* model; // non-NULL to support tool coupling, NULL for standalone -} CoSimulation; - -// AST node for element ModelDescription -typedef struct { - Elm type; // element type - const char** attributes; // null or n attribute value strings - int n; // size of attributes, even number - ListElement** unitDefinitions; // NULL or null-terminated list of BaseUnits - Type** typeDefinitions; // NULL or null-terminated list of Types - Element* defaultExperiment; // NULL or DefaultExperiment - ListElement** vendorAnnotations; // NULL or null-terminated list of Tools - ScalarVariable** modelVariables; // NULL or null-terminated list of ScalarVariable - CoSimulation* cosimulation; // NULL if this ModelDescription is for model exchange only -} ModelDescription; - -// types of AST nodes used to represent an element -typedef enum { - astElement, - astListElement, - astType, - astScalarVariable, - astCoSimulation, - astModelDescription -} AstNodeType; - -// Possible results when retrieving an attribute value from an element -typedef enum { - valueMissing, - valueDefined, - valueIllegal -} ValueStatus; - -// Public methods: Parsing and low-level AST access -ModelDescription* parse(const char* xmlPath); -const char* getString(void* element, Att a); -double getDouble (void* element, Att a, ValueStatus* vs); -int getInt (void* element, Att a, ValueStatus* vs); -unsigned int getUInt (void* element, Att a, ValueStatus* vs); -char getBoolean (void* element, Att a, ValueStatus* vs); -Enu getEnumValue (void* element, Att a, ValueStatus* vs); -void freeElement (void* element); - -// Convenience methods for AST access. To be used afer successful validation only. -const char* getModelIdentifier(ModelDescription* md); -int getNumberOfStates(ModelDescription* md); -int getNumberOfEventIndicators(ModelDescription* md); -const char* getName(void* element); -Enu getCausality(void* scalarVariable); -Enu getVariability(void* scalarVariable); -Enu getAlias(void* scalarVariable); -fmiValueReference getValueReference(void* scalarVariable); -ScalarVariable* getVariableByName(ModelDescription* md, const char* name); -ScalarVariable* getVariable(ModelDescription* md, fmiValueReference vr, Elm type); -Type* getDeclaredType(ModelDescription* md, const char* declaredType); -const char* getString2(ModelDescription* md, void* sv, Att a); -const char * getDescription(ModelDescription* md, ScalarVariable* sv); -const char * getVariableAttributeString(ModelDescription* md, fmiValueReference vr, Elm type, Att a); -double getVariableAttributeDouble(ModelDescription* md, fmiValueReference vr, Elm type, Att a, ValueStatus* vs); -double getNominal(ModelDescription* md, fmiValueReference vr); - -#endif // xml_parser_h - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/build_all.bat b/org.simantics.modelica/FMUSolution/FMISDK/src/build_all.bat deleted file mode 100644 index cdd75152..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/build_all.bat +++ /dev/null @@ -1,28 +0,0 @@ -@echo off - -rem ------------------------------------------------------------ -rem This batch builds both simulators and all FMUs of the FmuSDK -rem (c) 2011 QTronic GmbH -rem ------------------------------------------------------------ - -call build_fmusim_me -call build_fmusim_cs -echo ----------------------------------------------------------- -echo Making the FMUs of the FmuSDK ... -pushd models - -call build_fmu me dq -call build_fmu me inc -call build_fmu me values -call build_fmu me vanDerPol -call build_fmu me bouncingBall - -call build_fmu cs dq -call build_fmu cs inc -call build_fmu cs values -call build_fmu cs vanDerPol -call build_fmu cs bouncingBall - -popd - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/build_fmusim_cs.bat b/org.simantics.modelica/FMUSolution/FMISDK/src/build_fmusim_cs.bat deleted file mode 100644 index 6e90292c..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/build_fmusim_cs.bat +++ /dev/null @@ -1,48 +0,0 @@ -@echo off -rem ------------------------------------------------------------ -rem This batch builds the FMU simulator fmusim_cs.exe -rem (c) 2011 QTronic GmbH -rem ------------------------------------------------------------ - -echo ----------------------------------------------------------- -echo building fmusim_cs.exe - FMI for Co-Simulation 1.0 -echo ----------------------------------------------------------- - -rem save env variable settings -set PREV_PATH=%PATH% -if defined INCLUDE set PREV_INCLUDE=%INLUDE% -if defined LIB set PREV_LIB=%LIB% -if defined LIBPATH set PREV_LIBPATH=%LIBPATH% - -rem setup the compiler -if defined VS90COMNTOOLS (call "%VS90COMNTOOLS%\vsvars32.bat") else ^ -if defined VS80COMNTOOLS (call "%VS80COMNTOOLS%\vsvars32.bat") else ^ -goto noCompiler - -set SRC=fmusim_cs\main.c ..\shared\xml_parser.c ..\shared\stack.c ..\shared\sim_support.c -set INC=/Iinclude /I../shared /Ifmusim_cs -set OPTIONS=/DFMI_COSIMULATION /wd4090 /nologo - -rem create fmusim_cs.exe in the fmusim_cs dir -rem /wd4090 to disable warnings about different 'const' qualifiers -pushd co_simulation -cl %SRC% %INC% %OPTIONS% /Fefmusim_cs.exe /link ..\shared\libexpatMT.lib -del *.obj -popd -if not exist co_simulation\fmusim_cs.exe goto compileError -move /Y co_simulation\fmusim_cs.exe ..\bin -goto done - -:noCompiler -echo No Microsoft Visual C compiler found - -:compileError -echo build of fmusim_cs.exe failed - -:done -rem undo variable settings performed by vsvars32.bat -set PATH=%PREV_PATH% -if defined PREV_INCLUDE set INCLUDE=%PREV_INLUDE% -if defined PREV_LIB set LIB=%PREV_LIB% -if defined PREV_LIBPATH set LIBPATH=%PREV_LIBPATH% -echo done. diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/build_fmusim_me.bat b/org.simantics.modelica/FMUSolution/FMISDK/src/build_fmusim_me.bat deleted file mode 100644 index 0828428b..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/build_fmusim_me.bat +++ /dev/null @@ -1,51 +0,0 @@ -@echo off -rem ------------------------------------------------------------ -rem This batch builds the FMU simulator fmusim_me.exe -rem (c) 2011 QTronic GmbH -rem ------------------------------------------------------------ - -echo ----------------------------------------------------------- -echo building fmusim_me.exe - FMI for Model Exchange 1.0 -echo ----------------------------------------------------------- - -rem save env variable settings -set PREV_PATH=%PATH% -if defined INCLUDE set PREV_INCLUDE=%INLUDE% -if defined LIB set PREV_LIB=%LIB% -if defined LIBPATH set PREV_LIBPATH=%LIBPATH% - -rem setup the compiler -if defined VS90COMNTOOLS (call "%VS90COMNTOOLS%\vsvars32.bat") else ^ -if defined VS80COMNTOOLS (call "%VS80COMNTOOLS%\vsvars32.bat") else ^ -goto noCompiler - -set SRC=fmusim_me\main.c ..\shared\xml_parser.c ..\shared\stack.c ..\shared\sim_support.c -set INC=/Iinclude /I../shared /Ifmusim_me -set OPTIONS=/wd4090 /nologo - -rem create fmusim_me.exe in the fmusim_me dir -rem /wd4090 to disable warnings about different 'const' qualifiers -pushd model_exchange -cl %SRC% %INC% %OPTIONS% /Fefmusim_me.exe /link ..\shared\libexpatMT.lib -del *.obj -popd -if not exist model_exchange\fmusim_me.exe goto compileError -move /Y model_exchange\fmusim_me.exe ..\bin -goto done - -:noCompiler -echo No Microsoft Visual C compiler found - -:compileError -echo build of fmusim_me.exe failed - -:done -rem undo variable settings performed by vsvars32.bat -set PATH=%PREV_PATH% -if defined PREV_INCLUDE set INCLUDE=%PREV_INLUDE% -if defined PREV_LIB set LIB=%PREV_LIB% -if defined PREV_LIBPATH set LIBPATH=%PREV_LIBPATH% -echo done. - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/co_simulation/fmusim_cs/fmi_cs.h b/org.simantics.modelica/FMUSolution/FMISDK/src/co_simulation/fmusim_cs/fmi_cs.h deleted file mode 100644 index f446eac1..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/co_simulation/fmusim_cs/fmi_cs.h +++ /dev/null @@ -1,78 +0,0 @@ -/* ------------------------------------------------------------------------- - * fmi_cs.h - * Function types for all function of the "FMI for Co-Simulation 1.0" - * and a struct with the corresponding function pointers. - * Copyright 2011 QTronic GmbH. All rights reserved. - * ------------------------------------------------------------------------- - */ - -#ifndef FMI_CS_H -#define FMI_CS_H - -#include -#include "fmiFunctions.h" -#include "xml_parser.h" - -typedef const char* (*fGetTypesPlatform)(); -typedef const char* (*fGetVersion)(); -typedef fmiStatus (*fSetDebugLogging) (fmiComponent c, fmiBoolean loggingOn); -typedef fmiStatus (*fSetReal) (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiReal value[]); -typedef fmiStatus (*fSetInteger)(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger value[]); -typedef fmiStatus (*fSetBoolean)(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiBoolean value[]); -typedef fmiStatus (*fSetString) (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiString value[]); -typedef fmiStatus (*fGetReal) (fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiReal value[]); -typedef fmiStatus (*fGetInteger)(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiInteger value[]); -typedef fmiStatus (*fGetBoolean)(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiBoolean value[]); -typedef fmiStatus (*fGetString) (fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiString value[]); -typedef fmiComponent (*fInstantiateSlave) (fmiString instanceName, fmiString fmuGUID, fmiString fmuLocation, - fmiString mimeType, fmiReal timeout, fmiBoolean visible, fmiBoolean interactive, - fmiCallbackFunctions functions, fmiBoolean loggingOn); -typedef fmiStatus (*fInitializeSlave)(fmiComponent c, fmiReal tStart, fmiBoolean StopTimeDefined, fmiReal tStop); -typedef fmiStatus (*fTerminateSlave) (fmiComponent c); -typedef fmiStatus (*fResetSlave) (fmiComponent c); -typedef void (*fFreeSlaveInstance)(fmiComponent c); -typedef fmiStatus (*fSetRealInputDerivatives)(fmiComponent c, const fmiValueReference vr[], size_t nvr, - const fmiInteger order[], const fmiReal value[]); -typedef fmiStatus (*fGetRealOutputDerivatives)(fmiComponent c, const fmiValueReference vr[], size_t nvr, - const fmiInteger order[], fmiReal value[]); -typedef fmiStatus (*fCancelStep)(fmiComponent c); -typedef fmiStatus (*fDoStep)(fmiComponent c, fmiReal currentCommunicationPoint, - fmiReal communicationStepSize, fmiBoolean newStep); -typedef fmiStatus (*fGetStatus) (fmiComponent c, const fmiStatusKind s, fmiStatus* value); -typedef fmiStatus (*fGetRealStatus) (fmiComponent c, const fmiStatusKind s, fmiReal* value); -typedef fmiStatus (*fGetIntegerStatus)(fmiComponent c, const fmiStatusKind s, fmiInteger* value); -typedef fmiStatus (*fGetBooleanStatus)(fmiComponent c, const fmiStatusKind s, fmiBoolean* value); -typedef fmiStatus (*fGetStringStatus) (fmiComponent c, const fmiStatusKind s, fmiString* value); - -typedef struct { - ModelDescription* modelDescription; - HANDLE dllHandle; - fGetTypesPlatform getTypesPlatform; - fGetVersion getVersion; - fSetDebugLogging setDebugLogging; - fSetReal setReal; - fSetInteger setInteger; - fSetBoolean setBoolean; - fSetString setString; - fGetReal getReal; - fGetInteger getInteger; - fGetBoolean getBoolean; - fGetString getString; - fInstantiateSlave instantiateSlave; - fInitializeSlave initializeSlave; - fTerminateSlave terminateSlave; - fResetSlave resetSlave; - fFreeSlaveInstance freeSlaveInstance; - fGetRealOutputDerivatives getRealOutputDerivatives; - fSetRealInputDerivatives setRealInputDerivatives; - fDoStep doStep; - fCancelStep cancelStep; - fGetStatus getStatus; - fGetRealStatus getRealStatus; - fGetIntegerStatus getIntegerStatus; - fGetBooleanStatus getBooleanStatus; - fGetStringStatus getStringStatus; -} FMU; - -#endif // FMI_CS_H - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/co_simulation/fmusim_cs/main.c b/org.simantics.modelica/FMUSolution/FMISDK/src/co_simulation/fmusim_cs/main.c deleted file mode 100644 index f0673d11..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/co_simulation/fmusim_cs/main.c +++ /dev/null @@ -1,127 +0,0 @@ -/* ------------------------------------------------------------------------- - * main.c - * Implements simulation of a single FMU instance - * that implements the "FMI for Co-Simulation 1.0" interface. - * Command syntax: see printHelp() - * Simulates the given FMU from t = 0 .. tEnd with fixed step size h and - * writes the computed solution to file 'result.csv'. - * The CSV file (comma-separated values) may e.g. be plotted using - * OpenOffice Calc or Microsoft Excel. - * This progamm demonstrates basic use of an FMU. - * Real applications may use advanced master algorithms to cosimulate - * many FMUs, limit the numerical error using error estimation - * and back-stepping, provide graphical plotting utilities, debug support, - * and user control of parameter and start values, or perform a clean - * error handling (e.g. call freeSlaveInstance when a call to the fmu - * returns with error). All this is missing here. - * - * Revision history - * 22.08.2011 initial version released in FMU SDK 1.0.2 - * - * Free libraries and tools used to implement this simulator: - * - header files from the FMU specification - * - eXpat 2.0.1 XML parser, see http://expat.sourceforge.net - * - 7z.exe 4.57 zip and unzip tool, see http://www.7-zip.org - * Author: Jakob Mauss - * Copyright 2011 QTronic GmbH. All rights reserved. - * ------------------------------------------------------------------------- - */ - -#include -#include -#include -#include "fmi_cs.h" -#include "sim_support.h" - -FMU fmu; // the fmu to simulate - -// simulate the given FMU using the forward euler method. -// time events are processed by reducing step size to exactly hit tNext. -// state events are checked and fired only at the end of an Euler step. -// the simulator may therefore miss state events and fires state events typically too late. -static int simulate(FMU* fmu, double tEnd, double h, fmiBoolean loggingOn, char separator) { - double time; - double tStart = 0; // start time - const char* guid; // global unique id of the fmu - fmiComponent c; // instance of the fmu - fmiStatus fmiFlag; // return code of the fmu functions - const char* fmuLocation = NULL; // path to the fmu as URL, "file://C:\QTronic\sales" - const char* mimeType = "application/x-fmu-sharedlibrary"; // denotes tool in case of tool coupling - fmiReal timeout = 1000; // wait period in milli seconds, 0 for unlimited wait period" - fmiBoolean visible = fmiFalse; // no simulator user interface - fmiBoolean interactive = fmiFalse; // simulation run without user interaction - fmiCallbackFunctions callbacks; // called by the model during simulation - ModelDescription* md; // handle to the parsed XML file - int nSteps = 0; - FILE* file; - - // instantiate the fmu - md = fmu->modelDescription; - guid = getString(md, att_guid); - callbacks.logger = fmuLogger; - callbacks.allocateMemory = calloc; - callbacks.freeMemory = free; - callbacks.stepFinished = NULL; // fmiDoStep has to be carried out synchronously - c = fmu->instantiateSlave(getModelIdentifier(md), guid, fmuLocation, mimeType, - timeout, visible, interactive, callbacks, loggingOn); - if (!c) return error("could not instantiate model"); - - // open result file - if (!(file=fopen(RESULT_FILE, "w"))) { - printf("could not write %s because:\n", RESULT_FILE); - printf(" %s\n", strerror(errno)); - return 0; // failure - } - - // StopTimeDefined=fmiFalse means: ignore value of tEnd - fmiFlag = fmu->initializeSlave(c, tStart, fmiTrue, tEnd); - if (fmiFlag > fmiWarning) return error("could not initialize model"); - - // output solution for time t0 - outputRow(fmu, c, tStart, file, separator, TRUE); // output column names - outputRow(fmu, c, tStart, file, separator, FALSE); // output values - - // enter the simulation loop - time = tStart; - while (time < tEnd) { - fmiFlag = fmu->doStep(c, time, h, fmiTrue); - if (fmiFlag != fmiOK) return error("could not complete simulation of the model"); - time += h; - outputRow(fmu, c, time, file, separator, FALSE); // output values for this step - nSteps++; - } - - // end simulation - fmiFlag = fmu->terminateSlave(c); - fmu->freeSlaveInstance(c); - - // print simulation summary - printf("Simulation from %g to %g terminated successful\n", tStart, tEnd); - printf(" steps ............ %d\n", nSteps); - printf(" fixed step size .. %g\n", h); - return 1; // success -} - -int main(int argc, char *argv[]) { - const char* fmuFileName; - - // parse command line arguments and load the FMU - double tEnd = 1.0; - double h=0.1; - int loggingOn = 0; - char csv_separator = ';'; - parseArguments(argc, argv, &fmuFileName, &tEnd, &h, &loggingOn, &csv_separator); - loadFMU(fmuFileName); - - // run the simulation - printf("FMU Simulator: run '%s' from t=0..%g with step size h=%g, loggingOn=%d, csv separator='%c'\n", - fmuFileName, tEnd, h, loggingOn, csv_separator); - simulate(&fmu, tEnd, h, loggingOn, csv_separator); - printf("CSV file '%s' written\n", RESULT_FILE); - - // release FMU - FreeLibrary(fmu.dllHandle); - freeElement(fmu.modelDescription); - return EXIT_SUCCESS; -} - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/co_simulation/include/fmiFunctions.h b/org.simantics.modelica/FMUSolution/FMISDK/src/co_simulation/include/fmiFunctions.h deleted file mode 100644 index f4341025..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/co_simulation/include/fmiFunctions.h +++ /dev/null @@ -1,231 +0,0 @@ -#ifndef fmiFunctions_h -#define fmiFunctions_h - -/* This header file must be utilized when compiling a FMU. - It defines all functions of Co-Simulation Interface. - In order to have unique function names even if several FMUs - are compiled together (e.g. for embedded systems), every "real" function name - is constructed by prepending the function name by - "MODEL_IDENTIFIER" + "_" where "MODEL_IDENTIFIER" is the short name - of the model used as the name of the zip-file where the model is stored. - Therefore, the typical usage is: - - #define MODEL_IDENTIFIER MyModel - #include "fmiFunctions.h" - - As a result, a function that is defined as "fmiGetDerivatives" in this header file, - is actually getting the name "MyModel_fmiGetDerivatives". - - Revisions: - - November 4, 2010: Adapted to specification text: - o fmiGetModelTypesPlatform renamed to fmiGetTypesPlatform - o fmiInstantiateSlave: Argument GUID replaced by fmuGUID - Argument mimetype replaced by mimeType - o tabs replaced by spaces - - October 16, 2010: First public Version - - - Copyright © 2008-2010, MODELISAR consortium. All rights reserved. - This file is licensed by the copyright holders under the BSD License - (http://www.opensource.org/licenses/bsd-license.html): - - ---------------------------------------------------------------------------- - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ---------------------------------------------------------------------------- -*/ - -#include "fmiPlatformTypes.h" -#include - -/* Export fmi functions on Windows */ -#ifdef _MSC_VER -#define DllExport __declspec( dllexport ) -#else -#define DllExport -#endif - -/* Macros to construct the real function name - (prepend function name by MODEL_IDENTIFIER + "_") */ - -#define fmiPaste(a,b) a ## b -#define fmiPasteB(a,b) fmiPaste(a,b) -#define fmiFullName(name) fmiPasteB(MODEL_IDENTIFIER, name) - -/*************************************************** -Common Functions -****************************************************/ -#define fmiGetTypesPlatform fmiFullName(_fmiGetTypesPlatform) -#define fmiGetVersion fmiFullName(_fmiGetVersion) -#define fmiSetDebugLogging fmiFullName(_fmiSetDebugLogging) - -/*Data Exchange*/ -#define fmiSetReal fmiFullName(_fmiSetReal) -#define fmiSetInteger fmiFullName(_fmiSetInteger) -#define fmiSetBoolean fmiFullName(_fmiSetBoolean) -#define fmiSetString fmiFullName(_fmiSetString) - -#define fmiGetReal fmiFullName(_fmiGetReal) -#define fmiGetInteger fmiFullName(_fmiGetInteger) -#define fmiGetBoolean fmiFullName(_fmiGetBoolean) -#define fmiGetString fmiFullName(_fmiGetString) - -/*************************************************** -Functions for FMI for Co-Simulation -****************************************************/ -#define fmiInstantiateSlave fmiFullName(_fmiInstantiateSlave) -#define fmiInitializeSlave fmiFullName(_fmiInitializeSlave) -#define fmiTerminateSlave fmiFullName(_fmiTerminateSlave) -#define fmiResetSlave fmiFullName(_fmiResetSlave) -#define fmiFreeSlaveInstance fmiFullName(_fmiFreeSlaveInstance) -#define fmiSetRealInputDerivatives fmiFullName(_fmiSetRealInputDerivatives) -#define fmiGetRealOutputDerivatives fmiFullName(_fmiGetRealOutputDerivatives) -#define fmiDoStep fmiFullName(_fmiDoStep) -#define fmiCancelStep fmiFullName(_fmiCancelStep) -#define fmiGetStatus fmiFullName(_fmiGetStatus) -#define fmiGetRealStatus fmiFullName(_fmiGetRealStatus) -#define fmiGetIntegerStatus fmiFullName(_fmiGetIntegerStatus) -#define fmiGetBooleanStatus fmiFullName(_fmiGetBooleanStatus) -#define fmiGetStringStatus fmiFullName(_fmiGetStringStatus) - -/* Version number */ -#define fmiVersion "1.0" - -/* make sure all compiler use the same alignment policies for structures */ -#ifdef WIN32 -#pragma pack(push,8) -#endif - - -/* Type definitions */ - typedef enum {fmiOK, - fmiWarning, - fmiDiscard, - fmiError, - fmiFatal, - fmiPending} fmiStatus; - - typedef void (*fmiCallbackLogger) (fmiComponent c, fmiString instanceName, fmiStatus status, - fmiString category, fmiString message, ...); - typedef void* (*fmiCallbackAllocateMemory)(size_t nobj, size_t size); - typedef void (*fmiCallbackFreeMemory) (void* obj); - typedef void (*fmiStepFinished) (fmiComponent c, fmiStatus status); - - typedef struct { - fmiCallbackLogger logger; - fmiCallbackAllocateMemory allocateMemory; - fmiCallbackFreeMemory freeMemory; - fmiStepFinished stepFinished; - } fmiCallbackFunctions; - - typedef struct { - fmiBoolean iterationConverged; - fmiBoolean stateValueReferencesChanged; - fmiBoolean stateValuesChanged; - fmiBoolean terminateSimulation; - fmiBoolean upcomingTimeEvent; - fmiReal nextEventTime; - } fmiEventInfo; - -/* reset alignment policy to the one set before reading this file */ -#ifdef WIN32 -#pragma pack(pop) -#endif - -/*************************************************** -Common Functions -****************************************************/ - -/* Inquire version numbers of header files */ - DllExport const char* fmiGetTypesPlatform(); - DllExport const char* fmiGetVersion(); - - DllExport fmiStatus fmiSetDebugLogging (fmiComponent c, fmiBoolean loggingOn); - -/* Data Exchange Functions*/ - DllExport fmiStatus fmiGetReal (fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiReal value[]); - DllExport fmiStatus fmiGetInteger(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiInteger value[]); - DllExport fmiStatus fmiGetBoolean(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiBoolean value[]); - DllExport fmiStatus fmiGetString (fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiString value[]); - - DllExport fmiStatus fmiSetReal (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiReal value[]); - DllExport fmiStatus fmiSetInteger (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger value[]); - DllExport fmiStatus fmiSetBoolean (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiBoolean value[]); - DllExport fmiStatus fmiSetString (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiString value[]); - -/*************************************************** -Functions for FMI for Co-Simulation -****************************************************/ - -/* Creation and destruction of slave instances and setting debug status */ - DllExport fmiComponent fmiInstantiateSlave(fmiString instanceName, - fmiString fmuGUID, - fmiString fmuLocation, - fmiString mimeType, - fmiReal timeout, - fmiBoolean visible, - fmiBoolean interactive, - fmiCallbackFunctions functions, - fmiBoolean loggingOn); - - DllExport fmiStatus fmiInitializeSlave(fmiComponent c, - fmiReal tStart, - fmiBoolean StopTimeDefined, - fmiReal tStop); - - DllExport fmiStatus fmiTerminateSlave (fmiComponent c); - DllExport fmiStatus fmiResetSlave (fmiComponent c); - DllExport void fmiFreeSlaveInstance(fmiComponent c); - - DllExport fmiStatus fmiSetRealInputDerivatives(fmiComponent c, - const fmiValueReference vr[], - size_t nvr, - const fmiInteger order[], - const fmiReal value[]); - - DllExport fmiStatus fmiGetRealOutputDerivatives(fmiComponent c, - const fmiValueReference vr[], - size_t nvr, - const fmiInteger order[], - fmiReal value[]); - - DllExport fmiStatus fmiCancelStep(fmiComponent c); - DllExport fmiStatus fmiDoStep (fmiComponent c, - fmiReal currentCommunicationPoint, - fmiReal communicationStepSize, - fmiBoolean newStep); - - - typedef enum {fmiDoStepStatus, - fmiPendingStatus, - fmiLastSuccessfulTime} fmiStatusKind; - - DllExport fmiStatus fmiGetStatus (fmiComponent c, const fmiStatusKind s, fmiStatus* value); - DllExport fmiStatus fmiGetRealStatus (fmiComponent c, const fmiStatusKind s, fmiReal* value); - DllExport fmiStatus fmiGetIntegerStatus(fmiComponent c, const fmiStatusKind s, fmiInteger* value); - DllExport fmiStatus fmiGetBooleanStatus(fmiComponent c, const fmiStatusKind s, fmiBoolean* value); - DllExport fmiStatus fmiGetStringStatus (fmiComponent c, const fmiStatusKind s, fmiString* value); - - -#endif // fmiFunctions_h diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/co_simulation/include/fmiPlatformTypes.h b/org.simantics.modelica/FMUSolution/FMISDK/src/co_simulation/include/fmiPlatformTypes.h deleted file mode 100644 index 7916f792..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/co_simulation/include/fmiPlatformTypes.h +++ /dev/null @@ -1,73 +0,0 @@ -#ifndef fmiPlatformTypes_h -#define fmiPlatformTypes_h - -/* Standard header file to define the argument types of the - functions of the Model Execution Interface. - This header file must be utilized both by the model and - by the simulation engine. - - Revisions: - - October 2010: First public Version - - - Copyright © 2008-2010, MODELISAR consortium. All rights reserved. - This file is licensed by the copyright holders under the BSD License - (http://www.opensource.org/licenses/bsd-license.html): - - - ---------------------------------------------------------------------------- - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ---------------------------------------------------------------------------- -*/ - -/* Platform (combination of machine, compiler, operating system) */ -#define fmiPlatform "standard32" - -/* Type definitions of variables passed as arguments - Version "standard32" means: - - fmiComponent : 32 bit pointer - fmiValueReference: 32 bit - fmiReal : 64 bit - fmiInteger : 32 bit - fmiBoolean : 8 bit - fmiString : 32 bit pointer - -*/ - typedef void* fmiComponent; - typedef unsigned int fmiValueReference; - typedef double fmiReal ; - typedef int fmiInteger; - typedef char fmiBoolean; - typedef const char* fmiString ; - -/* Values for fmiBoolean */ -#define fmiTrue 1 -#define fmiFalse 0 - -/* Undefined value for fmiValueReference (largest unsigned int value) */ -#define fmiUndefinedValueReference (fmiValueReference)(-1) - -#endif diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/model_exchange/fmusim_me/fmi_me.h b/org.simantics.modelica/FMUSolution/FMISDK/src/model_exchange/fmusim_me/fmi_me.h deleted file mode 100644 index f1152455..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/model_exchange/fmusim_me/fmi_me.h +++ /dev/null @@ -1,89 +0,0 @@ -/* ------------------------------------------------------------------------- - * fmi_me.h - * Function types for all function of the "FMI for Model Exchange 1.0" - * and a struct with the corresponding function pointers. - * Copyright 2011 QTronic GmbH. All rights reserved. - * ------------------------------------------------------------------------- - */ - -#ifndef FMI_ME_H -#define FMI_ME_H - -#include -#include "fmiModelFunctions.h" -#include "xml_parser.h" - -typedef const char* (*fGetModelTypesPlatform)(); -typedef const char* (*fGetVersion)(); -typedef fmiComponent (*fInstantiateModel)(fmiString instanceName, fmiString GUID, - fmiCallbackFunctions functions, fmiBoolean loggingOn); -typedef void (*fFreeModelInstance) (fmiComponent c); -typedef fmiStatus (*fSetDebugLogging) (fmiComponent c, fmiBoolean loggingOn); -typedef fmiStatus (*fSetTime) (fmiComponent c, fmiReal time); -typedef fmiStatus (*fSetContinuousStates)(fmiComponent c, const fmiReal x[], size_t nx); -typedef fmiStatus (*fCompletedIntegratorStep)(fmiComponent c, fmiBoolean* callEventUpdate); -typedef fmiStatus (*fSetReal) (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiReal value[]); -typedef fmiStatus (*fSetInteger)(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger value[]); -typedef fmiStatus (*fSetBoolean)(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiBoolean value[]); -typedef fmiStatus (*fSetString) (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiString value[]); -typedef fmiStatus (*fInitialize)(fmiComponent c, fmiBoolean toleranceControlled, - fmiReal relativeTolerance, fmiEventInfo* eventInfo); -typedef fmiStatus (*fGetDerivatives) (fmiComponent c, fmiReal derivatives[] , size_t nx); -typedef fmiStatus (*fGetEventIndicators)(fmiComponent c, fmiReal eventIndicators[], size_t ni); -typedef fmiStatus (*fGetReal) (fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiReal value[]); -typedef fmiStatus (*fGetInteger)(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiInteger value[]); -typedef fmiStatus (*fGetBoolean)(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiBoolean value[]); -typedef fmiStatus (*fGetString) (fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiString value[]); -typedef fmiStatus (*fEventUpdate) (fmiComponent c, fmiBoolean intermediateResults, fmiEventInfo* eventInfo); -typedef fmiStatus (*fGetContinuousStates) (fmiComponent c, fmiReal states[], size_t nx); -typedef fmiStatus (*fGetNominalContinuousStates)(fmiComponent c, fmiReal x_nominal[], size_t nx); -typedef fmiStatus (*fGetStateValueReferences) (fmiComponent c, fmiValueReference vrx[], size_t nx); -typedef fmiStatus (*fTerminate) (fmiComponent c); - -typedef struct { - ModelDescription* modelDescription; - HANDLE dllHandle; - fGetModelTypesPlatform getModelTypesPlatform; - fGetVersion getVersion; - fInstantiateModel instantiateModel; - fFreeModelInstance freeModelInstance; - fSetDebugLogging setDebugLogging; - fSetTime setTime; - fSetContinuousStates setContinuousStates; - fCompletedIntegratorStep completedIntegratorStep; - fSetReal setReal; - fSetInteger setInteger; - fSetBoolean setBoolean; - fSetString setString; - fInitialize initialize; - fGetDerivatives getDerivatives; - fGetEventIndicators getEventIndicators; - fGetReal getReal; - fGetInteger getInteger; - fGetBoolean getBoolean; - fGetString getString; - fEventUpdate eventUpdate; - fGetContinuousStates getContinuousStates; - fGetNominalContinuousStates getNominalContinuousStates; - fGetStateValueReferences getStateValueReferences; - fTerminate terminate; -/* - fInstantiateSlave instantiateSlave; - fInitializeSlave initializeSlave; - fTerminateSlave terminateSlave; - fResetSlave resetSlave; - fFreeSlaveInstance freeSlaveInstance; - fGetRealOutputDerivatives getRealOutputDerivatives; - fSetRealInputDerivatives setRealInputDerivatives; - fDoStep doStep; - fCancelStep cancelStep; - fGetStatus getStatus; - fGetRealStatus getRealStatus; - fGetIntegerStatus getIntegerStatus; - fGetBooleanStatus getBooleanStatus; - fGetStringStatus getStringStatus; -*/ -} FMU; - -#endif // FMI_ME_H - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/model_exchange/fmusim_me/main.c b/org.simantics.modelica/FMUSolution/FMISDK/src/model_exchange/fmusim_me/main.c deleted file mode 100644 index 39b3957b..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/model_exchange/fmusim_me/main.c +++ /dev/null @@ -1,286 +0,0 @@ -/* ------------------------------------------------------------------------- - * main.c - * Implements simulation of a single FMU instance using the forward Euler - * method for numerical integration. - * Command syntax: see printHelp() - * Simulates the given FMU from t = 0 .. tEnd with fixed step size h and - * writes the computed solution to file 'result.csv'. - * The CSV file (comma-separated values) may e.g. be plotted using - * OpenOffice Calc or Microsoft Excel. - * This progamm demonstrates basic use of an FMU. - * Real applications may use advanced numerical solvers instead, means to - * exactly locate state events in time, graphical plotting utilities, support - * for coexecution of many FMUs, stepping and debug support, user control - * of parameter and start values etc. - * All this is missing here. - * - * Revision history - * 07.02.2010 initial version released in FMU SDK 1.0 - * 05.03.2010 bug fix: removed strerror(GetLastError()) from error messages - * 11.06.2010 bug fix: replaced win32 API call to OpenFile in getFmuPath - * which restricted path length to FMU to 128 chars. New limit is MAX_PATH. - * 15.07.2010 fixed wrong label in xml parser: deault instead of default - * 13.12.2010 added check for undefined 'declared type' to xml parser - * 31.07.2011 bug fix: added missing freeModelInstance(c) - * 31.07.2011 bug fix: added missing terminate(c) - * - * Free libraries and tools used to implement this simulator: - * - header files from the FMU specification - * - eXpat 2.0.1 XML parser, see http://expat.sourceforge.net - * - 7z.exe 4.57 zip and unzip tool, see http://www.7-zip.org - * Author: Jakob Mauss - * Copyright 2011 QTronic GmbH. All rights reserved. - * ------------------------------------------------------------------------- - */ - -#include -#include -#include -#include "fmi_me.h" -#include "sim_support.h" - -FMU fmu; // the fmu to simulate - -// simulate the given FMU using the forward euler method. -// time events are processed by reducing step size to exactly hit tNext. -// state events are checked and fired only at the end of an Euler step. -// the simulator may therefore miss state events and fires state events typically too late. -static int simulate(FMU* fmu, double tEnd, double h, fmiBoolean loggingOn, char separator) { - int i, n; - double dt, tPre; - fmiBoolean timeEvent, stateEvent, stepEvent; - double time; - int nx; // number of state variables - int nz; // number of state event indicators - double *x; // continuous states - double *xdot; // the crresponding derivatives in same order - double *z = NULL; // state event indicators - double *prez = NULL; // previous values of state event indicators - fmiEventInfo eventInfo; // updated by calls to initialize and eventUpdate - ModelDescription* md; // handle to the parsed XML file - const char* guid; // global unique id of the fmu - fmiCallbackFunctions callbacks; // called by the model during simulation - fmiComponent c; // instance of the fmu - fmiStatus fmiFlag; // return code of the fmu functions - fmiReal t0 = 0; // start time - fmiBoolean toleranceControlled = fmiFalse; - int nSteps = 0; - int nTimeEvents = 0; - int nStepEvents = 0; - int nStateEvents = 0; - FILE* file; - - double nextTime, step, value, currval; - char *par = "Auxiliary1"; - char *var = "Stock1"; - char* s; - int k; - ScalarVariable** vars = fmu->modelDescription->modelVariables; - fmiValueReference vr; - - - // instantiate the fmu - md = fmu->modelDescription; - guid = getString(md, att_guid); - callbacks.logger = fmuLogger; - callbacks.allocateMemory = calloc; - callbacks.freeMemory = free; - c = fmu->instantiateModel(getModelIdentifier(md), guid, callbacks, loggingOn); - if (!c) return error("could not instantiate model"); - - // allocate memory - nx = getNumberOfStates(md); - nz = getNumberOfEventIndicators(md); - x = (double *) calloc(nx, sizeof(double)); - xdot = (double *) calloc(nx, sizeof(double)); - if (nz>0) { - z = (double *) calloc(nz, sizeof(double)); - prez = (double *) calloc(nz, sizeof(double)); - } - if (!x || !xdot || nz>0 && (!z || !prez)) return error("out of memory"); - - // open result file - if (!(file=fopen(RESULT_FILE, "w"))) { - printf("could not write %s because:\n", RESULT_FILE); - printf(" %s\n", strerror(errno)); - return 0; // failure - } - - // set the start time and initialize - time = t0; - fmiFlag = fmu->setTime(c, t0); - if (fmiFlag > fmiWarning) return error("could not set time"); - fmiFlag = fmu->initialize(c, toleranceControlled, t0, &eventInfo); - if (fmiFlag > fmiWarning) return error("could not initialize model"); - if (eventInfo.terminateSimulation) { - printf("model requested termination at init"); - tEnd = time; - } - - // output solution for time t0 - outputRow(fmu, c, t0, file, separator, TRUE); // output column names - outputRow(fmu, c, t0, file, separator, FALSE); // output values - - nextTime = time; - // enter the simulation loop - while (time < tEnd) { - - if(time >= nextTime) { - // change variable value - for (k=0; vars[k]; k++) { - ScalarVariable* sv = vars[k]; - if (getAlias(sv)!=enu_noAlias) continue; - - s = getName(sv); - - if(strcmp(s,par) == 0) { - printf("Value for %s: ", s); - scanf("%lf", &value); - - vr = getValueReference(sv); - fmu->setReal(c, &vr, 1, &value); - - } - } - - printf("Give step: "); - scanf("%lf", &step); - nextTime = time + step; - } - - - // get current state and derivatives - fmiFlag = fmu->getContinuousStates(c, x, nx); - if (fmiFlag > fmiWarning) return error("could not retrieve states"); - fmiFlag = fmu->getDerivatives(c, xdot, nx); - if (fmiFlag > fmiWarning) return error("could not retrieve derivatives"); - - // advance time - tPre = time; - - time = min(time+h, tEnd); - timeEvent = eventInfo.upcomingTimeEvent && eventInfo.nextEventTime < time; - if (timeEvent) time = eventInfo.nextEventTime; - dt = time - tPre; - printf("Actual time: %lf\n", time); - fmiFlag = fmu->setTime(c, time); - if (fmiFlag > fmiWarning) error("could not set time"); - - // perform one step - for (i=0; isetContinuousStates(c, x, nx); - if (fmiFlag > fmiWarning) return error("could not set states"); - if (loggingOn) printf("Step %d to t=%.16g\n", nSteps, time); - - // Check for step event, e.g. dynamic state selection - fmiFlag = fmu->completedIntegratorStep(c, &stepEvent); - if (fmiFlag > fmiWarning) return error("could not complete intgrator step"); - - // Check for state event - for (i=0; igetEventIndicators(c, z, nz); - if (fmiFlag > fmiWarning) return error("could not retrieve event indicators"); - stateEvent = FALSE; - for (i=0; i0 && z[i]<0) ? "-\\-" : "-/-", i, time); - } - if (stepEvent) { - nStepEvents++; - if (loggingOn) printf("step event at t=%.16g\n", time); - } - - // event iteration in one step, ignoring intermediate results - fmiFlag = fmu->eventUpdate(c, fmiFalse, &eventInfo); - if (fmiFlag > fmiWarning) return error("could not perform event update"); - - // terminate simulation, if requested by the model - if (eventInfo.terminateSimulation) { - printf("model requested termination at t=%.16g\n", time); - break; // success - } - - // check for change of value of states - if (eventInfo.stateValuesChanged && loggingOn) { - printf("state values changed at t=%.16g\n", time); - } - - // check for selection of new state variables - if (eventInfo.stateValueReferencesChanged && loggingOn) { - printf("new state variables selected at t=%.16g\n", time); - } - - } // if event - outputRow(fmu, c, time, file, separator, FALSE); // output values for this step - - // change variable value - for (k=0; vars[k]; k++) { - ScalarVariable* sv = vars[k]; - if (getAlias(sv)!=enu_noAlias) continue; - - s = getName(sv); - - if(strcmp(s,var) == 0) { - vr = getValueReference(sv); - fmu->getReal(c, &vr, 1, &currval); - printf("Value for %s: %lf\n", s, currval); - } - } - - nSteps++; - } // while - - // cleanup - if(! eventInfo.terminateSimulation) fmu->terminate(c); - fmu->freeModelInstance(c); - fclose(file); - if (x!=NULL) free(x); - if (xdot!= NULL) free(xdot); - if (z!= NULL) free(z); - if (prez!= NULL) free(prez); - - // print simulation summary - printf("Simulation from %g to %g terminated successful\n", t0, tEnd); - printf(" steps ............ %d\n", nSteps); - printf(" fixed step size .. %g\n", h); - printf(" time events ...... %d\n", nTimeEvents); - printf(" state events ..... %d\n", nStateEvents); - printf(" step events ...... %d\n", nStepEvents); - - return 1; // success -} - -int main(int argc, char *argv[]) { - const char* fmuFileName; - - // parse command line arguments and load the FMU - double tEnd = 1.0; - double h=0.1; - int loggingOn = 0; - char csv_separator = ';'; - parseArguments(argc, argv, &fmuFileName, &tEnd, &h, &loggingOn, &csv_separator); - loadFMU(fmuFileName); - - // run the simulation - printf("FMU Simulator: run '%s' from t=0..%g with step size h=%g, loggingOn=%d, csv separator='%c'\n", - fmuFileName, tEnd, h, loggingOn, csv_separator); - simulate(&fmu, tEnd, h, loggingOn, csv_separator); - printf("CSV file '%s' written\n", RESULT_FILE); - - // release FMU - FreeLibrary(fmu.dllHandle); - freeElement(fmu.modelDescription); - return EXIT_SUCCESS; -} diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/model_exchange/include/fmiModelFunctions.h b/org.simantics.modelica/FMUSolution/FMISDK/src/model_exchange/include/fmiModelFunctions.h deleted file mode 100644 index e2047724..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/model_exchange/include/fmiModelFunctions.h +++ /dev/null @@ -1,210 +0,0 @@ -#ifndef fmiModelFunctions_h -#define fmiModelFunctions_h - -/* This header file must be utilized when compiling a model. - It defines all functions of the Model Execution Interface. - In order to have unique function names even if several models - are compiled together (e.g. for embedded systems), every "real" function name - is constructed by prepending the function name by - "MODEL_IDENTIFIER" + "_" where "MODEL_IDENTIFIER" is the short name - of the model used as the name of the zip-file where the model is stored. - Therefore, the typical usage is: - - #define MODEL_IDENTIFIER MyModel - #include "fmiModelFunctions.h" - - As a result, a function that is defined as "fmiGetDerivatives" in this header file, - is actually getting the name "MyModel_fmiGetDerivatives". - - Revisions: - - Jan. 20, 2010: stateValueReferencesChanged added to struct fmiEventInfo (ticket #27) - (by M. Otter, DLR) - Added WIN32 pragma to define the struct layout (ticket #34) - (by J. Mauss, QTronic) - - Jan. 4, 2010: Removed argument intermediateResults from fmiInitialize - Renamed macro fmiGetModelFunctionsVersion to fmiGetVersion - Renamed macro fmiModelFunctionsVersion to fmiVersion - Replaced fmiModel by fmiComponent in decl of fmiInstantiateModel - (by J. Mauss, QTronic) - - Dec. 17, 2009: Changed extension "me" to "fmi" (by Martin Otter, DLR). - - Dez. 14, 2009: Added eventInfo to meInitialize and added - meGetNominalContinuousStates (by Martin Otter, DLR) - - Sept. 9, 2009: Added DllExport (according to Peter Nilsson's suggestion) - (by A. Junghanns, QTronic) - - Sept. 9, 2009: Changes according to FMI-meeting on July 21: - meInquireModelTypesVersion -> meGetModelTypesPlatform - meInquireModelFunctionsVersion -> meGetModelFunctionsVersion - meSetStates -> meSetContinuousStates - meGetStates -> meGetContinuousStates - removal of meInitializeModelClass - removal of meGetTime - change of arguments of meInstantiateModel - change of arguments of meCompletedIntegratorStep - (by Martin Otter, DLR): - - July 19, 2009: Added "me" as prefix to file names (by Martin Otter, DLR). - - March 2, 2009: Changed function definitions according to the last design - meeting with additional improvements (by Martin Otter, DLR). - - Dec. 3 , 2008: First version by Martin Otter (DLR) and Hans Olsson (Dynasim). - - - Copyright © 2008-2009, MODELISAR consortium. All rights reserved. - This file is licensed by the copyright holders under the BSD License - (http://www.opensource.org/licenses/bsd-license.html): - - ---------------------------------------------------------------------------- - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ---------------------------------------------------------------------------- - - with the extension: - - You may distribute or publicly perform any modification only under the - terms of this license. -*/ - -#include "fmiModelTypes.h" -#include - -/* Export fmi functions on Windows */ -#ifdef _MSC_VER -#define DllExport __declspec( dllexport ) -#else -#define DllExport -#endif - -/* Macros to construct the real function name - (prepend function name by MODEL_IDENTIFIER + "_") */ - -#define fmiPaste(a,b) a ## b -#define fmiPasteB(a,b) fmiPaste(a,b) -#define fmiFullName(name) fmiPasteB(MODEL_IDENTIFIER, name) - -#define fmiGetModelTypesPlatform fmiFullName(_fmiGetModelTypesPlatform) -#define fmiGetVersion fmiFullName(_fmiGetVersion) -#define fmiInstantiateModel fmiFullName(_fmiInstantiateModel) -#define fmiFreeModelInstance fmiFullName(_fmiFreeModelInstance) -#define fmiSetDebugLogging fmiFullName(_fmiSetDebugLogging) -#define fmiSetTime fmiFullName(_fmiSetTime) -#define fmiSetContinuousStates fmiFullName(_fmiSetContinuousStates) -#define fmiCompletedIntegratorStep fmiFullName(_fmiCompletedIntegratorStep) -#define fmiSetReal fmiFullName(_fmiSetReal) -#define fmiSetInteger fmiFullName(_fmiSetInteger) -#define fmiSetBoolean fmiFullName(_fmiSetBoolean) -#define fmiSetString fmiFullName(_fmiSetString) -#define fmiInitialize fmiFullName(_fmiInitialize) -#define fmiGetDerivatives fmiFullName(_fmiGetDerivatives) -#define fmiGetEventIndicators fmiFullName(_fmiGetEventIndicators) -#define fmiGetReal fmiFullName(_fmiGetReal) -#define fmiGetInteger fmiFullName(_fmiGetInteger) -#define fmiGetBoolean fmiFullName(_fmiGetBoolean) -#define fmiGetString fmiFullName(_fmiGetString) -#define fmiEventUpdate fmiFullName(_fmiEventUpdate) -#define fmiGetContinuousStates fmiFullName(_fmiGetContinuousStates) -#define fmiGetNominalContinuousStates fmiFullName(_fmiGetNominalContinuousStates) -#define fmiGetStateValueReferences fmiFullName(_fmiGetStateValueReferences) -#define fmiTerminate fmiFullName(_fmiTerminate) - - -/* Version number */ -#define fmiVersion "1.0" - -/* Inquire version numbers of header files */ - DllExport const char* fmiGetModelTypesPlatform(); - DllExport const char* fmiGetVersion(); - -/* make sure all compiler use the same alignment policies for structures */ -#ifdef WIN32 -#pragma pack(push,8) -#endif - -/* Type definitions */ - typedef enum {fmiOK, - fmiWarning, - fmiDiscard, - fmiError, - fmiFatal} fmiStatus; - - typedef void (*fmiCallbackLogger) (fmiComponent c, fmiString instanceName, fmiStatus status, - fmiString category, fmiString message, ...); - typedef void* (*fmiCallbackAllocateMemory)(size_t nobj, size_t size); - typedef void (*fmiCallbackFreeMemory) (void* obj); - - typedef struct { - fmiCallbackLogger logger; - fmiCallbackAllocateMemory allocateMemory; - fmiCallbackFreeMemory freeMemory; - } fmiCallbackFunctions; - - typedef struct { - fmiBoolean iterationConverged; - fmiBoolean stateValueReferencesChanged; - fmiBoolean stateValuesChanged; - fmiBoolean terminateSimulation; - fmiBoolean upcomingTimeEvent; - fmiReal nextEventTime; - } fmiEventInfo; - -/* reset alignment policy to the one set before reading this file */ -#ifdef WIN32 -#pragma pack(pop) -#endif - -/* Creation and destruction of model instances and setting debug status */ - DllExport fmiComponent fmiInstantiateModel (fmiString instanceName, - fmiString GUID, - fmiCallbackFunctions functions, - fmiBoolean loggingOn); - DllExport void fmiFreeModelInstance(fmiComponent c); - DllExport fmiStatus fmiSetDebugLogging (fmiComponent c, fmiBoolean loggingOn); - - -/* Providing independent variables and re-initialization of caching */ - DllExport fmiStatus fmiSetTime (fmiComponent c, fmiReal time); - DllExport fmiStatus fmiSetContinuousStates (fmiComponent c, const fmiReal x[], size_t nx); - DllExport fmiStatus fmiCompletedIntegratorStep(fmiComponent c, fmiBoolean* callEventUpdate); - DllExport fmiStatus fmiSetReal (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiReal value[]); - DllExport fmiStatus fmiSetInteger (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger value[]); - DllExport fmiStatus fmiSetBoolean (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiBoolean value[]); - DllExport fmiStatus fmiSetString (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiString value[]); - - -/* Evaluation of the model equations */ - DllExport fmiStatus fmiInitialize(fmiComponent c, fmiBoolean toleranceControlled, - fmiReal relativeTolerance, fmiEventInfo* eventInfo); - - DllExport fmiStatus fmiGetDerivatives (fmiComponent c, fmiReal derivatives[] , size_t nx); - DllExport fmiStatus fmiGetEventIndicators(fmiComponent c, fmiReal eventIndicators[], size_t ni); - - DllExport fmiStatus fmiGetReal (fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiReal value[]); - DllExport fmiStatus fmiGetInteger(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiInteger value[]); - DllExport fmiStatus fmiGetBoolean(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiBoolean value[]); - DllExport fmiStatus fmiGetString (fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiString value[]); - - DllExport fmiStatus fmiEventUpdate (fmiComponent c, fmiBoolean intermediateResults, fmiEventInfo* eventInfo); - DllExport fmiStatus fmiGetContinuousStates (fmiComponent c, fmiReal states[], size_t nx); - DllExport fmiStatus fmiGetNominalContinuousStates(fmiComponent c, fmiReal x_nominal[], size_t nx); - DllExport fmiStatus fmiGetStateValueReferences (fmiComponent c, fmiValueReference vrx[], size_t nx); - DllExport fmiStatus fmiTerminate (fmiComponent c); - -#endif // fmiModelFunctions_h diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/model_exchange/include/fmiModelTypes.h b/org.simantics.modelica/FMUSolution/FMISDK/src/model_exchange/include/fmiModelTypes.h deleted file mode 100644 index 17e9e300..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/model_exchange/include/fmiModelTypes.h +++ /dev/null @@ -1,91 +0,0 @@ -#ifndef fmiModelTypes_h -#define fmiModelTypes_h - -/* Standard header file to define the argument types of the - functions of the Model Execution Interface. - This header file must be utilized both by the model and - by the simulation engine. - - Revisions: - - Jan. 4, 2010: Renamed meModelTypes_h to fmiModelTypes_h (by Mauss, QTronic) - - Dec. 21, 2009: Changed "me" to "fmi" and "meModel" to "fmiComponent" - according to meeting on Dec. 18 (by Martin Otter, DLR) - - Dec. 6, 2009: Added meUndefinedValueReference (by Martin Otter, DLR) - - Sept. 9, 2009: Changes according to FMI-meeting on July 21: - Changed "version" to "platform", "standard" to "standard32", - Added a precise definition of "standard32" as comment - (by Martin Otter, DLR) - - July 19, 2009: Added "me" as prefix to file names, added meTrue/meFalse, - and changed meValueReferenced from int to unsigned int - (by Martin Otter, DLR). - - March 2, 2009: Moved enums and function pointer definitions to - ModelFunctions.h (by Martin Otter, DLR). - - Dec. 3, 2008 : First version by Martin Otter (DLR) and - Hans Olsson (Dynasim). - - - Copyright © 2008-2010, MODELISAR consortium. All rights reserved. - This file is licensed by the copyright holders under the BSD License - (http://www.opensource.org/licenses/bsd-license.html) - - ---------------------------------------------------------------------------- - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ---------------------------------------------------------------------------- - - with the extension: - - You may distribute or publicly perform any modification only under the - terms of this license. -*/ - -/* Platform (combination of machine, compiler, operating system) */ -#define fmiModelTypesPlatform "standard32" - -/* Type definitions of variables passed as arguments - Version "standard32" means: - - fmiComponent : 32 bit pointer - fmiValueReference: 32 bit - fmiReal : 64 bit - fmiInteger : 32 bit - fmiBoolean : 8 bit - fmiString : 32 bit pointer - -*/ - typedef void* fmiComponent; - typedef unsigned int fmiValueReference; - typedef double fmiReal ; - typedef int fmiInteger; - typedef char fmiBoolean; - typedef const char* fmiString ; - -/* Values for fmiBoolean */ -#define fmiTrue 1 -#define fmiFalse 0 - -/* Undefined value for fmiValueReference (largest unsigned int value) */ -#define fmiUndefinedValueReference (fmiValueReference)(-1) - -#endif diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/bouncingBall/_main.html b/org.simantics.modelica/FMUSolution/FMISDK/src/models/bouncingBall/_main.html deleted file mode 100644 index fff15c6a..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/models/bouncingBall/_main.html +++ /dev/null @@ -1,52 +0,0 @@ - - - Documentation for bouncingBall.fmu - - - -

bouncingBall.fmu

-The bouncingBall implements the following equation: -
    -
  • der(h) = v; -
  • der(v) = -g; -
  • when h<0 then v := -e* v -
-with start values h=1, e=0.7, g = 9.81 and -
    -
  • h: height [m], used as state -
  • v: velocity of ball [m/s], used as state -
  • der(h): velocity of ball [m/s] -
  • der(v): acceleration of ball [m/s2] -
  • g: acceleration of gravity [m/s2], a parameter -
  • e: a dimensionless parameter -
- -
- -
-The figure shows the solution computed with Silver -for height h of the ball for the start values given above. - -

-The chain of events during simulation is as follows -

    -
  1. intitially h>0 and pos(0)=true
  2. -
  3. continuous integration until a state event is detected, i.e. - until h + EPS_INDICATORS = 0. - At this time h < 0, the EPS_INDICATORS adds hysteresis.
  4. -
  5. the simulator calls eventUpdate once which reverses the speed direction - v of the ball: v = -e * v, and sets pos(0)=false
  6. -
  7. continuous integration until state event is detected, i.e. - until h - EPS_INDICATORS = 0. - At this time h > 0, the EPS_INDICATORS adds hysteresis.
  8. -
  9. the simulator calls eventUpdate once more which sets pos(0)=true.
  10. -
  11. goto 2
  12. -
-The above description refers to the variables used -in file bouncingBall.c. - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/bouncingBall/bouncingBall.c b/org.simantics.modelica/FMUSolution/FMISDK/src/models/bouncingBall/bouncingBall.c deleted file mode 100644 index 7f6c3037..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/models/bouncingBall/bouncingBall.c +++ /dev/null @@ -1,103 +0,0 @@ -/* ---------------------------------------------------------------------------* - * Sample implementation of an FMU - a bouncing ball. - * This demonstrates the use of state events and reinit of states. - * Equations: - * der(h) = v; - * der(v) = -g; - * when h<0 then v := -e * v; - * where - * h height [m], used as state, start = 1 - * v velocity of ball [m/s], used as state - * der(h) velocity of ball [m/s] - * der(v) acceleration of ball [m/s2] - * g acceleration of gravity [m/s2], a parameter, start = 9.81 - * e a dimensionless parameter, start = 0.7 - * - * (c) 2010 QTronic GmbH - * ---------------------------------------------------------------------------*/ - -// define class name and unique id -#define MODEL_IDENTIFIER bouncingBall -#define MODEL_GUID "{8c4e810f-3df3-4a00-8276-176fa3c9f003}" - -// define model size -#define NUMBER_OF_REALS 5 -#define NUMBER_OF_INTEGERS 0 -#define NUMBER_OF_BOOLEANS 0 -#define NUMBER_OF_STRINGS 0 -#define NUMBER_OF_STATES 2 -#define NUMBER_OF_EVENT_INDICATORS 1 - -// include fmu header files, typedefs and macros -#include "fmuTemplate.h" - -// define all model variables and their value references -// conventions used here: -// - if x is a variable, then macro x_ is its variable reference -// - the vr of a variable is its index in array r, i, b or s -// - if k is the vr of a real state, then k+1 is the vr of its derivative -#define h_ 0 -#define der_h_ 1 -#define v_ 2 -#define der_v_ 3 -#define g_ 3 // negated alias -#define e_ 4 - -// define initial state vector as vector of value references -#define STATES { h_, v_ } - -// called by fmiInstantiateModel -// Set values for all variables that define a start value -// Settings used unless changed by fmiSetX before fmiInitialize -void setStartValues(ModelInstance *comp) { - r(h_) = 1; - r(v_) = 0; - r(der_v_) = -9.81; - r(e_) = 0.7; - pos(0) = r(h_) > 0; -} - -// called by fmiGetReal, fmiGetContinuousStates and fmiGetDerivatives -fmiReal getReal(ModelInstance* comp, fmiValueReference vr){ - switch (vr) { - case h_ : return r(h_); - case der_h_ : return r(v_); - case v_ : return r(v_); - case der_v_ : return r(der_v_); - case e_ : return r(e_); - default: return 0; - } -} - -// called by fmiInitialize() after setting eventInfo to defaults -// Used to set the first time event, if any. -void initialize(ModelInstance* comp, fmiEventInfo* eventInfo) { -} - -// offset for event indicator, adds hysteresis and prevents z=0 at restart -#define EPS_INDICATORS 1e-14 - -fmiReal getEventIndicator(ModelInstance* comp, int z) { - switch (z) { - case 0 : return r(h_) + (pos(0) ? EPS_INDICATORS : -EPS_INDICATORS); - default: return 0; - } -} - -// Used to set the next time event, if any. -void eventUpdate(ModelInstance* comp, fmiEventInfo* eventInfo) { - if (pos(0)) { - r(v_) = - r(e_) * r(v_); - } - pos(0) = r(h_) > 0; - eventInfo->iterationConverged = fmiTrue; - eventInfo->stateValueReferencesChanged = fmiFalse; - eventInfo->stateValuesChanged = fmiTrue; - eventInfo->terminateSimulation = fmiFalse; - eventInfo->upcomingTimeEvent = fmiFalse; - } - -// include code that implements the FMI based on the above definitions -#include "fmuTemplate.c" - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/bouncingBall/model.png b/org.simantics.modelica/FMUSolution/FMISDK/src/models/bouncingBall/model.png deleted file mode 100644 index 8d23e9a9..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/src/models/bouncingBall/model.png and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/bouncingBall/modelDescription.xml b/org.simantics.modelica/FMUSolution/FMISDK/src/models/bouncingBall/modelDescription.xml deleted file mode 100644 index 4cb345e7..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/models/bouncingBall/modelDescription.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/bouncingBall/plot_h.PNG b/org.simantics.modelica/FMUSolution/FMISDK/src/models/bouncingBall/plot_h.PNG deleted file mode 100644 index ced85c46..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/src/models/bouncingBall/plot_h.PNG and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/build_fmu.bat b/org.simantics.modelica/FMUSolution/FMISDK/src/models/build_fmu.bat deleted file mode 100644 index 9d014581..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/models/build_fmu.bat +++ /dev/null @@ -1,80 +0,0 @@ -@echo off -rem ------------------------------------------------------------ -rem This batch builds an FMU of the FMU SDK -rem Usage: build_fmu (me|cs) -rem (c) 2011 QTronic GmbH -rem ------------------------------------------------------------ - -echo ----------------------------------------------------------- -if %1==cs (^ -echo building FMU %2 - FMI for Co-Simulation 1.0) else ^ -echo building FMU %2 - FMI for Model Exchange 1.0 - -rem save env variable settings -set PREV_PATH=%PATH% -if defined INCLUDE set PREV_INCLUDE=%INLUDE% -if defined LIB set PREV_LIB=%LIB% -if defined LIBPATH set PREV_LIBPATH=%LIBPATH% - -rem setup the compiler -if defined VS90COMNTOOLS (call "%VS90COMNTOOLS%\vsvars32.bat") else ^ -if defined VS80COMNTOOLS (call "%VS80COMNTOOLS%\vsvars32.bat") else ^ -goto noCompiler - -rem create the %2.dll in the temp dir -if not exist temp mkdir temp -pushd temp -if exist *.dll del /Q *.dll - -rem /wd4090 disables warnings about different 'const' qualifiers -if %1==cs (set FMI_DIR=co_simulation) else set FMI_DIR=model_exchange -if %1==cs (set DEF=/DFMI_COSIMULATION) else set DEF= -cl /LD /wd4090 /nologo %DEF% ..\%2\%2.c /I ..\. /I ..\..\%FMI_DIR%\include -if not exist %2.dll goto compileError - -rem create FMU dir structure with root 'fmu' -set BIN_DIR=fmu\binaries\win32 -set SRC_DIR=fmu\sources -set DOC_DIR=fmu\documentation -if not exist %BIN_DIR% mkdir %BIN_DIR% -if not exist %SRC_DIR% mkdir %SRC_DIR% -if not exist %DOC_DIR% mkdir %DOC_DIR% -move /Y %2.dll %BIN_DIR% -if exist ..\%2\*~ del /Q ..\%2\*~ -copy ..\%2\%2.c %SRC_DIR% -type ..\%2\modelDescription.xml ..\%1.xml > fmu\modelDescription.xml -copy ..\%2\model.png fmu -copy ..\fmuTemplate.c %SRC_DIR% -copy ..\fmuTemplate.h %SRC_DIR% -copy ..\%2\*.html %DOC_DIR% -copy ..\%2\*.png %DOC_DIR% -del %DOC_DIR%\model.png - -rem zip the directory tree and move to fmu directory -cd fmu -set FMU_FILE=..\..\..\..\fmu\%1\%2.fmu -if exist %ZIP_FILE% del %FMU_FILE% -..\..\..\..\bin\7z.exe a -tzip -xr!.svn %FMU_FILE% ^ - modelDescription.xml model.png binaries sources documentation -goto cleanup - -:noCompiler -echo No Microsoft Visual C compiler found -exit - -:compileError -echo build of %2 failed - -:cleanup -popd -if exist temp rmdir /S /Q temp - -rem undo variable settings performed by vsvars32.bat -set PATH=%PREV_PATH% -if defined PREV_INCLUDE set INCLUDE=%PREV_INLUDE% -if defined PREV_LIB set LIB=%PREV_LIB% -if defined PREV_LIBPATH set LIBPATH=%PREV_LIBPATH% -echo done. - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/cs.xml b/org.simantics.modelica/FMUSolution/FMISDK/src/models/cs.xml deleted file mode 100644 index 9e38bc40..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/models/cs.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/dq/_main.html b/org.simantics.modelica/FMUSolution/FMISDK/src/models/dq/_main.html deleted file mode 100644 index f981d0fe..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/models/dq/_main.html +++ /dev/null @@ -1,29 +0,0 @@ - - -Documentation for dq.fmu - - - -

dq.fmu

-This FMU implements the equation -
    -
  • der(x) = -k * x
  • -
-The analytical solution of this system is -
    -
  • x(t) = exp(-k*t)
  • -
-The above equation is also known as -Dahlquist -test equation. -
- -
-The figure shows the solution for x computed with Silver -for start values k = 1 and x = 1. - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/dq/dq.c b/org.simantics.modelica/FMUSolution/FMISDK/src/models/dq/dq.c deleted file mode 100644 index bb8df472..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/models/dq/dq.c +++ /dev/null @@ -1,67 +0,0 @@ -/* ---------------------------------------------------------------------------* - * Sample implementation of an FMU - the Dahlquist test equation. - * - * der(x) = - k * x and x(0) = 1. - * Analytical solution: x(t) = exp(-k*t). - * - * (c) 2010 QTronic GmbH - * ---------------------------------------------------------------------------*/ - -// define class name and unique id -#define MODEL_IDENTIFIER dq -#define MODEL_GUID "{8c4e810f-3df3-4a00-8276-176fa3c9f000}" - -// define model size -#define NUMBER_OF_REALS 3 -#define NUMBER_OF_INTEGERS 0 -#define NUMBER_OF_BOOLEANS 0 -#define NUMBER_OF_STRINGS 0 -#define NUMBER_OF_STATES 1 -#define NUMBER_OF_EVENT_INDICATORS 0 - -// include fmu header files, typedefs and macros -#include "fmuTemplate.h" - -// define all model variables and their value references -// conventions used here: -// - if x is a variable, then macro x_ is its variable reference -// - the vr of a variable is its index in array r, i, b or s -// - if k is the vr of a real state, then k+1 is the vr of its derivative -#define x_ 0 -#define der_x_ 1 -#define k_ 2 - -// define state vector as vector of value references -#define STATES { x_ } - -// called by fmiInstantiateModel -// Set values for all variables that define a start value -// Settings used unless changed by fmiSetX before fmiInitialize -void setStartValues(ModelInstance *comp) { - r(x_) = 1; - r(k_) = 1; -} - -// called by fmiInitialize() after setting eventInfo to defaults -// Used to set the first time event, if any. -void initialize(ModelInstance* comp, fmiEventInfo* eventInfo) { -} - -// called by fmiGetReal, fmiGetContinuousStates and fmiGetDerivatives -fmiReal getReal(ModelInstance* comp, fmiValueReference vr){ - switch (vr) { - case x_ : return r(x_); - case der_x_ : return - r(k_) * r(x_); - case k_ : return r(k_); - default: return 0; - } -} - -// Used to set the next time event, if any. -void eventUpdate(fmiComponent comp, fmiEventInfo* eventInfo) { -} - -// include code that implements the FMI based on the above definitions -#include "fmuTemplate.c" - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/dq/model.png b/org.simantics.modelica/FMUSolution/FMISDK/src/models/dq/model.png deleted file mode 100644 index 8d23e9a9..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/src/models/dq/model.png and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/dq/modelDescription.xml b/org.simantics.modelica/FMUSolution/FMISDK/src/models/dq/modelDescription.xml deleted file mode 100644 index daf9fbf0..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/models/dq/modelDescription.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/dq/plot_x.PNG b/org.simantics.modelica/FMUSolution/FMISDK/src/models/dq/plot_x.PNG deleted file mode 100644 index b28fa66c..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/src/models/dq/plot_x.PNG and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/fmuTemplate.c b/org.simantics.modelica/FMUSolution/FMISDK/src/models/fmuTemplate.c deleted file mode 100644 index e64b47e3..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/models/fmuTemplate.c +++ /dev/null @@ -1,765 +0,0 @@ -/* ---------------------------------------------------------------------------* - * Implementation of the FMI interface based on functions and macros to - * be defined by the includer of this file. - * If FMI_COSIMULATION is defined, this implements "FMI for Co-Simulation 1.0", - * otherwise "FMI for Model Exchange 1.0". - * The "FMI for Co-Simulation 1.0", implementation assumes that exactly the - * following capability flags are set to fmiTrue: - * canHandleVariableCommunicationStepSize, i.e. fmiDoStep step size can vary - * canHandleEvents, i.e. fmiDoStep step size can be zero - * and all other capability flags are set to default, i.e. to fmiFalse or 0. - * - * Revision history - * 07.02.2010 initial version for "Model Exchange 1.0" released in FMU SDK 1.0 - * 05.03.2010 bug fix: fmiSetString now copies the passed string argument - * and fmiFreeModelInstance frees all string copies - * 11.12.2010 replaced calloc by functions.allocateMemory in fmiInstantiateModel - * 04.08.2011 added support for "FMI for Co-Simulation 1.0" - * - * (c) 2011 QTronic GmbH - * ---------------------------------------------------------------------------*/ - -// array of value references of states -#if NUMBER_OF_REALS>0 -fmiValueReference vrStates[NUMBER_OF_STATES] = STATES; -#endif - -// --------------------------------------------------------------------------- -// Private helpers used below to validate function arguments -// --------------------------------------------------------------------------- - -static fmiBoolean invalidNumber(ModelInstance* comp, const char* f, const char* arg, int n, int nExpected){ - if (n != nExpected) { - comp->state = modelError; - comp->functions.logger(comp, comp->instanceName, fmiError, "error", - "%s: Invalid argument %s = %d. Expected %d.", f, arg, n, nExpected); - return fmiTrue; - } - return fmiFalse; -} - -static fmiBoolean invalidState(ModelInstance* comp, const char* f, int statesExpected){ - if (!comp) - return fmiTrue; - if (!(comp->state & statesExpected)) { - comp->state = modelError; - comp->functions.logger(comp, comp->instanceName, fmiError, "error", - "%s: Illegal call sequence.", f); - return fmiTrue; - } - return fmiFalse; -} - -static fmiBoolean nullPointer(ModelInstance* comp, const char* f, const char* arg, const void* p){ - if (!p) { - comp->state = modelError; - comp->functions.logger(comp, comp->instanceName, fmiError, "error", - "%s: Invalid argument %s = NULL.", f, arg); - return fmiTrue; - } - return fmiFalse; -} - -static fmiBoolean vrOutOfRange(ModelInstance* comp, const char* f, fmiValueReference vr, int end) { - if (vr >= end) { - comp->functions.logger(comp, comp->instanceName, fmiError, "error", - "%s: Illegal value reference %u.", f, vr); - comp->state = fmiError; - return fmiTrue; - } - return fmiFalse; -} - -// --------------------------------------------------------------------------- -// Private helpers used below to implement functions -// --------------------------------------------------------------------------- - -fmiStatus setString(fmiComponent comp, fmiValueReference vr, fmiString value){ - return fmiSetString(comp, &vr, 1, &value); -} - -// fname is fmiInstantiateModel or fmiInstantiateSlave -static fmiComponent instantiateModel(char* fname, fmiString instanceName, fmiString GUID, - fmiCallbackFunctions functions, fmiBoolean loggingOn) { - ModelInstance* comp; - if (!functions.logger) - return NULL; - if (!functions.allocateMemory || !functions.freeMemory){ - functions.logger(NULL, instanceName, fmiError, "error", - "%s: Missing callback function.", fname); - return NULL; - } - if (!instanceName || strlen(instanceName)==0) { - functions.logger(NULL, instanceName, fmiError, "error", - "%s: Missing instance name.", fname); - return NULL; - } - if (strcmp(GUID, MODEL_GUID)) { - functions.logger(NULL, instanceName, fmiError, "error", - "%s: Wrong GUID %s. Expected %s.", fname, GUID, MODEL_GUID); - return NULL; - } - comp = (ModelInstance *)functions.allocateMemory(1, sizeof(ModelInstance)); - if (comp) { - comp->r = functions.allocateMemory(NUMBER_OF_REALS, sizeof(fmiReal)); - comp->i = functions.allocateMemory(NUMBER_OF_INTEGERS, sizeof(fmiInteger)); - comp->b = functions.allocateMemory(NUMBER_OF_BOOLEANS, sizeof(fmiBoolean)); - comp->s = functions.allocateMemory(NUMBER_OF_STRINGS, sizeof(fmiString)); - comp->isPositive = functions.allocateMemory(NUMBER_OF_EVENT_INDICATORS, sizeof(fmiBoolean)); - } - if (!comp || !comp->r || !comp->i || !comp->b || !comp->s || !comp->isPositive) { - functions.logger(NULL, instanceName, fmiError, "error", - "%s: Out of memory.", fname); - return NULL; - } - if (comp->loggingOn) comp->functions.logger(NULL, instanceName, fmiOK, "log", - "%s: GUID=%s", fname, GUID); - comp->instanceName = instanceName; - comp->GUID = GUID; - comp->functions = functions; - comp->loggingOn = loggingOn; - comp->state = modelInstantiated; - setStartValues(comp); // to be implemented by the includer of this file - return comp; -} - -// fname is fmiInitialize or fmiInitializeSlave -static fmiStatus init(char* fname, fmiComponent c, fmiBoolean toleranceControlled, fmiReal relativeTolerance, - fmiEventInfo* eventInfo) { - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, fname, modelInstantiated)) - return fmiError; - if (nullPointer(comp, fname, "eventInfo", eventInfo)) - return fmiError; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "%s: toleranceControlled=%d relativeTolerance=%g", - fname, toleranceControlled, relativeTolerance); - eventInfo->iterationConverged = fmiTrue; - eventInfo->stateValueReferencesChanged = fmiFalse; - eventInfo->stateValuesChanged = fmiFalse; - eventInfo->terminateSimulation = fmiFalse; - eventInfo->upcomingTimeEvent = fmiFalse; - initialize(comp, eventInfo); // to be implemented by the includer of this file - comp->state = modelInitialized; - return fmiOK; -} - -// fname is fmiTerminate or fmiTerminateSlave -static fmiStatus terminate(char* fname, fmiComponent c){ - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, fname, modelInitialized)) - return fmiError; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", fname); - comp->state = modelTerminated; - return fmiOK; -} - -// fname is freeModelInstance of freeSlaveInstance -void freeInstance(char* fname, fmiComponent c) { - ModelInstance* comp = (ModelInstance *)c; - if (!comp) return; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", fname); - if (comp->r) comp->functions.freeMemory(comp->r); - if (comp->i) comp->functions.freeMemory(comp->i); - if (comp->b) comp->functions.freeMemory(comp->b); - if (comp->s) { - int i; - for (i=0; is[i]) comp->functions.freeMemory(comp->s[i]); - } - comp->functions.freeMemory(comp->s); - } - comp->functions.freeMemory(comp); -} - -// --------------------------------------------------------------------------- -// FMI functions: class methods not depending of a specific model instance -// --------------------------------------------------------------------------- - -const char* fmiGetVersion() { - return fmiVersion; -} - -// --------------------------------------------------------------------------- -// FMI functions: for FMI Model Exchange 1.0 and for FMI Co-Simulation 1.0 -// logging control, setters and getters for Real, Integer, Boolean, String -// --------------------------------------------------------------------------- - -fmiStatus fmiSetDebugLogging(fmiComponent c, fmiBoolean loggingOn) { - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiSetDebugLogging", not_modelError)) - return fmiError; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiSetDebugLogging: loggingOn=%d", loggingOn); - comp->loggingOn = loggingOn; - return fmiOK; -} - -fmiStatus fmiSetReal(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiReal value[]){ - int i; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiSetReal", modelInstantiated|modelInitialized)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiSetReal", "vr[]", vr)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiSetReal", "value[]", value)) - return fmiError; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiSetReal: nvr = %d", nvr); - // no check wether setting the value is allowed in the current state - for (i=0; iloggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiSetReal: #r%d# = %.16g", vr[i], value[i]); - comp->r[vr[i]] = value[i]; - } - return fmiOK; -} - -fmiStatus fmiSetInteger(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger value[]){ - int i; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiSetInteger", modelInstantiated|modelInitialized)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiSetInteger", "vr[]", vr)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiSetInteger", "value[]", value)) - return fmiError; - if (comp->loggingOn) - comp->functions.logger(c, comp->instanceName, fmiOK, "log", "fmiSetInteger: nvr = %d", nvr); - for (i=0; iloggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiSetInteger: #i%d# = %d", vr[i], value[i]); - comp->i[vr[i]] = value[i]; - } - return fmiOK; -} - -fmiStatus fmiSetBoolean(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiBoolean value[]){ - int i; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiSetBoolean", modelInstantiated|modelInitialized)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiSetBoolean", "vr[]", vr)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiSetBoolean", "value[]", value)) - return fmiError; - if (comp->loggingOn) - comp->functions.logger(c, comp->instanceName, fmiOK, "log", "fmiSetBoolean: nvr = %d", nvr); - for (i=0; iloggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiSetBoolean: #b%d# = %s", vr[i], value[i] ? "true" : "false"); - comp->b[vr[i]] = value[i]; - } - return fmiOK; -} - -fmiStatus fmiSetString(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiString value[]){ - int i, n; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiSetString", modelInstantiated|modelInitialized)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiSetString", "vr[]", vr)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiSetString", "value[]", value)) - return fmiError; - if (comp->loggingOn) - comp->functions.logger(c, comp->instanceName, fmiOK, "log", "fmiSetString: nvr = %d", nvr); - for (i=0; is[vr[i]]; - if (vrOutOfRange(comp, "fmiSetString", vr[i], NUMBER_OF_STRINGS)) - return fmiError; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiSetString: #s%d# = '%s'", vr[i], value[i]); - if (nullPointer(comp, "fmiSetString", "value[i]", value[i])) - return fmiError; - if (string==NULL || strlen(string) < strlen(value[i])) { - if (string) comp->functions.freeMemory(string); - comp->s[vr[i]] = comp->functions.allocateMemory(1+strlen(value[i]), sizeof(char)); - if (!comp->s[vr[i]]) { - comp->state = modelError; - comp->functions.logger(NULL, comp->instanceName, fmiError, "error", "fmiSetString: Out of memory."); - return fmiError; - } - } - strcpy(comp->s[vr[i]], value[i]); - } - return fmiOK; -} - -fmiStatus fmiGetReal(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiReal value[]) { - int i; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiGetReal", not_modelError)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiGetReal", "vr[]", vr)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiGetReal", "value[]", value)) - return fmiError; -#if NUMBER_OF_REALS>0 - for (i=0; iloggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiGetReal: #r%u# = %.16g", vr[i], value[i]); - } -#endif - return fmiOK; -} - -fmiStatus fmiGetInteger(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiInteger value[]) { - int i; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiGetInteger", not_modelError)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiGetInteger", "vr[]", vr)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiGetInteger", "value[]", value)) - return fmiError; - for (i=0; ii[vr[i]]; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiGetInteger: #i%u# = %d", vr[i], value[i]); - } - return fmiOK; -} - -fmiStatus fmiGetBoolean(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiBoolean value[]) { - int i; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiGetBoolean", not_modelError)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiGetBoolean", "vr[]", vr)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiGetBoolean", "value[]", value)) - return fmiError; - for (i=0; ib[vr[i]]; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiGetBoolean: #b%u# = %s", vr[i], value[i]? "true" : "false"); - } - return fmiOK; -} - -fmiStatus fmiGetString(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiString value[]) { - int i; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiGetString", not_modelError)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiGetString", "vr[]", vr)) - return fmiError; - if (nvr>0 && nullPointer(comp, "fmiGetString", "value[]", value)) - return fmiError; - for (i=0; is[vr[i]]; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiGetString: #s%u# = '%s'", vr[i], value[i]); - } - return fmiOK; -} - -#ifdef FMI_COSIMULATION -// --------------------------------------------------------------------------- -// FMI functions: only for FMI Co-Simulation 1.0 -// --------------------------------------------------------------------------- - -const char* fmiGetTypesPlatform() { - return fmiPlatform; -} - -fmiComponent fmiInstantiateSlave(fmiString instanceName, fmiString GUID, - fmiString fmuLocation, fmiString mimeType, fmiReal timeout, fmiBoolean visible, - fmiBoolean interactive, fmiCallbackFunctions functions, fmiBoolean loggingOn) { - // ignoring arguments: fmuLocation, mimeType, timeout, visible, interactive - return instantiateModel("fmiInstantiateSlave", instanceName, GUID, functions, loggingOn); -} - -fmiStatus fmiInitializeSlave(fmiComponent c, fmiReal tStart, fmiBoolean StopTimeDefined, fmiReal tStop) { - ModelInstance* comp = (ModelInstance *)c; - fmiBoolean toleranceControlled = fmiFalse; - fmiReal relativeTolerance = 0; - fmiStatus flag = fmiOK; - comp->eventInfo.iterationConverged = 0; - while (flag==fmiOK && !comp->eventInfo.iterationConverged) { - // ignoring arguments: tStart, StopTimeDefined, tStop - flag = init("fmiInitializeSlave", c, toleranceControlled, relativeTolerance, &comp->eventInfo); - } - return flag; -} - -fmiStatus fmiTerminateSlave(fmiComponent c) { - return terminate("fmiTerminateSlave", c); -} - -fmiStatus fmiResetSlave(fmiComponent c) { - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiResetSlave", modelInitialized)) - return fmiError; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", "fmiResetSlave"); - comp->state = modelInstantiated; - setStartValues(comp); // to be implemented by the includer of this file - return fmiOK; -} - -void fmiFreeSlaveInstance(fmiComponent c) { - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiFreeSlaveInstance", modelTerminated)) - return; - freeInstance("fmiFreeSlaveInstance", c); -} - -fmiStatus fmiSetRealInputDerivatives(fmiComponent c, const fmiValueReference vr[], size_t nvr, - const fmiInteger order[], const fmiReal value[]) { - ModelInstance* comp = (ModelInstance *)c; - fmiCallbackLogger log = comp->functions.logger; - if (invalidState(comp, "fmiSetRealInputDerivatives", modelInitialized)) - return fmiError; - if (comp->loggingOn) log(c, comp->instanceName, fmiOK, "log", "fmiSetRealInputDerivatives: nvr= %d", nvr); - log(NULL, comp->instanceName, fmiError, "warning", "fmiSetRealInputDerivatives: ignoring function call." - " This model cannot interpolate inputs: canInterpolateInputs=\"fmiFalse\""); - return fmiWarning; -} - -fmiStatus fmiGetRealOutputDerivatives(fmiComponent c, const fmiValueReference vr[], size_t nvr, - const fmiInteger order[], fmiReal value[]) { - int i; - ModelInstance* comp = (ModelInstance *)c; - fmiCallbackLogger log = comp->functions.logger; - if (invalidState(comp, "fmiGetRealOutputDerivatives", modelInitialized)) - return fmiError; - if (comp->loggingOn) log(c, comp->instanceName, fmiOK, "log", "fmiGetRealOutputDerivatives: nvr= %d", nvr); - log(NULL, comp->instanceName, fmiError, "warning", "fmiGetRealOutputDerivatives: ignoring function call." - " This model cannot compute derivatives of outputs: MaxOutputDerivativeOrder=\"0\""); - for (i=0; ifunctions.logger; - if (invalidState(comp, "fmiCancelStep", modelInitialized)) - return fmiError; - if (comp->loggingOn) log(c, comp->instanceName, fmiOK, "log", "fmiCancelStep"); - log(NULL, comp->instanceName, fmiError, "error", - "fmiCancelStep: Can be called when fmiDoStep returned fmiPending." - " This is not the case."); - return fmiError; -} - -fmiStatus fmiDoStep(fmiComponent c, fmiReal currentCommunicationPoint, - fmiReal communicationStepSize, fmiBoolean newStep) { - ModelInstance* comp = (ModelInstance *)c; - fmiCallbackLogger log = comp->functions.logger; - double h = communicationStepSize / 10; - int k,i; - const int n = 10; // how many Euler steps to perform for one do step - double prevState[max(NUMBER_OF_STATES, 1)]; - double prevEventIndicators[max(NUMBER_OF_EVENT_INDICATORS, 1)]; - int stateEvent = 0; - - if (invalidState(comp, "fmiDoStep", modelInitialized)) - return fmiError; - - if (comp->loggingOn) log(c, comp->instanceName, fmiOK, "log", "fmiDoStep: " - "currentCommunicationPoint = %g, ", - "communicationStepSize = %g, ", - "newStep = fmi%s", - currentCommunicationPoint, communicationStepSize, newStep ? "True" : "False"); - - // Treat also case of zero step, i.e. during an event iteration - if (communicationStepSize == 0) { - return fmiOK; - } - -#if NUMBER_OF_EVENT_INDICATORS>0 - // initialize previous event indcators with current values - for (i=0; itime = currentCommunicationPoint; - for (k=0; ktime += h; - -#if NUMBER_OF_REALS>0 - for (i=0; i0 - // check for state event - for (i=0; iloggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiDoStep: state event at %g, z%d crosses zero -%c-", comp->time, i, ei<0 ? '\\' : '/'); - stateEvent++; - } - prevEventIndicators[i] = ei; - } - if (stateEvent) { - eventUpdate(comp, &comp->eventInfo); - stateEvent = 0; - } -#endif - // check for time event - if (comp->eventInfo.upcomingTimeEvent && comp->time > comp->eventInfo.nextEventTime) { - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiDoStep: time event detected at %g", comp->time); - eventUpdate(comp, &comp->eventInfo); - } - - // terminate simulation, if requested by the model - if (comp->eventInfo.terminateSimulation) { - comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiDoStep: model requested termination at t=%g", comp->time); - return fmiError; // enforce termination of the simulation loop - } - } - return fmiOK; -} - -static fmiStatus getStatus(char* fname, fmiComponent c, const fmiStatusKind s) { - const char* statusKind[3] = {"fmiDoStepStatus","fmiPendingStatus","fmiLastSuccessfulTime"}; - ModelInstance* comp = (ModelInstance *)c; - fmiCallbackLogger log = comp->functions.logger; - if (invalidState(comp, fname, modelInstantiated|modelInitialized)) - return fmiError; - if (comp->loggingOn) log(c, comp->instanceName, fmiOK, "log", "$s: fmiStatusKind = %s", fname, statusKind[s]); - switch(s) { - case fmiDoStepStatus: log(NULL, comp->instanceName, fmiError, "error", - "%s: Can be called with fmiDoStepStatus when fmiDoStep returned fmiPending." - " This is not the case.", fname); - break; - case fmiPendingStatus: log(NULL, comp->instanceName, fmiError, "error", - "%s: Can be called with fmiPendingStatus when fmiDoStep returned fmiPending." - " This is not the case.", fname); - break; - case fmiLastSuccessfulTime: log(NULL, comp->instanceName, fmiError, "error", - "%s: Can be called with fmiLastSuccessfulTime when fmiDoStep returned fmiDiscard." - " This is not the case.", fname); - break; - } - return fmiError; -} - -fmiStatus fmiGetStatus(fmiComponent c, const fmiStatusKind s, fmiStatus* value) { - return getStatus("fmiGetStatus", c, s); -} - -fmiStatus fmiGetRealStatus(fmiComponent c, const fmiStatusKind s, fmiReal* value){ - return getStatus("fmiGetRealStatus", c, s); -} - -fmiStatus fmiGetIntegerStatus(fmiComponent c, const fmiStatusKind s, fmiInteger* value){ - return getStatus("fmiGetIntegerStatus", c, s); -} - -fmiStatus fmiGetBooleanStatus(fmiComponent c, const fmiStatusKind s, fmiBoolean* value){ - return getStatus("fmiGetBooleanStatus", c, s); -} - -fmiStatus fmiGetStringStatus(fmiComponent c, const fmiStatusKind s, fmiString* value){ - return getStatus("fmiGetStringStatus", c, s); -} - -#else -// --------------------------------------------------------------------------- -// FMI functions: only for Model Exchange 1.0 -// --------------------------------------------------------------------------- - -const char* fmiGetModelTypesPlatform() { - return fmiModelTypesPlatform; -} - -fmiComponent fmiInstantiateModel(fmiString instanceName, fmiString GUID, - fmiCallbackFunctions functions, fmiBoolean loggingOn) { - return instantiateModel("fmiInstantiateModel", instanceName, GUID, functions, loggingOn); -} - -fmiStatus fmiInitialize(fmiComponent c, fmiBoolean toleranceControlled, fmiReal relativeTolerance, - fmiEventInfo* eventInfo) { - return init("fmiInitialize", c, toleranceControlled, relativeTolerance, eventInfo); -} - -fmiStatus fmiSetTime(fmiComponent c, fmiReal time) { - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiSetTime", modelInstantiated|modelInitialized)) - return fmiError; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiSetTime: time=%.16g", time); - comp->time = time; - return fmiOK; -} - -fmiStatus fmiSetContinuousStates(fmiComponent c, const fmiReal x[], size_t nx){ - ModelInstance* comp = (ModelInstance *)c; - int i; - if (invalidState(comp, "fmiSetContinuousStates", modelInitialized)) - return fmiError; - if (invalidNumber(comp, "fmiSetContinuousStates", "nx", nx, NUMBER_OF_STATES)) - return fmiError; - if (nullPointer(comp, "fmiSetContinuousStates", "x[]", x)) - return fmiError; -#if NUMBER_OF_REALS>0 - for (i=0; iloggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiSetContinuousStates: #r%d#=%.16g", vr, x[i]); - assert(vr>=0 && vrr[vr] = x[i]; - } -#endif - return fmiOK; -} - -fmiStatus fmiEventUpdate(fmiComponent c, fmiBoolean intermediateResults, fmiEventInfo* eventInfo) { - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiEventUpdate", modelInitialized)) - return fmiError; - if (nullPointer(comp, "fmiEventUpdate", "eventInfo", eventInfo)) - return fmiError; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiEventUpdate: intermediateResults = %d", intermediateResults); - eventInfo->iterationConverged = fmiTrue; - eventInfo->stateValueReferencesChanged = fmiFalse; - eventInfo->stateValuesChanged = fmiFalse; - eventInfo->terminateSimulation = fmiFalse; - eventInfo->upcomingTimeEvent = fmiFalse; - eventUpdate(comp, eventInfo); // to be implemented by the includer of this file - return fmiOK; -} - -fmiStatus fmiCompletedIntegratorStep(fmiComponent c, fmiBoolean* callEventUpdate){ - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiCompletedIntegratorStep", modelInitialized)) - return fmiError; - if (nullPointer(comp, "fmiCompletedIntegratorStep", "callEventUpdate", callEventUpdate)) - return fmiError; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiCompletedIntegratorStep"); - *callEventUpdate = fmiFalse; - return fmiOK; -} - -fmiStatus fmiGetStateValueReferences(fmiComponent c, fmiValueReference vrx[], size_t nx){ - int i; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiGetStateValueReferences", not_modelError)) - return fmiError; - if (invalidNumber(comp, "fmiGetStateValueReferences", "nx", nx, NUMBER_OF_STATES)) - return fmiError; - if (nullPointer(comp, "fmiGetStateValueReferences", "vrx[]", vrx)) - return fmiError; -#if NUMBER_OF_REALS>0 - for (i=0; iloggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiGetStateValueReferences: vrx[%d] = %d", i, vrx[i]); - } -#endif - return fmiOK; -} - -fmiStatus fmiGetContinuousStates(fmiComponent c, fmiReal states[], size_t nx){ - int i; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiGetContinuousStates", not_modelError)) - return fmiError; - if (invalidNumber(comp, "fmiGetContinuousStates", "nx", nx, NUMBER_OF_STATES)) - return fmiError; - if (nullPointer(comp, "fmiGetContinuousStates", "states[]", states)) - return fmiError; -#if NUMBER_OF_REALS>0 - for (i=0; iloggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiGetContinuousStates: #r%u# = %.16g", vr, states[i]); - } -#endif - return fmiOK; -} - -fmiStatus fmiGetNominalContinuousStates(fmiComponent c, fmiReal x_nominal[], size_t nx){ - int i; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiGetNominalContinuousStates", not_modelError)) - return fmiError; - if (invalidNumber(comp, "fmiGetNominalContinuousStates", "nx", nx, NUMBER_OF_STATES)) - return fmiError; - if (nullPointer(comp, "fmiGetNominalContinuousStates", "x_nominal[]", x_nominal)) - return fmiError; - x_nominal[0] = 1; - if (comp->loggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiGetNominalContinuousStates: x_nominal[0..%d] = 1.0", nx-1); - for (i=0; i0 - for (i=0; iloggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiGetDerivatives: #r%d# = %.16g", vr, derivatives[i]); - } -#endif - return fmiOK; -} - -fmiStatus fmiGetEventIndicators(fmiComponent c, fmiReal eventIndicators[], size_t ni) { - int i; - ModelInstance* comp = (ModelInstance *)c; - if (invalidState(comp, "fmiGetEventIndicators", not_modelError)) - return fmiError; - if (invalidNumber(comp, "fmiGetEventIndicators", "ni", ni, NUMBER_OF_EVENT_INDICATORS)) - return fmiError; -#if NUMBER_OF_EVENT_INDICATORS>0 - for (i=0; iloggingOn) comp->functions.logger(c, comp->instanceName, fmiOK, "log", - "fmiGetEventIndicators: z%d = %.16g", i, eventIndicators[i]); - } -#endif - return fmiOK; -} - -fmiStatus fmiTerminate(fmiComponent c){ - return terminate("fmiTerminate", c); -} - -void fmiFreeModelInstance(fmiComponent c) { - freeInstance("fmiFreeModelInstance", c); -} - -#endif // Model Exchange 1.0 diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/fmuTemplate.h b/org.simantics.modelica/FMUSolution/FMISDK/src/models/fmuTemplate.h deleted file mode 100644 index 486bd406..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/models/fmuTemplate.h +++ /dev/null @@ -1,49 +0,0 @@ -/* ---------------------------------------------------------------------------* - * fmuTemplate.h - * Definitions used in fmiModelFunctions.c and by the includer of this file - * (c) 2010 QTronic GmbH - * ---------------------------------------------------------------------------*/ - -#include -#include -#include - -#ifdef FMI_COSIMULATION -#include "fmiFunctions.h" -#else -#include "fmiModelFunctions.h" -#endif - -// macros used to define variables -#define r(vr) comp->r[vr] -#define i(vr) comp->i[vr] -#define b(vr) comp->b[vr] -#define s(vr) comp->s[vr] -#define pos(z) comp->isPositive[z] -#define copy(vr, value) setString(comp, vr, value) - -#define not_modelError (modelInstantiated|modelInitialized|modelTerminated) - -typedef enum { - modelInstantiated = 1<<0, - modelInitialized = 1<<1, - modelTerminated = 1<<2, - modelError = 1<<3 -} ModelState; - -typedef struct { - fmiReal *r; - fmiInteger *i; - fmiBoolean *b; - fmiString *s; - fmiBoolean *isPositive; - fmiReal time; - fmiString instanceName; - fmiString GUID; - fmiCallbackFunctions functions; - fmiBoolean loggingOn; - ModelState state; -#ifdef FMI_COSIMULATION - fmiEventInfo eventInfo; -#endif -} ModelInstance; diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/inc/_main.html b/org.simantics.modelica/FMUSolution/FMISDK/src/models/inc/_main.html deleted file mode 100644 index 8850b0d8..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/models/inc/_main.html +++ /dev/null @@ -1,18 +0,0 @@ - - - Documentation for inc.fmu - - - -

inc.fmu

-This FMU generates time events to increment an integer counter every second and terminates simulation at t=12 sec. -
- -
-The figure shows the solution computed with Silver. - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/inc/inc.c b/org.simantics.modelica/FMUSolution/FMISDK/src/models/inc/inc.c deleted file mode 100644 index 8440dcd5..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/models/inc/inc.c +++ /dev/null @@ -1,56 +0,0 @@ -/* ---------------------------------------------------------------------------* - * Sample implementation of an FMU - increments an int counter every second. - * (c) 2010 QTronic GmbH - * ---------------------------------------------------------------------------*/ - -// define class name and unique id -#define MODEL_IDENTIFIER inc -#define MODEL_GUID "{8c4e810f-3df3-4a00-8276-176fa3c9f008}" - -// define model size -#define NUMBER_OF_REALS 0 -#define NUMBER_OF_INTEGERS 1 -#define NUMBER_OF_BOOLEANS 0 -#define NUMBER_OF_STRINGS 0 -#define NUMBER_OF_STATES 0 -#define NUMBER_OF_EVENT_INDICATORS 0 - -// include fmu header files, typedefs and macros -#include "fmuTemplate.h" - -// define all model variables and their value references -// conventions used here: -// - if x is a variable, then macro x_ is its variable reference -// - the vr of a variable is its index in array r, i, b or s -// - if k is the vr of a real state, then k+1 is the vr of its derivative -#define counter_ 0 - -// called by fmiInstantiateModel -// Set values for all variables that define a start value -// Settings used unless changed by fmiSetX before fmiInitialize -void setStartValues(ModelInstance *comp) { - i(counter_) = 1; -} - -// called by fmiInitialize() after setting eventInfo to defaults -// Used to set the first time event, if any. -void initialize(ModelInstance* comp, fmiEventInfo* eventInfo) { - eventInfo->upcomingTimeEvent = fmiTrue; - eventInfo->nextEventTime = 1 + comp->time; -} - -// called by fmiEventUpdate() after setting eventInfo to defaults -// Used to set the next time event, if any. -void eventUpdate(ModelInstance* comp, fmiEventInfo* eventInfo) { - i(counter_) += 1; - if (i(counter_) == 13) - eventInfo->terminateSimulation = fmiTrue; - else { - eventInfo->upcomingTimeEvent = fmiTrue; - eventInfo->nextEventTime = 1 + comp->time; - } -} - -// include code that implements the FMI based on the above definitions -#include "fmuTemplate.c" - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/inc/model.png b/org.simantics.modelica/FMUSolution/FMISDK/src/models/inc/model.png deleted file mode 100644 index 8d23e9a9..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/src/models/inc/model.png and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/inc/modelDescription.xml b/org.simantics.modelica/FMUSolution/FMISDK/src/models/inc/modelDescription.xml deleted file mode 100644 index 58ce6f81..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/models/inc/modelDescription.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/inc/plot_counter.PNG b/org.simantics.modelica/FMUSolution/FMISDK/src/models/inc/plot_counter.PNG deleted file mode 100644 index d3ec25da..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/src/models/inc/plot_counter.PNG and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/me.xml b/org.simantics.modelica/FMUSolution/FMISDK/src/models/me.xml deleted file mode 100644 index 5ecace66..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/models/me.xml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/values/_main.html b/org.simantics.modelica/FMUSolution/FMISDK/src/models/values/_main.html deleted file mode 100644 index 082d5145..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/models/values/_main.html +++ /dev/null @@ -1,19 +0,0 @@ - - - Documentation for values.fmu - - - -

values.fmu

- This FMU demonstrates the use of all four scalar FMU data types - and terminates simulation at t=12 sec. - -
-The figure shows the solution computed with fmusim using the command -fmusim me fmu\me\values.fmu 12 12. - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/values/model.png b/org.simantics.modelica/FMUSolution/FMISDK/src/models/values/model.png deleted file mode 100644 index 8d23e9a9..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/src/models/values/model.png and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/values/modelDescription.xml b/org.simantics.modelica/FMUSolution/FMISDK/src/models/values/modelDescription.xml deleted file mode 100644 index 3673a616..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/models/values/modelDescription.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/values/values.PNG b/org.simantics.modelica/FMUSolution/FMISDK/src/models/values/values.PNG deleted file mode 100644 index 45eaf966..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/src/models/values/values.PNG and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/values/values.c b/org.simantics.modelica/FMUSolution/FMISDK/src/models/values/values.c deleted file mode 100644 index 536a2904..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/models/values/values.c +++ /dev/null @@ -1,85 +0,0 @@ -/* ---------------------------------------------------------------------------* - * Sample implementation of an FMU - * This demonstrates the use of all FMU variable types. - * (c) 2010 QTronic GmbH - * ---------------------------------------------------------------------------*/ - -// define class name and unique id -#define MODEL_IDENTIFIER values -#define MODEL_GUID "{8c4e810f-3df3-4a00-8276-176fa3c9f004}" - -// define model size -#define NUMBER_OF_REALS 2 -#define NUMBER_OF_INTEGERS 2 -#define NUMBER_OF_BOOLEANS 2 -#define NUMBER_OF_STRINGS 2 -#define NUMBER_OF_STATES 1 -#define NUMBER_OF_EVENT_INDICATORS 0 - -// include fmu header files, typedefs and macros -#include "fmuTemplate.h" - -// define all model variables and their value references -// conventions used here: -// - if x is a variable, then macro x_ is its variable reference -// - the vr of a variable is its index in array r, i, b or s -// - if k is the vr of a real state, then k+1 is the vr of its derivative -#define x_ 0 -#define der_x_ 1 -#define int_in_ 0 -#define int_out_ 1 -#define bool_in_ 0 -#define bool_out_ 1 -#define string_in_ 0 -#define string_out_ 1 - -// define state vector as vector of value references -#define STATES { x_ } - -const char* month[] = { - "jan","feb","march","april","may","june","july", - "august","sept","october","november","december" -}; - -// called by fmiInstantiateModel -// Set values for all variables that define a start value -// Settings used unless changed by fmiSetX before fmiInitialize -void setStartValues(ModelInstance *comp) { - r(x_) = 1; - i(int_in_) = 2; - i(int_out_) = 0; - b(bool_in_) = fmiTrue; - b(bool_out_) = fmiFalse; - copy(string_in_, "a string"); - copy(string_out_, month[0]); -} - -// called by fmiInitialize() after setting eventInfo to defaults -// Used to set the first time event, if any. -void initialize(ModelInstance* comp, fmiEventInfo* eventInfo) { - eventInfo->upcomingTimeEvent = fmiTrue; - eventInfo->nextEventTime = 1 + comp->time; -} - -// called by fmiGetReal, fmiGetContinuousStates and fmiGetDerivatives -fmiReal getReal(ModelInstance* comp, fmiValueReference vr){ - switch (vr) { - case x_ : return r(x_); - case der_x_ : return - r(x_); - default: return 0; - } -} - -// called by fmiEventUpdate() after setting eventInfo to defaults -void eventUpdate(ModelInstance* comp, fmiEventInfo* eventInfo) { - eventInfo->upcomingTimeEvent = fmiTrue; - eventInfo->nextEventTime = 1 + comp->time; - i(int_out_) += 1; - b(bool_out_) = !b(bool_out_); - if (i(int_out_)<12) copy(string_out_, month[i(int_out_)]); - else eventInfo->terminateSimulation = fmiTrue; -} - -// include code that implements the FMI based on the above definitions -#include "fmuTemplate.c" - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/vanDerPol/_main.html b/org.simantics.modelica/FMUSolution/FMISDK/src/models/vanDerPol/_main.html deleted file mode 100644 index 07875f40..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/models/vanDerPol/_main.html +++ /dev/null @@ -1,23 +0,0 @@ - - -Documentation for vanDerPol.fmu - - - -

vanDerPol.fmu

-This FMU implements the famous -Van der Pol oscillator. -
    -
  • der(x0) = x1
  • -
  • der(x1) = mu * ((1 - x0 * x0) * x1) - x0
  • -
- -
-The figure shows the solution computed with Silver -for start values x0 = 2, x1 = 0, mu = 1. - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/vanDerPol/model.png b/org.simantics.modelica/FMUSolution/FMISDK/src/models/vanDerPol/model.png deleted file mode 100644 index 8d23e9a9..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/src/models/vanDerPol/model.png and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/vanDerPol/modelDescription.xml b/org.simantics.modelica/FMUSolution/FMISDK/src/models/vanDerPol/modelDescription.xml deleted file mode 100644 index ca44c3f3..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/models/vanDerPol/modelDescription.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/vanDerPol/plot_states.png b/org.simantics.modelica/FMUSolution/FMISDK/src/models/vanDerPol/plot_states.png deleted file mode 100644 index 05761cd2..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/src/models/vanDerPol/plot_states.png and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/models/vanDerPol/vanDerPol.c b/org.simantics.modelica/FMUSolution/FMISDK/src/models/vanDerPol/vanDerPol.c deleted file mode 100644 index c4945207..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/models/vanDerPol/vanDerPol.c +++ /dev/null @@ -1,75 +0,0 @@ -/* ---------------------------------------------------------------------------* - * Sample implementation of an FMU - the Van der Pol oscillator. - * See http://en.wikipedia.org/wiki/Van_der_Pol_oscillator - * - * der(x0) = x1 - * der(x1) = mu * ((1 - x0 ^ 2) * x1) - x0; - * - * start values: x0=2, x1=0, mue=1 - * - * (c) 2011 QTronic GmbH - * ---------------------------------------------------------------------------*/ - -// define class name and unique id -#define MODEL_IDENTIFIER vanDerPol -#define MODEL_GUID "{8c4e810f-3da3-4a00-8276-176fa3c9f000}" - -// define model size -#define NUMBER_OF_REALS 5 -#define NUMBER_OF_INTEGERS 0 -#define NUMBER_OF_BOOLEANS 0 -#define NUMBER_OF_STRINGS 0 -#define NUMBER_OF_STATES 2 -#define NUMBER_OF_EVENT_INDICATORS 0 - -// include fmu header files, typedefs and macros -#include "fmuTemplate.h" - -// define all model variables and their value references -// conventions used here: -// - if x is a variable, then macro x_ is its variable reference -// - the vr of a variable is its index in array r, i, b or s -// - if k is the vr of a real state, then k+1 is the vr of its derivative -#define x0_ 0 -#define der_x0_ 1 -#define x1_ 2 -#define der_x1_ 3 -#define mu_ 4 - -// define state vector as vector of value references -#define STATES { x0_, x1_ } - -// called by fmiInstantiateModel -// Set values for all variables that define a start value -// Settings used unless changed by fmiSetX before fmiInitialize -void setStartValues(ModelInstance *comp) { - r(x0_) = 2; - r(x1_) = 0; - r(mu_) = 1; -} - -// called by fmiInitialize() after setting eventInfo to defaults -// Used to set the first time event, if any. -void initialize(ModelInstance* comp, fmiEventInfo* eventInfo) { -} - -// called by fmiGetReal, fmiGetContinuousStates and fmiGetDerivatives -fmiReal getReal(ModelInstance* comp, fmiValueReference vr){ - switch (vr) { - case x0_ : return r(x0_); - case x1_ : return r(x1_); - case der_x0_ : return r(x1_); - case der_x1_ : return r(mu_) * ((1.0-r(x0_)*r(x0_))*r(x1_)) - r(x0_); - case mu_ : return r(mu_); - default: return 0; - } -} - -// Used to set the next time event, if any. -void eventUpdate(fmiComponent comp, fmiEventInfo* eventInfo) { -} - -// include code that implements the FMI based on the above definitions -#include "fmuTemplate.c" - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/shared/COPYING.txt b/org.simantics.modelica/FMUSolution/FMISDK/src/shared/COPYING.txt deleted file mode 100644 index 90422175..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/shared/COPYING.txt +++ /dev/null @@ -1,24 +0,0 @@ -Files expat.h, expat_external.h and libexpatMT.lib - -Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd - and Clark Cooper -Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/shared/expat.h b/org.simantics.modelica/FMUSolution/FMISDK/src/shared/expat.h deleted file mode 100644 index 6c2b6ff5..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/shared/expat.h +++ /dev/null @@ -1,1014 +0,0 @@ -/* Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd - See the file COPYING for copying permission. -*/ - -#ifndef Expat_INCLUDED -#define Expat_INCLUDED 1 - -#ifdef __VMS -/* 0 1 2 3 0 1 2 3 - 1234567890123456789012345678901 1234567890123456789012345678901 */ -#define XML_SetProcessingInstructionHandler XML_SetProcessingInstrHandler -#define XML_SetUnparsedEntityDeclHandler XML_SetUnparsedEntDeclHandler -#define XML_SetStartNamespaceDeclHandler XML_SetStartNamespcDeclHandler -#define XML_SetExternalEntityRefHandlerArg XML_SetExternalEntRefHandlerArg -#endif - -#include -#include "expat_external.h" - -#ifdef __cplusplus -extern "C" { -#endif - -struct XML_ParserStruct; -typedef struct XML_ParserStruct *XML_Parser; - -/* Should this be defined using stdbool.h when C99 is available? */ -typedef unsigned char XML_Bool; -#define XML_TRUE ((XML_Bool) 1) -#define XML_FALSE ((XML_Bool) 0) - -/* The XML_Status enum gives the possible return values for several - API functions. The preprocessor #defines are included so this - stanza can be added to code that still needs to support older - versions of Expat 1.95.x: - - #ifndef XML_STATUS_OK - #define XML_STATUS_OK 1 - #define XML_STATUS_ERROR 0 - #endif - - Otherwise, the #define hackery is quite ugly and would have been - dropped. -*/ -enum XML_Status { - XML_STATUS_ERROR = 0, -#define XML_STATUS_ERROR XML_STATUS_ERROR - XML_STATUS_OK = 1, -#define XML_STATUS_OK XML_STATUS_OK - XML_STATUS_SUSPENDED = 2 -#define XML_STATUS_SUSPENDED XML_STATUS_SUSPENDED -}; - -enum XML_Error { - XML_ERROR_NONE, - XML_ERROR_NO_MEMORY, - XML_ERROR_SYNTAX, - XML_ERROR_NO_ELEMENTS, - XML_ERROR_INVALID_TOKEN, - XML_ERROR_UNCLOSED_TOKEN, - XML_ERROR_PARTIAL_CHAR, - XML_ERROR_TAG_MISMATCH, - XML_ERROR_DUPLICATE_ATTRIBUTE, - XML_ERROR_JUNK_AFTER_DOC_ELEMENT, - XML_ERROR_PARAM_ENTITY_REF, - XML_ERROR_UNDEFINED_ENTITY, - XML_ERROR_RECURSIVE_ENTITY_REF, - XML_ERROR_ASYNC_ENTITY, - XML_ERROR_BAD_CHAR_REF, - XML_ERROR_BINARY_ENTITY_REF, - XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF, - XML_ERROR_MISPLACED_XML_PI, - XML_ERROR_UNKNOWN_ENCODING, - XML_ERROR_INCORRECT_ENCODING, - XML_ERROR_UNCLOSED_CDATA_SECTION, - XML_ERROR_EXTERNAL_ENTITY_HANDLING, - XML_ERROR_NOT_STANDALONE, - XML_ERROR_UNEXPECTED_STATE, - XML_ERROR_ENTITY_DECLARED_IN_PE, - XML_ERROR_FEATURE_REQUIRES_XML_DTD, - XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING, - /* Added in 1.95.7. */ - XML_ERROR_UNBOUND_PREFIX, - /* Added in 1.95.8. */ - XML_ERROR_UNDECLARING_PREFIX, - XML_ERROR_INCOMPLETE_PE, - XML_ERROR_XML_DECL, - XML_ERROR_TEXT_DECL, - XML_ERROR_PUBLICID, - XML_ERROR_SUSPENDED, - XML_ERROR_NOT_SUSPENDED, - XML_ERROR_ABORTED, - XML_ERROR_FINISHED, - XML_ERROR_SUSPEND_PE, - /* Added in 2.0. */ - XML_ERROR_RESERVED_PREFIX_XML, - XML_ERROR_RESERVED_PREFIX_XMLNS, - XML_ERROR_RESERVED_NAMESPACE_URI -}; - -enum XML_Content_Type { - XML_CTYPE_EMPTY = 1, - XML_CTYPE_ANY, - XML_CTYPE_MIXED, - XML_CTYPE_NAME, - XML_CTYPE_CHOICE, - XML_CTYPE_SEQ -}; - -enum XML_Content_Quant { - XML_CQUANT_NONE, - XML_CQUANT_OPT, - XML_CQUANT_REP, - XML_CQUANT_PLUS -}; - -/* If type == XML_CTYPE_EMPTY or XML_CTYPE_ANY, then quant will be - XML_CQUANT_NONE, and the other fields will be zero or NULL. - If type == XML_CTYPE_MIXED, then quant will be NONE or REP and - numchildren will contain number of elements that may be mixed in - and children point to an array of XML_Content cells that will be - all of XML_CTYPE_NAME type with no quantification. - - If type == XML_CTYPE_NAME, then the name points to the name, and - the numchildren field will be zero and children will be NULL. The - quant fields indicates any quantifiers placed on the name. - - CHOICE and SEQ will have name NULL, the number of children in - numchildren and children will point, recursively, to an array - of XML_Content cells. - - The EMPTY, ANY, and MIXED types will only occur at top level. -*/ - -typedef struct XML_cp XML_Content; - -struct XML_cp { - enum XML_Content_Type type; - enum XML_Content_Quant quant; - XML_Char * name; - unsigned int numchildren; - XML_Content * children; -}; - - -/* This is called for an element declaration. See above for - description of the model argument. It's the caller's responsibility - to free model when finished with it. -*/ -typedef void (XMLCALL *XML_ElementDeclHandler) (void *userData, - const XML_Char *name, - XML_Content *model); - -XMLPARSEAPI(void) -XML_SetElementDeclHandler(XML_Parser parser, - XML_ElementDeclHandler eldecl); - -/* The Attlist declaration handler is called for *each* attribute. So - a single Attlist declaration with multiple attributes declared will - generate multiple calls to this handler. The "default" parameter - may be NULL in the case of the "#IMPLIED" or "#REQUIRED" - keyword. The "isrequired" parameter will be true and the default - value will be NULL in the case of "#REQUIRED". If "isrequired" is - true and default is non-NULL, then this is a "#FIXED" default. -*/ -typedef void (XMLCALL *XML_AttlistDeclHandler) ( - void *userData, - const XML_Char *elname, - const XML_Char *attname, - const XML_Char *att_type, - const XML_Char *dflt, - int isrequired); - -XMLPARSEAPI(void) -XML_SetAttlistDeclHandler(XML_Parser parser, - XML_AttlistDeclHandler attdecl); - -/* The XML declaration handler is called for *both* XML declarations - and text declarations. The way to distinguish is that the version - parameter will be NULL for text declarations. The encoding - parameter may be NULL for XML declarations. The standalone - parameter will be -1, 0, or 1 indicating respectively that there - was no standalone parameter in the declaration, that it was given - as no, or that it was given as yes. -*/ -typedef void (XMLCALL *XML_XmlDeclHandler) (void *userData, - const XML_Char *version, - const XML_Char *encoding, - int standalone); - -XMLPARSEAPI(void) -XML_SetXmlDeclHandler(XML_Parser parser, - XML_XmlDeclHandler xmldecl); - - -typedef struct { - void *(*malloc_fcn)(size_t size); - void *(*realloc_fcn)(void *ptr, size_t size); - void (*free_fcn)(void *ptr); -} XML_Memory_Handling_Suite; - -/* Constructs a new parser; encoding is the encoding specified by the - external protocol or NULL if there is none specified. -*/ -XMLPARSEAPI(XML_Parser) -XML_ParserCreate(const XML_Char *encoding); - -/* Constructs a new parser and namespace processor. Element type - names and attribute names that belong to a namespace will be - expanded; unprefixed attribute names are never expanded; unprefixed - element type names are expanded only if there is a default - namespace. The expanded name is the concatenation of the namespace - URI, the namespace separator character, and the local part of the - name. If the namespace separator is '\0' then the namespace URI - and the local part will be concatenated without any separator. - It is a programming error to use the separator '\0' with namespace - triplets (see XML_SetReturnNSTriplet). -*/ -XMLPARSEAPI(XML_Parser) -XML_ParserCreateNS(const XML_Char *encoding, XML_Char namespaceSeparator); - - -/* Constructs a new parser using the memory management suite referred to - by memsuite. If memsuite is NULL, then use the standard library memory - suite. If namespaceSeparator is non-NULL it creates a parser with - namespace processing as described above. The character pointed at - will serve as the namespace separator. - - All further memory operations used for the created parser will come from - the given suite. -*/ -XMLPARSEAPI(XML_Parser) -XML_ParserCreate_MM(const XML_Char *encoding, - const XML_Memory_Handling_Suite *memsuite, - const XML_Char *namespaceSeparator); - -/* Prepare a parser object to be re-used. This is particularly - valuable when memory allocation overhead is disproportionatly high, - such as when a large number of small documnents need to be parsed. - All handlers are cleared from the parser, except for the - unknownEncodingHandler. The parser's external state is re-initialized - except for the values of ns and ns_triplets. - - Added in Expat 1.95.3. -*/ -XMLPARSEAPI(XML_Bool) -XML_ParserReset(XML_Parser parser, const XML_Char *encoding); - -/* atts is array of name/value pairs, terminated by 0; - names and values are 0 terminated. -*/ -typedef void (XMLCALL *XML_StartElementHandler) (void *userData, - const XML_Char *name, - const XML_Char **atts); - -typedef void (XMLCALL *XML_EndElementHandler) (void *userData, - const XML_Char *name); - - -/* s is not 0 terminated. */ -typedef void (XMLCALL *XML_CharacterDataHandler) (void *userData, - const XML_Char *s, - int len); - -/* target and data are 0 terminated */ -typedef void (XMLCALL *XML_ProcessingInstructionHandler) ( - void *userData, - const XML_Char *target, - const XML_Char *data); - -/* data is 0 terminated */ -typedef void (XMLCALL *XML_CommentHandler) (void *userData, - const XML_Char *data); - -typedef void (XMLCALL *XML_StartCdataSectionHandler) (void *userData); -typedef void (XMLCALL *XML_EndCdataSectionHandler) (void *userData); - -/* This is called for any characters in the XML document for which - there is no applicable handler. This includes both characters that - are part of markup which is of a kind that is not reported - (comments, markup declarations), or characters that are part of a - construct which could be reported but for which no handler has been - supplied. The characters are passed exactly as they were in the XML - document except that they will be encoded in UTF-8 or UTF-16. - Line boundaries are not normalized. Note that a byte order mark - character is not passed to the default handler. There are no - guarantees about how characters are divided between calls to the - default handler: for example, a comment might be split between - multiple calls. -*/ -typedef void (XMLCALL *XML_DefaultHandler) (void *userData, - const XML_Char *s, - int len); - -/* This is called for the start of the DOCTYPE declaration, before - any DTD or internal subset is parsed. -*/ -typedef void (XMLCALL *XML_StartDoctypeDeclHandler) ( - void *userData, - const XML_Char *doctypeName, - const XML_Char *sysid, - const XML_Char *pubid, - int has_internal_subset); - -/* This is called for the start of the DOCTYPE declaration when the - closing > is encountered, but after processing any external - subset. -*/ -typedef void (XMLCALL *XML_EndDoctypeDeclHandler)(void *userData); - -/* This is called for entity declarations. The is_parameter_entity - argument will be non-zero if the entity is a parameter entity, zero - otherwise. - - For internal entities (), value will - be non-NULL and systemId, publicID, and notationName will be NULL. - The value string is NOT nul-terminated; the length is provided in - the value_length argument. Since it is legal to have zero-length - values, do not use this argument to test for internal entities. - - For external entities, value will be NULL and systemId will be - non-NULL. The publicId argument will be NULL unless a public - identifier was provided. The notationName argument will have a - non-NULL value only for unparsed entity declarations. - - Note that is_parameter_entity can't be changed to XML_Bool, since - that would break binary compatibility. -*/ -typedef void (XMLCALL *XML_EntityDeclHandler) ( - void *userData, - const XML_Char *entityName, - int is_parameter_entity, - const XML_Char *value, - int value_length, - const XML_Char *base, - const XML_Char *systemId, - const XML_Char *publicId, - const XML_Char *notationName); - -XMLPARSEAPI(void) -XML_SetEntityDeclHandler(XML_Parser parser, - XML_EntityDeclHandler handler); - -/* OBSOLETE -- OBSOLETE -- OBSOLETE - This handler has been superceded by the EntityDeclHandler above. - It is provided here for backward compatibility. - - This is called for a declaration of an unparsed (NDATA) entity. - The base argument is whatever was set by XML_SetBase. The - entityName, systemId and notationName arguments will never be - NULL. The other arguments may be. -*/ -typedef void (XMLCALL *XML_UnparsedEntityDeclHandler) ( - void *userData, - const XML_Char *entityName, - const XML_Char *base, - const XML_Char *systemId, - const XML_Char *publicId, - const XML_Char *notationName); - -/* This is called for a declaration of notation. The base argument is - whatever was set by XML_SetBase. The notationName will never be - NULL. The other arguments can be. -*/ -typedef void (XMLCALL *XML_NotationDeclHandler) ( - void *userData, - const XML_Char *notationName, - const XML_Char *base, - const XML_Char *systemId, - const XML_Char *publicId); - -/* When namespace processing is enabled, these are called once for - each namespace declaration. The call to the start and end element - handlers occur between the calls to the start and end namespace - declaration handlers. For an xmlns attribute, prefix will be - NULL. For an xmlns="" attribute, uri will be NULL. -*/ -typedef void (XMLCALL *XML_StartNamespaceDeclHandler) ( - void *userData, - const XML_Char *prefix, - const XML_Char *uri); - -typedef void (XMLCALL *XML_EndNamespaceDeclHandler) ( - void *userData, - const XML_Char *prefix); - -/* This is called if the document is not standalone, that is, it has an - external subset or a reference to a parameter entity, but does not - have standalone="yes". If this handler returns XML_STATUS_ERROR, - then processing will not continue, and the parser will return a - XML_ERROR_NOT_STANDALONE error. - If parameter entity parsing is enabled, then in addition to the - conditions above this handler will only be called if the referenced - entity was actually read. -*/ -typedef int (XMLCALL *XML_NotStandaloneHandler) (void *userData); - -/* This is called for a reference to an external parsed general - entity. The referenced entity is not automatically parsed. The - application can parse it immediately or later using - XML_ExternalEntityParserCreate. - - The parser argument is the parser parsing the entity containing the - reference; it can be passed as the parser argument to - XML_ExternalEntityParserCreate. The systemId argument is the - system identifier as specified in the entity declaration; it will - not be NULL. - - The base argument is the system identifier that should be used as - the base for resolving systemId if systemId was relative; this is - set by XML_SetBase; it may be NULL. - - The publicId argument is the public identifier as specified in the - entity declaration, or NULL if none was specified; the whitespace - in the public identifier will have been normalized as required by - the XML spec. - - The context argument specifies the parsing context in the format - expected by the context argument to XML_ExternalEntityParserCreate; - context is valid only until the handler returns, so if the - referenced entity is to be parsed later, it must be copied. - context is NULL only when the entity is a parameter entity. - - The handler should return XML_STATUS_ERROR if processing should not - continue because of a fatal error in the handling of the external - entity. In this case the calling parser will return an - XML_ERROR_EXTERNAL_ENTITY_HANDLING error. - - Note that unlike other handlers the first argument is the parser, - not userData. -*/ -typedef int (XMLCALL *XML_ExternalEntityRefHandler) ( - XML_Parser parser, - const XML_Char *context, - const XML_Char *base, - const XML_Char *systemId, - const XML_Char *publicId); - -/* This is called in two situations: - 1) An entity reference is encountered for which no declaration - has been read *and* this is not an error. - 2) An internal entity reference is read, but not expanded, because - XML_SetDefaultHandler has been called. - Note: skipped parameter entities in declarations and skipped general - entities in attribute values cannot be reported, because - the event would be out of sync with the reporting of the - declarations or attribute values -*/ -typedef void (XMLCALL *XML_SkippedEntityHandler) ( - void *userData, - const XML_Char *entityName, - int is_parameter_entity); - -/* This structure is filled in by the XML_UnknownEncodingHandler to - provide information to the parser about encodings that are unknown - to the parser. - - The map[b] member gives information about byte sequences whose - first byte is b. - - If map[b] is c where c is >= 0, then b by itself encodes the - Unicode scalar value c. - - If map[b] is -1, then the byte sequence is malformed. - - If map[b] is -n, where n >= 2, then b is the first byte of an - n-byte sequence that encodes a single Unicode scalar value. - - The data member will be passed as the first argument to the convert - function. - - The convert function is used to convert multibyte sequences; s will - point to a n-byte sequence where map[(unsigned char)*s] == -n. The - convert function must return the Unicode scalar value represented - by this byte sequence or -1 if the byte sequence is malformed. - - The convert function may be NULL if the encoding is a single-byte - encoding, that is if map[b] >= -1 for all bytes b. - - When the parser is finished with the encoding, then if release is - not NULL, it will call release passing it the data member; once - release has been called, the convert function will not be called - again. - - Expat places certain restrictions on the encodings that are supported - using this mechanism. - - 1. Every ASCII character that can appear in a well-formed XML document, - other than the characters - - $@\^`{}~ - - must be represented by a single byte, and that byte must be the - same byte that represents that character in ASCII. - - 2. No character may require more than 4 bytes to encode. - - 3. All characters encoded must have Unicode scalar values <= - 0xFFFF, (i.e., characters that would be encoded by surrogates in - UTF-16 are not allowed). Note that this restriction doesn't - apply to the built-in support for UTF-8 and UTF-16. - - 4. No Unicode character may be encoded by more than one distinct - sequence of bytes. -*/ -typedef struct { - int map[256]; - void *data; - int (XMLCALL *convert)(void *data, const char *s); - void (XMLCALL *release)(void *data); -} XML_Encoding; - -/* This is called for an encoding that is unknown to the parser. - - The encodingHandlerData argument is that which was passed as the - second argument to XML_SetUnknownEncodingHandler. - - The name argument gives the name of the encoding as specified in - the encoding declaration. - - If the callback can provide information about the encoding, it must - fill in the XML_Encoding structure, and return XML_STATUS_OK. - Otherwise it must return XML_STATUS_ERROR. - - If info does not describe a suitable encoding, then the parser will - return an XML_UNKNOWN_ENCODING error. -*/ -typedef int (XMLCALL *XML_UnknownEncodingHandler) ( - void *encodingHandlerData, - const XML_Char *name, - XML_Encoding *info); - -XMLPARSEAPI(void) -XML_SetElementHandler(XML_Parser parser, - XML_StartElementHandler start, - XML_EndElementHandler end); - -XMLPARSEAPI(void) -XML_SetStartElementHandler(XML_Parser parser, - XML_StartElementHandler handler); - -XMLPARSEAPI(void) -XML_SetEndElementHandler(XML_Parser parser, - XML_EndElementHandler handler); - -XMLPARSEAPI(void) -XML_SetCharacterDataHandler(XML_Parser parser, - XML_CharacterDataHandler handler); - -XMLPARSEAPI(void) -XML_SetProcessingInstructionHandler(XML_Parser parser, - XML_ProcessingInstructionHandler handler); -XMLPARSEAPI(void) -XML_SetCommentHandler(XML_Parser parser, - XML_CommentHandler handler); - -XMLPARSEAPI(void) -XML_SetCdataSectionHandler(XML_Parser parser, - XML_StartCdataSectionHandler start, - XML_EndCdataSectionHandler end); - -XMLPARSEAPI(void) -XML_SetStartCdataSectionHandler(XML_Parser parser, - XML_StartCdataSectionHandler start); - -XMLPARSEAPI(void) -XML_SetEndCdataSectionHandler(XML_Parser parser, - XML_EndCdataSectionHandler end); - -/* This sets the default handler and also inhibits expansion of - internal entities. These entity references will be passed to the - default handler, or to the skipped entity handler, if one is set. -*/ -XMLPARSEAPI(void) -XML_SetDefaultHandler(XML_Parser parser, - XML_DefaultHandler handler); - -/* This sets the default handler but does not inhibit expansion of - internal entities. The entity reference will not be passed to the - default handler. -*/ -XMLPARSEAPI(void) -XML_SetDefaultHandlerExpand(XML_Parser parser, - XML_DefaultHandler handler); - -XMLPARSEAPI(void) -XML_SetDoctypeDeclHandler(XML_Parser parser, - XML_StartDoctypeDeclHandler start, - XML_EndDoctypeDeclHandler end); - -XMLPARSEAPI(void) -XML_SetStartDoctypeDeclHandler(XML_Parser parser, - XML_StartDoctypeDeclHandler start); - -XMLPARSEAPI(void) -XML_SetEndDoctypeDeclHandler(XML_Parser parser, - XML_EndDoctypeDeclHandler end); - -XMLPARSEAPI(void) -XML_SetUnparsedEntityDeclHandler(XML_Parser parser, - XML_UnparsedEntityDeclHandler handler); - -XMLPARSEAPI(void) -XML_SetNotationDeclHandler(XML_Parser parser, - XML_NotationDeclHandler handler); - -XMLPARSEAPI(void) -XML_SetNamespaceDeclHandler(XML_Parser parser, - XML_StartNamespaceDeclHandler start, - XML_EndNamespaceDeclHandler end); - -XMLPARSEAPI(void) -XML_SetStartNamespaceDeclHandler(XML_Parser parser, - XML_StartNamespaceDeclHandler start); - -XMLPARSEAPI(void) -XML_SetEndNamespaceDeclHandler(XML_Parser parser, - XML_EndNamespaceDeclHandler end); - -XMLPARSEAPI(void) -XML_SetNotStandaloneHandler(XML_Parser parser, - XML_NotStandaloneHandler handler); - -XMLPARSEAPI(void) -XML_SetExternalEntityRefHandler(XML_Parser parser, - XML_ExternalEntityRefHandler handler); - -/* If a non-NULL value for arg is specified here, then it will be - passed as the first argument to the external entity ref handler - instead of the parser object. -*/ -XMLPARSEAPI(void) -XML_SetExternalEntityRefHandlerArg(XML_Parser parser, - void *arg); - -XMLPARSEAPI(void) -XML_SetSkippedEntityHandler(XML_Parser parser, - XML_SkippedEntityHandler handler); - -XMLPARSEAPI(void) -XML_SetUnknownEncodingHandler(XML_Parser parser, - XML_UnknownEncodingHandler handler, - void *encodingHandlerData); - -/* This can be called within a handler for a start element, end - element, processing instruction or character data. It causes the - corresponding markup to be passed to the default handler. -*/ -XMLPARSEAPI(void) -XML_DefaultCurrent(XML_Parser parser); - -/* If do_nst is non-zero, and namespace processing is in effect, and - a name has a prefix (i.e. an explicit namespace qualifier) then - that name is returned as a triplet in a single string separated by - the separator character specified when the parser was created: URI - + sep + local_name + sep + prefix. - - If do_nst is zero, then namespace information is returned in the - default manner (URI + sep + local_name) whether or not the name - has a prefix. - - Note: Calling XML_SetReturnNSTriplet after XML_Parse or - XML_ParseBuffer has no effect. -*/ - -XMLPARSEAPI(void) -XML_SetReturnNSTriplet(XML_Parser parser, int do_nst); - -/* This value is passed as the userData argument to callbacks. */ -XMLPARSEAPI(void) -XML_SetUserData(XML_Parser parser, void *userData); - -/* Returns the last value set by XML_SetUserData or NULL. */ -#define XML_GetUserData(parser) (*(void **)(parser)) - -/* This is equivalent to supplying an encoding argument to - XML_ParserCreate. On success XML_SetEncoding returns non-zero, - zero otherwise. - Note: Calling XML_SetEncoding after XML_Parse or XML_ParseBuffer - has no effect and returns XML_STATUS_ERROR. -*/ -XMLPARSEAPI(enum XML_Status) -XML_SetEncoding(XML_Parser parser, const XML_Char *encoding); - -/* If this function is called, then the parser will be passed as the - first argument to callbacks instead of userData. The userData will - still be accessible using XML_GetUserData. -*/ -XMLPARSEAPI(void) -XML_UseParserAsHandlerArg(XML_Parser parser); - -/* If useDTD == XML_TRUE is passed to this function, then the parser - will assume that there is an external subset, even if none is - specified in the document. In such a case the parser will call the - externalEntityRefHandler with a value of NULL for the systemId - argument (the publicId and context arguments will be NULL as well). - Note: For the purpose of checking WFC: Entity Declared, passing - useDTD == XML_TRUE will make the parser behave as if the document - had a DTD with an external subset. - Note: If this function is called, then this must be done before - the first call to XML_Parse or XML_ParseBuffer, since it will - have no effect after that. Returns - XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING. - Note: If the document does not have a DOCTYPE declaration at all, - then startDoctypeDeclHandler and endDoctypeDeclHandler will not - be called, despite an external subset being parsed. - Note: If XML_DTD is not defined when Expat is compiled, returns - XML_ERROR_FEATURE_REQUIRES_XML_DTD. -*/ -XMLPARSEAPI(enum XML_Error) -XML_UseForeignDTD(XML_Parser parser, XML_Bool useDTD); - - -/* Sets the base to be used for resolving relative URIs in system - identifiers in declarations. Resolving relative identifiers is - left to the application: this value will be passed through as the - base argument to the XML_ExternalEntityRefHandler, - XML_NotationDeclHandler and XML_UnparsedEntityDeclHandler. The base - argument will be copied. Returns XML_STATUS_ERROR if out of memory, - XML_STATUS_OK otherwise. -*/ -XMLPARSEAPI(enum XML_Status) -XML_SetBase(XML_Parser parser, const XML_Char *base); - -XMLPARSEAPI(const XML_Char *) -XML_GetBase(XML_Parser parser); - -/* Returns the number of the attribute/value pairs passed in last call - to the XML_StartElementHandler that were specified in the start-tag - rather than defaulted. Each attribute/value pair counts as 2; thus - this correspondds to an index into the atts array passed to the - XML_StartElementHandler. -*/ -XMLPARSEAPI(int) -XML_GetSpecifiedAttributeCount(XML_Parser parser); - -/* Returns the index of the ID attribute passed in the last call to - XML_StartElementHandler, or -1 if there is no ID attribute. Each - attribute/value pair counts as 2; thus this correspondds to an - index into the atts array passed to the XML_StartElementHandler. -*/ -XMLPARSEAPI(int) -XML_GetIdAttributeIndex(XML_Parser parser); - -/* Parses some input. Returns XML_STATUS_ERROR if a fatal error is - detected. The last call to XML_Parse must have isFinal true; len - may be zero for this call (or any other). - - Though the return values for these functions has always been - described as a Boolean value, the implementation, at least for the - 1.95.x series, has always returned exactly one of the XML_Status - values. -*/ -XMLPARSEAPI(enum XML_Status) -XML_Parse(XML_Parser parser, const char *s, int len, int isFinal); - -XMLPARSEAPI(void *) -XML_GetBuffer(XML_Parser parser, int len); - -XMLPARSEAPI(enum XML_Status) -XML_ParseBuffer(XML_Parser parser, int len, int isFinal); - -/* Stops parsing, causing XML_Parse() or XML_ParseBuffer() to return. - Must be called from within a call-back handler, except when aborting - (resumable = 0) an already suspended parser. Some call-backs may - still follow because they would otherwise get lost. Examples: - - endElementHandler() for empty elements when stopped in - startElementHandler(), - - endNameSpaceDeclHandler() when stopped in endElementHandler(), - and possibly others. - - Can be called from most handlers, including DTD related call-backs, - except when parsing an external parameter entity and resumable != 0. - Returns XML_STATUS_OK when successful, XML_STATUS_ERROR otherwise. - Possible error codes: - - XML_ERROR_SUSPENDED: when suspending an already suspended parser. - - XML_ERROR_FINISHED: when the parser has already finished. - - XML_ERROR_SUSPEND_PE: when suspending while parsing an external PE. - - When resumable != 0 (true) then parsing is suspended, that is, - XML_Parse() and XML_ParseBuffer() return XML_STATUS_SUSPENDED. - Otherwise, parsing is aborted, that is, XML_Parse() and XML_ParseBuffer() - return XML_STATUS_ERROR with error code XML_ERROR_ABORTED. - - *Note*: - This will be applied to the current parser instance only, that is, if - there is a parent parser then it will continue parsing when the - externalEntityRefHandler() returns. It is up to the implementation of - the externalEntityRefHandler() to call XML_StopParser() on the parent - parser (recursively), if one wants to stop parsing altogether. - - When suspended, parsing can be resumed by calling XML_ResumeParser(). -*/ -XMLPARSEAPI(enum XML_Status) -XML_StopParser(XML_Parser parser, XML_Bool resumable); - -/* Resumes parsing after it has been suspended with XML_StopParser(). - Must not be called from within a handler call-back. Returns same - status codes as XML_Parse() or XML_ParseBuffer(). - Additional error code XML_ERROR_NOT_SUSPENDED possible. - - *Note*: - This must be called on the most deeply nested child parser instance - first, and on its parent parser only after the child parser has finished, - to be applied recursively until the document entity's parser is restarted. - That is, the parent parser will not resume by itself and it is up to the - application to call XML_ResumeParser() on it at the appropriate moment. -*/ -XMLPARSEAPI(enum XML_Status) -XML_ResumeParser(XML_Parser parser); - -enum XML_Parsing { - XML_INITIALIZED, - XML_PARSING, - XML_FINISHED, - XML_SUSPENDED -}; - -typedef struct { - enum XML_Parsing parsing; - XML_Bool finalBuffer; -} XML_ParsingStatus; - -/* Returns status of parser with respect to being initialized, parsing, - finished, or suspended and processing the final buffer. - XXX XML_Parse() and XML_ParseBuffer() should return XML_ParsingStatus, - XXX with XML_FINISHED_OK or XML_FINISHED_ERROR replacing XML_FINISHED -*/ -XMLPARSEAPI(void) -XML_GetParsingStatus(XML_Parser parser, XML_ParsingStatus *status); - -/* Creates an XML_Parser object that can parse an external general - entity; context is a '\0'-terminated string specifying the parse - context; encoding is a '\0'-terminated string giving the name of - the externally specified encoding, or NULL if there is no - externally specified encoding. The context string consists of a - sequence of tokens separated by formfeeds (\f); a token consisting - of a name specifies that the general entity of the name is open; a - token of the form prefix=uri specifies the namespace for a - particular prefix; a token of the form =uri specifies the default - namespace. This can be called at any point after the first call to - an ExternalEntityRefHandler so longer as the parser has not yet - been freed. The new parser is completely independent and may - safely be used in a separate thread. The handlers and userData are - initialized from the parser argument. Returns NULL if out of memory. - Otherwise returns a new XML_Parser object. -*/ -XMLPARSEAPI(XML_Parser) -XML_ExternalEntityParserCreate(XML_Parser parser, - const XML_Char *context, - const XML_Char *encoding); - -enum XML_ParamEntityParsing { - XML_PARAM_ENTITY_PARSING_NEVER, - XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE, - XML_PARAM_ENTITY_PARSING_ALWAYS -}; - -/* Controls parsing of parameter entities (including the external DTD - subset). If parsing of parameter entities is enabled, then - references to external parameter entities (including the external - DTD subset) will be passed to the handler set with - XML_SetExternalEntityRefHandler. The context passed will be 0. - - Unlike external general entities, external parameter entities can - only be parsed synchronously. If the external parameter entity is - to be parsed, it must be parsed during the call to the external - entity ref handler: the complete sequence of - XML_ExternalEntityParserCreate, XML_Parse/XML_ParseBuffer and - XML_ParserFree calls must be made during this call. After - XML_ExternalEntityParserCreate has been called to create the parser - for the external parameter entity (context must be 0 for this - call), it is illegal to make any calls on the old parser until - XML_ParserFree has been called on the newly created parser. - If the library has been compiled without support for parameter - entity parsing (ie without XML_DTD being defined), then - XML_SetParamEntityParsing will return 0 if parsing of parameter - entities is requested; otherwise it will return non-zero. - Note: If XML_SetParamEntityParsing is called after XML_Parse or - XML_ParseBuffer, then it has no effect and will always return 0. -*/ -XMLPARSEAPI(int) -XML_SetParamEntityParsing(XML_Parser parser, - enum XML_ParamEntityParsing parsing); - -/* If XML_Parse or XML_ParseBuffer have returned XML_STATUS_ERROR, then - XML_GetErrorCode returns information about the error. -*/ -XMLPARSEAPI(enum XML_Error) -XML_GetErrorCode(XML_Parser parser); - -/* These functions return information about the current parse - location. They may be called from any callback called to report - some parse event; in this case the location is the location of the - first of the sequence of characters that generated the event. When - called from callbacks generated by declarations in the document - prologue, the location identified isn't as neatly defined, but will - be within the relevant markup. When called outside of the callback - functions, the position indicated will be just past the last parse - event (regardless of whether there was an associated callback). - - They may also be called after returning from a call to XML_Parse - or XML_ParseBuffer. If the return value is XML_STATUS_ERROR then - the location is the location of the character at which the error - was detected; otherwise the location is the location of the last - parse event, as described above. -*/ -XMLPARSEAPI(XML_Size) XML_GetCurrentLineNumber(XML_Parser parser); -XMLPARSEAPI(XML_Size) XML_GetCurrentColumnNumber(XML_Parser parser); -XMLPARSEAPI(XML_Index) XML_GetCurrentByteIndex(XML_Parser parser); - -/* Return the number of bytes in the current event. - Returns 0 if the event is in an internal entity. -*/ -XMLPARSEAPI(int) -XML_GetCurrentByteCount(XML_Parser parser); - -/* If XML_CONTEXT_BYTES is defined, returns the input buffer, sets - the integer pointed to by offset to the offset within this buffer - of the current parse position, and sets the integer pointed to by size - to the size of this buffer (the number of input bytes). Otherwise - returns a NULL pointer. Also returns a NULL pointer if a parse isn't - active. - - NOTE: The character pointer returned should not be used outside - the handler that makes the call. -*/ -XMLPARSEAPI(const char *) -XML_GetInputContext(XML_Parser parser, - int *offset, - int *size); - -/* For backwards compatibility with previous versions. */ -#define XML_GetErrorLineNumber XML_GetCurrentLineNumber -#define XML_GetErrorColumnNumber XML_GetCurrentColumnNumber -#define XML_GetErrorByteIndex XML_GetCurrentByteIndex - -/* Frees the content model passed to the element declaration handler */ -XMLPARSEAPI(void) -XML_FreeContentModel(XML_Parser parser, XML_Content *model); - -/* Exposing the memory handling functions used in Expat */ -XMLPARSEAPI(void *) -XML_MemMalloc(XML_Parser parser, size_t size); - -XMLPARSEAPI(void *) -XML_MemRealloc(XML_Parser parser, void *ptr, size_t size); - -XMLPARSEAPI(void) -XML_MemFree(XML_Parser parser, void *ptr); - -/* Frees memory used by the parser. */ -XMLPARSEAPI(void) -XML_ParserFree(XML_Parser parser); - -/* Returns a string describing the error. */ -XMLPARSEAPI(const XML_LChar *) -XML_ErrorString(enum XML_Error code); - -/* Return a string containing the version number of this expat */ -XMLPARSEAPI(const XML_LChar *) -XML_ExpatVersion(void); - -typedef struct { - int major; - int minor; - int micro; -} XML_Expat_Version; - -/* Return an XML_Expat_Version structure containing numeric version - number information for this version of expat. -*/ -XMLPARSEAPI(XML_Expat_Version) -XML_ExpatVersionInfo(void); - -/* Added in Expat 1.95.5. */ -enum XML_FeatureEnum { - XML_FEATURE_END = 0, - XML_FEATURE_UNICODE, - XML_FEATURE_UNICODE_WCHAR_T, - XML_FEATURE_DTD, - XML_FEATURE_CONTEXT_BYTES, - XML_FEATURE_MIN_SIZE, - XML_FEATURE_SIZEOF_XML_CHAR, - XML_FEATURE_SIZEOF_XML_LCHAR, - XML_FEATURE_NS, - XML_FEATURE_LARGE_SIZE - /* Additional features must be added to the end of this enum. */ -}; - -typedef struct { - enum XML_FeatureEnum feature; - const XML_LChar *name; - long int value; -} XML_Feature; - -XMLPARSEAPI(const XML_Feature *) -XML_GetFeatureList(void); - - -/* Expat follows the GNU/Linux convention of odd number minor version for - beta/development releases and even number minor version for stable - releases. Micro is bumped with each release, and set to 0 with each - change to major or minor version. -*/ -#define XML_MAJOR_VERSION 2 -#define XML_MINOR_VERSION 0 -#define XML_MICRO_VERSION 1 - -#ifdef __cplusplus -} -#endif - -#endif /* not Expat_INCLUDED */ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/shared/expat_external.h b/org.simantics.modelica/FMUSolution/FMISDK/src/shared/expat_external.h deleted file mode 100644 index bb83a995..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/shared/expat_external.h +++ /dev/null @@ -1,115 +0,0 @@ -/* Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd - See the file COPYING for copying permission. -*/ - -#ifndef Expat_External_INCLUDED -#define Expat_External_INCLUDED 1 - -/* External API definitions */ - -#if defined(_MSC_EXTENSIONS) && !defined(__BEOS__) && !defined(__CYGWIN__) -#define XML_USE_MSC_EXTENSIONS 1 -#endif - -/* Expat tries very hard to make the API boundary very specifically - defined. There are two macros defined to control this boundary; - each of these can be defined before including this header to - achieve some different behavior, but doing so it not recommended or - tested frequently. - - XMLCALL - The calling convention to use for all calls across the - "library boundary." This will default to cdecl, and - try really hard to tell the compiler that's what we - want. - - XMLIMPORT - Whatever magic is needed to note that a function is - to be imported from a dynamically loaded library - (.dll, .so, or .sl, depending on your platform). - - The XMLCALL macro was added in Expat 1.95.7. The only one which is - expected to be directly useful in client code is XMLCALL. - - Note that on at least some Unix versions, the Expat library must be - compiled with the cdecl calling convention as the default since - system headers may assume the cdecl convention. -*/ -#ifndef XMLCALL -#if defined(_MSC_VER) -#define XMLCALL __cdecl -#elif defined(__GNUC__) && defined(__i386) && !defined(__INTEL_COMPILER) -#define XMLCALL __attribute__((cdecl)) -#else -/* For any platform which uses this definition and supports more than - one calling convention, we need to extend this definition to - declare the convention used on that platform, if it's possible to - do so. - - If this is the case for your platform, please file a bug report - with information on how to identify your platform via the C - pre-processor and how to specify the same calling convention as the - platform's malloc() implementation. -*/ -#define XMLCALL -#endif -#endif /* not defined XMLCALL */ - - -#if !defined(XML_STATIC) && !defined(XMLIMPORT) -#ifndef XML_BUILDING_EXPAT -/* using Expat from an application */ - -#ifdef XML_USE_MSC_EXTENSIONS -#define XMLIMPORT __declspec(dllimport) -#endif - -#endif -#endif /* not defined XML_STATIC */ - - -/* If we didn't define it above, define it away: */ -#ifndef XMLIMPORT -#define XMLIMPORT -#endif - - -#define XMLPARSEAPI(type) XMLIMPORT type XMLCALL - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef XML_UNICODE_WCHAR_T -#define XML_UNICODE -#endif - -#ifdef XML_UNICODE /* Information is UTF-16 encoded. */ -#ifdef XML_UNICODE_WCHAR_T -typedef wchar_t XML_Char; -typedef wchar_t XML_LChar; -#else -typedef unsigned short XML_Char; -typedef char XML_LChar; -#endif /* XML_UNICODE_WCHAR_T */ -#else /* Information is UTF-8 encoded. */ -typedef char XML_Char; -typedef char XML_LChar; -#endif /* XML_UNICODE */ - -#ifdef XML_LARGE_SIZE /* Use large integers for file/stream positions. */ -#if defined(XML_USE_MSC_EXTENSIONS) && _MSC_VER < 1400 -typedef __int64 XML_Index; -typedef unsigned __int64 XML_Size; -#else -typedef long long XML_Index; -typedef unsigned long long XML_Size; -#endif -#else -typedef long XML_Index; -typedef unsigned long XML_Size; -#endif /* XML_LARGE_SIZE */ - -#ifdef __cplusplus -} -#endif - -#endif /* not Expat_External_INCLUDED */ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/shared/libexpatMT.lib b/org.simantics.modelica/FMUSolution/FMISDK/src/shared/libexpatMT.lib deleted file mode 100644 index 2436f617..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMISDK/src/shared/libexpatMT.lib and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/shared/sim_support.c b/org.simantics.modelica/FMUSolution/FMISDK/src/shared/sim_support.c deleted file mode 100644 index 32b5439b..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/shared/sim_support.c +++ /dev/null @@ -1,476 +0,0 @@ -/* ------------------------------------------------------------------------- - * sim_support.c - * Functions used by both FMU simulators fmusim_me and fmusim_cs - * to parse command-line arguments, to unzip and load an fmu, - * to write CSV file, and more. - * Copyright 2011 QTronic GmbH. All rights reserved. - * -------------------------------------------------------------------------*/ - -#include -#include -#include -#include - -#ifdef FMI_COSIMULATION -#include "fmi_cs.h" -#else -#include "fmi_me.h" -#endif - -#include "sim_support.h" - -extern FMU fmu; - -int unzip(const char *zipPath, const char *outPath) { - int code; - char cwd[BUFSIZE]; - char binPath[BUFSIZE]; - int n = strlen(UNZIP_CMD) + strlen(outPath) + 1 + strlen(zipPath) + 9; - char* cmd = (char*)calloc(sizeof(char), n); - - // remember current directory - if (!GetCurrentDirectory(BUFSIZE, cwd)) { - printf ("error: Could not get current directory\n"); - return 0; // error - } - - // change to %FMUSDK_HOME%\bin to find 7z.dll and 7z.exe - if (!GetEnvironmentVariable("FMUSDK_HOME", binPath, BUFSIZE)) { - if (GetLastError() == ERROR_ENVVAR_NOT_FOUND) { - printf ("error: Environment variable FMUSDK_HOME not defined\n"); - } - else { - printf ("error: Could not get value of FMUSDK_HOME\n"); - } - return 0; // error - } - strcat(binPath, "\\bin"); - if (!SetCurrentDirectory(binPath)) { - printf ("error: could not change to directory '%s'\n", binPath); - return 0; // error - } - - // run the unzip command - // remove "> NUL" to see the unzip protocol - sprintf(cmd, "%s%s \"%s\" > NUL", UNZIP_CMD, outPath, zipPath); - // printf("cmd='%s'\n", cmd); - code = system(cmd); - free(cmd); - if (code!=SEVEN_ZIP_NO_ERROR) { - switch (code) { - printf("7z: "); - case SEVEN_ZIP_WARNING: printf("warning\n"); break; - case SEVEN_ZIP_ERROR: printf("error\n"); break; - case SEVEN_ZIP_COMMAND_LINE_ERROR: printf("command line error\n"); break; - case SEVEN_ZIP_OUT_OF_MEMORY: printf("out of memory\n"); break; - case SEVEN_ZIP_STOPPED_BY_USER: printf("stopped by user\n"); break; - default: printf("unknown problem\n"); - } - } - - // restore current directory - SetCurrentDirectory(cwd); - - return (code==SEVEN_ZIP_NO_ERROR || code==SEVEN_ZIP_WARNING) ? 1 : 0; -} - -// fileName is an absolute path, e.g. C:\test\a.fmu -// or relative to the current dir, e.g. ..\test\a.fmu -// Does not check for existence of the file -static char* getFmuPath(const char* fileName){ - char pathName[MAX_PATH]; - int n = GetFullPathName(fileName, MAX_PATH, pathName, NULL); - return n ? strdup(pathName) : NULL; -} - -static char* getTmpPath() { - char tmpPath[BUFSIZE]; - if(! GetTempPath(BUFSIZE, tmpPath)) { - printf ("error: Could not find temporary disk space\n"); - return NULL; - } - strcat(tmpPath, "fmu\\"); - return strdup(tmpPath); -} - -static void* getAdr(int* s, FMU *fmu, const char* functionName){ - char name[BUFSIZE]; - void* fp; - sprintf(name, "%s_%s", getModelIdentifier(fmu->modelDescription), functionName); - fp = GetProcAddress(fmu->dllHandle, name); - if (!fp) { - printf ("warning: Function %s not found in dll\n", name); - *s = 0; // mark dll load as 'failed' - } - return fp; -} - -// Load the given dll and set function pointers in fmu -// Return 0 to indicate failure -static int loadDll(const char* dllPath, FMU *fmu) { - int x = 1, s = 1; - HANDLE h = LoadLibrary(dllPath); - if (!h) { - printf("error: Could not load %s\n", dllPath); - return 0; // failure - } - fmu->dllHandle = h; - -#ifdef FMI_COSIMULATION - fmu->getTypesPlatform = (fGetTypesPlatform) getAdr(&s, fmu, "fmiGetTypesPlatform"); - if (s==0) { - s = 1; // work around bug for FMUs exported using Dymola 2012 and SimulationX 3.x - fmu->getTypesPlatform = (fGetTypesPlatform) getAdr(&s, fmu, "fmiGetModelTypesPlatform"); - if (s==1) printf(" using fmiGetModelTypesPlatform instead\n", dllPath); - } - fmu->instantiateSlave = (fInstantiateSlave) getAdr(&s, fmu, "fmiInstantiateSlave"); - fmu->initializeSlave = (fInitializeSlave) getAdr(&s, fmu, "fmiInitializeSlave"); - fmu->terminateSlave = (fTerminateSlave) getAdr(&s, fmu, "fmiTerminateSlave"); - fmu->resetSlave = (fResetSlave) getAdr(&s, fmu, "fmiResetSlave"); - fmu->freeSlaveInstance = (fFreeSlaveInstance) getAdr(&s, fmu, "fmiFreeSlaveInstance"); - fmu->setRealInputDerivatives = (fSetRealInputDerivatives) getAdr(&s, fmu, "fmiSetRealInputDerivatives"); - fmu->getRealOutputDerivatives = (fGetRealOutputDerivatives) getAdr(&s, fmu, "fmiGetRealOutputDerivatives"); - fmu->cancelStep = (fCancelStep) getAdr(&s, fmu, "fmiCancelStep"); - fmu->doStep = (fDoStep) getAdr(&s, fmu, "fmiDoStep"); - // SimulationX 3.4 and 3.5 do not yet export getStatus and getXStatus: do not count this as failure here - fmu->getStatus = (fGetStatus) getAdr(&x, fmu, "fmiGetStatus"); - fmu->getRealStatus = (fGetRealStatus) getAdr(&x, fmu, "fmiGetRealStatus"); - fmu->getIntegerStatus = (fGetIntegerStatus) getAdr(&x, fmu, "fmiGetIntegerStatus"); - fmu->getBooleanStatus = (fGetBooleanStatus) getAdr(&x, fmu, "fmiGetBooleanStatus"); - fmu->getStringStatus = (fGetStringStatus) getAdr(&x, fmu, "fmiGetStringStatus"); - -#else // FMI for Model Exchange 1.0 - fmu->getModelTypesPlatform = (fGetModelTypesPlatform) getAdr(&s, fmu, "fmiGetModelTypesPlatform"); - fmu->instantiateModel = (fInstantiateModel) getAdr(&s, fmu, "fmiInstantiateModel"); - fmu->freeModelInstance = (fFreeModelInstance) getAdr(&s, fmu, "fmiFreeModelInstance"); - fmu->setTime = (fSetTime) getAdr(&s, fmu, "fmiSetTime"); - fmu->setContinuousStates = (fSetContinuousStates)getAdr(&s, fmu, "fmiSetContinuousStates"); - fmu->completedIntegratorStep = (fCompletedIntegratorStep)getAdr(&s, fmu, "fmiCompletedIntegratorStep"); - fmu->initialize = (fInitialize) getAdr(&s, fmu, "fmiInitialize"); - fmu->getDerivatives = (fGetDerivatives) getAdr(&s, fmu, "fmiGetDerivatives"); - fmu->getEventIndicators = (fGetEventIndicators) getAdr(&s, fmu, "fmiGetEventIndicators"); - fmu->eventUpdate = (fEventUpdate) getAdr(&s, fmu, "fmiEventUpdate"); - fmu->getContinuousStates = (fGetContinuousStates)getAdr(&s, fmu, "fmiGetContinuousStates"); - fmu->getNominalContinuousStates = (fGetNominalContinuousStates)getAdr(&s, fmu, "fmiGetNominalContinuousStates"); - fmu->getStateValueReferences = (fGetStateValueReferences)getAdr(&s, fmu, "fmiGetStateValueReferences"); - fmu->terminate = (fTerminate) getAdr(&s, fmu, "fmiTerminate"); -#endif - fmu->getVersion = (fGetVersion) getAdr(&s, fmu, "fmiGetVersion"); - fmu->setDebugLogging = (fSetDebugLogging) getAdr(&s, fmu, "fmiSetDebugLogging"); - fmu->setReal = (fSetReal) getAdr(&s, fmu, "fmiSetReal"); - fmu->setInteger = (fSetInteger) getAdr(&s, fmu, "fmiSetInteger"); - fmu->setBoolean = (fSetBoolean) getAdr(&s, fmu, "fmiSetBoolean"); - fmu->setString = (fSetString) getAdr(&s, fmu, "fmiSetString"); - fmu->getReal = (fGetReal) getAdr(&s, fmu, "fmiGetReal"); - fmu->getInteger = (fGetInteger) getAdr(&s, fmu, "fmiGetInteger"); - fmu->getBoolean = (fGetBoolean) getAdr(&s, fmu, "fmiGetBoolean"); - fmu->getString = (fGetString) getAdr(&s, fmu, "fmiGetString"); - return s; -} - -static void printModelDescription(ModelDescription* md){ - Element* e = (Element*)md; - int i; - printf("%s\n", elmNames[e->type]); - for (i=0; in; i+=2) - printf(" %s=%s\n", e->attributes[i], e->attributes[i+1]); -#ifdef FMI_COSIMULATION - if (!md->cosimulation) { - printf("error: No Implementation element found in model description. This FMU is not for Co-Simulation.\n"); - exit(EXIT_FAILURE); - } - e = md->cosimulation->capabilities; - printf("%s\n", elmNames[e->type]); - for (i=0; in; i+=2) - printf(" %s=%s\n", e->attributes[i], e->attributes[i+1]); -#endif // FMI_COSIMULATION -} - -void loadFMU(const char* fmuFileName) { - char* fmuPath; - char* tmpPath; - char* xmlPath; - char* dllPath; - - // get absolute path to FMU, NULL if not found - fmuPath = getFmuPath(fmuFileName); - if (!fmuPath) exit(EXIT_FAILURE); - - // unzip the FMU to the tmpPath directory - tmpPath = getTmpPath(); - if (!unzip(fmuPath, tmpPath)) exit(EXIT_FAILURE); - - // parse tmpPath\modelDescription.xml - xmlPath = calloc(sizeof(char), strlen(tmpPath) + strlen(XML_FILE) + 1); - sprintf(xmlPath, "%s%s", tmpPath, XML_FILE); - fmu.modelDescription = parse(xmlPath); - free(xmlPath); - if (!fmu.modelDescription) exit(EXIT_FAILURE); - printModelDescription(fmu.modelDescription); - - // load the FMU dll - dllPath = calloc(sizeof(char), strlen(tmpPath) + strlen(DLL_DIR) - + strlen( getModelIdentifier(fmu.modelDescription)) + strlen(".dll") + 1); - sprintf(dllPath,"%s%s%s.dll", tmpPath, DLL_DIR, getModelIdentifier(fmu.modelDescription)); - if (!loadDll(dllPath, &fmu)) exit(EXIT_FAILURE); - free(dllPath); - free(fmuPath); - free(tmpPath); -} - -static void doubleToCommaString(char* buffer, double r){ - char* comma; - sprintf(buffer, "%.16g", r); - comma = strchr(buffer, '.'); - if (comma) *comma = ','; -} - -// output time and all non-alias variables in CSV format -// if separator is ',', columns are separated by ',' and '.' is used for floating-point numbers. -// otherwise, the given separator (e.g. ';' or '\t') is to separate columns, and ',' is used -// as decimal dot in floating-point numbers. -void outputRow(FMU *fmu, fmiComponent c, double time, FILE* file, char separator, boolean header) { - int k; - fmiReal r; - fmiInteger i; - fmiBoolean b; - fmiString s; - fmiValueReference vr; - ScalarVariable** vars = fmu->modelDescription->modelVariables; - char buffer[32]; - - // print first column - if (header) - fprintf(file, "time"); - else { - if (separator==',') - fprintf(file, "%.16g", time); - else { - // separator is e.g. ';' or '\t' - doubleToCommaString(buffer, time); - fprintf(file, "%s", buffer); - } - } - - // print all other columns - for (k=0; vars[k]; k++) { - ScalarVariable* sv = vars[k]; - if (getAlias(sv)!=enu_noAlias) continue; - if (header) { - // output names only - if (separator==',') { - // treat array element, e.g. print a[1, 2] as a[1.2] - char* s = getName(sv); - fprintf(file, "%c", separator); - while (*s) { - if (*s!=' ') fprintf(file, "%c", *s==',' ? '.' : *s); - s++; - } - } - else - fprintf(file, "%c%s", separator, getName(sv)); - } - else { - // output values - vr = getValueReference(sv); - switch (sv->typeSpec->type){ - case elm_Real: - fmu->getReal(c, &vr, 1, &r); - if (separator==',') - fprintf(file, ",%.16g", r); - else { - // separator is e.g. ';' or '\t' - doubleToCommaString(buffer, r); - fprintf(file, "%c%s", separator, buffer); - } - break; - case elm_Integer: - case elm_Enumeration: - fmu->getInteger(c, &vr, 1, &i); - fprintf(file, "%c%d", separator, i); - break; - case elm_Boolean: - fmu->getBoolean(c, &vr, 1, &b); - fprintf(file, "%c%d", separator, b); - break; - case elm_String: - fmu->getString(c, &vr, 1, &s); - fprintf(file, "%c%s", separator, s); - break; - default: - fprintf(file, "%cNoValueForType=%d", separator,sv->typeSpec->type); - } - } - } // for - - // terminate this row - fprintf(file, "\n"); -} - -static const char* fmiStatusToString(fmiStatus status){ - switch (status){ - case fmiOK: return "ok"; - case fmiWarning: return "warning"; - case fmiDiscard: return "discard"; - case fmiError: return "error"; - case fmiFatal: return "fatal"; -#ifdef FMI_COSIMULATION - case fmiPending: return "fmiPending"; -#endif - default: return "?"; - } -} - -// search a fmu for the given variable -// return NULL if not found or vr = fmiUndefinedValueReference -static ScalarVariable* getSV(FMU* fmu, char type, fmiValueReference vr) { - int i; - Elm tp; - ScalarVariable** vars = fmu->modelDescription->modelVariables; - if (vr==fmiUndefinedValueReference) return NULL; - switch (type) { - case 'r': tp = elm_Real; break; - case 'i': tp = elm_Integer; break; - case 'b': tp = elm_Boolean; break; - case 's': tp = elm_String; break; - } - for (i=0; vars[i]; i++) { - ScalarVariable* sv = vars[i]; - if (vr==getValueReference(sv) && tp==sv->typeSpec->type) - return sv; - } - return NULL; -} - -// replace e.g. #r1365# by variable name and ## by # in message -// copies the result to buffer -static void replaceRefsInMessage(const char* msg, char* buffer, int nBuffer, FMU* fmu){ - int i=0; // position in msg - int k=0; // position in buffer - int n; - char c = msg[i]; - while (c!='\0' && k < nBuffer) { - if (c!='#') { - buffer[k++]=c; - i++; - c = msg[i]; - } - else { - char* end = strchr(msg+i+1, '#'); - if (!end) { - printf("unmatched '#' in '%s'\n", msg); - buffer[k++]='#'; - break; - } - n = end - (msg+i); - if (n==1) { - // ## detected, output # - buffer[k++]='#'; - i += 2; - c = msg[i]; - } - else { - char type = msg[i+1]; // one of ribs - fmiValueReference vr; - int nvr = sscanf(msg+i+2, "%u", &vr); - if (nvr==1) { - // vr of type detected, e.g. #r12# - ScalarVariable* sv = getSV(fmu, type, vr); - const char* name = sv ? getName(sv) : "?"; - sprintf(buffer+k, "%s", name); - k += strlen(name); - i += (n+1); - c = msg[i]; - } - else { - // could not parse the number - printf("illegal value reference at position %d in '%s'\n", i+2, msg); - buffer[k++]='#'; - break; - } - } - } - } // while - buffer[k] = '\0'; -} - -#define MAX_MSG_SIZE 1000 -void fmuLogger(fmiComponent c, fmiString instanceName, fmiStatus status, - fmiString category, fmiString message, ...) { - char msg[MAX_MSG_SIZE]; - char* copy; - va_list argp; - - // replace C format strings - va_start(argp, message); - vsprintf(msg, message, argp); - - // replace e.g. ## and #r12# - copy = strdup(msg); - replaceRefsInMessage(copy, msg, MAX_MSG_SIZE, &fmu); - free(copy); - - // print the final message - if (!instanceName) instanceName = "?"; - if (!category) category = "?"; - printf("%s %s (%s): %s\n", fmiStatusToString(status), instanceName, category, msg); -} - -int error(const char* message){ - printf("%s\n", message); - return 0; -} - -void parseArguments(int argc, char *argv[], char** fmuFileName, double* tEnd, double* h, int* loggingOn, char* csv_separator) { - // parse command line arguments - if (argc>1) { - *fmuFileName = argv[1]; - } - else { - printf("error: no fmu file\n"); - printHelp(argv[0]); - exit(EXIT_FAILURE); - } - if (argc>2) { - if (sscanf(argv[2],"%lf", tEnd) != 1) { - printf("error: The given end time (%s) is not a number\n", argv[2]); - exit(EXIT_FAILURE); - } - } - if (argc>3) { - if (sscanf(argv[3],"%lf", h) != 1) { - printf("error: The given stepsize (%s) is not a number\n", argv[3]); - exit(EXIT_FAILURE); - } - } - if (argc>4) { - if (sscanf(argv[4],"%d", loggingOn) != 1 || *loggingOn<0 || *loggingOn>1) { - printf("error: The given logging flag (%s) is not boolean\n", argv[4]); - exit(EXIT_FAILURE); - } - } - if (argc>5) { - if (strlen(argv[5]) != 1) { - printf("error: The given CSV separator char (%s) is not valid\n", argv[5]); - exit(EXIT_FAILURE); - } - switch (argv[5][0]) { - case 'c': *csv_separator = ','; break; // comma - case 's': *csv_separator = ';'; break; // semicolon - default: *csv_separator = argv[5][0]; break; // any other char - } - } - if (argc>6) { - printf("warning: Ignoring %d additional arguments: %s ...\n", argc-6, argv[6]); - printHelp(argv[0]); - } -} - -void printHelp(const char* fmusim) { - printf("command syntax: %s \n", fmusim); - printf(" .... path to FMU, relative to current dir or absolute, required\n"); - printf(" ......... end time of simulation, optional, defaults to 1.0 sec\n"); - printf(" ............ step size of simulation, optional, defaults to 0.1 sec\n"); - printf(" .... 1 to activate logging, optional, defaults to 0\n"); - printf(" . separator in csv file, optional, c for ';', s for';', defaults to c\n"); -} diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/shared/sim_support.h b/org.simantics.modelica/FMUSolution/FMISDK/src/shared/sim_support.h deleted file mode 100644 index 648c8b59..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/shared/sim_support.h +++ /dev/null @@ -1,31 +0,0 @@ -/* ------------------------------------------------------------------------- - * sim_support.h - * Functions used by the FMU simulatios fmusim_me and fmusim_cs. - * Copyright 2011 QTronic GmbH. All rights reserved. - * -------------------------------------------------------------------------*/ - -// Used 7z options, version 4.57: -// -x Extracts files from an archive with their full paths in the current dir, or in an output dir if specified -// -aoa Overwrite All existing files without prompt -// -o Specifies a destination directory where files are to be extracted -#define UNZIP_CMD "7z x -aoa -o" -#define XML_FILE "modelDescription.xml" -#define DLL_DIR "binaries\\win32\\" -#define RESULT_FILE "result.csv" -#define BUFSIZE 4096 - -// return codes of the 7z command line tool -#define SEVEN_ZIP_NO_ERROR 0 // success -#define SEVEN_ZIP_WARNING 1 // e.g., one or more files were locked during zip -#define SEVEN_ZIP_ERROR 2 -#define SEVEN_ZIP_COMMAND_LINE_ERROR 7 -#define SEVEN_ZIP_OUT_OF_MEMORY 8 -#define SEVEN_ZIP_STOPPED_BY_USER 255 - -void fmuLogger(fmiComponent c, fmiString instanceName, fmiStatus status, fmiString category, fmiString message, ...); -int unzip(const char *zipPath, const char *outPath); -void parseArguments(int argc, char *argv[], char** fmuFileName, double* tEnd, double* h, int* loggingOn, char* csv_separator); -void loadFMU(const char* fmuFileName); -void outputRow(FMU *fmu, fmiComponent c, double time, FILE* file, char separator, boolean header); -int error(const char* message); -void printHelp(const char* fmusim); diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/shared/stack.c b/org.simantics.modelica/FMUSolution/FMISDK/src/shared/stack.c deleted file mode 100644 index 042b796b..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/shared/stack.c +++ /dev/null @@ -1,85 +0,0 @@ -/* ------------------------------------------------------------------------- - * stack.c - * A stack of pointers. - * Copyright 2010 QTronic GmbH. All rights reserved. - * -------------------------------------------------------------------------*/ - -#include -#include -#include -#include "stack.h" - -Stack* stackNew(int initialSize, int inc){ - Stack* s = (Stack*)malloc(sizeof(Stack)); - s->stack = NULL; - s->stackSize = 0; - s->stackPos = -1; - s->initialSize = initialSize; - s->inc = inc; - return s; -} - -int stackIsEmpty(Stack* s) { - return s->stackPos == -1; -} - -// add an element to stack and grow stack if required -// returns 1 to indicate success and 0 for error -int stackPush(Stack* s, void* e) { - s->stackPos++; - if (s->stackPos==s->stackSize){ - s->stackSize += (s->stack ? s->inc: s->initialSize); - s->stack = (void**) realloc(s->stack, s->stackSize * sizeof(void*)); - if (!s->stack) return 0; // error; - } - s->stack[s->stackPos] = e; - return 1; // success -} - -// return top element (possibly NULL), if stack not empty -// runtime error if stack is empty -void* stackPeek(Stack* s){ - assert(!stackIsEmpty(s)); - return s->stack[s->stackPos]; -} - -// remove top element (possibly NULL) from stack and return it -// runtime error if stack is empty -void* stackPop(Stack* s){ - assert(!stackIsEmpty(s)); - return s->stack[s->stackPos--]; -} - -// return the last n elements as null terminated array, -// or NULL if memory allocation fails -void** stackLastPopedAsArray0(Stack* s, int n){ - int i; - void** array = (void**)malloc((n + 1)*sizeof(void*)); - if (! array) return NULL; // failure - for (i=0; istack[i+ s->stackPos + 1]; - } - array[n]=NULL; // terminating NULL - return array; -} - -// return stack as possibly empty array, or NULL if memory allocation fails -// On sucessful return, the stack is empty. -void** stackPopAllAsArray(Stack* s, int *size) { - int i; - void** array = (void**)malloc((s->stackPos + 1)*sizeof(void*)); - if (! array) return NULL; // failure - *size = s->stackPos + 1; - for (i=0; i<*size; i++) - array[i] = s->stack[i]; - s->stackPos = -1; - return array; -} - -// release the given stack -void stackFree(Stack* s){ - if (s->stack) free(s->stack); - free(s); -} - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/shared/stack.h b/org.simantics.modelica/FMUSolution/FMISDK/src/shared/stack.h deleted file mode 100644 index a52977fa..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/shared/stack.h +++ /dev/null @@ -1,28 +0,0 @@ -/* ------------------------------------------------------------------------- - * stack.c - * A stack of pointers. - * Copyright 2010 QTronic GmbH. All rights reserved. - * -------------------------------------------------------------------------*/ - -#ifndef STACK_H -#define STACK_H - -typedef struct { - void** stack; - int stackSize; // allocated size of stack - int stackPos; // array index of top element, -1 if stack is empty. - int initialSize; // how many element to allocate initially - int inc; // how many elements to allocate when stack gets full -} Stack; - -Stack* stackNew(int initialSize, int inc); -int stackIsEmpty(Stack* s); -int stackPush(Stack* s, void* e); -void* stackPeek(Stack* s); -void* stackPop(Stack* s); -void** stackPopAllAsArray(Stack* s, int *size); -void** stackLastPopedAsArray0(Stack* s, int n); -void stackFree(Stack* s); - -#endif // STACK_H - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/shared/xml_parser.c b/org.simantics.modelica/FMUSolution/FMISDK/src/shared/xml_parser.c deleted file mode 100644 index 93e62162..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/shared/xml_parser.c +++ /dev/null @@ -1,860 +0,0 @@ -/* ------------------------------------------------------------------------- - * xml_Parser.c - * A parser for file modelVariables.xml of an FMU. - * The parser creates an AST (abstract syntax tree) for a given XML file. - * The root node of the AST is of type ModelDescription. - * Validation already performed by this parser - * - check for match of open/close elements (performed by Expat) - * - ceck element, attribute and enum value names, all case sensitive - * - check for each element that is has the expected parent element - * - check for correct sequence of elements - * - check that all decalaredType values reference an existing Type - * Validation to be performed by this parser - * - check for each attribute value that it is of the expected type - * - check that required attributes are present - * - check that dependencies are only declared for outputs and - * refer only to inputs - * Author: Jakob Mauss - * Copyright 2011 QTronic GmbH. All rights reserved. - * -------------------------------------------------------------------------*/ - -#include -#include -#include -#include "xml_parser.h" - -const char *elmNames[SIZEOF_ELM] = { - "fmiModelDescription","UnitDefinitions","BaseUnit","DisplayUnitDefinition","TypeDefinitions", - "Type","RealType","IntegerType","BooleanType","StringType","EnumerationType","Item", - "DefaultExperiment","VendorAnnotations","Tool","Annotation", "ModelVariables","ScalarVariable", - "DirectDependency","Name","Real","Integer","Boolean","String","Enumeration", - "Implementation","CoSimulation_StandAlone","CoSimulation_Tool","Model","File","Capabilities" -}; - -const char *attNames[SIZEOF_ATT] = { - "fmiVersion","displayUnit","gain","offset","unit","name","description","quantity", "relativeQuantity", - "min","max","nominal","declaredType","start","fixed","startTime","stopTime","tolerance","value", - "valueReference","variability","causality","alias", "modelName","modelIdentifier","guid","author", - "version","generationTool","generationDateAndTime","variableNamingConvention","numberOfContinuousStates", - "numberOfEventIndicators","input", - "canHandleVariableCommunicationStepSize","canHandleEvents","canRejectSteps","canInterpolateInputs", - "maxOutputDerivativeOrder","canRunAsynchronuously","canSignalEvents","canBeInstantiatedOnlyOncePerProcess", - "canNotUseMemoryManagementFunctions","file","entryPoint","manualStart","type" -}; - -const char *enuNames[SIZEOF_ENU] = { - "flat","structured","constant","parameter","discrete","continuous", - "input","output", "internal","none","noAlias","alias","negatedAlias" -}; - -#define ANY_TYPE -1 -#define XMLBUFSIZE 1024 -char text[XMLBUFSIZE]; // XML file is parsed in chunks of length XMLBUFZIZE -XML_Parser parser = NULL; // non-NULL during parsing -Stack* stack = NULL; // the parser stack -char* data = NULL; // buffer that holds element content, see handleData -int skipData=0; // 1 to ignore element content, 0 when recordig content - -// ------------------------------------------------------------------------- -// Low-level functions for inspecting the model description - -const char* getString(void* element, Att a){ - Element* e = (Element*)element; - const char** attr = e->attributes; - int i; - for (i=0; in; i+=2) - if (attr[i]==attNames[a]) return attr[i+1]; - return NULL; -} - -double getDouble(void* element, Att a, ValueStatus* vs){ - double d = 0; - const char* value = getString(element, a); - if (!value) { *vs=valueMissing; return d; } - *vs = (1==sscanf(value, "%lf", &d)) ? valueDefined : valueIllegal; - return d; -} - -// getInt() is also used to retrieve Enumeration values from XML, -// e.g. the start value for a variable of user-defined enumeration type. -int getInt(void* element, Att a, ValueStatus* vs){ - int n = 0; - const char* value = getString(element, a); - if (!value) { *vs=valueMissing; return n; } - *vs = (1==sscanf(value, "%d", &n)) ? valueDefined : valueIllegal; - return n; -} - -unsigned int getUInt(void* element, Att a, ValueStatus* vs){ - unsigned int u = -1; - const char* value = getString(element, a); - if (!value) { *vs=valueMissing; return u; } - *vs = (1==sscanf(value, "%u", &u)) ? valueDefined : valueIllegal; - return u; -} - -char getBoolean(void* element, Att a, ValueStatus* vs){ - const char* value = getString(element, a); - if (!value) { *vs=valueMissing; return 0; }; - *vs = valueDefined; - if (!strcmp(value, "true")) return 1; - if (!strcmp(value, "false")) return 0; - *vs = valueIllegal; - return 0; -} - -static int checkEnumValue(const char* enu); - -// Retrieve the value of the given built-in enum attribute. -// If the value is missing, this is marked in the ValueStatus -// and the corresponding default is returned. -// Returns -1 or a globally unique id for the value such that -// enuNames[id] is the string representation of the enum value. -Enu getEnumValue(void* element, Att a, ValueStatus* vs) { - const char* value = getString(element, a); - Enu id = valueDefined; - if (!value) { - *vs = valueMissing; - switch (a) { - case att_variableNamingConvention: return enu_flat; - case att_variability: return enu_continuous; - case att_causality: return enu_internal; - case att_alias: return enu_noAlias; - default: return -1; - } - } - id = checkEnumValue(value); - if (id==-1) *vs = valueIllegal; - return id; -} - -// ------------------------------------------------------------------------- -// Convenience methods for accessing the model description. -// Use is only safe after the ast has been successfuly validated. - -const char* getModelIdentifier(ModelDescription* md) { - const char* modelId = getString(md, att_modelIdentifier); - assert(modelId); // this is a required attribute - return modelId; -} - -int getNumberOfStates(ModelDescription* md) { - ValueStatus vs; - int n = getUInt(md, att_numberOfContinuousStates, &vs); - assert(vs==valueDefined); // this is a required attribute - return n; -} - -int getNumberOfEventIndicators(ModelDescription* md) { - ValueStatus vs; - int n = getInt(md, att_numberOfEventIndicators, &vs); - assert(vs==valueDefined); // this is a required attribute - return n; -} - -// name is a required attribute of ScalarVariable, Type, Item, Annotation, and Tool -const char* getName(void* element) { - const char* name = getString(element, att_name); - assert(name); // this is a required attribute - return name; -} - -// returns one of: input, output, internal, none -// if value is missing, the default internal is returned -Enu getCausality(void* scalarVariable) { - ValueStatus vs; - return getEnumValue(scalarVariable, att_causality, &vs); -} - -// returns one of constant, parameter, discrete, continuous -// if value is missing, the default continuous is returned -Enu getVariability(void* scalarVariable) { - ValueStatus vs; - return getEnumValue(scalarVariable, att_variability, &vs); -} - -// returns one of noAlias, alias, negatedAlias -// if value is missing, the default noAlias is returned -Enu getAlias(void* scalarVariable) { - ValueStatus vs; - return getEnumValue(scalarVariable, att_alias, &vs); -} - -// the vr is unique only for one of the 4 base data types r,i,b,s and -// may also be fmiUndefinedValueReference = 4294967295 = 0xFFFFFFFF -// here, i means integer or enumeration -fmiValueReference getValueReference(void* scalarVariable) { - ValueStatus vs; - fmiValueReference vr = getUInt(scalarVariable, att_valueReference, &vs); - assert(((Element*)scalarVariable)->type == elm_ScalarVariable); - assert(vs==valueDefined); // this is a reqired attribute - return vr; -} - -// the name is unique within a fmu -ScalarVariable* getVariableByName(ModelDescription* md, const char* name) { - int i; - if (md->modelVariables) - for (i=0; md->modelVariables[i]; i++){ - ScalarVariable* sv = (ScalarVariable*)md->modelVariables[i]; - if (!strcmp(getName(sv), name)) return sv; - } - return NULL; -} - -// Enumeration and Integer have the same base type while -// Real, String, Boolean define own base types. -int sameBaseType(Elm t1, Elm t2){ - return t1==t2 || - t1==elm_Enumeration && t2==elm_Integer || - t2==elm_Enumeration && t1==elm_Integer; -} - -// returns NULL if variable not found or vr==fmiUndefinedValueReference -ScalarVariable* getVariable(ModelDescription* md, fmiValueReference vr, Elm type){ - int i; - if (md->modelVariables && vr!=fmiUndefinedValueReference) - for (i=0; md->modelVariables[i]; i++){ - ScalarVariable* sv = (ScalarVariable*)md->modelVariables[i]; - if (sameBaseType(type, sv->typeSpec->type) && getValueReference(sv) == vr) - return sv; - } - return NULL; -} - -Type* getDeclaredType(ModelDescription* md, const char* declaredType){ - int i; - if (declaredType && md->typeDefinitions) - for (i=0; md->typeDefinitions[i]; i++){ - Type* tp = (Type*)md->typeDefinitions[i]; - if (!strcmp(declaredType, getName(tp))) return tp; - } - return NULL; -} - -const char* getString2(ModelDescription* md, void* tp, Att a) { - Type* type; - const char* value = getString(tp, a); - if (value) return value; // found - // search declared type, if any - type = getDeclaredType(md, getString(tp, att_declaredType)); - return type ? getString(type->typeSpec, a) : NULL; -} - -// Get description from variable or from declared type, or NULL. -const char * getDescription(ModelDescription* md, ScalarVariable* sv) { - const char* value = getString(sv, att_description); - Type* type; - if (value) return value; // found - // search declared type, if any - type = getDeclaredType(md, getString(sv->typeSpec, att_declaredType)); - return type ? getString(type, att_description) : NULL; -} - -// Get attribute value from scalar variable given by vr and type, -// incl. default value provided by declared type, if any. -const char * getVariableAttributeString(ModelDescription* md, - fmiValueReference vr, Elm type, Att a){ - const char* value; - const char* declaredType; - Type* tp; - ScalarVariable* sv = getVariable(md, vr, type); - if (!sv) return NULL; - value = getString(sv->typeSpec, a); - if (value) return value; // found - // search declared type, if any - tp = getDeclaredType(md, getString(sv->typeSpec, att_declaredType)); - return tp ? getString(tp->typeSpec, a) : NULL; -} - -// Get attribute value from scalar variable given by vr and type, -// incl. default value provided by declared type, if any. -double getVariableAttributeDouble(ModelDescription* md, - fmiValueReference vr, Elm type, Att a, ValueStatus* vs){ - double d = 0; - const char* value = getVariableAttributeString(md, vr, type, a); - if (!value) { *vs = valueMissing; return d; } - *vs = (1==sscanf(value, "%lf", &d)) ? valueDefined : valueIllegal; - return d; -} - -// Get nominal value from real variable or its declared type. -// Return 1, if no nominal value is defined. -double getNominal(ModelDescription* md, fmiValueReference vr){ - ValueStatus vs; - double nominal = getVariableAttributeDouble(md, vr, elm_Real, att_nominal, &vs); - return vs==valueDefined ? nominal : 1.0; -} - -// ------------------------------------------------------------------------- -// Various checks that log an error and stop the parser - -// Returns 0 to indicate error -static int checkPointer(const void* ptr){ - if (! ptr) { - printf("Out of memory\n"); - if (parser) XML_StopParser(parser, XML_FALSE); - return 0; // error - } - return 1; // success -} - -static int checkName(const char* name, const char* kind, const char* array[], int n){ - int i; - for (i=0; itype == e) return 1; // success - logFatalTypeError(elmNames[e], elm->type); - return 0; // error -} - -// Returns 0 to indicate error -// Verify that the next stack element exists and is of the given type -// If e==ANY_TYPE, the type check is ommited -static int checkPeek(Elm e) { - if (stackIsEmpty(stack)){ - printf("Illegal document structure, expected %s\n", elmNames[e]); - XML_StopParser(parser, XML_FALSE); - return 0; // error - } - return e==ANY_TYPE ? 1 : checkElementType(stackPeek(stack), e); -} - -// Returns NULL to indicate error -// Get the next stack element, it is of the given type. -// If e==ANY_TYPE, the type check is ommited -static void* checkPop(Elm e){ - return checkPeek(e) ? stackPop(stack) : NULL; -} - -// ------------------------------------------------------------------------- -// Helper - -AstNodeType getAstNodeType(Elm e){ - switch (e) { - case elm_fmiModelDescription: - return astModelDescription; - case elm_Type: - return astType; - case elm_ScalarVariable: - return astScalarVariable; - case elm_CoSimulation_StandAlone: - case elm_CoSimulation_Tool: - return astCoSimulation; - case elm_BaseUnit: - case elm_EnumerationType: - case elm_Tool: - case elm_UnitDefinitions: - case elm_TypeDefinitions: - case elm_VendorAnnotations: - case elm_ModelVariables: - case elm_DirectDependency: - case elm_Model: - return astListElement; - default: - return astElement; - } -} - -// Returns 0 to indicate error -// Copies the attr array and all values. -// Replaces all attribute names by constant literal strings. -// Converts the null-terminated array into an array of known size n. -int addAttributes(Element* el, const char** attr) { - int n, a; - const char** att = NULL; - for (n=0; attr[n]; n+=2); - if (n>0) { - att = calloc(n, sizeof(char*)); - if (!checkPointer(att)) return 0; - } - for (n=0; attr[n]; n+=2) { - char* value = strdup(attr[n+1]); - if (!checkPointer(value)) return 0; - a = checkAttribute(attr[n]); - if (a == -1) return 0; // illegal attribute error - att[n ] = attNames[a]; // no heap memory - att[n+1] = value; // heap memory - } - el->attributes = att; // NULL if n=0 - el->n = n; - return 1; // success -} - -// Returns NULL to indicate error -Element* newElement(Elm type, int size, const char** attr) { - Element* e = (Element*)calloc(1, size); - if (!checkPointer(e)) return NULL; - e->type = type; - e->attributes = NULL; - e->n=0; - if (!addAttributes(e, attr)) return NULL; - return e; -} - -// ------------------------------------------------------------------------- -// callback functions called by the XML parser - -// Create and push a new element node -static void XMLCALL startElement(void *context, const char *elm, const char **attr) { - Elm el; - void* e; - int size; - el = checkElement(elm); - if (el==-1) return; // error - skipData = (el != elm_Name); // skip element content for all elements but Name - switch(getAstNodeType(el)){ - case astElement: size = sizeof(Element); break; - case astListElement: size = sizeof(ListElement); break; - case astType: size = sizeof(Type); break; - case astScalarVariable: size = sizeof(ScalarVariable); break; - case astCoSimulation: size = sizeof(CoSimulation); break; - case astModelDescription: size = sizeof(ModelDescription); break; - default: assert(0); - } - e = newElement(el, size, attr); - checkPointer(e); - stackPush(stack, e); -} - -// Pop all elements of the given type from stack and -// add it to the ListElement that follows. -// The ListElement remains on the stack. -static void popList(Elm e) { - int n = 0; - Element** array; - Element* elm = stackPop(stack); - while (elm->type == e) { - elm = stackPop(stack); - n++; - } - stackPush(stack, elm); // push ListElement back to stack - array = (Element**)stackLastPopedAsArray0(stack, n); // NULL terminated list - if (getAstNodeType(elm->type)!=astListElement) return; // failure - ((ListElement*)elm)->list = array; - return; // success only if list!=NULL -} - -// Pop the children from the stack and -// check for correct type and sequence of children -static void XMLCALL endElement(void *context, const char *elm) { - Elm el; - el = checkElement(elm); - switch(el) { - case elm_fmiModelDescription: - { - ModelDescription* md; - ListElement** ud = NULL; // NULL or list of BaseUnits - Type** td = NULL; // NULL or list of Types - Element* de = NULL; // NULL or DefaultExperiment - ListElement** va = NULL; // NULL or list of Tools - ScalarVariable** mv = NULL; // NULL or list of ScalarVariable - CoSimulation *cs = NULL; // NULL or CoSimulation - ListElement* child; - - child = checkPop(ANY_TYPE); - if (child->type == elm_CoSimulation_StandAlone || child->type == elm_CoSimulation_Tool) { - cs = (CoSimulation*)child; - child = checkPop(ANY_TYPE); - if (!child) return; - } - if (child->type == elm_ModelVariables){ - mv = (ScalarVariable**)child->list; - free(child); - child = checkPop(ANY_TYPE); - if (!child) return; - } - if (child->type == elm_VendorAnnotations){ - va = (ListElement**)child->list; - free(child); - child = checkPop(ANY_TYPE); - if (!child) return; - } - if (child->type == elm_DefaultExperiment){ - de = (Element*)child; - child = checkPop(ANY_TYPE); - if (!child) return; - } - if (child->type == elm_TypeDefinitions){ - td = (Type**)child->list; - free(child); - child = checkPop(ANY_TYPE); - if (!child) return; - } - if (child->type == elm_UnitDefinitions){ - ud = (ListElement**)child->list; - free(child); - child = checkPop(ANY_TYPE); - if (!child) return; - } - // work around bug of SimulationX 3.4 and 3.5 which places Implementation at wrong location - if (!cs && (child->type == elm_CoSimulation_StandAlone || child->type == elm_CoSimulation_Tool)) { - cs = (CoSimulation*)child; - child = checkPop(ANY_TYPE); - if (!child) return; - } - if (!checkElementType(child, elm_fmiModelDescription)) return; - md = (ModelDescription*)child; - md->modelVariables = mv; - md->vendorAnnotations = va; - md->defaultExperiment = de; - md->typeDefinitions = td; - md->unitDefinitions = ud; - md->cosimulation = cs; - stackPush(stack, md); - break; - } - case elm_Implementation: - { - // replace Implementation element - void* cs = checkPop(ANY_TYPE); - void* im = checkPop(elm_Implementation); - stackPush(stack, cs); - free(im); - el = ((Element*)cs)->type; - break; - } - case elm_CoSimulation_StandAlone: - { - Element* ca = checkPop(elm_Capabilities); - CoSimulation* cs = checkPop(elm_CoSimulation_StandAlone); - if (!ca || !cs) return; - cs->capabilities = ca; - stackPush(stack, cs); - break; - } - case elm_CoSimulation_Tool: - { - ListElement* mo = checkPop(elm_Model); - Element* ca = checkPop(elm_Capabilities); - CoSimulation* cs = checkPop(elm_CoSimulation_Tool); - if (!ca || !mo || !cs) return; - cs->capabilities = ca; - cs->model = mo; - stackPush(stack, cs); - break; - } - case elm_Type: - { - Type* tp; - Element* ts = checkPop(ANY_TYPE); - if (!ts) return; - if (!checkPeek(elm_Type)) return; - tp = (Type*)stackPeek(stack); - switch (ts->type) { - case elm_RealType: - case elm_IntegerType: - case elm_BooleanType: - case elm_StringType: - case elm_EnumerationType: - break; - default: - logFatalTypeError("RealType or similar", ts->type); - return; - } - tp->typeSpec = ts; - break; - } - case elm_ScalarVariable: - { - ScalarVariable* sv; - Element** list = NULL; - Element* child = checkPop(ANY_TYPE); - if (!child) return; - if (child->type==elm_DirectDependency){ - list = ((ListElement*)child)->list; - free(child); - child = checkPop(ANY_TYPE); - if (!child) return; - } - if (!checkPeek(elm_ScalarVariable)) return; - sv = (ScalarVariable*)stackPeek(stack); - switch (child->type) { - case elm_Real: - case elm_Integer: - case elm_Boolean: - case elm_String: - case elm_Enumeration: - break; - default: - logFatalTypeError("Real or similar", child->type); - return; - } - sv->directDependencies = list; - sv->typeSpec = child; - break; - } - case elm_ModelVariables: popList(elm_ScalarVariable); break; - case elm_VendorAnnotations: popList(elm_Tool);break; - case elm_Tool: popList(elm_Annotation); break; - case elm_TypeDefinitions: popList(elm_Type); break; - case elm_EnumerationType: popList(elm_Item); break; - case elm_UnitDefinitions: popList(elm_BaseUnit); break; - case elm_BaseUnit: popList(elm_DisplayUnitDefinition); break; - case elm_DirectDependency: popList(elm_Name); break; - case elm_Model: popList(elm_File); break; - case elm_Name: - { - // Exception: the name value is represented as element content. - // All other values of the XML file are represented using attributes. - Element* name = checkPop(elm_Name); - if (!name) return; - name->n = 2; - name->attributes = malloc(2*sizeof(char*)); - name->attributes[0] = attNames[att_input]; - name->attributes[1] = data; - data = NULL; - skipData = 1; // stop recording element content - stackPush(stack, name); - break; - } - case -1: return; // illegal element error - default: // must be a leaf Element - assert(getAstNodeType(el)==astElement); - break; - } - // All children of el removed from the stack. - // The top element must be of type el now. - checkPeek(el); -} - -// Called to handle element data, e.g. "xy" in xy -// Can be called many times, e.g. with "x" and then with "y" in the example above. -// Feature in expat: -// For some reason, if the element data is the empty string (Eg. ) -// instead of an empty string with len == 0 we get "\n". The workaround is -// to replace this with the empty string whenever we encounter "\n". -void XMLCALL handleData(void *context, const XML_Char *s, int len) { - int n; - if (skipData) return; - if (!data) { - // start a new data string - if (len == 1 && s[0] == '\n') { - data = strdup(""); - } else { - data = malloc(len + 1); - strncpy(data, s, len); - data[len] = '\0'; - } - } - else { - // continue existing string - n = strlen(data) + len; - data = realloc(data, n+1); - strncat(data, s, len); - data[n] = '\0'; - } - return; -} - -// ------------------------------------------------------------------------- -// printing - -static void printList(int indent, void** list); - -void printElement(int indent, void* element){ - int i; - Element* e = (Element*)element; - if (!e) return; - // print attributes - for (i=0; itype]); - for (i=0; in; i+=2) - printf(" %s=%s", e->attributes[i], e->attributes[i+1]); - printf("\n"); - // print child nodes - indent += 2; - switch (getAstNodeType(e->type)) { - case astListElement: - printList(indent, ((ListElement*)e)->list); - break; - case astScalarVariable: - printElement(indent, ((Type*)e)->typeSpec); - printList(indent, ((ScalarVariable*)e)->directDependencies); - break; - case astType: - printElement(indent, ((Type*)e)->typeSpec); - break; - case astCoSimulation: { - CoSimulation* cs = (CoSimulation*)e; - printElement(indent, cs->capabilities); - printElement(indent, cs->model); - break; - } - case astModelDescription: { - ModelDescription *md = (ModelDescription*)e; - printList(indent, md->unitDefinitions); - printList(indent, md->typeDefinitions); - printElement(indent, md->defaultExperiment); - printList(indent, md->vendorAnnotations); - printList(indent, md->modelVariables); - printElement(indent, md->cosimulation); - break; - } - } -} - -static void printList(int indent, void** list){ - int i; - if (list) for (i=0; list[i]; i++) - printElement(indent, list[i]); -} - -// ------------------------------------------------------------------------- -// free memory of the AST - -static void freeList(void** list); - -void freeElement(void* element){ - int i; - Element* e = (Element*)element; - if (!e) return; - // free attributes - for (i=0; in; i+=2) - free(e->attributes[i+1]); - if (e->attributes) free(e->attributes); - // free child nodes - switch (getAstNodeType(e->type)) { - case astListElement: - freeList(((ListElement*)e)->list); - break; - case astScalarVariable: - freeList(((ScalarVariable*)e)->directDependencies); - case astType: - freeElement(((Type*)e)->typeSpec); - break; - case astCoSimulation: { - CoSimulation* cs = (CoSimulation*)e; - freeElement(cs->capabilities); - freeElement(cs->model); - break; - } - case astModelDescription: { - ModelDescription* md = (ModelDescription*)e; - freeList(md->unitDefinitions); - freeList(md->typeDefinitions); - freeElement(md->defaultExperiment); - freeList(md->vendorAnnotations); - freeList(md->modelVariables); - freeElement(md->cosimulation); - break; - } - } - // free the struct - free(e); -} - -static void freeList(void** list){ - int i; - if (!list) return; - for (i=0; list[i]; i++) - freeElement(list[i]); - free(list); -} - -// ------------------------------------------------------------------------- -// Validation - done after parsing to report all errors - -ModelDescription* validate(ModelDescription* md) { - int error = 0; - int i; - if (md->modelVariables) - for (i=0; md->modelVariables[i]; i++){ - ScalarVariable* sv = (ScalarVariable*)md->modelVariables[i]; - char* declaredType = getString(sv->typeSpec, att_declaredType); - Type* decltype = getDeclaredType(md, declaredType); - if (declaredType && decltype==NULL) { - printf("Warning: Declared type %s of variable %s not found in modelDescription.xml\n", declaredType, getName(sv)); - error++; - } - } - if (error) { - printf("Error: Found %d error in modelDescription.xml\n", error); - return NULL; - } - return md; -} - -// ------------------------------------------------------------------------- -// Entry function parse() of the XML parser - -static void cleanup(FILE *file) { - stackFree(stack); - stack = NULL; - XML_ParserFree(parser); - parser = NULL; - fclose(file); -} - -// Returns NULL to indicate failure -// Otherwise, return the root node md of the AST. -// The receiver must call freeElement(md) to release AST memory. -ModelDescription* parse(const char* xmlPath) { - ModelDescription* md = NULL; - FILE *file; - int done = 0; - stack = stackNew(100, 10); - if (!checkPointer(stack)) return NULL; // failure - parser = XML_ParserCreate(NULL); - if (!checkPointer(parser)) return NULL; // failure - XML_SetElementHandler(parser, startElement, endElement); - XML_SetCharacterDataHandler(parser, handleData); - file = fopen(xmlPath, "rb"); - if (file == NULL) { - printf("Cannot open file '%s'\n", xmlPath); - XML_ParserFree(parser); - return NULL; // failure - } - while (!done) { - int n = fread(text, sizeof(char), XMLBUFSIZE, file); - if (n != XMLBUFSIZE) done = 1; - if (!XML_Parse(parser, text, n, done)){ - printf("Parse error in file %s at line %d:\n%s\n", - xmlPath, - XML_GetCurrentLineNumber(parser), - XML_ErrorString(XML_GetErrorCode(parser))); - while (! stackIsEmpty(stack)) md = stackPop(stack); - if (md) freeElement(md); - cleanup(file); - return NULL; // failure - } - } - md = stackPop(stack); - assert(stackIsEmpty(stack)); - cleanup(file); - //printElement(1, md); // debug - return validate(md); // success if all refs are valid -} - - diff --git a/org.simantics.modelica/FMUSolution/FMISDK/src/shared/xml_parser.h b/org.simantics.modelica/FMUSolution/FMISDK/src/shared/xml_parser.h deleted file mode 100644 index 0730d56b..00000000 --- a/org.simantics.modelica/FMUSolution/FMISDK/src/shared/xml_parser.h +++ /dev/null @@ -1,159 +0,0 @@ -/* ------------------------------------------------------------------------- - * xml_parser.h - * A parser for file modelVariables.xml of an FMU. - * Supports "FMI for Model Exchange 1.0" and "FMI for Co-Simulation 1.0". - * Copyright 2011 QTronic GmbH. All rights reserved. - * -------------------------------------------------------------------------*/ - -#ifndef xml_parser_h -#define xml_parser_h - -// define XML_STATIC before including expat.h -// to prevent error when linking with libexpatMT.lib -#define XML_STATIC -#include "expat.h" -#include "stack.h" - -typedef unsigned int fmiValueReference; -#define fmiUndefinedValueReference (fmiValueReference)(-1) - -#define SIZEOF_ELM 31 -extern const char *elmNames[SIZEOF_ELM]; - -#define SIZEOF_ATT 47 -extern const char *attNames[SIZEOF_ATT]; - -#define SIZEOF_ENU 13 -extern const char *enuNames[SIZEOF_ENU]; - -// Elements -typedef enum { - elm_fmiModelDescription,elm_UnitDefinitions,elm_BaseUnit,elm_DisplayUnitDefinition,elm_TypeDefinitions, - elm_Type,elm_RealType,elm_IntegerType,elm_BooleanType,elm_StringType,elm_EnumerationType,elm_Item, - elm_DefaultExperiment,elm_VendorAnnotations,elm_Tool,elm_Annotation,elm_ModelVariables,elm_ScalarVariable, - elm_DirectDependency,elm_Name,elm_Real,elm_Integer,elm_Boolean,elm_String,elm_Enumeration, - elm_Implementation,elm_CoSimulation_StandAlone,elm_CoSimulation_Tool,elm_Model,elm_File,elm_Capabilities -} Elm; - -// Attributes -typedef enum { - att_fmiVersion,att_displayUnit,att_gain,att_offset,att_unit,att_name,att_description,att_quantity,att_relativeQuantity, - att_min,att_max,att_nominal,att_declaredType,att_start,att_fixed,att_startTime,att_stopTime,att_tolerance,att_value, - att_valueReference,att_variability,att_causality,att_alias,att_modelName,att_modelIdentifier,att_guid,att_author, - att_version,att_generationTool,att_generationDateAndTime,att_variableNamingConvention,att_numberOfContinuousStates, - att_numberOfEventIndicators,att_input, - att_canHandleVariableCommunicationStepSize,att_canHandleEvents,att_canRejectSteps,att_canInterpolateInputs, - att_maxOutputDerivativeOrder,att_canRunAsynchronuously,att_canSignalEvents,att_canBeInstantiatedOnlyOncePerProcess, - att_canNotUseMemoryManagementFunctions,att_entryPoint,att_manualStart,att_type -} Att; - -// Enumeration values -typedef enum { - enu_flat,enu_structured,enu_constant,enu_parameter,enu_discrete,enu_continuous, - enu_input,enu_output,enu_internal,enu_none,enu_noAlias,enu_alias,enu_negatedAlias -} Enu; - -// AST node for element -// DisplayUnitDefinition, RealType, IntegerType, BooleanType, StringType, DefaultExperiment, -// Item, Annotation, Name, Real, Integer, Boolean, String, Enumeration, Capabilities, File -typedef struct { - Elm type; // element type - const char** attributes; // null or n attribute value strings - int n; // size of attributes, even number -} Element; - -// AST node for element that has a list of elements -// BaseUnit, EnumerationType, Tool, DirectDependency, Model -typedef struct { - Elm type; // element type - const char** attributes; // null or n attribute value strings - int n; // size of attributes, even number - Element** list; // null-terminated array of pointers to elements, not null -} ListElement; - -// AST node for element Type -typedef struct { - Elm type; // element type - const char** attributes; // null or n attribute value strings - int n; // size of attributes, an even number - Element* typeSpec; // one of RealType, IntegerType etc. -} Type; - -// AST node for element ScalarVariable -typedef struct { - Elm type; // element type - const char** attributes; // null or n attribute value strings - int n; // size of attributes, even number - Element* typeSpec; // one of Real, Integer, etc - Element** directDependencies; // null or null-terminated list of Name -} ScalarVariable; - -// AST node for element CoSimulation_StandAlone and CoSimulation_Tool -typedef struct { - Elm type; // one of elm_CoSimulation_StandAlone and elm_CoSimulation_Tool - const char** attributes; // null or n attribute value strings - int n; // size of attributes, even number - Element* capabilities; // a set of capability attributes - ListElement* model; // non-NULL to support tool coupling, NULL for standalone -} CoSimulation; - -// AST node for element ModelDescription -typedef struct { - Elm type; // element type - const char** attributes; // null or n attribute value strings - int n; // size of attributes, even number - ListElement** unitDefinitions; // NULL or null-terminated list of BaseUnits - Type** typeDefinitions; // NULL or null-terminated list of Types - Element* defaultExperiment; // NULL or DefaultExperiment - ListElement** vendorAnnotations; // NULL or null-terminated list of Tools - ScalarVariable** modelVariables; // NULL or null-terminated list of ScalarVariable - CoSimulation* cosimulation; // NULL if this ModelDescription is for model exchange only -} ModelDescription; - -// types of AST nodes used to represent an element -typedef enum { - astElement, - astListElement, - astType, - astScalarVariable, - astCoSimulation, - astModelDescription -} AstNodeType; - -// Possible results when retrieving an attribute value from an element -typedef enum { - valueMissing, - valueDefined, - valueIllegal -} ValueStatus; - -// Public methods: Parsing and low-level AST access -ModelDescription* parse(const char* xmlPath); -const char* getString(void* element, Att a); -double getDouble (void* element, Att a, ValueStatus* vs); -int getInt (void* element, Att a, ValueStatus* vs); -unsigned int getUInt (void* element, Att a, ValueStatus* vs); -char getBoolean (void* element, Att a, ValueStatus* vs); -Enu getEnumValue (void* element, Att a, ValueStatus* vs); -void freeElement (void* element); - -// Convenience methods for AST access. To be used afer successful validation only. -const char* getModelIdentifier(ModelDescription* md); -int getNumberOfStates(ModelDescription* md); -int getNumberOfEventIndicators(ModelDescription* md); -const char* getName(void* element); -Enu getCausality(void* scalarVariable); -Enu getVariability(void* scalarVariable); -Enu getAlias(void* scalarVariable); -fmiValueReference getValueReference(void* scalarVariable); -ScalarVariable* getVariableByName(ModelDescription* md, const char* name); -ScalarVariable* getVariable(ModelDescription* md, fmiValueReference vr, Elm type); -Type* getDeclaredType(ModelDescription* md, const char* declaredType); -const char* getString2(ModelDescription* md, void* sv, Att a); -const char * getDescription(ModelDescription* md, ScalarVariable* sv); -const char * getVariableAttributeString(ModelDescription* md, fmiValueReference vr, Elm type, Att a); -double getVariableAttributeDouble(ModelDescription* md, fmiValueReference vr, Elm type, Att a, ValueStatus* vs); -double getNominal(ModelDescription* md, fmiValueReference vr); - -#endif // xml_parser_h - diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/CL.read.1.tlog b/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/CL.read.1.tlog deleted file mode 100644 index 1be77e59..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/CL.read.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/CL.write.1.tlog b/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/CL.write.1.tlog deleted file mode 100644 index 0eb1ac87..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/CL.write.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/FMUSimulator.dll.intermediate.manifest b/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/FMUSimulator.dll.intermediate.manifest deleted file mode 100644 index 1c06b619..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/FMUSimulator.dll.intermediate.manifest +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/FMUSimulator.lastbuildstate b/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/FMUSimulator.lastbuildstate deleted file mode 100644 index a3cdaa76..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/FMUSimulator.lastbuildstate +++ /dev/null @@ -1,2 +0,0 @@ -#v4.0:v100 -Debug|Win32|D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\| diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/FMUSimulator.write.1.tlog b/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/FMUSimulator.write.1.tlog deleted file mode 100644 index 1607f39f..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/FMUSimulator.write.1.tlog +++ /dev/null @@ -1,5 +0,0 @@ -^D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\FMUSimulator\FMUSimulator.vcxproj -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Debug\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Debug\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Debug\FMUSimulator.exp -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Debug\FMUSimulator.exp diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/cl.command.1.tlog b/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/cl.command.1.tlog deleted file mode 100644 index aaf2b01c..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/cl.command.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/link.command.1.tlog b/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/link.command.1.tlog deleted file mode 100644 index 297ec8d0..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/link.command.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/link.read.1.tlog b/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/link.read.1.tlog deleted file mode 100644 index c29f6d08..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/link.read.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/link.write.1.tlog b/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/link.write.1.tlog deleted file mode 100644 index 070a2708..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/link.write.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/mt.command.1.tlog b/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/mt.command.1.tlog deleted file mode 100644 index f50fad36..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/mt.command.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/mt.read.1.tlog b/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/mt.read.1.tlog deleted file mode 100644 index 60304f38..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/mt.read.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/mt.write.1.tlog b/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/mt.write.1.tlog deleted file mode 100644 index a0ea35ac..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/mt.write.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/vc100.idb b/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/vc100.idb deleted file mode 100644 index b123a764..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/vc100.idb and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/vc100.pdb b/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/vc100.pdb deleted file mode 100644 index a13fc4b8..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSimulator/Debug/vc100.pdb and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/FMUSimulator.vcxproj b/org.simantics.modelica/FMUSolution/FMUSimulator/FMUSimulator.vcxproj deleted file mode 100644 index dee6d317..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/FMUSimulator.vcxproj +++ /dev/null @@ -1,107 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {9838038D-09A3-43A5-AB97-B5B5C763DF43} - Win32Proj - FMUSimulator - - - - DynamicLibrary - true - NotSet - - - DynamicLibrary - false - false - NotSet - - - - - - - - - - - - - false - $(SolutionDir)zlib-1.2.6\contrib\minizip;$(OutDir);$(ProjectDir)include;$(IncludePath) - $(OutDir);$(ProjectDir)include;$(LibraryPath) - $(SourcePath) - - - false - $(SolutionDir)zlib-1.2.6\contrib\minizip;$(OutDir);$(ProjectDir)include;$(IncludePath) - $(OutDir);$(ProjectDir)include;$(LibraryPath) - $(SourcePath) - - - - NotUsing - Level3 - Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;FMUSIMULATOR_EXPORTS;%(PreprocessorDefinitions) - MultiThreadedDebug - - - Windows - true - $(OutDir)zlibwapi.lib;$(OutDir)miniunz.lib;%(AdditionalDependencies) - - - - - Level3 - NotUsing - MaxSpeed - - - false - WIN32;NDEBUG;_WINDOWS;_USRDLL;FMUSIMULATOR_EXPORTS;%(PreprocessorDefinitions) - MultiThreaded - - - - - Windows - true - true - true - $(OutDir)zlibwapi.lib;$(OutDir)miniunz.lib;%(AdditionalDependencies) - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/FMUSimulator.vcxproj.filters b/org.simantics.modelica/FMUSolution/FMUSimulator/FMUSimulator.vcxproj.filters deleted file mode 100644 index dd11f96e..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/FMUSimulator.vcxproj.filters +++ /dev/null @@ -1,56 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/FMUSimulator.vcxproj.user b/org.simantics.modelica/FMUSolution/FMUSimulator/FMUSimulator.vcxproj.user deleted file mode 100644 index 695b5c78..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/FMUSimulator.vcxproj.user +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/CL.read.1.tlog b/org.simantics.modelica/FMUSolution/FMUSimulator/Release/CL.read.1.tlog deleted file mode 100644 index 2bf65fcf..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/CL.read.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/CL.write.1.tlog b/org.simantics.modelica/FMUSolution/FMUSimulator/Release/CL.write.1.tlog deleted file mode 100644 index 13b839c7..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/CL.write.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/FMUSimulator.dll.intermediate.manifest b/org.simantics.modelica/FMUSolution/FMUSimulator/Release/FMUSimulator.dll.intermediate.manifest deleted file mode 100644 index 1c06b619..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/FMUSimulator.dll.intermediate.manifest +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/FMUSimulator.lastbuildstate b/org.simantics.modelica/FMUSolution/FMUSimulator/Release/FMUSimulator.lastbuildstate deleted file mode 100644 index 8b6681fb..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/FMUSimulator.lastbuildstate +++ /dev/null @@ -1,2 +0,0 @@ -#v4.0:v100 -Release|Win32|D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\| diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/FMUSimulator.write.1.tlog b/org.simantics.modelica/FMUSolution/FMUSimulator/Release/FMUSimulator.write.1.tlog deleted file mode 100644 index 1fffa993..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/FMUSimulator.write.1.tlog +++ /dev/null @@ -1,100 +0,0 @@ -^D:\FMU\FMUSolution\FMUSimulator\FMUSimulator.vcxproj -D:\FMU\FMUSolution\Release\FMUSimulator.lib -D:\FMU\FMUSolution\Release\FMUSimulator.lib -D:\FMU\FMUSolution\Release\FMUSimulator.exp -D:\FMU\FMUSolution\Release\FMUSimulator.exp -^D:\FMU\FMUSolution\FMUSimulator\FMUSimulator.vcxproj -D:\FMU\FMUSolution\Release\FMUSimulator.lib -D:\FMU\FMUSolution\Release\FMUSimulator.lib -D:\FMU\FMUSolution\Release\FMUSimulator.exp -D:\FMU\FMUSolution\Release\FMUSimulator.exp -^D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\FMUSimulator\FMUSimulator.vcxproj -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -^D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\FMUSimulator\FMUSimulator.vcxproj -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -^D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\FMUSimulator\FMUSimulator.vcxproj -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -^D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\FMUSimulator\FMUSimulator.vcxproj -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -^D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\FMUSimulator\FMUSimulator.vcxproj -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -^D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\FMUSimulator\FMUSimulator.vcxproj -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -^D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\FMUSimulator\FMUSimulator.vcxproj -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -^D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\FMUSimulator\FMUSimulator.vcxproj -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -^D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\FMUSimulator\FMUSimulator.vcxproj -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -^D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\FMUSimulator\FMUSimulator.vcxproj -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -^D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\FMUSimulator\FMUSimulator.vcxproj -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -^D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\FMUSimulator\FMUSimulator.vcxproj -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -^D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\FMUSimulator\FMUSimulator.vcxproj -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -^D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\FMUSimulator\FMUSimulator.vcxproj -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -^D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\FMUSimulator\FMUSimulator.vcxproj -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -^D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\FMUSimulator\FMUSimulator.vcxproj -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -^D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\FMUSimulator\FMUSimulator.vcxproj -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -^D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\FMUSimulator\FMUSimulator.vcxproj -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Release\FMUSimulator.exp diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/cl.command.1.tlog b/org.simantics.modelica/FMUSolution/FMUSimulator/Release/cl.command.1.tlog deleted file mode 100644 index 258fdb49..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/cl.command.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/link.command.1.tlog b/org.simantics.modelica/FMUSolution/FMUSimulator/Release/link.command.1.tlog deleted file mode 100644 index 6c19341b..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/link.command.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/link.read.1.tlog b/org.simantics.modelica/FMUSolution/FMUSimulator/Release/link.read.1.tlog deleted file mode 100644 index 89cb59f7..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/link.read.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/link.write.1.tlog b/org.simantics.modelica/FMUSolution/FMUSimulator/Release/link.write.1.tlog deleted file mode 100644 index 93b9c963..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/link.write.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/mt.command.1.tlog b/org.simantics.modelica/FMUSolution/FMUSimulator/Release/mt.command.1.tlog deleted file mode 100644 index c149951e..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/mt.command.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/mt.read.1.tlog b/org.simantics.modelica/FMUSolution/FMUSimulator/Release/mt.read.1.tlog deleted file mode 100644 index 90f85624..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/mt.read.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/mt.write.1.tlog b/org.simantics.modelica/FMUSolution/FMUSimulator/Release/mt.write.1.tlog deleted file mode 100644 index 751e8dc0..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/mt.write.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/vc100.pdb b/org.simantics.modelica/FMUSolution/FMUSimulator/Release/vc100.pdb deleted file mode 100644 index 85421381..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSimulator/Release/vc100.pdb and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/include/COPYING.txt b/org.simantics.modelica/FMUSolution/FMUSimulator/include/COPYING.txt deleted file mode 100644 index 90422175..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/include/COPYING.txt +++ /dev/null @@ -1,24 +0,0 @@ -Files expat.h, expat_external.h and libexpatMT.lib - -Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd - and Clark Cooper -Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/include/expat.h b/org.simantics.modelica/FMUSolution/FMUSimulator/include/expat.h deleted file mode 100644 index 6c2b6ff5..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/include/expat.h +++ /dev/null @@ -1,1014 +0,0 @@ -/* Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd - See the file COPYING for copying permission. -*/ - -#ifndef Expat_INCLUDED -#define Expat_INCLUDED 1 - -#ifdef __VMS -/* 0 1 2 3 0 1 2 3 - 1234567890123456789012345678901 1234567890123456789012345678901 */ -#define XML_SetProcessingInstructionHandler XML_SetProcessingInstrHandler -#define XML_SetUnparsedEntityDeclHandler XML_SetUnparsedEntDeclHandler -#define XML_SetStartNamespaceDeclHandler XML_SetStartNamespcDeclHandler -#define XML_SetExternalEntityRefHandlerArg XML_SetExternalEntRefHandlerArg -#endif - -#include -#include "expat_external.h" - -#ifdef __cplusplus -extern "C" { -#endif - -struct XML_ParserStruct; -typedef struct XML_ParserStruct *XML_Parser; - -/* Should this be defined using stdbool.h when C99 is available? */ -typedef unsigned char XML_Bool; -#define XML_TRUE ((XML_Bool) 1) -#define XML_FALSE ((XML_Bool) 0) - -/* The XML_Status enum gives the possible return values for several - API functions. The preprocessor #defines are included so this - stanza can be added to code that still needs to support older - versions of Expat 1.95.x: - - #ifndef XML_STATUS_OK - #define XML_STATUS_OK 1 - #define XML_STATUS_ERROR 0 - #endif - - Otherwise, the #define hackery is quite ugly and would have been - dropped. -*/ -enum XML_Status { - XML_STATUS_ERROR = 0, -#define XML_STATUS_ERROR XML_STATUS_ERROR - XML_STATUS_OK = 1, -#define XML_STATUS_OK XML_STATUS_OK - XML_STATUS_SUSPENDED = 2 -#define XML_STATUS_SUSPENDED XML_STATUS_SUSPENDED -}; - -enum XML_Error { - XML_ERROR_NONE, - XML_ERROR_NO_MEMORY, - XML_ERROR_SYNTAX, - XML_ERROR_NO_ELEMENTS, - XML_ERROR_INVALID_TOKEN, - XML_ERROR_UNCLOSED_TOKEN, - XML_ERROR_PARTIAL_CHAR, - XML_ERROR_TAG_MISMATCH, - XML_ERROR_DUPLICATE_ATTRIBUTE, - XML_ERROR_JUNK_AFTER_DOC_ELEMENT, - XML_ERROR_PARAM_ENTITY_REF, - XML_ERROR_UNDEFINED_ENTITY, - XML_ERROR_RECURSIVE_ENTITY_REF, - XML_ERROR_ASYNC_ENTITY, - XML_ERROR_BAD_CHAR_REF, - XML_ERROR_BINARY_ENTITY_REF, - XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF, - XML_ERROR_MISPLACED_XML_PI, - XML_ERROR_UNKNOWN_ENCODING, - XML_ERROR_INCORRECT_ENCODING, - XML_ERROR_UNCLOSED_CDATA_SECTION, - XML_ERROR_EXTERNAL_ENTITY_HANDLING, - XML_ERROR_NOT_STANDALONE, - XML_ERROR_UNEXPECTED_STATE, - XML_ERROR_ENTITY_DECLARED_IN_PE, - XML_ERROR_FEATURE_REQUIRES_XML_DTD, - XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING, - /* Added in 1.95.7. */ - XML_ERROR_UNBOUND_PREFIX, - /* Added in 1.95.8. */ - XML_ERROR_UNDECLARING_PREFIX, - XML_ERROR_INCOMPLETE_PE, - XML_ERROR_XML_DECL, - XML_ERROR_TEXT_DECL, - XML_ERROR_PUBLICID, - XML_ERROR_SUSPENDED, - XML_ERROR_NOT_SUSPENDED, - XML_ERROR_ABORTED, - XML_ERROR_FINISHED, - XML_ERROR_SUSPEND_PE, - /* Added in 2.0. */ - XML_ERROR_RESERVED_PREFIX_XML, - XML_ERROR_RESERVED_PREFIX_XMLNS, - XML_ERROR_RESERVED_NAMESPACE_URI -}; - -enum XML_Content_Type { - XML_CTYPE_EMPTY = 1, - XML_CTYPE_ANY, - XML_CTYPE_MIXED, - XML_CTYPE_NAME, - XML_CTYPE_CHOICE, - XML_CTYPE_SEQ -}; - -enum XML_Content_Quant { - XML_CQUANT_NONE, - XML_CQUANT_OPT, - XML_CQUANT_REP, - XML_CQUANT_PLUS -}; - -/* If type == XML_CTYPE_EMPTY or XML_CTYPE_ANY, then quant will be - XML_CQUANT_NONE, and the other fields will be zero or NULL. - If type == XML_CTYPE_MIXED, then quant will be NONE or REP and - numchildren will contain number of elements that may be mixed in - and children point to an array of XML_Content cells that will be - all of XML_CTYPE_NAME type with no quantification. - - If type == XML_CTYPE_NAME, then the name points to the name, and - the numchildren field will be zero and children will be NULL. The - quant fields indicates any quantifiers placed on the name. - - CHOICE and SEQ will have name NULL, the number of children in - numchildren and children will point, recursively, to an array - of XML_Content cells. - - The EMPTY, ANY, and MIXED types will only occur at top level. -*/ - -typedef struct XML_cp XML_Content; - -struct XML_cp { - enum XML_Content_Type type; - enum XML_Content_Quant quant; - XML_Char * name; - unsigned int numchildren; - XML_Content * children; -}; - - -/* This is called for an element declaration. See above for - description of the model argument. It's the caller's responsibility - to free model when finished with it. -*/ -typedef void (XMLCALL *XML_ElementDeclHandler) (void *userData, - const XML_Char *name, - XML_Content *model); - -XMLPARSEAPI(void) -XML_SetElementDeclHandler(XML_Parser parser, - XML_ElementDeclHandler eldecl); - -/* The Attlist declaration handler is called for *each* attribute. So - a single Attlist declaration with multiple attributes declared will - generate multiple calls to this handler. The "default" parameter - may be NULL in the case of the "#IMPLIED" or "#REQUIRED" - keyword. The "isrequired" parameter will be true and the default - value will be NULL in the case of "#REQUIRED". If "isrequired" is - true and default is non-NULL, then this is a "#FIXED" default. -*/ -typedef void (XMLCALL *XML_AttlistDeclHandler) ( - void *userData, - const XML_Char *elname, - const XML_Char *attname, - const XML_Char *att_type, - const XML_Char *dflt, - int isrequired); - -XMLPARSEAPI(void) -XML_SetAttlistDeclHandler(XML_Parser parser, - XML_AttlistDeclHandler attdecl); - -/* The XML declaration handler is called for *both* XML declarations - and text declarations. The way to distinguish is that the version - parameter will be NULL for text declarations. The encoding - parameter may be NULL for XML declarations. The standalone - parameter will be -1, 0, or 1 indicating respectively that there - was no standalone parameter in the declaration, that it was given - as no, or that it was given as yes. -*/ -typedef void (XMLCALL *XML_XmlDeclHandler) (void *userData, - const XML_Char *version, - const XML_Char *encoding, - int standalone); - -XMLPARSEAPI(void) -XML_SetXmlDeclHandler(XML_Parser parser, - XML_XmlDeclHandler xmldecl); - - -typedef struct { - void *(*malloc_fcn)(size_t size); - void *(*realloc_fcn)(void *ptr, size_t size); - void (*free_fcn)(void *ptr); -} XML_Memory_Handling_Suite; - -/* Constructs a new parser; encoding is the encoding specified by the - external protocol or NULL if there is none specified. -*/ -XMLPARSEAPI(XML_Parser) -XML_ParserCreate(const XML_Char *encoding); - -/* Constructs a new parser and namespace processor. Element type - names and attribute names that belong to a namespace will be - expanded; unprefixed attribute names are never expanded; unprefixed - element type names are expanded only if there is a default - namespace. The expanded name is the concatenation of the namespace - URI, the namespace separator character, and the local part of the - name. If the namespace separator is '\0' then the namespace URI - and the local part will be concatenated without any separator. - It is a programming error to use the separator '\0' with namespace - triplets (see XML_SetReturnNSTriplet). -*/ -XMLPARSEAPI(XML_Parser) -XML_ParserCreateNS(const XML_Char *encoding, XML_Char namespaceSeparator); - - -/* Constructs a new parser using the memory management suite referred to - by memsuite. If memsuite is NULL, then use the standard library memory - suite. If namespaceSeparator is non-NULL it creates a parser with - namespace processing as described above. The character pointed at - will serve as the namespace separator. - - All further memory operations used for the created parser will come from - the given suite. -*/ -XMLPARSEAPI(XML_Parser) -XML_ParserCreate_MM(const XML_Char *encoding, - const XML_Memory_Handling_Suite *memsuite, - const XML_Char *namespaceSeparator); - -/* Prepare a parser object to be re-used. This is particularly - valuable when memory allocation overhead is disproportionatly high, - such as when a large number of small documnents need to be parsed. - All handlers are cleared from the parser, except for the - unknownEncodingHandler. The parser's external state is re-initialized - except for the values of ns and ns_triplets. - - Added in Expat 1.95.3. -*/ -XMLPARSEAPI(XML_Bool) -XML_ParserReset(XML_Parser parser, const XML_Char *encoding); - -/* atts is array of name/value pairs, terminated by 0; - names and values are 0 terminated. -*/ -typedef void (XMLCALL *XML_StartElementHandler) (void *userData, - const XML_Char *name, - const XML_Char **atts); - -typedef void (XMLCALL *XML_EndElementHandler) (void *userData, - const XML_Char *name); - - -/* s is not 0 terminated. */ -typedef void (XMLCALL *XML_CharacterDataHandler) (void *userData, - const XML_Char *s, - int len); - -/* target and data are 0 terminated */ -typedef void (XMLCALL *XML_ProcessingInstructionHandler) ( - void *userData, - const XML_Char *target, - const XML_Char *data); - -/* data is 0 terminated */ -typedef void (XMLCALL *XML_CommentHandler) (void *userData, - const XML_Char *data); - -typedef void (XMLCALL *XML_StartCdataSectionHandler) (void *userData); -typedef void (XMLCALL *XML_EndCdataSectionHandler) (void *userData); - -/* This is called for any characters in the XML document for which - there is no applicable handler. This includes both characters that - are part of markup which is of a kind that is not reported - (comments, markup declarations), or characters that are part of a - construct which could be reported but for which no handler has been - supplied. The characters are passed exactly as they were in the XML - document except that they will be encoded in UTF-8 or UTF-16. - Line boundaries are not normalized. Note that a byte order mark - character is not passed to the default handler. There are no - guarantees about how characters are divided between calls to the - default handler: for example, a comment might be split between - multiple calls. -*/ -typedef void (XMLCALL *XML_DefaultHandler) (void *userData, - const XML_Char *s, - int len); - -/* This is called for the start of the DOCTYPE declaration, before - any DTD or internal subset is parsed. -*/ -typedef void (XMLCALL *XML_StartDoctypeDeclHandler) ( - void *userData, - const XML_Char *doctypeName, - const XML_Char *sysid, - const XML_Char *pubid, - int has_internal_subset); - -/* This is called for the start of the DOCTYPE declaration when the - closing > is encountered, but after processing any external - subset. -*/ -typedef void (XMLCALL *XML_EndDoctypeDeclHandler)(void *userData); - -/* This is called for entity declarations. The is_parameter_entity - argument will be non-zero if the entity is a parameter entity, zero - otherwise. - - For internal entities (), value will - be non-NULL and systemId, publicID, and notationName will be NULL. - The value string is NOT nul-terminated; the length is provided in - the value_length argument. Since it is legal to have zero-length - values, do not use this argument to test for internal entities. - - For external entities, value will be NULL and systemId will be - non-NULL. The publicId argument will be NULL unless a public - identifier was provided. The notationName argument will have a - non-NULL value only for unparsed entity declarations. - - Note that is_parameter_entity can't be changed to XML_Bool, since - that would break binary compatibility. -*/ -typedef void (XMLCALL *XML_EntityDeclHandler) ( - void *userData, - const XML_Char *entityName, - int is_parameter_entity, - const XML_Char *value, - int value_length, - const XML_Char *base, - const XML_Char *systemId, - const XML_Char *publicId, - const XML_Char *notationName); - -XMLPARSEAPI(void) -XML_SetEntityDeclHandler(XML_Parser parser, - XML_EntityDeclHandler handler); - -/* OBSOLETE -- OBSOLETE -- OBSOLETE - This handler has been superceded by the EntityDeclHandler above. - It is provided here for backward compatibility. - - This is called for a declaration of an unparsed (NDATA) entity. - The base argument is whatever was set by XML_SetBase. The - entityName, systemId and notationName arguments will never be - NULL. The other arguments may be. -*/ -typedef void (XMLCALL *XML_UnparsedEntityDeclHandler) ( - void *userData, - const XML_Char *entityName, - const XML_Char *base, - const XML_Char *systemId, - const XML_Char *publicId, - const XML_Char *notationName); - -/* This is called for a declaration of notation. The base argument is - whatever was set by XML_SetBase. The notationName will never be - NULL. The other arguments can be. -*/ -typedef void (XMLCALL *XML_NotationDeclHandler) ( - void *userData, - const XML_Char *notationName, - const XML_Char *base, - const XML_Char *systemId, - const XML_Char *publicId); - -/* When namespace processing is enabled, these are called once for - each namespace declaration. The call to the start and end element - handlers occur between the calls to the start and end namespace - declaration handlers. For an xmlns attribute, prefix will be - NULL. For an xmlns="" attribute, uri will be NULL. -*/ -typedef void (XMLCALL *XML_StartNamespaceDeclHandler) ( - void *userData, - const XML_Char *prefix, - const XML_Char *uri); - -typedef void (XMLCALL *XML_EndNamespaceDeclHandler) ( - void *userData, - const XML_Char *prefix); - -/* This is called if the document is not standalone, that is, it has an - external subset or a reference to a parameter entity, but does not - have standalone="yes". If this handler returns XML_STATUS_ERROR, - then processing will not continue, and the parser will return a - XML_ERROR_NOT_STANDALONE error. - If parameter entity parsing is enabled, then in addition to the - conditions above this handler will only be called if the referenced - entity was actually read. -*/ -typedef int (XMLCALL *XML_NotStandaloneHandler) (void *userData); - -/* This is called for a reference to an external parsed general - entity. The referenced entity is not automatically parsed. The - application can parse it immediately or later using - XML_ExternalEntityParserCreate. - - The parser argument is the parser parsing the entity containing the - reference; it can be passed as the parser argument to - XML_ExternalEntityParserCreate. The systemId argument is the - system identifier as specified in the entity declaration; it will - not be NULL. - - The base argument is the system identifier that should be used as - the base for resolving systemId if systemId was relative; this is - set by XML_SetBase; it may be NULL. - - The publicId argument is the public identifier as specified in the - entity declaration, or NULL if none was specified; the whitespace - in the public identifier will have been normalized as required by - the XML spec. - - The context argument specifies the parsing context in the format - expected by the context argument to XML_ExternalEntityParserCreate; - context is valid only until the handler returns, so if the - referenced entity is to be parsed later, it must be copied. - context is NULL only when the entity is a parameter entity. - - The handler should return XML_STATUS_ERROR if processing should not - continue because of a fatal error in the handling of the external - entity. In this case the calling parser will return an - XML_ERROR_EXTERNAL_ENTITY_HANDLING error. - - Note that unlike other handlers the first argument is the parser, - not userData. -*/ -typedef int (XMLCALL *XML_ExternalEntityRefHandler) ( - XML_Parser parser, - const XML_Char *context, - const XML_Char *base, - const XML_Char *systemId, - const XML_Char *publicId); - -/* This is called in two situations: - 1) An entity reference is encountered for which no declaration - has been read *and* this is not an error. - 2) An internal entity reference is read, but not expanded, because - XML_SetDefaultHandler has been called. - Note: skipped parameter entities in declarations and skipped general - entities in attribute values cannot be reported, because - the event would be out of sync with the reporting of the - declarations or attribute values -*/ -typedef void (XMLCALL *XML_SkippedEntityHandler) ( - void *userData, - const XML_Char *entityName, - int is_parameter_entity); - -/* This structure is filled in by the XML_UnknownEncodingHandler to - provide information to the parser about encodings that are unknown - to the parser. - - The map[b] member gives information about byte sequences whose - first byte is b. - - If map[b] is c where c is >= 0, then b by itself encodes the - Unicode scalar value c. - - If map[b] is -1, then the byte sequence is malformed. - - If map[b] is -n, where n >= 2, then b is the first byte of an - n-byte sequence that encodes a single Unicode scalar value. - - The data member will be passed as the first argument to the convert - function. - - The convert function is used to convert multibyte sequences; s will - point to a n-byte sequence where map[(unsigned char)*s] == -n. The - convert function must return the Unicode scalar value represented - by this byte sequence or -1 if the byte sequence is malformed. - - The convert function may be NULL if the encoding is a single-byte - encoding, that is if map[b] >= -1 for all bytes b. - - When the parser is finished with the encoding, then if release is - not NULL, it will call release passing it the data member; once - release has been called, the convert function will not be called - again. - - Expat places certain restrictions on the encodings that are supported - using this mechanism. - - 1. Every ASCII character that can appear in a well-formed XML document, - other than the characters - - $@\^`{}~ - - must be represented by a single byte, and that byte must be the - same byte that represents that character in ASCII. - - 2. No character may require more than 4 bytes to encode. - - 3. All characters encoded must have Unicode scalar values <= - 0xFFFF, (i.e., characters that would be encoded by surrogates in - UTF-16 are not allowed). Note that this restriction doesn't - apply to the built-in support for UTF-8 and UTF-16. - - 4. No Unicode character may be encoded by more than one distinct - sequence of bytes. -*/ -typedef struct { - int map[256]; - void *data; - int (XMLCALL *convert)(void *data, const char *s); - void (XMLCALL *release)(void *data); -} XML_Encoding; - -/* This is called for an encoding that is unknown to the parser. - - The encodingHandlerData argument is that which was passed as the - second argument to XML_SetUnknownEncodingHandler. - - The name argument gives the name of the encoding as specified in - the encoding declaration. - - If the callback can provide information about the encoding, it must - fill in the XML_Encoding structure, and return XML_STATUS_OK. - Otherwise it must return XML_STATUS_ERROR. - - If info does not describe a suitable encoding, then the parser will - return an XML_UNKNOWN_ENCODING error. -*/ -typedef int (XMLCALL *XML_UnknownEncodingHandler) ( - void *encodingHandlerData, - const XML_Char *name, - XML_Encoding *info); - -XMLPARSEAPI(void) -XML_SetElementHandler(XML_Parser parser, - XML_StartElementHandler start, - XML_EndElementHandler end); - -XMLPARSEAPI(void) -XML_SetStartElementHandler(XML_Parser parser, - XML_StartElementHandler handler); - -XMLPARSEAPI(void) -XML_SetEndElementHandler(XML_Parser parser, - XML_EndElementHandler handler); - -XMLPARSEAPI(void) -XML_SetCharacterDataHandler(XML_Parser parser, - XML_CharacterDataHandler handler); - -XMLPARSEAPI(void) -XML_SetProcessingInstructionHandler(XML_Parser parser, - XML_ProcessingInstructionHandler handler); -XMLPARSEAPI(void) -XML_SetCommentHandler(XML_Parser parser, - XML_CommentHandler handler); - -XMLPARSEAPI(void) -XML_SetCdataSectionHandler(XML_Parser parser, - XML_StartCdataSectionHandler start, - XML_EndCdataSectionHandler end); - -XMLPARSEAPI(void) -XML_SetStartCdataSectionHandler(XML_Parser parser, - XML_StartCdataSectionHandler start); - -XMLPARSEAPI(void) -XML_SetEndCdataSectionHandler(XML_Parser parser, - XML_EndCdataSectionHandler end); - -/* This sets the default handler and also inhibits expansion of - internal entities. These entity references will be passed to the - default handler, or to the skipped entity handler, if one is set. -*/ -XMLPARSEAPI(void) -XML_SetDefaultHandler(XML_Parser parser, - XML_DefaultHandler handler); - -/* This sets the default handler but does not inhibit expansion of - internal entities. The entity reference will not be passed to the - default handler. -*/ -XMLPARSEAPI(void) -XML_SetDefaultHandlerExpand(XML_Parser parser, - XML_DefaultHandler handler); - -XMLPARSEAPI(void) -XML_SetDoctypeDeclHandler(XML_Parser parser, - XML_StartDoctypeDeclHandler start, - XML_EndDoctypeDeclHandler end); - -XMLPARSEAPI(void) -XML_SetStartDoctypeDeclHandler(XML_Parser parser, - XML_StartDoctypeDeclHandler start); - -XMLPARSEAPI(void) -XML_SetEndDoctypeDeclHandler(XML_Parser parser, - XML_EndDoctypeDeclHandler end); - -XMLPARSEAPI(void) -XML_SetUnparsedEntityDeclHandler(XML_Parser parser, - XML_UnparsedEntityDeclHandler handler); - -XMLPARSEAPI(void) -XML_SetNotationDeclHandler(XML_Parser parser, - XML_NotationDeclHandler handler); - -XMLPARSEAPI(void) -XML_SetNamespaceDeclHandler(XML_Parser parser, - XML_StartNamespaceDeclHandler start, - XML_EndNamespaceDeclHandler end); - -XMLPARSEAPI(void) -XML_SetStartNamespaceDeclHandler(XML_Parser parser, - XML_StartNamespaceDeclHandler start); - -XMLPARSEAPI(void) -XML_SetEndNamespaceDeclHandler(XML_Parser parser, - XML_EndNamespaceDeclHandler end); - -XMLPARSEAPI(void) -XML_SetNotStandaloneHandler(XML_Parser parser, - XML_NotStandaloneHandler handler); - -XMLPARSEAPI(void) -XML_SetExternalEntityRefHandler(XML_Parser parser, - XML_ExternalEntityRefHandler handler); - -/* If a non-NULL value for arg is specified here, then it will be - passed as the first argument to the external entity ref handler - instead of the parser object. -*/ -XMLPARSEAPI(void) -XML_SetExternalEntityRefHandlerArg(XML_Parser parser, - void *arg); - -XMLPARSEAPI(void) -XML_SetSkippedEntityHandler(XML_Parser parser, - XML_SkippedEntityHandler handler); - -XMLPARSEAPI(void) -XML_SetUnknownEncodingHandler(XML_Parser parser, - XML_UnknownEncodingHandler handler, - void *encodingHandlerData); - -/* This can be called within a handler for a start element, end - element, processing instruction or character data. It causes the - corresponding markup to be passed to the default handler. -*/ -XMLPARSEAPI(void) -XML_DefaultCurrent(XML_Parser parser); - -/* If do_nst is non-zero, and namespace processing is in effect, and - a name has a prefix (i.e. an explicit namespace qualifier) then - that name is returned as a triplet in a single string separated by - the separator character specified when the parser was created: URI - + sep + local_name + sep + prefix. - - If do_nst is zero, then namespace information is returned in the - default manner (URI + sep + local_name) whether or not the name - has a prefix. - - Note: Calling XML_SetReturnNSTriplet after XML_Parse or - XML_ParseBuffer has no effect. -*/ - -XMLPARSEAPI(void) -XML_SetReturnNSTriplet(XML_Parser parser, int do_nst); - -/* This value is passed as the userData argument to callbacks. */ -XMLPARSEAPI(void) -XML_SetUserData(XML_Parser parser, void *userData); - -/* Returns the last value set by XML_SetUserData or NULL. */ -#define XML_GetUserData(parser) (*(void **)(parser)) - -/* This is equivalent to supplying an encoding argument to - XML_ParserCreate. On success XML_SetEncoding returns non-zero, - zero otherwise. - Note: Calling XML_SetEncoding after XML_Parse or XML_ParseBuffer - has no effect and returns XML_STATUS_ERROR. -*/ -XMLPARSEAPI(enum XML_Status) -XML_SetEncoding(XML_Parser parser, const XML_Char *encoding); - -/* If this function is called, then the parser will be passed as the - first argument to callbacks instead of userData. The userData will - still be accessible using XML_GetUserData. -*/ -XMLPARSEAPI(void) -XML_UseParserAsHandlerArg(XML_Parser parser); - -/* If useDTD == XML_TRUE is passed to this function, then the parser - will assume that there is an external subset, even if none is - specified in the document. In such a case the parser will call the - externalEntityRefHandler with a value of NULL for the systemId - argument (the publicId and context arguments will be NULL as well). - Note: For the purpose of checking WFC: Entity Declared, passing - useDTD == XML_TRUE will make the parser behave as if the document - had a DTD with an external subset. - Note: If this function is called, then this must be done before - the first call to XML_Parse or XML_ParseBuffer, since it will - have no effect after that. Returns - XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING. - Note: If the document does not have a DOCTYPE declaration at all, - then startDoctypeDeclHandler and endDoctypeDeclHandler will not - be called, despite an external subset being parsed. - Note: If XML_DTD is not defined when Expat is compiled, returns - XML_ERROR_FEATURE_REQUIRES_XML_DTD. -*/ -XMLPARSEAPI(enum XML_Error) -XML_UseForeignDTD(XML_Parser parser, XML_Bool useDTD); - - -/* Sets the base to be used for resolving relative URIs in system - identifiers in declarations. Resolving relative identifiers is - left to the application: this value will be passed through as the - base argument to the XML_ExternalEntityRefHandler, - XML_NotationDeclHandler and XML_UnparsedEntityDeclHandler. The base - argument will be copied. Returns XML_STATUS_ERROR if out of memory, - XML_STATUS_OK otherwise. -*/ -XMLPARSEAPI(enum XML_Status) -XML_SetBase(XML_Parser parser, const XML_Char *base); - -XMLPARSEAPI(const XML_Char *) -XML_GetBase(XML_Parser parser); - -/* Returns the number of the attribute/value pairs passed in last call - to the XML_StartElementHandler that were specified in the start-tag - rather than defaulted. Each attribute/value pair counts as 2; thus - this correspondds to an index into the atts array passed to the - XML_StartElementHandler. -*/ -XMLPARSEAPI(int) -XML_GetSpecifiedAttributeCount(XML_Parser parser); - -/* Returns the index of the ID attribute passed in the last call to - XML_StartElementHandler, or -1 if there is no ID attribute. Each - attribute/value pair counts as 2; thus this correspondds to an - index into the atts array passed to the XML_StartElementHandler. -*/ -XMLPARSEAPI(int) -XML_GetIdAttributeIndex(XML_Parser parser); - -/* Parses some input. Returns XML_STATUS_ERROR if a fatal error is - detected. The last call to XML_Parse must have isFinal true; len - may be zero for this call (or any other). - - Though the return values for these functions has always been - described as a Boolean value, the implementation, at least for the - 1.95.x series, has always returned exactly one of the XML_Status - values. -*/ -XMLPARSEAPI(enum XML_Status) -XML_Parse(XML_Parser parser, const char *s, int len, int isFinal); - -XMLPARSEAPI(void *) -XML_GetBuffer(XML_Parser parser, int len); - -XMLPARSEAPI(enum XML_Status) -XML_ParseBuffer(XML_Parser parser, int len, int isFinal); - -/* Stops parsing, causing XML_Parse() or XML_ParseBuffer() to return. - Must be called from within a call-back handler, except when aborting - (resumable = 0) an already suspended parser. Some call-backs may - still follow because they would otherwise get lost. Examples: - - endElementHandler() for empty elements when stopped in - startElementHandler(), - - endNameSpaceDeclHandler() when stopped in endElementHandler(), - and possibly others. - - Can be called from most handlers, including DTD related call-backs, - except when parsing an external parameter entity and resumable != 0. - Returns XML_STATUS_OK when successful, XML_STATUS_ERROR otherwise. - Possible error codes: - - XML_ERROR_SUSPENDED: when suspending an already suspended parser. - - XML_ERROR_FINISHED: when the parser has already finished. - - XML_ERROR_SUSPEND_PE: when suspending while parsing an external PE. - - When resumable != 0 (true) then parsing is suspended, that is, - XML_Parse() and XML_ParseBuffer() return XML_STATUS_SUSPENDED. - Otherwise, parsing is aborted, that is, XML_Parse() and XML_ParseBuffer() - return XML_STATUS_ERROR with error code XML_ERROR_ABORTED. - - *Note*: - This will be applied to the current parser instance only, that is, if - there is a parent parser then it will continue parsing when the - externalEntityRefHandler() returns. It is up to the implementation of - the externalEntityRefHandler() to call XML_StopParser() on the parent - parser (recursively), if one wants to stop parsing altogether. - - When suspended, parsing can be resumed by calling XML_ResumeParser(). -*/ -XMLPARSEAPI(enum XML_Status) -XML_StopParser(XML_Parser parser, XML_Bool resumable); - -/* Resumes parsing after it has been suspended with XML_StopParser(). - Must not be called from within a handler call-back. Returns same - status codes as XML_Parse() or XML_ParseBuffer(). - Additional error code XML_ERROR_NOT_SUSPENDED possible. - - *Note*: - This must be called on the most deeply nested child parser instance - first, and on its parent parser only after the child parser has finished, - to be applied recursively until the document entity's parser is restarted. - That is, the parent parser will not resume by itself and it is up to the - application to call XML_ResumeParser() on it at the appropriate moment. -*/ -XMLPARSEAPI(enum XML_Status) -XML_ResumeParser(XML_Parser parser); - -enum XML_Parsing { - XML_INITIALIZED, - XML_PARSING, - XML_FINISHED, - XML_SUSPENDED -}; - -typedef struct { - enum XML_Parsing parsing; - XML_Bool finalBuffer; -} XML_ParsingStatus; - -/* Returns status of parser with respect to being initialized, parsing, - finished, or suspended and processing the final buffer. - XXX XML_Parse() and XML_ParseBuffer() should return XML_ParsingStatus, - XXX with XML_FINISHED_OK or XML_FINISHED_ERROR replacing XML_FINISHED -*/ -XMLPARSEAPI(void) -XML_GetParsingStatus(XML_Parser parser, XML_ParsingStatus *status); - -/* Creates an XML_Parser object that can parse an external general - entity; context is a '\0'-terminated string specifying the parse - context; encoding is a '\0'-terminated string giving the name of - the externally specified encoding, or NULL if there is no - externally specified encoding. The context string consists of a - sequence of tokens separated by formfeeds (\f); a token consisting - of a name specifies that the general entity of the name is open; a - token of the form prefix=uri specifies the namespace for a - particular prefix; a token of the form =uri specifies the default - namespace. This can be called at any point after the first call to - an ExternalEntityRefHandler so longer as the parser has not yet - been freed. The new parser is completely independent and may - safely be used in a separate thread. The handlers and userData are - initialized from the parser argument. Returns NULL if out of memory. - Otherwise returns a new XML_Parser object. -*/ -XMLPARSEAPI(XML_Parser) -XML_ExternalEntityParserCreate(XML_Parser parser, - const XML_Char *context, - const XML_Char *encoding); - -enum XML_ParamEntityParsing { - XML_PARAM_ENTITY_PARSING_NEVER, - XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE, - XML_PARAM_ENTITY_PARSING_ALWAYS -}; - -/* Controls parsing of parameter entities (including the external DTD - subset). If parsing of parameter entities is enabled, then - references to external parameter entities (including the external - DTD subset) will be passed to the handler set with - XML_SetExternalEntityRefHandler. The context passed will be 0. - - Unlike external general entities, external parameter entities can - only be parsed synchronously. If the external parameter entity is - to be parsed, it must be parsed during the call to the external - entity ref handler: the complete sequence of - XML_ExternalEntityParserCreate, XML_Parse/XML_ParseBuffer and - XML_ParserFree calls must be made during this call. After - XML_ExternalEntityParserCreate has been called to create the parser - for the external parameter entity (context must be 0 for this - call), it is illegal to make any calls on the old parser until - XML_ParserFree has been called on the newly created parser. - If the library has been compiled without support for parameter - entity parsing (ie without XML_DTD being defined), then - XML_SetParamEntityParsing will return 0 if parsing of parameter - entities is requested; otherwise it will return non-zero. - Note: If XML_SetParamEntityParsing is called after XML_Parse or - XML_ParseBuffer, then it has no effect and will always return 0. -*/ -XMLPARSEAPI(int) -XML_SetParamEntityParsing(XML_Parser parser, - enum XML_ParamEntityParsing parsing); - -/* If XML_Parse or XML_ParseBuffer have returned XML_STATUS_ERROR, then - XML_GetErrorCode returns information about the error. -*/ -XMLPARSEAPI(enum XML_Error) -XML_GetErrorCode(XML_Parser parser); - -/* These functions return information about the current parse - location. They may be called from any callback called to report - some parse event; in this case the location is the location of the - first of the sequence of characters that generated the event. When - called from callbacks generated by declarations in the document - prologue, the location identified isn't as neatly defined, but will - be within the relevant markup. When called outside of the callback - functions, the position indicated will be just past the last parse - event (regardless of whether there was an associated callback). - - They may also be called after returning from a call to XML_Parse - or XML_ParseBuffer. If the return value is XML_STATUS_ERROR then - the location is the location of the character at which the error - was detected; otherwise the location is the location of the last - parse event, as described above. -*/ -XMLPARSEAPI(XML_Size) XML_GetCurrentLineNumber(XML_Parser parser); -XMLPARSEAPI(XML_Size) XML_GetCurrentColumnNumber(XML_Parser parser); -XMLPARSEAPI(XML_Index) XML_GetCurrentByteIndex(XML_Parser parser); - -/* Return the number of bytes in the current event. - Returns 0 if the event is in an internal entity. -*/ -XMLPARSEAPI(int) -XML_GetCurrentByteCount(XML_Parser parser); - -/* If XML_CONTEXT_BYTES is defined, returns the input buffer, sets - the integer pointed to by offset to the offset within this buffer - of the current parse position, and sets the integer pointed to by size - to the size of this buffer (the number of input bytes). Otherwise - returns a NULL pointer. Also returns a NULL pointer if a parse isn't - active. - - NOTE: The character pointer returned should not be used outside - the handler that makes the call. -*/ -XMLPARSEAPI(const char *) -XML_GetInputContext(XML_Parser parser, - int *offset, - int *size); - -/* For backwards compatibility with previous versions. */ -#define XML_GetErrorLineNumber XML_GetCurrentLineNumber -#define XML_GetErrorColumnNumber XML_GetCurrentColumnNumber -#define XML_GetErrorByteIndex XML_GetCurrentByteIndex - -/* Frees the content model passed to the element declaration handler */ -XMLPARSEAPI(void) -XML_FreeContentModel(XML_Parser parser, XML_Content *model); - -/* Exposing the memory handling functions used in Expat */ -XMLPARSEAPI(void *) -XML_MemMalloc(XML_Parser parser, size_t size); - -XMLPARSEAPI(void *) -XML_MemRealloc(XML_Parser parser, void *ptr, size_t size); - -XMLPARSEAPI(void) -XML_MemFree(XML_Parser parser, void *ptr); - -/* Frees memory used by the parser. */ -XMLPARSEAPI(void) -XML_ParserFree(XML_Parser parser); - -/* Returns a string describing the error. */ -XMLPARSEAPI(const XML_LChar *) -XML_ErrorString(enum XML_Error code); - -/* Return a string containing the version number of this expat */ -XMLPARSEAPI(const XML_LChar *) -XML_ExpatVersion(void); - -typedef struct { - int major; - int minor; - int micro; -} XML_Expat_Version; - -/* Return an XML_Expat_Version structure containing numeric version - number information for this version of expat. -*/ -XMLPARSEAPI(XML_Expat_Version) -XML_ExpatVersionInfo(void); - -/* Added in Expat 1.95.5. */ -enum XML_FeatureEnum { - XML_FEATURE_END = 0, - XML_FEATURE_UNICODE, - XML_FEATURE_UNICODE_WCHAR_T, - XML_FEATURE_DTD, - XML_FEATURE_CONTEXT_BYTES, - XML_FEATURE_MIN_SIZE, - XML_FEATURE_SIZEOF_XML_CHAR, - XML_FEATURE_SIZEOF_XML_LCHAR, - XML_FEATURE_NS, - XML_FEATURE_LARGE_SIZE - /* Additional features must be added to the end of this enum. */ -}; - -typedef struct { - enum XML_FeatureEnum feature; - const XML_LChar *name; - long int value; -} XML_Feature; - -XMLPARSEAPI(const XML_Feature *) -XML_GetFeatureList(void); - - -/* Expat follows the GNU/Linux convention of odd number minor version for - beta/development releases and even number minor version for stable - releases. Micro is bumped with each release, and set to 0 with each - change to major or minor version. -*/ -#define XML_MAJOR_VERSION 2 -#define XML_MINOR_VERSION 0 -#define XML_MICRO_VERSION 1 - -#ifdef __cplusplus -} -#endif - -#endif /* not Expat_INCLUDED */ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/include/expat_external.h b/org.simantics.modelica/FMUSolution/FMUSimulator/include/expat_external.h deleted file mode 100644 index bb83a995..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/include/expat_external.h +++ /dev/null @@ -1,115 +0,0 @@ -/* Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd - See the file COPYING for copying permission. -*/ - -#ifndef Expat_External_INCLUDED -#define Expat_External_INCLUDED 1 - -/* External API definitions */ - -#if defined(_MSC_EXTENSIONS) && !defined(__BEOS__) && !defined(__CYGWIN__) -#define XML_USE_MSC_EXTENSIONS 1 -#endif - -/* Expat tries very hard to make the API boundary very specifically - defined. There are two macros defined to control this boundary; - each of these can be defined before including this header to - achieve some different behavior, but doing so it not recommended or - tested frequently. - - XMLCALL - The calling convention to use for all calls across the - "library boundary." This will default to cdecl, and - try really hard to tell the compiler that's what we - want. - - XMLIMPORT - Whatever magic is needed to note that a function is - to be imported from a dynamically loaded library - (.dll, .so, or .sl, depending on your platform). - - The XMLCALL macro was added in Expat 1.95.7. The only one which is - expected to be directly useful in client code is XMLCALL. - - Note that on at least some Unix versions, the Expat library must be - compiled with the cdecl calling convention as the default since - system headers may assume the cdecl convention. -*/ -#ifndef XMLCALL -#if defined(_MSC_VER) -#define XMLCALL __cdecl -#elif defined(__GNUC__) && defined(__i386) && !defined(__INTEL_COMPILER) -#define XMLCALL __attribute__((cdecl)) -#else -/* For any platform which uses this definition and supports more than - one calling convention, we need to extend this definition to - declare the convention used on that platform, if it's possible to - do so. - - If this is the case for your platform, please file a bug report - with information on how to identify your platform via the C - pre-processor and how to specify the same calling convention as the - platform's malloc() implementation. -*/ -#define XMLCALL -#endif -#endif /* not defined XMLCALL */ - - -#if !defined(XML_STATIC) && !defined(XMLIMPORT) -#ifndef XML_BUILDING_EXPAT -/* using Expat from an application */ - -#ifdef XML_USE_MSC_EXTENSIONS -#define XMLIMPORT __declspec(dllimport) -#endif - -#endif -#endif /* not defined XML_STATIC */ - - -/* If we didn't define it above, define it away: */ -#ifndef XMLIMPORT -#define XMLIMPORT -#endif - - -#define XMLPARSEAPI(type) XMLIMPORT type XMLCALL - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef XML_UNICODE_WCHAR_T -#define XML_UNICODE -#endif - -#ifdef XML_UNICODE /* Information is UTF-16 encoded. */ -#ifdef XML_UNICODE_WCHAR_T -typedef wchar_t XML_Char; -typedef wchar_t XML_LChar; -#else -typedef unsigned short XML_Char; -typedef char XML_LChar; -#endif /* XML_UNICODE_WCHAR_T */ -#else /* Information is UTF-8 encoded. */ -typedef char XML_Char; -typedef char XML_LChar; -#endif /* XML_UNICODE */ - -#ifdef XML_LARGE_SIZE /* Use large integers for file/stream positions. */ -#if defined(XML_USE_MSC_EXTENSIONS) && _MSC_VER < 1400 -typedef __int64 XML_Index; -typedef unsigned __int64 XML_Size; -#else -typedef long long XML_Index; -typedef unsigned long long XML_Size; -#endif -#else -typedef long XML_Index; -typedef unsigned long XML_Size; -#endif /* XML_LARGE_SIZE */ - -#ifdef __cplusplus -} -#endif - -#endif /* not Expat_External_INCLUDED */ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/include/fmiModelFunctions.h b/org.simantics.modelica/FMUSolution/FMUSimulator/include/fmiModelFunctions.h deleted file mode 100644 index e2047724..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/include/fmiModelFunctions.h +++ /dev/null @@ -1,210 +0,0 @@ -#ifndef fmiModelFunctions_h -#define fmiModelFunctions_h - -/* This header file must be utilized when compiling a model. - It defines all functions of the Model Execution Interface. - In order to have unique function names even if several models - are compiled together (e.g. for embedded systems), every "real" function name - is constructed by prepending the function name by - "MODEL_IDENTIFIER" + "_" where "MODEL_IDENTIFIER" is the short name - of the model used as the name of the zip-file where the model is stored. - Therefore, the typical usage is: - - #define MODEL_IDENTIFIER MyModel - #include "fmiModelFunctions.h" - - As a result, a function that is defined as "fmiGetDerivatives" in this header file, - is actually getting the name "MyModel_fmiGetDerivatives". - - Revisions: - - Jan. 20, 2010: stateValueReferencesChanged added to struct fmiEventInfo (ticket #27) - (by M. Otter, DLR) - Added WIN32 pragma to define the struct layout (ticket #34) - (by J. Mauss, QTronic) - - Jan. 4, 2010: Removed argument intermediateResults from fmiInitialize - Renamed macro fmiGetModelFunctionsVersion to fmiGetVersion - Renamed macro fmiModelFunctionsVersion to fmiVersion - Replaced fmiModel by fmiComponent in decl of fmiInstantiateModel - (by J. Mauss, QTronic) - - Dec. 17, 2009: Changed extension "me" to "fmi" (by Martin Otter, DLR). - - Dez. 14, 2009: Added eventInfo to meInitialize and added - meGetNominalContinuousStates (by Martin Otter, DLR) - - Sept. 9, 2009: Added DllExport (according to Peter Nilsson's suggestion) - (by A. Junghanns, QTronic) - - Sept. 9, 2009: Changes according to FMI-meeting on July 21: - meInquireModelTypesVersion -> meGetModelTypesPlatform - meInquireModelFunctionsVersion -> meGetModelFunctionsVersion - meSetStates -> meSetContinuousStates - meGetStates -> meGetContinuousStates - removal of meInitializeModelClass - removal of meGetTime - change of arguments of meInstantiateModel - change of arguments of meCompletedIntegratorStep - (by Martin Otter, DLR): - - July 19, 2009: Added "me" as prefix to file names (by Martin Otter, DLR). - - March 2, 2009: Changed function definitions according to the last design - meeting with additional improvements (by Martin Otter, DLR). - - Dec. 3 , 2008: First version by Martin Otter (DLR) and Hans Olsson (Dynasim). - - - Copyright © 2008-2009, MODELISAR consortium. All rights reserved. - This file is licensed by the copyright holders under the BSD License - (http://www.opensource.org/licenses/bsd-license.html): - - ---------------------------------------------------------------------------- - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ---------------------------------------------------------------------------- - - with the extension: - - You may distribute or publicly perform any modification only under the - terms of this license. -*/ - -#include "fmiModelTypes.h" -#include - -/* Export fmi functions on Windows */ -#ifdef _MSC_VER -#define DllExport __declspec( dllexport ) -#else -#define DllExport -#endif - -/* Macros to construct the real function name - (prepend function name by MODEL_IDENTIFIER + "_") */ - -#define fmiPaste(a,b) a ## b -#define fmiPasteB(a,b) fmiPaste(a,b) -#define fmiFullName(name) fmiPasteB(MODEL_IDENTIFIER, name) - -#define fmiGetModelTypesPlatform fmiFullName(_fmiGetModelTypesPlatform) -#define fmiGetVersion fmiFullName(_fmiGetVersion) -#define fmiInstantiateModel fmiFullName(_fmiInstantiateModel) -#define fmiFreeModelInstance fmiFullName(_fmiFreeModelInstance) -#define fmiSetDebugLogging fmiFullName(_fmiSetDebugLogging) -#define fmiSetTime fmiFullName(_fmiSetTime) -#define fmiSetContinuousStates fmiFullName(_fmiSetContinuousStates) -#define fmiCompletedIntegratorStep fmiFullName(_fmiCompletedIntegratorStep) -#define fmiSetReal fmiFullName(_fmiSetReal) -#define fmiSetInteger fmiFullName(_fmiSetInteger) -#define fmiSetBoolean fmiFullName(_fmiSetBoolean) -#define fmiSetString fmiFullName(_fmiSetString) -#define fmiInitialize fmiFullName(_fmiInitialize) -#define fmiGetDerivatives fmiFullName(_fmiGetDerivatives) -#define fmiGetEventIndicators fmiFullName(_fmiGetEventIndicators) -#define fmiGetReal fmiFullName(_fmiGetReal) -#define fmiGetInteger fmiFullName(_fmiGetInteger) -#define fmiGetBoolean fmiFullName(_fmiGetBoolean) -#define fmiGetString fmiFullName(_fmiGetString) -#define fmiEventUpdate fmiFullName(_fmiEventUpdate) -#define fmiGetContinuousStates fmiFullName(_fmiGetContinuousStates) -#define fmiGetNominalContinuousStates fmiFullName(_fmiGetNominalContinuousStates) -#define fmiGetStateValueReferences fmiFullName(_fmiGetStateValueReferences) -#define fmiTerminate fmiFullName(_fmiTerminate) - - -/* Version number */ -#define fmiVersion "1.0" - -/* Inquire version numbers of header files */ - DllExport const char* fmiGetModelTypesPlatform(); - DllExport const char* fmiGetVersion(); - -/* make sure all compiler use the same alignment policies for structures */ -#ifdef WIN32 -#pragma pack(push,8) -#endif - -/* Type definitions */ - typedef enum {fmiOK, - fmiWarning, - fmiDiscard, - fmiError, - fmiFatal} fmiStatus; - - typedef void (*fmiCallbackLogger) (fmiComponent c, fmiString instanceName, fmiStatus status, - fmiString category, fmiString message, ...); - typedef void* (*fmiCallbackAllocateMemory)(size_t nobj, size_t size); - typedef void (*fmiCallbackFreeMemory) (void* obj); - - typedef struct { - fmiCallbackLogger logger; - fmiCallbackAllocateMemory allocateMemory; - fmiCallbackFreeMemory freeMemory; - } fmiCallbackFunctions; - - typedef struct { - fmiBoolean iterationConverged; - fmiBoolean stateValueReferencesChanged; - fmiBoolean stateValuesChanged; - fmiBoolean terminateSimulation; - fmiBoolean upcomingTimeEvent; - fmiReal nextEventTime; - } fmiEventInfo; - -/* reset alignment policy to the one set before reading this file */ -#ifdef WIN32 -#pragma pack(pop) -#endif - -/* Creation and destruction of model instances and setting debug status */ - DllExport fmiComponent fmiInstantiateModel (fmiString instanceName, - fmiString GUID, - fmiCallbackFunctions functions, - fmiBoolean loggingOn); - DllExport void fmiFreeModelInstance(fmiComponent c); - DllExport fmiStatus fmiSetDebugLogging (fmiComponent c, fmiBoolean loggingOn); - - -/* Providing independent variables and re-initialization of caching */ - DllExport fmiStatus fmiSetTime (fmiComponent c, fmiReal time); - DllExport fmiStatus fmiSetContinuousStates (fmiComponent c, const fmiReal x[], size_t nx); - DllExport fmiStatus fmiCompletedIntegratorStep(fmiComponent c, fmiBoolean* callEventUpdate); - DllExport fmiStatus fmiSetReal (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiReal value[]); - DllExport fmiStatus fmiSetInteger (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger value[]); - DllExport fmiStatus fmiSetBoolean (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiBoolean value[]); - DllExport fmiStatus fmiSetString (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiString value[]); - - -/* Evaluation of the model equations */ - DllExport fmiStatus fmiInitialize(fmiComponent c, fmiBoolean toleranceControlled, - fmiReal relativeTolerance, fmiEventInfo* eventInfo); - - DllExport fmiStatus fmiGetDerivatives (fmiComponent c, fmiReal derivatives[] , size_t nx); - DllExport fmiStatus fmiGetEventIndicators(fmiComponent c, fmiReal eventIndicators[], size_t ni); - - DllExport fmiStatus fmiGetReal (fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiReal value[]); - DllExport fmiStatus fmiGetInteger(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiInteger value[]); - DllExport fmiStatus fmiGetBoolean(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiBoolean value[]); - DllExport fmiStatus fmiGetString (fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiString value[]); - - DllExport fmiStatus fmiEventUpdate (fmiComponent c, fmiBoolean intermediateResults, fmiEventInfo* eventInfo); - DllExport fmiStatus fmiGetContinuousStates (fmiComponent c, fmiReal states[], size_t nx); - DllExport fmiStatus fmiGetNominalContinuousStates(fmiComponent c, fmiReal x_nominal[], size_t nx); - DllExport fmiStatus fmiGetStateValueReferences (fmiComponent c, fmiValueReference vrx[], size_t nx); - DllExport fmiStatus fmiTerminate (fmiComponent c); - -#endif // fmiModelFunctions_h diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/include/fmiModelTypes.h b/org.simantics.modelica/FMUSolution/FMUSimulator/include/fmiModelTypes.h deleted file mode 100644 index 17e9e300..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/include/fmiModelTypes.h +++ /dev/null @@ -1,91 +0,0 @@ -#ifndef fmiModelTypes_h -#define fmiModelTypes_h - -/* Standard header file to define the argument types of the - functions of the Model Execution Interface. - This header file must be utilized both by the model and - by the simulation engine. - - Revisions: - - Jan. 4, 2010: Renamed meModelTypes_h to fmiModelTypes_h (by Mauss, QTronic) - - Dec. 21, 2009: Changed "me" to "fmi" and "meModel" to "fmiComponent" - according to meeting on Dec. 18 (by Martin Otter, DLR) - - Dec. 6, 2009: Added meUndefinedValueReference (by Martin Otter, DLR) - - Sept. 9, 2009: Changes according to FMI-meeting on July 21: - Changed "version" to "platform", "standard" to "standard32", - Added a precise definition of "standard32" as comment - (by Martin Otter, DLR) - - July 19, 2009: Added "me" as prefix to file names, added meTrue/meFalse, - and changed meValueReferenced from int to unsigned int - (by Martin Otter, DLR). - - March 2, 2009: Moved enums and function pointer definitions to - ModelFunctions.h (by Martin Otter, DLR). - - Dec. 3, 2008 : First version by Martin Otter (DLR) and - Hans Olsson (Dynasim). - - - Copyright © 2008-2010, MODELISAR consortium. All rights reserved. - This file is licensed by the copyright holders under the BSD License - (http://www.opensource.org/licenses/bsd-license.html) - - ---------------------------------------------------------------------------- - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ---------------------------------------------------------------------------- - - with the extension: - - You may distribute or publicly perform any modification only under the - terms of this license. -*/ - -/* Platform (combination of machine, compiler, operating system) */ -#define fmiModelTypesPlatform "standard32" - -/* Type definitions of variables passed as arguments - Version "standard32" means: - - fmiComponent : 32 bit pointer - fmiValueReference: 32 bit - fmiReal : 64 bit - fmiInteger : 32 bit - fmiBoolean : 8 bit - fmiString : 32 bit pointer - -*/ - typedef void* fmiComponent; - typedef unsigned int fmiValueReference; - typedef double fmiReal ; - typedef int fmiInteger; - typedef char fmiBoolean; - typedef const char* fmiString ; - -/* Values for fmiBoolean */ -#define fmiTrue 1 -#define fmiFalse 0 - -/* Undefined value for fmiValueReference (largest unsigned int value) */ -#define fmiUndefinedValueReference (fmiValueReference)(-1) - -#endif diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/include/fmi_me.h b/org.simantics.modelica/FMUSolution/FMUSimulator/include/fmi_me.h deleted file mode 100644 index f1152455..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/include/fmi_me.h +++ /dev/null @@ -1,89 +0,0 @@ -/* ------------------------------------------------------------------------- - * fmi_me.h - * Function types for all function of the "FMI for Model Exchange 1.0" - * and a struct with the corresponding function pointers. - * Copyright 2011 QTronic GmbH. All rights reserved. - * ------------------------------------------------------------------------- - */ - -#ifndef FMI_ME_H -#define FMI_ME_H - -#include -#include "fmiModelFunctions.h" -#include "xml_parser.h" - -typedef const char* (*fGetModelTypesPlatform)(); -typedef const char* (*fGetVersion)(); -typedef fmiComponent (*fInstantiateModel)(fmiString instanceName, fmiString GUID, - fmiCallbackFunctions functions, fmiBoolean loggingOn); -typedef void (*fFreeModelInstance) (fmiComponent c); -typedef fmiStatus (*fSetDebugLogging) (fmiComponent c, fmiBoolean loggingOn); -typedef fmiStatus (*fSetTime) (fmiComponent c, fmiReal time); -typedef fmiStatus (*fSetContinuousStates)(fmiComponent c, const fmiReal x[], size_t nx); -typedef fmiStatus (*fCompletedIntegratorStep)(fmiComponent c, fmiBoolean* callEventUpdate); -typedef fmiStatus (*fSetReal) (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiReal value[]); -typedef fmiStatus (*fSetInteger)(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger value[]); -typedef fmiStatus (*fSetBoolean)(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiBoolean value[]); -typedef fmiStatus (*fSetString) (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiString value[]); -typedef fmiStatus (*fInitialize)(fmiComponent c, fmiBoolean toleranceControlled, - fmiReal relativeTolerance, fmiEventInfo* eventInfo); -typedef fmiStatus (*fGetDerivatives) (fmiComponent c, fmiReal derivatives[] , size_t nx); -typedef fmiStatus (*fGetEventIndicators)(fmiComponent c, fmiReal eventIndicators[], size_t ni); -typedef fmiStatus (*fGetReal) (fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiReal value[]); -typedef fmiStatus (*fGetInteger)(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiInteger value[]); -typedef fmiStatus (*fGetBoolean)(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiBoolean value[]); -typedef fmiStatus (*fGetString) (fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiString value[]); -typedef fmiStatus (*fEventUpdate) (fmiComponent c, fmiBoolean intermediateResults, fmiEventInfo* eventInfo); -typedef fmiStatus (*fGetContinuousStates) (fmiComponent c, fmiReal states[], size_t nx); -typedef fmiStatus (*fGetNominalContinuousStates)(fmiComponent c, fmiReal x_nominal[], size_t nx); -typedef fmiStatus (*fGetStateValueReferences) (fmiComponent c, fmiValueReference vrx[], size_t nx); -typedef fmiStatus (*fTerminate) (fmiComponent c); - -typedef struct { - ModelDescription* modelDescription; - HANDLE dllHandle; - fGetModelTypesPlatform getModelTypesPlatform; - fGetVersion getVersion; - fInstantiateModel instantiateModel; - fFreeModelInstance freeModelInstance; - fSetDebugLogging setDebugLogging; - fSetTime setTime; - fSetContinuousStates setContinuousStates; - fCompletedIntegratorStep completedIntegratorStep; - fSetReal setReal; - fSetInteger setInteger; - fSetBoolean setBoolean; - fSetString setString; - fInitialize initialize; - fGetDerivatives getDerivatives; - fGetEventIndicators getEventIndicators; - fGetReal getReal; - fGetInteger getInteger; - fGetBoolean getBoolean; - fGetString getString; - fEventUpdate eventUpdate; - fGetContinuousStates getContinuousStates; - fGetNominalContinuousStates getNominalContinuousStates; - fGetStateValueReferences getStateValueReferences; - fTerminate terminate; -/* - fInstantiateSlave instantiateSlave; - fInitializeSlave initializeSlave; - fTerminateSlave terminateSlave; - fResetSlave resetSlave; - fFreeSlaveInstance freeSlaveInstance; - fGetRealOutputDerivatives getRealOutputDerivatives; - fSetRealInputDerivatives setRealInputDerivatives; - fDoStep doStep; - fCancelStep cancelStep; - fGetStatus getStatus; - fGetRealStatus getRealStatus; - fGetIntegerStatus getIntegerStatus; - fGetBooleanStatus getBooleanStatus; - fGetStringStatus getStringStatus; -*/ -} FMU; - -#endif // FMI_ME_H - diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/include/inffixed.h b/org.simantics.modelica/FMUSolution/FMUSimulator/include/inffixed.h deleted file mode 100644 index d6283277..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/include/inffixed.h +++ /dev/null @@ -1,94 +0,0 @@ - /* inffixed.h -- table for decoding fixed codes - * Generated automatically by makefixed(). - */ - - /* WARNING: this file should *not* be used by applications. - It is part of the implementation of this library and is - subject to change. Applications should only use zlib.h. - */ - - static const code lenfix[512] = { - {96,7,0},{0,8,80},{0,8,16},{20,8,115},{18,7,31},{0,8,112},{0,8,48}, - {0,9,192},{16,7,10},{0,8,96},{0,8,32},{0,9,160},{0,8,0},{0,8,128}, - {0,8,64},{0,9,224},{16,7,6},{0,8,88},{0,8,24},{0,9,144},{19,7,59}, - {0,8,120},{0,8,56},{0,9,208},{17,7,17},{0,8,104},{0,8,40},{0,9,176}, - {0,8,8},{0,8,136},{0,8,72},{0,9,240},{16,7,4},{0,8,84},{0,8,20}, - {21,8,227},{19,7,43},{0,8,116},{0,8,52},{0,9,200},{17,7,13},{0,8,100}, - {0,8,36},{0,9,168},{0,8,4},{0,8,132},{0,8,68},{0,9,232},{16,7,8}, - {0,8,92},{0,8,28},{0,9,152},{20,7,83},{0,8,124},{0,8,60},{0,9,216}, - {18,7,23},{0,8,108},{0,8,44},{0,9,184},{0,8,12},{0,8,140},{0,8,76}, - {0,9,248},{16,7,3},{0,8,82},{0,8,18},{21,8,163},{19,7,35},{0,8,114}, - {0,8,50},{0,9,196},{17,7,11},{0,8,98},{0,8,34},{0,9,164},{0,8,2}, - {0,8,130},{0,8,66},{0,9,228},{16,7,7},{0,8,90},{0,8,26},{0,9,148}, - {20,7,67},{0,8,122},{0,8,58},{0,9,212},{18,7,19},{0,8,106},{0,8,42}, - {0,9,180},{0,8,10},{0,8,138},{0,8,74},{0,9,244},{16,7,5},{0,8,86}, - {0,8,22},{64,8,0},{19,7,51},{0,8,118},{0,8,54},{0,9,204},{17,7,15}, - {0,8,102},{0,8,38},{0,9,172},{0,8,6},{0,8,134},{0,8,70},{0,9,236}, - {16,7,9},{0,8,94},{0,8,30},{0,9,156},{20,7,99},{0,8,126},{0,8,62}, - {0,9,220},{18,7,27},{0,8,110},{0,8,46},{0,9,188},{0,8,14},{0,8,142}, - {0,8,78},{0,9,252},{96,7,0},{0,8,81},{0,8,17},{21,8,131},{18,7,31}, - {0,8,113},{0,8,49},{0,9,194},{16,7,10},{0,8,97},{0,8,33},{0,9,162}, - {0,8,1},{0,8,129},{0,8,65},{0,9,226},{16,7,6},{0,8,89},{0,8,25}, - {0,9,146},{19,7,59},{0,8,121},{0,8,57},{0,9,210},{17,7,17},{0,8,105}, - {0,8,41},{0,9,178},{0,8,9},{0,8,137},{0,8,73},{0,9,242},{16,7,4}, - {0,8,85},{0,8,21},{16,8,258},{19,7,43},{0,8,117},{0,8,53},{0,9,202}, - {17,7,13},{0,8,101},{0,8,37},{0,9,170},{0,8,5},{0,8,133},{0,8,69}, - {0,9,234},{16,7,8},{0,8,93},{0,8,29},{0,9,154},{20,7,83},{0,8,125}, - {0,8,61},{0,9,218},{18,7,23},{0,8,109},{0,8,45},{0,9,186},{0,8,13}, - {0,8,141},{0,8,77},{0,9,250},{16,7,3},{0,8,83},{0,8,19},{21,8,195}, - {19,7,35},{0,8,115},{0,8,51},{0,9,198},{17,7,11},{0,8,99},{0,8,35}, - {0,9,166},{0,8,3},{0,8,131},{0,8,67},{0,9,230},{16,7,7},{0,8,91}, - {0,8,27},{0,9,150},{20,7,67},{0,8,123},{0,8,59},{0,9,214},{18,7,19}, - {0,8,107},{0,8,43},{0,9,182},{0,8,11},{0,8,139},{0,8,75},{0,9,246}, - {16,7,5},{0,8,87},{0,8,23},{64,8,0},{19,7,51},{0,8,119},{0,8,55}, - {0,9,206},{17,7,15},{0,8,103},{0,8,39},{0,9,174},{0,8,7},{0,8,135}, - {0,8,71},{0,9,238},{16,7,9},{0,8,95},{0,8,31},{0,9,158},{20,7,99}, - {0,8,127},{0,8,63},{0,9,222},{18,7,27},{0,8,111},{0,8,47},{0,9,190}, - {0,8,15},{0,8,143},{0,8,79},{0,9,254},{96,7,0},{0,8,80},{0,8,16}, - {20,8,115},{18,7,31},{0,8,112},{0,8,48},{0,9,193},{16,7,10},{0,8,96}, - {0,8,32},{0,9,161},{0,8,0},{0,8,128},{0,8,64},{0,9,225},{16,7,6}, - {0,8,88},{0,8,24},{0,9,145},{19,7,59},{0,8,120},{0,8,56},{0,9,209}, - {17,7,17},{0,8,104},{0,8,40},{0,9,177},{0,8,8},{0,8,136},{0,8,72}, - {0,9,241},{16,7,4},{0,8,84},{0,8,20},{21,8,227},{19,7,43},{0,8,116}, - {0,8,52},{0,9,201},{17,7,13},{0,8,100},{0,8,36},{0,9,169},{0,8,4}, - {0,8,132},{0,8,68},{0,9,233},{16,7,8},{0,8,92},{0,8,28},{0,9,153}, - {20,7,83},{0,8,124},{0,8,60},{0,9,217},{18,7,23},{0,8,108},{0,8,44}, - {0,9,185},{0,8,12},{0,8,140},{0,8,76},{0,9,249},{16,7,3},{0,8,82}, - {0,8,18},{21,8,163},{19,7,35},{0,8,114},{0,8,50},{0,9,197},{17,7,11}, - {0,8,98},{0,8,34},{0,9,165},{0,8,2},{0,8,130},{0,8,66},{0,9,229}, - {16,7,7},{0,8,90},{0,8,26},{0,9,149},{20,7,67},{0,8,122},{0,8,58}, - {0,9,213},{18,7,19},{0,8,106},{0,8,42},{0,9,181},{0,8,10},{0,8,138}, - {0,8,74},{0,9,245},{16,7,5},{0,8,86},{0,8,22},{64,8,0},{19,7,51}, - {0,8,118},{0,8,54},{0,9,205},{17,7,15},{0,8,102},{0,8,38},{0,9,173}, - {0,8,6},{0,8,134},{0,8,70},{0,9,237},{16,7,9},{0,8,94},{0,8,30}, - {0,9,157},{20,7,99},{0,8,126},{0,8,62},{0,9,221},{18,7,27},{0,8,110}, - {0,8,46},{0,9,189},{0,8,14},{0,8,142},{0,8,78},{0,9,253},{96,7,0}, - {0,8,81},{0,8,17},{21,8,131},{18,7,31},{0,8,113},{0,8,49},{0,9,195}, - {16,7,10},{0,8,97},{0,8,33},{0,9,163},{0,8,1},{0,8,129},{0,8,65}, - {0,9,227},{16,7,6},{0,8,89},{0,8,25},{0,9,147},{19,7,59},{0,8,121}, - {0,8,57},{0,9,211},{17,7,17},{0,8,105},{0,8,41},{0,9,179},{0,8,9}, - {0,8,137},{0,8,73},{0,9,243},{16,7,4},{0,8,85},{0,8,21},{16,8,258}, - {19,7,43},{0,8,117},{0,8,53},{0,9,203},{17,7,13},{0,8,101},{0,8,37}, - {0,9,171},{0,8,5},{0,8,133},{0,8,69},{0,9,235},{16,7,8},{0,8,93}, - {0,8,29},{0,9,155},{20,7,83},{0,8,125},{0,8,61},{0,9,219},{18,7,23}, - {0,8,109},{0,8,45},{0,9,187},{0,8,13},{0,8,141},{0,8,77},{0,9,251}, - {16,7,3},{0,8,83},{0,8,19},{21,8,195},{19,7,35},{0,8,115},{0,8,51}, - {0,9,199},{17,7,11},{0,8,99},{0,8,35},{0,9,167},{0,8,3},{0,8,131}, - {0,8,67},{0,9,231},{16,7,7},{0,8,91},{0,8,27},{0,9,151},{20,7,67}, - {0,8,123},{0,8,59},{0,9,215},{18,7,19},{0,8,107},{0,8,43},{0,9,183}, - {0,8,11},{0,8,139},{0,8,75},{0,9,247},{16,7,5},{0,8,87},{0,8,23}, - {64,8,0},{19,7,51},{0,8,119},{0,8,55},{0,9,207},{17,7,15},{0,8,103}, - {0,8,39},{0,9,175},{0,8,7},{0,8,135},{0,8,71},{0,9,239},{16,7,9}, - {0,8,95},{0,8,31},{0,9,159},{20,7,99},{0,8,127},{0,8,63},{0,9,223}, - {18,7,27},{0,8,111},{0,8,47},{0,9,191},{0,8,15},{0,8,143},{0,8,79}, - {0,9,255} - }; - - static const code distfix[32] = { - {16,5,1},{23,5,257},{19,5,17},{27,5,4097},{17,5,5},{25,5,1025}, - {21,5,65},{29,5,16385},{16,5,3},{24,5,513},{20,5,33},{28,5,8193}, - {18,5,9},{26,5,2049},{22,5,129},{64,5,0},{16,5,2},{23,5,385}, - {19,5,25},{27,5,6145},{17,5,7},{25,5,1537},{21,5,97},{29,5,24577}, - {16,5,4},{24,5,769},{20,5,49},{28,5,12289},{18,5,13},{26,5,3073}, - {22,5,193},{64,5,0} - }; diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/include/inflate.h b/org.simantics.modelica/FMUSolution/FMUSimulator/include/inflate.h deleted file mode 100644 index 95f4986d..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/include/inflate.h +++ /dev/null @@ -1,122 +0,0 @@ -/* inflate.h -- internal inflate state definition - * Copyright (C) 1995-2009 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* WARNING: this file should *not* be used by applications. It is - part of the implementation of the compression library and is - subject to change. Applications should only use zlib.h. - */ - -/* define NO_GZIP when compiling if you want to disable gzip header and - trailer decoding by inflate(). NO_GZIP would be used to avoid linking in - the crc code when it is not needed. For shared libraries, gzip decoding - should be left enabled. */ -#ifndef NO_GZIP -# define GUNZIP -#endif - -/* Possible inflate modes between inflate() calls */ -typedef enum { - HEAD, /* i: waiting for magic header */ - FLAGS, /* i: waiting for method and flags (gzip) */ - TIME, /* i: waiting for modification time (gzip) */ - OS, /* i: waiting for extra flags and operating system (gzip) */ - EXLEN, /* i: waiting for extra length (gzip) */ - EXTRA, /* i: waiting for extra bytes (gzip) */ - NAME, /* i: waiting for end of file name (gzip) */ - COMMENT, /* i: waiting for end of comment (gzip) */ - HCRC, /* i: waiting for header crc (gzip) */ - DICTID, /* i: waiting for dictionary check value */ - DICT, /* waiting for inflateSetDictionary() call */ - TYPE, /* i: waiting for type bits, including last-flag bit */ - TYPEDO, /* i: same, but skip check to exit inflate on new block */ - STORED, /* i: waiting for stored size (length and complement) */ - COPY_, /* i/o: same as COPY below, but only first time in */ - COPY, /* i/o: waiting for input or output to copy stored block */ - TABLE, /* i: waiting for dynamic block table lengths */ - LENLENS, /* i: waiting for code length code lengths */ - CODELENS, /* i: waiting for length/lit and distance code lengths */ - LEN_, /* i: same as LEN below, but only first time in */ - LEN, /* i: waiting for length/lit/eob code */ - LENEXT, /* i: waiting for length extra bits */ - DIST, /* i: waiting for distance code */ - DISTEXT, /* i: waiting for distance extra bits */ - MATCH, /* o: waiting for output space to copy string */ - LIT, /* o: waiting for output space to write literal */ - CHECK, /* i: waiting for 32-bit check value */ - LENGTH, /* i: waiting for 32-bit length (gzip) */ - DONE, /* finished check, done -- remain here until reset */ - BAD, /* got a data error -- remain here until reset */ - MEM, /* got an inflate() memory error -- remain here until reset */ - SYNC /* looking for synchronization bytes to restart inflate() */ -} inflate_mode; - -/* - State transitions between above modes - - - (most modes can go to BAD or MEM on error -- not shown for clarity) - - Process header: - HEAD -> (gzip) or (zlib) or (raw) - (gzip) -> FLAGS -> TIME -> OS -> EXLEN -> EXTRA -> NAME -> COMMENT -> - HCRC -> TYPE - (zlib) -> DICTID or TYPE - DICTID -> DICT -> TYPE - (raw) -> TYPEDO - Read deflate blocks: - TYPE -> TYPEDO -> STORED or TABLE or LEN_ or CHECK - STORED -> COPY_ -> COPY -> TYPE - TABLE -> LENLENS -> CODELENS -> LEN_ - LEN_ -> LEN - Read deflate codes in fixed or dynamic block: - LEN -> LENEXT or LIT or TYPE - LENEXT -> DIST -> DISTEXT -> MATCH -> LEN - LIT -> LEN - Process trailer: - CHECK -> LENGTH -> DONE - */ - -/* state maintained between inflate() calls. Approximately 10K bytes. */ -struct inflate_state { - inflate_mode mode; /* current inflate mode */ - int last; /* true if processing last block */ - int wrap; /* bit 0 true for zlib, bit 1 true for gzip */ - int havedict; /* true if dictionary provided */ - int flags; /* gzip header method and flags (0 if zlib) */ - unsigned dmax; /* zlib header max distance (INFLATE_STRICT) */ - unsigned long check; /* protected copy of check value */ - unsigned long total; /* protected copy of output count */ - gz_headerp head; /* where to save gzip header information */ - /* sliding window */ - unsigned wbits; /* log base 2 of requested window size */ - unsigned wsize; /* window size or zero if not using window */ - unsigned whave; /* valid bytes in the window */ - unsigned wnext; /* window write index */ - unsigned char FAR *window; /* allocated sliding window, if needed */ - /* bit accumulator */ - unsigned long hold; /* input bit accumulator */ - unsigned bits; /* number of bits in "in" */ - /* for string and stored block copying */ - unsigned length; /* literal or length of data to copy */ - unsigned offset; /* distance back to copy string from */ - /* for table and code decoding */ - unsigned extra; /* extra bits needed */ - /* fixed and dynamic code tables */ - code const FAR *lencode; /* starting table for length/literal codes */ - code const FAR *distcode; /* starting table for distance codes */ - unsigned lenbits; /* index bits for lencode */ - unsigned distbits; /* index bits for distcode */ - /* dynamic table building */ - unsigned ncode; /* number of code length code lengths */ - unsigned nlen; /* number of length code lengths */ - unsigned ndist; /* number of distance code lengths */ - unsigned have; /* number of code lengths in lens[] */ - code FAR *next; /* next available space in codes[] */ - unsigned short lens[320]; /* temporary storage for code lengths */ - unsigned short work[288]; /* work area for code table building */ - code codes[ENOUGH]; /* space for code tables */ - int sane; /* if false, allow invalid distance too far */ - int back; /* bits back of last unprocessed length/lit */ - unsigned was; /* initial length of match */ -}; diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/include/inftrees.h b/org.simantics.modelica/FMUSolution/FMUSimulator/include/inftrees.h deleted file mode 100644 index baa53a0b..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/include/inftrees.h +++ /dev/null @@ -1,62 +0,0 @@ -/* inftrees.h -- header to use inftrees.c - * Copyright (C) 1995-2005, 2010 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* WARNING: this file should *not* be used by applications. It is - part of the implementation of the compression library and is - subject to change. Applications should only use zlib.h. - */ - -/* Structure for decoding tables. Each entry provides either the - information needed to do the operation requested by the code that - indexed that table entry, or it provides a pointer to another - table that indexes more bits of the code. op indicates whether - the entry is a pointer to another table, a literal, a length or - distance, an end-of-block, or an invalid code. For a table - pointer, the low four bits of op is the number of index bits of - that table. For a length or distance, the low four bits of op - is the number of extra bits to get after the code. bits is - the number of bits in this code or part of the code to drop off - of the bit buffer. val is the actual byte to output in the case - of a literal, the base length or distance, or the offset from - the current table to the next table. Each entry is four bytes. */ -typedef struct { - unsigned char op; /* operation, extra bits, table bits */ - unsigned char bits; /* bits in this part of the code */ - unsigned short val; /* offset in table or code value */ -} code; - -/* op values as set by inflate_table(): - 00000000 - literal - 0000tttt - table link, tttt != 0 is the number of table index bits - 0001eeee - length or distance, eeee is the number of extra bits - 01100000 - end of block - 01000000 - invalid code - */ - -/* Maximum size of the dynamic table. The maximum number of code structures is - 1444, which is the sum of 852 for literal/length codes and 592 for distance - codes. These values were found by exhaustive searches using the program - examples/enough.c found in the zlib distribtution. The arguments to that - program are the number of symbols, the initial root table size, and the - maximum bit length of a code. "enough 286 9 15" for literal/length codes - returns returns 852, and "enough 30 6 15" for distance codes returns 592. - The initial root table size (9 or 6) is found in the fifth argument of the - inflate_table() calls in inflate.c and infback.c. If the root table size is - changed, then these maximum sizes would be need to be recalculated and - updated. */ -#define ENOUGH_LENS 852 -#define ENOUGH_DISTS 592 -#define ENOUGH (ENOUGH_LENS+ENOUGH_DISTS) - -/* Type of code to build for inflate_table() */ -typedef enum { - CODES, - LENS, - DISTS -} codetype; - -int ZLIB_INTERNAL inflate_table OF((codetype type, unsigned short FAR *lens, - unsigned codes, code FAR * FAR *table, - unsigned FAR *bits, unsigned short FAR *work)); diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/include/jni.h b/org.simantics.modelica/FMUSolution/FMUSimulator/include/jni.h deleted file mode 100644 index 8ed7366a..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/include/jni.h +++ /dev/null @@ -1,1944 +0,0 @@ -/* - * %W% %E% - * - * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. - * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. - */ - -/* - * We used part of Netscape's Java Runtime Interface (JRI) as the starting - * point of our design and implementation. - */ - -/****************************************************************************** - * Java Runtime Interface - * Copyright (c) 1996 Netscape Communications Corporation. All rights reserved. - *****************************************************************************/ - -#ifndef _JAVASOFT_JNI_H_ -#define _JAVASOFT_JNI_H_ - -#include -#include - -/* jni_md.h contains the machine-dependent typedefs for jbyte, jint - and jlong */ - -#include "jni_md.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * JNI Types - */ - -#ifndef JNI_TYPES_ALREADY_DEFINED_IN_JNI_MD_H - -typedef unsigned char jboolean; -typedef unsigned short jchar; -typedef short jshort; -typedef float jfloat; -typedef double jdouble; - -typedef jint jsize; - -#ifdef __cplusplus - -class _jobject {}; -class _jclass : public _jobject {}; -class _jthrowable : public _jobject {}; -class _jstring : public _jobject {}; -class _jarray : public _jobject {}; -class _jbooleanArray : public _jarray {}; -class _jbyteArray : public _jarray {}; -class _jcharArray : public _jarray {}; -class _jshortArray : public _jarray {}; -class _jintArray : public _jarray {}; -class _jlongArray : public _jarray {}; -class _jfloatArray : public _jarray {}; -class _jdoubleArray : public _jarray {}; -class _jobjectArray : public _jarray {}; - -typedef _jobject *jobject; -typedef _jclass *jclass; -typedef _jthrowable *jthrowable; -typedef _jstring *jstring; -typedef _jarray *jarray; -typedef _jbooleanArray *jbooleanArray; -typedef _jbyteArray *jbyteArray; -typedef _jcharArray *jcharArray; -typedef _jshortArray *jshortArray; -typedef _jintArray *jintArray; -typedef _jlongArray *jlongArray; -typedef _jfloatArray *jfloatArray; -typedef _jdoubleArray *jdoubleArray; -typedef _jobjectArray *jobjectArray; - -#else - -struct _jobject; - -typedef struct _jobject *jobject; -typedef jobject jclass; -typedef jobject jthrowable; -typedef jobject jstring; -typedef jobject jarray; -typedef jarray jbooleanArray; -typedef jarray jbyteArray; -typedef jarray jcharArray; -typedef jarray jshortArray; -typedef jarray jintArray; -typedef jarray jlongArray; -typedef jarray jfloatArray; -typedef jarray jdoubleArray; -typedef jarray jobjectArray; - -#endif - -typedef jobject jweak; - -typedef union jvalue { - jboolean z; - jbyte b; - jchar c; - jshort s; - jint i; - jlong j; - jfloat f; - jdouble d; - jobject l; -} jvalue; - -struct _jfieldID; -typedef struct _jfieldID *jfieldID; - -struct _jmethodID; -typedef struct _jmethodID *jmethodID; - -/* Return values from jobjectRefType */ -typedef enum _jobjectType { - JNIInvalidRefType = 0, - JNILocalRefType = 1, - JNIGlobalRefType = 2, - JNIWeakGlobalRefType = 3 -} jobjectRefType; - - -#endif /* JNI_TYPES_ALREADY_DEFINED_IN_JNI_MD_H */ - -/* - * jboolean constants - */ - -#define JNI_FALSE 0 -#define JNI_TRUE 1 - -/* - * possible return values for JNI functions. - */ - -#define JNI_OK 0 /* success */ -#define JNI_ERR (-1) /* unknown error */ -#define JNI_EDETACHED (-2) /* thread detached from the VM */ -#define JNI_EVERSION (-3) /* JNI version error */ -#define JNI_ENOMEM (-4) /* not enough memory */ -#define JNI_EEXIST (-5) /* VM already created */ -#define JNI_EINVAL (-6) /* invalid arguments */ - -/* - * used in ReleaseScalarArrayElements - */ - -#define JNI_COMMIT 1 -#define JNI_ABORT 2 - -/* - * used in RegisterNatives to describe native method name, signature, - * and function pointer. - */ - -typedef struct { - char *name; - char *signature; - void *fnPtr; -} JNINativeMethod; - -/* - * JNI Native Method Interface. - */ - -struct JNINativeInterface_; - -struct JNIEnv_; - -#ifdef __cplusplus -typedef JNIEnv_ JNIEnv; -#else -typedef const struct JNINativeInterface_ *JNIEnv; -#endif - -/* - * JNI Invocation Interface. - */ - -struct JNIInvokeInterface_; - -struct JavaVM_; - -#ifdef __cplusplus -typedef JavaVM_ JavaVM; -#else -typedef const struct JNIInvokeInterface_ *JavaVM; -#endif - -struct JNINativeInterface_ { - void *reserved0; - void *reserved1; - void *reserved2; - - void *reserved3; - jint (JNICALL *GetVersion)(JNIEnv *env); - - jclass (JNICALL *DefineClass) - (JNIEnv *env, const char *name, jobject loader, const jbyte *buf, - jsize len); - jclass (JNICALL *FindClass) - (JNIEnv *env, const char *name); - - jmethodID (JNICALL *FromReflectedMethod) - (JNIEnv *env, jobject method); - jfieldID (JNICALL *FromReflectedField) - (JNIEnv *env, jobject field); - - jobject (JNICALL *ToReflectedMethod) - (JNIEnv *env, jclass cls, jmethodID methodID, jboolean isStatic); - - jclass (JNICALL *GetSuperclass) - (JNIEnv *env, jclass sub); - jboolean (JNICALL *IsAssignableFrom) - (JNIEnv *env, jclass sub, jclass sup); - - jobject (JNICALL *ToReflectedField) - (JNIEnv *env, jclass cls, jfieldID fieldID, jboolean isStatic); - - jint (JNICALL *Throw) - (JNIEnv *env, jthrowable obj); - jint (JNICALL *ThrowNew) - (JNIEnv *env, jclass clazz, const char *msg); - jthrowable (JNICALL *ExceptionOccurred) - (JNIEnv *env); - void (JNICALL *ExceptionDescribe) - (JNIEnv *env); - void (JNICALL *ExceptionClear) - (JNIEnv *env); - void (JNICALL *FatalError) - (JNIEnv *env, const char *msg); - - jint (JNICALL *PushLocalFrame) - (JNIEnv *env, jint capacity); - jobject (JNICALL *PopLocalFrame) - (JNIEnv *env, jobject result); - - jobject (JNICALL *NewGlobalRef) - (JNIEnv *env, jobject lobj); - void (JNICALL *DeleteGlobalRef) - (JNIEnv *env, jobject gref); - void (JNICALL *DeleteLocalRef) - (JNIEnv *env, jobject obj); - jboolean (JNICALL *IsSameObject) - (JNIEnv *env, jobject obj1, jobject obj2); - jobject (JNICALL *NewLocalRef) - (JNIEnv *env, jobject ref); - jint (JNICALL *EnsureLocalCapacity) - (JNIEnv *env, jint capacity); - - jobject (JNICALL *AllocObject) - (JNIEnv *env, jclass clazz); - jobject (JNICALL *NewObject) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jobject (JNICALL *NewObjectV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jobject (JNICALL *NewObjectA) - (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); - - jclass (JNICALL *GetObjectClass) - (JNIEnv *env, jobject obj); - jboolean (JNICALL *IsInstanceOf) - (JNIEnv *env, jobject obj, jclass clazz); - - jmethodID (JNICALL *GetMethodID) - (JNIEnv *env, jclass clazz, const char *name, const char *sig); - - jobject (JNICALL *CallObjectMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jobject (JNICALL *CallObjectMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jobject (JNICALL *CallObjectMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue * args); - - jboolean (JNICALL *CallBooleanMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jboolean (JNICALL *CallBooleanMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jboolean (JNICALL *CallBooleanMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue * args); - - jbyte (JNICALL *CallByteMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jbyte (JNICALL *CallByteMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jbyte (JNICALL *CallByteMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args); - - jchar (JNICALL *CallCharMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jchar (JNICALL *CallCharMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jchar (JNICALL *CallCharMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args); - - jshort (JNICALL *CallShortMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jshort (JNICALL *CallShortMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jshort (JNICALL *CallShortMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args); - - jint (JNICALL *CallIntMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jint (JNICALL *CallIntMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jint (JNICALL *CallIntMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args); - - jlong (JNICALL *CallLongMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jlong (JNICALL *CallLongMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jlong (JNICALL *CallLongMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args); - - jfloat (JNICALL *CallFloatMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jfloat (JNICALL *CallFloatMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jfloat (JNICALL *CallFloatMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args); - - jdouble (JNICALL *CallDoubleMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - jdouble (JNICALL *CallDoubleMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - jdouble (JNICALL *CallDoubleMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args); - - void (JNICALL *CallVoidMethod) - (JNIEnv *env, jobject obj, jmethodID methodID, ...); - void (JNICALL *CallVoidMethodV) - (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - void (JNICALL *CallVoidMethodA) - (JNIEnv *env, jobject obj, jmethodID methodID, const jvalue * args); - - jobject (JNICALL *CallNonvirtualObjectMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jobject (JNICALL *CallNonvirtualObjectMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jobject (JNICALL *CallNonvirtualObjectMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - const jvalue * args); - - jboolean (JNICALL *CallNonvirtualBooleanMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jboolean (JNICALL *CallNonvirtualBooleanMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jboolean (JNICALL *CallNonvirtualBooleanMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - const jvalue * args); - - jbyte (JNICALL *CallNonvirtualByteMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jbyte (JNICALL *CallNonvirtualByteMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jbyte (JNICALL *CallNonvirtualByteMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - const jvalue *args); - - jchar (JNICALL *CallNonvirtualCharMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jchar (JNICALL *CallNonvirtualCharMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jchar (JNICALL *CallNonvirtualCharMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - const jvalue *args); - - jshort (JNICALL *CallNonvirtualShortMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jshort (JNICALL *CallNonvirtualShortMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jshort (JNICALL *CallNonvirtualShortMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - const jvalue *args); - - jint (JNICALL *CallNonvirtualIntMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jint (JNICALL *CallNonvirtualIntMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jint (JNICALL *CallNonvirtualIntMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - const jvalue *args); - - jlong (JNICALL *CallNonvirtualLongMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jlong (JNICALL *CallNonvirtualLongMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jlong (JNICALL *CallNonvirtualLongMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - const jvalue *args); - - jfloat (JNICALL *CallNonvirtualFloatMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jfloat (JNICALL *CallNonvirtualFloatMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jfloat (JNICALL *CallNonvirtualFloatMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - const jvalue *args); - - jdouble (JNICALL *CallNonvirtualDoubleMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - jdouble (JNICALL *CallNonvirtualDoubleMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - jdouble (JNICALL *CallNonvirtualDoubleMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - const jvalue *args); - - void (JNICALL *CallNonvirtualVoidMethod) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - void (JNICALL *CallNonvirtualVoidMethodV) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - va_list args); - void (JNICALL *CallNonvirtualVoidMethodA) - (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, - const jvalue * args); - - jfieldID (JNICALL *GetFieldID) - (JNIEnv *env, jclass clazz, const char *name, const char *sig); - - jobject (JNICALL *GetObjectField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jboolean (JNICALL *GetBooleanField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jbyte (JNICALL *GetByteField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jchar (JNICALL *GetCharField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jshort (JNICALL *GetShortField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jint (JNICALL *GetIntField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jlong (JNICALL *GetLongField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jfloat (JNICALL *GetFloatField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - jdouble (JNICALL *GetDoubleField) - (JNIEnv *env, jobject obj, jfieldID fieldID); - - void (JNICALL *SetObjectField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jobject val); - void (JNICALL *SetBooleanField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jboolean val); - void (JNICALL *SetByteField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jbyte val); - void (JNICALL *SetCharField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jchar val); - void (JNICALL *SetShortField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jshort val); - void (JNICALL *SetIntField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jint val); - void (JNICALL *SetLongField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jlong val); - void (JNICALL *SetFloatField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jfloat val); - void (JNICALL *SetDoubleField) - (JNIEnv *env, jobject obj, jfieldID fieldID, jdouble val); - - jmethodID (JNICALL *GetStaticMethodID) - (JNIEnv *env, jclass clazz, const char *name, const char *sig); - - jobject (JNICALL *CallStaticObjectMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jobject (JNICALL *CallStaticObjectMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jobject (JNICALL *CallStaticObjectMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); - - jboolean (JNICALL *CallStaticBooleanMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jboolean (JNICALL *CallStaticBooleanMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jboolean (JNICALL *CallStaticBooleanMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); - - jbyte (JNICALL *CallStaticByteMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jbyte (JNICALL *CallStaticByteMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jbyte (JNICALL *CallStaticByteMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); - - jchar (JNICALL *CallStaticCharMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jchar (JNICALL *CallStaticCharMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jchar (JNICALL *CallStaticCharMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); - - jshort (JNICALL *CallStaticShortMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jshort (JNICALL *CallStaticShortMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jshort (JNICALL *CallStaticShortMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); - - jint (JNICALL *CallStaticIntMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jint (JNICALL *CallStaticIntMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jint (JNICALL *CallStaticIntMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); - - jlong (JNICALL *CallStaticLongMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jlong (JNICALL *CallStaticLongMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jlong (JNICALL *CallStaticLongMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); - - jfloat (JNICALL *CallStaticFloatMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jfloat (JNICALL *CallStaticFloatMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jfloat (JNICALL *CallStaticFloatMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); - - jdouble (JNICALL *CallStaticDoubleMethod) - (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - jdouble (JNICALL *CallStaticDoubleMethodV) - (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - jdouble (JNICALL *CallStaticDoubleMethodA) - (JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args); - - void (JNICALL *CallStaticVoidMethod) - (JNIEnv *env, jclass cls, jmethodID methodID, ...); - void (JNICALL *CallStaticVoidMethodV) - (JNIEnv *env, jclass cls, jmethodID methodID, va_list args); - void (JNICALL *CallStaticVoidMethodA) - (JNIEnv *env, jclass cls, jmethodID methodID, const jvalue * args); - - jfieldID (JNICALL *GetStaticFieldID) - (JNIEnv *env, jclass clazz, const char *name, const char *sig); - jobject (JNICALL *GetStaticObjectField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jboolean (JNICALL *GetStaticBooleanField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jbyte (JNICALL *GetStaticByteField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jchar (JNICALL *GetStaticCharField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jshort (JNICALL *GetStaticShortField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jint (JNICALL *GetStaticIntField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jlong (JNICALL *GetStaticLongField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jfloat (JNICALL *GetStaticFloatField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - jdouble (JNICALL *GetStaticDoubleField) - (JNIEnv *env, jclass clazz, jfieldID fieldID); - - void (JNICALL *SetStaticObjectField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jobject value); - void (JNICALL *SetStaticBooleanField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jboolean value); - void (JNICALL *SetStaticByteField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jbyte value); - void (JNICALL *SetStaticCharField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jchar value); - void (JNICALL *SetStaticShortField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jshort value); - void (JNICALL *SetStaticIntField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jint value); - void (JNICALL *SetStaticLongField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jlong value); - void (JNICALL *SetStaticFloatField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jfloat value); - void (JNICALL *SetStaticDoubleField) - (JNIEnv *env, jclass clazz, jfieldID fieldID, jdouble value); - - jstring (JNICALL *NewString) - (JNIEnv *env, const jchar *unicode, jsize len); - jsize (JNICALL *GetStringLength) - (JNIEnv *env, jstring str); - const jchar *(JNICALL *GetStringChars) - (JNIEnv *env, jstring str, jboolean *isCopy); - void (JNICALL *ReleaseStringChars) - (JNIEnv *env, jstring str, const jchar *chars); - - jstring (JNICALL *NewStringUTF) - (JNIEnv *env, const char *utf); - jsize (JNICALL *GetStringUTFLength) - (JNIEnv *env, jstring str); - const char* (JNICALL *GetStringUTFChars) - (JNIEnv *env, jstring str, jboolean *isCopy); - void (JNICALL *ReleaseStringUTFChars) - (JNIEnv *env, jstring str, const char* chars); - - - jsize (JNICALL *GetArrayLength) - (JNIEnv *env, jarray array); - - jobjectArray (JNICALL *NewObjectArray) - (JNIEnv *env, jsize len, jclass clazz, jobject init); - jobject (JNICALL *GetObjectArrayElement) - (JNIEnv *env, jobjectArray array, jsize index); - void (JNICALL *SetObjectArrayElement) - (JNIEnv *env, jobjectArray array, jsize index, jobject val); - - jbooleanArray (JNICALL *NewBooleanArray) - (JNIEnv *env, jsize len); - jbyteArray (JNICALL *NewByteArray) - (JNIEnv *env, jsize len); - jcharArray (JNICALL *NewCharArray) - (JNIEnv *env, jsize len); - jshortArray (JNICALL *NewShortArray) - (JNIEnv *env, jsize len); - jintArray (JNICALL *NewIntArray) - (JNIEnv *env, jsize len); - jlongArray (JNICALL *NewLongArray) - (JNIEnv *env, jsize len); - jfloatArray (JNICALL *NewFloatArray) - (JNIEnv *env, jsize len); - jdoubleArray (JNICALL *NewDoubleArray) - (JNIEnv *env, jsize len); - - jboolean * (JNICALL *GetBooleanArrayElements) - (JNIEnv *env, jbooleanArray array, jboolean *isCopy); - jbyte * (JNICALL *GetByteArrayElements) - (JNIEnv *env, jbyteArray array, jboolean *isCopy); - jchar * (JNICALL *GetCharArrayElements) - (JNIEnv *env, jcharArray array, jboolean *isCopy); - jshort * (JNICALL *GetShortArrayElements) - (JNIEnv *env, jshortArray array, jboolean *isCopy); - jint * (JNICALL *GetIntArrayElements) - (JNIEnv *env, jintArray array, jboolean *isCopy); - jlong * (JNICALL *GetLongArrayElements) - (JNIEnv *env, jlongArray array, jboolean *isCopy); - jfloat * (JNICALL *GetFloatArrayElements) - (JNIEnv *env, jfloatArray array, jboolean *isCopy); - jdouble * (JNICALL *GetDoubleArrayElements) - (JNIEnv *env, jdoubleArray array, jboolean *isCopy); - - void (JNICALL *ReleaseBooleanArrayElements) - (JNIEnv *env, jbooleanArray array, jboolean *elems, jint mode); - void (JNICALL *ReleaseByteArrayElements) - (JNIEnv *env, jbyteArray array, jbyte *elems, jint mode); - void (JNICALL *ReleaseCharArrayElements) - (JNIEnv *env, jcharArray array, jchar *elems, jint mode); - void (JNICALL *ReleaseShortArrayElements) - (JNIEnv *env, jshortArray array, jshort *elems, jint mode); - void (JNICALL *ReleaseIntArrayElements) - (JNIEnv *env, jintArray array, jint *elems, jint mode); - void (JNICALL *ReleaseLongArrayElements) - (JNIEnv *env, jlongArray array, jlong *elems, jint mode); - void (JNICALL *ReleaseFloatArrayElements) - (JNIEnv *env, jfloatArray array, jfloat *elems, jint mode); - void (JNICALL *ReleaseDoubleArrayElements) - (JNIEnv *env, jdoubleArray array, jdouble *elems, jint mode); - - void (JNICALL *GetBooleanArrayRegion) - (JNIEnv *env, jbooleanArray array, jsize start, jsize l, jboolean *buf); - void (JNICALL *GetByteArrayRegion) - (JNIEnv *env, jbyteArray array, jsize start, jsize len, jbyte *buf); - void (JNICALL *GetCharArrayRegion) - (JNIEnv *env, jcharArray array, jsize start, jsize len, jchar *buf); - void (JNICALL *GetShortArrayRegion) - (JNIEnv *env, jshortArray array, jsize start, jsize len, jshort *buf); - void (JNICALL *GetIntArrayRegion) - (JNIEnv *env, jintArray array, jsize start, jsize len, jint *buf); - void (JNICALL *GetLongArrayRegion) - (JNIEnv *env, jlongArray array, jsize start, jsize len, jlong *buf); - void (JNICALL *GetFloatArrayRegion) - (JNIEnv *env, jfloatArray array, jsize start, jsize len, jfloat *buf); - void (JNICALL *GetDoubleArrayRegion) - (JNIEnv *env, jdoubleArray array, jsize start, jsize len, jdouble *buf); - - void (JNICALL *SetBooleanArrayRegion) - (JNIEnv *env, jbooleanArray array, jsize start, jsize l, const jboolean *buf); - void (JNICALL *SetByteArrayRegion) - (JNIEnv *env, jbyteArray array, jsize start, jsize len, const jbyte *buf); - void (JNICALL *SetCharArrayRegion) - (JNIEnv *env, jcharArray array, jsize start, jsize len, const jchar *buf); - void (JNICALL *SetShortArrayRegion) - (JNIEnv *env, jshortArray array, jsize start, jsize len, const jshort *buf); - void (JNICALL *SetIntArrayRegion) - (JNIEnv *env, jintArray array, jsize start, jsize len, const jint *buf); - void (JNICALL *SetLongArrayRegion) - (JNIEnv *env, jlongArray array, jsize start, jsize len, const jlong *buf); - void (JNICALL *SetFloatArrayRegion) - (JNIEnv *env, jfloatArray array, jsize start, jsize len, const jfloat *buf); - void (JNICALL *SetDoubleArrayRegion) - (JNIEnv *env, jdoubleArray array, jsize start, jsize len, const jdouble *buf); - - jint (JNICALL *RegisterNatives) - (JNIEnv *env, jclass clazz, const JNINativeMethod *methods, - jint nMethods); - jint (JNICALL *UnregisterNatives) - (JNIEnv *env, jclass clazz); - - jint (JNICALL *MonitorEnter) - (JNIEnv *env, jobject obj); - jint (JNICALL *MonitorExit) - (JNIEnv *env, jobject obj); - - jint (JNICALL *GetJavaVM) - (JNIEnv *env, JavaVM **vm); - - void (JNICALL *GetStringRegion) - (JNIEnv *env, jstring str, jsize start, jsize len, jchar *buf); - void (JNICALL *GetStringUTFRegion) - (JNIEnv *env, jstring str, jsize start, jsize len, char *buf); - - void * (JNICALL *GetPrimitiveArrayCritical) - (JNIEnv *env, jarray array, jboolean *isCopy); - void (JNICALL *ReleasePrimitiveArrayCritical) - (JNIEnv *env, jarray array, void *carray, jint mode); - - const jchar * (JNICALL *GetStringCritical) - (JNIEnv *env, jstring string, jboolean *isCopy); - void (JNICALL *ReleaseStringCritical) - (JNIEnv *env, jstring string, const jchar *cstring); - - jweak (JNICALL *NewWeakGlobalRef) - (JNIEnv *env, jobject obj); - void (JNICALL *DeleteWeakGlobalRef) - (JNIEnv *env, jweak ref); - - jboolean (JNICALL *ExceptionCheck) - (JNIEnv *env); - - jobject (JNICALL *NewDirectByteBuffer) - (JNIEnv* env, void* address, jlong capacity); - void* (JNICALL *GetDirectBufferAddress) - (JNIEnv* env, jobject buf); - jlong (JNICALL *GetDirectBufferCapacity) - (JNIEnv* env, jobject buf); - - /* New JNI 1.6 Features */ - - jobjectRefType (JNICALL *GetObjectRefType) - (JNIEnv* env, jobject obj); -}; - -/* - * We use inlined functions for C++ so that programmers can write: - * - * env->FindClass("java/lang/String") - * - * in C++ rather than: - * - * (*env)->FindClass(env, "java/lang/String") - * - * in C. - */ - -struct JNIEnv_ { - const struct JNINativeInterface_ *functions; -#ifdef __cplusplus - - jint GetVersion() { - return functions->GetVersion(this); - } - jclass DefineClass(const char *name, jobject loader, const jbyte *buf, - jsize len) { - return functions->DefineClass(this, name, loader, buf, len); - } - jclass FindClass(const char *name) { - return functions->FindClass(this, name); - } - jmethodID FromReflectedMethod(jobject method) { - return functions->FromReflectedMethod(this,method); - } - jfieldID FromReflectedField(jobject field) { - return functions->FromReflectedField(this,field); - } - - jobject ToReflectedMethod(jclass cls, jmethodID methodID, jboolean isStatic) { - return functions->ToReflectedMethod(this, cls, methodID, isStatic); - } - - jclass GetSuperclass(jclass sub) { - return functions->GetSuperclass(this, sub); - } - jboolean IsAssignableFrom(jclass sub, jclass sup) { - return functions->IsAssignableFrom(this, sub, sup); - } - - jobject ToReflectedField(jclass cls, jfieldID fieldID, jboolean isStatic) { - return functions->ToReflectedField(this,cls,fieldID,isStatic); - } - - jint Throw(jthrowable obj) { - return functions->Throw(this, obj); - } - jint ThrowNew(jclass clazz, const char *msg) { - return functions->ThrowNew(this, clazz, msg); - } - jthrowable ExceptionOccurred() { - return functions->ExceptionOccurred(this); - } - void ExceptionDescribe() { - functions->ExceptionDescribe(this); - } - void ExceptionClear() { - functions->ExceptionClear(this); - } - void FatalError(const char *msg) { - functions->FatalError(this, msg); - } - - jint PushLocalFrame(jint capacity) { - return functions->PushLocalFrame(this,capacity); - } - jobject PopLocalFrame(jobject result) { - return functions->PopLocalFrame(this,result); - } - - jobject NewGlobalRef(jobject lobj) { - return functions->NewGlobalRef(this,lobj); - } - void DeleteGlobalRef(jobject gref) { - functions->DeleteGlobalRef(this,gref); - } - void DeleteLocalRef(jobject obj) { - functions->DeleteLocalRef(this, obj); - } - - jboolean IsSameObject(jobject obj1, jobject obj2) { - return functions->IsSameObject(this,obj1,obj2); - } - - jobject NewLocalRef(jobject ref) { - return functions->NewLocalRef(this,ref); - } - jint EnsureLocalCapacity(jint capacity) { - return functions->EnsureLocalCapacity(this,capacity); - } - - jobject AllocObject(jclass clazz) { - return functions->AllocObject(this,clazz); - } - jobject NewObject(jclass clazz, jmethodID methodID, ...) { - va_list args; - jobject result; - va_start(args, methodID); - result = functions->NewObjectV(this,clazz,methodID,args); - va_end(args); - return result; - } - jobject NewObjectV(jclass clazz, jmethodID methodID, - va_list args) { - return functions->NewObjectV(this,clazz,methodID,args); - } - jobject NewObjectA(jclass clazz, jmethodID methodID, - const jvalue *args) { - return functions->NewObjectA(this,clazz,methodID,args); - } - - jclass GetObjectClass(jobject obj) { - return functions->GetObjectClass(this,obj); - } - jboolean IsInstanceOf(jobject obj, jclass clazz) { - return functions->IsInstanceOf(this,obj,clazz); - } - - jmethodID GetMethodID(jclass clazz, const char *name, - const char *sig) { - return functions->GetMethodID(this,clazz,name,sig); - } - - jobject CallObjectMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jobject result; - va_start(args,methodID); - result = functions->CallObjectMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jobject CallObjectMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallObjectMethodV(this,obj,methodID,args); - } - jobject CallObjectMethodA(jobject obj, jmethodID methodID, - const jvalue * args) { - return functions->CallObjectMethodA(this,obj,methodID,args); - } - - jboolean CallBooleanMethod(jobject obj, - jmethodID methodID, ...) { - va_list args; - jboolean result; - va_start(args,methodID); - result = functions->CallBooleanMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jboolean CallBooleanMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallBooleanMethodV(this,obj,methodID,args); - } - jboolean CallBooleanMethodA(jobject obj, jmethodID methodID, - const jvalue * args) { - return functions->CallBooleanMethodA(this,obj,methodID, args); - } - - jbyte CallByteMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jbyte result; - va_start(args,methodID); - result = functions->CallByteMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jbyte CallByteMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallByteMethodV(this,obj,methodID,args); - } - jbyte CallByteMethodA(jobject obj, jmethodID methodID, - const jvalue * args) { - return functions->CallByteMethodA(this,obj,methodID,args); - } - - jchar CallCharMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jchar result; - va_start(args,methodID); - result = functions->CallCharMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jchar CallCharMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallCharMethodV(this,obj,methodID,args); - } - jchar CallCharMethodA(jobject obj, jmethodID methodID, - const jvalue * args) { - return functions->CallCharMethodA(this,obj,methodID,args); - } - - jshort CallShortMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jshort result; - va_start(args,methodID); - result = functions->CallShortMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jshort CallShortMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallShortMethodV(this,obj,methodID,args); - } - jshort CallShortMethodA(jobject obj, jmethodID methodID, - const jvalue * args) { - return functions->CallShortMethodA(this,obj,methodID,args); - } - - jint CallIntMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jint result; - va_start(args,methodID); - result = functions->CallIntMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jint CallIntMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallIntMethodV(this,obj,methodID,args); - } - jint CallIntMethodA(jobject obj, jmethodID methodID, - const jvalue * args) { - return functions->CallIntMethodA(this,obj,methodID,args); - } - - jlong CallLongMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jlong result; - va_start(args,methodID); - result = functions->CallLongMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jlong CallLongMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallLongMethodV(this,obj,methodID,args); - } - jlong CallLongMethodA(jobject obj, jmethodID methodID, - const jvalue * args) { - return functions->CallLongMethodA(this,obj,methodID,args); - } - - jfloat CallFloatMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jfloat result; - va_start(args,methodID); - result = functions->CallFloatMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jfloat CallFloatMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallFloatMethodV(this,obj,methodID,args); - } - jfloat CallFloatMethodA(jobject obj, jmethodID methodID, - const jvalue * args) { - return functions->CallFloatMethodA(this,obj,methodID,args); - } - - jdouble CallDoubleMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - jdouble result; - va_start(args,methodID); - result = functions->CallDoubleMethodV(this,obj,methodID,args); - va_end(args); - return result; - } - jdouble CallDoubleMethodV(jobject obj, jmethodID methodID, - va_list args) { - return functions->CallDoubleMethodV(this,obj,methodID,args); - } - jdouble CallDoubleMethodA(jobject obj, jmethodID methodID, - const jvalue * args) { - return functions->CallDoubleMethodA(this,obj,methodID,args); - } - - void CallVoidMethod(jobject obj, jmethodID methodID, ...) { - va_list args; - va_start(args,methodID); - functions->CallVoidMethodV(this,obj,methodID,args); - va_end(args); - } - void CallVoidMethodV(jobject obj, jmethodID methodID, - va_list args) { - functions->CallVoidMethodV(this,obj,methodID,args); - } - void CallVoidMethodA(jobject obj, jmethodID methodID, - const jvalue * args) { - functions->CallVoidMethodA(this,obj,methodID,args); - } - - jobject CallNonvirtualObjectMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jobject result; - va_start(args,methodID); - result = functions->CallNonvirtualObjectMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jobject CallNonvirtualObjectMethodV(jobject obj, jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallNonvirtualObjectMethodV(this,obj,clazz, - methodID,args); - } - jobject CallNonvirtualObjectMethodA(jobject obj, jclass clazz, - jmethodID methodID, const jvalue * args) { - return functions->CallNonvirtualObjectMethodA(this,obj,clazz, - methodID,args); - } - - jboolean CallNonvirtualBooleanMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jboolean result; - va_start(args,methodID); - result = functions->CallNonvirtualBooleanMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jboolean CallNonvirtualBooleanMethodV(jobject obj, jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallNonvirtualBooleanMethodV(this,obj,clazz, - methodID,args); - } - jboolean CallNonvirtualBooleanMethodA(jobject obj, jclass clazz, - jmethodID methodID, const jvalue * args) { - return functions->CallNonvirtualBooleanMethodA(this,obj,clazz, - methodID, args); - } - - jbyte CallNonvirtualByteMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jbyte result; - va_start(args,methodID); - result = functions->CallNonvirtualByteMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jbyte CallNonvirtualByteMethodV(jobject obj, jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallNonvirtualByteMethodV(this,obj,clazz, - methodID,args); - } - jbyte CallNonvirtualByteMethodA(jobject obj, jclass clazz, - jmethodID methodID, const jvalue * args) { - return functions->CallNonvirtualByteMethodA(this,obj,clazz, - methodID,args); - } - - jchar CallNonvirtualCharMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jchar result; - va_start(args,methodID); - result = functions->CallNonvirtualCharMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jchar CallNonvirtualCharMethodV(jobject obj, jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallNonvirtualCharMethodV(this,obj,clazz, - methodID,args); - } - jchar CallNonvirtualCharMethodA(jobject obj, jclass clazz, - jmethodID methodID, const jvalue * args) { - return functions->CallNonvirtualCharMethodA(this,obj,clazz, - methodID,args); - } - - jshort CallNonvirtualShortMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jshort result; - va_start(args,methodID); - result = functions->CallNonvirtualShortMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jshort CallNonvirtualShortMethodV(jobject obj, jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallNonvirtualShortMethodV(this,obj,clazz, - methodID,args); - } - jshort CallNonvirtualShortMethodA(jobject obj, jclass clazz, - jmethodID methodID, const jvalue * args) { - return functions->CallNonvirtualShortMethodA(this,obj,clazz, - methodID,args); - } - - jint CallNonvirtualIntMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jint result; - va_start(args,methodID); - result = functions->CallNonvirtualIntMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jint CallNonvirtualIntMethodV(jobject obj, jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallNonvirtualIntMethodV(this,obj,clazz, - methodID,args); - } - jint CallNonvirtualIntMethodA(jobject obj, jclass clazz, - jmethodID methodID, const jvalue * args) { - return functions->CallNonvirtualIntMethodA(this,obj,clazz, - methodID,args); - } - - jlong CallNonvirtualLongMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jlong result; - va_start(args,methodID); - result = functions->CallNonvirtualLongMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jlong CallNonvirtualLongMethodV(jobject obj, jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallNonvirtualLongMethodV(this,obj,clazz, - methodID,args); - } - jlong CallNonvirtualLongMethodA(jobject obj, jclass clazz, - jmethodID methodID, const jvalue * args) { - return functions->CallNonvirtualLongMethodA(this,obj,clazz, - methodID,args); - } - - jfloat CallNonvirtualFloatMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jfloat result; - va_start(args,methodID); - result = functions->CallNonvirtualFloatMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jfloat CallNonvirtualFloatMethodV(jobject obj, jclass clazz, - jmethodID methodID, - va_list args) { - return functions->CallNonvirtualFloatMethodV(this,obj,clazz, - methodID,args); - } - jfloat CallNonvirtualFloatMethodA(jobject obj, jclass clazz, - jmethodID methodID, - const jvalue * args) { - return functions->CallNonvirtualFloatMethodA(this,obj,clazz, - methodID,args); - } - - jdouble CallNonvirtualDoubleMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - jdouble result; - va_start(args,methodID); - result = functions->CallNonvirtualDoubleMethodV(this,obj,clazz, - methodID,args); - va_end(args); - return result; - } - jdouble CallNonvirtualDoubleMethodV(jobject obj, jclass clazz, - jmethodID methodID, - va_list args) { - return functions->CallNonvirtualDoubleMethodV(this,obj,clazz, - methodID,args); - } - jdouble CallNonvirtualDoubleMethodA(jobject obj, jclass clazz, - jmethodID methodID, - const jvalue * args) { - return functions->CallNonvirtualDoubleMethodA(this,obj,clazz, - methodID,args); - } - - void CallNonvirtualVoidMethod(jobject obj, jclass clazz, - jmethodID methodID, ...) { - va_list args; - va_start(args,methodID); - functions->CallNonvirtualVoidMethodV(this,obj,clazz,methodID,args); - va_end(args); - } - void CallNonvirtualVoidMethodV(jobject obj, jclass clazz, - jmethodID methodID, - va_list args) { - functions->CallNonvirtualVoidMethodV(this,obj,clazz,methodID,args); - } - void CallNonvirtualVoidMethodA(jobject obj, jclass clazz, - jmethodID methodID, - const jvalue * args) { - functions->CallNonvirtualVoidMethodA(this,obj,clazz,methodID,args); - } - - jfieldID GetFieldID(jclass clazz, const char *name, - const char *sig) { - return functions->GetFieldID(this,clazz,name,sig); - } - - jobject GetObjectField(jobject obj, jfieldID fieldID) { - return functions->GetObjectField(this,obj,fieldID); - } - jboolean GetBooleanField(jobject obj, jfieldID fieldID) { - return functions->GetBooleanField(this,obj,fieldID); - } - jbyte GetByteField(jobject obj, jfieldID fieldID) { - return functions->GetByteField(this,obj,fieldID); - } - jchar GetCharField(jobject obj, jfieldID fieldID) { - return functions->GetCharField(this,obj,fieldID); - } - jshort GetShortField(jobject obj, jfieldID fieldID) { - return functions->GetShortField(this,obj,fieldID); - } - jint GetIntField(jobject obj, jfieldID fieldID) { - return functions->GetIntField(this,obj,fieldID); - } - jlong GetLongField(jobject obj, jfieldID fieldID) { - return functions->GetLongField(this,obj,fieldID); - } - jfloat GetFloatField(jobject obj, jfieldID fieldID) { - return functions->GetFloatField(this,obj,fieldID); - } - jdouble GetDoubleField(jobject obj, jfieldID fieldID) { - return functions->GetDoubleField(this,obj,fieldID); - } - - void SetObjectField(jobject obj, jfieldID fieldID, jobject val) { - functions->SetObjectField(this,obj,fieldID,val); - } - void SetBooleanField(jobject obj, jfieldID fieldID, - jboolean val) { - functions->SetBooleanField(this,obj,fieldID,val); - } - void SetByteField(jobject obj, jfieldID fieldID, - jbyte val) { - functions->SetByteField(this,obj,fieldID,val); - } - void SetCharField(jobject obj, jfieldID fieldID, - jchar val) { - functions->SetCharField(this,obj,fieldID,val); - } - void SetShortField(jobject obj, jfieldID fieldID, - jshort val) { - functions->SetShortField(this,obj,fieldID,val); - } - void SetIntField(jobject obj, jfieldID fieldID, - jint val) { - functions->SetIntField(this,obj,fieldID,val); - } - void SetLongField(jobject obj, jfieldID fieldID, - jlong val) { - functions->SetLongField(this,obj,fieldID,val); - } - void SetFloatField(jobject obj, jfieldID fieldID, - jfloat val) { - functions->SetFloatField(this,obj,fieldID,val); - } - void SetDoubleField(jobject obj, jfieldID fieldID, - jdouble val) { - functions->SetDoubleField(this,obj,fieldID,val); - } - - jmethodID GetStaticMethodID(jclass clazz, const char *name, - const char *sig) { - return functions->GetStaticMethodID(this,clazz,name,sig); - } - - jobject CallStaticObjectMethod(jclass clazz, jmethodID methodID, - ...) { - va_list args; - jobject result; - va_start(args,methodID); - result = functions->CallStaticObjectMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jobject CallStaticObjectMethodV(jclass clazz, jmethodID methodID, - va_list args) { - return functions->CallStaticObjectMethodV(this,clazz,methodID,args); - } - jobject CallStaticObjectMethodA(jclass clazz, jmethodID methodID, - const jvalue *args) { - return functions->CallStaticObjectMethodA(this,clazz,methodID,args); - } - - jboolean CallStaticBooleanMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jboolean result; - va_start(args,methodID); - result = functions->CallStaticBooleanMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jboolean CallStaticBooleanMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticBooleanMethodV(this,clazz,methodID,args); - } - jboolean CallStaticBooleanMethodA(jclass clazz, - jmethodID methodID, const jvalue *args) { - return functions->CallStaticBooleanMethodA(this,clazz,methodID,args); - } - - jbyte CallStaticByteMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jbyte result; - va_start(args,methodID); - result = functions->CallStaticByteMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jbyte CallStaticByteMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticByteMethodV(this,clazz,methodID,args); - } - jbyte CallStaticByteMethodA(jclass clazz, - jmethodID methodID, const jvalue *args) { - return functions->CallStaticByteMethodA(this,clazz,methodID,args); - } - - jchar CallStaticCharMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jchar result; - va_start(args,methodID); - result = functions->CallStaticCharMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jchar CallStaticCharMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticCharMethodV(this,clazz,methodID,args); - } - jchar CallStaticCharMethodA(jclass clazz, - jmethodID methodID, const jvalue *args) { - return functions->CallStaticCharMethodA(this,clazz,methodID,args); - } - - jshort CallStaticShortMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jshort result; - va_start(args,methodID); - result = functions->CallStaticShortMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jshort CallStaticShortMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticShortMethodV(this,clazz,methodID,args); - } - jshort CallStaticShortMethodA(jclass clazz, - jmethodID methodID, const jvalue *args) { - return functions->CallStaticShortMethodA(this,clazz,methodID,args); - } - - jint CallStaticIntMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jint result; - va_start(args,methodID); - result = functions->CallStaticIntMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jint CallStaticIntMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticIntMethodV(this,clazz,methodID,args); - } - jint CallStaticIntMethodA(jclass clazz, - jmethodID methodID, const jvalue *args) { - return functions->CallStaticIntMethodA(this,clazz,methodID,args); - } - - jlong CallStaticLongMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jlong result; - va_start(args,methodID); - result = functions->CallStaticLongMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jlong CallStaticLongMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticLongMethodV(this,clazz,methodID,args); - } - jlong CallStaticLongMethodA(jclass clazz, - jmethodID methodID, const jvalue *args) { - return functions->CallStaticLongMethodA(this,clazz,methodID,args); - } - - jfloat CallStaticFloatMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jfloat result; - va_start(args,methodID); - result = functions->CallStaticFloatMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jfloat CallStaticFloatMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticFloatMethodV(this,clazz,methodID,args); - } - jfloat CallStaticFloatMethodA(jclass clazz, - jmethodID methodID, const jvalue *args) { - return functions->CallStaticFloatMethodA(this,clazz,methodID,args); - } - - jdouble CallStaticDoubleMethod(jclass clazz, - jmethodID methodID, ...) { - va_list args; - jdouble result; - va_start(args,methodID); - result = functions->CallStaticDoubleMethodV(this,clazz,methodID,args); - va_end(args); - return result; - } - jdouble CallStaticDoubleMethodV(jclass clazz, - jmethodID methodID, va_list args) { - return functions->CallStaticDoubleMethodV(this,clazz,methodID,args); - } - jdouble CallStaticDoubleMethodA(jclass clazz, - jmethodID methodID, const jvalue *args) { - return functions->CallStaticDoubleMethodA(this,clazz,methodID,args); - } - - void CallStaticVoidMethod(jclass cls, jmethodID methodID, ...) { - va_list args; - va_start(args,methodID); - functions->CallStaticVoidMethodV(this,cls,methodID,args); - va_end(args); - } - void CallStaticVoidMethodV(jclass cls, jmethodID methodID, - va_list args) { - functions->CallStaticVoidMethodV(this,cls,methodID,args); - } - void CallStaticVoidMethodA(jclass cls, jmethodID methodID, - const jvalue * args) { - functions->CallStaticVoidMethodA(this,cls,methodID,args); - } - - jfieldID GetStaticFieldID(jclass clazz, const char *name, - const char *sig) { - return functions->GetStaticFieldID(this,clazz,name,sig); - } - jobject GetStaticObjectField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticObjectField(this,clazz,fieldID); - } - jboolean GetStaticBooleanField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticBooleanField(this,clazz,fieldID); - } - jbyte GetStaticByteField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticByteField(this,clazz,fieldID); - } - jchar GetStaticCharField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticCharField(this,clazz,fieldID); - } - jshort GetStaticShortField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticShortField(this,clazz,fieldID); - } - jint GetStaticIntField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticIntField(this,clazz,fieldID); - } - jlong GetStaticLongField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticLongField(this,clazz,fieldID); - } - jfloat GetStaticFloatField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticFloatField(this,clazz,fieldID); - } - jdouble GetStaticDoubleField(jclass clazz, jfieldID fieldID) { - return functions->GetStaticDoubleField(this,clazz,fieldID); - } - - void SetStaticObjectField(jclass clazz, jfieldID fieldID, - jobject value) { - functions->SetStaticObjectField(this,clazz,fieldID,value); - } - void SetStaticBooleanField(jclass clazz, jfieldID fieldID, - jboolean value) { - functions->SetStaticBooleanField(this,clazz,fieldID,value); - } - void SetStaticByteField(jclass clazz, jfieldID fieldID, - jbyte value) { - functions->SetStaticByteField(this,clazz,fieldID,value); - } - void SetStaticCharField(jclass clazz, jfieldID fieldID, - jchar value) { - functions->SetStaticCharField(this,clazz,fieldID,value); - } - void SetStaticShortField(jclass clazz, jfieldID fieldID, - jshort value) { - functions->SetStaticShortField(this,clazz,fieldID,value); - } - void SetStaticIntField(jclass clazz, jfieldID fieldID, - jint value) { - functions->SetStaticIntField(this,clazz,fieldID,value); - } - void SetStaticLongField(jclass clazz, jfieldID fieldID, - jlong value) { - functions->SetStaticLongField(this,clazz,fieldID,value); - } - void SetStaticFloatField(jclass clazz, jfieldID fieldID, - jfloat value) { - functions->SetStaticFloatField(this,clazz,fieldID,value); - } - void SetStaticDoubleField(jclass clazz, jfieldID fieldID, - jdouble value) { - functions->SetStaticDoubleField(this,clazz,fieldID,value); - } - - jstring NewString(const jchar *unicode, jsize len) { - return functions->NewString(this,unicode,len); - } - jsize GetStringLength(jstring str) { - return functions->GetStringLength(this,str); - } - const jchar *GetStringChars(jstring str, jboolean *isCopy) { - return functions->GetStringChars(this,str,isCopy); - } - void ReleaseStringChars(jstring str, const jchar *chars) { - functions->ReleaseStringChars(this,str,chars); - } - - jstring NewStringUTF(const char *utf) { - return functions->NewStringUTF(this,utf); - } - jsize GetStringUTFLength(jstring str) { - return functions->GetStringUTFLength(this,str); - } - const char* GetStringUTFChars(jstring str, jboolean *isCopy) { - return functions->GetStringUTFChars(this,str,isCopy); - } - void ReleaseStringUTFChars(jstring str, const char* chars) { - functions->ReleaseStringUTFChars(this,str,chars); - } - - jsize GetArrayLength(jarray array) { - return functions->GetArrayLength(this,array); - } - - jobjectArray NewObjectArray(jsize len, jclass clazz, - jobject init) { - return functions->NewObjectArray(this,len,clazz,init); - } - jobject GetObjectArrayElement(jobjectArray array, jsize index) { - return functions->GetObjectArrayElement(this,array,index); - } - void SetObjectArrayElement(jobjectArray array, jsize index, - jobject val) { - functions->SetObjectArrayElement(this,array,index,val); - } - - jbooleanArray NewBooleanArray(jsize len) { - return functions->NewBooleanArray(this,len); - } - jbyteArray NewByteArray(jsize len) { - return functions->NewByteArray(this,len); - } - jcharArray NewCharArray(jsize len) { - return functions->NewCharArray(this,len); - } - jshortArray NewShortArray(jsize len) { - return functions->NewShortArray(this,len); - } - jintArray NewIntArray(jsize len) { - return functions->NewIntArray(this,len); - } - jlongArray NewLongArray(jsize len) { - return functions->NewLongArray(this,len); - } - jfloatArray NewFloatArray(jsize len) { - return functions->NewFloatArray(this,len); - } - jdoubleArray NewDoubleArray(jsize len) { - return functions->NewDoubleArray(this,len); - } - - jboolean * GetBooleanArrayElements(jbooleanArray array, jboolean *isCopy) { - return functions->GetBooleanArrayElements(this,array,isCopy); - } - jbyte * GetByteArrayElements(jbyteArray array, jboolean *isCopy) { - return functions->GetByteArrayElements(this,array,isCopy); - } - jchar * GetCharArrayElements(jcharArray array, jboolean *isCopy) { - return functions->GetCharArrayElements(this,array,isCopy); - } - jshort * GetShortArrayElements(jshortArray array, jboolean *isCopy) { - return functions->GetShortArrayElements(this,array,isCopy); - } - jint * GetIntArrayElements(jintArray array, jboolean *isCopy) { - return functions->GetIntArrayElements(this,array,isCopy); - } - jlong * GetLongArrayElements(jlongArray array, jboolean *isCopy) { - return functions->GetLongArrayElements(this,array,isCopy); - } - jfloat * GetFloatArrayElements(jfloatArray array, jboolean *isCopy) { - return functions->GetFloatArrayElements(this,array,isCopy); - } - jdouble * GetDoubleArrayElements(jdoubleArray array, jboolean *isCopy) { - return functions->GetDoubleArrayElements(this,array,isCopy); - } - - void ReleaseBooleanArrayElements(jbooleanArray array, - jboolean *elems, - jint mode) { - functions->ReleaseBooleanArrayElements(this,array,elems,mode); - } - void ReleaseByteArrayElements(jbyteArray array, - jbyte *elems, - jint mode) { - functions->ReleaseByteArrayElements(this,array,elems,mode); - } - void ReleaseCharArrayElements(jcharArray array, - jchar *elems, - jint mode) { - functions->ReleaseCharArrayElements(this,array,elems,mode); - } - void ReleaseShortArrayElements(jshortArray array, - jshort *elems, - jint mode) { - functions->ReleaseShortArrayElements(this,array,elems,mode); - } - void ReleaseIntArrayElements(jintArray array, - jint *elems, - jint mode) { - functions->ReleaseIntArrayElements(this,array,elems,mode); - } - void ReleaseLongArrayElements(jlongArray array, - jlong *elems, - jint mode) { - functions->ReleaseLongArrayElements(this,array,elems,mode); - } - void ReleaseFloatArrayElements(jfloatArray array, - jfloat *elems, - jint mode) { - functions->ReleaseFloatArrayElements(this,array,elems,mode); - } - void ReleaseDoubleArrayElements(jdoubleArray array, - jdouble *elems, - jint mode) { - functions->ReleaseDoubleArrayElements(this,array,elems,mode); - } - - void GetBooleanArrayRegion(jbooleanArray array, - jsize start, jsize len, jboolean *buf) { - functions->GetBooleanArrayRegion(this,array,start,len,buf); - } - void GetByteArrayRegion(jbyteArray array, - jsize start, jsize len, jbyte *buf) { - functions->GetByteArrayRegion(this,array,start,len,buf); - } - void GetCharArrayRegion(jcharArray array, - jsize start, jsize len, jchar *buf) { - functions->GetCharArrayRegion(this,array,start,len,buf); - } - void GetShortArrayRegion(jshortArray array, - jsize start, jsize len, jshort *buf) { - functions->GetShortArrayRegion(this,array,start,len,buf); - } - void GetIntArrayRegion(jintArray array, - jsize start, jsize len, jint *buf) { - functions->GetIntArrayRegion(this,array,start,len,buf); - } - void GetLongArrayRegion(jlongArray array, - jsize start, jsize len, jlong *buf) { - functions->GetLongArrayRegion(this,array,start,len,buf); - } - void GetFloatArrayRegion(jfloatArray array, - jsize start, jsize len, jfloat *buf) { - functions->GetFloatArrayRegion(this,array,start,len,buf); - } - void GetDoubleArrayRegion(jdoubleArray array, - jsize start, jsize len, jdouble *buf) { - functions->GetDoubleArrayRegion(this,array,start,len,buf); - } - - void SetBooleanArrayRegion(jbooleanArray array, jsize start, jsize len, - const jboolean *buf) { - functions->SetBooleanArrayRegion(this,array,start,len,buf); - } - void SetByteArrayRegion(jbyteArray array, jsize start, jsize len, - const jbyte *buf) { - functions->SetByteArrayRegion(this,array,start,len,buf); - } - void SetCharArrayRegion(jcharArray array, jsize start, jsize len, - const jchar *buf) { - functions->SetCharArrayRegion(this,array,start,len,buf); - } - void SetShortArrayRegion(jshortArray array, jsize start, jsize len, - const jshort *buf) { - functions->SetShortArrayRegion(this,array,start,len,buf); - } - void SetIntArrayRegion(jintArray array, jsize start, jsize len, - const jint *buf) { - functions->SetIntArrayRegion(this,array,start,len,buf); - } - void SetLongArrayRegion(jlongArray array, jsize start, jsize len, - const jlong *buf) { - functions->SetLongArrayRegion(this,array,start,len,buf); - } - void SetFloatArrayRegion(jfloatArray array, jsize start, jsize len, - const jfloat *buf) { - functions->SetFloatArrayRegion(this,array,start,len,buf); - } - void SetDoubleArrayRegion(jdoubleArray array, jsize start, jsize len, - const jdouble *buf) { - functions->SetDoubleArrayRegion(this,array,start,len,buf); - } - - jint RegisterNatives(jclass clazz, const JNINativeMethod *methods, - jint nMethods) { - return functions->RegisterNatives(this,clazz,methods,nMethods); - } - jint UnregisterNatives(jclass clazz) { - return functions->UnregisterNatives(this,clazz); - } - - jint MonitorEnter(jobject obj) { - return functions->MonitorEnter(this,obj); - } - jint MonitorExit(jobject obj) { - return functions->MonitorExit(this,obj); - } - - jint GetJavaVM(JavaVM **vm) { - return functions->GetJavaVM(this,vm); - } - - void GetStringRegion(jstring str, jsize start, jsize len, jchar *buf) { - functions->GetStringRegion(this,str,start,len,buf); - } - void GetStringUTFRegion(jstring str, jsize start, jsize len, char *buf) { - functions->GetStringUTFRegion(this,str,start,len,buf); - } - - void * GetPrimitiveArrayCritical(jarray array, jboolean *isCopy) { - return functions->GetPrimitiveArrayCritical(this,array,isCopy); - } - void ReleasePrimitiveArrayCritical(jarray array, void *carray, jint mode) { - functions->ReleasePrimitiveArrayCritical(this,array,carray,mode); - } - - const jchar * GetStringCritical(jstring string, jboolean *isCopy) { - return functions->GetStringCritical(this,string,isCopy); - } - void ReleaseStringCritical(jstring string, const jchar *cstring) { - functions->ReleaseStringCritical(this,string,cstring); - } - - jweak NewWeakGlobalRef(jobject obj) { - return functions->NewWeakGlobalRef(this,obj); - } - void DeleteWeakGlobalRef(jweak ref) { - functions->DeleteWeakGlobalRef(this,ref); - } - - jboolean ExceptionCheck() { - return functions->ExceptionCheck(this); - } - - jobject NewDirectByteBuffer(void* address, jlong capacity) { - return functions->NewDirectByteBuffer(this, address, capacity); - } - void* GetDirectBufferAddress(jobject buf) { - return functions->GetDirectBufferAddress(this, buf); - } - jlong GetDirectBufferCapacity(jobject buf) { - return functions->GetDirectBufferCapacity(this, buf); - } - jobjectRefType GetObjectRefType(jobject obj) { - return functions->GetObjectRefType(this, obj); - } - -#endif /* __cplusplus */ -}; - -typedef struct JavaVMOption { - char *optionString; - void *extraInfo; -} JavaVMOption; - -typedef struct JavaVMInitArgs { - jint version; - - jint nOptions; - JavaVMOption *options; - jboolean ignoreUnrecognized; -} JavaVMInitArgs; - -typedef struct JavaVMAttachArgs { - jint version; - - char *name; - jobject group; -} JavaVMAttachArgs; - -/* These will be VM-specific. */ - -#define JDK1_2 -#define JDK1_4 - -/* End VM-specific. */ - -struct JNIInvokeInterface_ { - void *reserved0; - void *reserved1; - void *reserved2; - - jint (JNICALL *DestroyJavaVM)(JavaVM *vm); - - jint (JNICALL *AttachCurrentThread)(JavaVM *vm, void **penv, void *args); - - jint (JNICALL *DetachCurrentThread)(JavaVM *vm); - - jint (JNICALL *GetEnv)(JavaVM *vm, void **penv, jint version); - - jint (JNICALL *AttachCurrentThreadAsDaemon)(JavaVM *vm, void **penv, void *args); -}; - -struct JavaVM_ { - const struct JNIInvokeInterface_ *functions; -#ifdef __cplusplus - - jint DestroyJavaVM() { - return functions->DestroyJavaVM(this); - } - jint AttachCurrentThread(void **penv, void *args) { - return functions->AttachCurrentThread(this, penv, args); - } - jint DetachCurrentThread() { - return functions->DetachCurrentThread(this); - } - - jint GetEnv(void **penv, jint version) { - return functions->GetEnv(this, penv, version); - } - jint AttachCurrentThreadAsDaemon(void **penv, void *args) { - return functions->AttachCurrentThreadAsDaemon(this, penv, args); - } -#endif -}; - -#ifdef _JNI_IMPLEMENTATION_ -#define _JNI_IMPORT_OR_EXPORT_ JNIEXPORT -#else -#define _JNI_IMPORT_OR_EXPORT_ JNIIMPORT -#endif -_JNI_IMPORT_OR_EXPORT_ jint JNICALL -JNI_GetDefaultJavaVMInitArgs(void *args); - -_JNI_IMPORT_OR_EXPORT_ jint JNICALL -JNI_CreateJavaVM(JavaVM **pvm, void **penv, void *args); - -_JNI_IMPORT_OR_EXPORT_ jint JNICALL -JNI_GetCreatedJavaVMs(JavaVM **, jsize, jsize *); - -/* Defined by native libraries. */ -JNIEXPORT jint JNICALL -JNI_OnLoad(JavaVM *vm, void *reserved); - -JNIEXPORT void JNICALL -JNI_OnUnload(JavaVM *vm, void *reserved); - -#define JNI_VERSION_1_1 0x00010001 -#define JNI_VERSION_1_2 0x00010002 -#define JNI_VERSION_1_4 0x00010004 -#define JNI_VERSION_1_6 0x00010006 - -#ifdef __cplusplus -} /* extern "C" */ -#endif /* __cplusplus */ - -#endif /* !_JAVASOFT_JNI_H_ */ - - - diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/include/jni_md.h b/org.simantics.modelica/FMUSolution/FMUSimulator/include/jni_md.h deleted file mode 100644 index 9ac4718e..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/include/jni_md.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * %W% %E% - * - * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. - * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. - */ - -#ifndef _JAVASOFT_JNI_MD_H_ -#define _JAVASOFT_JNI_MD_H_ - -#define JNIEXPORT __declspec(dllexport) -#define JNIIMPORT __declspec(dllimport) -#define JNICALL __stdcall - -typedef long jint; -typedef __int64 jlong; -typedef signed char jbyte; - -#endif /* !_JAVASOFT_JNI_MD_H_ */ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/include/libexpatMT.lib b/org.simantics.modelica/FMUSolution/FMUSimulator/include/libexpatMT.lib deleted file mode 100644 index 2436f617..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSimulator/include/libexpatMT.lib and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/include/org_simantics_modelica_fmi_FMUControlJNI.h b/org.simantics.modelica/FMUSolution/FMUSimulator/include/org_simantics_modelica_fmi_FMUControlJNI.h deleted file mode 100644 index 3d169e15..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/include/org_simantics_modelica_fmi_FMUControlJNI.h +++ /dev/null @@ -1,133 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class org_simantics_modelica_fmi_FMUControlJNI */ - -#ifndef _Included_org_simantics_modelica_fmi_FMUControlJNI -#define _Included_org_simantics_modelica_fmi_FMUControlJNI -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: loadFMUFile_ - * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I - */ -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_loadFMUFile_1 - (JNIEnv *, jobject, jstring, jstring, jstring); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: setStepLength_ - * Signature: (Ljava/lang/String;D)I - */ -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_setStepLength_1 - (JNIEnv *, jobject, jstring, jdouble); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: initializeSimulation_ - * Signature: (Ljava/lang/String;)I - */ -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_initializeSimulation_1 - (JNIEnv *, jobject, jstring); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: subscribe_ - * Signature: (Ljava/lang/String;[Ljava/lang/String;I)I - */ -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_subscribe_1 - (JNIEnv *, jobject, jstring, jobjectArray, jint); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: setRealValue_ - * Signature: (Ljava/lang/String;Ljava/lang/String;D)I - */ -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_setRealValue_1 - (JNIEnv *, jobject, jstring, jstring, jdouble); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: setIntegerValue_ - * Signature: (Ljava/lang/String;Ljava/lang/String;I)I - */ -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_setIntegerValue_1 - (JNIEnv *, jobject, jstring, jstring, jint); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: setBooleanValue_ - * Signature: (Ljava/lang/String;Ljava/lang/String;Z)I - */ -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_setBooleanValue_1 - (JNIEnv *, jobject, jstring, jstring, jboolean); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: simulateStep_ - * Signature: (Ljava/lang/String;)I - */ -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_simulateStep_1 - (JNIEnv *, jobject, jstring); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: getSubscribedResults_ - * Signature: (Ljava/lang/String;[D)[D - */ -JNIEXPORT jdoubleArray JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_getSubscribedResults_1 - (JNIEnv *, jobject, jstring, jdoubleArray); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: unloadFMU_ - * Signature: (Ljava/lang/String;)I - */ -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_unloadFMU_1 - (JNIEnv *, jobject, jstring); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: getTime_ - * Signature: (Ljava/lang/String;)D - */ -JNIEXPORT jdouble JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_getTime_1 - (JNIEnv *, jobject, jstring); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: getAllVariables_ - * Signature: (Ljava/lang/String;)[Ljava/lang/String; - */ -JNIEXPORT jobjectArray JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_getAllVariables_1 - (JNIEnv *, jobject, jstring); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: filterVariables_ - * Signature: (Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String; - */ -JNIEXPORT jobjectArray JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_filterVariables_1 - (JNIEnv *, jobject, jstring, jstring); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: getLastErrorMessage_ - * Signature: (Ljava/lang/String;)Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_getLastErrorMessage_1 - (JNIEnv *, jobject, jstring); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: getRealValue_ - * Signature: (Ljava/lang/String;Ljava/lang/String;)D - */ -JNIEXPORT jdouble JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_getRealValue_1 - (JNIEnv *, jobject, jstring, jstring); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/include/sim_support.h b/org.simantics.modelica/FMUSolution/FMUSimulator/include/sim_support.h deleted file mode 100644 index a2a5180a..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/include/sim_support.h +++ /dev/null @@ -1,31 +0,0 @@ -/* ------------------------------------------------------------------------- - * sim_support.h - * Functions used by the FMU simulatios fmusim_me and fmusim_cs. - * Copyright 2011 QTronic GmbH. All rights reserved. - * -------------------------------------------------------------------------*/ - -// Used 7z options, version 4.57: -// -x Extracts files from an archive with their full paths in the current dir, or in an output dir if specified -// -aoa Overwrite All existing files without prompt -// -o Specifies a destination directory where files are to be extracted -#define UNZIP_CMD "7z x -aoa -o" -#define XML_FILE "modelDescription.xml" -#define DLL_DIR "binaries\\win32\\" -#define RESULT_FILE "result.csv" -#define BUFSIZE 4096 - -// return codes of the 7z command line tool -#define SEVEN_ZIP_NO_ERROR 0 // success -#define SEVEN_ZIP_WARNING 1 // e.g., one or more files were locked during zip -#define SEVEN_ZIP_ERROR 2 -#define SEVEN_ZIP_COMMAND_LINE_ERROR 7 -#define SEVEN_ZIP_OUT_OF_MEMORY 8 -#define SEVEN_ZIP_STOPPED_BY_USER 255 - -void fmuLogger(fmiComponent c, fmiString instanceName, fmiStatus status, fmiString category, fmiString message, ...); -int unzip(const char *zipPath, const char *outPath); -void parseArguments(int argc, char *argv[], char** fmuFileName, double* tEnd, double* h, int* loggingOn, char* csv_separator); -int loadFMU(FMU *fmu, const char* fmuFileName, const char* tmpPath); -void outputRow(FMU *fmu, fmiComponent c, double time, FILE* file, char separator, boolean header); -int error(const char* message); -void printHelp(const char* fmusim); diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/include/stack.h b/org.simantics.modelica/FMUSolution/FMUSimulator/include/stack.h deleted file mode 100644 index a52977fa..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/include/stack.h +++ /dev/null @@ -1,28 +0,0 @@ -/* ------------------------------------------------------------------------- - * stack.c - * A stack of pointers. - * Copyright 2010 QTronic GmbH. All rights reserved. - * -------------------------------------------------------------------------*/ - -#ifndef STACK_H -#define STACK_H - -typedef struct { - void** stack; - int stackSize; // allocated size of stack - int stackPos; // array index of top element, -1 if stack is empty. - int initialSize; // how many element to allocate initially - int inc; // how many elements to allocate when stack gets full -} Stack; - -Stack* stackNew(int initialSize, int inc); -int stackIsEmpty(Stack* s); -int stackPush(Stack* s, void* e); -void* stackPeek(Stack* s); -void* stackPop(Stack* s); -void** stackPopAllAsArray(Stack* s, int *size); -void** stackLastPopedAsArray0(Stack* s, int n); -void stackFree(Stack* s); - -#endif // STACK_H - diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/include/trees.h b/org.simantics.modelica/FMUSolution/FMUSimulator/include/trees.h deleted file mode 100644 index d35639d8..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/include/trees.h +++ /dev/null @@ -1,128 +0,0 @@ -/* header created automatically with -DGEN_TREES_H */ - -local const ct_data static_ltree[L_CODES+2] = { -{{ 12},{ 8}}, {{140},{ 8}}, {{ 76},{ 8}}, {{204},{ 8}}, {{ 44},{ 8}}, -{{172},{ 8}}, {{108},{ 8}}, {{236},{ 8}}, {{ 28},{ 8}}, {{156},{ 8}}, -{{ 92},{ 8}}, {{220},{ 8}}, {{ 60},{ 8}}, {{188},{ 8}}, {{124},{ 8}}, -{{252},{ 8}}, {{ 2},{ 8}}, {{130},{ 8}}, {{ 66},{ 8}}, {{194},{ 8}}, -{{ 34},{ 8}}, {{162},{ 8}}, {{ 98},{ 8}}, {{226},{ 8}}, {{ 18},{ 8}}, -{{146},{ 8}}, {{ 82},{ 8}}, {{210},{ 8}}, {{ 50},{ 8}}, {{178},{ 8}}, -{{114},{ 8}}, {{242},{ 8}}, {{ 10},{ 8}}, {{138},{ 8}}, {{ 74},{ 8}}, -{{202},{ 8}}, {{ 42},{ 8}}, {{170},{ 8}}, {{106},{ 8}}, {{234},{ 8}}, -{{ 26},{ 8}}, {{154},{ 8}}, {{ 90},{ 8}}, {{218},{ 8}}, {{ 58},{ 8}}, -{{186},{ 8}}, {{122},{ 8}}, {{250},{ 8}}, {{ 6},{ 8}}, {{134},{ 8}}, -{{ 70},{ 8}}, {{198},{ 8}}, {{ 38},{ 8}}, {{166},{ 8}}, {{102},{ 8}}, -{{230},{ 8}}, {{ 22},{ 8}}, {{150},{ 8}}, {{ 86},{ 8}}, {{214},{ 8}}, -{{ 54},{ 8}}, {{182},{ 8}}, {{118},{ 8}}, {{246},{ 8}}, {{ 14},{ 8}}, -{{142},{ 8}}, {{ 78},{ 8}}, {{206},{ 8}}, {{ 46},{ 8}}, {{174},{ 8}}, -{{110},{ 8}}, {{238},{ 8}}, {{ 30},{ 8}}, {{158},{ 8}}, {{ 94},{ 8}}, -{{222},{ 8}}, {{ 62},{ 8}}, {{190},{ 8}}, {{126},{ 8}}, {{254},{ 8}}, -{{ 1},{ 8}}, {{129},{ 8}}, {{ 65},{ 8}}, {{193},{ 8}}, {{ 33},{ 8}}, -{{161},{ 8}}, {{ 97},{ 8}}, {{225},{ 8}}, {{ 17},{ 8}}, {{145},{ 8}}, -{{ 81},{ 8}}, {{209},{ 8}}, {{ 49},{ 8}}, {{177},{ 8}}, {{113},{ 8}}, -{{241},{ 8}}, {{ 9},{ 8}}, {{137},{ 8}}, {{ 73},{ 8}}, {{201},{ 8}}, -{{ 41},{ 8}}, {{169},{ 8}}, {{105},{ 8}}, {{233},{ 8}}, {{ 25},{ 8}}, -{{153},{ 8}}, {{ 89},{ 8}}, {{217},{ 8}}, {{ 57},{ 8}}, {{185},{ 8}}, -{{121},{ 8}}, {{249},{ 8}}, {{ 5},{ 8}}, {{133},{ 8}}, {{ 69},{ 8}}, -{{197},{ 8}}, {{ 37},{ 8}}, {{165},{ 8}}, {{101},{ 8}}, {{229},{ 8}}, -{{ 21},{ 8}}, {{149},{ 8}}, {{ 85},{ 8}}, {{213},{ 8}}, {{ 53},{ 8}}, -{{181},{ 8}}, {{117},{ 8}}, {{245},{ 8}}, {{ 13},{ 8}}, {{141},{ 8}}, -{{ 77},{ 8}}, {{205},{ 8}}, {{ 45},{ 8}}, {{173},{ 8}}, {{109},{ 8}}, -{{237},{ 8}}, {{ 29},{ 8}}, {{157},{ 8}}, {{ 93},{ 8}}, {{221},{ 8}}, -{{ 61},{ 8}}, {{189},{ 8}}, {{125},{ 8}}, {{253},{ 8}}, {{ 19},{ 9}}, -{{275},{ 9}}, {{147},{ 9}}, {{403},{ 9}}, {{ 83},{ 9}}, {{339},{ 9}}, -{{211},{ 9}}, {{467},{ 9}}, {{ 51},{ 9}}, {{307},{ 9}}, {{179},{ 9}}, -{{435},{ 9}}, {{115},{ 9}}, {{371},{ 9}}, {{243},{ 9}}, {{499},{ 9}}, -{{ 11},{ 9}}, {{267},{ 9}}, {{139},{ 9}}, {{395},{ 9}}, {{ 75},{ 9}}, -{{331},{ 9}}, {{203},{ 9}}, {{459},{ 9}}, {{ 43},{ 9}}, {{299},{ 9}}, -{{171},{ 9}}, {{427},{ 9}}, {{107},{ 9}}, {{363},{ 9}}, {{235},{ 9}}, -{{491},{ 9}}, {{ 27},{ 9}}, {{283},{ 9}}, {{155},{ 9}}, {{411},{ 9}}, -{{ 91},{ 9}}, {{347},{ 9}}, {{219},{ 9}}, {{475},{ 9}}, {{ 59},{ 9}}, -{{315},{ 9}}, {{187},{ 9}}, {{443},{ 9}}, {{123},{ 9}}, {{379},{ 9}}, -{{251},{ 9}}, {{507},{ 9}}, {{ 7},{ 9}}, {{263},{ 9}}, {{135},{ 9}}, -{{391},{ 9}}, {{ 71},{ 9}}, {{327},{ 9}}, {{199},{ 9}}, {{455},{ 9}}, -{{ 39},{ 9}}, {{295},{ 9}}, {{167},{ 9}}, {{423},{ 9}}, {{103},{ 9}}, -{{359},{ 9}}, {{231},{ 9}}, {{487},{ 9}}, {{ 23},{ 9}}, {{279},{ 9}}, -{{151},{ 9}}, {{407},{ 9}}, {{ 87},{ 9}}, {{343},{ 9}}, {{215},{ 9}}, -{{471},{ 9}}, {{ 55},{ 9}}, {{311},{ 9}}, {{183},{ 9}}, {{439},{ 9}}, -{{119},{ 9}}, {{375},{ 9}}, {{247},{ 9}}, {{503},{ 9}}, {{ 15},{ 9}}, -{{271},{ 9}}, {{143},{ 9}}, {{399},{ 9}}, {{ 79},{ 9}}, {{335},{ 9}}, -{{207},{ 9}}, {{463},{ 9}}, {{ 47},{ 9}}, {{303},{ 9}}, {{175},{ 9}}, -{{431},{ 9}}, {{111},{ 9}}, {{367},{ 9}}, {{239},{ 9}}, {{495},{ 9}}, -{{ 31},{ 9}}, {{287},{ 9}}, {{159},{ 9}}, {{415},{ 9}}, {{ 95},{ 9}}, -{{351},{ 9}}, {{223},{ 9}}, {{479},{ 9}}, {{ 63},{ 9}}, {{319},{ 9}}, -{{191},{ 9}}, {{447},{ 9}}, {{127},{ 9}}, {{383},{ 9}}, {{255},{ 9}}, -{{511},{ 9}}, {{ 0},{ 7}}, {{ 64},{ 7}}, {{ 32},{ 7}}, {{ 96},{ 7}}, -{{ 16},{ 7}}, {{ 80},{ 7}}, {{ 48},{ 7}}, {{112},{ 7}}, {{ 8},{ 7}}, -{{ 72},{ 7}}, {{ 40},{ 7}}, {{104},{ 7}}, {{ 24},{ 7}}, {{ 88},{ 7}}, -{{ 56},{ 7}}, {{120},{ 7}}, {{ 4},{ 7}}, {{ 68},{ 7}}, {{ 36},{ 7}}, -{{100},{ 7}}, {{ 20},{ 7}}, {{ 84},{ 7}}, {{ 52},{ 7}}, {{116},{ 7}}, -{{ 3},{ 8}}, {{131},{ 8}}, {{ 67},{ 8}}, {{195},{ 8}}, {{ 35},{ 8}}, -{{163},{ 8}}, {{ 99},{ 8}}, {{227},{ 8}} -}; - -local const ct_data static_dtree[D_CODES] = { -{{ 0},{ 5}}, {{16},{ 5}}, {{ 8},{ 5}}, {{24},{ 5}}, {{ 4},{ 5}}, -{{20},{ 5}}, {{12},{ 5}}, {{28},{ 5}}, {{ 2},{ 5}}, {{18},{ 5}}, -{{10},{ 5}}, {{26},{ 5}}, {{ 6},{ 5}}, {{22},{ 5}}, {{14},{ 5}}, -{{30},{ 5}}, {{ 1},{ 5}}, {{17},{ 5}}, {{ 9},{ 5}}, {{25},{ 5}}, -{{ 5},{ 5}}, {{21},{ 5}}, {{13},{ 5}}, {{29},{ 5}}, {{ 3},{ 5}}, -{{19},{ 5}}, {{11},{ 5}}, {{27},{ 5}}, {{ 7},{ 5}}, {{23},{ 5}} -}; - -const uch ZLIB_INTERNAL _dist_code[DIST_CODE_LEN] = { - 0, 1, 2, 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, - 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, -10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, -11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, -12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, -13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, -13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, -14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, -14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, -14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, -15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, -15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, -15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 16, 17, -18, 18, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, -23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, -24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, -26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, -26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, -27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, -27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, -28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, -28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, -28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, -29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, -29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, -29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29 -}; - -const uch ZLIB_INTERNAL _length_code[MAX_MATCH-MIN_MATCH+1]= { - 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 12, 12, -13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, -17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, -19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, -21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, -22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, -23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, -24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, -25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, -25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, -26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, -26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, -27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28 -}; - -local const int base_length[LENGTH_CODES] = { -0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 28, 32, 40, 48, 56, -64, 80, 96, 112, 128, 160, 192, 224, 0 -}; - -local const int base_dist[D_CODES] = { - 0, 1, 2, 3, 4, 6, 8, 12, 16, 24, - 32, 48, 64, 96, 128, 192, 256, 384, 512, 768, - 1024, 1536, 2048, 3072, 4096, 6144, 8192, 12288, 16384, 24576 -}; - diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/include/xml_parser.h b/org.simantics.modelica/FMUSolution/FMUSimulator/include/xml_parser.h deleted file mode 100644 index 0730d56b..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/include/xml_parser.h +++ /dev/null @@ -1,159 +0,0 @@ -/* ------------------------------------------------------------------------- - * xml_parser.h - * A parser for file modelVariables.xml of an FMU. - * Supports "FMI for Model Exchange 1.0" and "FMI for Co-Simulation 1.0". - * Copyright 2011 QTronic GmbH. All rights reserved. - * -------------------------------------------------------------------------*/ - -#ifndef xml_parser_h -#define xml_parser_h - -// define XML_STATIC before including expat.h -// to prevent error when linking with libexpatMT.lib -#define XML_STATIC -#include "expat.h" -#include "stack.h" - -typedef unsigned int fmiValueReference; -#define fmiUndefinedValueReference (fmiValueReference)(-1) - -#define SIZEOF_ELM 31 -extern const char *elmNames[SIZEOF_ELM]; - -#define SIZEOF_ATT 47 -extern const char *attNames[SIZEOF_ATT]; - -#define SIZEOF_ENU 13 -extern const char *enuNames[SIZEOF_ENU]; - -// Elements -typedef enum { - elm_fmiModelDescription,elm_UnitDefinitions,elm_BaseUnit,elm_DisplayUnitDefinition,elm_TypeDefinitions, - elm_Type,elm_RealType,elm_IntegerType,elm_BooleanType,elm_StringType,elm_EnumerationType,elm_Item, - elm_DefaultExperiment,elm_VendorAnnotations,elm_Tool,elm_Annotation,elm_ModelVariables,elm_ScalarVariable, - elm_DirectDependency,elm_Name,elm_Real,elm_Integer,elm_Boolean,elm_String,elm_Enumeration, - elm_Implementation,elm_CoSimulation_StandAlone,elm_CoSimulation_Tool,elm_Model,elm_File,elm_Capabilities -} Elm; - -// Attributes -typedef enum { - att_fmiVersion,att_displayUnit,att_gain,att_offset,att_unit,att_name,att_description,att_quantity,att_relativeQuantity, - att_min,att_max,att_nominal,att_declaredType,att_start,att_fixed,att_startTime,att_stopTime,att_tolerance,att_value, - att_valueReference,att_variability,att_causality,att_alias,att_modelName,att_modelIdentifier,att_guid,att_author, - att_version,att_generationTool,att_generationDateAndTime,att_variableNamingConvention,att_numberOfContinuousStates, - att_numberOfEventIndicators,att_input, - att_canHandleVariableCommunicationStepSize,att_canHandleEvents,att_canRejectSteps,att_canInterpolateInputs, - att_maxOutputDerivativeOrder,att_canRunAsynchronuously,att_canSignalEvents,att_canBeInstantiatedOnlyOncePerProcess, - att_canNotUseMemoryManagementFunctions,att_entryPoint,att_manualStart,att_type -} Att; - -// Enumeration values -typedef enum { - enu_flat,enu_structured,enu_constant,enu_parameter,enu_discrete,enu_continuous, - enu_input,enu_output,enu_internal,enu_none,enu_noAlias,enu_alias,enu_negatedAlias -} Enu; - -// AST node for element -// DisplayUnitDefinition, RealType, IntegerType, BooleanType, StringType, DefaultExperiment, -// Item, Annotation, Name, Real, Integer, Boolean, String, Enumeration, Capabilities, File -typedef struct { - Elm type; // element type - const char** attributes; // null or n attribute value strings - int n; // size of attributes, even number -} Element; - -// AST node for element that has a list of elements -// BaseUnit, EnumerationType, Tool, DirectDependency, Model -typedef struct { - Elm type; // element type - const char** attributes; // null or n attribute value strings - int n; // size of attributes, even number - Element** list; // null-terminated array of pointers to elements, not null -} ListElement; - -// AST node for element Type -typedef struct { - Elm type; // element type - const char** attributes; // null or n attribute value strings - int n; // size of attributes, an even number - Element* typeSpec; // one of RealType, IntegerType etc. -} Type; - -// AST node for element ScalarVariable -typedef struct { - Elm type; // element type - const char** attributes; // null or n attribute value strings - int n; // size of attributes, even number - Element* typeSpec; // one of Real, Integer, etc - Element** directDependencies; // null or null-terminated list of Name -} ScalarVariable; - -// AST node for element CoSimulation_StandAlone and CoSimulation_Tool -typedef struct { - Elm type; // one of elm_CoSimulation_StandAlone and elm_CoSimulation_Tool - const char** attributes; // null or n attribute value strings - int n; // size of attributes, even number - Element* capabilities; // a set of capability attributes - ListElement* model; // non-NULL to support tool coupling, NULL for standalone -} CoSimulation; - -// AST node for element ModelDescription -typedef struct { - Elm type; // element type - const char** attributes; // null or n attribute value strings - int n; // size of attributes, even number - ListElement** unitDefinitions; // NULL or null-terminated list of BaseUnits - Type** typeDefinitions; // NULL or null-terminated list of Types - Element* defaultExperiment; // NULL or DefaultExperiment - ListElement** vendorAnnotations; // NULL or null-terminated list of Tools - ScalarVariable** modelVariables; // NULL or null-terminated list of ScalarVariable - CoSimulation* cosimulation; // NULL if this ModelDescription is for model exchange only -} ModelDescription; - -// types of AST nodes used to represent an element -typedef enum { - astElement, - astListElement, - astType, - astScalarVariable, - astCoSimulation, - astModelDescription -} AstNodeType; - -// Possible results when retrieving an attribute value from an element -typedef enum { - valueMissing, - valueDefined, - valueIllegal -} ValueStatus; - -// Public methods: Parsing and low-level AST access -ModelDescription* parse(const char* xmlPath); -const char* getString(void* element, Att a); -double getDouble (void* element, Att a, ValueStatus* vs); -int getInt (void* element, Att a, ValueStatus* vs); -unsigned int getUInt (void* element, Att a, ValueStatus* vs); -char getBoolean (void* element, Att a, ValueStatus* vs); -Enu getEnumValue (void* element, Att a, ValueStatus* vs); -void freeElement (void* element); - -// Convenience methods for AST access. To be used afer successful validation only. -const char* getModelIdentifier(ModelDescription* md); -int getNumberOfStates(ModelDescription* md); -int getNumberOfEventIndicators(ModelDescription* md); -const char* getName(void* element); -Enu getCausality(void* scalarVariable); -Enu getVariability(void* scalarVariable); -Enu getAlias(void* scalarVariable); -fmiValueReference getValueReference(void* scalarVariable); -ScalarVariable* getVariableByName(ModelDescription* md, const char* name); -ScalarVariable* getVariable(ModelDescription* md, fmiValueReference vr, Elm type); -Type* getDeclaredType(ModelDescription* md, const char* declaredType); -const char* getString2(ModelDescription* md, void* sv, Att a); -const char * getDescription(ModelDescription* md, ScalarVariable* sv); -const char * getVariableAttributeString(ModelDescription* md, fmiValueReference vr, Elm type, Att a); -double getVariableAttributeDouble(ModelDescription* md, fmiValueReference vr, Elm type, Att a, ValueStatus* vs); -double getNominal(ModelDescription* md, fmiValueReference vr); - -#endif // xml_parser_h - diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/include/zutil.h b/org.simantics.modelica/FMUSolution/FMUSimulator/include/zutil.h deleted file mode 100644 index dff1112f..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/include/zutil.h +++ /dev/null @@ -1,248 +0,0 @@ -/* zutil.h -- internal interface and configuration of the compression library - * Copyright (C) 1995-2011 Jean-loup Gailly. - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* WARNING: this file should *not* be used by applications. It is - part of the implementation of the compression library and is - subject to change. Applications should only use zlib.h. - */ - -/* @(#) $Id$ */ - -#ifndef ZUTIL_H -#define ZUTIL_H - -#if ((__GNUC__-0) * 10 + __GNUC_MINOR__-0 >= 33) && !defined(NO_VIZ) -# define ZLIB_INTERNAL __attribute__((visibility ("hidden"))) -#else -# define ZLIB_INTERNAL -#endif - -#include "zlib.h" - -#if defined(STDC) && !defined(Z_SOLO) -# if !(defined(_WIN32_WCE) && defined(_MSC_VER)) -# include -# endif -# include -# include -#endif - -#ifdef Z_SOLO - typedef long ptrdiff_t; /* guess -- will be caught if guess is wrong */ -#endif - -#ifndef local -# define local static -#endif -/* compile with -Dlocal if your debugger can't find static symbols */ - -typedef unsigned char uch; -typedef uch FAR uchf; -typedef unsigned short ush; -typedef ush FAR ushf; -typedef unsigned long ulg; - -extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ -/* (size given to avoid silly warnings with Visual C++) */ - -#define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)] - -#define ERR_RETURN(strm,err) \ - return (strm->msg = (char*)ERR_MSG(err), (err)) -/* To be used only when the state is known to be valid */ - - /* common constants */ - -#ifndef DEF_WBITS -# define DEF_WBITS MAX_WBITS -#endif -/* default windowBits for decompression. MAX_WBITS is for compression only */ - -#if MAX_MEM_LEVEL >= 8 -# define DEF_MEM_LEVEL 8 -#else -# define DEF_MEM_LEVEL MAX_MEM_LEVEL -#endif -/* default memLevel */ - -#define STORED_BLOCK 0 -#define STATIC_TREES 1 -#define DYN_TREES 2 -/* The three kinds of block type */ - -#define MIN_MATCH 3 -#define MAX_MATCH 258 -/* The minimum and maximum match lengths */ - -#define PRESET_DICT 0x20 /* preset dictionary flag in zlib header */ - - /* target dependencies */ - -#if defined(MSDOS) || (defined(WINDOWS) && !defined(WIN32)) -# define OS_CODE 0x00 -# ifndef Z_SOLO -# if defined(__TURBOC__) || defined(__BORLANDC__) -# if (__STDC__ == 1) && (defined(__LARGE__) || defined(__COMPACT__)) - /* Allow compilation with ANSI keywords only enabled */ - void _Cdecl farfree( void *block ); - void *_Cdecl farmalloc( unsigned long nbytes ); -# else -# include -# endif -# else /* MSC or DJGPP */ -# include -# endif -# endif -#endif - -#ifdef AMIGA -# define OS_CODE 0x01 -#endif - -#if defined(VAXC) || defined(VMS) -# define OS_CODE 0x02 -# define F_OPEN(name, mode) \ - fopen((name), (mode), "mbc=60", "ctx=stm", "rfm=fix", "mrs=512") -#endif - -#if defined(ATARI) || defined(atarist) -# define OS_CODE 0x05 -#endif - -#ifdef OS2 -# define OS_CODE 0x06 -# if defined(M_I86) && !defined(Z_SOLO) -# include -# endif -#endif - -#if defined(MACOS) || defined(TARGET_OS_MAC) -# define OS_CODE 0x07 -# ifndef Z_SOLO -# if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os -# include /* for fdopen */ -# else -# ifndef fdopen -# define fdopen(fd,mode) NULL /* No fdopen() */ -# endif -# endif -# endif -#endif - -#ifdef TOPS20 -# define OS_CODE 0x0a -#endif - -#ifdef WIN32 -# ifndef __CYGWIN__ /* Cygwin is Unix, not Win32 */ -# define OS_CODE 0x0b -# endif -#endif - -#ifdef __50SERIES /* Prime/PRIMOS */ -# define OS_CODE 0x0f -#endif - -#if defined(_BEOS_) || defined(RISCOS) -# define fdopen(fd,mode) NULL /* No fdopen() */ -#endif - -#if (defined(_MSC_VER) && (_MSC_VER > 600)) && !defined __INTERIX -# if defined(_WIN32_WCE) -# define fdopen(fd,mode) NULL /* No fdopen() */ -# ifndef _PTRDIFF_T_DEFINED - typedef int ptrdiff_t; -# define _PTRDIFF_T_DEFINED -# endif -# else -# define fdopen(fd,type) _fdopen(fd,type) -# endif -#endif - -#if defined(__BORLANDC__) && !defined(MSDOS) - #pragma warn -8004 - #pragma warn -8008 - #pragma warn -8066 -#endif - -/* provide prototypes for these when building zlib without LFS */ -#if !defined(_WIN32) && (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0) - ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t)); - ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t)); -#endif - - /* common defaults */ - -#ifndef OS_CODE -# define OS_CODE 0x03 /* assume Unix */ -#endif - -#ifndef F_OPEN -# define F_OPEN(name, mode) fopen((name), (mode)) -#endif - - /* functions */ - -#if defined(pyr) || defined(Z_SOLO) -# define NO_MEMCPY -#endif -#if defined(SMALL_MEDIUM) && !defined(_MSC_VER) && !defined(__SC__) - /* Use our own functions for small and medium model with MSC <= 5.0. - * You may have to use the same strategy for Borland C (untested). - * The __SC__ check is for Symantec. - */ -# define NO_MEMCPY -#endif -#if defined(STDC) && !defined(HAVE_MEMCPY) && !defined(NO_MEMCPY) -# define HAVE_MEMCPY -#endif -#ifdef HAVE_MEMCPY -# ifdef SMALL_MEDIUM /* MSDOS small or medium model */ -# define zmemcpy _fmemcpy -# define zmemcmp _fmemcmp -# define zmemzero(dest, len) _fmemset(dest, 0, len) -# else -# define zmemcpy memcpy -# define zmemcmp memcmp -# define zmemzero(dest, len) memset(dest, 0, len) -# endif -#else - void ZLIB_INTERNAL zmemcpy OF((Bytef* dest, const Bytef* source, uInt len)); - int ZLIB_INTERNAL zmemcmp OF((const Bytef* s1, const Bytef* s2, uInt len)); - void ZLIB_INTERNAL zmemzero OF((Bytef* dest, uInt len)); -#endif - -/* Diagnostic functions */ -#ifdef DEBUG -# include - extern int ZLIB_INTERNAL z_verbose; - extern void ZLIB_INTERNAL z_error OF((char *m)); -# define Assert(cond,msg) {if(!(cond)) z_error(msg);} -# define Trace(x) {if (z_verbose>=0) fprintf x ;} -# define Tracev(x) {if (z_verbose>0) fprintf x ;} -# define Tracevv(x) {if (z_verbose>1) fprintf x ;} -# define Tracec(c,x) {if (z_verbose>0 && (c)) fprintf x ;} -# define Tracecv(c,x) {if (z_verbose>1 && (c)) fprintf x ;} -#else -# define Assert(cond,msg) -# define Trace(x) -# define Tracev(x) -# define Tracevv(x) -# define Tracec(c,x) -# define Tracecv(c,x) -#endif - -#ifndef Z_SOLO - voidpf ZLIB_INTERNAL zcalloc OF((voidpf opaque, unsigned items, - unsigned size)); - void ZLIB_INTERNAL zcfree OF((voidpf opaque, voidpf ptr)); -#endif - -#define ZALLOC(strm, items, size) \ - (*((strm)->zalloc))((strm)->opaque, (items), (size)) -#define ZFREE(strm, addr) (*((strm)->zfree))((strm)->opaque, (voidpf)(addr)) -#define TRY_FREE(s, p) {if (p) ZFREE(s, p);} - -#endif /* ZUTIL_H */ diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/src/fmu_control.cpp b/org.simantics.modelica/FMUSolution/FMUSimulator/src/fmu_control.cpp deleted file mode 100644 index cecbc3d5..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/src/fmu_control.cpp +++ /dev/null @@ -1,759 +0,0 @@ -/* ------------------------------------------------------------------------- - * fmu_control.c - * Simulation controls for fmus - * - * Free libraries and tools used to implement this simulator: - * - header files from the FMU specification - * - eXpat 2.0.1 XML parser, see http://expat.sourceforge.net - * - 7z.exe 4.57 zip and unzip tool, see http://www.7-zip.org <---------- Replace with zlib - * Author: Teemu Lempinen - * Copyright 2012 Semantum Oy - * ------------------------------------------------------------------------- - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -extern "C" { - #include "fmi_me.h" - #include "sim_support.h" -} - -using namespace std; - - -struct FMUControlStruct { - double step; // simulation step length - fmiReal currentTime; // current simulation time - - fmiComponent c; // instance of the fmu - ScalarVariable** vars; // model variables - - fmiEventInfo eventInfo; // updated by calls to initialize and eventUpdate - const char* guid; // global unique id of the fmu - fmiCallbackFunctions callbacks; // called by the model during simulation - fmiStatus fmiFlag; // return code of the fmu functions - - map indexes; // indexes for variable names in vars-table - map::iterator it; - - int nx; // number of state variables - double *x; // continuous states - double *xdot; // the crresponding derivatives in same order - int nz; // number of state event indicators - double *z; // state event indicators - double *prez; // previous values of state event indicators - - vector subscription; // result subscriptions - vector allVariables; // all variables in an initialized model - - string lastErrorMessage; - - FMU fmu; -}; - -map fmus; // indexes for variable names in vars-table - - -int throwException(JNIEnv *env, string message) { - jclass newExcCls; - newExcCls = env->FindClass("java/lang/Exception"); - if (newExcCls == NULL) { - /* Unable to find the exception class, give up. */ - return 0; - } - env->ThrowNew(newExcCls, message.c_str()); - return 0; -} - -bool exists(string id) { - map::iterator it = fmus.find(id); - if(it != fmus.end()) { - return true; - } else { - return false; - } -} - - -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_loadFMUFile_1 - (JNIEnv *env, jobject obj, jstring id, jstring path, jstring tempDir) { - HMODULE module = NULL; - const char *fmuId = env->GetStringUTFChars(id, 0); - const char *fmuPath = env->GetStringUTFChars(path, 0); - const char *fmuTempDir = env->GetStringUTFChars(tempDir, 0); - - if(exists(fmuId)) { - // If a model has been loaded with this id, remove its contents. - // Old dll is released after loading the new from a different directory - FMUControlStruct& fmuStruct = fmus[fmuId]; - module = (HMODULE)fmuStruct.fmu.dllHandle; - if (fmuStruct.c!=NULL) fmuStruct.fmu.freeModelInstance(fmuStruct.c); - if (fmuStruct.x!=NULL) free(fmuStruct.x); - if (fmuStruct.xdot!= NULL) free(fmuStruct.xdot); - if (fmuStruct.z!= NULL) free(fmuStruct.z); - if (fmuStruct.prez!= NULL) free(fmuStruct.prez); - FMU& fmu = fmuStruct.fmu; - ModelDescription *md = fmu.modelDescription; - freeElement(md); - } else { - // Create new control struct - fmus.insert( pair(string(fmuId), FMUControlStruct()) ); - FMUControlStruct& fmuStruct = fmus[fmuId]; - fmuStruct.currentTime = 0; - - fmuStruct.c = NULL; - fmuStruct.x = NULL; - fmuStruct.xdot = NULL; - fmuStruct.z = NULL; - fmuStruct.prez = NULL; - } - - FMUControlStruct& fmuStruct = fmus[fmuId]; - // Extract fmu from fmuPath to fmuTempDir and load it to fmuStruct.fmu - int ret = loadFMU(&fmuStruct.fmu, fmuPath, fmuTempDir); - if(fmuStruct.fmu.modelDescription != NULL) - fmuStruct.vars = fmuStruct.fmu.modelDescription->modelVariables; - else - fmuStruct.vars = NULL; - - if(module != NULL) { - /* - * If there was a previously loaded fmu for this id, unload its dll here. - * This is done only after loading the new model dll to ensure that - * related dlls are not unloaded - */ - FreeLibrary(module); - } - - env->ReleaseStringUTFChars(id, fmuId); - env->ReleaseStringUTFChars(path, fmuPath); - env->ReleaseStringUTFChars(tempDir, fmuTempDir); - fflush(stdout); - - /* - * Possible error messages from sim_support.c for loadFMU - * -1. FMU path not found - * -2. Unzip failed - * -3. Loading model description failed - * -4. FMU dll load failed - */ - switch(ret) { - case -1: - ret = throwException(env, "FMU path not found"); - break; - case -2: - ret = throwException(env, "FMU Unzip failed"); - break; - case -3: - ret = throwException(env, "Loading model description failed"); - break; - case -4: - ret = throwException(env, "FMU dll load failed"); - break; - } - - return ret; -} - -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_setStepLength_1 - (JNIEnv *env, jobject obj, jstring id, jdouble stepLength) { - int ret = 1; - const char *fmuId = env->GetStringUTFChars(id, 0); - if(exists(fmuId)) { - FMUControlStruct& fmuStruct = fmus[fmuId]; - fmuStruct.step = stepLength; - } else { - ret = 0; - } - - env->ReleaseStringUTFChars(id, fmuId); - return ret; -} - -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_subscribe_1 - (JNIEnv *env, jobject obj, jstring id, jobjectArray names, jint size) { - - const char *fmuId = env->GetStringUTFChars(id, 0); - if(exists(fmuId)) { - FMUControlStruct& fmuStruct = fmus[fmuId]; - size_t count = env->GetArrayLength(names); - - - // Reinitialize subscription - fmuStruct.subscription.clear(); - if(fmuStruct.subscription.capacity() < count) - fmuStruct.subscription.reserve(count); - - // Add values in order - map::iterator it; - for (size_t i=0; iGetObjectArrayElement(names, i); - const char *name = env->GetStringUTFChars(string, 0); - it = fmuStruct.indexes.find(name); - - if(it != fmuStruct.indexes.end()) { - // Found the subscribed element - fmuStruct.subscription.push_back(fmuStruct.indexes[name]); - } else { - // Element not found, use index -1 - fmuStruct.subscription.push_back(-1); - } - env->ReleaseStringUTFChars(string, name); - } - env->ReleaseStringUTFChars(id, fmuId); - return 1; - } else { - string message = fmuId; - env->ReleaseStringUTFChars(id, fmuId); - return throwException(env, "Subscribe: Model id " + message + " not found"); - } -} - -fmiValueReference getReference(ScalarVariable **vars, int index) { - return getValueReference(vars[index]); -} - -bool referenceExists(FMUControlStruct fmuStruct, string variable) { - map::iterator it = fmuStruct.indexes.find(variable); - if(it != fmuStruct.indexes.end()) { - return true; - } else { - return false; - } -} - -// Remember to check if reference exists -fmiValueReference getReference(FMUControlStruct fmuStruct, string variable) { - return getReference(fmuStruct.vars, fmuStruct.indexes[variable]); -} - -// Get string representation of a scalar variable type -string getTypeString(ScalarVariable* sv) { - switch (sv->typeSpec->type){ - case elm_Integer: - return "Integer"; - case elm_Enumeration: - return "Enumeration"; - case elm_Real: - return "Real"; - case elm_Boolean: - return "Boolean"; - default: - return "No type"; - } -} - -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_setRealValue_1 - (JNIEnv *env, jobject obj, jstring id, jstring parameter, jdouble value) { - const char *fmuId = env->GetStringUTFChars(id, 0); - if(exists(fmuId)) { - FMUControlStruct& fmuStruct = fmus[fmuId]; - const char *name = env->GetStringUTFChars(parameter, 0); - string nameString = name; - string modelId = fmuId; - if(!referenceExists(fmuStruct, name)) { - string errorMessage = "setRealValue: Model (id " + modelId + ") does not contain variable: " + nameString; - env->ReleaseStringUTFChars(parameter, name); - env->ReleaseStringUTFChars(id, fmuId); - return throwException(env, errorMessage); - } else { - // Check variable type - ScalarVariable* sv = fmuStruct.vars[fmuStruct.indexes[name]]; - switch (sv->typeSpec->type){ - case elm_Real: - break; // ok - default: { - string errorMessage = "setRealValue: " + nameString + " is not of type Real. (type: + " + getTypeString(sv) + ")"; - env->ReleaseStringUTFChars(parameter, name); - env->ReleaseStringUTFChars(id, fmuId); - return throwException(env, errorMessage); - } - } - - // Change value - fmiValueReference vr = getReference(fmuStruct, name); - fmuStruct.fmu.setReal(fmuStruct.c, &vr, 1, &value); - env->ReleaseStringUTFChars(parameter, name); - env->ReleaseStringUTFChars(id, fmuId); - return 1; - } - - } else { - string message = fmuId; - env->ReleaseStringUTFChars(id, fmuId); - return throwException(env, "setRealValue: Model id " + message + " not found"); - } -} - -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_setIntegerValue_1 - (JNIEnv *env, jobject obj, jstring id, jstring parameter, jint value) { - const char *fmuId = env->GetStringUTFChars(id, 0); - if(exists(fmuId)) { - FMUControlStruct& fmuStruct = fmus[fmuId]; - const char *name = env->GetStringUTFChars(parameter, 0); - string nameString = name; - string modelId = fmuId; - if(!referenceExists(fmuStruct, name)) { - string errorMessage = "setIntegerValue: Model (id " + modelId + ") does not contain variable: " + nameString; - env->ReleaseStringUTFChars(parameter, name); - env->ReleaseStringUTFChars(id, fmuId); - return throwException(env, errorMessage); - } else { - // Check variable type - ScalarVariable* sv = fmuStruct.vars[fmuStruct.indexes[name]]; - switch (sv->typeSpec->type){ - case elm_Integer: - break; // ok - default: { - string errorMessage = "setIntegerValue: " + nameString + " is not of type Integer. (type: + " + getTypeString(sv) + ")"; - env->ReleaseStringUTFChars(parameter, name); - env->ReleaseStringUTFChars(id, fmuId); - return throwException(env, errorMessage); - } - } - - // Change value - fmiValueReference vr = getReference(fmuStruct, name); - const int intValue = (int) value; - fmuStruct.fmu.setInteger(fmuStruct.c, &vr, 1, &intValue); - env->ReleaseStringUTFChars(parameter, name); - env->ReleaseStringUTFChars(id, fmuId); - return 1; - } - } else { - string message = fmuId; - env->ReleaseStringUTFChars(id, fmuId); - return throwException(env, "setIntegerValue: Model id " + message + " not found"); - } -} - -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_setBooleanValue_1 - (JNIEnv *env, jobject obj, jstring id, jstring parameter, jboolean value) { - const char *fmuId = env->GetStringUTFChars(id, 0); - if(exists(fmuId)) { - FMUControlStruct& fmuStruct = fmus[fmuId]; - const char *name = env->GetStringUTFChars(parameter, 0); - string nameString = name; - string modelId = fmuId; - if(!referenceExists(fmuStruct, name)) { - string errorMessage = "setBooleanValue: Model (id " + modelId + ") does not contain variable: " + nameString; - env->ReleaseStringUTFChars(parameter, name); - env->ReleaseStringUTFChars(id, fmuId); - return throwException(env, errorMessage); - } else { - // Check variable type - ScalarVariable* sv = fmuStruct.vars[fmuStruct.indexes[name]]; - switch (sv->typeSpec->type){ - case elm_Boolean: - break; // ok - default: { - string errorMessage = "setBooleanValue: " + nameString + " is not of type Boolean. (type: + " + getTypeString(sv) + ")"; - env->ReleaseStringUTFChars(parameter, name); - env->ReleaseStringUTFChars(id, fmuId); - return throwException(env, errorMessage); - } - } - - // Change value - fmiValueReference vr = getReference(fmuStruct, name); - fmiBoolean result = 1; - if(value == 0) - result = 0; - fmuStruct.fmu.setBoolean(fmuStruct.c, &vr, 1, &result); - env->ReleaseStringUTFChars(parameter, name); - env->ReleaseStringUTFChars(id, fmuId); - return 1; - } - } else { - string message = fmuId; - env->ReleaseStringUTFChars(id, fmuId); - return throwException(env, "setBooleanValue: Model id " + message + " not found"); - } -} - -JNIEXPORT jdouble JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_getTime_1 - (JNIEnv *env, jobject obj, jstring id) { - const char *fmuId = env->GetStringUTFChars(id, 0); - if(exists(fmuId)) { - FMUControlStruct& fmuStruct = fmus[fmuId]; - env->ReleaseStringUTFChars(id, fmuId); - return fmuStruct.currentTime; - } else { - string message = fmuId; - env->ReleaseStringUTFChars(id, fmuId); - throwException(env, "getTime: Model id " + message + " not found"); - return 0.0; - } -} - -double getRealValue(FMUControlStruct fmuStruct, ScalarVariable *sv) { - fmiValueReference vr = getValueReference(sv); - double real; - fmiInteger integer; - fmiBoolean fmibool; - - switch (sv->typeSpec->type){ - case elm_Real: - fmuStruct.fmu.getReal(fmuStruct.c, &vr, 1, &real); - break; - case elm_Integer: - case elm_Enumeration: - fmuStruct.fmu.getInteger(fmuStruct.c, &vr, 1, &integer); - real = (double)integer; - break; - case elm_Boolean: - fmuStruct.fmu.getBoolean(fmuStruct.c, &vr, 1, &fmibool); - if(fmibool == fmiTrue) - real = 1.0; - else - real = 0.0; - break; - } - return real; -} - -JNIEXPORT jdoubleArray JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_getSubscribedResults_1 - (JNIEnv *env, jobject obj, jstring id, jdoubleArray result) { - - const char *fmuId = env->GetStringUTFChars(id, 0); - if(exists(fmuId)) { - FMUControlStruct& fmuStruct = fmus[fmuId]; - env->ReleaseStringUTFChars(id, fmuId); - - jboolean isCopy; - jdouble* resultElements = env -> GetDoubleArrayElements(result, &isCopy); - jsize n = env -> GetArrayLength(result); - int i; - for (i = 0; i < n; i++) { - if(fmuStruct.subscription.empty() || fmuStruct.fmu.modelDescription == NULL) { - // no subscription or model not initialized - resultElements[i] = 0; - } else if(fmuStruct.subscription[i] < 0) { - // Variable does not exist - resultElements[i] = 0; - } else { - // Get value - resultElements[i] = getRealValue(fmuStruct, fmuStruct.vars[fmuStruct.subscription[i]]); - } - } - if (isCopy == JNI_TRUE) { - env -> ReleaseDoubleArrayElements(result, resultElements, 0); - } - } else { - string message = fmuId; - env->ReleaseStringUTFChars(id, fmuId); - throwException(env, "getTime: Model id " + message + " not found"); - } - - return result; -} - -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_initializeSimulation_1 - (JNIEnv *env, jobject obj, jstring id) { - - const char *fmuId = env->GetStringUTFChars(id, 0); - if(exists(fmuId)) { - FMUControlStruct& fmuStruct = fmus[fmuId]; - env->ReleaseStringUTFChars(id, fmuId); - - int k; - string s; - - - FMU& fmu = fmuStruct.fmu; - - //ModelDescription* md = fmu.modelDescription; - if(fmu.modelDescription == NULL) - return throwException(env, "No FMU loaded"); - - fmiBoolean toleranceControlled = fmiFalse; - - fmuStruct.currentTime = 0; // start time - - // instantiate the fmu - fmuStruct.guid = getString(fmu.modelDescription, att_guid); - fmuStruct.callbacks.logger = fmuLogger; - fmuStruct.callbacks.allocateMemory = calloc; - fmuStruct.callbacks.freeMemory = free; - fmu.instantiateModel(getModelIdentifier(fmu.modelDescription), fmuStruct.guid, fmuStruct.callbacks, fmiFalse); - fmuStruct.c = fmu.instantiateModel(getModelIdentifier(fmu.modelDescription), fmuStruct.guid, fmuStruct.callbacks, fmiFalse); - if (!fmuStruct.c) return throwException(env, "could not instantiate model"); - - // allocate memory - fmuStruct.nx = getNumberOfStates(fmu.modelDescription); - fmuStruct.nz = getNumberOfEventIndicators(fmu.modelDescription); // - - fmuStruct.x = (double *) calloc(fmuStruct.nx, sizeof(double)); - fmuStruct.xdot = (double *) calloc(fmuStruct.nx, sizeof(double)); - - if (fmuStruct.nz>0) { // - fmuStruct.z = (double *) calloc(fmuStruct.nz, sizeof(double)); // - fmuStruct.prez = (double *) calloc(fmuStruct.nz, sizeof(double)); // - } - - //if (!x || !xdot) return error("out of memory"); - if (!fmuStruct.x || !fmuStruct.xdot || fmuStruct.nz>0 && (!fmuStruct.z || !fmuStruct.prez)) return throwException(env, "out of memory"); - - // set the start time and initialize - fmuStruct.fmiFlag = fmu.setTime(fmuStruct.c, fmuStruct.currentTime); - if (fmuStruct.fmiFlag > fmiWarning) return throwException(env, "could not set time"); - fmuStruct.fmiFlag = fmu.initialize(fmuStruct.c, toleranceControlled, fmuStruct.currentTime, &(fmuStruct.eventInfo)); - if (fmuStruct.fmiFlag > fmiWarning) return throwException(env, "could not initialize model"); - - // Clear all variables -vector - fmuStruct.allVariables.clear(); - - // Initialize variable index map and variable vector - fmuStruct.indexes.clear(); - for (k=0; fmuStruct.vars[k]; k++) { - ScalarVariable* sv = fmuStruct.vars[k]; - s = getName(sv); - fmuStruct.indexes.insert ( pair(s,k) ); - } - - fflush(stdout); - return 1; - - } else { - string message = fmuId; - env->ReleaseStringUTFChars(id, fmuId); - return throwException(env, "initializeSimulation: Model id " + message + " not found"); - } -} - -jobjectArray filterVariables(JNIEnv *env, jobject obj, jstring id, string regexp) { - const char *fmuId = env->GetStringUTFChars(id, 0); - if(exists(fmuId)) { - FMUControlStruct& fmuStruct = fmus[fmuId]; - env->ReleaseStringUTFChars(id, fmuId); - jobjectArray ret; - size_t i; - string s; - // all variables -vector is empty - fill it. - // it is cleared when a new model is initialized. - if(fmuStruct.allVariables.size() < 1) { - for (i=0; fmuStruct.vars[i]; i++) { - ScalarVariable* sv = fmuStruct.vars[i]; - s = getName(sv); - tr1::regex rx(regexp); - if(regex_match(s.begin(), s.end(), rx)) - fmuStruct.allVariables.push_back(s); - } - } - - ret= (jobjectArray)env->NewObjectArray(fmuStruct.allVariables.size(), - env->FindClass("java/lang/String"), - env->NewStringUTF("")); - - for(i=0;iSetObjectArrayElement(ret,i,env->NewStringUTF(fmuStruct.allVariables[i].c_str())); - } - return ret; - - } else { - string message = fmuId; - env->ReleaseStringUTFChars(id, fmuId); - throwException(env, "getAllVariables: Model id " + message + " not found"); - return (jobjectArray)env->NewObjectArray(0, - env->FindClass("java/lang/String"), - env->NewStringUTF("")); - } -} - -JNIEXPORT jobjectArray JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_getAllVariables_1 - (JNIEnv *env, jobject obj, jstring id) { - return filterVariables(env, obj, id, "(.*)"); -} - -JNIEXPORT jobjectArray JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_filterVariables_1 - (JNIEnv *env, jobject obj, jstring id, jstring regexp) { - const char *rx = env->GetStringUTFChars(regexp, 0); - jobjectArray result = filterVariables(env, obj, id, rx); - env->ReleaseStringUTFChars(regexp, rx); - return result; -} - -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_simulateStep_1 - (JNIEnv *env, jobject obj, jstring id) { - const char *fmuId = env->GetStringUTFChars(id, 0); - if(exists(fmuId)) { - FMUControlStruct& fmuStruct = fmus[fmuId]; - env->ReleaseStringUTFChars(id, fmuId); - - if(&fmuStruct.fmu == NULL || fmuStruct.fmu.modelDescription == NULL || &fmuStruct.vars == NULL) { - return throwException(env, "Simulate step failed - fmu not loaded"); - } - - if(fmuStruct.x == NULL) { - return throwException(env, "Simulate step failed - fmu not initialized"); - } - - FMU& fmu = fmuStruct.fmu; - int debug = 0; // DEBUG ON = 1, OFF = 0 - - int i; - double dt, tPre, tEnd = fmuStruct.currentTime + fmuStruct.step; - - fmiBoolean timeEvent, stateEvent, stepEvent; - fmiStatus fmiFlag; // return code of the fmu functions - fmiValueReference vr; - - - - /* Simulate the duration of one step. The simulation may be done in - * multiple parts if events occur - */ - while (fmuStruct.currentTime < tEnd) { - // get current state and derivatives - fmiFlag = fmu.getContinuousStates(fmuStruct.c, fmuStruct.x, fmuStruct.nx); - if (fmiFlag > fmiWarning) - return throwException(env, "could not retrieve states"); - - fmiFlag = fmu.getDerivatives(fmuStruct.c, fmuStruct.xdot, fmuStruct.nx); - if (fmiFlag > fmiWarning) - return throwException(env, "could not retrieve derivatives"); - - // advance time - tPre = fmuStruct.currentTime; - fmuStruct.currentTime = min(fmuStruct.currentTime+fmuStruct.step, tEnd); - timeEvent = fmuStruct.eventInfo.upcomingTimeEvent && fmuStruct.eventInfo.nextEventTime < fmuStruct.currentTime; - - if (timeEvent) fmuStruct.currentTime = fmuStruct.eventInfo.nextEventTime; - dt = fmuStruct.currentTime - tPre; - fmiFlag = fmu.setTime(fmuStruct.c, fmuStruct.currentTime); - if (fmiFlag > fmiWarning) throwException(env, "could not set time"); - - vr = getReference(fmuStruct, "time"); - if(vr != NULL) { - fmu.setReal(fmuStruct.c, &vr, 1, &(fmuStruct.currentTime)); - } - - if(debug) - printf("Actual time: %lf\n", fmuStruct.currentTime); - - if (fmiFlag > fmiWarning) - return throwException(env, "could not set time"); - - // perform one step - for (i=0; i fmiWarning) - return throwException(env, "could not set states"); - - // Check for step event, e.g. dynamic state selection - fmiFlag = fmu.completedIntegratorStep(fmuStruct.c, &stepEvent); - if (fmiFlag > fmiWarning) return throwException(env, "could not complete intgrator step"); - - for (i=0; i fmiWarning) return throwException(env, "could not retrieve event indicators"); - stateEvent = FALSE; - for (i=0; i fmiWarning) return throwException(env, "could not perform event update"); - - } // if event - - } - - fflush(stdout); - return 1; - - } else { - string message = fmuId; - env->ReleaseStringUTFChars(id, fmuId); - return throwException(env, "simulateStep: Model id " + message + " not found"); - } -} - -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_unloadFMU_1 - (JNIEnv *env, jobject obj, jstring id) { - /* terminate crashes -Teemu - if(! eventInfo.terminateSimulation) ; - fmu.terminate(c); - */ - const char *fmuId = env->GetStringUTFChars(id, 0); - if(exists(fmuId)) { - FMUControlStruct& fmuStruct = fmus[fmuId]; - fmus.erase(fmuId); - env->ReleaseStringUTFChars(id, fmuId); - if(fmuStruct.fmu.modelDescription != NULL) { - - fmuStruct.fmu.freeModelInstance(fmuStruct.c); - freeElement(fmuStruct.fmu.modelDescription); - FreeLibrary((HMODULE)fmuStruct.fmu.dllHandle); - if (fmuStruct.x!=NULL) free(fmuStruct.x); - if (fmuStruct.xdot!= NULL) free(fmuStruct.xdot); - if (fmuStruct.z!= NULL) free(fmuStruct.z); - if (fmuStruct.prez!= NULL) free(fmuStruct.prez); - return 1; - - } else { - - if (fmuStruct.x!=NULL) free(fmuStruct.x); - if (fmuStruct.xdot!= NULL) free(fmuStruct.xdot); - if (fmuStruct.z!= NULL) free(fmuStruct.z); - if (fmuStruct.prez!= NULL) free(fmuStruct.prez); - return throwException(env, "FMU not loaded"); - } - - } else { - string message = fmuId; - env->ReleaseStringUTFChars(id, fmuId); - return throwException(env, "unloadFMU: Model id " + message + " not found"); - } -} - -JNIEXPORT jstring JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_getLastErrorMessage_1 - (JNIEnv *env, jobject obj, jstring id) { - return env->NewStringUTF("No errors"); -} - -JNIEXPORT jdouble JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_getRealValue_1 - (JNIEnv *env, jobject obj, jstring id, jstring variable) { - const char *fmuId = env->GetStringUTFChars(id, 0); - if(exists(fmuId)) { - FMUControlStruct fmuStruct = fmus[fmuId]; - env->ReleaseStringUTFChars(id, fmuId); - const char *name = env->GetStringUTFChars(variable, 0); - - fmiValueReference vr = getReference(fmuStruct, name); - - if(vr == NULL) { - string nameString = name; - string message = "Variable " + nameString + " not found"; - env->ReleaseStringUTFChars(variable, name); - return throwException(env, message); - } else { - double real; - fmuStruct.fmu.getReal(fmuStruct.c, &vr, 1, &real); - env->ReleaseStringUTFChars(variable, name); - return real; - } - - } else { - string message = fmuId; - env->ReleaseStringUTFChars(id, fmuId); - return throwException(env, "unloadFMU: Model id " + message + " not found"); - } - -} diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/src/sim_support.c b/org.simantics.modelica/FMUSolution/FMUSimulator/src/sim_support.c deleted file mode 100644 index b13dd783..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/src/sim_support.c +++ /dev/null @@ -1,508 +0,0 @@ -/* ------------------------------------------------------------------------- - * sim_support.c - * Functions used by both FMU simulators fmusim_me and fmusim_cs - * to parse command-line arguments, to unzip and load an fmu, - * to write CSV file, and more. - * Copyright 2011 QTronic GmbH. All rights reserved. - * -------------------------------------------------------------------------*/ - -#include -#include -#include -#include -#include - -#ifdef FMI_COSIMULATION -#include "fmi_cs.h" -#else -#include "fmi_me.h" -#endif - -#include "sim_support.h" -#include "fmuExtract.h" - -int unzip(const char *zipPath, const char *outPath) { - //int code; - //char cwd[BUFSIZE]; - //char binPath[BUFSIZE]; - //int n = strlen(UNZIP_CMD) + strlen(outPath) + 1 + strlen(zipPath) + 9; - //char* cmd = (char*)calloc(sizeof(char), n); - - //// remember current directory - //if (!GetCurrentDirectory(BUFSIZE, cwd)) { - // printf ("error: Could not get current directory\n"); - // return 0; // error - //} - // - //// change to %FMUSDK_HOME%\bin to find 7z.dll and 7z.exe - //if (!GetEnvironmentVariable("FMUSDK_HOME", binPath, BUFSIZE)) { - // if (GetLastError() == ERROR_ENVVAR_NOT_FOUND) { - // printf ("error: Environment variable FMUSDK_HOME not defined\n"); - // } - // else { - // printf ("error: Could not get value of FMUSDK_HOME\n"); - // } - // return 0; // error - //} - //strcat(binPath, "\\bin"); - //if (!SetCurrentDirectory(binPath)) { - // printf ("error: could not change to directory '%s'\n", binPath); - // return 0; // error - //} - - //// run the unzip command - //// remove "> NUL" to see the unzip protocol - //sprintf(cmd, "%s%s \"%s\" > NUL", UNZIP_CMD, outPath, zipPath); - //// printf("cmd='%s'\n", cmd); - //code = system(cmd); - //free(cmd); - //if (code!=SEVEN_ZIP_NO_ERROR) { - // switch (code) { - // printf("7z: "); - // case SEVEN_ZIP_WARNING: printf("warning\n"); break; - // case SEVEN_ZIP_ERROR: printf("error\n"); break; - // case SEVEN_ZIP_COMMAND_LINE_ERROR: printf("command line error\n"); break; - // case SEVEN_ZIP_OUT_OF_MEMORY: printf("out of memory\n"); break; - // case SEVEN_ZIP_STOPPED_BY_USER: printf("stopped by user\n"); break; - // default: printf("unknown problem\n"); - // } - //} - // - //// restore current directory - //SetCurrentDirectory(cwd); - // - //return (code==SEVEN_ZIP_NO_ERROR || code==SEVEN_ZIP_WARNING) ? 1 : 0; - - // Get current directory - TCHAR s[260]; - DWORD a = GetCurrentDirectory(260, s); - - int ret = unzipFMU(zipPath, outPath); // unzip changes the current directory - - // Restore current direcory - SetCurrentDirectory(s); - return ret; -} - -// fileName is an absolute path, e.g. C:\test\a.fmu -// or relative to the current dir, e.g. ..\test\a.fmu -// Does not check for existence of the file -static char* getFmuPath(const char* fileName){ - char pathName[MAX_PATH]; - int n = GetFullPathName(fileName, MAX_PATH, pathName, NULL); - return n ? strdup(pathName) : NULL; -} - -int tmpPathRequests = 0; -static char* getTmpPath() { - char tmpPath[BUFSIZE]; - if(! GetTempPath(BUFSIZE, tmpPath)) { - printf ("error: Could not find temporary disk space\n"); - return NULL; - } - if(tmpPathRequests % 2 == 0) { - strcat(tmpPath, "fmu\\"); - tmpPathRequests++; - } else { - strcat(tmpPath, "fmu2\\"); - tmpPathRequests = 0; - } - - makedir(tmpPath); - - return strdup(tmpPath); -} - -static void* getAdr(int* s, FMU *fmu, const char* functionName){ - char name[BUFSIZE]; - void* fp; - sprintf(name, "%s_%s", getModelIdentifier(fmu->modelDescription), functionName); - fp = GetProcAddress(fmu->dllHandle, name); - if (!fp) { - printf ("warning: Function %s not found in dll\n", name); - *s = 0; // mark dll load as 'failed' - } - return fp; -} - -// Load the given dll and set function pointers in fmu -// Return 0 to indicate failure -static int loadDll(const char* dllPath, FMU *fmu) { - int x = 1, s = 1; - HANDLE h = LoadLibrary(dllPath); - if (!h) { - printf("error: Could not load %s\n", dllPath); - return 0; // failure - } - fmu->dllHandle = h; - -#ifdef FMI_COSIMULATION - fmu->getTypesPlatform = (fGetTypesPlatform) getAdr(&s, fmu, "fmiGetTypesPlatform"); - if (s==0) { - s = 1; // work around bug for FMUs exported using Dymola 2012 and SimulationX 3.x - fmu->getTypesPlatform = (fGetTypesPlatform) getAdr(&s, fmu, "fmiGetModelTypesPlatform"); - if (s==1) printf(" using fmiGetModelTypesPlatform instead\n", dllPath); - } - fmu->instantiateSlave = (fInstantiateSlave) getAdr(&s, fmu, "fmiInstantiateSlave"); - fmu->initializeSlave = (fInitializeSlave) getAdr(&s, fmu, "fmiInitializeSlave"); - fmu->terminateSlave = (fTerminateSlave) getAdr(&s, fmu, "fmiTerminateSlave"); - fmu->resetSlave = (fResetSlave) getAdr(&s, fmu, "fmiResetSlave"); - fmu->freeSlaveInstance = (fFreeSlaveInstance) getAdr(&s, fmu, "fmiFreeSlaveInstance"); - fmu->setRealInputDerivatives = (fSetRealInputDerivatives) getAdr(&s, fmu, "fmiSetRealInputDerivatives"); - fmu->getRealOutputDerivatives = (fGetRealOutputDerivatives) getAdr(&s, fmu, "fmiGetRealOutputDerivatives"); - fmu->cancelStep = (fCancelStep) getAdr(&s, fmu, "fmiCancelStep"); - fmu->doStep = (fDoStep) getAdr(&s, fmu, "fmiDoStep"); - // SimulationX 3.4 and 3.5 do not yet export getStatus and getXStatus: do not count this as failure here - fmu->getStatus = (fGetStatus) getAdr(&x, fmu, "fmiGetStatus"); - fmu->getRealStatus = (fGetRealStatus) getAdr(&x, fmu, "fmiGetRealStatus"); - fmu->getIntegerStatus = (fGetIntegerStatus) getAdr(&x, fmu, "fmiGetIntegerStatus"); - fmu->getBooleanStatus = (fGetBooleanStatus) getAdr(&x, fmu, "fmiGetBooleanStatus"); - fmu->getStringStatus = (fGetStringStatus) getAdr(&x, fmu, "fmiGetStringStatus"); - -#else // FMI for Model Exchange 1.0 - fmu->getModelTypesPlatform = (fGetModelTypesPlatform) getAdr(&s, fmu, "fmiGetModelTypesPlatform"); - fmu->instantiateModel = (fInstantiateModel) getAdr(&s, fmu, "fmiInstantiateModel"); - fmu->freeModelInstance = (fFreeModelInstance) getAdr(&s, fmu, "fmiFreeModelInstance"); - fmu->setTime = (fSetTime) getAdr(&s, fmu, "fmiSetTime"); - fmu->setContinuousStates = (fSetContinuousStates)getAdr(&s, fmu, "fmiSetContinuousStates"); - fmu->completedIntegratorStep = (fCompletedIntegratorStep)getAdr(&s, fmu, "fmiCompletedIntegratorStep"); - fmu->initialize = (fInitialize) getAdr(&s, fmu, "fmiInitialize"); - fmu->getDerivatives = (fGetDerivatives) getAdr(&s, fmu, "fmiGetDerivatives"); - fmu->getEventIndicators = (fGetEventIndicators) getAdr(&s, fmu, "fmiGetEventIndicators"); - fmu->eventUpdate = (fEventUpdate) getAdr(&s, fmu, "fmiEventUpdate"); - fmu->getContinuousStates = (fGetContinuousStates)getAdr(&s, fmu, "fmiGetContinuousStates"); - fmu->getNominalContinuousStates = (fGetNominalContinuousStates)getAdr(&s, fmu, "fmiGetNominalContinuousStates"); - fmu->getStateValueReferences = (fGetStateValueReferences)getAdr(&s, fmu, "fmiGetStateValueReferences"); - fmu->terminate = (fTerminate) getAdr(&s, fmu, "fmiTerminate"); -#endif - fmu->getVersion = (fGetVersion) getAdr(&s, fmu, "fmiGetVersion"); - fmu->setDebugLogging = (fSetDebugLogging) getAdr(&s, fmu, "fmiSetDebugLogging"); - fmu->setReal = (fSetReal) getAdr(&s, fmu, "fmiSetReal"); - fmu->setInteger = (fSetInteger) getAdr(&s, fmu, "fmiSetInteger"); - fmu->setBoolean = (fSetBoolean) getAdr(&s, fmu, "fmiSetBoolean"); - fmu->setString = (fSetString) getAdr(&s, fmu, "fmiSetString"); - fmu->getReal = (fGetReal) getAdr(&s, fmu, "fmiGetReal"); - fmu->getInteger = (fGetInteger) getAdr(&s, fmu, "fmiGetInteger"); - fmu->getBoolean = (fGetBoolean) getAdr(&s, fmu, "fmiGetBoolean"); - fmu->getString = (fGetString) getAdr(&s, fmu, "fmiGetString"); - return s; -} - -static void printModelDescription(ModelDescription* md){ - Element* e = (Element*)md; - int i; - printf("%s\n", elmNames[e->type]); - for (i=0; in; i+=2) - printf(" %s=%s\n", e->attributes[i], e->attributes[i+1]); -#ifdef FMI_COSIMULATION - if (!md->cosimulation) { - printf("error: No Implementation element found in model description. This FMU is not for Co-Simulation.\n"); - exit(EXIT_FAILURE); - } - e = md->cosimulation->capabilities; - printf("%s\n", elmNames[e->type]); - for (i=0; in; i+=2) - printf(" %s=%s\n", e->attributes[i], e->attributes[i+1]); -#endif // FMI_COSIMULATION -} - -/* - * return: 1 for successful laod or number for error. - * -1. FMU path not found - * -2. Unzip failed - * -3. Loading model description failed - * -4. FMU dll load failed - */ -int loadFMU(FMU *fmu, const char* fmuFileName, const char* tmpPath) { - char* fmuPath; - char* xmlPath; - char* dllPath; - unsigned old_clock = clock(); - unsigned current_clock = 0;//will be assigned later - - // get absolute path to FMU, NULL if not found - fmuPath = getFmuPath(fmuFileName); - if (!fmuPath) return -1; // path not found - - // unzip the FMU to the tmpPath directory - if (unzip(fmuPath, tmpPath)) return -2; // unzip failed - - // parse tmpPath\modelDescription.xml - xmlPath = calloc(sizeof(char), strlen(tmpPath) + strlen(XML_FILE) + 1); - sprintf(xmlPath, "%s%s", tmpPath, XML_FILE); - fmu->modelDescription = parse(xmlPath); - free(xmlPath); - if (!fmu->modelDescription) return -3; // loading model description failed - - // printModelDescription(fmu.modelDescription); - // fflush(stdout); - - // load the FMU dll - dllPath = calloc(sizeof(char), strlen(tmpPath) + strlen(DLL_DIR) - + strlen( getModelIdentifier(fmu->modelDescription)) + strlen(".dll") + 1); - sprintf(dllPath,"%s%s%s.dll", tmpPath, DLL_DIR, getModelIdentifier(fmu->modelDescription)); - if (!loadDll(dllPath, fmu)) return -4; // loading dll failed - - free(dllPath); - free(fmuPath); - - return 1; -} - -static void doubleToCommaString(char* buffer, double r){ - char* comma; - sprintf(buffer, "%.16g", r); - comma = strchr(buffer, '.'); - if (comma) *comma = ','; -} - -// output time and all non-alias variables in CSV format -// if separator is ',', columns are separated by ',' and '.' is used for floating-point numbers. -// otherwise, the given separator (e.g. ';' or '\t') is to separate columns, and ',' is used -// as decimal dot in floating-point numbers. -void outputRow(FMU *fmu, fmiComponent c, double time, FILE* file, char separator, boolean header) { - int k; - fmiReal r; - fmiInteger i; - fmiBoolean b; - fmiString s; - fmiValueReference vr; - ScalarVariable** vars = fmu->modelDescription->modelVariables; - char buffer[32]; - - // print first column - if (header) - fprintf(file, "time"); - else { - if (separator==',') - fprintf(file, "%.16g", time); - else { - // separator is e.g. ';' or '\t' - doubleToCommaString(buffer, time); - fprintf(file, "%s", buffer); - } - } - - // print all other columns - for (k=0; vars[k]; k++) { - ScalarVariable* sv = vars[k]; - if (getAlias(sv)!=enu_noAlias) continue; - if (header) { - // output names only - if (separator==',') { - // treat array element, e.g. print a[1, 2] as a[1.2] - char* s = getName(sv); - fprintf(file, "%c", separator); - while (*s) { - if (*s!=' ') fprintf(file, "%c", *s==',' ? '.' : *s); - s++; - } - } - else - fprintf(file, "%c%s", separator, getName(sv)); - } - else { - // output values - vr = getValueReference(sv); - switch (sv->typeSpec->type){ - case elm_Real: - fmu->getReal(c, &vr, 1, &r); - if (separator==',') - fprintf(file, ",%.16g", r); - else { - // separator is e.g. ';' or '\t' - doubleToCommaString(buffer, r); - fprintf(file, "%c%s", separator, buffer); - } - break; - case elm_Integer: - case elm_Enumeration: - fmu->getInteger(c, &vr, 1, &i); - fprintf(file, "%c%d", separator, i); - break; - case elm_Boolean: - fmu->getBoolean(c, &vr, 1, &b); - fprintf(file, "%c%d", separator, b); - break; - case elm_String: - fmu->getString(c, &vr, 1, &s); - fprintf(file, "%c%s", separator, s); - break; - default: - fprintf(file, "%cNoValueForType=%d", separator,sv->typeSpec->type); - } - } - } // for - - // terminate this row - fprintf(file, "\n"); -} - -static const char* fmiStatusToString(fmiStatus status){ - switch (status){ - case fmiOK: return "ok"; - case fmiWarning: return "warning"; - case fmiDiscard: return "discard"; - case fmiError: return "error"; - case fmiFatal: return "fatal"; -#ifdef FMI_COSIMULATION - case fmiPending: return "fmiPending"; -#endif - default: return "?"; - } -} - -// search a fmu for the given variable -// return NULL if not found or vr = fmiUndefinedValueReference -static ScalarVariable* getSV(FMU* fmu, char type, fmiValueReference vr) { - int i; - Elm tp; - ScalarVariable** vars = fmu->modelDescription->modelVariables; - if (vr==fmiUndefinedValueReference) return NULL; - switch (type) { - case 'r': tp = elm_Real; break; - case 'i': tp = elm_Integer; break; - case 'b': tp = elm_Boolean; break; - case 's': tp = elm_String; break; - } - for (i=0; vars[i]; i++) { - ScalarVariable* sv = vars[i]; - if (vr==getValueReference(sv) && tp==sv->typeSpec->type) - return sv; - } - return NULL; -} - -// replace e.g. #r1365# by variable name and ## by # in message -// copies the result to buffer -static void replaceRefsInMessage(const char* msg, char* buffer, int nBuffer, FMU* fmu){ - int i=0; // position in msg - int k=0; // position in buffer - int n; - char c = msg[i]; - while (c!='\0' && k < nBuffer) { - if (c!='#') { - buffer[k++]=c; - i++; - c = msg[i]; - } - else { - char* end = strchr(msg+i+1, '#'); - if (!end) { - printf("unmatched '#' in '%s'\n", msg); - buffer[k++]='#'; - break; - } - n = end - (msg+i); - if (n==1) { - // ## detected, output # - buffer[k++]='#'; - i += 2; - c = msg[i]; - } - else { - char type = msg[i+1]; // one of ribs - fmiValueReference vr; - int nvr = sscanf(msg+i+2, "%u", &vr); - if (nvr==1) { - // vr of type detected, e.g. #r12# - ScalarVariable* sv = getSV(fmu, type, vr); - const char* name = sv ? getName(sv) : "?"; - sprintf(buffer+k, "%s", name); - k += strlen(name); - i += (n+1); - c = msg[i]; - } - else { - // could not parse the number - printf("illegal value reference at position %d in '%s'\n", i+2, msg); - buffer[k++]='#'; - break; - } - } - } - } // while - buffer[k] = '\0'; -} - -#define MAX_MSG_SIZE 1000 -void fmuLogger(FMU *fmu, fmiComponent c, fmiString instanceName, fmiStatus status, - fmiString category, fmiString message, ...) { - char msg[MAX_MSG_SIZE]; - char* copy; - va_list argp; - - // replace C format strings - va_start(argp, message); - vsprintf(msg, message, argp); - - // replace e.g. ## and #r12# - copy = strdup(msg); - replaceRefsInMessage(copy, msg, MAX_MSG_SIZE, fmu); - free(copy); - - // print the final message - if (!instanceName) instanceName = "?"; - if (!category) category = "?"; - printf("%s %s (%s): %s\n", fmiStatusToString(status), instanceName, category, msg); -} - -int error(const char* message){ - printf("%s\n", message); - return 0; -} - -void parseArguments(int argc, char *argv[], char** fmuFileName, double* tEnd, double* h, int* loggingOn, char* csv_separator) { - // parse command line arguments - if (argc>1) { - *fmuFileName = argv[1]; - } - else { - printf("error: no fmu file\n"); - printHelp(argv[0]); - exit(EXIT_FAILURE); - } - if (argc>2) { - if (sscanf(argv[2],"%lf", tEnd) != 1) { - printf("error: The given end time (%s) is not a number\n", argv[2]); - exit(EXIT_FAILURE); - } - } - if (argc>3) { - if (sscanf(argv[3],"%lf", h) != 1) { - printf("error: The given stepsize (%s) is not a number\n", argv[3]); - exit(EXIT_FAILURE); - } - } - if (argc>4) { - if (sscanf(argv[4],"%d", loggingOn) != 1 || *loggingOn<0 || *loggingOn>1) { - printf("error: The given logging flag (%s) is not boolean\n", argv[4]); - exit(EXIT_FAILURE); - } - } - if (argc>5) { - if (strlen(argv[5]) != 1) { - printf("error: The given CSV separator char (%s) is not valid\n", argv[5]); - exit(EXIT_FAILURE); - } - switch (argv[5][0]) { - case 'c': *csv_separator = ','; break; // comma - case 's': *csv_separator = ';'; break; // semicolon - default: *csv_separator = argv[5][0]; break; // any other char - } - } - if (argc>6) { - printf("warning: Ignoring %d additional arguments: %s ...\n", argc-6, argv[6]); - printHelp(argv[0]); - } -} - -void printHelp(const char* fmusim) { - printf("command syntax: %s \n", fmusim); - printf(" .... path to FMU, relative to current dir or absolute, required\n"); - printf(" ......... end time of simulation, optional, defaults to 1.0 sec\n"); - printf(" ............ step size of simulation, optional, defaults to 0.1 sec\n"); - printf(" .... 1 to activate logging, optional, defaults to 0\n"); - printf(" . separator in csv file, optional, c for ';', s for';', defaults to c\n"); -} - diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/src/stack.c b/org.simantics.modelica/FMUSolution/FMUSimulator/src/stack.c deleted file mode 100644 index 042b796b..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/src/stack.c +++ /dev/null @@ -1,85 +0,0 @@ -/* ------------------------------------------------------------------------- - * stack.c - * A stack of pointers. - * Copyright 2010 QTronic GmbH. All rights reserved. - * -------------------------------------------------------------------------*/ - -#include -#include -#include -#include "stack.h" - -Stack* stackNew(int initialSize, int inc){ - Stack* s = (Stack*)malloc(sizeof(Stack)); - s->stack = NULL; - s->stackSize = 0; - s->stackPos = -1; - s->initialSize = initialSize; - s->inc = inc; - return s; -} - -int stackIsEmpty(Stack* s) { - return s->stackPos == -1; -} - -// add an element to stack and grow stack if required -// returns 1 to indicate success and 0 for error -int stackPush(Stack* s, void* e) { - s->stackPos++; - if (s->stackPos==s->stackSize){ - s->stackSize += (s->stack ? s->inc: s->initialSize); - s->stack = (void**) realloc(s->stack, s->stackSize * sizeof(void*)); - if (!s->stack) return 0; // error; - } - s->stack[s->stackPos] = e; - return 1; // success -} - -// return top element (possibly NULL), if stack not empty -// runtime error if stack is empty -void* stackPeek(Stack* s){ - assert(!stackIsEmpty(s)); - return s->stack[s->stackPos]; -} - -// remove top element (possibly NULL) from stack and return it -// runtime error if stack is empty -void* stackPop(Stack* s){ - assert(!stackIsEmpty(s)); - return s->stack[s->stackPos--]; -} - -// return the last n elements as null terminated array, -// or NULL if memory allocation fails -void** stackLastPopedAsArray0(Stack* s, int n){ - int i; - void** array = (void**)malloc((n + 1)*sizeof(void*)); - if (! array) return NULL; // failure - for (i=0; istack[i+ s->stackPos + 1]; - } - array[n]=NULL; // terminating NULL - return array; -} - -// return stack as possibly empty array, or NULL if memory allocation fails -// On sucessful return, the stack is empty. -void** stackPopAllAsArray(Stack* s, int *size) { - int i; - void** array = (void**)malloc((s->stackPos + 1)*sizeof(void*)); - if (! array) return NULL; // failure - *size = s->stackPos + 1; - for (i=0; i<*size; i++) - array[i] = s->stack[i]; - s->stackPos = -1; - return array; -} - -// release the given stack -void stackFree(Stack* s){ - if (s->stack) free(s->stack); - free(s); -} - - diff --git a/org.simantics.modelica/FMUSolution/FMUSimulator/src/xml_parser.c b/org.simantics.modelica/FMUSolution/FMUSimulator/src/xml_parser.c deleted file mode 100644 index 93e62162..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSimulator/src/xml_parser.c +++ /dev/null @@ -1,860 +0,0 @@ -/* ------------------------------------------------------------------------- - * xml_Parser.c - * A parser for file modelVariables.xml of an FMU. - * The parser creates an AST (abstract syntax tree) for a given XML file. - * The root node of the AST is of type ModelDescription. - * Validation already performed by this parser - * - check for match of open/close elements (performed by Expat) - * - ceck element, attribute and enum value names, all case sensitive - * - check for each element that is has the expected parent element - * - check for correct sequence of elements - * - check that all decalaredType values reference an existing Type - * Validation to be performed by this parser - * - check for each attribute value that it is of the expected type - * - check that required attributes are present - * - check that dependencies are only declared for outputs and - * refer only to inputs - * Author: Jakob Mauss - * Copyright 2011 QTronic GmbH. All rights reserved. - * -------------------------------------------------------------------------*/ - -#include -#include -#include -#include "xml_parser.h" - -const char *elmNames[SIZEOF_ELM] = { - "fmiModelDescription","UnitDefinitions","BaseUnit","DisplayUnitDefinition","TypeDefinitions", - "Type","RealType","IntegerType","BooleanType","StringType","EnumerationType","Item", - "DefaultExperiment","VendorAnnotations","Tool","Annotation", "ModelVariables","ScalarVariable", - "DirectDependency","Name","Real","Integer","Boolean","String","Enumeration", - "Implementation","CoSimulation_StandAlone","CoSimulation_Tool","Model","File","Capabilities" -}; - -const char *attNames[SIZEOF_ATT] = { - "fmiVersion","displayUnit","gain","offset","unit","name","description","quantity", "relativeQuantity", - "min","max","nominal","declaredType","start","fixed","startTime","stopTime","tolerance","value", - "valueReference","variability","causality","alias", "modelName","modelIdentifier","guid","author", - "version","generationTool","generationDateAndTime","variableNamingConvention","numberOfContinuousStates", - "numberOfEventIndicators","input", - "canHandleVariableCommunicationStepSize","canHandleEvents","canRejectSteps","canInterpolateInputs", - "maxOutputDerivativeOrder","canRunAsynchronuously","canSignalEvents","canBeInstantiatedOnlyOncePerProcess", - "canNotUseMemoryManagementFunctions","file","entryPoint","manualStart","type" -}; - -const char *enuNames[SIZEOF_ENU] = { - "flat","structured","constant","parameter","discrete","continuous", - "input","output", "internal","none","noAlias","alias","negatedAlias" -}; - -#define ANY_TYPE -1 -#define XMLBUFSIZE 1024 -char text[XMLBUFSIZE]; // XML file is parsed in chunks of length XMLBUFZIZE -XML_Parser parser = NULL; // non-NULL during parsing -Stack* stack = NULL; // the parser stack -char* data = NULL; // buffer that holds element content, see handleData -int skipData=0; // 1 to ignore element content, 0 when recordig content - -// ------------------------------------------------------------------------- -// Low-level functions for inspecting the model description - -const char* getString(void* element, Att a){ - Element* e = (Element*)element; - const char** attr = e->attributes; - int i; - for (i=0; in; i+=2) - if (attr[i]==attNames[a]) return attr[i+1]; - return NULL; -} - -double getDouble(void* element, Att a, ValueStatus* vs){ - double d = 0; - const char* value = getString(element, a); - if (!value) { *vs=valueMissing; return d; } - *vs = (1==sscanf(value, "%lf", &d)) ? valueDefined : valueIllegal; - return d; -} - -// getInt() is also used to retrieve Enumeration values from XML, -// e.g. the start value for a variable of user-defined enumeration type. -int getInt(void* element, Att a, ValueStatus* vs){ - int n = 0; - const char* value = getString(element, a); - if (!value) { *vs=valueMissing; return n; } - *vs = (1==sscanf(value, "%d", &n)) ? valueDefined : valueIllegal; - return n; -} - -unsigned int getUInt(void* element, Att a, ValueStatus* vs){ - unsigned int u = -1; - const char* value = getString(element, a); - if (!value) { *vs=valueMissing; return u; } - *vs = (1==sscanf(value, "%u", &u)) ? valueDefined : valueIllegal; - return u; -} - -char getBoolean(void* element, Att a, ValueStatus* vs){ - const char* value = getString(element, a); - if (!value) { *vs=valueMissing; return 0; }; - *vs = valueDefined; - if (!strcmp(value, "true")) return 1; - if (!strcmp(value, "false")) return 0; - *vs = valueIllegal; - return 0; -} - -static int checkEnumValue(const char* enu); - -// Retrieve the value of the given built-in enum attribute. -// If the value is missing, this is marked in the ValueStatus -// and the corresponding default is returned. -// Returns -1 or a globally unique id for the value such that -// enuNames[id] is the string representation of the enum value. -Enu getEnumValue(void* element, Att a, ValueStatus* vs) { - const char* value = getString(element, a); - Enu id = valueDefined; - if (!value) { - *vs = valueMissing; - switch (a) { - case att_variableNamingConvention: return enu_flat; - case att_variability: return enu_continuous; - case att_causality: return enu_internal; - case att_alias: return enu_noAlias; - default: return -1; - } - } - id = checkEnumValue(value); - if (id==-1) *vs = valueIllegal; - return id; -} - -// ------------------------------------------------------------------------- -// Convenience methods for accessing the model description. -// Use is only safe after the ast has been successfuly validated. - -const char* getModelIdentifier(ModelDescription* md) { - const char* modelId = getString(md, att_modelIdentifier); - assert(modelId); // this is a required attribute - return modelId; -} - -int getNumberOfStates(ModelDescription* md) { - ValueStatus vs; - int n = getUInt(md, att_numberOfContinuousStates, &vs); - assert(vs==valueDefined); // this is a required attribute - return n; -} - -int getNumberOfEventIndicators(ModelDescription* md) { - ValueStatus vs; - int n = getInt(md, att_numberOfEventIndicators, &vs); - assert(vs==valueDefined); // this is a required attribute - return n; -} - -// name is a required attribute of ScalarVariable, Type, Item, Annotation, and Tool -const char* getName(void* element) { - const char* name = getString(element, att_name); - assert(name); // this is a required attribute - return name; -} - -// returns one of: input, output, internal, none -// if value is missing, the default internal is returned -Enu getCausality(void* scalarVariable) { - ValueStatus vs; - return getEnumValue(scalarVariable, att_causality, &vs); -} - -// returns one of constant, parameter, discrete, continuous -// if value is missing, the default continuous is returned -Enu getVariability(void* scalarVariable) { - ValueStatus vs; - return getEnumValue(scalarVariable, att_variability, &vs); -} - -// returns one of noAlias, alias, negatedAlias -// if value is missing, the default noAlias is returned -Enu getAlias(void* scalarVariable) { - ValueStatus vs; - return getEnumValue(scalarVariable, att_alias, &vs); -} - -// the vr is unique only for one of the 4 base data types r,i,b,s and -// may also be fmiUndefinedValueReference = 4294967295 = 0xFFFFFFFF -// here, i means integer or enumeration -fmiValueReference getValueReference(void* scalarVariable) { - ValueStatus vs; - fmiValueReference vr = getUInt(scalarVariable, att_valueReference, &vs); - assert(((Element*)scalarVariable)->type == elm_ScalarVariable); - assert(vs==valueDefined); // this is a reqired attribute - return vr; -} - -// the name is unique within a fmu -ScalarVariable* getVariableByName(ModelDescription* md, const char* name) { - int i; - if (md->modelVariables) - for (i=0; md->modelVariables[i]; i++){ - ScalarVariable* sv = (ScalarVariable*)md->modelVariables[i]; - if (!strcmp(getName(sv), name)) return sv; - } - return NULL; -} - -// Enumeration and Integer have the same base type while -// Real, String, Boolean define own base types. -int sameBaseType(Elm t1, Elm t2){ - return t1==t2 || - t1==elm_Enumeration && t2==elm_Integer || - t2==elm_Enumeration && t1==elm_Integer; -} - -// returns NULL if variable not found or vr==fmiUndefinedValueReference -ScalarVariable* getVariable(ModelDescription* md, fmiValueReference vr, Elm type){ - int i; - if (md->modelVariables && vr!=fmiUndefinedValueReference) - for (i=0; md->modelVariables[i]; i++){ - ScalarVariable* sv = (ScalarVariable*)md->modelVariables[i]; - if (sameBaseType(type, sv->typeSpec->type) && getValueReference(sv) == vr) - return sv; - } - return NULL; -} - -Type* getDeclaredType(ModelDescription* md, const char* declaredType){ - int i; - if (declaredType && md->typeDefinitions) - for (i=0; md->typeDefinitions[i]; i++){ - Type* tp = (Type*)md->typeDefinitions[i]; - if (!strcmp(declaredType, getName(tp))) return tp; - } - return NULL; -} - -const char* getString2(ModelDescription* md, void* tp, Att a) { - Type* type; - const char* value = getString(tp, a); - if (value) return value; // found - // search declared type, if any - type = getDeclaredType(md, getString(tp, att_declaredType)); - return type ? getString(type->typeSpec, a) : NULL; -} - -// Get description from variable or from declared type, or NULL. -const char * getDescription(ModelDescription* md, ScalarVariable* sv) { - const char* value = getString(sv, att_description); - Type* type; - if (value) return value; // found - // search declared type, if any - type = getDeclaredType(md, getString(sv->typeSpec, att_declaredType)); - return type ? getString(type, att_description) : NULL; -} - -// Get attribute value from scalar variable given by vr and type, -// incl. default value provided by declared type, if any. -const char * getVariableAttributeString(ModelDescription* md, - fmiValueReference vr, Elm type, Att a){ - const char* value; - const char* declaredType; - Type* tp; - ScalarVariable* sv = getVariable(md, vr, type); - if (!sv) return NULL; - value = getString(sv->typeSpec, a); - if (value) return value; // found - // search declared type, if any - tp = getDeclaredType(md, getString(sv->typeSpec, att_declaredType)); - return tp ? getString(tp->typeSpec, a) : NULL; -} - -// Get attribute value from scalar variable given by vr and type, -// incl. default value provided by declared type, if any. -double getVariableAttributeDouble(ModelDescription* md, - fmiValueReference vr, Elm type, Att a, ValueStatus* vs){ - double d = 0; - const char* value = getVariableAttributeString(md, vr, type, a); - if (!value) { *vs = valueMissing; return d; } - *vs = (1==sscanf(value, "%lf", &d)) ? valueDefined : valueIllegal; - return d; -} - -// Get nominal value from real variable or its declared type. -// Return 1, if no nominal value is defined. -double getNominal(ModelDescription* md, fmiValueReference vr){ - ValueStatus vs; - double nominal = getVariableAttributeDouble(md, vr, elm_Real, att_nominal, &vs); - return vs==valueDefined ? nominal : 1.0; -} - -// ------------------------------------------------------------------------- -// Various checks that log an error and stop the parser - -// Returns 0 to indicate error -static int checkPointer(const void* ptr){ - if (! ptr) { - printf("Out of memory\n"); - if (parser) XML_StopParser(parser, XML_FALSE); - return 0; // error - } - return 1; // success -} - -static int checkName(const char* name, const char* kind, const char* array[], int n){ - int i; - for (i=0; itype == e) return 1; // success - logFatalTypeError(elmNames[e], elm->type); - return 0; // error -} - -// Returns 0 to indicate error -// Verify that the next stack element exists and is of the given type -// If e==ANY_TYPE, the type check is ommited -static int checkPeek(Elm e) { - if (stackIsEmpty(stack)){ - printf("Illegal document structure, expected %s\n", elmNames[e]); - XML_StopParser(parser, XML_FALSE); - return 0; // error - } - return e==ANY_TYPE ? 1 : checkElementType(stackPeek(stack), e); -} - -// Returns NULL to indicate error -// Get the next stack element, it is of the given type. -// If e==ANY_TYPE, the type check is ommited -static void* checkPop(Elm e){ - return checkPeek(e) ? stackPop(stack) : NULL; -} - -// ------------------------------------------------------------------------- -// Helper - -AstNodeType getAstNodeType(Elm e){ - switch (e) { - case elm_fmiModelDescription: - return astModelDescription; - case elm_Type: - return astType; - case elm_ScalarVariable: - return astScalarVariable; - case elm_CoSimulation_StandAlone: - case elm_CoSimulation_Tool: - return astCoSimulation; - case elm_BaseUnit: - case elm_EnumerationType: - case elm_Tool: - case elm_UnitDefinitions: - case elm_TypeDefinitions: - case elm_VendorAnnotations: - case elm_ModelVariables: - case elm_DirectDependency: - case elm_Model: - return astListElement; - default: - return astElement; - } -} - -// Returns 0 to indicate error -// Copies the attr array and all values. -// Replaces all attribute names by constant literal strings. -// Converts the null-terminated array into an array of known size n. -int addAttributes(Element* el, const char** attr) { - int n, a; - const char** att = NULL; - for (n=0; attr[n]; n+=2); - if (n>0) { - att = calloc(n, sizeof(char*)); - if (!checkPointer(att)) return 0; - } - for (n=0; attr[n]; n+=2) { - char* value = strdup(attr[n+1]); - if (!checkPointer(value)) return 0; - a = checkAttribute(attr[n]); - if (a == -1) return 0; // illegal attribute error - att[n ] = attNames[a]; // no heap memory - att[n+1] = value; // heap memory - } - el->attributes = att; // NULL if n=0 - el->n = n; - return 1; // success -} - -// Returns NULL to indicate error -Element* newElement(Elm type, int size, const char** attr) { - Element* e = (Element*)calloc(1, size); - if (!checkPointer(e)) return NULL; - e->type = type; - e->attributes = NULL; - e->n=0; - if (!addAttributes(e, attr)) return NULL; - return e; -} - -// ------------------------------------------------------------------------- -// callback functions called by the XML parser - -// Create and push a new element node -static void XMLCALL startElement(void *context, const char *elm, const char **attr) { - Elm el; - void* e; - int size; - el = checkElement(elm); - if (el==-1) return; // error - skipData = (el != elm_Name); // skip element content for all elements but Name - switch(getAstNodeType(el)){ - case astElement: size = sizeof(Element); break; - case astListElement: size = sizeof(ListElement); break; - case astType: size = sizeof(Type); break; - case astScalarVariable: size = sizeof(ScalarVariable); break; - case astCoSimulation: size = sizeof(CoSimulation); break; - case astModelDescription: size = sizeof(ModelDescription); break; - default: assert(0); - } - e = newElement(el, size, attr); - checkPointer(e); - stackPush(stack, e); -} - -// Pop all elements of the given type from stack and -// add it to the ListElement that follows. -// The ListElement remains on the stack. -static void popList(Elm e) { - int n = 0; - Element** array; - Element* elm = stackPop(stack); - while (elm->type == e) { - elm = stackPop(stack); - n++; - } - stackPush(stack, elm); // push ListElement back to stack - array = (Element**)stackLastPopedAsArray0(stack, n); // NULL terminated list - if (getAstNodeType(elm->type)!=astListElement) return; // failure - ((ListElement*)elm)->list = array; - return; // success only if list!=NULL -} - -// Pop the children from the stack and -// check for correct type and sequence of children -static void XMLCALL endElement(void *context, const char *elm) { - Elm el; - el = checkElement(elm); - switch(el) { - case elm_fmiModelDescription: - { - ModelDescription* md; - ListElement** ud = NULL; // NULL or list of BaseUnits - Type** td = NULL; // NULL or list of Types - Element* de = NULL; // NULL or DefaultExperiment - ListElement** va = NULL; // NULL or list of Tools - ScalarVariable** mv = NULL; // NULL or list of ScalarVariable - CoSimulation *cs = NULL; // NULL or CoSimulation - ListElement* child; - - child = checkPop(ANY_TYPE); - if (child->type == elm_CoSimulation_StandAlone || child->type == elm_CoSimulation_Tool) { - cs = (CoSimulation*)child; - child = checkPop(ANY_TYPE); - if (!child) return; - } - if (child->type == elm_ModelVariables){ - mv = (ScalarVariable**)child->list; - free(child); - child = checkPop(ANY_TYPE); - if (!child) return; - } - if (child->type == elm_VendorAnnotations){ - va = (ListElement**)child->list; - free(child); - child = checkPop(ANY_TYPE); - if (!child) return; - } - if (child->type == elm_DefaultExperiment){ - de = (Element*)child; - child = checkPop(ANY_TYPE); - if (!child) return; - } - if (child->type == elm_TypeDefinitions){ - td = (Type**)child->list; - free(child); - child = checkPop(ANY_TYPE); - if (!child) return; - } - if (child->type == elm_UnitDefinitions){ - ud = (ListElement**)child->list; - free(child); - child = checkPop(ANY_TYPE); - if (!child) return; - } - // work around bug of SimulationX 3.4 and 3.5 which places Implementation at wrong location - if (!cs && (child->type == elm_CoSimulation_StandAlone || child->type == elm_CoSimulation_Tool)) { - cs = (CoSimulation*)child; - child = checkPop(ANY_TYPE); - if (!child) return; - } - if (!checkElementType(child, elm_fmiModelDescription)) return; - md = (ModelDescription*)child; - md->modelVariables = mv; - md->vendorAnnotations = va; - md->defaultExperiment = de; - md->typeDefinitions = td; - md->unitDefinitions = ud; - md->cosimulation = cs; - stackPush(stack, md); - break; - } - case elm_Implementation: - { - // replace Implementation element - void* cs = checkPop(ANY_TYPE); - void* im = checkPop(elm_Implementation); - stackPush(stack, cs); - free(im); - el = ((Element*)cs)->type; - break; - } - case elm_CoSimulation_StandAlone: - { - Element* ca = checkPop(elm_Capabilities); - CoSimulation* cs = checkPop(elm_CoSimulation_StandAlone); - if (!ca || !cs) return; - cs->capabilities = ca; - stackPush(stack, cs); - break; - } - case elm_CoSimulation_Tool: - { - ListElement* mo = checkPop(elm_Model); - Element* ca = checkPop(elm_Capabilities); - CoSimulation* cs = checkPop(elm_CoSimulation_Tool); - if (!ca || !mo || !cs) return; - cs->capabilities = ca; - cs->model = mo; - stackPush(stack, cs); - break; - } - case elm_Type: - { - Type* tp; - Element* ts = checkPop(ANY_TYPE); - if (!ts) return; - if (!checkPeek(elm_Type)) return; - tp = (Type*)stackPeek(stack); - switch (ts->type) { - case elm_RealType: - case elm_IntegerType: - case elm_BooleanType: - case elm_StringType: - case elm_EnumerationType: - break; - default: - logFatalTypeError("RealType or similar", ts->type); - return; - } - tp->typeSpec = ts; - break; - } - case elm_ScalarVariable: - { - ScalarVariable* sv; - Element** list = NULL; - Element* child = checkPop(ANY_TYPE); - if (!child) return; - if (child->type==elm_DirectDependency){ - list = ((ListElement*)child)->list; - free(child); - child = checkPop(ANY_TYPE); - if (!child) return; - } - if (!checkPeek(elm_ScalarVariable)) return; - sv = (ScalarVariable*)stackPeek(stack); - switch (child->type) { - case elm_Real: - case elm_Integer: - case elm_Boolean: - case elm_String: - case elm_Enumeration: - break; - default: - logFatalTypeError("Real or similar", child->type); - return; - } - sv->directDependencies = list; - sv->typeSpec = child; - break; - } - case elm_ModelVariables: popList(elm_ScalarVariable); break; - case elm_VendorAnnotations: popList(elm_Tool);break; - case elm_Tool: popList(elm_Annotation); break; - case elm_TypeDefinitions: popList(elm_Type); break; - case elm_EnumerationType: popList(elm_Item); break; - case elm_UnitDefinitions: popList(elm_BaseUnit); break; - case elm_BaseUnit: popList(elm_DisplayUnitDefinition); break; - case elm_DirectDependency: popList(elm_Name); break; - case elm_Model: popList(elm_File); break; - case elm_Name: - { - // Exception: the name value is represented as element content. - // All other values of the XML file are represented using attributes. - Element* name = checkPop(elm_Name); - if (!name) return; - name->n = 2; - name->attributes = malloc(2*sizeof(char*)); - name->attributes[0] = attNames[att_input]; - name->attributes[1] = data; - data = NULL; - skipData = 1; // stop recording element content - stackPush(stack, name); - break; - } - case -1: return; // illegal element error - default: // must be a leaf Element - assert(getAstNodeType(el)==astElement); - break; - } - // All children of el removed from the stack. - // The top element must be of type el now. - checkPeek(el); -} - -// Called to handle element data, e.g. "xy" in xy -// Can be called many times, e.g. with "x" and then with "y" in the example above. -// Feature in expat: -// For some reason, if the element data is the empty string (Eg. ) -// instead of an empty string with len == 0 we get "\n". The workaround is -// to replace this with the empty string whenever we encounter "\n". -void XMLCALL handleData(void *context, const XML_Char *s, int len) { - int n; - if (skipData) return; - if (!data) { - // start a new data string - if (len == 1 && s[0] == '\n') { - data = strdup(""); - } else { - data = malloc(len + 1); - strncpy(data, s, len); - data[len] = '\0'; - } - } - else { - // continue existing string - n = strlen(data) + len; - data = realloc(data, n+1); - strncat(data, s, len); - data[n] = '\0'; - } - return; -} - -// ------------------------------------------------------------------------- -// printing - -static void printList(int indent, void** list); - -void printElement(int indent, void* element){ - int i; - Element* e = (Element*)element; - if (!e) return; - // print attributes - for (i=0; itype]); - for (i=0; in; i+=2) - printf(" %s=%s", e->attributes[i], e->attributes[i+1]); - printf("\n"); - // print child nodes - indent += 2; - switch (getAstNodeType(e->type)) { - case astListElement: - printList(indent, ((ListElement*)e)->list); - break; - case astScalarVariable: - printElement(indent, ((Type*)e)->typeSpec); - printList(indent, ((ScalarVariable*)e)->directDependencies); - break; - case astType: - printElement(indent, ((Type*)e)->typeSpec); - break; - case astCoSimulation: { - CoSimulation* cs = (CoSimulation*)e; - printElement(indent, cs->capabilities); - printElement(indent, cs->model); - break; - } - case astModelDescription: { - ModelDescription *md = (ModelDescription*)e; - printList(indent, md->unitDefinitions); - printList(indent, md->typeDefinitions); - printElement(indent, md->defaultExperiment); - printList(indent, md->vendorAnnotations); - printList(indent, md->modelVariables); - printElement(indent, md->cosimulation); - break; - } - } -} - -static void printList(int indent, void** list){ - int i; - if (list) for (i=0; list[i]; i++) - printElement(indent, list[i]); -} - -// ------------------------------------------------------------------------- -// free memory of the AST - -static void freeList(void** list); - -void freeElement(void* element){ - int i; - Element* e = (Element*)element; - if (!e) return; - // free attributes - for (i=0; in; i+=2) - free(e->attributes[i+1]); - if (e->attributes) free(e->attributes); - // free child nodes - switch (getAstNodeType(e->type)) { - case astListElement: - freeList(((ListElement*)e)->list); - break; - case astScalarVariable: - freeList(((ScalarVariable*)e)->directDependencies); - case astType: - freeElement(((Type*)e)->typeSpec); - break; - case astCoSimulation: { - CoSimulation* cs = (CoSimulation*)e; - freeElement(cs->capabilities); - freeElement(cs->model); - break; - } - case astModelDescription: { - ModelDescription* md = (ModelDescription*)e; - freeList(md->unitDefinitions); - freeList(md->typeDefinitions); - freeElement(md->defaultExperiment); - freeList(md->vendorAnnotations); - freeList(md->modelVariables); - freeElement(md->cosimulation); - break; - } - } - // free the struct - free(e); -} - -static void freeList(void** list){ - int i; - if (!list) return; - for (i=0; list[i]; i++) - freeElement(list[i]); - free(list); -} - -// ------------------------------------------------------------------------- -// Validation - done after parsing to report all errors - -ModelDescription* validate(ModelDescription* md) { - int error = 0; - int i; - if (md->modelVariables) - for (i=0; md->modelVariables[i]; i++){ - ScalarVariable* sv = (ScalarVariable*)md->modelVariables[i]; - char* declaredType = getString(sv->typeSpec, att_declaredType); - Type* decltype = getDeclaredType(md, declaredType); - if (declaredType && decltype==NULL) { - printf("Warning: Declared type %s of variable %s not found in modelDescription.xml\n", declaredType, getName(sv)); - error++; - } - } - if (error) { - printf("Error: Found %d error in modelDescription.xml\n", error); - return NULL; - } - return md; -} - -// ------------------------------------------------------------------------- -// Entry function parse() of the XML parser - -static void cleanup(FILE *file) { - stackFree(stack); - stack = NULL; - XML_ParserFree(parser); - parser = NULL; - fclose(file); -} - -// Returns NULL to indicate failure -// Otherwise, return the root node md of the AST. -// The receiver must call freeElement(md) to release AST memory. -ModelDescription* parse(const char* xmlPath) { - ModelDescription* md = NULL; - FILE *file; - int done = 0; - stack = stackNew(100, 10); - if (!checkPointer(stack)) return NULL; // failure - parser = XML_ParserCreate(NULL); - if (!checkPointer(parser)) return NULL; // failure - XML_SetElementHandler(parser, startElement, endElement); - XML_SetCharacterDataHandler(parser, handleData); - file = fopen(xmlPath, "rb"); - if (file == NULL) { - printf("Cannot open file '%s'\n", xmlPath); - XML_ParserFree(parser); - return NULL; // failure - } - while (!done) { - int n = fread(text, sizeof(char), XMLBUFSIZE, file); - if (n != XMLBUFSIZE) done = 1; - if (!XML_Parse(parser, text, n, done)){ - printf("Parse error in file %s at line %d:\n%s\n", - xmlPath, - XML_GetCurrentLineNumber(parser), - XML_ErrorString(XML_GetErrorCode(parser))); - while (! stackIsEmpty(stack)) md = stackPop(stack); - if (md) freeElement(md); - cleanup(file); - return NULL; // failure - } - } - md = stackPop(stack); - assert(stackIsEmpty(stack)); - cleanup(file); - //printElement(1, md); // debug - return validate(md); // success if all refs are valid -} - - diff --git a/org.simantics.modelica/FMUSolution/FMUSolution.sdf b/org.simantics.modelica/FMUSolution/FMUSolution.sdf deleted file mode 100644 index de61e099..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSolution.sdf and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/FMUSolution.sln b/org.simantics.modelica/FMUSolution/FMUSolution.sln deleted file mode 100644 index 7b614ff3..00000000 --- a/org.simantics.modelica/FMUSolution/FMUSolution.sln +++ /dev/null @@ -1,39 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual C++ Express 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FMUSimulator", "FMUSimulator\FMUSimulator.vcxproj", "{9838038D-09A3-43A5-AB97-B5B5C763DF43}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniunz", "zlib-1.2.6\contrib\vstudio\vc10\miniunz.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694382A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlib-1.2.6\contrib\vstudio\vc10\zlibvc.vcxproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - ReleaseWithoutAsm|Win32 = ReleaseWithoutAsm|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {9838038D-09A3-43A5-AB97-B5B5C763DF43}.Debug|Win32.ActiveCfg = Debug|Win32 - {9838038D-09A3-43A5-AB97-B5B5C763DF43}.Debug|Win32.Build.0 = Debug|Win32 - {9838038D-09A3-43A5-AB97-B5B5C763DF43}.Release|Win32.ActiveCfg = Release|Win32 - {9838038D-09A3-43A5-AB97-B5B5C763DF43}.Release|Win32.Build.0 = Release|Win32 - {9838038D-09A3-43A5-AB97-B5B5C763DF43}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {9838038D-09A3-43A5-AB97-B5B5C763DF43}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.ActiveCfg = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.Build.0 = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.Build.0 = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/org.simantics.modelica/FMUSolution/FMUSolution.suo b/org.simantics.modelica/FMUSolution/FMUSolution.suo deleted file mode 100644 index b7731543..00000000 Binary files a/org.simantics.modelica/FMUSolution/FMUSolution.suo and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Release/FMUSimulator.dll b/org.simantics.modelica/FMUSolution/Release/FMUSimulator.dll deleted file mode 100644 index a2e3035a..00000000 Binary files a/org.simantics.modelica/FMUSolution/Release/FMUSimulator.dll and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Release/FMUSimulator.exp b/org.simantics.modelica/FMUSolution/Release/FMUSimulator.exp deleted file mode 100644 index ee1787a0..00000000 Binary files a/org.simantics.modelica/FMUSolution/Release/FMUSimulator.exp and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Release/FMUSimulator.lib b/org.simantics.modelica/FMUSolution/Release/FMUSimulator.lib deleted file mode 100644 index 02ef8e8b..00000000 Binary files a/org.simantics.modelica/FMUSolution/Release/FMUSimulator.lib and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Release/FMUSimulator.pdb b/org.simantics.modelica/FMUSolution/Release/FMUSimulator.pdb deleted file mode 100644 index 8b84aba5..00000000 Binary files a/org.simantics.modelica/FMUSolution/Release/FMUSimulator.pdb and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Release/miniunz.dll b/org.simantics.modelica/FMUSolution/Release/miniunz.dll deleted file mode 100644 index 3cf2c6d2..00000000 Binary files a/org.simantics.modelica/FMUSolution/Release/miniunz.dll and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Release/miniunz.exp b/org.simantics.modelica/FMUSolution/Release/miniunz.exp deleted file mode 100644 index b2c0da8e..00000000 Binary files a/org.simantics.modelica/FMUSolution/Release/miniunz.exp and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Release/miniunz.lib b/org.simantics.modelica/FMUSolution/Release/miniunz.lib deleted file mode 100644 index 31b150cd..00000000 Binary files a/org.simantics.modelica/FMUSolution/Release/miniunz.lib and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Release/miniunz.pdb b/org.simantics.modelica/FMUSolution/Release/miniunz.pdb deleted file mode 100644 index 4c9615ff..00000000 Binary files a/org.simantics.modelica/FMUSolution/Release/miniunz.pdb and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Release/vc100.pdb b/org.simantics.modelica/FMUSolution/Release/vc100.pdb deleted file mode 100644 index 371fe0ca..00000000 Binary files a/org.simantics.modelica/FMUSolution/Release/vc100.pdb and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Release/zlibwapi.dll b/org.simantics.modelica/FMUSolution/Release/zlibwapi.dll deleted file mode 100644 index d3c58ad4..00000000 Binary files a/org.simantics.modelica/FMUSolution/Release/zlibwapi.dll and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Release/zlibwapi.exp b/org.simantics.modelica/FMUSolution/Release/zlibwapi.exp deleted file mode 100644 index 64a93313..00000000 Binary files a/org.simantics.modelica/FMUSolution/Release/zlibwapi.exp and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Release/zlibwapi.lib b/org.simantics.modelica/FMUSolution/Release/zlibwapi.lib deleted file mode 100644 index 021bc2c8..00000000 Binary files a/org.simantics.modelica/FMUSolution/Release/zlibwapi.lib and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/Release/zlibwapi.map b/org.simantics.modelica/FMUSolution/Release/zlibwapi.map deleted file mode 100644 index 56ad8de4..00000000 --- a/org.simantics.modelica/FMUSolution/Release/zlibwapi.map +++ /dev/null @@ -1,940 +0,0 @@ - zlibwapi - - Timestamp is 4fb0a4ab (Mon May 14 09:22:35 2012) - - Preferred load address is 10000000 - - Start Length Name Class - 0001:00000000 0001834aH .text CODE - 0002:00000000 00000110H .idata$5 DATA - 0002:00000110 00000004H .CRT$XCA DATA - 0002:00000114 00000004H .CRT$XCZ DATA - 0002:00000118 00000004H .CRT$XIA DATA - 0002:0000011c 00000010H .CRT$XIC DATA - 0002:0000012c 00000004H .CRT$XIZ DATA - 0002:00000130 00000004H .CRT$XPA DATA - 0002:00000134 00000004H .CRT$XPX DATA - 0002:00000138 00000004H .CRT$XPXA DATA - 0002:0000013c 00000004H .CRT$XPZ DATA - 0002:00000140 00000004H .CRT$XTA DATA - 0002:00000144 00000004H .CRT$XTZ DATA - 0002:00000148 00005d98H .rdata DATA - 0002:00005ee0 00000004H .rtc$IAA DATA - 0002:00005ee4 00000004H .rtc$IZZ DATA - 0002:00005ee8 00000004H .rtc$TAA DATA - 0002:00005eec 00000004H .rtc$TZZ DATA - 0002:00005ef0 000003fcH .xdata$x DATA - 0002:000062ec 00000014H .idata$2 DATA - 0002:00006300 00000014H .idata$3 DATA - 0002:00006314 00000110H .idata$4 DATA - 0002:00006424 000004caH .idata$6 DATA - 0002:000068f0 00000c0cH .edata DATA - 0003:00000000 00000fc0H .data DATA - 0003:00000fc0 00001de4H .bss DATA - 0004:00000000 00000058H .rsrc$01 DATA - 0004:00000060 00000330H .rsrc$02 DATA - - Address Publics by Value Rva+Base Lib:Object - - 0000:00000000 ___safe_se_handler_count 00000000 - 0000:00000000 __except_list 00000000 - 0000:00000000 ___safe_se_handler_table 00000000 - 0000:00000000 ___ImageBase 10000000 - 0001:00000000 _adler32@12 10001000 f adler32.obj - 0001:00000330 _adler32_combine@12 10001330 f adler32.obj - 0001:00000350 _compress2@20 10001350 f compress.obj - 0001:00000400 _compress@16 10001400 f compress.obj - 0001:00000420 _compressBound@4 10001420 f compress.obj - 0001:00000440 _get_crc_table@0 10001440 f crc32.obj - 0001:00000450 _crc32@12 10001450 f crc32.obj - 0001:00000860 _crc32_combine@12 10001860 f crc32.obj - 0001:00000880 _deflateInit_@16 10001880 f deflate.obj - 0001:000008b0 _deflateInit2_@32 100018b0 f deflate.obj - 0001:00000af0 _deflateSetDictionary@12 10001af0 f deflate.obj - 0001:00000c80 _deflateResetKeep@4 10001c80 f deflate.obj - 0001:00000d30 _deflateReset@4 10001d30 f deflate.obj - 0001:00000d60 _deflateSetHeader@8 10001d60 f deflate.obj - 0001:00000d90 _deflatePending@12 10001d90 f deflate.obj - 0001:00000dd0 _deflatePrime@12 10001dd0 f deflate.obj - 0001:00000e60 _deflateParams@12 10001e60 f deflate.obj - 0001:00000f60 _deflateTune@20 10001f60 f deflate.obj - 0001:00000fb0 _deflateBound@8 10001fb0 f deflate.obj - 0001:00001110 _deflate@8 10002110 f deflate.obj - 0001:00001970 _deflateEnd@4 10002970 f deflate.obj - 0001:00001a50 _deflateCopy@8 10002a50 f deflate.obj - 0001:00002ba0 _gzclose@4 10003ba0 f gzclose.obj - 0001:00002e60 _gzopen@8 10003e60 f gzlib.obj - 0001:00002e80 _gzdopen@8 10003e80 f gzlib.obj - 0001:00002ed0 _gzbuffer@8 10003ed0 f gzlib.obj - 0001:00002f10 _gzrewind@4 10003f10 f gzlib.obj - 0001:00002f70 _gzseek64@16 10003f70 f gzlib.obj - 0001:000030e0 _gzseek@12 100040e0 f gzlib.obj - 0001:00003120 _gztell64@4 10004120 f gzlib.obj - 0001:00003170 _gztell@4 10004170 f gzlib.obj - 0001:000031a0 _gzoffset64@4 100041a0 f gzlib.obj - 0001:000031f0 _gzoffset@4 100041f0 f gzlib.obj - 0001:00003220 _gzeof@4 10004220 f gzlib.obj - 0001:00003250 _gzerror@8 10004250 f gzlib.obj - 0001:00003290 _gzclearerr@4 10004290 f gzlib.obj - 0001:000032d0 _gz_error 100042d0 f gzlib.obj - 0001:00003820 _gzread@12 10004820 f gzread.obj - 0001:000039a0 _gzgetc_@4 100049a0 f gzread.obj - 0001:00003a00 _gzgetc@4 10004a00 f gzread.obj - 0001:00003a10 _gzungetc@8 10004a10 f gzread.obj - 0001:00003b00 _gzgets@12 10004b00 f gzread.obj - 0001:00003c10 _gzdirect@4 10004c10 f gzread.obj - 0001:00003c50 _gzclose_r@4 10004c50 f gzread.obj - 0001:00003f90 _gzwrite@12 10004f90 f gzwrite.obj - 0001:000040a0 _gzputc@8 100050a0 f gzwrite.obj - 0001:00004150 _gzputs@8 10005150 f gzwrite.obj - 0001:00004190 _gzprintf 10005190 f gzwrite.obj - 0001:00004260 _gzflush@8 10005260 f gzwrite.obj - 0001:000042e0 _gzsetparams@12 100052e0 f gzwrite.obj - 0001:00004390 _gzclose_w@4 10005390 f gzwrite.obj - 0001:00004450 _gzflags@0 10005450 f gzwrite.obj - 0001:00004460 _inflateBackInit_@20 10005460 f infback.obj - 0001:00004550 _inflateBack@20 10005550 f infback.obj - 0001:00005250 _inflateBackEnd@4 10006250 f infback.obj - 0001:00005290 _inflateResetKeep@4 10006290 f inflate.obj - 0001:00005310 _inflateReset@4 10006310 f inflate.obj - 0001:00005340 _inflateReset2@8 10006340 f inflate.obj - 0001:000053d0 _inflateInit2_@16 100063d0 f inflate.obj - 0001:00005490 _inflateInit_@12 10006490 f inflate.obj - 0001:000054b0 _inflatePrime@12 100064b0 f inflate.obj - 0001:00005640 _inflate@8 10006640 f inflate.obj - 0001:00006b40 _inflateEnd@4 10007b40 f inflate.obj - 0001:00006ba0 _inflateSetDictionary@12 10007ba0 f inflate.obj - 0001:00006c70 _inflateGetHeader@8 10007c70 f inflate.obj - 0001:00006d10 _inflateSync@4 10007d10 f inflate.obj - 0001:00006e00 _inflateSyncPoint@4 10007e00 f inflate.obj - 0001:00006e40 _inflateCopy@8 10007e40 f inflate.obj - 0001:00006fa0 _inflateUndermine@8 10007fa0 f inflate.obj - 0001:00006fd0 _inflateMark@4 10007fd0 f inflate.obj - 0001:00007040 _inflate_table 10008040 f inftrees.obj - 0001:00007430 _call_zopen64 10008430 f ioapi.obj - 0001:00007450 _call_zseek64 10008450 f ioapi.obj - 0001:000074b0 _call_ztell64 100084b0 f ioapi.obj - 0001:000074e0 _fill_zlib_filefunc64_32_def_from_filefunc32 100084e0 f ioapi.obj - 0001:00007660 _fill_fopen64_filefunc 10008660 f ioapi.obj - 0001:00007750 _win32_open64_file_funcW 10008750 f iowin32.obj - 0001:000077b0 _win32_open_file_func 100087b0 f iowin32.obj - 0001:000077b0 _win32_open64_file_funcA 100087b0 f iowin32.obj - 0001:000077b0 _win32_open64_file_func 100087b0 f iowin32.obj - 0001:00007810 _win32_read_file_func 10008810 f iowin32.obj - 0001:00007860 _win32_write_file_func 10008860 f iowin32.obj - 0001:000078b0 _win32_tell_file_func 100088b0 f iowin32.obj - 0001:000078f0 _win32_tell64_file_func 100088f0 f iowin32.obj - 0001:00007960 _win32_seek_file_func 10008960 f iowin32.obj - 0001:000079c0 _win32_seek64_file_func 100089c0 f iowin32.obj - 0001:00007a20 _win32_close_file_func 10008a20 f iowin32.obj - 0001:00007a50 _win32_error_file_func 10008a50 f iowin32.obj - 0001:00007a70 _fill_win32_filefunc 10008a70 f iowin32.obj - 0001:00007ab0 _fill_win32_filefunc64 10008ab0 f iowin32.obj - 0001:00007ab0 _fill_win32_filefunc64A 10008ab0 f iowin32.obj - 0001:00007af0 _fill_win32_filefunc64W 10008af0 f iowin32.obj - 0001:00007b30 __tr_init 10008b30 f trees.obj - 0001:00008ad0 __tr_stored_block 10009ad0 f trees.obj - 0001:00008b60 __tr_flush_bits 10009b60 f trees.obj - 0001:00008b70 __tr_align 10009b70 f trees.obj - 0001:00008c60 __tr_flush_block 10009c60 f trees.obj - 0001:00009430 _uncompress@16 1000a430 f uncompr.obj - 0001:00009760 _unzStringFileNameCompare@12 1000a760 f unzip.obj - 0001:0000a000 _unzOpen2@8 1000b000 f unzip.obj - 0001:0000a050 _unzOpen2_64@8 1000b050 f unzip.obj - 0001:0000a0b0 _unzOpen@4 1000b0b0 f unzip.obj - 0001:0000a0d0 _unzOpen64@4 1000b0d0 f unzip.obj - 0001:0000a0f0 _unzClose@4 1000b0f0 f unzip.obj - 0001:0000a130 _unzGetGlobalInfo64@8 1000b130 f unzip.obj - 0001:0000a170 _unzGetGlobalInfo@8 1000b170 f unzip.obj - 0001:0000a760 _unzGetCurrentFileInfo64@32 1000b760 f unzip.obj - 0001:0000a790 _unzGetCurrentFileInfo@32 1000b790 f unzip.obj - 0001:0000a870 _unzGoToFirstFile@4 1000b870 f unzip.obj - 0001:0000a8e0 _unzGoToNextFile@4 1000b8e0 f unzip.obj - 0001:0000a990 _unzLocateFile@12 1000b990 f unzip.obj - 0001:0000aad0 _unzGetFilePos64@8 1000bad0 f unzip.obj - 0001:0000ab20 _unzGetFilePos@8 1000bb20 f unzip.obj - 0001:0000ab50 _unzGoToFilePos64@8 1000bb50 f unzip.obj - 0001:0000abc0 _unzGoToFilePos@8 1000bbc0 f unzip.obj - 0001:0000ae40 _unzOpenCurrentFile3@20 1000be40 f unzip.obj - 0001:0000b080 _unzOpenCurrentFile@4 1000c080 f unzip.obj - 0001:0000b0a0 _unzOpenCurrentFilePassword@8 1000c0a0 f unzip.obj - 0001:0000b0c0 _unzOpenCurrentFile2@16 1000c0c0 f unzip.obj - 0001:0000b0e0 _unzGetCurrentFileZStreamPos64@4 1000c0e0 f unzip.obj - 0001:0000b120 _unzReadCurrentFile@12 1000c120 f unzip.obj - 0001:0000b3c0 _unztell@4 1000c3c0 f unzip.obj - 0001:0000b3f0 _unztell64@4 1000c3f0 f unzip.obj - 0001:0000b420 _unzeof@4 1000c420 f unzip.obj - 0001:0000b460 _unzGetLocalExtrafield@12 1000c460 f unzip.obj - 0001:0000b520 _unzCloseCurrentFile@4 1000c520 f unzip.obj - 0001:0000b5d0 _unzGetGlobalComment@12 1000c5d0 f unzip.obj - 0001:0000bf30 _LoadCentralDirectoryRecord 1000cf30 f zip.obj - 0001:0000c3d0 _zipOpen3@16 1000d3d0 f zip.obj - 0001:0000c530 _zipOpen2@16 1000d530 f zip.obj - 0001:0000c580 _zipOpen2_64@16 1000d580 f zip.obj - 0001:0000c5e0 _zipOpen64@8 1000d5e0 f zip.obj - 0001:0000c5e0 _zipOpen@8 1000d5e0 f zip.obj - 0001:0000c600 _Write_LocalFileHeader 1000d600 f zip.obj - 0001:0000c820 _zipOpenNewFileInZip4_64@76 1000d820 f zip.obj - 0001:0000ccf0 _zipOpenNewFileInZip3@64 1000dcf0 f zip.obj - 0001:0000cd50 _zipOpenNewFileInZip3_64@68 1000dd50 f zip.obj - 0001:0000cdb0 _zipOpenNewFileInZip2@44 1000ddb0 f zip.obj - 0001:0000ce00 _zipOpenNewFileInZip2_64@48 1000de00 f zip.obj - 0001:0000ce50 _zipOpenNewFileInZip64@44 1000de50 f zip.obj - 0001:0000cea0 _zipOpenNewFileInZip@40 1000dea0 f zip.obj - 0001:0000cfb0 _zipWriteInFileInZip@12 1000dfb0 f zip.obj - 0001:0000d0b0 _zipCloseFileInZipRaw@12 1000e0b0 f zip.obj - 0001:0000d0d0 _zipCloseFileInZipRaw64@16 1000e0d0 f zip.obj - 0001:0000d5e0 _zipCloseFileInZip@4 1000e5e0 f zip.obj - 0001:0000d600 _Write_Zip64EndOfCentralDirectoryLocator 1000e600 f zip.obj - 0001:0000d680 _Write_Zip64EndOfCentralDirectoryRecord 1000e680 f zip.obj - 0001:0000d7a0 _Write_EndOfCentralDirectoryRecord 1000e7a0 f zip.obj - 0001:0000d8e0 _Write_GlobalComment 1000e8e0 f zip.obj - 0001:0000d950 _zipClose@8 1000e950 f zip.obj - 0001:0000dad0 _zlibVersion@0 1000ead0 f zutil.obj - 0001:0000dae0 _zlibCompileFlags@0 1000eae0 f zutil.obj - 0001:0000daf0 _zError@4 1000eaf0 f zutil.obj - 0001:0000db10 _zcalloc 1000eb10 f zutil.obj - 0001:0000db30 _zcfree 1000eb30 f zutil.obj - 0001:0000db50 _longest_match 1000eb50 f match686.obj - 0001:0000dd38 _match_init 1000ed38 f match686.obj - 0001:0000de40 _inflate_fast 1000ee40 f inffas32.obj - 0001:0000e4d3 _sprintf 1000f4d3 f LIBCMT:sprintf.obj - 0001:0000e557 __lseeki64_nolock 1000f557 f LIBCMT:lseeki64.obj - 0001:0000e5dc __lseeki64 1000f5dc f LIBCMT:lseeki64.obj - 0001:0000e6c6 _free 1000f6c6 f LIBCMT:free.obj - 0001:0000e700 _malloc 1000f700 f LIBCMT:malloc.obj - 0001:0000e7a0 _memmove 1000f7a0 f LIBCMT:memmove.obj - 0001:0000eb01 __get_sys_err_msg 1000fb01 f i LIBCMT:strerror.obj - 0001:0000eb29 _strerror 1000fb29 f LIBCMT:strerror.obj - 0001:0000eba0 _memchr 1000fba0 f LIBCMT:memchr.obj - 0001:0000ec4d __get_errno_from_oserr 1000fc4d f LIBCMT:dosmap.obj - 0001:0000ec8f __errno 1000fc8f f LIBCMT:dosmap.obj - 0001:0000eca2 ___doserrno 1000fca2 f LIBCMT:dosmap.obj - 0001:0000ecb5 __dosmaperr 1000fcb5 f LIBCMT:dosmap.obj - 0001:0000ecd8 __ftelli64_nolock 1000fcd8 f LIBCMT:ftelli64.obj - 0001:0000f022 __ftelli64 10010022 f LIBCMT:ftelli64.obj - 0001:0000f08f __fseeki64_nolock 1001008f f LIBCMT:fseeki64.obj - 0001:0000f12b __fseeki64 1001012b f LIBCMT:fseeki64.obj - 0001:0000f1aa __fsopen 100101aa f LIBCMT:fopen.obj - 0001:0000f266 _fopen 10010266 f LIBCMT:fopen.obj - 0001:0000f27d __fread_nolock_s 1001027d f LIBCMT:fread.obj - 0001:0000f439 _fread_s 10010439 f LIBCMT:fread.obj - 0001:0000f4c7 _fread 100104c7 f LIBCMT:fread.obj - 0001:0000f4e4 _ferror 100104e4 f LIBCMT:feoferr.obj - 0001:0000f50c __fwrite_nolock 1001050c f LIBCMT:fwrite.obj - 0001:0000f663 _fwrite 10010663 f LIBCMT:fwrite.obj - 0001:0000f6dd __fclose_nolock 100106dd f LIBCMT:fclose.obj - 0001:0000f74a _fclose 1001074a f LIBCMT:fclose.obj - 0001:0000f7be _srand 100107be f LIBCMT:rand.obj - 0001:0000f7d0 _rand 100107d0 f LIBCMT:rand.obj - 0001:0000f7f1 __time64 100107f1 f LIBCMT:time64.obj - 0001:0000f842 __CRT_INIT@12 10010842 f LIBCMT:dllcrt0.obj - 0001:0000fa9c __DllMainCRTStartup@12 10010a9c f LIBCMT:dllcrt0.obj - 0001:0000fabf __flsbuf 10010abf f LIBCMT:_flsbuf.obj - 0001:0000fc23 ??0_LocaleUpdate@@QAE@PAUlocaleinfo_struct@@@Z 10010c23 f i LIBCMT:output.obj - 0001:0000fd2a __output_l 10010d2a f LIBCMT:output.obj - 0001:000108d6 __initp_misc_invarg 100118d6 f LIBCMT:invarg.obj - 0001:000108e5 __call_reportfault 100118e5 f LIBCMT:invarg.obj - 0001:00010a0e __invoke_watson 10011a0e f LIBCMT:invarg.obj - 0001:00010a33 __invalid_parameter 10011a33 f LIBCMT:invarg.obj - 0001:00010a60 __invalid_parameter_noinfo 10011a60 f LIBCMT:invarg.obj - 0001:00010a70 __ioinit 10011a70 f LIBCMT:ioinit.obj - 0001:00010cb5 __ioterm 10011cb5 f LIBCMT:ioinit.obj - 0001:00010d08 __set_osfhnd 10011d08 f LIBCMT:osfinfo.obj - 0001:00010d89 __free_osfhnd 10011d89 f LIBCMT:osfinfo.obj - 0001:00010e0f __get_osfhandle 10011e0f f LIBCMT:osfinfo.obj - 0001:00010e78 ___lock_fhandle 10011e78 f LIBCMT:osfinfo.obj - 0001:00010f17 __unlock_fhandle 10011f17 f LIBCMT:osfinfo.obj - 0001:00010f3e __alloc_osfhnd 10011f3e f LIBCMT:osfinfo.obj - 0001:000110e0 __SEH_prolog4 100120e0 f LIBCMT:sehprolg4.obj - 0001:00011125 __SEH_epilog4 10012125 f LIBCMT:sehprolg4.obj - 0001:00011140 __except_handler4 10012140 f LIBCMT:chandler4.obj - 0001:000112cf __heap_init 100122cf f LIBCMT:heapinit.obj - 0001:000112ed __heap_term 100122ed f LIBCMT:heapinit.obj - 0001:00011301 ___crtCorExitProcess 10012301 f LIBCMT:crt0dat.obj - 0001:0001132c ___crtExitProcess 1001232c f LIBCMT:crt0dat.obj - 0001:00011344 __lockexit 10012344 f LIBCMT:crt0dat.obj - 0001:0001134d __unlockexit 1001234d f LIBCMT:crt0dat.obj - 0001:00011356 __init_pointers 10012356 f LIBCMT:crt0dat.obj - 0001:00011389 __initterm_e 10012389 f LIBCMT:crt0dat.obj - 0001:000113ad __cinit 100123ad f LIBCMT:crt0dat.obj - 0001:00011584 __exit 10012584 f LIBCMT:crt0dat.obj - 0001:0001159a __cexit 1001259a f LIBCMT:crt0dat.obj - 0001:000115a9 __amsg_exit 100125a9 f LIBCMT:crt0dat.obj - 0001:000115c7 __GET_RTERRMSG 100125c7 f LIBCMT:crt0msg.obj - 0001:000115ed __NMSG_WRITE 100125ed f LIBCMT:crt0msg.obj - 0001:0001179c __FF_MSGBANNER 1001279c f LIBCMT:crt0msg.obj - 0001:000117d5 __initp_heap_handler 100127d5 f LIBCMT:handler.obj - 0001:000117e4 __callnewh 100127e4 f LIBCMT:handler.obj - 0001:0001180c __VEC_memcpy 1001280c f LIBCMT:p4_memcpy.obj - 0001:0001190f ___sse2_available_init 1001290f f LIBCMT:cpu_disp.obj - 0001:0001191f ___sys_nerr 1001291f f LIBCMT:syserr.obj - 0001:00011925 ___sys_errlist 10012925 f LIBCMT:syserr.obj - 0001:0001192b _strcpy_s 1001292b f LIBCMT:strcpy_s.obj - 0001:0001198a __malloc_crt 1001298a f LIBCMT:crtheap.obj - 0001:000119cf __calloc_crt 100129cf f LIBCMT:crtheap.obj - 0001:00011a1b __realloc_crt 10012a1b f LIBCMT:crtheap.obj - 0001:00011a69 __encoded_null 10012a69 f LIBCMT:tidtable.obj - 0001:00011a72 ___crtTlsAlloc@4 10012a72 f LIBCMT:tidtable.obj - 0001:00011a7b ___set_flsgetvalue 10012a7b f LIBCMT:tidtable.obj - 0001:00011aaf __mtterm 10012aaf f LIBCMT:tidtable.obj - 0001:00011aec __initptd 10012aec f LIBCMT:tidtable.obj - 0001:00011ba0 __getptd_noexit 10012ba0 f LIBCMT:tidtable.obj - 0001:00011c19 __getptd 10012c19 f LIBCMT:tidtable.obj - 0001:00011c33 __freefls@4 10012c33 f LIBCMT:tidtable.obj - 0001:00011d62 __freeptd 10012d62 f LIBCMT:tidtable.obj - 0001:00011dd0 __mtinit 10012dd0 f LIBCMT:tidtable.obj - 0001:00011f4b __vsnprintf_l 10012f4b f LIBCMT:vsnprint.obj - 0001:00011ff7 _vsnprintf 10012ff7 f LIBCMT:vsnprint.obj - 0001:00011ff7 __vsnprintf 10012ff7 f LIBCMT:vsnprint.obj - 0001:00012014 __read_nolock 10013014 f LIBCMT:read.obj - 0001:000125cb __read 100135cb f LIBCMT:read.obj - 0001:000125cb _read 100135cb f LIBCMT:read.obj - 0001:000126c1 __fileno 100136c1 f LIBCMT:fileno.obj - 0001:000126e7 @__security_check_cookie@4 100136e7 f LIBCMT:secchk.obj - 0001:00012700 __alloca_probe 10013700 LIBCMT:chkstk.obj - 0001:00012700 __chkstk 10013700 f LIBCMT:chkstk.obj - 0001:0001272b ___iob_func 1001372b f LIBCMT:_file.obj - 0001:00012731 ___initstdio 10013731 f LIBCMT:_file.obj - 0001:000127e2 ___endstdio 100137e2 f LIBCMT:_file.obj - 0001:00012802 __lock_file 10013802 f LIBCMT:_file.obj - 0001:00012843 __lock_file2 10013843 f LIBCMT:_file.obj - 0001:00012875 __unlock_file 10013875 f LIBCMT:_file.obj - 0001:000128b1 __unlock_file2 100138b1 f LIBCMT:_file.obj - 0001:000128e0 __flush 100138e0 f LIBCMT:fflush.obj - 0001:00012948 __fflush_nolock 10013948 f LIBCMT:fflush.obj - 0001:00012a6a __flushall 10013a6a f LIBCMT:fflush.obj - 0001:00012a73 __openfile 10013a73 f LIBCMT:_open.obj - 0001:00012d0a __getstream 10013d0a f LIBCMT:stream.obj - 0001:00012e40 __local_unwind4 10013e40 f LIBCMT:exsup4.obj - 0001:00012f16 __seh_longjmp_unwind4@4 10013f16 f LIBCMT:exsup4.obj - 0001:00012f32 @_EH4_CallFilterFunc@8 10013f32 f LIBCMT:exsup4.obj - 0001:00012f49 @_EH4_TransferToHandler@8 10013f49 f LIBCMT:exsup4.obj - 0001:00012f62 @_EH4_GlobalUnwind2@8 10013f62 f LIBCMT:exsup4.obj - 0001:00012f7b @_EH4_LocalUnwind@16 10013f7b f LIBCMT:exsup4.obj - 0001:00012f92 __filbuf 10013f92 f LIBCMT:_filbuf.obj - 0001:000130b4 _memcpy_s 100140b4 f LIBCMT:memcpy_s.obj - 0001:00013130 _memset 10014130 f LIBCMT:memset.obj - 0001:000131aa __write_nolock 100141aa f LIBCMT:write.obj - 0001:000138a7 _write 100148a7 f LIBCMT:write.obj - 0001:000138a7 __write 100148a7 f LIBCMT:write.obj - 0001:00013980 _memcpy 10014980 f LIBCMT:memcpy.obj - 0001:00013ce1 __lseek_nolock 10014ce1 f LIBCMT:lseek.obj - 0001:00013d56 __close_nolock 10014d56 f LIBCMT:close.obj - 0001:00013df2 _close 10014df2 f LIBCMT:close.obj - 0001:00013df2 __close 10014df2 f LIBCMT:close.obj - 0001:00013eb6 __freebuf 10014eb6 f LIBCMT:_freebuf.obj - 0001:00013ef0 __aulldiv 10014ef0 f LIBCMT:ulldiv.obj - 0001:00013f58 __setenvp 10014f58 f LIBCMT:stdenvp.obj - 0001:000141ce __setargv 100151ce f LIBCMT:stdargv.obj - 0001:00014289 ___crtGetEnvironmentStringsA 10015289 f LIBCMT:a_env.obj - 0001:00014320 __RTC_Initialize 10015320 f LIBCMT:_initsect_.obj - 0001:00014346 __RTC_Terminate 10015346 f LIBCMT:_initsect_.obj - 0001:0001436c __XcptFilter 1001536c f LIBCMT:winxfltr.obj - 0001:000144b6 ___CppXcptFilter 100154b6 f LIBCMT:winxfltr.obj - 0001:000144d6 _DllMain@12 100154d6 f LIBCMT:dllmain.obj - 0001:000144dc ___security_init_cookie 100154dc f LIBCMT:gs_support.obj - 0001:00014577 __getbuf 10015577 f LIBCMT:_getbuf.obj - 0001:000145c0 __isatty 100155c0 f LIBCMT:isatty.obj - 0001:00014839 ___updatetmbcinfo 10015839 f LIBCMT:mbctype.obj - 0001:00014959 __setmbcp_nolock 10015959 f LIBCMT:mbctype.obj - 0001:00014b42 __setmbcp 10015b42 f LIBCMT:mbctype.obj - 0001:00014cdc ___initmbctable 10015cdc f LIBCMT:mbctype.obj - 0001:00014cfa ___addlocaleref 10015cfa f LIBCMT:localref.obj - 0001:00014d89 ___removelocaleref 10015d89 f LIBCMT:localref.obj - 0001:00014e22 ___freetlocinfo 10015e22 f LIBCMT:localref.obj - 0001:00014f6d __updatetlocinfoEx_nolock 10015f6d f LIBCMT:localref.obj - 0001:00014fba ___updatetlocinfo 10015fba f LIBCMT:localref.obj - 0001:00015033 __initp_misc_cfltcvt_tab 10016033 f LIBCMT:cmiscdat.obj - 0001:00015056 __get_printf_count_output 10016056 f LIBCMT:printf.obj - 0001:00015070 _strlen 10016070 f LIBCMT:strlen.obj - 0001:000150fb __wctomb_s_l 100160fb f LIBCMT:wctomb.obj - 0001:00015250 _wctomb_s 10016250 f LIBCMT:wctomb.obj - 0001:0001526d __isleadbyte_l 1001626d f i LIBCMT:_wctype.obj - 0001:000152a5 _isleadbyte 100162a5 f i LIBCMT:_wctype.obj - 0001:000152c0 __aulldvrm 100162c0 f LIBCMT:ulldvrm.obj - 0001:00015355 __crt_debugger_hook 10016355 f LIBCMT:dbghook.obj - 0001:0001535d __mtinitlocks 1001635d f LIBCMT:mlock.obj - 0001:000153a7 __mtdeletelocks 100163a7 f LIBCMT:mlock.obj - 0001:000153fe __unlock 100163fe f LIBCMT:mlock.obj - 0001:00015415 __mtinitlocknum 10016415 f LIBCMT:mlock.obj - 0001:000154d7 __lock 100164d7 f LIBCMT:mlock.obj - 0001:00015510 __ValidateImageBase 10016510 f LIBCMT:pesect.obj - 0001:00015550 __FindPESection 10016550 f LIBCMT:pesect.obj - 0001:000155a0 __IsNonwritableInCurrentImage 100165a0 f LIBCMT:pesect.obj - 0001:0001565c ?terminate@@YAXXZ 1001665c f LIBCMT:hooks.obj - 0001:00015695 __initp_eh_hooks 10016695 f LIBCMT:hooks.obj - 0001:000156a6 __initp_misc_winsig 100166a6 f LIBCMT:winsig.obj - 0001:000156fb ___get_sigabrt 100166fb f LIBCMT:winsig.obj - 0001:00015708 _raise 10016708 f LIBCMT:winsig.obj - 0001:000158ab __initp_misc_rand_s 100168ab f LIBCMT:rand_s.obj - 0001:000158ba __initp_misc_purevirt 100168ba f LIBCMT:inithelp.obj - 0001:0001597f ___onexitinit 1001697f f LIBCMT:onexit.obj - 0001:000159b0 __onexit 100169b0 f LIBCMT:onexit.obj - 0001:000159ec _atexit 100169ec f LIBCMT:onexit.obj - 0001:00015a03 ___crtMessageBoxW 10016a03 f LIBCMT:crtmboxw.obj - 0001:00015b6f _wcscat_s 10016b6f f LIBCMT:wcscat_s.obj - 0001:00015be4 _wcsncpy_s 10016be4 f LIBCMT:wcsncpy_s.obj - 0001:00015cb1 _wcslen 10016cb1 f LIBCMT:wcslen.obj - 0001:00015ccc _wcscpy_s 10016ccc f LIBCMT:wcscpy_s.obj - 0001:00015d2f __set_error_mode 10016d2f f LIBCMT:errmode.obj - 0001:00015d6e __calloc_impl 10016d6e f LIBCMT:calloc_impl.obj - 0001:00015df0 _realloc 10016df0 f LIBCMT:realloc.obj - 0001:00015e9d ___report_gsfailure 10016e9d f LIBCMT:gs_report.obj - 0001:00015fa3 __fcloseall 10016fa3 f LIBCMT:closeall.obj - 0001:0001603f __commit 1001703f f LIBCMT:commit.obj - 0001:0001684c _open 1001784c f LIBCMT:open.obj - 0001:0001684c __open 1001784c f LIBCMT:open.obj - 0001:000168fa __sopen_helper 100178fa f LIBCMT:open.obj - 0001:000169be __sopen_s 100179be f LIBCMT:open.obj - 0001:000169de __mbsnbicmp_l 100179de f LIBCMT:mbsnbicm.obj - 0001:00016be2 __mbsnbicmp 10017be2 f LIBCMT:mbsnbicm.obj - 0001:00016bfc __mbsnbcmp_l 10017bfc f LIBCMT:mbsnbcmp.obj - 0001:00016d48 __mbsnbcmp 10017d48 f LIBCMT:mbsnbcmp.obj - 0001:00016d70 __global_unwind2 10017d70 f LIBCMT:exsup.obj - 0001:00016dd5 __local_unwind2 10017dd5 f LIBCMT:exsup.obj - 0001:00016e59 __abnormal_termination 10017e59 f LIBCMT:exsup.obj - 0001:00016e7c __NLG_Notify1 10017e7c f LIBCMT:exsup.obj - 0001:00016e85 __NLG_Notify 10017e85 f LIBCMT:exsup.obj - 0001:00016e9c __NLG_Dispatch2 10017e9c LIBCMT:exsup.obj - 0001:00016e9c __NLG_Dispatch 10017e9c LIBCMT:exsup.obj - 0001:00016ea4 __NLG_Call 10017ea4 f LIBCMT:exsup.obj - 0001:00016ea6 __NLG_Return2 10017ea6 LIBCMT:exsup.obj - 0001:00016ea7 __VEC_memzero 10017ea7 f LIBCMT:p4_memset.obj - 0001:00016f61 __putwch_nolock 10017f61 f LIBCMT:putwch.obj - 0001:00016fa3 __mbtowc_l 10017fa3 f LIBCMT:mbtowc.obj - 0001:000170b9 _mbtowc 100180b9 f LIBCMT:mbtowc.obj - 0001:00017126 __ismbblead 10018126 f LIBCMT:ismbbyte.obj - 0001:0001713e __freea 1001813e f i LIBCMT:a_map.obj - 0001:00017345 ___crtLCMapStringA 10018345 f LIBCMT:a_map.obj - 0001:00017472 ___crtGetStringTypeA 10018472 f LIBCMT:a_str.obj - 0001:000174b2 ___free_lc_time 100184b2 f LIBCMT:inittime.obj - 0001:00017829 ___free_lconv_num 10018829 f LIBCMT:initnum.obj - 0001:00017892 ___free_lconv_mon 10018892 f LIBCMT:initmon.obj - 0001:00017990 __fptrap 10018990 f LIBCMT:crt0fp.obj - 0001:00017999 _abort 10018999 f LIBCMT:abort.obj - 0001:000179cc __msize 100189cc f LIBCMT:msize.obj - 0001:000179ff __chsize_nolock 100189ff f LIBCMT:chsize.obj - 0001:00017bb5 __setmode_nolock 10018bb5 f LIBCMT:setmode.obj - 0001:00017c70 __get_fmode 10018c70 f LIBCMT:setmode.obj - 0001:00017c9d __strnicmp_l 10018c9d f LIBCMT:strnicmp.obj - 0001:00017d7f __strnicmp 10018d7f f LIBCMT:strnicmp.obj - 0001:00017dd2 _strncmp 10018dd2 f LIBCMT:strncmp.obj - 0001:00017e92 ___initconout 10018e92 f LIBCMT:initcon.obj - 0001:00017eb1 ___termconout 10018eb1 f LIBCMT:initcon.obj - 0001:00017ed0 __alloca_probe_16 10018ed0 f LIBCMT:alloca16.obj - 0001:00017ee6 __alloca_probe_8 10018ee6 LIBCMT:alloca16.obj - 0001:00017efc __isctype_l 10018efc f LIBCMT:isctype.obj - 0001:00017fb4 __tolower_l 10018fb4 f LIBCMT:tolower.obj - 0001:000180d0 ___ascii_strnicmp 100190d0 f LIBCMT:_strnicm.obj - 0001:00018140 _strcspn 10019140 f LIBCMT:strcspn.obj - 0001:00018190 _strcmp 10019190 f LIBCMT:strcmp.obj - 0001:00018220 _strpbrk 10019220 f LIBCMT:strpbrk.obj - 0001:00018260 __allmul 10019260 f LIBCMT:llmul.obj - 0001:00018294 _RtlUnwind@16 10019294 f kernel32:KERNEL32.dll - 0001:000182a0 __alldiv 100192a0 f LIBCMT:lldiv.obj - 0002:00000000 __imp__CreateFileA@28 1001a000 kernel32:KERNEL32.dll - 0002:00000004 __imp__SetFilePointer@16 1001a004 kernel32:KERNEL32.dll - 0002:00000008 __imp__WriteFile@20 1001a008 kernel32:KERNEL32.dll - 0002:0000000c __imp__ReadFile@20 1001a00c kernel32:KERNEL32.dll - 0002:00000010 __imp__CreateFileW@28 1001a010 kernel32:KERNEL32.dll - 0002:00000014 __imp__GetLastError@0 1001a014 kernel32:KERNEL32.dll - 0002:00000018 __imp__CloseHandle@4 1001a018 kernel32:KERNEL32.dll - 0002:0000001c __imp__HeapFree@12 1001a01c kernel32:KERNEL32.dll - 0002:00000020 __imp__HeapAlloc@12 1001a020 kernel32:KERNEL32.dll - 0002:00000024 __imp__GetSystemTimeAsFileTime@4 1001a024 kernel32:KERNEL32.dll - 0002:00000028 __imp__GetCurrentThreadId@0 1001a028 kernel32:KERNEL32.dll - 0002:0000002c __imp__DecodePointer@4 1001a02c kernel32:KERNEL32.dll - 0002:00000030 __imp__GetCommandLineA@0 1001a030 kernel32:KERNEL32.dll - 0002:00000034 __imp__UnhandledExceptionFilter@4 1001a034 kernel32:KERNEL32.dll - 0002:00000038 __imp__SetUnhandledExceptionFilter@4 1001a038 kernel32:KERNEL32.dll - 0002:0000003c __imp__IsDebuggerPresent@0 1001a03c kernel32:KERNEL32.dll - 0002:00000040 __imp__EncodePointer@4 1001a040 kernel32:KERNEL32.dll - 0002:00000044 __imp__TerminateProcess@8 1001a044 kernel32:KERNEL32.dll - 0002:00000048 __imp__GetCurrentProcess@0 1001a048 kernel32:KERNEL32.dll - 0002:0000004c __imp__SetHandleCount@4 1001a04c kernel32:KERNEL32.dll - 0002:00000050 __imp__GetStdHandle@4 1001a050 kernel32:KERNEL32.dll - 0002:00000054 __imp__InitializeCriticalSectionAndSpinCount@8 1001a054 kernel32:KERNEL32.dll - 0002:00000058 __imp__GetFileType@4 1001a058 kernel32:KERNEL32.dll - 0002:0000005c __imp__GetStartupInfoW@4 1001a05c kernel32:KERNEL32.dll - 0002:00000060 __imp__DeleteCriticalSection@4 1001a060 kernel32:KERNEL32.dll - 0002:00000064 __imp__SetStdHandle@8 1001a064 kernel32:KERNEL32.dll - 0002:00000068 __imp__EnterCriticalSection@4 1001a068 kernel32:KERNEL32.dll - 0002:0000006c __imp__LeaveCriticalSection@4 1001a06c kernel32:KERNEL32.dll - 0002:00000070 __imp__HeapCreate@12 1001a070 kernel32:KERNEL32.dll - 0002:00000074 __imp__HeapDestroy@4 1001a074 kernel32:KERNEL32.dll - 0002:00000078 __imp__GetProcAddress@8 1001a078 kernel32:KERNEL32.dll - 0002:0000007c __imp__GetModuleHandleW@4 1001a07c kernel32:KERNEL32.dll - 0002:00000080 __imp__ExitProcess@4 1001a080 kernel32:KERNEL32.dll - 0002:00000084 __imp__GetModuleFileNameW@12 1001a084 kernel32:KERNEL32.dll - 0002:00000088 __imp__IsProcessorFeaturePresent@4 1001a088 kernel32:KERNEL32.dll - 0002:0000008c __imp__Sleep@4 1001a08c kernel32:KERNEL32.dll - 0002:00000090 __imp__TlsAlloc@0 1001a090 kernel32:KERNEL32.dll - 0002:00000094 __imp__TlsGetValue@4 1001a094 kernel32:KERNEL32.dll - 0002:00000098 __imp__TlsSetValue@8 1001a098 kernel32:KERNEL32.dll - 0002:0000009c __imp__TlsFree@4 1001a09c kernel32:KERNEL32.dll - 0002:000000a0 __imp__InterlockedIncrement@4 1001a0a0 kernel32:KERNEL32.dll - 0002:000000a4 __imp__SetLastError@4 1001a0a4 kernel32:KERNEL32.dll - 0002:000000a8 __imp__InterlockedDecrement@4 1001a0a8 kernel32:KERNEL32.dll - 0002:000000ac __imp__MultiByteToWideChar@24 1001a0ac kernel32:KERNEL32.dll - 0002:000000b0 __imp__RtlUnwind@16 1001a0b0 kernel32:KERNEL32.dll - 0002:000000b4 __imp__WideCharToMultiByte@32 1001a0b4 kernel32:KERNEL32.dll - 0002:000000b8 __imp__GetConsoleCP@0 1001a0b8 kernel32:KERNEL32.dll - 0002:000000bc __imp__GetConsoleMode@8 1001a0bc kernel32:KERNEL32.dll - 0002:000000c0 __imp__GetModuleFileNameA@12 1001a0c0 kernel32:KERNEL32.dll - 0002:000000c4 __imp__FreeEnvironmentStringsW@4 1001a0c4 kernel32:KERNEL32.dll - 0002:000000c8 __imp__GetEnvironmentStringsW@0 1001a0c8 kernel32:KERNEL32.dll - 0002:000000cc __imp__QueryPerformanceCounter@4 1001a0cc kernel32:KERNEL32.dll - 0002:000000d0 __imp__GetTickCount@0 1001a0d0 kernel32:KERNEL32.dll - 0002:000000d4 __imp__GetCurrentProcessId@0 1001a0d4 kernel32:KERNEL32.dll - 0002:000000d8 __imp__GetCPInfo@8 1001a0d8 kernel32:KERNEL32.dll - 0002:000000dc __imp__GetACP@0 1001a0dc kernel32:KERNEL32.dll - 0002:000000e0 __imp__GetOEMCP@0 1001a0e0 kernel32:KERNEL32.dll - 0002:000000e4 __imp__IsValidCodePage@4 1001a0e4 kernel32:KERNEL32.dll - 0002:000000e8 __imp__LoadLibraryW@4 1001a0e8 kernel32:KERNEL32.dll - 0002:000000ec __imp__HeapReAlloc@16 1001a0ec kernel32:KERNEL32.dll - 0002:000000f0 __imp__FlushFileBuffers@4 1001a0f0 kernel32:KERNEL32.dll - 0002:000000f4 __imp__WriteConsoleW@20 1001a0f4 kernel32:KERNEL32.dll - 0002:000000f8 __imp__LCMapStringW@24 1001a0f8 kernel32:KERNEL32.dll - 0002:000000fc __imp__GetStringTypeW@16 1001a0fc kernel32:KERNEL32.dll - 0002:00000100 __imp__HeapSize@12 1001a100 kernel32:KERNEL32.dll - 0002:00000104 __imp__SetEndOfFile@4 1001a104 kernel32:KERNEL32.dll - 0002:00000108 __imp__GetProcessHeap@0 1001a108 kernel32:KERNEL32.dll - 0002:0000010c \177KERNEL32_NULL_THUNK_DATA 1001a10c kernel32:KERNEL32.dll - 0002:00000110 ___xc_a 1001a110 LIBCMT:crt0init.obj - 0002:00000114 ___xc_z 1001a114 LIBCMT:crt0init.obj - 0002:00000118 ___xi_a 1001a118 LIBCMT:crt0init.obj - 0002:0000012c ___xi_z 1001a12c LIBCMT:crt0init.obj - 0002:00000130 ___xp_a 1001a130 LIBCMT:crt0init.obj - 0002:0000013c ___xp_z 1001a13c LIBCMT:crt0init.obj - 0002:00000140 ___xt_a 1001a140 LIBCMT:crt0init.obj - 0002:00000144 ___xt_z 1001a144 LIBCMT:crt0init.obj - 0002:00000148 ??_C@_0EA@FCLIIPNN@Visual?5C?$CL?$CL?5CRT?3?5Not?5enough?5memor@ 1001a148 LIBCMT:strerror.obj - 0002:00000188 __pDefaultRawDllMain 1001a188 LIBCMT:dllcrt0.obj - 0002:00000188 __pRawDllMain 1001a188 LIBCMT:dllcrt0.obj - 0002:0000018c ??_C@_1O@CEDCILHN@?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AA?$CJ?$AA?$AA@ 1001a18c LIBCMT:output.obj - 0002:0000019c ??_C@_06OJHGLDPL@?$CInull?$CJ?$AA@ 1001a19c LIBCMT:output.obj - 0002:000001a8 ___lookuptable 1001a1a8 LIBCMT:output.obj - 0002:00000204 ??_C@_0P@MIGLKIOC@CorExitProcess?$AA@ 1001a204 LIBCMT:crt0dat.obj - 0002:00000214 ??_C@_1BI@BGOHAHKC@?$AAm?$AAs?$AAc?$AAo?$AAr?$AAe?$AAe?$AA?4?$AAd?$AAl?$AAl?$AA?$AA@ 1001a214 LIBCMT:crt0dat.obj - 0002:0000022c ??_C@_1BO@BKOMIGKJ@?$AAr?$AAu?$AAn?$AAt?$AAi?$AAm?$AAe?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?5?$AA?$AA@ 1001a22c LIBCMT:crt0msg.obj - 0002:0000024c ??_C@_15JNBOKNOG@?$AA?$AN?$AA?6?$AA?$AA@ 1001a24c LIBCMT:crt0msg.obj - 0002:00000254 ??_C@_1BM@JBBEPPHI@?$AAT?$AAL?$AAO?$AAS?$AAS?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AN?$AA?6?$AA?$AA@ 1001a254 LIBCMT:crt0msg.obj - 0002:00000270 ??_C@_1BK@KMOMNAAI@?$AAS?$AAI?$AAN?$AAG?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AN?$AA?6?$AA?$AA@ 1001a270 LIBCMT:crt0msg.obj - 0002:0000028c ??_C@_1BO@BFCDCGC@?$AAD?$AAO?$AAM?$AAA?$AAI?$AAN?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AN?$AA?6?$AA?$AA@ 1001a28c LIBCMT:crt0msg.obj - 0002:000002b0 ??_C@_1BOO@KGEDBGAJ@?$AAR?$AA6?$AA0?$AA3?$AA3?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAA?$AAt?$AAt?$AAe?$AAm?$AAp?$AAt?$AA?5?$AAt?$AAo?$AA?5?$AAu?$AAs?$AAe?$AA?5?$AAM?$AAS?$AAI?$AAL?$AA?5?$AAc?$AAo?$AAd@ 1001a2b0 LIBCMT:crt0msg.obj - 0002:000004a0 ??_C@_1GG@GOPILAJP@?$AAR?$AA6?$AA0?$AA3?$AA2?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAl?$AAo@ 1001a4a0 LIBCMT:crt0msg.obj - 0002:00000508 ??_C@_1MG@ENCOOIDF@?$AAR?$AA6?$AA0?$AA3?$AA1?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAA?$AAt?$AAt?$AAe?$AAm?$AAp?$AAt?$AA?5?$AAt?$AAo?$AA?5?$AAi?$AAn?$AAi?$AAt?$AAi?$AAa?$AAl?$AAi?$AAz?$AAe?$AA?5?$AAt@ 1001a508 LIBCMT:crt0msg.obj - 0002:000005d0 ??_C@_1DO@BMFCDCD@?$AAR?$AA6?$AA0?$AA3?$AA0?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAC?$AAR?$AAT?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAi?$AAn?$AAi?$AAt?$AAi?$AAa?$AAl?$AAi?$AAz?$AAe?$AAd?$AA?$AN?$AA?6?$AA?$AA@ 1001a5d0 LIBCMT:crt0msg.obj - 0002:00000610 ??_C@_1EK@HHFLMAOL@?$AAR?$AA6?$AA0?$AA2?$AA8?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAu?$AAn?$AAa?$AAb?$AAl?$AAe?$AA?5?$AAt?$AAo?$AA?5?$AAi?$AAn?$AAi?$AAt?$AAi?$AAa?$AAl?$AAi?$AAz?$AAe?$AA?5?$AAh?$AAe@ 1001a610 LIBCMT:crt0msg.obj - 0002:00000660 ??_C@_1GK@MFGOKLAG@?$AAR?$AA6?$AA0?$AA2?$AA7?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAl?$AAo@ 1001a660 LIBCMT:crt0msg.obj - 0002:000006d0 ??_C@_1GK@MCAAGJMO@?$AAR?$AA6?$AA0?$AA2?$AA6?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAs?$AAt@ 1001a6d0 LIBCMT:crt0msg.obj - 0002:00000740 ??_C@_1EM@MAADIHMB@?$AAR?$AA6?$AA0?$AA2?$AA5?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAp?$AAu?$AAr?$AAe?$AA?5?$AAv?$AAi?$AAr?$AAt?$AAu?$AAa?$AAl?$AA?5?$AAf?$AAu?$AAn?$AAc?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAc@ 1001a740 LIBCMT:crt0msg.obj - 0002:00000790 ??_C@_1GK@FHCKBEFA@?$AAR?$AA6?$AA0?$AA2?$AA4?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA_?$AAo@ 1001a790 LIBCMT:crt0msg.obj - 0002:00000800 ??_C@_1FC@ECHBIFBC@?$AAR?$AA6?$AA0?$AA1?$AA9?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAu?$AAn?$AAa?$AAb?$AAl?$AAe?$AA?5?$AAt?$AAo?$AA?5?$AAo?$AAp?$AAe?$AAn?$AA?5?$AAc?$AAo?$AAn?$AAs?$AAo?$AAl?$AAe?$AA?5@ 1001a800 LIBCMT:crt0msg.obj - 0002:00000858 ??_C@_1EC@JIBHAOPH@?$AAR?$AA6?$AA0?$AA1?$AA8?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAu?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAh?$AAe?$AAa?$AAp?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AN?$AA?6@ 1001a858 LIBCMT:crt0msg.obj - 0002:000008a0 ??_C@_1FK@BEOGODMC@?$AAR?$AA6?$AA0?$AA1?$AA7?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAu?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAm?$AAu?$AAl?$AAt?$AAi?$AAt?$AAh?$AAr?$AAe?$AAa?$AAd?$AA?5@ 1001a8a0 LIBCMT:crt0msg.obj - 0002:00000900 ??_C@_1FI@LOGNIKDM@?$AAR?$AA6?$AA0?$AA1?$AA6?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAt?$AAh@ 1001a900 LIBCMT:crt0msg.obj - 0002:00000958 ??_C@_1EG@BEHAGFJD@?$AAR?$AA6?$AA0?$AA1?$AA0?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAa?$AAb?$AAo?$AAr?$AAt?$AA?$CI?$AA?$CJ?$AA?5?$AAh?$AAa?$AAs?$AA?5?$AAb?$AAe?$AAe?$AAn?$AA?5?$AAc?$AAa?$AAl?$AAl?$AAe?$AAd@ 1001a958 LIBCMT:crt0msg.obj - 0002:000009a0 ??_C@_1FI@HONFMGBI@?$AAR?$AA6?$AA0?$AA0?$AA9?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAe?$AAn@ 1001a9a0 LIBCMT:crt0msg.obj - 0002:000009f8 ??_C@_1FE@LLNEDJMD@?$AAR?$AA6?$AA0?$AA0?$AA8?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAa?$AAr@ 1001a9f8 LIBCMT:crt0msg.obj - 0002:00000a50 ??_C@_1FK@PGACCAFB@?$AAR?$AA6?$AA0?$AA0?$AA2?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAf?$AAl?$AAo?$AAa?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AA?5@ 1001aa50 LIBCMT:crt0msg.obj - 0002:00000b60 ??_C@_1EK@MBDPDCGA@?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa?$AAl?$AA?5?$AAC?$AA?$CL?$AA?$CL?$AA?5?$AAR?$AAu?$AAn?$AAt?$AAi?$AAm?$AAe?$AA?5?$AAL?$AAi?$AAb@ 1001ab60 LIBCMT:crt0msg.obj - 0002:00000bac ??_C@_15IABLJNFO@?$AA?6?$AA?6?$AA?$AA@ 1001abac LIBCMT:crt0msg.obj - 0002:00000bb4 ??_C@_17LGKOMLJ@?$AA?4?$AA?4?$AA?4?$AA?$AA@ 1001abb4 LIBCMT:crt0msg.obj - 0002:00000bbc ??_C@_1CO@EAEJAADC@?$AA?$DM?$AAp?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAn?$AAa?$AAm?$AAe?$AA?5?$AAu?$AAn?$AAk?$AAn?$AAo?$AAw?$AAn?$AA?$DO?$AA?$AA@ 1001abbc LIBCMT:crt0msg.obj - 0002:00000bec ??_C@_1DE@JNGNBFGO@?$AAR?$AAu?$AAn?$AAt?$AAi?$AAm?$AAe?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?$CB?$AA?6?$AA?6?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?3?$AA?5?$AA?$AA@ 1001abec LIBCMT:crt0msg.obj - 0002:00000c20 ??_C@_0BG@KLEAJEFJ@Illegal?5byte?5sequence?$AA@ 1001ac20 LIBCMT:syserr.obj - 0002:00000c38 ??_C@_0BE@ICMCHPHH@Directory?5not?5empty?$AA@ 1001ac38 LIBCMT:syserr.obj - 0002:00000c4c ??_C@_0BJ@IHEHINLI@Function?5not?5implemented?$AA@ 1001ac4c LIBCMT:syserr.obj - 0002:00000c68 ??_C@_0BD@CLHBCGPB@No?5locks?5available?$AA@ 1001ac68 LIBCMT:syserr.obj - 0002:00000c7c ??_C@_0BC@BEDIHIDK@Filename?5too?5long?$AA@ 1001ac7c LIBCMT:syserr.obj - 0002:00000c90 ??_C@_0BK@JAEBMJJM@Resource?5deadlock?5avoided?$AA@ 1001ac90 LIBCMT:syserr.obj - 0002:00000cac ??_C@_0BB@FCBJFCAJ@Result?5too?5large?$AA@ 1001acac LIBCMT:syserr.obj - 0002:00000cc0 ??_C@_0N@MMJPGLJK@Domain?5error?$AA@ 1001acc0 LIBCMT:syserr.obj - 0002:00000cd0 ??_C@_0M@LHEPIIOM@Broken?5pipe?$AA@ 1001acd0 LIBCMT:syserr.obj - 0002:00000cdc ??_C@_0P@PKCJJLLM@Too?5many?5links?$AA@ 1001acdc LIBCMT:syserr.obj - 0002:00000cec ??_C@_0BG@DDBFNKBH@Read?9only?5file?5system?$AA@ 1001acec LIBCMT:syserr.obj - 0002:00000d04 ??_C@_0N@FEHLOILP@Invalid?5seek?$AA@ 1001ad04 LIBCMT:syserr.obj - 0002:00000d14 ??_C@_0BI@FEALHKLD@No?5space?5left?5on?5device?$AA@ 1001ad14 LIBCMT:syserr.obj - 0002:00000d2c ??_C@_0P@LFMMIPAE@File?5too?5large?$AA@ 1001ad2c LIBCMT:syserr.obj - 0002:00000d3c ??_C@_0CE@ONOKNLPF@Inappropriate?5I?1O?5control?5operat@ 1001ad3c LIBCMT:syserr.obj - 0002:00000d60 ??_C@_0BE@INBJMKGG@Too?5many?5open?5files?$AA@ 1001ad60 LIBCMT:syserr.obj - 0002:00000d74 ??_C@_0BO@IIFBODJE@Too?5many?5open?5files?5in?5system?$AA@ 1001ad74 LIBCMT:syserr.obj - 0002:00000d94 ??_C@_0BB@HMGGCEBG@Invalid?5argument?$AA@ 1001ad94 LIBCMT:syserr.obj - 0002:00000da8 ??_C@_0P@NDHGCGKE@Is?5a?5directory?$AA@ 1001ada8 LIBCMT:syserr.obj - 0002:00000db8 ??_C@_0BA@CJBACOOL@Not?5a?5directory?$AA@ 1001adb8 LIBCMT:syserr.obj - 0002:00000dc8 ??_C@_0P@NLEIANHE@No?5such?5device?$AA@ 1001adc8 LIBCMT:syserr.obj - 0002:00000dd8 ??_C@_0O@OAMDNOCP@Improper?5link?$AA@ 1001add8 LIBCMT:syserr.obj - 0002:00000de8 ??_C@_0M@NAAJNNGH@File?5exists?$AA@ 1001ade8 LIBCMT:syserr.obj - 0002:00000df4 ??_C@_0BA@BIBLIOEK@Resource?5device?$AA@ 1001adf4 LIBCMT:syserr.obj - 0002:00000e04 ??_C@_0O@NIPGCINC@Unknown?5error?$AA@ 1001ae04 LIBCMT:syserr.obj - 0002:00000e14 ??_C@_0M@LOEHLCJD@Bad?5address?$AA@ 1001ae14 LIBCMT:syserr.obj - 0002:00000e20 ??_C@_0BC@HFNFNKAI@Permission?5denied?$AA@ 1001ae20 LIBCMT:syserr.obj - 0002:00000e34 ??_C@_0BB@IMDKMPFB@Not?5enough?5space?$AA@ 1001ae34 LIBCMT:syserr.obj - 0002:00000e48 ??_C@_0CB@EPFKGNAK@Resource?5temporarily?5unavailable@ 1001ae48 LIBCMT:syserr.obj - 0002:00000e6c ??_C@_0BD@LOHELEP@No?5child?5processes?$AA@ 1001ae6c LIBCMT:syserr.obj - 0002:00000e80 ??_C@_0BE@NFGDDCEF@Bad?5file?5descriptor?$AA@ 1001ae80 LIBCMT:syserr.obj - 0002:00000e94 ??_C@_0BC@HKPNECK@Exec?5format?5error?$AA@ 1001ae94 LIBCMT:syserr.obj - 0002:00000ea8 ??_C@_0BC@MFFGCDFL@Arg?5list?5too?5long?$AA@ 1001aea8 LIBCMT:syserr.obj - 0002:00000ebc ??_C@_0BK@DPKMCKJ@No?5such?5device?5or?5address?$AA@ 1001aebc LIBCMT:syserr.obj - 0002:00000ed8 ??_C@_0BD@KKNFOBBD@Input?1output?5error?$AA@ 1001aed8 LIBCMT:syserr.obj - 0002:00000eec ??_C@_0BK@FJBOAFDK@Interrupted?5function?5call?$AA@ 1001aeec LIBCMT:syserr.obj - 0002:00000f08 ??_C@_0BA@FKIAIBGA@No?5such?5process?$AA@ 1001af08 LIBCMT:syserr.obj - 0002:00000f18 ??_C@_0BK@FMDHKPNF@No?5such?5file?5or?5directory?$AA@ 1001af18 LIBCMT:syserr.obj - 0002:00000f34 ??_C@_0BI@BJFCGOHL@Operation?5not?5permitted?$AA@ 1001af34 LIBCMT:syserr.obj - 0002:00000f4c ??_C@_08INEPGKHH@No?5error?$AA@ 1001af4c LIBCMT:syserr.obj - 0002:00000f58 ??_C@_1BK@DBDEIDLH@?$AAK?$AAE?$AAR?$AAN?$AAE?$AAL?$AA3?$AA2?$AA?4?$AAD?$AAL?$AAL?$AA?$AA@ 1001af58 LIBCMT:tidtable.obj - 0002:00000f74 ??_C@_07PEJMOBNF@FlsFree?$AA@ 1001af74 LIBCMT:tidtable.obj - 0002:00000f7c ??_C@_0M@JCPCPOEF@FlsSetValue?$AA@ 1001af7c LIBCMT:tidtable.obj - 0002:00000f88 ??_C@_0M@GDNOONDI@FlsGetValue?$AA@ 1001af88 LIBCMT:tidtable.obj - 0002:00000f94 ??_C@_08KNHFBNJ@FlsAlloc?$AA@ 1001af94 LIBCMT:tidtable.obj - 0002:00000fc0 __XcptActTab 1001afc0 LIBCMT:winxfltr.obj - 0002:00001050 __First_FPE_Indx 1001b050 LIBCMT:winxfltr.obj - 0002:00001054 __Num_FPE 1001b054 LIBCMT:winxfltr.obj - 0002:00001058 __XcptActTabSize 1001b058 LIBCMT:winxfltr.obj - 0002:0000105c __XcptActTabCount 1001b05c LIBCMT:winxfltr.obj - 0002:00001060 ??_C@_1BC@GDGBMEMK@?$AAH?$AAH?$AA?3?$AAm?$AAm?$AA?3?$AAs?$AAs?$AA?$AA@ 1001b060 LIBCMT:nlsdata2.obj - 0002:00001074 ??_C@_1CI@KNAKOEBC@?$AAd?$AAd?$AAd?$AAd?$AA?0?$AA?5?$AAM?$AAM?$AAM?$AAM?$AA?5?$AAd?$AAd?$AA?0?$AA?5?$AAy?$AAy?$AAy?$AAy?$AA?$AA@ 1001b074 LIBCMT:nlsdata2.obj - 0002:0000109c ??_C@_1BC@IEBCMHCM@?$AAM?$AAM?$AA?1?$AAd?$AAd?$AA?1?$AAy?$AAy?$AA?$AA@ 1001b09c LIBCMT:nlsdata2.obj - 0002:000010b0 ??_C@_15CLMNNGEL@?$AAP?$AAM?$AA?$AA@ 1001b0b0 LIBCMT:nlsdata2.obj - 0002:000010b8 ??_C@_15ODEHAHHF@?$AAA?$AAM?$AA?$AA@ 1001b0b8 LIBCMT:nlsdata2.obj - 0002:000010c0 ??_C@_1BC@FEMKIFH@?$AAD?$AAe?$AAc?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@ 1001b0c0 LIBCMT:nlsdata2.obj - 0002:000010d4 ??_C@_1BC@BGLIFPF@?$AAN?$AAo?$AAv?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@ 1001b0d4 LIBCMT:nlsdata2.obj - 0002:000010e8 ??_C@_1BA@EPANDLNG@?$AAO?$AAc?$AAt?$AAo?$AAb?$AAe?$AAr?$AA?$AA@ 1001b0e8 LIBCMT:nlsdata2.obj - 0002:000010f8 ??_C@_1BE@DKAAMBJL@?$AAS?$AAe?$AAp?$AAt?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@ 1001b0f8 LIBCMT:nlsdata2.obj - 0002:0000110c ??_C@_1O@PAHLKOAC@?$AAA?$AAu?$AAg?$AAu?$AAs?$AAt?$AA?$AA@ 1001b10c LIBCMT:nlsdata2.obj - 0002:0000111c ??_C@_19BIFMLPCD@?$AAJ?$AAu?$AAl?$AAy?$AA?$AA@ 1001b11c LIBCMT:nlsdata2.obj - 0002:00001128 ??_C@_19EPFLPGAP@?$AAJ?$AAu?$AAn?$AAe?$AA?$AA@ 1001b128 LIBCMT:nlsdata2.obj - 0002:00001134 ??_C@_1M@GJNLMHFD@?$AAA?$AAp?$AAr?$AAi?$AAl?$AA?$AA@ 1001b134 LIBCMT:nlsdata2.obj - 0002:00001140 ??_C@_1M@IKEENEDF@?$AAM?$AAa?$AAr?$AAc?$AAh?$AA?$AA@ 1001b140 LIBCMT:nlsdata2.obj - 0002:0000114c ??_C@_1BC@JGDDFFAM@?$AAF?$AAe?$AAb?$AAr?$AAu?$AAa?$AAr?$AAy?$AA?$AA@ 1001b14c LIBCMT:nlsdata2.obj - 0002:00001160 ??_C@_1BA@EFMEIEBA@?$AAJ?$AAa?$AAn?$AAu?$AAa?$AAr?$AAy?$AA?$AA@ 1001b160 LIBCMT:nlsdata2.obj - 0002:00001170 ??_C@_17EGKACKIF@?$AAD?$AAe?$AAc?$AA?$AA@ 1001b170 LIBCMT:nlsdata2.obj - 0002:00001178 ??_C@_17BBDMLCIG@?$AAN?$AAo?$AAv?$AA?$AA@ 1001b178 LIBCMT:nlsdata2.obj - 0002:00001180 ??_C@_17FNLKOI@?$AAO?$AAc?$AAt?$AA?$AA@ 1001b180 LIBCMT:nlsdata2.obj - 0002:00001188 ??_C@_17HCHCOKMG@?$AAS?$AAe?$AAp?$AA?$AA@ 1001b188 LIBCMT:nlsdata2.obj - 0002:00001190 ??_C@_17ICPELBCN@?$AAA?$AAu?$AAg?$AA?$AA@ 1001b190 LIBCMT:nlsdata2.obj - 0002:00001198 ??_C@_17IJPCKHK@?$AAJ?$AAu?$AAl?$AA?$AA@ 1001b198 LIBCMT:nlsdata2.obj - 0002:000011a0 ??_C@_17KCJGOCPB@?$AAJ?$AAu?$AAn?$AA?$AA@ 1001b1a0 LIBCMT:nlsdata2.obj - 0002:000011a8 ??_C@_17PNNKMEED@?$AAM?$AAa?$AAy?$AA?$AA@ 1001b1a8 LIBCMT:nlsdata2.obj - 0002:000011b0 ??_C@_17LFPOIHDD@?$AAA?$AAp?$AAr?$AA?$AA@ 1001b1b0 LIBCMT:nlsdata2.obj - 0002:000011b8 ??_C@_17CKNLEDEC@?$AAM?$AAa?$AAr?$AA?$AA@ 1001b1b8 LIBCMT:nlsdata2.obj - 0002:000011c0 ??_C@_17LMDJEKJN@?$AAF?$AAe?$AAb?$AA?$AA@ 1001b1c0 LIBCMT:nlsdata2.obj - 0002:000011c8 ??_C@_17DKNBKCHM@?$AAJ?$AAa?$AAn?$AA?$AA@ 1001b1c8 LIBCMT:nlsdata2.obj - 0002:000011d0 ??_C@_1BC@ENMNNPAJ@?$AAS?$AAa?$AAt?$AAu?$AAr?$AAd?$AAa?$AAy?$AA?$AA@ 1001b1d0 LIBCMT:nlsdata2.obj - 0002:000011e4 ??_C@_1O@PDICJHAG@?$AAF?$AAr?$AAi?$AAd?$AAa?$AAy?$AA?$AA@ 1001b1e4 LIBCMT:nlsdata2.obj - 0002:000011f4 ??_C@_1BC@HHMNLIHE@?$AAT?$AAh?$AAu?$AAr?$AAs?$AAd?$AAa?$AAy?$AA?$AA@ 1001b1f4 LIBCMT:nlsdata2.obj - 0002:00001208 ??_C@_1BE@EBOGMDOH@?$AAW?$AAe?$AAd?$AAn?$AAe?$AAs?$AAd?$AAa?$AAy?$AA?$AA@ 1001b208 LIBCMT:nlsdata2.obj - 0002:0000121c ??_C@_1BA@ENFBFFEK@?$AAT?$AAu?$AAe?$AAs?$AAd?$AAa?$AAy?$AA?$AA@ 1001b21c LIBCMT:nlsdata2.obj - 0002:0000122c ??_C@_1O@MMNBFLIA@?$AAM?$AAo?$AAn?$AAd?$AAa?$AAy?$AA?$AA@ 1001b22c LIBCMT:nlsdata2.obj - 0002:0000123c ??_C@_1O@IHNHDHPB@?$AAS?$AAu?$AAn?$AAd?$AAa?$AAy?$AA?$AA@ 1001b23c LIBCMT:nlsdata2.obj - 0002:0000124c ??_C@_17GGIBDPIH@?$AAS?$AAa?$AAt?$AA?$AA@ 1001b24c LIBCMT:nlsdata2.obj - 0002:00001254 ??_C@_17HFOLPPLP@?$AAF?$AAr?$AAi?$AA?$AA@ 1001b254 LIBCMT:nlsdata2.obj - 0002:0000125c ??_C@_17PDPHAADD@?$AAT?$AAh?$AAu?$AA?$AA@ 1001b25c LIBCMT:nlsdata2.obj - 0002:00001264 ??_C@_17CJEDCEPE@?$AAW?$AAe?$AAd?$AA?$AA@ 1001b264 LIBCMT:nlsdata2.obj - 0002:0000126c ??_C@_17BMKGEGOJ@?$AAT?$AAu?$AAe?$AA?$AA@ 1001b26c LIBCMT:nlsdata2.obj - 0002:00001274 ??_C@_17KBOMKBF@?$AAM?$AAo?$AAn?$AA?$AA@ 1001b274 LIBCMT:nlsdata2.obj - 0002:0000127c ??_C@_17MBGCMIPB@?$AAS?$AAu?$AAn?$AA?$AA@ 1001b27c LIBCMT:nlsdata2.obj - 0002:00001284 ??_C@_08JCCMCCIL@HH?3mm?3ss?$AA@ 1001b284 LIBCMT:nlsdata2.obj - 0002:00001290 ??_C@_0BE@CKGJFCPC@dddd?0?5MMMM?5dd?0?5yyyy?$AA@ 1001b290 LIBCMT:nlsdata2.obj - 0002:000012a4 ??_C@_08BPBNCDIB@MM?1dd?1yy?$AA@ 1001b2a4 LIBCMT:nlsdata2.obj - 0002:000012b0 ??_C@_02CJNFDJBF@PM?$AA@ 1001b2b0 LIBCMT:nlsdata2.obj - 0002:000012b4 ??_C@_02DEDBPAFC@AM?$AA@ 1001b2b4 LIBCMT:nlsdata2.obj - 0002:000012b8 ??_C@_08EDHMEBNP@December?$AA@ 1001b2b8 LIBCMT:nlsdata2.obj - 0002:000012c4 ??_C@_08HCHEGEOA@November?$AA@ 1001b2c4 LIBCMT:nlsdata2.obj - 0002:000012d0 ??_C@_07JJNFCEND@October?$AA@ 1001b2d0 LIBCMT:nlsdata2.obj - 0002:000012d8 ??_C@_09BHHEALKD@September?$AA@ 1001b2d8 LIBCMT:nlsdata2.obj - 0002:000012e4 ??_C@_06LBBHFDDG@August?$AA@ 1001b2e4 LIBCMT:nlsdata2.obj - 0002:000012ec ??_C@_04MIEPOIFP@July?$AA@ 1001b2ec LIBCMT:nlsdata2.obj - 0002:000012f4 ??_C@_04CNLMGBGM@June?$AA@ 1001b2f4 LIBCMT:nlsdata2.obj - 0002:000012fc ??_C@_05DMJDNLEJ@April?$AA@ 1001b2fc LIBCMT:nlsdata2.obj - 0002:00001304 ??_C@_05HPCKOFNC@March?$AA@ 1001b304 LIBCMT:nlsdata2.obj - 0002:0000130c ??_C@_08GNJGEPFN@February?$AA@ 1001b30c LIBCMT:nlsdata2.obj - 0002:00001318 ??_C@_07CGJPFGJA@January?$AA@ 1001b318 LIBCMT:nlsdata2.obj - 0002:00001320 ??_C@_03MKABNOCG@Dec?$AA@ 1001b320 LIBCMT:nlsdata2.obj - 0002:00001324 ??_C@_03JPJOFNIA@Nov?$AA@ 1001b324 LIBCMT:nlsdata2.obj - 0002:00001328 ??_C@_03BMAOKBAD@Oct?$AA@ 1001b328 LIBCMT:nlsdata2.obj - 0002:0000132c ??_C@_03GGCAPAJC@Sep?$AA@ 1001b32c LIBCMT:nlsdata2.obj - 0002:00001330 ??_C@_03IFJFEIGA@Aug?$AA@ 1001b330 LIBCMT:nlsdata2.obj - 0002:00001334 ??_C@_03LBGABGKK@Jul?$AA@ 1001b334 LIBCMT:nlsdata2.obj - 0002:00001338 ??_C@_03IDFGHECI@Jun?$AA@ 1001b338 LIBCMT:nlsdata2.obj - 0002:0000133c ??_C@_03CNMDKL@May?$AA@ 1001b33c LIBCMT:nlsdata2.obj - 0002:00001340 ??_C@_03LEOLGMJP@Apr?$AA@ 1001b340 LIBCMT:nlsdata2.obj - 0002:00001344 ??_C@_03ODNJBKGA@Mar?$AA@ 1001b344 LIBCMT:nlsdata2.obj - 0002:00001348 ??_C@_03HJBDCHOM@Feb?$AA@ 1001b348 LIBCMT:nlsdata2.obj - 0002:0000134c ??_C@_03JIHJHPIE@Jan?$AA@ 1001b34c LIBCMT:nlsdata2.obj - 0002:00001350 ??_C@_08INBOOONO@Saturday?$AA@ 1001b350 LIBCMT:nlsdata2.obj - 0002:0000135c ??_C@_06JECMNKMI@Friday?$AA@ 1001b35c LIBCMT:nlsdata2.obj - 0002:00001364 ??_C@_08HACCIKIA@Thursday?$AA@ 1001b364 LIBCMT:nlsdata2.obj - 0002:00001370 ??_C@_09DLIGFAKA@Wednesday?$AA@ 1001b370 LIBCMT:nlsdata2.obj - 0002:0000137c ??_C@_07BAAGCFCM@Tuesday?$AA@ 1001b37c LIBCMT:nlsdata2.obj - 0002:00001384 ??_C@_06JLEDEDGH@Monday?$AA@ 1001b384 LIBCMT:nlsdata2.obj - 0002:0000138c ??_C@_06OOPIFAJ@Sunday?$AA@ 1001b38c LIBCMT:nlsdata2.obj - 0002:00001394 ??_C@_03FEFJNEK@Sat?$AA@ 1001b394 LIBCMT:nlsdata2.obj - 0002:00001398 ??_C@_03IDIOELNC@Fri?$AA@ 1001b398 LIBCMT:nlsdata2.obj - 0002:0000139c ??_C@_03IOFIKPDN@Thu?$AA@ 1001b39c LIBCMT:nlsdata2.obj - 0002:000013a0 ??_C@_03MHOMLAJA@Wed?$AA@ 1001b3a0 LIBCMT:nlsdata2.obj - 0002:000013a4 ??_C@_03NAGEINEP@Tue?$AA@ 1001b3a4 LIBCMT:nlsdata2.obj - 0002:000013a8 ??_C@_03PDAGKDH@Mon?$AA@ 1001b3a8 LIBCMT:nlsdata2.obj - 0002:000013ac ??_C@_03KOEHGMDN@Sun?$AA@ 1001b3ac LIBCMT:nlsdata2.obj - 0002:000013b0 ___lookuptable_s 1001b3b0 LIBCMT:outputs.obj - 0002:0000140c ??_C@_0BI@DFKBFLJE@GetProcessWindowStation?$AA@ 1001b40c LIBCMT:crtmboxw.obj - 0002:00001424 ??_C@_0BK@DEKFELLI@GetUserObjectInformationW?$AA@ 1001b424 LIBCMT:crtmboxw.obj - 0002:00001440 ??_C@_0BD@HHGDFDBJ@GetLastActivePopup?$AA@ 1001b440 LIBCMT:crtmboxw.obj - 0002:00001454 ??_C@_0BA@HNOPNCHB@GetActiveWindow?$AA@ 1001b454 LIBCMT:crtmboxw.obj - 0002:00001464 ??_C@_0M@DLDCCGNP@MessageBoxW?$AA@ 1001b464 LIBCMT:crtmboxw.obj - 0002:00001470 ??_C@_1BG@GOEBHBDC@?$AAU?$AAS?$AAE?$AAR?$AA3?$AA2?$AA?4?$AAD?$AAL?$AAL?$AA?$AA@ 1001b470 LIBCMT:crtmboxw.obj - 0002:00001490 ___newctype 1001b490 LIBCMT:ctype.obj - 0002:00001790 __wctype 1001b790 LIBCMT:ctype.obj - 0002:00001998 ___newclmap 1001b998 LIBCMT:ctype.obj - 0002:00001b18 ___newcumap 1001bb18 LIBCMT:ctype.obj - 0002:00001c98 ??_C@_1BA@BALFACEM@?$AAC?$AAO?$AAN?$AAO?$AAU?$AAT?$AA$?$AA?$AA@ 1001bc98 LIBCMT:initcon.obj - 0002:00001d28 ??_C@_05BOAHNBIE@1?42?46?$AA@ 1001bd28 compress.obj - 0002:00001d30 _z_errmsg 1001bd30 zutil.obj - 0002:00001d58 _zip_copyright 1001bd58 zip.obj - 0002:00001da8 _unz_copyright 1001bda8 unzip.obj - 0002:00002448 __dist_code 1001c448 trees.obj - 0002:00002648 __length_code 1001c648 trees.obj - 0002:00002838 _inflate_copyright 1001c838 inftrees.obj - 0002:00003ab8 _deflate_copyright 1001dab8 deflate.obj - 0002:00005b80 ??_C@_07EBNKNFJN@?$DMfd?3?$CFd?$DO?$AA@ 1001fb80 gzlib.obj - 0002:00005b88 ??_C@_00CNPNBAHC@?$AA@ 1001fb88 gzlib.obj - 0002:00005b8c ??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ 1001fb8c gzlib.obj - 0002:00005b9c ??_C@_02LMMGGCAJ@?3?5?$AA@ 1001fb9c gzlib.obj - 0002:00005ba0 ??_C@_0BH@CFIIDOJD@unexpected?5end?5of?5file?$AA@ 1001fba0 gzread.obj - 0002:00005bb8 ??_C@_0CH@CPOLIEKA@internal?5error?3?5inflate?5stream?5c@ 1001fbb8 gzread.obj - 0002:00005be0 ??_C@_0BG@HCKBMIHF@compressed?5data?5error?$AA@ 1001fbe0 gzread.obj - 0002:00005bf8 ??_C@_0CF@MLPJFDMM@requested?5length?5does?5not?5fit?5in@ 1001fbf8 gzread.obj - 0002:00005c20 ??_C@_0BP@IIKIGMCC@out?5of?5room?5to?5push?5characters?$AA@ 1001fc20 gzread.obj - 0002:00005c40 ??_C@_0CH@DEEGAHIB@internal?5error?3?5deflate?5stream?5c@ 1001fc40 gzwrite.obj - 0002:00005c68 ??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@ 1001fc68 infback.obj - 0002:00005c7c ??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@ 1001fc7c infback.obj - 0002:00005c9c ??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@ 1001fc9c infback.obj - 0002:00005cc0 ??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@ 1001fcc0 infback.obj - 0002:00005cdc ??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@ 1001fcdc infback.obj - 0002:00005cf8 ??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@ 1001fcf8 infback.obj - 0002:00005d20 ??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@ 1001fd20 infback.obj - 0002:00005d3c ??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@ 1001fd3c infback.obj - 0002:00005d54 ??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@ 1001fd54 infback.obj - 0002:00005d70 ??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@ 1001fd70 infback.obj - 0002:00005d88 ??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@ 1001fd88 infback.obj - 0002:00005da8 ??_C@_0BH@LIBMMIGA@incorrect?5header?5check?$AA@ 1001fda8 inflate.obj - 0002:00005dc0 ??_C@_0BL@IHKGDAEE@unknown?5compression?5method?$AA@ 1001fdc0 inflate.obj - 0002:00005ddc ??_C@_0BE@EMOGCLGO@invalid?5window?5size?$AA@ 1001fddc inflate.obj - 0002:00005df0 ??_C@_0BJ@BLBBCOMO@unknown?5header?5flags?5set?$AA@ 1001fdf0 inflate.obj - 0002:00005e0c ??_C@_0BE@GONKLEPM@header?5crc?5mismatch?$AA@ 1001fe0c inflate.obj - 0002:00005e20 ??_C@_0BF@MEIGEHBE@incorrect?5data?5check?$AA@ 1001fe20 inflate.obj - 0002:00005e38 ??_C@_0BH@FGKKJGOC@incorrect?5length?5check?$AA@ 1001fe38 inflate.obj - 0002:00005e50 ??_C@_02JDPG@rb?$AA@ 1001fe50 ioapi.obj - 0002:00005e54 ??_C@_03HMFOOINA@r?$CLb?$AA@ 1001fe54 ioapi.obj - 0002:00005e58 ??_C@_02GMLFBBN@wb?$AA@ 1001fe58 ioapi.obj - 0002:00005e5c ??_C@_01JOAMLHOP@?9?$AA@ 1001fe5c zip.obj - 0002:00005e60 ??_C@_0BF@CJFPCCEG@incompatible?5version?$AA@ 1001fe60 zutil.obj - 0002:00005e78 ??_C@_0N@DFPGLBGC@buffer?5error?$AA@ 1001fe78 zutil.obj - 0002:00005e88 ??_C@_0BE@OGGJBMCE@insufficient?5memory?$AA@ 1001fe88 zutil.obj - 0002:00005e9c ??_C@_0L@HAHMBNLP@data?5error?$AA@ 1001fe9c zutil.obj - 0002:00005ea8 ??_C@_0N@MKKNPMJD@stream?5error?$AA@ 1001fea8 zutil.obj - 0002:00005eb8 ??_C@_0L@KIJFAKBJ@file?5error?$AA@ 1001feb8 zutil.obj - 0002:00005ec4 ??_C@_0L@FNAOCBOG@stream?5end?$AA@ 1001fec4 zutil.obj - 0002:00005ed0 ??_C@_0BA@MOKMMFOD@need?5dictionary?$AA@ 1001fed0 zutil.obj - 0002:00005ee0 ___rtc_iaa 1001fee0 LIBCMT:_initsect_.obj - 0002:00005ee4 ___rtc_izz 1001fee4 LIBCMT:_initsect_.obj - 0002:00005ee8 ___rtc_taa 1001fee8 LIBCMT:_initsect_.obj - 0002:00005eec ___rtc_tzz 1001feec LIBCMT:_initsect_.obj - 0002:000062ec __IMPORT_DESCRIPTOR_KERNEL32 100202ec kernel32:KERNEL32.dll - 0002:00006300 __NULL_IMPORT_DESCRIPTOR 10020300 kernel32:KERNEL32.dll - 0003:00000180 ___nullstring 10022180 LIBCMT:output.obj - 0003:00000184 ___wnullstring 10022184 LIBCMT:output.obj - 0003:00000188 ___badioinfo 10022188 LIBCMT:ioinit.obj - 0003:000001d0 __sys_errlist 100221d0 LIBCMT:syserr.obj - 0003:00000280 __sys_nerr 10022280 LIBCMT:syserr.obj - 0003:00000284 ___flsindex 10022284 LIBCMT:tidtable.obj - 0003:00000288 ___getvalueindex 10022288 LIBCMT:tidtable.obj - 0003:00000290 __lookuptrailbytes 10022290 LIBCMT:read.obj - 0003:00000390 ___security_cookie 10022390 LIBCMT:gs_cookie.obj - 0003:00000394 ___security_cookie_complement 10022394 LIBCMT:gs_cookie.obj - 0003:000003a0 __iob 100223a0 LIBCMT:_file.obj - 0003:00000620 ___initialmbcinfo 10022620 LIBCMT:mbctype.obj - 0003:00000840 __mbctype 10022840 LIBCMT:mbctype.obj - 0003:00000948 __mbcasemap 10022948 LIBCMT:mbctype.obj - 0003:00000a48 ___ptmbcinfo 10022a48 LIBCMT:mbctype.obj - 0003:00000b40 ___globallocalestatus 10022b40 LIBCMT:glstatus.obj - 0003:00000b44 ___clocalestr 10022b44 LIBCMT:nlsdata2.obj - 0003:00000b48 ___lc_time_c 10022b48 LIBCMT:nlsdata2.obj - 0003:00000cb0 ___initiallocinfo 10022cb0 LIBCMT:nlsdata2.obj - 0003:00000d88 ___ptlocinfo 10022d88 LIBCMT:nlsdata2.obj - 0003:00000d8c __cfltcvt_tab 10022d8c LIBCMT:cmiscdat.obj - 0003:00000ee0 __NLG_Destination 10022ee0 LIBCMT:exsup.obj - 0003:00000ef0 ___lconv_static_decimal 10022ef0 LIBCMT:lconv.obj - 0003:00000ef4 ___lconv_static_W_decimal 10022ef4 LIBCMT:lconv.obj - 0003:00000ef8 ___lconv_c 10022ef8 LIBCMT:lconv.obj - 0003:00000f48 ___lconv 10022f48 LIBCMT:lconv.obj - 0003:00000f4c __pctype 10022f4c LIBCMT:ctype.obj - 0003:00000f50 __pwctype 10022f50 LIBCMT:ctype.obj - 0003:00000f54 ___abort_behavior 10022f54 LIBCMT:abort.obj - 0003:00000f58 __confh 10022f58 LIBCMT:initcon.obj - 0003:00000f70 ___mb_cur_max 10022f70 LIBCMT:nlsdata1.obj - 0003:00000f74 ___decimal_point 10022f74 LIBCMT:nlsdata1.obj - 0003:00000f78 ___decimal_point_length 10022f78 LIBCMT:nlsdata1.obj - 0003:00000fc4 __aenvptr 10022fc4 LIBCMT:dllcrt0.obj - 0003:00000fc8 __wenvptr 10022fc8 LIBCMT:dllcrt0.obj - 0003:00000fcc ___error_mode 10022fcc LIBCMT:dllcrt0.obj - 0003:00000fd0 ___app_type 10022fd0 LIBCMT:dllcrt0.obj - 0003:00000fd4 ___pInvalidArgHandler 10022fd4 LIBCMT:invarg.obj - 0003:00000fd8 __crtheap 10022fd8 LIBCMT:heapinit.obj - 0003:00000fdc __umaskval 10022fdc LIBCMT:crt0dat.obj - 0003:00000fe0 ___argc 10022fe0 LIBCMT:crt0dat.obj - 0003:00000fe4 ___argv 10022fe4 LIBCMT:crt0dat.obj - 0003:00000fe8 ___wargv 10022fe8 LIBCMT:crt0dat.obj - 0003:00000fec __environ 10022fec LIBCMT:crt0dat.obj - 0003:00000ff0 ___initenv 10022ff0 LIBCMT:crt0dat.obj - 0003:00000ff4 __wenviron 10022ff4 LIBCMT:crt0dat.obj - 0003:00000ff8 ___winitenv 10022ff8 LIBCMT:crt0dat.obj - 0003:00000ffc __pgmptr 10022ffc LIBCMT:crt0dat.obj - 0003:00001000 __wpgmptr 10023000 LIBCMT:crt0dat.obj - 0003:00001004 __exitflag 10023004 LIBCMT:crt0dat.obj - 0003:00001008 __C_Termination_Done 10023008 LIBCMT:crt0dat.obj - 0003:0000100c __C_Exit_Done 1002300c LIBCMT:crt0dat.obj - 0003:00001638 ?_pnhHeap@@3P6AHI@ZA 10023638 LIBCMT:handler.obj - 0003:0000163c __newmode 1002363c LIBCMT:_newmode.obj - 0003:00001640 __maxwait 10023640 LIBCMT:crtheap.obj - 0003:00001644 _gpFlsAlloc 10023644 LIBCMT:tidtable.obj - 0003:00001648 _gpFlsGetValue 10023648 LIBCMT:tidtable.obj - 0003:0000164c _gpFlsSetValue 1002364c LIBCMT:tidtable.obj - 0003:00001650 _gpFlsFree 10023650 LIBCMT:tidtable.obj - 0003:00001654 __cflush 10023654 LIBCMT:_file.obj - 0003:00001764 ___mbulinfo 10023764 LIBCMT:mbctype.obj - 0003:00001770 ___mbcodepage 10023770 LIBCMT:mbctype.obj - 0003:00001774 ___ismbcodepage 10023774 LIBCMT:mbctype.obj - 0003:00001778 ___mblcid 10023778 LIBCMT:mbctype.obj - 0003:000018d0 ?__pInconsistency@@3P6AXXZA 100238d0 LIBCMT:hooks.obj - 0003:000018ec ___pPurecall 100238ec LIBCMT:inithelp.obj - 0003:00001c2c __commode 10023c2c LIBCMT:ncommode.obj - 0003:00001c30 ___lconv_static_null 10023c30 LIBCMT:lconv.obj - 0003:00001c34 ___lconv_static_W_null 10023c34 LIBCMT:lconv.obj - 0003:00001c38 __stdbuf 10023c38 LIBCMT:_sftbuf.obj - 0003:00001c40 ___locale_changed 10023c40 LIBCMT:setlocal.obj - 0003:00001c44 __fmode 10023c44 LIBCMT:txtmode.obj - 0003:00001c4c __debugger_hook_dummy 10023c4c - 0003:00001c50 ___piob 10023c50 - 0003:00001c60 __bufin 10023c60 - 0003:00002c60 __nstream 10024c60 - 0003:00002c64 ___sse2_available 10024c64 - 0003:00002c68 ___env_initialized 10024c68 - 0003:00002c6c ___onexitend 10024c6c - 0003:00002c70 ___onexitbegin 10024c70 - 0003:00002c74 ___mbctype_initialized 10024c74 - 0003:00002c78 __FPinit 10024c78 - 0003:00002c7c ___dyn_tls_init_callback 10024c7c - 0003:00002c80 __pDestructExceptionObject 10024c80 - 0003:00002c84 __nhandle 10024c84 - 0003:00002ca0 ___pioinfo 10024ca0 - 0003:00002da0 __acmdln 10024da0 - - entry point at 0001:0000fa9c - - Static symbols - - 0001:00000270 _adler32_combine_ 10001270 f CIL library: CIL module - 0001:00000470 _crc32_little 10001470 f CIL library: CIL module - 0001:00000730 _gf2_matrix_times 10001730 f CIL library: CIL module - 0001:00000750 _gf2_matrix_square 10001750 f CIL library: CIL module - 0001:00000780 _crc32_combine_ 10001780 f CIL library: CIL module - 0001:00001090 _putShortMSB 10002090 f CIL library: CIL module - 0001:000010c0 _flush_pending 100020c0 f CIL library: CIL module - 0001:00001bf0 _read_buf 10002bf0 f CIL library: CIL module - 0001:00001c60 _lm_init 10002c60 f CIL library: CIL module - 0001:00001d00 _fill_window 10002d00 f CIL library: CIL module - 0001:00001ed0 _deflate_stored 10002ed0 f CIL library: CIL module - 0001:00002060 _deflate_fast 10003060 f CIL library: CIL module - 0001:00002390 _deflate_slow 10003390 f CIL library: CIL module - 0001:00002790 _deflate_rle 10003790 f CIL library: CIL module - 0001:00002a40 _deflate_huff 10003a40 f CIL library: CIL module - 0001:00002bd0 _gz_reset 10003bd0 f CIL library: CIL module - 0001:00002c10 _gz_open 10003c10 f CIL library: CIL module - 0001:000033d0 _gz_load 100043d0 f CIL library: CIL module - 0001:00003440 _gz_avail 10004440 f CIL library: CIL module - 0001:000034b0 _gz_look 100044b0 f CIL library: CIL module - 0001:00003630 _gz_decomp 10004630 f CIL library: CIL module - 0001:00003730 _gz_fetch 10004730 f CIL library: CIL module - 0001:000037b0 _gz_skip 100047b0 f CIL library: CIL module - 0001:00003ce0 _gz_init 10004ce0 f CIL library: CIL module - 0001:00003dd0 _gz_comp 10004dd0 f CIL library: CIL module - 0001:00003ee0 _gz_zero 10004ee0 f CIL library: CIL module - 0001:00004530 _fixedtables 10005530 f CIL library: CIL module - 0001:00005520 _fixedtables 10006520 f CIL library: CIL module - 0001:00005540 _updatewindow 10006540 f CIL library: CIL module - 0001:00006cb0 _syncsearch 10007cb0 f CIL library: CIL module - 0001:00007520 _fopen64_file_func 10008520 f CIL library: CIL module - 0001:00007570 _fread_file_func 10008570 f CIL library: CIL module - 0001:00007590 _fwrite_file_func 10008590 f CIL library: CIL module - 0001:000075b0 _ftell64_file_func 100085b0 f CIL library: CIL module - 0001:000075d0 _fseek64_file_func 100085d0 f CIL library: CIL module - 0001:00007620 _fclose_file_func 10008620 f CIL library: CIL module - 0001:00007640 _ferror_file_func 10008640 f CIL library: CIL module - 0001:000076a0 _win32_translate_open_mode 100086a0 f CIL library: CIL module - 0001:00007710 _win32_build_iowin 10008710 f CIL library: CIL module - 0001:00007b90 _init_block 10008b90 f CIL library: CIL module - 0001:00007c10 _pqdownheap 10008c10 f CIL library: CIL module - 0001:00007cf0 _gen_bitlen 10008cf0 f CIL library: CIL module - 0001:00007ef0 _gen_codes 10008ef0 f CIL library: CIL module - 0001:00007f50 _build_tree 10008f50 f CIL library: CIL module - 0001:00008150 _scan_tree 10009150 f CIL library: CIL module - 0001:00008230 _send_tree 10009230 f CIL library: CIL module - 0001:000087b0 _build_bl_tree 100097b0 f CIL library: CIL module - 0001:00008880 _send_all_trees 10009880 f CIL library: CIL module - 0001:00008e70 _compress_block 10009e70 f CIL library: CIL module - 0001:00009250 _detect_data_type 1000a250 f CIL library: CIL module - 0001:000092c0 _bi_reverse 1000a2c0 f CIL library: CIL module - 0001:000092e0 _bi_flush 1000a2e0 f CIL library: CIL module - 0001:00009360 _bi_windup 1000a360 f CIL library: CIL module - 0001:000093c0 _copy_block 1000a3c0 f CIL library: CIL module - 0001:000094e0 _unz64local_getShort 1000a4e0 f CIL library: CIL module - 0001:00009540 _unz64local_getLong 1000a540 f CIL library: CIL module - 0001:000095d0 _unz64local_getLong64 1000a5d0 f CIL library: CIL module - 0001:00009710 _strcmpcasenosensitive_internal 1000a710 f CIL library: CIL module - 0001:000097b0 _zip64local_SearchCentralDir 1000a7b0 f CIL library: CIL module - 0001:000097b0 _unz64local_SearchCentralDir 1000a7b0 f CIL library: CIL module - 0001:00009960 _unz64local_SearchCentralDir64 1000a960 f CIL library: CIL module - 0001:00009bf0 _unzOpenInternal 1000abf0 f CIL library: CIL module - 0001:0000a1a0 _unz64local_DosDateToTmuDate 1000b1a0 f CIL library: CIL module - 0001:0000a220 _unz64local_GetCurrentFileInfoInternal 1000b220 f CIL library: CIL module - 0001:0000ac10 _unz64local_CheckCurrentFileCoherencyHeader 1000bc10 f CIL library: CIL module - 0001:0000b660 _decrypt_byte 1000c660 f CIL library: CIL module - 0001:0000b680 _update_keys 1000c680 f CIL library: CIL module - 0001:0000b6c0 _init_keys 1000c6c0 f CIL library: CIL module - 0001:0000b700 _crypthead 1000c700 f CIL library: CIL module - 0001:0000b810 _allocate_new_datablock 1000c810 f CIL library: CIL module - 0001:0000b840 _free_datablock 1000c840 f CIL library: CIL module - 0001:0000b860 _init_linkedlist 1000c860 f CIL library: CIL module - 0001:0000b870 _free_linkedlist 1000c870 f CIL library: CIL module - 0001:0000b890 _add_data_in_datablock 1000c890 f CIL library: CIL module - 0001:0000b940 _zip64local_putValue 1000c940 f CIL library: CIL module - 0001:0000b9a0 _zip64local_putValue_inmemory 1000c9a0 f CIL library: CIL module - 0001:0000b9e0 _zip64local_TmzDateToDosDate 1000c9e0 f CIL library: CIL module - 0001:0000ba30 _unz64local_getByte 1000ca30 f CIL library: CIL module - 0001:0000ba30 _zip64local_getByte 1000ca30 f CIL library: CIL module - 0001:0000ba70 _zip64local_getShort 1000ca70 f CIL library: CIL module - 0001:0000bad0 _zip64local_getLong 1000cad0 f CIL library: CIL module - 0001:0000bb60 _zip64local_getLong64 1000cb60 f CIL library: CIL module - 0001:0000bca0 _zip64local_SearchCentralDir64 1000cca0 f CIL library: CIL module - 0001:0000cef0 _zip64FlushWriteBuffer 1000def0 f CIL library: CIL module - 0001:0000f9a6 ___DllMainCRTStartup 100109a6 f LIBCMT:dllcrt0.obj - 0001:0000fcaa _write_char 10010caa f LIBCMT:output.obj - 0001:0000fcdd _write_string 10010cdd f LIBCMT:output.obj - 0001:00011444 _doexit 10012444 f LIBCMT:crt0dat.obj - 0001:00012990 _flsall 10013990 f LIBCMT:fflush.obj - 0001:00012ed0 __unwind_handler4 10013ed0 f LIBCMT:exsup4.obj - 0001:00014034 _parse_cmdline 10015034 f LIBCMT:stdargv.obj - 0001:00014616 ?CPtoLCID@@YAHH@Z 10015616 f LIBCMT:mbctype.obj - 0001:00014645 ?setSBCS@@YAXPAUthreadmbcinfostruct@@@Z 10015645 f LIBCMT:mbctype.obj - 0001:000146a9 ?setSBUpLow@@YAXPAUthreadmbcinfostruct@@@Z 100156a9 f LIBCMT:mbctype.obj - 0001:000148dd ?getSystemCP@@YAHH@Z 100158dd f LIBCMT:mbctype.obj - 0001:000156c4 _siglookup 100166c4 f LIBCMT:winsig.obj - 0001:000158c9 __onexit_nolock 100168c9 f LIBCMT:onexit.obj - 0001:00016118 __tsopen_nolock 10017118 f LIBCMT:open.obj - 0001:00016d90 __unwind_handler 10017d90 f LIBCMT:exsup.obj - 0001:000170d3 ?x_ismbbtype_l@@YAHPAUlocaleinfo_struct@@IHH@Z 100180d3 f LIBCMT:ismbbyte.obj - 0001:0001715e ?__crtLCMapStringA_stat@@YAHPAUlocaleinfo_struct@@KKPBDHPADHHH@Z 1001815e f LIBCMT:a_map.obj - 0001:0001738b ?__crtGetStringTypeA_stat@@YAHPAUlocaleinfo_struct@@KPBDHPAGHHH@Z 1001838b f LIBCMT:a_str.obj diff --git a/org.simantics.modelica/FMUSolution/ipch/fmusimulator-11d9c565/fmusimulator-6796d7ce.ipch b/org.simantics.modelica/FMUSolution/ipch/fmusimulator-11d9c565/fmusimulator-6796d7ce.ipch deleted file mode 100644 index b0310d08..00000000 Binary files a/org.simantics.modelica/FMUSolution/ipch/fmusimulator-11d9c565/fmusimulator-6796d7ce.ipch and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/ipch/miniunz-3f8db3bf/miniunz-4fa944e2.ipch b/org.simantics.modelica/FMUSolution/ipch/miniunz-3f8db3bf/miniunz-4fa944e2.ipch deleted file mode 100644 index af64d979..00000000 Binary files a/org.simantics.modelica/FMUSolution/ipch/miniunz-3f8db3bf/miniunz-4fa944e2.ipch and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/CMakeLists.txt b/org.simantics.modelica/FMUSolution/zlib-1.2.6/CMakeLists.txt deleted file mode 100644 index 0a56ff6f..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/CMakeLists.txt +++ /dev/null @@ -1,199 +0,0 @@ -cmake_minimum_required(VERSION 2.4.4) -set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON) - -project(zlib C) - -if(NOT DEFINED BUILD_SHARED_LIBS) - option(BUILD_SHARED_LIBS "Build a shared library form of zlib" ON) -endif() - -include(CheckTypeSize) -include(CheckFunctionExists) -include(CheckIncludeFile) -include(CheckCSourceCompiles) -enable_testing() - -check_include_file(sys/types.h HAVE_SYS_TYPES_H) -check_include_file(stdint.h HAVE_STDINT_H) -check_include_file(stddef.h HAVE_STDDEF_H) - -# -# Check to see if we have large file support -# -set(CMAKE_REQUIRED_DEFINITIONS -D_LARGEFILE64_SOURCE=1) -# We add these other definitions here because CheckTypeSize.cmake -# in CMake 2.4.x does not automatically do so and we want -# compatibility with CMake 2.4.x. -if(HAVE_SYS_TYPES_H) - list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_SYS_TYPES_H) -endif() -if(HAVE_STDINT_H) - list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDINT_H) -endif() -if(HAVE_STDDEF_H) - list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDDEF_H) -endif() -check_type_size(off64_t OFF64_T) -if(HAVE_OFF64_T) - add_definitions(-D_LARGEFILE64_SOURCE=1) -endif() -set(CMAKE_REQUIRED_DEFINITIONS) # clear variable - -# -# Check for fseeko -# -check_function_exists(fseeko HAVE_FSEEKO) -if(NOT HAVE_FSEEKO) - add_definitions(-DNO_FSEEKO) -endif() - -# -# Check for unistd.h -# -check_include_file(unistd.h Z_HAVE_UNISTD_H) - -if(MSVC) - set(CMAKE_DEBUG_POSTFIX "d") - add_definitions(-D_CRT_SECURE_NO_DEPRECATE) - add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE) -endif() - -if(NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR) - # If we're doing an out of source build and the user has a zconf.h - # in their source tree... - if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h) - message(FATAL_ERROR - "You must remove ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h " - "from the source tree. This file is included with zlib " - "but CMake generates this file for you automatically " - "in the build directory.") - endif() -endif() - -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.cmakein - ${CMAKE_CURRENT_BINARY_DIR}/zconf.h @ONLY) -include_directories(${CMAKE_CURRENT_BINARY_DIR}) - - -#============================================================================ -# zlib -#============================================================================ - -set(ZLIB_PUBLIC_HDRS - ${CMAKE_CURRENT_BINARY_DIR}/zconf.h - zlib.h -) -set(ZLIB_PRIVATE_HDRS - crc32.h - deflate.h - gzguts.h - inffast.h - inffixed.h - inflate.h - inftrees.h - trees.h - zutil.h -) -set(ZLIB_SRCS - adler32.c - compress.c - crc32.c - deflate.c - gzclose.c - gzlib.c - gzread.c - gzwrite.c - inflate.c - infback.c - inftrees.c - inffast.c - trees.c - uncompr.c - zutil.c -) - -if(NOT MINGW) - set(ZLIB_SRCS ${ZLIB_SRCS} - win32/zlib1.rc # If present will override custom build rule below. - ) -endif() - -# parse the full version number from zlib.h and include in ZLIB_FULL_VERSION -file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents) -string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([0-9A-Za-z.]+)\".*" - "\\1" ZLIB_FULL_VERSION ${_zlib_h_contents}) - -if(MINGW) - # This gets us DLL resource information when compiling on MinGW. - if(NOT CMAKE_RC_COMPILER) - SET(CMAKE_RC_COMPILER windres.exe) - endif() - - add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj - COMMAND ${CMAKE_RC_COMPILER} - -D GCC_WINDRES - -I ${CMAKE_CURRENT_SOURCE_DIR} - -I ${CMAKE_CURRENT_BINARY_DIR} - -o ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj - -i ${CMAKE_CURRENT_SOURCE_DIR}/win32/zlib1.rc) - set(ZLIB_SRCS ${ZLIB_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj) -endif(MINGW) - -add_library(zlib ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) -set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL) - -set_target_properties(zlib PROPERTIES SOVERSION 1) - -if(NOT CYGWIN) - # This property causes shared libraries on Linux to have the full version - # encoded into their final filename. We disable this on Cygwin because - # it causes cygz-${ZLIB_FULL_VERSION}.dll to be created when cygz.dll - # seems to be the default. - # - # This has no effect with MSVC, on that platform the version info for - # the DLL comes from the resource file win32/zlib1.rc - set_target_properties(zlib PROPERTIES VERSION ${ZLIB_FULL_VERSION}) -endif() - -if(UNIX) - # On unix-like platforms the library is almost always called libz - set_target_properties(zlib PROPERTIES OUTPUT_NAME z) -elseif(BUILD_SHARED_LIBS AND WIN32) - # Creates zlib1.dll when building shared library version - set_target_properties(zlib PROPERTIES SUFFIX "1.dll") -endif() - -if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL ) - install(TARGETS zlib - RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib ) -endif() -if(NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL ) - install(FILES ${ZLIB_PUBLIC_HDRS} DESTINATION include) -endif() -if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL ) - install(FILES zlib.3 DESTINATION share/man/man3) -endif() - -#============================================================================ -# Example binaries -#============================================================================ - -add_executable(example test/example.c) -target_link_libraries(example zlib) -add_test(example example) - -add_executable(minigzip test/minigzip.c) -target_link_libraries(minigzip zlib) - -if(HAVE_OFF64_T) - add_executable(example64 test/example.c) - target_link_libraries(example64 zlib) - set_target_properties(example64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64") - add_test(example64 example64) - - add_executable(minigzip64 test/minigzip.c) - target_link_libraries(minigzip64 zlib) - set_target_properties(minigzip64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64") -endif() diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/ChangeLog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/ChangeLog deleted file mode 100644 index 6fa5d441..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/ChangeLog +++ /dev/null @@ -1,1347 +0,0 @@ - - ChangeLog file for zlib - -Changes in 1.2.6 (29 Jan 2012) -- Update the Pascal interface in contrib/pascal -- Fix function numbers for gzgetc_ in zlibvc.def files -- Fix configure.ac for contrib/minizip [Schiffer] -- Fix large-entry detection in minizip on 64-bit systems [Schiffer] -- Have ./configure use the compiler return code for error indication -- Fix CMakeLists.txt for cross compilation [McClure] -- Fix contrib/minizip/zip.c for 64-bit architectures [Dalsnes] -- Fix compilation of contrib/minizip on FreeBSD [Marquez] -- Correct suggested usages in win32/Makefile.msc [Shachar, Horvath] -- Include io.h for Turbo C / Borland C on all platforms [Truta] -- Make version explicit in contrib/minizip/configure.ac [Bosmans] -- Avoid warning for no encryption in contrib/minizip/zip.c [Vollant] -- Minor cleanup up contrib/minizip/unzip.c [Vollant] -- Fix bug when compiling minizip with C++ [Vollant] -- Protect for long name and extra fields in contrib/minizip [Vollant] -- Avoid some warnings in contrib/minizip [Vollant] -- Add -I../.. -L../.. to CFLAGS for minizip and miniunzip -- Add missing libs to minizip linker command -- Add support for VPATH builds in contrib/minizip -- Add an --enable-demos option to contrib/minizip/configure -- Add the generation of configure.log by ./configure -- Exit when required parameters not provided to win32/Makefile.gcc -- Have gzputc return the character written instead of the argument -- Use the -m option on ldconfig for BSD systems [Tobias] -- Correct in zlib.map when deflateResetKeep was added - -Changes in 1.2.5.3 (15 Jan 2012) -- Restore gzgetc function for binary compatibility -- Do not use _lseeki64 under Borland C++ [Truta] -- Update win32/Makefile.msc to build test/*.c [Truta] -- Remove old/visualc6 given CMakefile and other alternatives -- Update AS400 build files and documentation [Monnerat] -- Update win32/Makefile.gcc to build test/*.c [Truta] -- Permit stronger flushes after Z_BLOCK flushes -- Avoid extraneous empty blocks when doing empty flushes -- Permit Z_NULL arguments to deflatePending -- Allow deflatePrime() to insert bits in the middle of a stream -- Remove second empty static block for Z_PARTIAL_FLUSH -- Write out all of the available bits when using Z_BLOCK -- Insert the first two strings in the hash table after a flush - -Changes in 1.2.5.2 (17 Dec 2011) -- fix ld error: unable to find version dependency 'ZLIB_1.2.5' -- use relative symlinks for shared libs -- Avoid searching past window for Z_RLE strategy -- Assure that high-water mark initialization is always applied in deflate -- Add assertions to fill_window() in deflate.c to match comments -- Update python link in README -- Correct spelling error in gzread.c -- Fix bug in gzgets() for a concatenated empty gzip stream -- Correct error in comment for gz_make() -- Change gzread() and related to ignore junk after gzip streams -- Allow gzread() and related to continue after gzclearerr() -- Allow gzrewind() and gzseek() after a premature end-of-file -- Simplify gzseek() now that raw after gzip is ignored -- Change gzgetc() to a macro for speed (~40% speedup in testing) -- Fix gzclose() to return the actual error last encountered -- Always add large file support for windows -- Include zconf.h for windows large file support -- Include zconf.h.cmakein for windows large file support -- Update zconf.h.cmakein on make distclean -- Merge vestigial vsnprintf determination from zutil.h to gzguts.h -- Clarify how gzopen() appends in zlib.h comments -- Correct documentation of gzdirect() since junk at end now ignored -- Add a transparent write mode to gzopen() when 'T' is in the mode -- Update python link in zlib man page -- Get inffixed.h and MAKEFIXED result to match -- Add a ./config --solo option to make zlib subset with no libary use -- Add undocumented inflateResetKeep() function for CAB file decoding -- Add --cover option to ./configure for gcc coverage testing -- Add #define ZLIB_CONST option to use const in the z_stream interface -- Add comment to gzdopen() in zlib.h to use dup() when using fileno() -- Note behavior of uncompress() to provide as much data as it can -- Add files in contrib/minizip to aid in building libminizip -- Split off AR options in Makefile.in and configure -- Change ON macro to Z_ARG to avoid application conflicts -- Facilitate compilation with Borland C++ for pragmas and vsnprintf -- Include io.h for Turbo C / Borland C++ -- Move example.c and minigzip.c to test/ -- Simplify incomplete code table filling in inflate_table() -- Remove code from inflate.c and infback.c that is impossible to execute -- Test the inflate code with full coverage -- Allow deflateSetDictionary, inflateSetDictionary at any time (in raw) -- Add deflateResetKeep and fix inflateResetKeep to retain dictionary -- Fix gzwrite.c to accommodate reduced memory zlib compilation -- Have inflate() with Z_FINISH avoid the allocation of a window -- Do not set strm->adler when doing raw inflate -- Fix gzeof() to behave just like feof() when read is not past end of file -- Fix bug in gzread.c when end-of-file is reached -- Avoid use of Z_BUF_ERROR in gz* functions except for premature EOF -- Document gzread() capability to read concurrently written files -- Remove hard-coding of resource compiler in CMakeLists.txt [Blammo] - -Changes in 1.2.5.1 (10 Sep 2011) -- Update FAQ entry on shared builds (#13) -- Avoid symbolic argument to chmod in Makefile.in -- Fix bug and add consts in contrib/puff [Oberhumer] -- Update contrib/puff/zeros.raw test file to have all block types -- Add full coverage test for puff in contrib/puff/Makefile -- Fix static-only-build install in Makefile.in -- Fix bug in unzGetCurrentFileInfo() in contrib/minizip [Kuno] -- Add libz.a dependency to shared in Makefile.in for parallel builds -- Spell out "number" (instead of "nb") in zlib.h for total_in, total_out -- Replace $(...) with `...` in configure for non-bash sh [Bowler] -- Add darwin* to Darwin* and solaris* to SunOS\ 5* in configure [Groffen] -- Add solaris* to Linux* in configure to allow gcc use [Groffen] -- Add *bsd* to Linux* case in configure [Bar-Lev] -- Add inffast.obj to dependencies in win32/Makefile.msc -- Correct spelling error in deflate.h [Kohler] -- Change libzdll.a again to libz.dll.a (!) in win32/Makefile.gcc -- Add test to configure for GNU C looking for gcc in output of $cc -v -- Add zlib.pc generation to win32/Makefile.gcc [Weigelt] -- Fix bug in zlib.h for _FILE_OFFSET_BITS set and _LARGEFILE64_SOURCE not -- Add comment in zlib.h that adler32_combine with len2 < 0 makes no sense -- Make NO_DIVIDE option in adler32.c much faster (thanks to John Reiser) -- Make stronger test in zconf.h to include unistd.h for LFS -- Apply Darwin patches for 64-bit file offsets to contrib/minizip [Slack] -- Fix zlib.h LFS support when Z_PREFIX used -- Add updated as400 support (removed from old) [Monnerat] -- Avoid deflate sensitivity to volatile input data -- Avoid division in adler32_combine for NO_DIVIDE -- Clarify the use of Z_FINISH with deflateBound() amount of space -- Set binary for output file in puff.c -- Use u4 type for crc_table to avoid conversion warnings -- Apply casts in zlib.h to avoid conversion warnings -- Add OF to prototypes for adler32_combine_ and crc32_combine_ [Miller] -- Improve inflateSync() documentation to note indeterminancy -- Add deflatePending() function to return the amount of pending output -- Correct the spelling of "specification" in FAQ [Randers-Pehrson] -- Add a check in configure for stdarg.h, use for gzprintf() -- Check that pointers fit in ints when gzprint() compiled old style -- Add dummy name before $(SHAREDLIBV) in Makefile [Bar-Lev, Bowler] -- Delete line in configure that adds -L. libz.a to LDFLAGS [Weigelt] -- Add debug records in assmebler code [Londer] -- Update RFC references to use http://tools.ietf.org/html/... [Li] -- Add --archs option, use of libtool to configure for Mac OS X [Borstel] - -Changes in 1.2.5 (19 Apr 2010) -- Disable visibility attribute in win32/Makefile.gcc [Bar-Lev] -- Default to libdir as sharedlibdir in configure [Nieder] -- Update copyright dates on modified source files -- Update trees.c to be able to generate modified trees.h -- Exit configure for MinGW, suggesting win32/Makefile.gcc -- Check for NULL path in gz_open [Homurlu] - -Changes in 1.2.4.5 (18 Apr 2010) -- Set sharedlibdir in configure [Torok] -- Set LDFLAGS in Makefile.in [Bar-Lev] -- Avoid mkdir objs race condition in Makefile.in [Bowler] -- Add ZLIB_INTERNAL in front of internal inter-module functions and arrays -- Define ZLIB_INTERNAL to hide internal functions and arrays for GNU C -- Don't use hidden attribute when it is a warning generator (e.g. Solaris) - -Changes in 1.2.4.4 (18 Apr 2010) -- Fix CROSS_PREFIX executable testing, CHOST extract, mingw* [Torok] -- Undefine _LARGEFILE64_SOURCE in zconf.h if it is zero, but not if empty -- Try to use bash or ksh regardless of functionality of /bin/sh -- Fix configure incompatibility with NetBSD sh -- Remove attempt to run under bash or ksh since have better NetBSD fix -- Fix win32/Makefile.gcc for MinGW [Bar-Lev] -- Add diagnostic messages when using CROSS_PREFIX in configure -- Added --sharedlibdir option to configure [Weigelt] -- Use hidden visibility attribute when available [Frysinger] - -Changes in 1.2.4.3 (10 Apr 2010) -- Only use CROSS_PREFIX in configure for ar and ranlib if they exist -- Use CROSS_PREFIX for nm [Bar-Lev] -- Assume _LARGEFILE64_SOURCE defined is equivalent to true -- Avoid use of undefined symbols in #if with && and || -- Make *64 prototypes in gzguts.h consistent with functions -- Add -shared load option for MinGW in configure [Bowler] -- Move z_off64_t to public interface, use instead of off64_t -- Remove ! from shell test in configure (not portable to Solaris) -- Change +0 macro tests to -0 for possibly increased portability - -Changes in 1.2.4.2 (9 Apr 2010) -- Add consistent carriage returns to readme.txt's in masmx86 and masmx64 -- Really provide prototypes for *64 functions when building without LFS -- Only define unlink() in minigzip.c if unistd.h not included -- Update README to point to contrib/vstudio project files -- Move projects/vc6 to old/ and remove projects/ -- Include stdlib.h in minigzip.c for setmode() definition under WinCE -- Clean up assembler builds in win32/Makefile.msc [Rowe] -- Include sys/types.h for Microsoft for off_t definition -- Fix memory leak on error in gz_open() -- Symbolize nm as $NM in configure [Weigelt] -- Use TEST_LDSHARED instead of LDSHARED to link test programs [Weigelt] -- Add +0 to _FILE_OFFSET_BITS and _LFS64_LARGEFILE in case not defined -- Fix bug in gzeof() to take into account unused input data -- Avoid initialization of structures with variables in puff.c -- Updated win32/README-WIN32.txt [Rowe] - -Changes in 1.2.4.1 (28 Mar 2010) -- Remove the use of [a-z] constructs for sed in configure [gentoo 310225] -- Remove $(SHAREDLIB) from LIBS in Makefile.in [Creech] -- Restore "for debugging" comment on sprintf() in gzlib.c -- Remove fdopen for MVS from gzguts.h -- Put new README-WIN32.txt in win32 [Rowe] -- Add check for shell to configure and invoke another shell if needed -- Fix big fat stinking bug in gzseek() on uncompressed files -- Remove vestigial F_OPEN64 define in zutil.h -- Set and check the value of _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE -- Avoid errors on non-LFS systems when applications define LFS macros -- Set EXE to ".exe" in configure for MINGW [Kahle] -- Match crc32() in crc32.c exactly to the prototype in zlib.h [Sherrill] -- Add prefix for cross-compilation in win32/makefile.gcc [Bar-Lev] -- Add DLL install in win32/makefile.gcc [Bar-Lev] -- Allow Linux* or linux* from uname in configure [Bar-Lev] -- Allow ldconfig to be redefined in configure and Makefile.in [Bar-Lev] -- Add cross-compilation prefixes to configure [Bar-Lev] -- Match type exactly in gz_load() invocation in gzread.c -- Match type exactly of zcalloc() in zutil.c to zlib.h alloc_func -- Provide prototypes for *64 functions when building zlib without LFS -- Don't use -lc when linking shared library on MinGW -- Remove errno.h check in configure and vestigial errno code in zutil.h - -Changes in 1.2.4 (14 Mar 2010) -- Fix VER3 extraction in configure for no fourth subversion -- Update zlib.3, add docs to Makefile.in to make .pdf out of it -- Add zlib.3.pdf to distribution -- Don't set error code in gzerror() if passed pointer is NULL -- Apply destination directory fixes to CMakeLists.txt [Lowman] -- Move #cmakedefine's to a new zconf.in.cmakein -- Restore zconf.h for builds that don't use configure or cmake -- Add distclean to dummy Makefile for convenience -- Update and improve INDEX, README, and FAQ -- Update CMakeLists.txt for the return of zconf.h [Lowman] -- Update contrib/vstudio/vc9 and vc10 [Vollant] -- Change libz.dll.a back to libzdll.a in win32/Makefile.gcc -- Apply license and readme changes to contrib/asm686 [Raiter] -- Check file name lengths and add -c option in minigzip.c [Li] -- Update contrib/amd64 and contrib/masmx86/ [Vollant] -- Avoid use of "eof" parameter in trees.c to not shadow library variable -- Update make_vms.com for removal of zlibdefs.h [Zinser] -- Update assembler code and vstudio projects in contrib [Vollant] -- Remove outdated assembler code contrib/masm686 and contrib/asm586 -- Remove old vc7 and vc8 from contrib/vstudio -- Update win32/Makefile.msc, add ZLIB_VER_SUBREVISION [Rowe] -- Fix memory leaks in gzclose_r() and gzclose_w(), file leak in gz_open() -- Add contrib/gcc_gvmat64 for longest_match and inflate_fast [Vollant] -- Remove *64 functions from win32/zlib.def (they're not 64-bit yet) -- Fix bug in void-returning vsprintf() case in gzwrite.c -- Fix name change from inflate.h in contrib/inflate86/inffas86.c -- Check if temporary file exists before removing in make_vms.com [Zinser] -- Fix make install and uninstall for --static option -- Fix usage of _MSC_VER in gzguts.h and zutil.h [Truta] -- Update readme.txt in contrib/masmx64 and masmx86 to assemble - -Changes in 1.2.3.9 (21 Feb 2010) -- Expunge gzio.c -- Move as400 build information to old -- Fix updates in contrib/minizip and contrib/vstudio -- Add const to vsnprintf test in configure to avoid warnings [Weigelt] -- Delete zconf.h (made by configure) [Weigelt] -- Change zconf.in.h to zconf.h.in per convention [Weigelt] -- Check for NULL buf in gzgets() -- Return empty string for gzgets() with len == 1 (like fgets()) -- Fix description of gzgets() in zlib.h for end-of-file, NULL return -- Update minizip to 1.1 [Vollant] -- Avoid MSVC loss of data warnings in gzread.c, gzwrite.c -- Note in zlib.h that gzerror() should be used to distinguish from EOF -- Remove use of snprintf() from gzlib.c -- Fix bug in gzseek() -- Update contrib/vstudio, adding vc9 and vc10 [Kuno, Vollant] -- Fix zconf.h generation in CMakeLists.txt [Lowman] -- Improve comments in zconf.h where modified by configure - -Changes in 1.2.3.8 (13 Feb 2010) -- Clean up text files (tabs, trailing whitespace, etc.) [Oberhumer] -- Use z_off64_t in gz_zero() and gz_skip() to match state->skip -- Avoid comparison problem when sizeof(int) == sizeof(z_off64_t) -- Revert to Makefile.in from 1.2.3.6 (live with the clutter) -- Fix missing error return in gzflush(), add zlib.h note -- Add *64 functions to zlib.map [Levin] -- Fix signed/unsigned comparison in gz_comp() -- Use SFLAGS when testing shared linking in configure -- Add --64 option to ./configure to use -m64 with gcc -- Fix ./configure --help to correctly name options -- Have make fail if a test fails [Levin] -- Avoid buffer overrun in contrib/masmx64/gvmat64.asm [Simpson] -- Remove assembler object files from contrib - -Changes in 1.2.3.7 (24 Jan 2010) -- Always gzopen() with O_LARGEFILE if available -- Fix gzdirect() to work immediately after gzopen() or gzdopen() -- Make gzdirect() more precise when the state changes while reading -- Improve zlib.h documentation in many places -- Catch memory allocation failure in gz_open() -- Complete close operation if seek forward in gzclose_w() fails -- Return Z_ERRNO from gzclose_r() if close() fails -- Return Z_STREAM_ERROR instead of EOF for gzclose() being passed NULL -- Return zero for gzwrite() errors to match zlib.h description -- Return -1 on gzputs() error to match zlib.h description -- Add zconf.in.h to allow recovery from configure modification [Weigelt] -- Fix static library permissions in Makefile.in [Weigelt] -- Avoid warnings in configure tests that hide functionality [Weigelt] -- Add *BSD and DragonFly to Linux case in configure [gentoo 123571] -- Change libzdll.a to libz.dll.a in win32/Makefile.gcc [gentoo 288212] -- Avoid access of uninitialized data for first inflateReset2 call [Gomes] -- Keep object files in subdirectories to reduce the clutter somewhat -- Remove default Makefile and zlibdefs.h, add dummy Makefile -- Add new external functions to Z_PREFIX, remove duplicates, z_z_ -> z_ -- Remove zlibdefs.h completely -- modify zconf.h instead - -Changes in 1.2.3.6 (17 Jan 2010) -- Avoid void * arithmetic in gzread.c and gzwrite.c -- Make compilers happier with const char * for gz_error message -- Avoid unused parameter warning in inflate.c -- Avoid signed-unsigned comparison warning in inflate.c -- Indent #pragma's for traditional C -- Fix usage of strwinerror() in glib.c, change to gz_strwinerror() -- Correct email address in configure for system options -- Update make_vms.com and add make_vms.com to contrib/minizip [Zinser] -- Update zlib.map [Brown] -- Fix Makefile.in for Solaris 10 make of example64 and minizip64 [Torok] -- Apply various fixes to CMakeLists.txt [Lowman] -- Add checks on len in gzread() and gzwrite() -- Add error message for no more room for gzungetc() -- Remove zlib version check in gzwrite() -- Defer compression of gzprintf() result until need to -- Use snprintf() in gzdopen() if available -- Remove USE_MMAP configuration determination (only used by minigzip) -- Remove examples/pigz.c (available separately) -- Update examples/gun.c to 1.6 - -Changes in 1.2.3.5 (8 Jan 2010) -- Add space after #if in zutil.h for some compilers -- Fix relatively harmless bug in deflate_fast() [Exarevsky] -- Fix same problem in deflate_slow() -- Add $(SHAREDLIBV) to LIBS in Makefile.in [Brown] -- Add deflate_rle() for faster Z_RLE strategy run-length encoding -- Add deflate_huff() for faster Z_HUFFMAN_ONLY encoding -- Change name of "write" variable in inffast.c to avoid library collisions -- Fix premature EOF from gzread() in gzio.c [Brown] -- Use zlib header window size if windowBits is 0 in inflateInit2() -- Remove compressBound() call in deflate.c to avoid linking compress.o -- Replace use of errno in gz* with functions, support WinCE [Alves] -- Provide alternative to perror() in minigzip.c for WinCE [Alves] -- Don't use _vsnprintf on later versions of MSVC [Lowman] -- Add CMake build script and input file [Lowman] -- Update contrib/minizip to 1.1 [Svensson, Vollant] -- Moved nintendods directory from contrib to . -- Replace gzio.c with a new set of routines with the same functionality -- Add gzbuffer(), gzoffset(), gzclose_r(), gzclose_w() as part of above -- Update contrib/minizip to 1.1b -- Change gzeof() to return 0 on error instead of -1 to agree with zlib.h - -Changes in 1.2.3.4 (21 Dec 2009) -- Use old school .SUFFIXES in Makefile.in for FreeBSD compatibility -- Update comments in configure and Makefile.in for default --shared -- Fix test -z's in configure [Marquess] -- Build examplesh and minigzipsh when not testing -- Change NULL's to Z_NULL's in deflate.c and in comments in zlib.h -- Import LDFLAGS from the environment in configure -- Fix configure to populate SFLAGS with discovered CFLAGS options -- Adapt make_vms.com to the new Makefile.in [Zinser] -- Add zlib2ansi script for C++ compilation [Marquess] -- Add _FILE_OFFSET_BITS=64 test to make test (when applicable) -- Add AMD64 assembler code for longest match to contrib [Teterin] -- Include options from $SFLAGS when doing $LDSHARED -- Simplify 64-bit file support by introducing z_off64_t type -- Make shared object files in objs directory to work around old Sun cc -- Use only three-part version number for Darwin shared compiles -- Add rc option to ar in Makefile.in for when ./configure not run -- Add -WI,-rpath,. to LDFLAGS for OSF 1 V4* -- Set LD_LIBRARYN32_PATH for SGI IRIX shared compile -- Protect against _FILE_OFFSET_BITS being defined when compiling zlib -- Rename Makefile.in targets allstatic to static and allshared to shared -- Fix static and shared Makefile.in targets to be independent -- Correct error return bug in gz_open() by setting state [Brown] -- Put spaces before ;;'s in configure for better sh compatibility -- Add pigz.c (parallel implementation of gzip) to examples/ -- Correct constant in crc32.c to UL [Leventhal] -- Reject negative lengths in crc32_combine() -- Add inflateReset2() function to work like inflateEnd()/inflateInit2() -- Include sys/types.h for _LARGEFILE64_SOURCE [Brown] -- Correct typo in doc/algorithm.txt [Janik] -- Fix bug in adler32_combine() [Zhu] -- Catch missing-end-of-block-code error in all inflates and in puff - Assures that random input to inflate eventually results in an error -- Added enough.c (calculation of ENOUGH for inftrees.h) to examples/ -- Update ENOUGH and its usage to reflect discovered bounds -- Fix gzerror() error report on empty input file [Brown] -- Add ush casts in trees.c to avoid pedantic runtime errors -- Fix typo in zlib.h uncompress() description [Reiss] -- Correct inflate() comments with regard to automatic header detection -- Remove deprecation comment on Z_PARTIAL_FLUSH (it stays) -- Put new version of gzlog (2.0) in examples with interruption recovery -- Add puff compile option to permit invalid distance-too-far streams -- Add puff TEST command options, ability to read piped input -- Prototype the *64 functions in zlib.h when _FILE_OFFSET_BITS == 64, but - _LARGEFILE64_SOURCE not defined -- Fix Z_FULL_FLUSH to truly erase the past by resetting s->strstart -- Fix deflateSetDictionary() to use all 32K for output consistency -- Remove extraneous #define MIN_LOOKAHEAD in deflate.c (in deflate.h) -- Clear bytes after deflate lookahead to avoid use of uninitialized data -- Change a limit in inftrees.c to be more transparent to Coverity Prevent -- Update win32/zlib.def with exported symbols from zlib.h -- Correct spelling errors in zlib.h [Willem, Sobrado] -- Allow Z_BLOCK for deflate() to force a new block -- Allow negative bits in inflatePrime() to delete existing bit buffer -- Add Z_TREES flush option to inflate() to return at end of trees -- Add inflateMark() to return current state information for random access -- Add Makefile for NintendoDS to contrib [Costa] -- Add -w in configure compile tests to avoid spurious warnings [Beucler] -- Fix typos in zlib.h comments for deflateSetDictionary() -- Fix EOF detection in transparent gzread() [Maier] - -Changes in 1.2.3.3 (2 October 2006) -- Make --shared the default for configure, add a --static option -- Add compile option to permit invalid distance-too-far streams -- Add inflateUndermine() function which is required to enable above -- Remove use of "this" variable name for C++ compatibility [Marquess] -- Add testing of shared library in make test, if shared library built -- Use ftello() and fseeko() if available instead of ftell() and fseek() -- Provide two versions of all functions that use the z_off_t type for - binary compatibility -- a normal version and a 64-bit offset version, - per the Large File Support Extension when _LARGEFILE64_SOURCE is - defined; use the 64-bit versions by default when _FILE_OFFSET_BITS - is defined to be 64 -- Add a --uname= option to configure to perhaps help with cross-compiling - -Changes in 1.2.3.2 (3 September 2006) -- Turn off silly Borland warnings [Hay] -- Use off64_t and define _LARGEFILE64_SOURCE when present -- Fix missing dependency on inffixed.h in Makefile.in -- Rig configure --shared to build both shared and static [Teredesai, Truta] -- Remove zconf.in.h and instead create a new zlibdefs.h file -- Fix contrib/minizip/unzip.c non-encrypted after encrypted [Vollant] -- Add treebuild.xml (see http://treebuild.metux.de/) [Weigelt] - -Changes in 1.2.3.1 (16 August 2006) -- Add watcom directory with OpenWatcom make files [Daniel] -- Remove #undef of FAR in zconf.in.h for MVS [Fedtke] -- Update make_vms.com [Zinser] -- Use -fPIC for shared build in configure [Teredesai, Nicholson] -- Use only major version number for libz.so on IRIX and OSF1 [Reinholdtsen] -- Use fdopen() (not _fdopen()) for Interix in zutil.h [BŠck] -- Add some FAQ entries about the contrib directory -- Update the MVS question in the FAQ -- Avoid extraneous reads after EOF in gzio.c [Brown] -- Correct spelling of "successfully" in gzio.c [Randers-Pehrson] -- Add comments to zlib.h about gzerror() usage [Brown] -- Set extra flags in gzip header in gzopen() like deflate() does -- Make configure options more compatible with double-dash conventions - [Weigelt] -- Clean up compilation under Solaris SunStudio cc [Rowe, Reinholdtsen] -- Fix uninstall target in Makefile.in [Truta] -- Add pkgconfig support [Weigelt] -- Use $(DESTDIR) macro in Makefile.in [Reinholdtsen, Weigelt] -- Replace set_data_type() with a more accurate detect_data_type() in - trees.c, according to the txtvsbin.txt document [Truta] -- Swap the order of #include and #include "zlib.h" in - gzio.c, example.c and minigzip.c [Truta] -- Shut up annoying VS2005 warnings about standard C deprecation [Rowe, - Truta] (where?) -- Fix target "clean" from win32/Makefile.bor [Truta] -- Create .pdb and .manifest files in win32/makefile.msc [Ziegler, Rowe] -- Update zlib www home address in win32/DLL_FAQ.txt [Truta] -- Update contrib/masmx86/inffas32.asm for VS2005 [Vollant, Van Wassenhove] -- Enable browse info in the "Debug" and "ASM Debug" configurations in - the Visual C++ 6 project, and set (non-ASM) "Debug" as default [Truta] -- Add pkgconfig support [Weigelt] -- Add ZLIB_VER_MAJOR, ZLIB_VER_MINOR and ZLIB_VER_REVISION in zlib.h, - for use in win32/zlib1.rc [Polushin, Rowe, Truta] -- Add a document that explains the new text detection scheme to - doc/txtvsbin.txt [Truta] -- Add rfc1950.txt, rfc1951.txt and rfc1952.txt to doc/ [Truta] -- Move algorithm.txt into doc/ [Truta] -- Synchronize FAQ with website -- Fix compressBound(), was low for some pathological cases [Fearnley] -- Take into account wrapper variations in deflateBound() -- Set examples/zpipe.c input and output to binary mode for Windows -- Update examples/zlib_how.html with new zpipe.c (also web site) -- Fix some warnings in examples/gzlog.c and examples/zran.c (it seems - that gcc became pickier in 4.0) -- Add zlib.map for Linux: "All symbols from zlib-1.1.4 remain - un-versioned, the patch adds versioning only for symbols introduced in - zlib-1.2.0 or later. It also declares as local those symbols which are - not designed to be exported." [Levin] -- Update Z_PREFIX list in zconf.in.h, add --zprefix option to configure -- Do not initialize global static by default in trees.c, add a response - NO_INIT_GLOBAL_POINTERS to initialize them if needed [Marquess] -- Don't use strerror() in gzio.c under WinCE [Yakimov] -- Don't use errno.h in zutil.h under WinCE [Yakimov] -- Move arguments for AR to its usage to allow replacing ar [Marot] -- Add HAVE_VISIBILITY_PRAGMA in zconf.in.h for Mozilla [Randers-Pehrson] -- Improve inflateInit() and inflateInit2() documentation -- Fix structure size comment in inflate.h -- Change configure help option from --h* to --help [Santos] - -Changes in 1.2.3 (18 July 2005) -- Apply security vulnerability fixes to contrib/infback9 as well -- Clean up some text files (carriage returns, trailing space) -- Update testzlib, vstudio, masmx64, and masmx86 in contrib [Vollant] - -Changes in 1.2.2.4 (11 July 2005) -- Add inflatePrime() function for starting inflation at bit boundary -- Avoid some Visual C warnings in deflate.c -- Avoid more silly Visual C warnings in inflate.c and inftrees.c for 64-bit - compile -- Fix some spelling errors in comments [Betts] -- Correct inflateInit2() error return documentation in zlib.h -- Add zran.c example of compressed data random access to examples - directory, shows use of inflatePrime() -- Fix cast for assignments to strm->state in inflate.c and infback.c -- Fix zlibCompileFlags() in zutil.c to use 1L for long shifts [Oberhumer] -- Move declarations of gf2 functions to right place in crc32.c [Oberhumer] -- Add cast in trees.c t avoid a warning [Oberhumer] -- Avoid some warnings in fitblk.c, gun.c, gzjoin.c in examples [Oberhumer] -- Update make_vms.com [Zinser] -- Initialize state->write in inflateReset() since copied in inflate_fast() -- Be more strict on incomplete code sets in inflate_table() and increase - ENOUGH and MAXD -- this repairs a possible security vulnerability for - invalid inflate input. Thanks to Tavis Ormandy and Markus Oberhumer for - discovering the vulnerability and providing test cases. -- Add ia64 support to configure for HP-UX [Smith] -- Add error return to gzread() for format or i/o error [Levin] -- Use malloc.h for OS/2 [Necasek] - -Changes in 1.2.2.3 (27 May 2005) -- Replace 1U constants in inflate.c and inftrees.c for 64-bit compile -- Typecast fread() return values in gzio.c [Vollant] -- Remove trailing space in minigzip.c outmode (VC++ can't deal with it) -- Fix crc check bug in gzread() after gzungetc() [Heiner] -- Add the deflateTune() function to adjust internal compression parameters -- Add a fast gzip decompressor, gun.c, to examples (use of inflateBack) -- Remove an incorrect assertion in examples/zpipe.c -- Add C++ wrapper in infback9.h [Donais] -- Fix bug in inflateCopy() when decoding fixed codes -- Note in zlib.h how much deflateSetDictionary() actually uses -- Remove USE_DICT_HEAD in deflate.c (would mess up inflate if used) -- Add _WIN32_WCE to define WIN32 in zconf.in.h [Spencer] -- Don't include stderr.h or errno.h for _WIN32_WCE in zutil.h [Spencer] -- Add gzdirect() function to indicate transparent reads -- Update contrib/minizip [Vollant] -- Fix compilation of deflate.c when both ASMV and FASTEST [Oberhumer] -- Add casts in crc32.c to avoid warnings [Oberhumer] -- Add contrib/masmx64 [Vollant] -- Update contrib/asm586, asm686, masmx86, testzlib, vstudio [Vollant] - -Changes in 1.2.2.2 (30 December 2004) -- Replace structure assignments in deflate.c and inflate.c with zmemcpy to - avoid implicit memcpy calls (portability for no-library compilation) -- Increase sprintf() buffer size in gzdopen() to allow for large numbers -- Add INFLATE_STRICT to check distances against zlib header -- Improve WinCE errno handling and comments [Chang] -- Remove comment about no gzip header processing in FAQ -- Add Z_FIXED strategy option to deflateInit2() to force fixed trees -- Add updated make_vms.com [Coghlan], update README -- Create a new "examples" directory, move gzappend.c there, add zpipe.c, - fitblk.c, gzlog.[ch], gzjoin.c, and zlib_how.html. -- Add FAQ entry and comments in deflate.c on uninitialized memory access -- Add Solaris 9 make options in configure [Gilbert] -- Allow strerror() usage in gzio.c for STDC -- Fix DecompressBuf in contrib/delphi/ZLib.pas [ManChesTer] -- Update contrib/masmx86/inffas32.asm and gvmat32.asm [Vollant] -- Use z_off_t for adler32_combine() and crc32_combine() lengths -- Make adler32() much faster for small len -- Use OS_CODE in deflate() default gzip header - -Changes in 1.2.2.1 (31 October 2004) -- Allow inflateSetDictionary() call for raw inflate -- Fix inflate header crc check bug for file names and comments -- Add deflateSetHeader() and gz_header structure for custom gzip headers -- Add inflateGetheader() to retrieve gzip headers -- Add crc32_combine() and adler32_combine() functions -- Add alloc_func, free_func, in_func, out_func to Z_PREFIX list -- Use zstreamp consistently in zlib.h (inflate_back functions) -- Remove GUNZIP condition from definition of inflate_mode in inflate.h - and in contrib/inflate86/inffast.S [Truta, Anderson] -- Add support for AMD64 in contrib/inflate86/inffas86.c [Anderson] -- Update projects/README.projects and projects/visualc6 [Truta] -- Update win32/DLL_FAQ.txt [Truta] -- Avoid warning under NO_GZCOMPRESS in gzio.c; fix typo [Truta] -- Deprecate Z_ASCII; use Z_TEXT instead [Truta] -- Use a new algorithm for setting strm->data_type in trees.c [Truta] -- Do not define an exit() prototype in zutil.c unless DEBUG defined -- Remove prototype of exit() from zutil.c, example.c, minigzip.c [Truta] -- Add comment in zlib.h for Z_NO_FLUSH parameter to deflate() -- Fix Darwin build version identification [Peterson] - -Changes in 1.2.2 (3 October 2004) -- Update zlib.h comments on gzip in-memory processing -- Set adler to 1 in inflateReset() to support Java test suite [Walles] -- Add contrib/dotzlib [Ravn] -- Update win32/DLL_FAQ.txt [Truta] -- Update contrib/minizip [Vollant] -- Move contrib/visual-basic.txt to old/ [Truta] -- Fix assembler builds in projects/visualc6/ [Truta] - -Changes in 1.2.1.2 (9 September 2004) -- Update INDEX file -- Fix trees.c to update strm->data_type (no one ever noticed!) -- Fix bug in error case in inflate.c, infback.c, and infback9.c [Brown] -- Add "volatile" to crc table flag declaration (for DYNAMIC_CRC_TABLE) -- Add limited multitasking protection to DYNAMIC_CRC_TABLE -- Add NO_vsnprintf for VMS in zutil.h [Mozilla] -- Don't declare strerror() under VMS [Mozilla] -- Add comment to DYNAMIC_CRC_TABLE to use get_crc_table() to initialize -- Update contrib/ada [Anisimkov] -- Update contrib/minizip [Vollant] -- Fix configure to not hardcode directories for Darwin [Peterson] -- Fix gzio.c to not return error on empty files [Brown] -- Fix indentation; update version in contrib/delphi/ZLib.pas and - contrib/pascal/zlibpas.pas [Truta] -- Update mkasm.bat in contrib/masmx86 [Truta] -- Update contrib/untgz [Truta] -- Add projects/README.projects [Truta] -- Add project for MS Visual C++ 6.0 in projects/visualc6 [Cadieux, Truta] -- Update win32/DLL_FAQ.txt [Truta] -- Update list of Z_PREFIX symbols in zconf.h [Randers-Pehrson, Truta] -- Remove an unnecessary assignment to curr in inftrees.c [Truta] -- Add OS/2 to exe builds in configure [Poltorak] -- Remove err dummy parameter in zlib.h [Kientzle] - -Changes in 1.2.1.1 (9 January 2004) -- Update email address in README -- Several FAQ updates -- Fix a big fat bug in inftrees.c that prevented decoding valid - dynamic blocks with only literals and no distance codes -- - Thanks to "Hot Emu" for the bug report and sample file -- Add a note to puff.c on no distance codes case. - -Changes in 1.2.1 (17 November 2003) -- Remove a tab in contrib/gzappend/gzappend.c -- Update some interfaces in contrib for new zlib functions -- Update zlib version number in some contrib entries -- Add Windows CE definition for ptrdiff_t in zutil.h [Mai, Truta] -- Support shared libraries on Hurd and KFreeBSD [Brown] -- Fix error in NO_DIVIDE option of adler32.c - -Changes in 1.2.0.8 (4 November 2003) -- Update version in contrib/delphi/ZLib.pas and contrib/pascal/zlibpas.pas -- Add experimental NO_DIVIDE #define in adler32.c - - Possibly faster on some processors (let me know if it is) -- Correct Z_BLOCK to not return on first inflate call if no wrap -- Fix strm->data_type on inflate() return to correctly indicate EOB -- Add deflatePrime() function for appending in the middle of a byte -- Add contrib/gzappend for an example of appending to a stream -- Update win32/DLL_FAQ.txt [Truta] -- Delete Turbo C comment in README [Truta] -- Improve some indentation in zconf.h [Truta] -- Fix infinite loop on bad input in configure script [Church] -- Fix gzeof() for concatenated gzip files [Johnson] -- Add example to contrib/visual-basic.txt [Michael B.] -- Add -p to mkdir's in Makefile.in [vda] -- Fix configure to properly detect presence or lack of printf functions -- Add AS400 support [Monnerat] -- Add a little Cygwin support [Wilson] - -Changes in 1.2.0.7 (21 September 2003) -- Correct some debug formats in contrib/infback9 -- Cast a type in a debug statement in trees.c -- Change search and replace delimiter in configure from % to # [Beebe] -- Update contrib/untgz to 0.2 with various fixes [Truta] -- Add build support for Amiga [Nikl] -- Remove some directories in old that have been updated to 1.2 -- Add dylib building for Mac OS X in configure and Makefile.in -- Remove old distribution stuff from Makefile -- Update README to point to DLL_FAQ.txt, and add comment on Mac OS X -- Update links in README - -Changes in 1.2.0.6 (13 September 2003) -- Minor FAQ updates -- Update contrib/minizip to 1.00 [Vollant] -- Remove test of gz functions in example.c when GZ_COMPRESS defined [Truta] -- Update POSTINC comment for 68060 [Nikl] -- Add contrib/infback9 with deflate64 decoding (unsupported) -- For MVS define NO_vsnprintf and undefine FAR [van Burik] -- Add pragma for fdopen on MVS [van Burik] - -Changes in 1.2.0.5 (8 September 2003) -- Add OF to inflateBackEnd() declaration in zlib.h -- Remember start when using gzdopen in the middle of a file -- Use internal off_t counters in gz* functions to properly handle seeks -- Perform more rigorous check for distance-too-far in inffast.c -- Add Z_BLOCK flush option to return from inflate at block boundary -- Set strm->data_type on return from inflate - - Indicate bits unused, if at block boundary, and if in last block -- Replace size_t with ptrdiff_t in crc32.c, and check for correct size -- Add condition so old NO_DEFLATE define still works for compatibility -- FAQ update regarding the Windows DLL [Truta] -- INDEX update: add qnx entry, remove aix entry [Truta] -- Install zlib.3 into mandir [Wilson] -- Move contrib/zlib_dll_FAQ.txt to win32/DLL_FAQ.txt; update [Truta] -- Adapt the zlib interface to the new DLL convention guidelines [Truta] -- Introduce ZLIB_WINAPI macro to allow the export of functions using - the WINAPI calling convention, for Visual Basic [Vollant, Truta] -- Update msdos and win32 scripts and makefiles [Truta] -- Export symbols by name, not by ordinal, in win32/zlib.def [Truta] -- Add contrib/ada [Anisimkov] -- Move asm files from contrib/vstudio/vc70_32 to contrib/asm386 [Truta] -- Rename contrib/asm386 to contrib/masmx86 [Truta, Vollant] -- Add contrib/masm686 [Truta] -- Fix offsets in contrib/inflate86 and contrib/masmx86/inffas32.asm - [Truta, Vollant] -- Update contrib/delphi; rename to contrib/pascal; add example [Truta] -- Remove contrib/delphi2; add a new contrib/delphi [Truta] -- Avoid inclusion of the nonstandard in contrib/iostream, - and fix some method prototypes [Truta] -- Fix the ZCR_SEED2 constant to avoid warnings in contrib/minizip - [Truta] -- Avoid the use of backslash (\) in contrib/minizip [Vollant] -- Fix file time handling in contrib/untgz; update makefiles [Truta] -- Update contrib/vstudio/vc70_32 to comply with the new DLL guidelines - [Vollant] -- Remove contrib/vstudio/vc15_16 [Vollant] -- Rename contrib/vstudio/vc70_32 to contrib/vstudio/vc7 [Truta] -- Update README.contrib [Truta] -- Invert the assignment order of match_head and s->prev[...] in - INSERT_STRING [Truta] -- Compare TOO_FAR with 32767 instead of 32768, to avoid 16-bit warnings - [Truta] -- Compare function pointers with 0, not with NULL or Z_NULL [Truta] -- Fix prototype of syncsearch in inflate.c [Truta] -- Introduce ASMINF macro to be enabled when using an ASM implementation - of inflate_fast [Truta] -- Change NO_DEFLATE to NO_GZCOMPRESS [Truta] -- Modify test_gzio in example.c to take a single file name as a - parameter [Truta] -- Exit the example.c program if gzopen fails [Truta] -- Add type casts around strlen in example.c [Truta] -- Remove casting to sizeof in minigzip.c; give a proper type - to the variable compared with SUFFIX_LEN [Truta] -- Update definitions of STDC and STDC99 in zconf.h [Truta] -- Synchronize zconf.h with the new Windows DLL interface [Truta] -- Use SYS16BIT instead of __32BIT__ to distinguish between - 16- and 32-bit platforms [Truta] -- Use far memory allocators in small 16-bit memory models for - Turbo C [Truta] -- Add info about the use of ASMV, ASMINF and ZLIB_WINAPI in - zlibCompileFlags [Truta] -- Cygwin has vsnprintf [Wilson] -- In Windows16, OS_CODE is 0, as in MSDOS [Truta] -- In Cygwin, OS_CODE is 3 (Unix), not 11 (Windows32) [Wilson] - -Changes in 1.2.0.4 (10 August 2003) -- Minor FAQ updates -- Be more strict when checking inflateInit2's windowBits parameter -- Change NO_GUNZIP compile option to NO_GZIP to cover deflate as well -- Add gzip wrapper option to deflateInit2 using windowBits -- Add updated QNX rule in configure and qnx directory [Bonnefoy] -- Make inflate distance-too-far checks more rigorous -- Clean up FAR usage in inflate -- Add casting to sizeof() in gzio.c and minigzip.c - -Changes in 1.2.0.3 (19 July 2003) -- Fix silly error in gzungetc() implementation [Vollant] -- Update contrib/minizip and contrib/vstudio [Vollant] -- Fix printf format in example.c -- Correct cdecl support in zconf.in.h [Anisimkov] -- Minor FAQ updates - -Changes in 1.2.0.2 (13 July 2003) -- Add ZLIB_VERNUM in zlib.h for numerical preprocessor comparisons -- Attempt to avoid warnings in crc32.c for pointer-int conversion -- Add AIX to configure, remove aix directory [Bakker] -- Add some casts to minigzip.c -- Improve checking after insecure sprintf() or vsprintf() calls -- Remove #elif's from crc32.c -- Change leave label to inf_leave in inflate.c and infback.c to avoid - library conflicts -- Remove inflate gzip decoding by default--only enable gzip decoding by - special request for stricter backward compatibility -- Add zlibCompileFlags() function to return compilation information -- More typecasting in deflate.c to avoid warnings -- Remove leading underscore from _Capital #defines [Truta] -- Fix configure to link shared library when testing -- Add some Windows CE target adjustments [Mai] -- Remove #define ZLIB_DLL in zconf.h [Vollant] -- Add zlib.3 [Rodgers] -- Update RFC URL in deflate.c and algorithm.txt [Mai] -- Add zlib_dll_FAQ.txt to contrib [Truta] -- Add UL to some constants [Truta] -- Update minizip and vstudio [Vollant] -- Remove vestigial NEED_DUMMY_RETURN from zconf.in.h -- Expand use of NO_DUMMY_DECL to avoid all dummy structures -- Added iostream3 to contrib [Schwardt] -- Replace rewind() with fseek() for WinCE [Truta] -- Improve setting of zlib format compression level flags - - Report 0 for huffman and rle strategies and for level == 0 or 1 - - Report 2 only for level == 6 -- Only deal with 64K limit when necessary at compile time [Truta] -- Allow TOO_FAR check to be turned off at compile time [Truta] -- Add gzclearerr() function [Souza] -- Add gzungetc() function - -Changes in 1.2.0.1 (17 March 2003) -- Add Z_RLE strategy for run-length encoding [Truta] - - When Z_RLE requested, restrict matches to distance one - - Update zlib.h, minigzip.c, gzopen(), gzdopen() for Z_RLE -- Correct FASTEST compilation to allow level == 0 -- Clean up what gets compiled for FASTEST -- Incorporate changes to zconf.in.h [Vollant] - - Refine detection of Turbo C need for dummy returns - - Refine ZLIB_DLL compilation - - Include additional header file on VMS for off_t typedef -- Try to use _vsnprintf where it supplants vsprintf [Vollant] -- Add some casts in inffast.c -- Enchance comments in zlib.h on what happens if gzprintf() tries to - write more than 4095 bytes before compression -- Remove unused state from inflateBackEnd() -- Remove exit(0) from minigzip.c, example.c -- Get rid of all those darn tabs -- Add "check" target to Makefile.in that does the same thing as "test" -- Add "mostlyclean" and "maintainer-clean" targets to Makefile.in -- Update contrib/inflate86 [Anderson] -- Update contrib/testzlib, contrib/vstudio, contrib/minizip [Vollant] -- Add msdos and win32 directories with makefiles [Truta] -- More additions and improvements to the FAQ - -Changes in 1.2.0 (9 March 2003) -- New and improved inflate code - - About 20% faster - - Does not allocate 32K window unless and until needed - - Automatically detects and decompresses gzip streams - - Raw inflate no longer needs an extra dummy byte at end - - Added inflateBack functions using a callback interface--even faster - than inflate, useful for file utilities (gzip, zip) - - Added inflateCopy() function to record state for random access on - externally generated deflate streams (e.g. in gzip files) - - More readable code (I hope) -- New and improved crc32() - - About 50% faster, thanks to suggestions from Rodney Brown -- Add deflateBound() and compressBound() functions -- Fix memory leak in deflateInit2() -- Permit setting dictionary for raw deflate (for parallel deflate) -- Fix const declaration for gzwrite() -- Check for some malloc() failures in gzio.c -- Fix bug in gzopen() on single-byte file 0x1f -- Fix bug in gzread() on concatenated file with 0x1f at end of buffer - and next buffer doesn't start with 0x8b -- Fix uncompress() to return Z_DATA_ERROR on truncated input -- Free memory at end of example.c -- Remove MAX #define in trees.c (conflicted with some libraries) -- Fix static const's in deflate.c, gzio.c, and zutil.[ch] -- Declare malloc() and free() in gzio.c if STDC not defined -- Use malloc() instead of calloc() in zutil.c if int big enough -- Define STDC for AIX -- Add aix/ with approach for compiling shared library on AIX -- Add HP-UX support for shared libraries in configure -- Add OpenUNIX support for shared libraries in configure -- Use $cc instead of gcc to build shared library -- Make prefix directory if needed when installing -- Correct Macintosh avoidance of typedef Byte in zconf.h -- Correct Turbo C memory allocation when under Linux -- Use libz.a instead of -lz in Makefile (assure use of compiled library) -- Update configure to check for snprintf or vsnprintf functions and their - return value, warn during make if using an insecure function -- Fix configure problem with compile-time knowledge of HAVE_UNISTD_H that - is lost when library is used--resolution is to build new zconf.h -- Documentation improvements (in zlib.h): - - Document raw deflate and inflate - - Update RFCs URL - - Point out that zlib and gzip formats are different - - Note that Z_BUF_ERROR is not fatal - - Document string limit for gzprintf() and possible buffer overflow - - Note requirement on avail_out when flushing - - Note permitted values of flush parameter of inflate() -- Add some FAQs (and even answers) to the FAQ -- Add contrib/inflate86/ for x86 faster inflate -- Add contrib/blast/ for PKWare Data Compression Library decompression -- Add contrib/puff/ simple inflate for deflate format description - -Changes in 1.1.4 (11 March 2002) -- ZFREE was repeated on same allocation on some error conditions. - This creates a security problem described in - http://www.zlib.org/advisory-2002-03-11.txt -- Returned incorrect error (Z_MEM_ERROR) on some invalid data -- Avoid accesses before window for invalid distances with inflate window - less than 32K. -- force windowBits > 8 to avoid a bug in the encoder for a window size - of 256 bytes. (A complete fix will be available in 1.1.5). - -Changes in 1.1.3 (9 July 1998) -- fix "an inflate input buffer bug that shows up on rare but persistent - occasions" (Mark) -- fix gzread and gztell for concatenated .gz files (Didier Le Botlan) -- fix gzseek(..., SEEK_SET) in write mode -- fix crc check after a gzeek (Frank Faubert) -- fix miniunzip when the last entry in a zip file is itself a zip file - (J Lillge) -- add contrib/asm586 and contrib/asm686 (Brian Raiter) - See http://www.muppetlabs.com/~breadbox/software/assembly.html -- add support for Delphi 3 in contrib/delphi (Bob Dellaca) -- add support for C++Builder 3 and Delphi 3 in contrib/delphi2 (Davide Moretti) -- do not exit prematurely in untgz if 0 at start of block (Magnus Holmgren) -- use macro EXTERN instead of extern to support DLL for BeOS (Sander Stoks) -- added a FAQ file - -- Support gzdopen on Mac with Metrowerks (Jason Linhart) -- Do not redefine Byte on Mac (Brad Pettit & Jason Linhart) -- define SEEK_END too if SEEK_SET is not defined (Albert Chin-A-Young) -- avoid some warnings with Borland C (Tom Tanner) -- fix a problem in contrib/minizip/zip.c for 16-bit MSDOS (Gilles Vollant) -- emulate utime() for WIN32 in contrib/untgz (Gilles Vollant) -- allow several arguments to configure (Tim Mooney, Frodo Looijaard) -- use libdir and includedir in Makefile.in (Tim Mooney) -- support shared libraries on OSF1 V4 (Tim Mooney) -- remove so_locations in "make clean" (Tim Mooney) -- fix maketree.c compilation error (Glenn, Mark) -- Python interface to zlib now in Python 1.5 (Jeremy Hylton) -- new Makefile.riscos (Rich Walker) -- initialize static descriptors in trees.c for embedded targets (Nick Smith) -- use "foo-gz" in example.c for RISCOS and VMS (Nick Smith) -- add the OS/2 files in Makefile.in too (Andrew Zabolotny) -- fix fdopen and halloc macros for Microsoft C 6.0 (Tom Lane) -- fix maketree.c to allow clean compilation of inffixed.h (Mark) -- fix parameter check in deflateCopy (Gunther Nikl) -- cleanup trees.c, use compressed_len only in debug mode (Christian Spieler) -- Many portability patches by Christian Spieler: - . zutil.c, zutil.h: added "const" for zmem* - . Make_vms.com: fixed some typos - . Make_vms.com: msdos/Makefile.*: removed zutil.h from some dependency lists - . msdos/Makefile.msc: remove "default rtl link library" info from obj files - . msdos/Makefile.*: use model-dependent name for the built zlib library - . msdos/Makefile.emx, nt/Makefile.emx, nt/Makefile.gcc: - new makefiles, for emx (DOS/OS2), emx&rsxnt and mingw32 (Windows 9x / NT) -- use define instead of typedef for Bytef also for MSC small/medium (Tom Lane) -- replace __far with _far for better portability (Christian Spieler, Tom Lane) -- fix test for errno.h in configure (Tim Newsham) - -Changes in 1.1.2 (19 March 98) -- added contrib/minzip, mini zip and unzip based on zlib (Gilles Vollant) - See http://www.winimage.com/zLibDll/unzip.html -- preinitialize the inflate tables for fixed codes, to make the code - completely thread safe (Mark) -- some simplifications and slight speed-up to the inflate code (Mark) -- fix gzeof on non-compressed files (Allan Schrum) -- add -std1 option in configure for OSF1 to fix gzprintf (Martin Mokrejs) -- use default value of 4K for Z_BUFSIZE for 16-bit MSDOS (Tim Wegner + Glenn) -- added os2/Makefile.def and os2/zlib.def (Andrew Zabolotny) -- add shared lib support for UNIX_SV4.2MP (MATSUURA Takanori) -- do not wrap extern "C" around system includes (Tom Lane) -- mention zlib binding for TCL in README (Andreas Kupries) -- added amiga/Makefile.pup for Amiga powerUP SAS/C PPC (Andreas Kleinert) -- allow "make install prefix=..." even after configure (Glenn Randers-Pehrson) -- allow "configure --prefix $HOME" (Tim Mooney) -- remove warnings in example.c and gzio.c (Glenn Randers-Pehrson) -- move Makefile.sas to amiga/Makefile.sas - -Changes in 1.1.1 (27 Feb 98) -- fix macros _tr_tally_* in deflate.h for debug mode (Glenn Randers-Pehrson) -- remove block truncation heuristic which had very marginal effect for zlib - (smaller lit_bufsize than in gzip 1.2.4) and degraded a little the - compression ratio on some files. This also allows inlining _tr_tally for - matches in deflate_slow. -- added msdos/Makefile.w32 for WIN32 Microsoft Visual C++ (Bob Frazier) - -Changes in 1.1.0 (24 Feb 98) -- do not return STREAM_END prematurely in inflate (John Bowler) -- revert to the zlib 1.0.8 inflate to avoid the gcc 2.8.0 bug (Jeremy Buhler) -- compile with -DFASTEST to get compression code optimized for speed only -- in minigzip, try mmap'ing the input file first (Miguel Albrecht) -- increase size of I/O buffers in minigzip.c and gzio.c (not a big gain - on Sun but significant on HP) - -- add a pointer to experimental unzip library in README (Gilles Vollant) -- initialize variable gcc in configure (Chris Herborth) - -Changes in 1.0.9 (17 Feb 1998) -- added gzputs and gzgets functions -- do not clear eof flag in gzseek (Mark Diekhans) -- fix gzseek for files in transparent mode (Mark Diekhans) -- do not assume that vsprintf returns the number of bytes written (Jens Krinke) -- replace EXPORT with ZEXPORT to avoid conflict with other programs -- added compress2 in zconf.h, zlib.def, zlib.dnt -- new asm code from Gilles Vollant in contrib/asm386 -- simplify the inflate code (Mark): - . Replace ZALLOC's in huft_build() with single ZALLOC in inflate_blocks_new() - . ZALLOC the length list in inflate_trees_fixed() instead of using stack - . ZALLOC the value area for huft_build() instead of using stack - . Simplify Z_FINISH check in inflate() - -- Avoid gcc 2.8.0 comparison bug a little differently than zlib 1.0.8 -- in inftrees.c, avoid cc -O bug on HP (Farshid Elahi) -- in zconf.h move the ZLIB_DLL stuff earlier to avoid problems with - the declaration of FAR (Gilles VOllant) -- install libz.so* with mode 755 (executable) instead of 644 (Marc Lehmann) -- read_buf buf parameter of type Bytef* instead of charf* -- zmemcpy parameters are of type Bytef*, not charf* (Joseph Strout) -- do not redeclare unlink in minigzip.c for WIN32 (John Bowler) -- fix check for presence of directories in "make install" (Ian Willis) - -Changes in 1.0.8 (27 Jan 1998) -- fixed offsets in contrib/asm386/gvmat32.asm (Gilles Vollant) -- fix gzgetc and gzputc for big endian systems (Markus Oberhumer) -- added compress2() to allow setting the compression level -- include sys/types.h to get off_t on some systems (Marc Lehmann & QingLong) -- use constant arrays for the static trees in trees.c instead of computing - them at run time (thanks to Ken Raeburn for this suggestion). To create - trees.h, compile with GEN_TREES_H and run "make test". -- check return code of example in "make test" and display result -- pass minigzip command line options to file_compress -- simplifying code of inflateSync to avoid gcc 2.8 bug - -- support CC="gcc -Wall" in configure -s (QingLong) -- avoid a flush caused by ftell in gzopen for write mode (Ken Raeburn) -- fix test for shared library support to avoid compiler warnings -- zlib.lib -> zlib.dll in msdos/zlib.rc (Gilles Vollant) -- check for TARGET_OS_MAC in addition to MACOS (Brad Pettit) -- do not use fdopen for Metrowerks on Mac (Brad Pettit)) -- add checks for gzputc and gzputc in example.c -- avoid warnings in gzio.c and deflate.c (Andreas Kleinert) -- use const for the CRC table (Ken Raeburn) -- fixed "make uninstall" for shared libraries -- use Tracev instead of Trace in infblock.c -- in example.c use correct compressed length for test_sync -- suppress +vnocompatwarnings in configure for HPUX (not always supported) - -Changes in 1.0.7 (20 Jan 1998) -- fix gzseek which was broken in write mode -- return error for gzseek to negative absolute position -- fix configure for Linux (Chun-Chung Chen) -- increase stack space for MSC (Tim Wegner) -- get_crc_table and inflateSyncPoint are EXPORTed (Gilles Vollant) -- define EXPORTVA for gzprintf (Gilles Vollant) -- added man page zlib.3 (Rick Rodgers) -- for contrib/untgz, fix makedir() and improve Makefile - -- check gzseek in write mode in example.c -- allocate extra buffer for seeks only if gzseek is actually called -- avoid signed/unsigned comparisons (Tim Wegner, Gilles Vollant) -- add inflateSyncPoint in zconf.h -- fix list of exported functions in nt/zlib.dnt and mdsos/zlib.def - -Changes in 1.0.6 (19 Jan 1998) -- add functions gzprintf, gzputc, gzgetc, gztell, gzeof, gzseek, gzrewind and - gzsetparams (thanks to Roland Giersig and Kevin Ruland for some of this code) -- Fix a deflate bug occurring only with compression level 0 (thanks to - Andy Buckler for finding this one). -- In minigzip, pass transparently also the first byte for .Z files. -- return Z_BUF_ERROR instead of Z_OK if output buffer full in uncompress() -- check Z_FINISH in inflate (thanks to Marc Schluper) -- Implement deflateCopy (thanks to Adam Costello) -- make static libraries by default in configure, add --shared option. -- move MSDOS or Windows specific files to directory msdos -- suppress the notion of partial flush to simplify the interface - (but the symbol Z_PARTIAL_FLUSH is kept for compatibility with 1.0.4) -- suppress history buffer provided by application to simplify the interface - (this feature was not implemented anyway in 1.0.4) -- next_in and avail_in must be initialized before calling inflateInit or - inflateInit2 -- add EXPORT in all exported functions (for Windows DLL) -- added Makefile.nt (thanks to Stephen Williams) -- added the unsupported "contrib" directory: - contrib/asm386/ by Gilles Vollant - 386 asm code replacing longest_match(). - contrib/iostream/ by Kevin Ruland - A C++ I/O streams interface to the zlib gz* functions - contrib/iostream2/ by Tyge Løvset - Another C++ I/O streams interface - contrib/untgz/ by "Pedro A. Aranda Guti\irrez" - A very simple tar.gz file extractor using zlib - contrib/visual-basic.txt by Carlos Rios - How to use compress(), uncompress() and the gz* functions from VB. -- pass params -f (filtered data), -h (huffman only), -1 to -9 (compression - level) in minigzip (thanks to Tom Lane) - -- use const for rommable constants in deflate -- added test for gzseek and gztell in example.c -- add undocumented function inflateSyncPoint() (hack for Paul Mackerras) -- add undocumented function zError to convert error code to string - (for Tim Smithers) -- Allow compilation of gzio with -DNO_DEFLATE to avoid the compression code. -- Use default memcpy for Symantec MSDOS compiler. -- Add EXPORT keyword for check_func (needed for Windows DLL) -- add current directory to LD_LIBRARY_PATH for "make test" -- create also a link for libz.so.1 -- added support for FUJITSU UXP/DS (thanks to Toshiaki Nomura) -- use $(SHAREDLIB) instead of libz.so in Makefile.in (for HPUX) -- added -soname for Linux in configure (Chun-Chung Chen, -- assign numbers to the exported functions in zlib.def (for Windows DLL) -- add advice in zlib.h for best usage of deflateSetDictionary -- work around compiler bug on Atari (cast Z_NULL in call of s->checkfn) -- allow compilation with ANSI keywords only enabled for TurboC in large model -- avoid "versionString"[0] (Borland bug) -- add NEED_DUMMY_RETURN for Borland -- use variable z_verbose for tracing in debug mode (L. Peter Deutsch). -- allow compilation with CC -- defined STDC for OS/2 (David Charlap) -- limit external names to 8 chars for MVS (Thomas Lund) -- in minigzip.c, use static buffers only for 16-bit systems -- fix suffix check for "minigzip -d foo.gz" -- do not return an error for the 2nd of two consecutive gzflush() (Felix Lee) -- use _fdopen instead of fdopen for MSC >= 6.0 (Thomas Fanslau) -- added makelcc.bat for lcc-win32 (Tom St Denis) -- in Makefile.dj2, use copy and del instead of install and rm (Frank Donahoe) -- Avoid expanded $Id$. Use "rcs -kb" or "cvs admin -kb" to avoid Id expansion. -- check for unistd.h in configure (for off_t) -- remove useless check parameter in inflate_blocks_free -- avoid useless assignment of s->check to itself in inflate_blocks_new -- do not flush twice in gzclose (thanks to Ken Raeburn) -- rename FOPEN as F_OPEN to avoid clash with /usr/include/sys/file.h -- use NO_ERRNO_H instead of enumeration of operating systems with errno.h -- work around buggy fclose on pipes for HP/UX -- support zlib DLL with BORLAND C++ 5.0 (thanks to Glenn Randers-Pehrson) -- fix configure if CC is already equal to gcc - -Changes in 1.0.5 (3 Jan 98) -- Fix inflate to terminate gracefully when fed corrupted or invalid data -- Use const for rommable constants in inflate -- Eliminate memory leaks on error conditions in inflate -- Removed some vestigial code in inflate -- Update web address in README - -Changes in 1.0.4 (24 Jul 96) -- In very rare conditions, deflate(s, Z_FINISH) could fail to produce an EOF - bit, so the decompressor could decompress all the correct data but went - on to attempt decompressing extra garbage data. This affected minigzip too. -- zlibVersion and gzerror return const char* (needed for DLL) -- port to RISCOS (no fdopen, no multiple dots, no unlink, no fileno) -- use z_error only for DEBUG (avoid problem with DLLs) - -Changes in 1.0.3 (2 Jul 96) -- use z_streamp instead of z_stream *, which is now a far pointer in MSDOS - small and medium models; this makes the library incompatible with previous - versions for these models. (No effect in large model or on other systems.) -- return OK instead of BUF_ERROR if previous deflate call returned with - avail_out as zero but there is nothing to do -- added memcmp for non STDC compilers -- define NO_DUMMY_DECL for more Mac compilers (.h files merged incorrectly) -- define __32BIT__ if __386__ or i386 is defined (pb. with Watcom and SCO) -- better check for 16-bit mode MSC (avoids problem with Symantec) - -Changes in 1.0.2 (23 May 96) -- added Windows DLL support -- added a function zlibVersion (for the DLL support) -- fixed declarations using Bytef in infutil.c (pb with MSDOS medium model) -- Bytef is define's instead of typedef'd only for Borland C -- avoid reading uninitialized memory in example.c -- mention in README that the zlib format is now RFC1950 -- updated Makefile.dj2 -- added algorithm.doc - -Changes in 1.0.1 (20 May 96) [1.0 skipped to avoid confusion] -- fix array overlay in deflate.c which sometimes caused bad compressed data -- fix inflate bug with empty stored block -- fix MSDOS medium model which was broken in 0.99 -- fix deflateParams() which could generated bad compressed data. -- Bytef is define'd instead of typedef'ed (work around Borland bug) -- added an INDEX file -- new makefiles for DJGPP (Makefile.dj2), 32-bit Borland (Makefile.b32), - Watcom (Makefile.wat), Amiga SAS/C (Makefile.sas) -- speed up adler32 for modern machines without auto-increment -- added -ansi for IRIX in configure -- static_init_done in trees.c is an int -- define unlink as delete for VMS -- fix configure for QNX -- add configure branch for SCO and HPUX -- avoid many warnings (unused variables, dead assignments, etc...) -- no fdopen for BeOS -- fix the Watcom fix for 32 bit mode (define FAR as empty) -- removed redefinition of Byte for MKWERKS -- work around an MWKERKS bug (incorrect merge of all .h files) - -Changes in 0.99 (27 Jan 96) -- allow preset dictionary shared between compressor and decompressor -- allow compression level 0 (no compression) -- add deflateParams in zlib.h: allow dynamic change of compression level - and compression strategy. -- test large buffers and deflateParams in example.c -- add optional "configure" to build zlib as a shared library -- suppress Makefile.qnx, use configure instead -- fixed deflate for 64-bit systems (detected on Cray) -- fixed inflate_blocks for 64-bit systems (detected on Alpha) -- declare Z_DEFLATED in zlib.h (possible parameter for deflateInit2) -- always return Z_BUF_ERROR when deflate() has nothing to do -- deflateInit and inflateInit are now macros to allow version checking -- prefix all global functions and types with z_ with -DZ_PREFIX -- make falloc completely reentrant (inftrees.c) -- fixed very unlikely race condition in ct_static_init -- free in reverse order of allocation to help memory manager -- use zlib-1.0/* instead of zlib/* inside the tar.gz -- make zlib warning-free with "gcc -O3 -Wall -Wwrite-strings -Wpointer-arith - -Wconversion -Wstrict-prototypes -Wmissing-prototypes" -- allow gzread on concatenated .gz files -- deflateEnd now returns Z_DATA_ERROR if it was premature -- deflate is finally (?) fully deterministic (no matches beyond end of input) -- Document Z_SYNC_FLUSH -- add uninstall in Makefile -- Check for __cpluplus in zlib.h -- Better test in ct_align for partial flush -- avoid harmless warnings for Borland C++ -- initialize hash_head in deflate.c -- avoid warning on fdopen (gzio.c) for HP cc -Aa -- include stdlib.h for STDC compilers -- include errno.h for Cray -- ignore error if ranlib doesn't exist -- call ranlib twice for NeXTSTEP -- use exec_prefix instead of prefix for libz.a -- renamed ct_* as _tr_* to avoid conflict with applications -- clear z->msg in inflateInit2 before any error return -- initialize opaque in example.c, gzio.c, deflate.c and inflate.c -- fixed typo in zconf.h (_GNUC__ => __GNUC__) -- check for WIN32 in zconf.h and zutil.c (avoid farmalloc in 32-bit mode) -- fix typo in Make_vms.com (f$trnlnm -> f$getsyi) -- in fcalloc, normalize pointer if size > 65520 bytes -- don't use special fcalloc for 32 bit Borland C++ -- use STDC instead of __GO32__ to avoid redeclaring exit, calloc, etc... -- use Z_BINARY instead of BINARY -- document that gzclose after gzdopen will close the file -- allow "a" as mode in gzopen. -- fix error checking in gzread -- allow skipping .gz extra-field on pipes -- added reference to Perl interface in README -- put the crc table in FAR data (I dislike more and more the medium model :) -- added get_crc_table -- added a dimension to all arrays (Borland C can't count). -- workaround Borland C bug in declaration of inflate_codes_new & inflate_fast -- guard against multiple inclusion of *.h (for precompiled header on Mac) -- Watcom C pretends to be Microsoft C small model even in 32 bit mode. -- don't use unsized arrays to avoid silly warnings by Visual C++: - warning C4746: 'inflate_mask' : unsized array treated as '__far' - (what's wrong with far data in far model?). -- define enum out of inflate_blocks_state to allow compilation with C++ - -Changes in 0.95 (16 Aug 95) -- fix MSDOS small and medium model (now easier to adapt to any compiler) -- inlined send_bits -- fix the final (:-) bug for deflate with flush (output was correct but - not completely flushed in rare occasions). -- default window size is same for compression and decompression - (it's now sufficient to set MAX_WBITS in zconf.h). -- voidp -> voidpf and voidnp -> voidp (for consistency with other - typedefs and because voidnp was not near in large model). - -Changes in 0.94 (13 Aug 95) -- support MSDOS medium model -- fix deflate with flush (could sometimes generate bad output) -- fix deflateReset (zlib header was incorrectly suppressed) -- added support for VMS -- allow a compression level in gzopen() -- gzflush now calls fflush -- For deflate with flush, flush even if no more input is provided. -- rename libgz.a as libz.a -- avoid complex expression in infcodes.c triggering Turbo C bug -- work around a problem with gcc on Alpha (in INSERT_STRING) -- don't use inline functions (problem with some gcc versions) -- allow renaming of Byte, uInt, etc... with #define. -- avoid warning about (unused) pointer before start of array in deflate.c -- avoid various warnings in gzio.c, example.c, infblock.c, adler32.c, zutil.c -- avoid reserved word 'new' in trees.c - -Changes in 0.93 (25 June 95) -- temporarily disable inline functions -- make deflate deterministic -- give enough lookahead for PARTIAL_FLUSH -- Set binary mode for stdin/stdout in minigzip.c for OS/2 -- don't even use signed char in inflate (not portable enough) -- fix inflate memory leak for segmented architectures - -Changes in 0.92 (3 May 95) -- don't assume that char is signed (problem on SGI) -- Clear bit buffer when starting a stored block -- no memcpy on Pyramid -- suppressed inftest.c -- optimized fill_window, put longest_match inline for gcc -- optimized inflate on stored blocks. -- untabify all sources to simplify patches - -Changes in 0.91 (2 May 95) -- Default MEM_LEVEL is 8 (not 9 for Unix) as documented in zlib.h -- Document the memory requirements in zconf.h -- added "make install" -- fix sync search logic in inflateSync -- deflate(Z_FULL_FLUSH) now works even if output buffer too short -- after inflateSync, don't scare people with just "lo world" -- added support for DJGPP - -Changes in 0.9 (1 May 95) -- don't assume that zalloc clears the allocated memory (the TurboC bug - was Mark's bug after all :) -- let again gzread copy uncompressed data unchanged (was working in 0.71) -- deflate(Z_FULL_FLUSH), inflateReset and inflateSync are now fully implemented -- added a test of inflateSync in example.c -- moved MAX_WBITS to zconf.h because users might want to change that. -- document explicitly that zalloc(64K) on MSDOS must return a normalized - pointer (zero offset) -- added Makefiles for Microsoft C, Turbo C, Borland C++ -- faster crc32() - -Changes in 0.8 (29 April 95) -- added fast inflate (inffast.c) -- deflate(Z_FINISH) now returns Z_STREAM_END when done. Warning: this - is incompatible with previous versions of zlib which returned Z_OK. -- work around a TurboC compiler bug (bad code for b << 0, see infutil.h) - (actually that was not a compiler bug, see 0.81 above) -- gzread no longer reads one extra byte in certain cases -- In gzio destroy(), don't reference a freed structure -- avoid many warnings for MSDOS -- avoid the ERROR symbol which is used by MS Windows - -Changes in 0.71 (14 April 95) -- Fixed more MSDOS compilation problems :( There is still a bug with - TurboC large model. - -Changes in 0.7 (14 April 95) -- Added full inflate support. -- Simplified the crc32() interface. The pre- and post-conditioning - (one's complement) is now done inside crc32(). WARNING: this is - incompatible with previous versions; see zlib.h for the new usage. - -Changes in 0.61 (12 April 95) -- workaround for a bug in TurboC. example and minigzip now work on MSDOS. - -Changes in 0.6 (11 April 95) -- added minigzip.c -- added gzdopen to reopen a file descriptor as gzFile -- added transparent reading of non-gziped files in gzread. -- fixed bug in gzread (don't read crc as data) -- fixed bug in destroy (gzio.c) (don't return Z_STREAM_END for gzclose). -- don't allocate big arrays in the stack (for MSDOS) -- fix some MSDOS compilation problems - -Changes in 0.5: -- do real compression in deflate.c. Z_PARTIAL_FLUSH is supported but - not yet Z_FULL_FLUSH. -- support decompression but only in a single step (forced Z_FINISH) -- added opaque object for zalloc and zfree. -- added deflateReset and inflateReset -- added a variable zlib_version for consistency checking. -- renamed the 'filter' parameter of deflateInit2 as 'strategy'. - Added Z_FILTERED and Z_HUFFMAN_ONLY constants. - -Changes in 0.4: -- avoid "zip" everywhere, use zlib instead of ziplib. -- suppress Z_BLOCK_FLUSH, interpret Z_PARTIAL_FLUSH as block flush - if compression method == 8. -- added adler32 and crc32 -- renamed deflateOptions as deflateInit2, call one or the other but not both -- added the method parameter for deflateInit2. -- added inflateInit2 -- simplied considerably deflateInit and inflateInit by not supporting - user-provided history buffer. This is supported only in deflateInit2 - and inflateInit2. - -Changes in 0.3: -- prefix all macro names with Z_ -- use Z_FINISH instead of deflateEnd to finish compression. -- added Z_HUFFMAN_ONLY -- added gzerror() diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/FAQ b/org.simantics.modelica/FMUSolution/zlib-1.2.6/FAQ deleted file mode 100644 index 99b7cf92..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/FAQ +++ /dev/null @@ -1,368 +0,0 @@ - - Frequently Asked Questions about zlib - - -If your question is not there, please check the zlib home page -http://zlib.net/ which may have more recent information. -The lastest zlib FAQ is at http://zlib.net/zlib_faq.html - - - 1. Is zlib Y2K-compliant? - - Yes. zlib doesn't handle dates. - - 2. Where can I get a Windows DLL version? - - The zlib sources can be compiled without change to produce a DLL. See the - file win32/DLL_FAQ.txt in the zlib distribution. Pointers to the - precompiled DLL are found in the zlib web site at http://zlib.net/ . - - 3. Where can I get a Visual Basic interface to zlib? - - See - * http://marknelson.us/1997/01/01/zlib-engine/ - * win32/DLL_FAQ.txt in the zlib distribution - - 4. compress() returns Z_BUF_ERROR. - - Make sure that before the call of compress(), the length of the compressed - buffer is equal to the available size of the compressed buffer and not - zero. For Visual Basic, check that this parameter is passed by reference - ("as any"), not by value ("as long"). - - 5. deflate() or inflate() returns Z_BUF_ERROR. - - Before making the call, make sure that avail_in and avail_out are not zero. - When setting the parameter flush equal to Z_FINISH, also make sure that - avail_out is big enough to allow processing all pending input. Note that a - Z_BUF_ERROR is not fatal--another call to deflate() or inflate() can be - made with more input or output space. A Z_BUF_ERROR may in fact be - unavoidable depending on how the functions are used, since it is not - possible to tell whether or not there is more output pending when - strm.avail_out returns with zero. See http://zlib.net/zlib_how.html for a - heavily annotated example. - - 6. Where's the zlib documentation (man pages, etc.)? - - It's in zlib.h . Examples of zlib usage are in the files test/example.c - and test/minigzip.c, with more in examples/ . - - 7. Why don't you use GNU autoconf or libtool or ...? - - Because we would like to keep zlib as a very small and simple package. - zlib is rather portable and doesn't need much configuration. - - 8. I found a bug in zlib. - - Most of the time, such problems are due to an incorrect usage of zlib. - Please try to reproduce the problem with a small program and send the - corresponding source to us at zlib@gzip.org . Do not send multi-megabyte - data files without prior agreement. - - 9. Why do I get "undefined reference to gzputc"? - - If "make test" produces something like - - example.o(.text+0x154): undefined reference to `gzputc' - - check that you don't have old files libz.* in /usr/lib, /usr/local/lib or - /usr/X11R6/lib. Remove any old versions, then do "make install". - -10. I need a Delphi interface to zlib. - - See the contrib/delphi directory in the zlib distribution. - -11. Can zlib handle .zip archives? - - Not by itself, no. See the directory contrib/minizip in the zlib - distribution. - -12. Can zlib handle .Z files? - - No, sorry. You have to spawn an uncompress or gunzip subprocess, or adapt - the code of uncompress on your own. - -13. How can I make a Unix shared library? - - By default a shared (and a static) library is built for Unix. So: - - make distclean - ./configure - make - -14. How do I install a shared zlib library on Unix? - - After the above, then: - - make install - - However, many flavors of Unix come with a shared zlib already installed. - Before going to the trouble of compiling a shared version of zlib and - trying to install it, you may want to check if it's already there! If you - can #include , it's there. The -lz option will probably link to - it. You can check the version at the top of zlib.h or with the - ZLIB_VERSION symbol defined in zlib.h . - -15. I have a question about OttoPDF. - - We are not the authors of OttoPDF. The real author is on the OttoPDF web - site: Joel Hainley, jhainley@myndkryme.com. - -16. Can zlib decode Flate data in an Adobe PDF file? - - Yes. See http://www.pdflib.com/ . To modify PDF forms, see - http://sourceforge.net/projects/acroformtool/ . - -17. Why am I getting this "register_frame_info not found" error on Solaris? - - After installing zlib 1.1.4 on Solaris 2.6, running applications using zlib - generates an error such as: - - ld.so.1: rpm: fatal: relocation error: file /usr/local/lib/libz.so: - symbol __register_frame_info: referenced symbol not found - - The symbol __register_frame_info is not part of zlib, it is generated by - the C compiler (cc or gcc). You must recompile applications using zlib - which have this problem. This problem is specific to Solaris. See - http://www.sunfreeware.com for Solaris versions of zlib and applications - using zlib. - -18. Why does gzip give an error on a file I make with compress/deflate? - - The compress and deflate functions produce data in the zlib format, which - is different and incompatible with the gzip format. The gz* functions in - zlib on the other hand use the gzip format. Both the zlib and gzip formats - use the same compressed data format internally, but have different headers - and trailers around the compressed data. - -19. Ok, so why are there two different formats? - - The gzip format was designed to retain the directory information about a - single file, such as the name and last modification date. The zlib format - on the other hand was designed for in-memory and communication channel - applications, and has a much more compact header and trailer and uses a - faster integrity check than gzip. - -20. Well that's nice, but how do I make a gzip file in memory? - - You can request that deflate write the gzip format instead of the zlib - format using deflateInit2(). You can also request that inflate decode the - gzip format using inflateInit2(). Read zlib.h for more details. - -21. Is zlib thread-safe? - - Yes. However any library routines that zlib uses and any application- - provided memory allocation routines must also be thread-safe. zlib's gz* - functions use stdio library routines, and most of zlib's functions use the - library memory allocation routines by default. zlib's *Init* functions - allow for the application to provide custom memory allocation routines. - - Of course, you should only operate on any given zlib or gzip stream from a - single thread at a time. - -22. Can I use zlib in my commercial application? - - Yes. Please read the license in zlib.h. - -23. Is zlib under the GNU license? - - No. Please read the license in zlib.h. - -24. The license says that altered source versions must be "plainly marked". So - what exactly do I need to do to meet that requirement? - - You need to change the ZLIB_VERSION and ZLIB_VERNUM #defines in zlib.h. In - particular, the final version number needs to be changed to "f", and an - identification string should be appended to ZLIB_VERSION. Version numbers - x.x.x.f are reserved for modifications to zlib by others than the zlib - maintainers. For example, if the version of the base zlib you are altering - is "1.2.3.4", then in zlib.h you should change ZLIB_VERNUM to 0x123f, and - ZLIB_VERSION to something like "1.2.3.f-zachary-mods-v3". You can also - update the version strings in deflate.c and inftrees.c. - - For altered source distributions, you should also note the origin and - nature of the changes in zlib.h, as well as in ChangeLog and README, along - with the dates of the alterations. The origin should include at least your - name (or your company's name), and an email address to contact for help or - issues with the library. - - Note that distributing a compiled zlib library along with zlib.h and - zconf.h is also a source distribution, and so you should change - ZLIB_VERSION and ZLIB_VERNUM and note the origin and nature of the changes - in zlib.h as you would for a full source distribution. - -25. Will zlib work on a big-endian or little-endian architecture, and can I - exchange compressed data between them? - - Yes and yes. - -26. Will zlib work on a 64-bit machine? - - Yes. It has been tested on 64-bit machines, and has no dependence on any - data types being limited to 32-bits in length. If you have any - difficulties, please provide a complete problem report to zlib@gzip.org - -27. Will zlib decompress data from the PKWare Data Compression Library? - - No. The PKWare DCL uses a completely different compressed data format than - does PKZIP and zlib. However, you can look in zlib's contrib/blast - directory for a possible solution to your problem. - -28. Can I access data randomly in a compressed stream? - - No, not without some preparation. If when compressing you periodically use - Z_FULL_FLUSH, carefully write all the pending data at those points, and - keep an index of those locations, then you can start decompression at those - points. You have to be careful to not use Z_FULL_FLUSH too often, since it - can significantly degrade compression. Alternatively, you can scan a - deflate stream once to generate an index, and then use that index for - random access. See examples/zran.c . - -29. Does zlib work on MVS, OS/390, CICS, etc.? - - It has in the past, but we have not heard of any recent evidence. There - were working ports of zlib 1.1.4 to MVS, but those links no longer work. - If you know of recent, successful applications of zlib on these operating - systems, please let us know. Thanks. - -30. Is there some simpler, easier to read version of inflate I can look at to - understand the deflate format? - - First off, you should read RFC 1951. Second, yes. Look in zlib's - contrib/puff directory. - -31. Does zlib infringe on any patents? - - As far as we know, no. In fact, that was originally the whole point behind - zlib. Look here for some more information: - - http://www.gzip.org/#faq11 - -32. Can zlib work with greater than 4 GB of data? - - Yes. inflate() and deflate() will process any amount of data correctly. - Each call of inflate() or deflate() is limited to input and output chunks - of the maximum value that can be stored in the compiler's "unsigned int" - type, but there is no limit to the number of chunks. Note however that the - strm.total_in and strm_total_out counters may be limited to 4 GB. These - counters are provided as a convenience and are not used internally by - inflate() or deflate(). The application can easily set up its own counters - updated after each call of inflate() or deflate() to count beyond 4 GB. - compress() and uncompress() may be limited to 4 GB, since they operate in a - single call. gzseek() and gztell() may be limited to 4 GB depending on how - zlib is compiled. See the zlibCompileFlags() function in zlib.h. - - The word "may" appears several times above since there is a 4 GB limit only - if the compiler's "long" type is 32 bits. If the compiler's "long" type is - 64 bits, then the limit is 16 exabytes. - -33. Does zlib have any security vulnerabilities? - - The only one that we are aware of is potentially in gzprintf(). If zlib is - compiled to use sprintf() or vsprintf(), then there is no protection - against a buffer overflow of an 8K string space (or other value as set by - gzbuffer()), other than the caller of gzprintf() assuring that the output - will not exceed 8K. On the other hand, if zlib is compiled to use - snprintf() or vsnprintf(), which should normally be the case, then there is - no vulnerability. The ./configure script will display warnings if an - insecure variation of sprintf() will be used by gzprintf(). Also the - zlibCompileFlags() function will return information on what variant of - sprintf() is used by gzprintf(). - - If you don't have snprintf() or vsnprintf() and would like one, you can - find a portable implementation here: - - http://www.ijs.si/software/snprintf/ - - Note that you should be using the most recent version of zlib. Versions - 1.1.3 and before were subject to a double-free vulnerability, and versions - 1.2.1 and 1.2.2 were subject to an access exception when decompressing - invalid compressed data. - -34. Is there a Java version of zlib? - - Probably what you want is to use zlib in Java. zlib is already included - as part of the Java SDK in the java.util.zip package. If you really want - a version of zlib written in the Java language, look on the zlib home - page for links: http://zlib.net/ . - -35. I get this or that compiler or source-code scanner warning when I crank it - up to maximally-pedantic. Can't you guys write proper code? - - Many years ago, we gave up attempting to avoid warnings on every compiler - in the universe. It just got to be a waste of time, and some compilers - were downright silly as well as contradicted each other. So now, we simply - make sure that the code always works. - -36. Valgrind (or some similar memory access checker) says that deflate is - performing a conditional jump that depends on an uninitialized value. - Isn't that a bug? - - No. That is intentional for performance reasons, and the output of deflate - is not affected. This only started showing up recently since zlib 1.2.x - uses malloc() by default for allocations, whereas earlier versions used - calloc(), which zeros out the allocated memory. Even though the code was - correct, versions 1.2.4 and later was changed to not stimulate these - checkers. - -37. Will zlib read the (insert any ancient or arcane format here) compressed - data format? - - Probably not. Look in the comp.compression FAQ for pointers to various - formats and associated software. - -38. How can I encrypt/decrypt zip files with zlib? - - zlib doesn't support encryption. The original PKZIP encryption is very - weak and can be broken with freely available programs. To get strong - encryption, use GnuPG, http://www.gnupg.org/ , which already includes zlib - compression. For PKZIP compatible "encryption", look at - http://www.info-zip.org/ - -39. What's the difference between the "gzip" and "deflate" HTTP 1.1 encodings? - - "gzip" is the gzip format, and "deflate" is the zlib format. They should - probably have called the second one "zlib" instead to avoid confusion with - the raw deflate compressed data format. While the HTTP 1.1 RFC 2616 - correctly points to the zlib specification in RFC 1950 for the "deflate" - transfer encoding, there have been reports of servers and browsers that - incorrectly produce or expect raw deflate data per the deflate - specification in RFC 1951, most notably Microsoft. So even though the - "deflate" transfer encoding using the zlib format would be the more - efficient approach (and in fact exactly what the zlib format was designed - for), using the "gzip" transfer encoding is probably more reliable due to - an unfortunate choice of name on the part of the HTTP 1.1 authors. - - Bottom line: use the gzip format for HTTP 1.1 encoding. - -40. Does zlib support the new "Deflate64" format introduced by PKWare? - - No. PKWare has apparently decided to keep that format proprietary, since - they have not documented it as they have previous compression formats. In - any case, the compression improvements are so modest compared to other more - modern approaches, that it's not worth the effort to implement. - -41. I'm having a problem with the zip functions in zlib, can you help? - - There are no zip functions in zlib. You are probably using minizip by - Giles Vollant, which is found in the contrib directory of zlib. It is not - part of zlib. In fact none of the stuff in contrib is part of zlib. The - files in there are not supported by the zlib authors. You need to contact - the authors of the respective contribution for help. - -42. The match.asm code in contrib is under the GNU General Public License. - Since it's part of zlib, doesn't that mean that all of zlib falls under the - GNU GPL? - - No. The files in contrib are not part of zlib. They were contributed by - other authors and are provided as a convenience to the user within the zlib - distribution. Each item in contrib has its own license. - -43. Is zlib subject to export controls? What is its ECCN? - - zlib is not subject to export controls, and so is classified as EAR99. - -44. Can you please sign these lengthy legal documents and fax them back to us - so that we can use your software in our product? - - No. Go away. Shoo. diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/INDEX b/org.simantics.modelica/FMUSolution/zlib-1.2.6/INDEX deleted file mode 100644 index 246f5f47..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/INDEX +++ /dev/null @@ -1,67 +0,0 @@ -CMakeLists.txt cmake build file -ChangeLog history of changes -FAQ Frequently Asked Questions about zlib -INDEX this file -Makefile dummy Makefile that tells you to ./configure -Makefile.in template for Unix Makefile -README guess what -configure configure script for Unix -make_vms.com makefile for VMS -test/example.c zlib usages examples for build testing -test/minigzip.c minimal gzip-like functionality for build testing -test/infcover.c inf*.c code coverage for build coverage testing -treebuild.xml XML description of source file dependencies -zconf.h.cmakein zconf.h template for cmake -zconf.h.in zconf.h template for configure -zlib.3 Man page for zlib -zlib.3.pdf Man page in PDF format -zlib.map Linux symbol information -zlib.pc.in Template for pkg-config descriptor -zlib2ansi perl script to convert source files for C++ compilation - -amiga/ makefiles for Amiga SAS C -as400/ makefiles for AS/400 -doc/ documentation for formats and algorithms -msdos/ makefiles for MSDOS -nintendods/ makefile for Nintendo DS -old/ makefiles for various architectures and zlib documentation - files that have not yet been updated for zlib 1.2.x -qnx/ makefiles for QNX -watcom/ makefiles for OpenWatcom -win32/ makefiles for Windows - - zlib public header files (required for library use): -zconf.h -zlib.h - - private source files used to build the zlib library: -adler32.c -compress.c -crc32.c -crc32.h -deflate.c -deflate.h -gzclose.c -gzguts.h -gzlib.c -gzread.c -gzwrite.c -infback.c -inffast.c -inffast.h -inffixed.h -inflate.c -inflate.h -inftrees.c -inftrees.h -trees.c -trees.h -uncompr.c -zutil.c -zutil.h - - source files for sample programs -See examples/README.examples - - unsupported contributions by third parties -See contrib/README.contrib diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/Makefile b/org.simantics.modelica/FMUSolution/zlib-1.2.6/Makefile deleted file mode 100644 index 6bba86c7..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: - -@echo "Please use ./configure first. Thank you." - -distclean: - make -f Makefile.in distclean diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/Makefile.in b/org.simantics.modelica/FMUSolution/zlib-1.2.6/Makefile.in deleted file mode 100644 index ea430bf2..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/Makefile.in +++ /dev/null @@ -1,285 +0,0 @@ -# Makefile for zlib -# Copyright (C) 1995-2011 Jean-loup Gailly. -# For conditions of distribution and use, see copyright notice in zlib.h - -# To compile and test, type: -# ./configure; make test -# Normally configure builds both a static and a shared library. -# If you want to build just a static library, use: ./configure --static - -# To use the asm code, type: -# cp contrib/asm?86/match.S ./match.S -# make LOC=-DASMV OBJA=match.o - -# To install /usr/local/lib/libz.* and /usr/local/include/zlib.h, type: -# make install -# To install in $HOME instead of /usr/local, use: -# make install prefix=$HOME - -CC=cc - -CFLAGS=-O -#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 -#CFLAGS=-g -DDEBUG -#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \ -# -Wstrict-prototypes -Wmissing-prototypes - -SFLAGS=-O -LDFLAGS= -TEST_LDFLAGS=-L. libz.a -LDSHARED=$(CC) -CPP=$(CC) -E - -STATICLIB=libz.a -SHAREDLIB=libz.so -SHAREDLIBV=libz.so.1.2.6 -SHAREDLIBM=libz.so.1 -LIBS=$(STATICLIB) $(SHAREDLIBV) - -AR=ar -ARFLAGS=rc -RANLIB=ranlib -LDCONFIG=ldconfig -LDSHAREDLIBC=-lc -TAR=tar -SHELL=/bin/sh -EXE= - -prefix = /usr/local -exec_prefix = ${prefix} -libdir = ${exec_prefix}/lib -sharedlibdir = ${libdir} -includedir = ${prefix}/include -mandir = ${prefix}/share/man -man3dir = ${mandir}/man3 -pkgconfigdir = ${libdir}/pkgconfig -tempfile := $(shell mktemp -u __XXXXXX) - -OBJZ = adler32.o crc32.o deflate.o infback.o inffast.o inflate.o inftrees.o trees.o zutil.o -OBJG = compress.o uncompr.o gzclose.o gzlib.o gzread.o gzwrite.o -OBJC = $(OBJZ) $(OBJG) - -PIC_OBJZ = adler32.lo crc32.lo deflate.lo infback.lo inffast.lo inflate.lo inftrees.lo trees.lo zutil.lo -PIC_OBJG = compress.lo uncompr.lo gzclose.lo gzlib.lo gzread.lo gzwrite.lo -PIC_OBJC = $(PIC_OBJZ) $(PIC_OBJG) - -# to use the asm code: make OBJA=match.o, PIC_OBJA=match.lo -OBJA = -PIC_OBJA = - -OBJS = $(OBJC) $(OBJA) - -PIC_OBJS = $(PIC_OBJC) $(PIC_OBJA) - -all: static shared - -static: example$(EXE) minigzip$(EXE) - -shared: examplesh$(EXE) minigzipsh$(EXE) - -all64: example64$(EXE) minigzip64$(EXE) - -check: test - -test: all teststatic testshared - -teststatic: static - @if echo hello world | ./minigzip | ./minigzip -d && ./example; then \ - echo ' *** zlib test OK ***'; \ - else \ - echo ' *** zlib test FAILED ***'; false; \ - fi - -@rm -f foo.gz - -testshared: shared - @LD_LIBRARY_PATH=`pwd`:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \ - LD_LIBRARYN32_PATH=`pwd`:$(LD_LIBRARYN32_PATH) ; export LD_LIBRARYN32_PATH; \ - DYLD_LIBRARY_PATH=`pwd`:$(DYLD_LIBRARY_PATH) ; export DYLD_LIBRARY_PATH; \ - SHLIB_PATH=`pwd`:$(SHLIB_PATH) ; export SHLIB_PATH; \ - if echo hello world | ./minigzipsh | ./minigzipsh -d && ./examplesh; then \ - echo ' *** zlib shared test OK ***'; \ - else \ - echo ' *** zlib shared test FAILED ***'; false; \ - fi - -@rm -f foo.gz - -test64: all64 - @if echo hello world | ./minigzip64 | ./minigzip64 -d && ./example64; then \ - echo ' *** zlib 64-bit test OK ***'; \ - else \ - echo ' *** zlib 64-bit test FAILED ***'; false; \ - fi - -@rm -f foo.gz - -infcover.o: test/infcover.c zlib.h zconf.h - $(CC) $(CFLAGS) -I. -c -o $@ test/infcover.c - -infcover: infcover.o libz.a - $(CC) $(CFLAGS) -o $@ infcover.o libz.a - -cover: infcover - rm -f *.gcda - ./infcover - gcov inf*.c - -libz.a: $(OBJS) - $(AR) $(ARFLAGS) $@ $(OBJS) - -@ ($(RANLIB) $@ || true) >/dev/null 2>&1 - -match.o: match.S - $(CPP) match.S > _match.s - $(CC) -c _match.s - mv _match.o match.o - rm -f _match.s - -match.lo: match.S - $(CPP) match.S > _match.s - $(CC) -c -fPIC _match.s - mv _match.o match.lo - rm -f _match.s - -example.o: test/example.c zlib.h zconf.h - $(CC) $(CFLAGS) -I. -c -o $@ test/example.c - -minigzip.o: test/minigzip.c zlib.h zconf.h - $(CC) $(CFLAGS) -I. -c -o $@ test/minigzip.c - -example64.o: test/example.c zlib.h zconf.h - $(CC) $(CFLAGS) -I. -D_FILE_OFFSET_BITS=64 -c -o $@ test/example.c - -minigzip64.o: test/minigzip.c zlib.h zconf.h - $(CC) $(CFLAGS) -I. -D_FILE_OFFSET_BITS=64 -c -o $@ test/minigzip.c - -.SUFFIXES: .lo - -.c.lo: - -@mkdir objs 2>/dev/null || test -d objs - $(CC) $(SFLAGS) -DPIC -c -o objs/$*.o $< - -@mv objs/$*.o $@ - -placebo $(SHAREDLIBV): $(PIC_OBJS) libz.a - $(LDSHARED) $(SFLAGS) -o $@ $(PIC_OBJS) $(LDSHAREDLIBC) $(LDFLAGS) - rm -f $(SHAREDLIB) $(SHAREDLIBM) - ln -s $@ $(SHAREDLIB) - ln -s $@ $(SHAREDLIBM) - -@rmdir objs - -example$(EXE): example.o $(STATICLIB) - $(CC) $(CFLAGS) -o $@ example.o $(TEST_LDFLAGS) - -minigzip$(EXE): minigzip.o $(STATICLIB) - $(CC) $(CFLAGS) -o $@ minigzip.o $(TEST_LDFLAGS) - -examplesh$(EXE): example.o $(SHAREDLIBV) - $(CC) $(CFLAGS) -o $@ example.o -L. $(SHAREDLIBV) - -minigzipsh$(EXE): minigzip.o $(SHAREDLIBV) - $(CC) $(CFLAGS) -o $@ minigzip.o -L. $(SHAREDLIBV) - -example64$(EXE): example64.o $(STATICLIB) - $(CC) $(CFLAGS) -o $@ example64.o $(TEST_LDFLAGS) - -minigzip64$(EXE): minigzip64.o $(STATICLIB) - $(CC) $(CFLAGS) -o $@ minigzip64.o $(TEST_LDFLAGS) - -install-libs: $(LIBS) - -@if [ ! -d $(DESTDIR)$(exec_prefix) ]; then mkdir -p $(DESTDIR)$(exec_prefix); fi - -@if [ ! -d $(DESTDIR)$(libdir) ]; then mkdir -p $(DESTDIR)$(libdir); fi - -@if [ ! -d $(DESTDIR)$(sharedlibdir) ]; then mkdir -p $(DESTDIR)$(sharedlibdir); fi - -@if [ ! -d $(DESTDIR)$(man3dir) ]; then mkdir -p $(DESTDIR)$(man3dir); fi - -@if [ ! -d $(DESTDIR)$(pkgconfigdir) ]; then mkdir -p $(DESTDIR)$(pkgconfigdir); fi - cp $(STATICLIB) $(DESTDIR)$(libdir) - chmod 644 $(DESTDIR)$(libdir)/$(STATICLIB) - -@($(RANLIB) $(DESTDIR)$(libdir)/libz.a || true) >/dev/null 2>&1 - -@if test -n "$(SHAREDLIBV)"; then \ - cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir); \ - echo "cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)"; \ - chmod 755 $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBV); \ - echo "chmod 755 $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBV)"; \ - rm -f $(DESTDIR)$(sharedlibdir)/$(SHAREDLIB) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBM); \ - ln -s $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIB); \ - ln -s $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBM); \ - ($(LDCONFIG) || true) >/dev/null 2>&1; \ - fi - cp zlib.3 $(DESTDIR)$(man3dir) - chmod 644 $(DESTDIR)$(man3dir)/zlib.3 - cp zlib.pc $(DESTDIR)$(pkgconfigdir) - chmod 644 $(DESTDIR)$(pkgconfigdir)/zlib.pc -# The ranlib in install is needed on NeXTSTEP which checks file times -# ldconfig is for Linux - -install: install-libs - -@if [ ! -d $(DESTDIR)$(includedir) ]; then mkdir -p $(DESTDIR)$(includedir); fi - cp zlib.h zconf.h $(DESTDIR)$(includedir) - chmod 644 $(DESTDIR)$(includedir)/zlib.h $(DESTDIR)$(includedir)/zconf.h - -uninstall: - cd $(DESTDIR)$(includedir); rm -f zlib.h zconf.h - cd $(DESTDIR)$(libdir); rm -f libz.a; \ - if test -n "$(SHAREDLIBV)" -a -f $(SHAREDLIBV); then \ - rm -f $(SHAREDLIBV) $(SHAREDLIB) $(SHAREDLIBM); \ - fi - cd $(DESTDIR)$(man3dir); rm -f zlib.3 - cd $(DESTDIR)$(pkgconfigdir); rm -f zlib.pc - -docs: zlib.3.pdf - -zlib.3.pdf: zlib.3 - groff -mandoc -f H -T ps zlib.3 | ps2pdf - zlib.3.pdf - -zconf.h.cmakein: zconf.h.in - -@echo "/#define ZCONF_H/ a\\\\\n#cmakedefine Z_PREFIX\\\\\n#cmakedefine Z_HAVE_UNISTD_H\n" > $(tempfile) - -@sed -f $(tempfile) zconf.h.in > zconf.h.cmakein - -@touch -r zconf.h.in zconf.h.cmakein - -@rm $(tempfile) - -zconf: zconf.h.in - cp -p zconf.h.in zconf.h - -mostlyclean: clean -clean: - rm -f *.o *.lo *~ \ - example$(EXE) minigzip$(EXE) examplesh$(EXE) minigzipsh$(EXE) \ - example64$(EXE) minigzip64$(EXE) \ - infcover \ - libz.* foo.gz so_locations \ - _match.s maketree contrib/infback9/*.o - rm -rf objs - rm -f *.gcda *.gcno *.gcov - rm -f contrib/infback9/*.gcda contrib/infback9/*.gcno contrib/infback9/*.gcov - -maintainer-clean: distclean -distclean: clean zconf zconf.h.cmakein docs - rm -f Makefile zlib.pc configure.log - -@rm -f .DS_Store - -@printf 'all:\n\t-@echo "Please use ./configure first. Thank you."\n' > Makefile - -@printf '\ndistclean:\n\tmake -f Makefile.in distclean\n' >> Makefile - -@touch -r Makefile.in Makefile - -tags: - etags *.[ch] - -depend: - makedepend -- $(CFLAGS) -- *.[ch] - -# DO NOT DELETE THIS LINE -- make depend depends on it. - -adler32.o zutil.o: zutil.h zlib.h zconf.h -gzclose.o gzlib.o gzread.o gzwrite.o: zlib.h zconf.h gzguts.h -compress.o example.o minigzip.o uncompr.o: zlib.h zconf.h -crc32.o: zutil.h zlib.h zconf.h crc32.h -deflate.o: deflate.h zutil.h zlib.h zconf.h -infback.o inflate.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h inffixed.h -inffast.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h -inftrees.o: zutil.h zlib.h zconf.h inftrees.h -trees.o: deflate.h zutil.h zlib.h zconf.h trees.h - -adler32.lo zutil.lo: zutil.h zlib.h zconf.h -gzclose.lo gzlib.lo gzread.lo gzwrite.lo: zlib.h zconf.h gzguts.h -compress.lo example.lo minigzip.lo uncompr.lo: zlib.h zconf.h -crc32.lo: zutil.h zlib.h zconf.h crc32.h -deflate.lo: deflate.h zutil.h zlib.h zconf.h -infback.lo inflate.lo: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h inffixed.h -inffast.lo: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h -inftrees.lo: zutil.h zlib.h zconf.h inftrees.h -trees.lo: deflate.h zutil.h zlib.h zconf.h trees.h diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/README b/org.simantics.modelica/FMUSolution/zlib-1.2.6/README deleted file mode 100644 index 09070e2c..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/README +++ /dev/null @@ -1,115 +0,0 @@ -ZLIB DATA COMPRESSION LIBRARY - -zlib 1.2.6 is a general purpose data compression library. All the code is -thread safe. The data format used by the zlib library is described by RFCs -(Request for Comments) 1950 to 1952 in the files -http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and -rfc1952 (gzip format). - -All functions of the compression library are documented in the file zlib.h -(volunteer to write man pages welcome, contact zlib@gzip.org). A usage example -of the library is given in the file test/example.c which also tests that -the library is working correctly. Another example is given in the file -test/minigzip.c. The compression library itself is composed of all source -files in the root directory. - -To compile all files and run the test program, follow the instructions given at -the top of Makefile.in. In short "./configure; make test", and if that goes -well, "make install" should work for most flavors of Unix. For Windows, use -one of the special makefiles in win32/ or contrib/vstudio/ . For VMS, use -make_vms.com. - -Questions about zlib should be sent to , or to Gilles Vollant - for the Windows DLL version. The zlib home page is -http://zlib.net/ . Before reporting a problem, please check this site to -verify that you have the latest version of zlib; otherwise get the latest -version and check whether the problem still exists or not. - -PLEASE read the zlib FAQ http://zlib.net/zlib_faq.html before asking for help. - -Mark Nelson wrote an article about zlib for the Jan. 1997 -issue of Dr. Dobb's Journal; a copy of the article is available at -http://marknelson.us/1997/01/01/zlib-engine/ . - -The changes made in version 1.2.6 are documented in the file ChangeLog. - -Unsupported third party contributions are provided in directory contrib/ . - -zlib is available in Java using the java.util.zip package, documented at -http://java.sun.com/developer/technicalArticles/Programming/compression/ . - -A Perl interface to zlib written by Paul Marquess is available -at CPAN (Comprehensive Perl Archive Network) sites, including -http://search.cpan.org/~pmqs/IO-Compress-Zlib/ . - -A Python interface to zlib written by A.M. Kuchling is -available in Python 1.5 and later versions, see -http://docs.python.org/library/zlib.html . - -zlib is built into tcl: http://wiki.tcl.tk/4610 . - -An experimental package to read and write files in .zip format, written on top -of zlib by Gilles Vollant , is available in the -contrib/minizip directory of zlib. - - -Notes for some targets: - -- For Windows DLL versions, please see win32/DLL_FAQ.txt - -- For 64-bit Irix, deflate.c must be compiled without any optimization. With - -O, one libpng test fails. The test works in 32 bit mode (with the -n32 - compiler flag). The compiler bug has been reported to SGI. - -- zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1 it works - when compiled with cc. - -- On Digital Unix 4.0D (formely OSF/1) on AlphaServer, the cc option -std1 is - necessary to get gzprintf working correctly. This is done by configure. - -- zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works with - other compilers. Use "make test" to check your compiler. - -- gzdopen is not supported on RISCOS or BEOS. - -- For PalmOs, see http://palmzlib.sourceforge.net/ - - -Acknowledgments: - - The deflate format used by zlib was defined by Phil Katz. The deflate and - zlib specifications were written by L. Peter Deutsch. Thanks to all the - people who reported problems and suggested various improvements in zlib; they - are too numerous to cite here. - -Copyright notice: - - (C) 1995-2012 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu - -If you use the zlib library in a product, we would appreciate *not* receiving -lengthy legal documents to sign. The sources are provided for free but without -warranty of any kind. The library has been entirely written by Jean-loup -Gailly and Mark Adler; it does not include third-party code. - -If you redistribute modified sources, we would appreciate that you include in -the file ChangeLog history information documenting your changes. Please read -the FAQ for more information on the distribution of modified source versions. diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/adler32.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/adler32.c deleted file mode 100644 index a868f073..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/adler32.c +++ /dev/null @@ -1,179 +0,0 @@ -/* adler32.c -- compute the Adler-32 checksum of a data stream - * Copyright (C) 1995-2011 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* @(#) $Id$ */ - -#include "zutil.h" - -#define local static - -local uLong adler32_combine_ OF((uLong adler1, uLong adler2, z_off64_t len2)); - -#define BASE 65521 /* largest prime smaller than 65536 */ -#define NMAX 5552 -/* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */ - -#define DO1(buf,i) {adler += (buf)[i]; sum2 += adler;} -#define DO2(buf,i) DO1(buf,i); DO1(buf,i+1); -#define DO4(buf,i) DO2(buf,i); DO2(buf,i+2); -#define DO8(buf,i) DO4(buf,i); DO4(buf,i+4); -#define DO16(buf) DO8(buf,0); DO8(buf,8); - -/* use NO_DIVIDE if your processor does not do division in hardware -- - try it both ways to see which is faster */ -#ifdef NO_DIVIDE -/* note that this assumes BASE is 65521, where 65536 % 65521 == 15 - (thank you to John Reiser for pointing this out) */ -# define CHOP(a) \ - do { \ - unsigned long tmp = a >> 16; \ - a &= 0xffffUL; \ - a += (tmp << 4) - tmp; \ - } while (0) -# define MOD28(a) \ - do { \ - CHOP(a); \ - if (a >= BASE) a -= BASE; \ - } while (0) -# define MOD(a) \ - do { \ - CHOP(a); \ - MOD28(a); \ - } while (0) -# define MOD63(a) \ - do { /* this assumes a is not negative */ \ - z_off64_t tmp = a >> 32; \ - a &= 0xffffffffL; \ - a += (tmp << 8) - (tmp << 5) + tmp; \ - tmp = a >> 16; \ - a &= 0xffffL; \ - a += (tmp << 4) - tmp; \ - tmp = a >> 16; \ - a &= 0xffffL; \ - a += (tmp << 4) - tmp; \ - if (a >= BASE) a -= BASE; \ - } while (0) -#else -# define MOD(a) a %= BASE -# define MOD28(a) a %= BASE -# define MOD63(a) a %= BASE -#endif - -/* ========================================================================= */ -uLong ZEXPORT adler32(adler, buf, len) - uLong adler; - const Bytef *buf; - uInt len; -{ - unsigned long sum2; - unsigned n; - - /* split Adler-32 into component sums */ - sum2 = (adler >> 16) & 0xffff; - adler &= 0xffff; - - /* in case user likes doing a byte at a time, keep it fast */ - if (len == 1) { - adler += buf[0]; - if (adler >= BASE) - adler -= BASE; - sum2 += adler; - if (sum2 >= BASE) - sum2 -= BASE; - return adler | (sum2 << 16); - } - - /* initial Adler-32 value (deferred check for len == 1 speed) */ - if (buf == Z_NULL) - return 1L; - - /* in case short lengths are provided, keep it somewhat fast */ - if (len < 16) { - while (len--) { - adler += *buf++; - sum2 += adler; - } - if (adler >= BASE) - adler -= BASE; - MOD28(sum2); /* only added so many BASE's */ - return adler | (sum2 << 16); - } - - /* do length NMAX blocks -- requires just one modulo operation */ - while (len >= NMAX) { - len -= NMAX; - n = NMAX / 16; /* NMAX is divisible by 16 */ - do { - DO16(buf); /* 16 sums unrolled */ - buf += 16; - } while (--n); - MOD(adler); - MOD(sum2); - } - - /* do remaining bytes (less than NMAX, still just one modulo) */ - if (len) { /* avoid modulos if none remaining */ - while (len >= 16) { - len -= 16; - DO16(buf); - buf += 16; - } - while (len--) { - adler += *buf++; - sum2 += adler; - } - MOD(adler); - MOD(sum2); - } - - /* return recombined sums */ - return adler | (sum2 << 16); -} - -/* ========================================================================= */ -local uLong adler32_combine_(adler1, adler2, len2) - uLong adler1; - uLong adler2; - z_off64_t len2; -{ - unsigned long sum1; - unsigned long sum2; - unsigned rem; - - /* for negative len, return invalid adler32 as a clue for debugging */ - if (len2 < 0) - return 0xffffffffUL; - - /* the derivation of this formula is left as an exercise for the reader */ - MOD63(len2); /* assumes len2 >= 0 */ - rem = (unsigned)len2; - sum1 = adler1 & 0xffff; - sum2 = rem * sum1; - MOD(sum2); - sum1 += (adler2 & 0xffff) + BASE - 1; - sum2 += ((adler1 >> 16) & 0xffff) + ((adler2 >> 16) & 0xffff) + BASE - rem; - if (sum1 >= BASE) sum1 -= BASE; - if (sum1 >= BASE) sum1 -= BASE; - if (sum2 >= (BASE << 1)) sum2 -= (BASE << 1); - if (sum2 >= BASE) sum2 -= BASE; - return sum1 | (sum2 << 16); -} - -/* ========================================================================= */ -uLong ZEXPORT adler32_combine(adler1, adler2, len2) - uLong adler1; - uLong adler2; - z_off_t len2; -{ - return adler32_combine_(adler1, adler2, len2); -} - -uLong ZEXPORT adler32_combine64(adler1, adler2, len2) - uLong adler1; - uLong adler2; - z_off64_t len2; -{ - return adler32_combine_(adler1, adler2, len2); -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/amiga/Makefile.pup b/org.simantics.modelica/FMUSolution/zlib-1.2.6/amiga/Makefile.pup deleted file mode 100644 index 8940c120..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/amiga/Makefile.pup +++ /dev/null @@ -1,69 +0,0 @@ -# Amiga powerUP (TM) Makefile -# makefile for libpng and SAS C V6.58/7.00 PPC compiler -# Copyright (C) 1998 by Andreas R. Kleinert - -LIBNAME = libzip.a - -CC = scppc -CFLAGS = NOSTKCHK NOSINT OPTIMIZE OPTGO OPTPEEP OPTINLOCAL OPTINL \ - OPTLOOP OPTRDEP=8 OPTDEP=8 OPTCOMP=8 NOVER -AR = ppc-amigaos-ar cr -RANLIB = ppc-amigaos-ranlib -LD = ppc-amigaos-ld -r -LDFLAGS = -o -LDLIBS = LIB:scppc.a LIB:end.o -RM = delete quiet - -OBJS = adler32.o compress.o crc32.o gzclose.o gzlib.o gzread.o gzwrite.o \ - uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o - -TEST_OBJS = example.o minigzip.o - -all: example minigzip - -check: test -test: all - example - echo hello world | minigzip | minigzip -d - -$(LIBNAME): $(OBJS) - $(AR) $@ $(OBJS) - -$(RANLIB) $@ - -example: example.o $(LIBNAME) - $(LD) $(LDFLAGS) $@ LIB:c_ppc.o $@.o $(LIBNAME) $(LDLIBS) - -minigzip: minigzip.o $(LIBNAME) - $(LD) $(LDFLAGS) $@ LIB:c_ppc.o $@.o $(LIBNAME) $(LDLIBS) - -mostlyclean: clean -clean: - $(RM) *.o example minigzip $(LIBNAME) foo.gz - -zip: - zip -ul9 zlib README ChangeLog Makefile Make????.??? Makefile.?? \ - descrip.mms *.[ch] - -tgz: - cd ..; tar cfz zlib/zlib.tgz zlib/README zlib/ChangeLog zlib/Makefile \ - zlib/Make????.??? zlib/Makefile.?? zlib/descrip.mms zlib/*.[ch] - -# DO NOT DELETE THIS LINE -- make depend depends on it. - -adler32.o: zlib.h zconf.h -compress.o: zlib.h zconf.h -crc32.o: crc32.h zlib.h zconf.h -deflate.o: deflate.h zutil.h zlib.h zconf.h -example.o: zlib.h zconf.h -gzclose.o: zlib.h zconf.h gzguts.h -gzlib.o: zlib.h zconf.h gzguts.h -gzread.o: zlib.h zconf.h gzguts.h -gzwrite.o: zlib.h zconf.h gzguts.h -inffast.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h -inflate.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h -infback.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h -inftrees.o: zutil.h zlib.h zconf.h inftrees.h -minigzip.o: zlib.h zconf.h -trees.o: deflate.h zutil.h zlib.h zconf.h trees.h -uncompr.o: zlib.h zconf.h -zutil.o: zutil.h zlib.h zconf.h diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/amiga/Makefile.sas b/org.simantics.modelica/FMUSolution/zlib-1.2.6/amiga/Makefile.sas deleted file mode 100644 index 749e2915..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/amiga/Makefile.sas +++ /dev/null @@ -1,68 +0,0 @@ -# SMakefile for zlib -# Modified from the standard UNIX Makefile Copyright Jean-loup Gailly -# Osma Ahvenlampi -# Amiga, SAS/C 6.56 & Smake - -CC=sc -CFLAGS=OPT -#CFLAGS=OPT CPU=68030 -#CFLAGS=DEBUG=LINE -LDFLAGS=LIB z.lib - -SCOPTIONS=OPTSCHED OPTINLINE OPTALIAS OPTTIME OPTINLOCAL STRMERGE \ - NOICONS PARMS=BOTH NOSTACKCHECK UTILLIB NOVERSION ERRORREXX \ - DEF=POSTINC - -OBJS = adler32.o compress.o crc32.o gzclose.o gzlib.o gzread.o gzwrite.o \ - uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o - -TEST_OBJS = example.o minigzip.o - -all: SCOPTIONS example minigzip - -check: test -test: all - example - echo hello world | minigzip | minigzip -d - -install: z.lib - copy clone zlib.h zconf.h INCLUDE: - copy clone z.lib LIB: - -z.lib: $(OBJS) - oml z.lib r $(OBJS) - -example: example.o z.lib - $(CC) $(CFLAGS) LINK TO $@ example.o $(LDFLAGS) - -minigzip: minigzip.o z.lib - $(CC) $(CFLAGS) LINK TO $@ minigzip.o $(LDFLAGS) - -mostlyclean: clean -clean: - -delete force quiet example minigzip *.o z.lib foo.gz *.lnk SCOPTIONS - -SCOPTIONS: Makefile.sas - copy to $@ 64K on 16-bit machine: */ - if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR; -#endif - stream.next_out = dest; - stream.avail_out = (uInt)*destLen; - if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR; - - stream.zalloc = (alloc_func)0; - stream.zfree = (free_func)0; - stream.opaque = (voidpf)0; - - err = deflateInit(&stream, level); - if (err != Z_OK) return err; - - err = deflate(&stream, Z_FINISH); - if (err != Z_STREAM_END) { - deflateEnd(&stream); - return err == Z_OK ? Z_BUF_ERROR : err; - } - *destLen = stream.total_out; - - err = deflateEnd(&stream); - return err; -} - -/* =========================================================================== - */ -int ZEXPORT compress (dest, destLen, source, sourceLen) - Bytef *dest; - uLongf *destLen; - const Bytef *source; - uLong sourceLen; -{ - return compress2(dest, destLen, source, sourceLen, Z_DEFAULT_COMPRESSION); -} - -/* =========================================================================== - If the default memLevel or windowBits for deflateInit() is changed, then - this function needs to be updated. - */ -uLong ZEXPORT compressBound (sourceLen) - uLong sourceLen; -{ - return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) + - (sourceLen >> 25) + 13; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/configure b/org.simantics.modelica/FMUSolution/zlib-1.2.6/configure deleted file mode 100644 index 780317ce..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/configure +++ /dev/null @@ -1,720 +0,0 @@ -#!/bin/sh -# configure script for zlib. -# -# Normally configure builds both a static and a shared library. -# If you want to build just a static library, use: ./configure --static -# -# To impose specific compiler or flags or install directory, use for example: -# prefix=$HOME CC=cc CFLAGS="-O4" ./configure -# or for csh/tcsh users: -# (setenv prefix $HOME; setenv CC cc; setenv CFLAGS "-O4"; ./configure) - -# Incorrect settings of CC or CFLAGS may prevent creating a shared library. -# If you have problems, try without defining CC and CFLAGS before reporting -# an error. - -echo -------------------- >> configure.log -echo $0 $* >> configure.log -date >> configure.log - -if [ -n "${CHOST}" ]; then - uname="`echo "${CHOST}" | sed -e 's/^[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)-.*$/\1/'`" - CROSS_PREFIX="${CHOST}-" -fi - -STATICLIB=libz.a -VER=`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h` -VER3=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\\.[0-9]*\).*/\1/p' < zlib.h` -VER2=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\)\\..*/\1/p' < zlib.h` -VER1=`sed -n -e '/VERSION "/s/.*"\([0-9]*\)\\..*/\1/p' < zlib.h` -if "${CROSS_PREFIX}ar" --version >/dev/null 2>/dev/null || test $? -lt 126; then - AR=${AR-"${CROSS_PREFIX}ar"} - test -n "${CROSS_PREFIX}" && echo Using ${AR} | tee -a configure.log -else - AR=${AR-"ar"} - test -n "${CROSS_PREFIX}" && echo Using ${AR} | tee -a configure.log -fi -ARFLAGS=${ARFLAGS-"rc"} -if "${CROSS_PREFIX}ranlib" --version >/dev/null 2>/dev/null || test $? -lt 126; then - RANLIB=${RANLIB-"${CROSS_PREFIX}ranlib"} - test -n "${CROSS_PREFIX}" && echo Using ${RANLIB} | tee -a configure.log -else - RANLIB=${RANLIB-"ranlib"} -fi -if "${CROSS_PREFIX}nm" --version >/dev/null 2>/dev/null || test $? -lt 126; then - NM=${NM-"${CROSS_PREFIX}nm"} - test -n "${CROSS_PREFIX}" && echo Using ${NM} | tee -a configure.log -else - NM=${NM-"nm"} -fi -LDCONFIG=${LDCONFIG-"ldconfig"} -LDSHAREDLIBC="${LDSHAREDLIBC--lc}" -ARCHS= -prefix=${prefix-/usr/local} -exec_prefix=${exec_prefix-'${prefix}'} -libdir=${libdir-'${exec_prefix}/lib'} -sharedlibdir=${sharedlibdir-'${libdir}'} -includedir=${includedir-'${prefix}/include'} -mandir=${mandir-'${prefix}/share/man'} -shared_ext='.so' -shared=1 -solo=0 -cover=0 -zprefix=0 -build64=0 -gcc=0 -old_cc="$CC" -old_cflags="$CFLAGS" -OBJC='$(OBJZ) $(OBJG)' -PIC_OBJC='$(PIC_OBJZ) $(PIC_OBJG)' - -while test $# -ge 1 -do -case "$1" in - -h* | --help) - echo 'usage:' | tee -a configure.log - echo ' configure [--zprefix] [--prefix=PREFIX] [--eprefix=EXPREFIX]' | tee -a configure.log - echo ' [--static] [--64] [--libdir=LIBDIR] [--sharedlibdir=LIBDIR]' | tee -a configure.log - echo ' [--includedir=INCLUDEDIR] [--archs="-arch i386 -arch x86_64"]' | tee -a configure.log - exit 0 ;; - -p*=* | --prefix=*) prefix=`echo $1 | sed 's/.*=//'`; shift ;; - -e*=* | --eprefix=*) exec_prefix=`echo $1 | sed 's/.*=//'`; shift ;; - -l*=* | --libdir=*) libdir=`echo $1 | sed 's/.*=//'`; shift ;; - --sharedlibdir=*) sharedlibdir=`echo $1 | sed 's/.*=//'`; shift ;; - -i*=* | --includedir=*) includedir=`echo $1 | sed 's/.*=//'`;shift ;; - -u*=* | --uname=*) uname=`echo $1 | sed 's/.*=//'`;shift ;; - -p* | --prefix) prefix="$2"; shift; shift ;; - -e* | --eprefix) exec_prefix="$2"; shift; shift ;; - -l* | --libdir) libdir="$2"; shift; shift ;; - -i* | --includedir) includedir="$2"; shift; shift ;; - -s* | --shared | --enable-shared) shared=1; shift ;; - -t | --static) shared=0; shift ;; - --solo) solo=1; shift ;; - --cover) cover=1; shift ;; - -z* | --zprefix) zprefix=1; shift ;; - -6* | --64) build64=1; shift ;; - -a*=* | --archs=*) ARCHS=`echo $1 | sed 's/.*=//'`; shift ;; - --sysconfdir=*) echo "ignored option: --sysconfdir" | tee -a configure.log; shift ;; - --localstatedir=*) echo "ignored option: --localstatedir" | tee -a configure.log; shift ;; - *) echo "unknown option: $1"; echo "$0 --help for help" | tee -a configure.log; exit 1 ;; - esac -done - -test=ztest$$ - -show() -{ - case "$*" in - *$test.c*) - echo === $test.c === >> configure.log - cat $test.c >> configure.log - echo === >> configure.log;; - esac - echo $* >> configure.log -} - -cat > $test.c </dev/null; then - try() - { - show $* - test "`( $* ) 2>&1 | tee -a configure.log`" = "" - } - echo - using any output from compiler to indicate an error >> configure.log -else - try() - { - show $* - ( $* ) >> configure.log 2>&1 - ret=$? - if test $ret -ne 0; then - echo "(exit code "$ret")" >> configure.log - fi - return $ret - } -fi - -echo >> configure.log - -cat > $test.c <&1` in - *gcc*) gcc=1 ;; -esac - -show $cc -c $cflags $test.c -if test "$gcc" -eq 1 && ($cc -c $cflags $test.c) >> configure.log 2>&1; then - echo ... using gcc >> configure.log - CC="$cc" - CFLAGS="${CFLAGS--O3} ${ARCHS}" - SFLAGS="${CFLAGS--O3} -fPIC" - LDFLAGS="${LDFLAGS} ${ARCHS}" - if test $build64 -eq 1; then - CFLAGS="${CFLAGS} -m64" - SFLAGS="${SFLAGS} -m64" - fi - if test "${ZLIBGCCWARN}" = "YES"; then - CFLAGS="${CFLAGS} -Wall -Wextra -pedantic" - fi - if test -z "$uname"; then - uname=`(uname -s || echo unknown) 2>/dev/null` - fi - case "$uname" in - Linux* | linux* | GNU | GNU/* | solaris*) - LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"} ;; - *BSD | *bsd* | DragonFly) - LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"} - LDCONFIG="ldconfig -m" ;; - CYGWIN* | Cygwin* | cygwin* | OS/2*) - EXE='.exe' ;; - MINGW* | mingw*) -# temporary bypass - rm -f $test.[co] $test $test$shared_ext - echo "Please use win32/Makefile.gcc instead." | tee -a configure.log - exit 1 - LDSHARED=${LDSHARED-"$cc -shared"} - LDSHAREDLIBC="" - EXE='.exe' ;; - QNX*) # This is for QNX6. I suppose that the QNX rule below is for QNX2,QNX4 - # (alain.bonnefoy@icbt.com) - LDSHARED=${LDSHARED-"$cc -shared -Wl,-hlibz.so.1"} ;; - HP-UX*) - LDSHARED=${LDSHARED-"$cc -shared $SFLAGS"} - case `(uname -m || echo unknown) 2>/dev/null` in - ia64) - shared_ext='.so' - SHAREDLIB='libz.so' ;; - *) - shared_ext='.sl' - SHAREDLIB='libz.sl' ;; - esac ;; - Darwin* | darwin*) - shared_ext='.dylib' - SHAREDLIB=libz$shared_ext - SHAREDLIBV=libz.$VER$shared_ext - SHAREDLIBM=libz.$VER1$shared_ext - LDSHARED=${LDSHARED-"$cc -dynamiclib -install_name $libdir/$SHAREDLIBM -compatibility_version $VER1 -current_version $VER3"} - AR="libtool" - ARFLAGS="-o" ;; - *) LDSHARED=${LDSHARED-"$cc -shared"} ;; - esac -else - # find system name and corresponding cc options - CC=${CC-cc} - gcc=0 - echo ... using $CC >> configure.log - if test -z "$uname"; then - uname=`(uname -sr || echo unknown) 2>/dev/null` - fi - case "$uname" in - HP-UX*) SFLAGS=${CFLAGS-"-O +z"} - CFLAGS=${CFLAGS-"-O"} -# LDSHARED=${LDSHARED-"ld -b +vnocompatwarnings"} - LDSHARED=${LDSHARED-"ld -b"} - case `(uname -m || echo unknown) 2>/dev/null` in - ia64) - shared_ext='.so' - SHAREDLIB='libz.so' ;; - *) - shared_ext='.sl' - SHAREDLIB='libz.sl' ;; - esac ;; - IRIX*) SFLAGS=${CFLAGS-"-ansi -O2 -rpath ."} - CFLAGS=${CFLAGS-"-ansi -O2"} - LDSHARED=${LDSHARED-"cc -shared -Wl,-soname,libz.so.1"} ;; - OSF1\ V4*) SFLAGS=${CFLAGS-"-O -std1"} - CFLAGS=${CFLAGS-"-O -std1"} - LDFLAGS="${LDFLAGS} -Wl,-rpath,." - LDSHARED=${LDSHARED-"cc -shared -Wl,-soname,libz.so -Wl,-msym -Wl,-rpath,$(libdir) -Wl,-set_version,${VER}:1.0"} ;; - OSF1*) SFLAGS=${CFLAGS-"-O -std1"} - CFLAGS=${CFLAGS-"-O -std1"} - LDSHARED=${LDSHARED-"cc -shared -Wl,-soname,libz.so.1"} ;; - QNX*) SFLAGS=${CFLAGS-"-4 -O"} - CFLAGS=${CFLAGS-"-4 -O"} - LDSHARED=${LDSHARED-"cc"} - RANLIB=${RANLIB-"true"} - AR="cc" - ARFLAGS="-A" ;; - SCO_SV\ 3.2*) SFLAGS=${CFLAGS-"-O3 -dy -KPIC "} - CFLAGS=${CFLAGS-"-O3"} - LDSHARED=${LDSHARED-"cc -dy -KPIC -G"} ;; - SunOS\ 5* | solaris*) - LDSHARED=${LDSHARED-"cc -G"} - case `(uname -m || echo unknown) 2>/dev/null` in - i86*) - SFLAGS=${CFLAGS-"-xpentium -fast -KPIC -R."} - CFLAGS=${CFLAGS-"-xpentium -fast"} ;; - *) - SFLAGS=${CFLAGS-"-fast -xcg92 -KPIC -R."} - CFLAGS=${CFLAGS-"-fast -xcg92"} ;; - esac ;; - SunOS\ 4*) SFLAGS=${CFLAGS-"-O2 -PIC"} - CFLAGS=${CFLAGS-"-O2"} - LDSHARED=${LDSHARED-"ld"} ;; - SunStudio\ 9*) SFLAGS=${CFLAGS-"-fast -xcode=pic32 -xtarget=ultra3 -xarch=v9b"} - CFLAGS=${CFLAGS-"-fast -xtarget=ultra3 -xarch=v9b"} - LDSHARED=${LDSHARED-"cc -xarch=v9b"} ;; - UNIX_System_V\ 4.2.0) - SFLAGS=${CFLAGS-"-KPIC -O"} - CFLAGS=${CFLAGS-"-O"} - LDSHARED=${LDSHARED-"cc -G"} ;; - UNIX_SV\ 4.2MP) - SFLAGS=${CFLAGS-"-Kconform_pic -O"} - CFLAGS=${CFLAGS-"-O"} - LDSHARED=${LDSHARED-"cc -G"} ;; - OpenUNIX\ 5) - SFLAGS=${CFLAGS-"-KPIC -O"} - CFLAGS=${CFLAGS-"-O"} - LDSHARED=${LDSHARED-"cc -G"} ;; - AIX*) # Courtesy of dbakker@arrayasolutions.com - SFLAGS=${CFLAGS-"-O -qmaxmem=8192"} - CFLAGS=${CFLAGS-"-O -qmaxmem=8192"} - LDSHARED=${LDSHARED-"xlc -G"} ;; - # send working options for other systems to zlib@gzip.org - *) SFLAGS=${CFLAGS-"-O"} - CFLAGS=${CFLAGS-"-O"} - LDSHARED=${LDSHARED-"cc -shared"} ;; - esac -fi - -SHAREDLIB=${SHAREDLIB-"libz$shared_ext"} -SHAREDLIBV=${SHAREDLIBV-"libz$shared_ext.$VER"} -SHAREDLIBM=${SHAREDLIBM-"libz$shared_ext.$VER1"} - -echo >> configure.log - -if test $shared -eq 1; then - echo Checking for shared library support... | tee -a configure.log - # we must test in two steps (cc then ld), required at least on SunOS 4.x - if try $CC -w -c $SFLAGS $test.c && - try $LDSHARED $SFLAGS -o $test$shared_ext $test.o; then - echo Building shared library $SHAREDLIBV with $CC. | tee -a configure.log - elif test -z "$old_cc" -a -z "$old_cflags"; then - echo No shared library support. | tee -a configure.log - shared=0; - else - echo 'No shared library support; try without defining CC and CFLAGS' | tee -a configure.log - shared=0; - fi -fi -if test $shared -eq 0; then - LDSHARED="$CC" - ALL="static" - TEST="all teststatic" - SHAREDLIB="" - SHAREDLIBV="" - SHAREDLIBM="" - echo Building static library $STATICLIB version $VER with $CC. | tee -a configure.log -else - ALL="static shared" - TEST="all teststatic testshared" -fi - -CPP=${CPP-"$CC -E"} -case $CFLAGS in - *ASMV*) - echo >> configure.log - show "$NM $test.o | grep _hello" - if test "`$NM $test.o | grep _hello | tee -a configure.log`" = ""; then - CPP="$CPP -DNO_UNDERLINE" - echo Checking for underline in external names... No. | tee -a configure.log - else - echo Checking for underline in external names... Yes. | tee -a configure.log - fi ;; -esac - -echo >> configure.log - -cat > $test.c < -off64_t dummy = 0; -EOF -if try $CC -c $CFLAGS -D_LARGEFILE64_SOURCE=1 $test.c; then - CFLAGS="${CFLAGS} -D_LARGEFILE64_SOURCE=1" - SFLAGS="${SFLAGS} -D_LARGEFILE64_SOURCE=1" - ALL="${ALL} all64" - TEST="${TEST} test64" - echo "Checking for off64_t... Yes." | tee -a configure.log - echo "Checking for fseeko... Yes." | tee -a configure.log -else - echo "Checking for off64_t... No." | tee -a configure.log - echo >> configure.log - cat > $test.c < -int main(void) { - fseeko(NULL, 0, 0); - return 0; -} -EOF - if try $CC $CFLAGS -o $test $test.c; then - echo "Checking for fseeko... Yes." | tee -a configure.log - else - CFLAGS="${CFLAGS} -DNO_FSEEKO" - SFLAGS="${SFLAGS} -DNO_FSEEKO" - echo "Checking for fseeko... No." | tee -a configure.log - fi -fi - -cp -p zconf.h.in zconf.h - -echo >> configure.log - -cat > $test.c < -int main() { return 0; } -EOF -if try $CC -c $CFLAGS $test.c; then - sed < zconf.h "/^#ifdef HAVE_UNISTD_H.* may be/s/def HAVE_UNISTD_H\(.*\) may be/ 1\1 was/" > zconf.temp.h - mv zconf.temp.h zconf.h - echo "Checking for unistd.h... Yes." | tee -a configure.log -else - echo "Checking for unistd.h... No." | tee -a configure.log -fi - -echo >> configure.log - -cat > $test.c < -int main() { return 0; } -EOF -if try $CC -c $CFLAGS $test.c; then - sed < zconf.h "/^#ifdef HAVE_STDARG_H.* may be/s/def HAVE_STDARG_H\(.*\) may be/ 1\1 was/" > zconf.temp.h - mv zconf.temp.h zconf.h - echo "Checking for stdarg.h... Yes." | tee -a configure.log -else - echo "Checking for stdarg.h... No." | tee -a configure.log -fi - -if test $zprefix -eq 1; then - sed < zconf.h "/#ifdef Z_PREFIX.* may be/s/def Z_PREFIX\(.*\) may be/ 1\1 was/" > zconf.temp.h - mv zconf.temp.h zconf.h - echo >> configure.log - echo "Using z_ prefix on all symbols." | tee -a configure.log -fi - -if test $solo -eq 1; then - sed '/#define ZCONF_H/a\ -#define Z_SOLO - -' < zconf.h > zconf.temp.h - mv zconf.temp.h zconf.h -OBJC='$(OBJZ)' -PIC_OBJC='$(PIC_OBJZ)' -fi - -if test $cover -eq 1; then - CFLAGS="${CFLAGS} -fprofile-arcs -ftest-coverage" -fi - -echo >> configure.log - -cat > $test.c < -#include -#include "zconf.h" -int main() -{ -#ifndef STDC - choke me -#endif - return 0; -} -EOF - -if try $CC -c $CFLAGS $test.c; then - echo "Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()." | tee -a configure.log - - echo >> configure.log - cat > $test.c < -#include -int mytest(const char *fmt, ...) -{ - char buf[20]; - va_list ap; - va_start(ap, fmt); - vsnprintf(buf, sizeof(buf), fmt, ap); - va_end(ap); - return 0; -} -int main() -{ - return (mytest("Hello%d\n", 1)); -} -EOF - if try $CC $CFLAGS -o $test $test.c; then - echo "Checking for vsnprintf() in stdio.h... Yes." | tee -a configure.log - - echo >> configure.log - cat >$test.c < -#include -int mytest(const char *fmt, ...) -{ - int n; - char buf[20]; - va_list ap; - va_start(ap, fmt); - n = vsnprintf(buf, sizeof(buf), fmt, ap); - va_end(ap); - return n; -} -int main() -{ - return (mytest("Hello%d\n", 1)); -} -EOF - - if try $CC -c $CFLAGS $test.c; then - echo "Checking for return value of vsnprintf()... Yes." | tee -a configure.log - else - CFLAGS="$CFLAGS -DHAS_vsnprintf_void" - SFLAGS="$SFLAGS -DHAS_vsnprintf_void" - echo "Checking for return value of vsnprintf()... No." | tee -a configure.log - echo " WARNING: apparently vsnprintf() does not return a value. zlib" | tee -a configure.log - echo " can build but will be open to possible string-format security" | tee -a configure.log - echo " vulnerabilities." | tee -a configure.log - fi - else - CFLAGS="$CFLAGS -DNO_vsnprintf" - SFLAGS="$SFLAGS -DNO_vsnprintf" - echo "Checking for vsnprintf() in stdio.h... No." | tee -a configure.log - echo " WARNING: vsnprintf() not found, falling back to vsprintf(). zlib" | tee -a configure.log - echo " can build but will be open to possible buffer-overflow security" | tee -a configure.log - echo " vulnerabilities." | tee -a configure.log - - echo >> configure.log - cat >$test.c < -#include -int mytest(const char *fmt, ...) -{ - int n; - char buf[20]; - va_list ap; - va_start(ap, fmt); - n = vsprintf(buf, fmt, ap); - va_end(ap); - return n; -} -int main() -{ - return (mytest("Hello%d\n", 1)); -} -EOF - - if try $CC -c $CFLAGS $test.c; then - echo "Checking for return value of vsprintf()... Yes." | tee -a configure.log - else - CFLAGS="$CFLAGS -DHAS_vsprintf_void" - SFLAGS="$SFLAGS -DHAS_vsprintf_void" - echo "Checking for return value of vsprintf()... No." | tee -a configure.log - echo " WARNING: apparently vsprintf() does not return a value. zlib" | tee -a configure.log - echo " can build but will be open to possible string-format security" | tee -a configure.log - echo " vulnerabilities." | tee -a configure.log - fi - fi -else - echo "Checking whether to use vs[n]printf() or s[n]printf()... using s[n]printf()." | tee -a configure.log - - echo >> configure.log - cat >$test.c < -int mytest() -{ - char buf[20]; - snprintf(buf, sizeof(buf), "%s", "foo"); - return 0; -} -int main() -{ - return (mytest()); -} -EOF - - if try $CC $CFLAGS -o $test $test.c; then - echo "Checking for snprintf() in stdio.h... Yes." | tee -a configure.log - - echo >> configure.log - cat >$test.c < -int mytest() -{ - char buf[20]; - return snprintf(buf, sizeof(buf), "%s", "foo"); -} -int main() -{ - return (mytest()); -} -EOF - - if try $CC -c $CFLAGS $test.c; then - echo "Checking for return value of snprintf()... Yes." | tee -a configure.log - else - CFLAGS="$CFLAGS -DHAS_snprintf_void" - SFLAGS="$SFLAGS -DHAS_snprintf_void" - echo "Checking for return value of snprintf()... No." | tee -a configure.log - echo " WARNING: apparently snprintf() does not return a value. zlib" | tee -a configure.log - echo " can build but will be open to possible string-format security" | tee -a configure.log - echo " vulnerabilities." | tee -a configure.log - fi - else - CFLAGS="$CFLAGS -DNO_snprintf" - SFLAGS="$SFLAGS -DNO_snprintf" - echo "Checking for snprintf() in stdio.h... No." | tee -a configure.log - echo " WARNING: snprintf() not found, falling back to sprintf(). zlib" | tee -a configure.log - echo " can build but will be open to possible buffer-overflow security" | tee -a configure.log - echo " vulnerabilities." | tee -a configure.log - - echo >> configure.log - cat >$test.c < -int mytest() -{ - char buf[20]; - return sprintf(buf, "%s", "foo"); -} -int main() -{ - return (mytest()); -} -EOF - - if try $CC -c $CFLAGS $test.c; then - echo "Checking for return value of sprintf()... Yes." | tee -a configure.log - else - CFLAGS="$CFLAGS -DHAS_sprintf_void" - SFLAGS="$SFLAGS -DHAS_sprintf_void" - echo "Checking for return value of sprintf()... No." | tee -a configure.log - echo " WARNING: apparently sprintf() does not return a value. zlib" | tee -a configure.log - echo " can build but will be open to possible string-format security" | tee -a configure.log - echo " vulnerabilities." | tee -a configure.log - fi - fi -fi - -if test "$gcc" -eq 1; then - echo >> configure.log - cat > $test.c <= 33) -# define ZLIB_INTERNAL __attribute__((visibility ("hidden"))) -#else -# define ZLIB_INTERNAL -#endif -int ZLIB_INTERNAL foo; -int main() -{ - return 0; -} -EOF - if try $CC -c $CFLAGS $test.c; then - echo "Checking for attribute(visibility) support... Yes." | tee -a configure.log - else - CFLAGS="$CFLAGS -DNO_VIZ" - SFLAGS="$SFLAGS -DNO_VIZ" - echo "Checking for attribute(visibility) support... No." | tee -a configure.log - fi -fi - -rm -f $test.[co] $test $test$shared_ext $test.gcno - -# show the results in the log -echo >> configure.log -echo ALL = $ALL >> configure.log -echo AR = $AR >> configure.log -echo ARFLAGS = $ARFLAGS >> configure.log -echo CC = $CC >> configure.log -echo CFLAGS = $CFLAGS >> configure.log -echo CPP = $CPP >> configure.log -echo EXE = $EXE >> configure.log -echo LDCONFIG = $LDCONFIG >> configure.log -echo LDFLAGS = $LDFLAGS >> configure.log -echo LDSHARED = $LDSHARED >> configure.log -echo LDSHAREDLIBC = $LDSHAREDLIBC >> configure.log -echo OBJC = $OBJC >> configure.log -echo PIC_OBJC = $PIC_OBJC >> configure.log -echo RANLIB = $RANLIB >> configure.log -echo SFLAGS = $SFLAGS >> configure.log -echo SHAREDLIB = $SHAREDLIB >> configure.log -echo SHAREDLIBM = $SHAREDLIBM >> configure.log -echo SHAREDLIBV = $SHAREDLIBV >> configure.log -echo STATICLIB = $STATICLIB >> configure.log -echo TEST = $TEST >> configure.log -echo VER = $VER >> configure.log -echo exec_prefix = $exec_prefix >> configure.log -echo includedir = $includedir >> configure.log -echo libdir = $libdir >> configure.log -echo mandir = $mandir >> configure.log -echo prefix = $prefix >> configure.log -echo sharedlibdir = $sharedlibdir >> configure.log -echo uname = $uname >> configure.log -echo -------------------- >> configure.log -echo >> configure.log -echo >> configure.log - -# udpate Makefile -sed < Makefile.in " -/^CC *=/s#=.*#=$CC# -/^CFLAGS *=/s#=.*#=$CFLAGS# -/^SFLAGS *=/s#=.*#=$SFLAGS# -/^LDFLAGS *=/s#=.*#=$LDFLAGS# -/^LDSHARED *=/s#=.*#=$LDSHARED# -/^CPP *=/s#=.*#=$CPP# -/^STATICLIB *=/s#=.*#=$STATICLIB# -/^SHAREDLIB *=/s#=.*#=$SHAREDLIB# -/^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV# -/^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM# -/^AR *=/s#=.*#=$AR# -/^ARFLAGS *=/s#=.*#=$ARFLAGS# -/^RANLIB *=/s#=.*#=$RANLIB# -/^LDCONFIG *=/s#=.*#=$LDCONFIG# -/^LDSHAREDLIBC *=/s#=.*#=$LDSHAREDLIBC# -/^EXE *=/s#=.*#=$EXE# -/^prefix *=/s#=.*#=$prefix# -/^exec_prefix *=/s#=.*#=$exec_prefix# -/^libdir *=/s#=.*#=$libdir# -/^sharedlibdir *=/s#=.*#=$sharedlibdir# -/^includedir *=/s#=.*#=$includedir# -/^mandir *=/s#=.*#=$mandir# -/^OBJC *=/s#=.*#= $OBJC# -/^PIC_OBJC *=/s#=.*#= $PIC_OBJC# -/^all: */s#:.*#: $ALL# -/^test: */s#:.*#: $TEST# -" > Makefile - -sed < zlib.pc.in " -/^CC *=/s#=.*#=$CC# -/^CFLAGS *=/s#=.*#=$CFLAGS# -/^CPP *=/s#=.*#=$CPP# -/^LDSHARED *=/s#=.*#=$LDSHARED# -/^STATICLIB *=/s#=.*#=$STATICLIB# -/^SHAREDLIB *=/s#=.*#=$SHAREDLIB# -/^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV# -/^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM# -/^AR *=/s#=.*#=$AR# -/^ARFLAGS *=/s#=.*#=$ARFLAGS# -/^RANLIB *=/s#=.*#=$RANLIB# -/^EXE *=/s#=.*#=$EXE# -/^prefix *=/s#=.*#=$prefix# -/^exec_prefix *=/s#=.*#=$exec_prefix# -/^libdir *=/s#=.*#=$libdir# -/^sharedlibdir *=/s#=.*#=$sharedlibdir# -/^includedir *=/s#=.*#=$includedir# -/^mandir *=/s#=.*#=$mandir# -/^LDFLAGS *=/s#=.*#=$LDFLAGS# -" | sed -e " -s/\@VERSION\@/$VER/g; -" > zlib.pc diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/README.contrib b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/README.contrib deleted file mode 100644 index dd2285d9..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/README.contrib +++ /dev/null @@ -1,77 +0,0 @@ -All files under this contrib directory are UNSUPPORTED. There were -provided by users of zlib and were not tested by the authors of zlib. -Use at your own risk. Please contact the authors of the contributions -for help about these, not the zlib authors. Thanks. - - -ada/ by Dmitriy Anisimkov - Support for Ada - See http://zlib-ada.sourceforge.net/ - -amd64/ by Mikhail Teterin - asm code for AMD64 - See patch at http://www.freebsd.org/cgi/query-pr.cgi?pr=bin/96393 - -asm686/ by Brian Raiter - asm code for Pentium and PPro/PII, using the AT&T (GNU as) syntax - See http://www.muppetlabs.com/~breadbox/software/assembly.html - -blast/ by Mark Adler - Decompressor for output of PKWare Data Compression Library (DCL) - -delphi/ by Cosmin Truta - Support for Delphi and C++ Builder - -dotzlib/ by Henrik Ravn - Support for Microsoft .Net and Visual C++ .Net - -gcc_gvmat64/by Gilles Vollant - GCC Version of x86 64-bit (AMD64 and Intel EM64t) code for x64 - assembler to replace longest_match() and inflate_fast() - -infback9/ by Mark Adler - Unsupported diffs to infback to decode the deflate64 format - -inflate86/ by Chris Anderson - Tuned x86 gcc asm code to replace inflate_fast() - -iostream/ by Kevin Ruland - A C++ I/O streams interface to the zlib gz* functions - -iostream2/ by Tyge Løvset - Another C++ I/O streams interface - -iostream3/ by Ludwig Schwardt - and Kevin Ruland - Yet another C++ I/O streams interface - -masmx64/ by Gilles Vollant - x86 64-bit (AMD64 and Intel EM64t) code for x64 assembler to - replace longest_match() and inflate_fast(), also masm x86 - 64-bits translation of Chris Anderson inflate_fast() - -masmx86/ by Gilles Vollant - x86 asm code to replace longest_match() and inflate_fast(), - for Visual C++ and MASM (32 bits). - Based on Brian Raiter (asm686) and Chris Anderson (inflate86) - -minizip/ by Gilles Vollant - Mini zip and unzip based on zlib - Includes Zip64 support by Mathias Svensson - See http://www.winimage.com/zLibDll/unzip.html - -pascal/ by Bob Dellaca et al. - Support for Pascal - -puff/ by Mark Adler - Small, low memory usage inflate. Also serves to provide an - unambiguous description of the deflate format. - -testzlib/ by Gilles Vollant - Example of the use of zlib - -untgz/ by Pedro A. Aranda Gutierrez - A very simple tar.gz file extractor using zlib - -vstudio/ by Gilles Vollant - Building a minizip-enhanced zlib with Microsoft Visual Studio diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/buffer_demo.adb b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/buffer_demo.adb deleted file mode 100644 index 46b86381..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/buffer_demo.adb +++ /dev/null @@ -1,106 +0,0 @@ ----------------------------------------------------------------- --- ZLib for Ada thick binding. -- --- -- --- Copyright (C) 2002-2004 Dmitriy Anisimkov -- --- -- --- Open source license information is in the zlib.ads file. -- ----------------------------------------------------------------- --- --- $Id: buffer_demo.adb,v 1.3 2004/09/06 06:55:35 vagul Exp $ - --- This demo program provided by Dr Steve Sangwine --- --- Demonstration of a problem with Zlib-Ada (already fixed) when a buffer --- of exactly the correct size is used for decompressed data, and the last --- few bytes passed in to Zlib are checksum bytes. - --- This program compresses a string of text, and then decompresses the --- compressed text into a buffer of the same size as the original text. - -with Ada.Streams; use Ada.Streams; -with Ada.Text_IO; - -with ZLib; use ZLib; - -procedure Buffer_Demo is - EOL : Character renames ASCII.LF; - Text : constant String - := "Four score and seven years ago our fathers brought forth," & EOL & - "upon this continent, a new nation, conceived in liberty," & EOL & - "and dedicated to the proposition that `all men are created equal'."; - - Source : Stream_Element_Array (1 .. Text'Length); - for Source'Address use Text'Address; - -begin - Ada.Text_IO.Put (Text); - Ada.Text_IO.New_Line; - Ada.Text_IO.Put_Line - ("Uncompressed size : " & Positive'Image (Text'Length) & " bytes"); - - declare - Compressed_Data : Stream_Element_Array (1 .. Text'Length); - L : Stream_Element_Offset; - begin - Compress : declare - Compressor : Filter_Type; - I : Stream_Element_Offset; - begin - Deflate_Init (Compressor); - - -- Compress the whole of T at once. - - Translate (Compressor, Source, I, Compressed_Data, L, Finish); - pragma Assert (I = Source'Last); - - Close (Compressor); - - Ada.Text_IO.Put_Line - ("Compressed size : " - & Stream_Element_Offset'Image (L) & " bytes"); - end Compress; - - -- Now we decompress the data, passing short blocks of data to Zlib - -- (because this demonstrates the problem - the last block passed will - -- contain checksum information and there will be no output, only a - -- check inside Zlib that the checksum is correct). - - Decompress : declare - Decompressor : Filter_Type; - - Uncompressed_Data : Stream_Element_Array (1 .. Text'Length); - - Block_Size : constant := 4; - -- This makes sure that the last block contains - -- only Adler checksum data. - - P : Stream_Element_Offset := Compressed_Data'First - 1; - O : Stream_Element_Offset; - begin - Inflate_Init (Decompressor); - - loop - Translate - (Decompressor, - Compressed_Data - (P + 1 .. Stream_Element_Offset'Min (P + Block_Size, L)), - P, - Uncompressed_Data - (Total_Out (Decompressor) + 1 .. Uncompressed_Data'Last), - O, - No_Flush); - - Ada.Text_IO.Put_Line - ("Total in : " & Count'Image (Total_In (Decompressor)) & - ", out : " & Count'Image (Total_Out (Decompressor))); - - exit when P = L; - end loop; - - Ada.Text_IO.New_Line; - Ada.Text_IO.Put_Line - ("Decompressed text matches original text : " - & Boolean'Image (Uncompressed_Data = Source)); - end Decompress; - end; -end Buffer_Demo; diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/mtest.adb b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/mtest.adb deleted file mode 100644 index c4dfd080..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/mtest.adb +++ /dev/null @@ -1,156 +0,0 @@ ----------------------------------------------------------------- --- ZLib for Ada thick binding. -- --- -- --- Copyright (C) 2002-2003 Dmitriy Anisimkov -- --- -- --- Open source license information is in the zlib.ads file. -- ----------------------------------------------------------------- --- Continuous test for ZLib multithreading. If the test would fail --- we should provide thread safe allocation routines for the Z_Stream. --- --- $Id: mtest.adb,v 1.4 2004/07/23 07:49:54 vagul Exp $ - -with ZLib; -with Ada.Streams; -with Ada.Numerics.Discrete_Random; -with Ada.Text_IO; -with Ada.Exceptions; -with Ada.Task_Identification; - -procedure MTest is - use Ada.Streams; - use ZLib; - - Stop : Boolean := False; - - pragma Atomic (Stop); - - subtype Visible_Symbols is Stream_Element range 16#20# .. 16#7E#; - - package Random_Elements is - new Ada.Numerics.Discrete_Random (Visible_Symbols); - - task type Test_Task; - - task body Test_Task is - Buffer : Stream_Element_Array (1 .. 100_000); - Gen : Random_Elements.Generator; - - Buffer_First : Stream_Element_Offset; - Compare_First : Stream_Element_Offset; - - Deflate : Filter_Type; - Inflate : Filter_Type; - - procedure Further (Item : in Stream_Element_Array); - - procedure Read_Buffer - (Item : out Ada.Streams.Stream_Element_Array; - Last : out Ada.Streams.Stream_Element_Offset); - - ------------- - -- Further -- - ------------- - - procedure Further (Item : in Stream_Element_Array) is - - procedure Compare (Item : in Stream_Element_Array); - - ------------- - -- Compare -- - ------------- - - procedure Compare (Item : in Stream_Element_Array) is - Next_First : Stream_Element_Offset := Compare_First + Item'Length; - begin - if Buffer (Compare_First .. Next_First - 1) /= Item then - raise Program_Error; - end if; - - Compare_First := Next_First; - end Compare; - - procedure Compare_Write is new ZLib.Write (Write => Compare); - begin - Compare_Write (Inflate, Item, No_Flush); - end Further; - - ----------------- - -- Read_Buffer -- - ----------------- - - procedure Read_Buffer - (Item : out Ada.Streams.Stream_Element_Array; - Last : out Ada.Streams.Stream_Element_Offset) - is - Buff_Diff : Stream_Element_Offset := Buffer'Last - Buffer_First; - Next_First : Stream_Element_Offset; - begin - if Item'Length <= Buff_Diff then - Last := Item'Last; - - Next_First := Buffer_First + Item'Length; - - Item := Buffer (Buffer_First .. Next_First - 1); - - Buffer_First := Next_First; - else - Last := Item'First + Buff_Diff; - Item (Item'First .. Last) := Buffer (Buffer_First .. Buffer'Last); - Buffer_First := Buffer'Last + 1; - end if; - end Read_Buffer; - - procedure Translate is new Generic_Translate - (Data_In => Read_Buffer, - Data_Out => Further); - - begin - Random_Elements.Reset (Gen); - - Buffer := (others => 20); - - Main : loop - for J in Buffer'Range loop - Buffer (J) := Random_Elements.Random (Gen); - - Deflate_Init (Deflate); - Inflate_Init (Inflate); - - Buffer_First := Buffer'First; - Compare_First := Buffer'First; - - Translate (Deflate); - - if Compare_First /= Buffer'Last + 1 then - raise Program_Error; - end if; - - Ada.Text_IO.Put_Line - (Ada.Task_Identification.Image - (Ada.Task_Identification.Current_Task) - & Stream_Element_Offset'Image (J) - & ZLib.Count'Image (Total_Out (Deflate))); - - Close (Deflate); - Close (Inflate); - - exit Main when Stop; - end loop; - end loop Main; - exception - when E : others => - Ada.Text_IO.Put_Line (Ada.Exceptions.Exception_Information (E)); - Stop := True; - end Test_Task; - - Test : array (1 .. 4) of Test_Task; - - pragma Unreferenced (Test); - - Dummy : Character; - -begin - Ada.Text_IO.Get_Immediate (Dummy); - Stop := True; -end MTest; diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/read.adb b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/read.adb deleted file mode 100644 index 1f2efbfe..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/read.adb +++ /dev/null @@ -1,156 +0,0 @@ ----------------------------------------------------------------- --- ZLib for Ada thick binding. -- --- -- --- Copyright (C) 2002-2003 Dmitriy Anisimkov -- --- -- --- Open source license information is in the zlib.ads file. -- ----------------------------------------------------------------- - --- $Id: read.adb,v 1.8 2004/05/31 10:53:40 vagul Exp $ - --- Test/demo program for the generic read interface. - -with Ada.Numerics.Discrete_Random; -with Ada.Streams; -with Ada.Text_IO; - -with ZLib; - -procedure Read is - - use Ada.Streams; - - ------------------------------------ - -- Test configuration parameters -- - ------------------------------------ - - File_Size : Stream_Element_Offset := 100_000; - - Continuous : constant Boolean := False; - -- If this constant is True, the test would be repeated again and again, - -- with increment File_Size for every iteration. - - Header : constant ZLib.Header_Type := ZLib.Default; - -- Do not use Header other than Default in ZLib versions 1.1.4 and older. - - Init_Random : constant := 8; - -- We are using the same random sequence, in case of we catch bug, - -- so we would be able to reproduce it. - - -- End -- - - Pack_Size : Stream_Element_Offset; - Offset : Stream_Element_Offset; - - Filter : ZLib.Filter_Type; - - subtype Visible_Symbols - is Stream_Element range 16#20# .. 16#7E#; - - package Random_Elements is new - Ada.Numerics.Discrete_Random (Visible_Symbols); - - Gen : Random_Elements.Generator; - Period : constant Stream_Element_Offset := 200; - -- Period constant variable for random generator not to be very random. - -- Bigger period, harder random. - - Read_Buffer : Stream_Element_Array (1 .. 2048); - Read_First : Stream_Element_Offset; - Read_Last : Stream_Element_Offset; - - procedure Reset; - - procedure Read - (Item : out Stream_Element_Array; - Last : out Stream_Element_Offset); - -- this procedure is for generic instantiation of - -- ZLib.Read - -- reading data from the File_In. - - procedure Read is new ZLib.Read - (Read, - Read_Buffer, - Rest_First => Read_First, - Rest_Last => Read_Last); - - ---------- - -- Read -- - ---------- - - procedure Read - (Item : out Stream_Element_Array; - Last : out Stream_Element_Offset) is - begin - Last := Stream_Element_Offset'Min - (Item'Last, - Item'First + File_Size - Offset); - - for J in Item'First .. Last loop - if J < Item'First + Period then - Item (J) := Random_Elements.Random (Gen); - else - Item (J) := Item (J - Period); - end if; - - Offset := Offset + 1; - end loop; - end Read; - - ----------- - -- Reset -- - ----------- - - procedure Reset is - begin - Random_Elements.Reset (Gen, Init_Random); - Pack_Size := 0; - Offset := 1; - Read_First := Read_Buffer'Last + 1; - Read_Last := Read_Buffer'Last; - end Reset; - -begin - Ada.Text_IO.Put_Line ("ZLib " & ZLib.Version); - - loop - for Level in ZLib.Compression_Level'Range loop - - Ada.Text_IO.Put ("Level =" - & ZLib.Compression_Level'Image (Level)); - - -- Deflate using generic instantiation. - - ZLib.Deflate_Init - (Filter, - Level, - Header => Header); - - Reset; - - Ada.Text_IO.Put - (Stream_Element_Offset'Image (File_Size) & " ->"); - - loop - declare - Buffer : Stream_Element_Array (1 .. 1024); - Last : Stream_Element_Offset; - begin - Read (Filter, Buffer, Last); - - Pack_Size := Pack_Size + Last - Buffer'First + 1; - - exit when Last < Buffer'Last; - end; - end loop; - - Ada.Text_IO.Put_Line (Stream_Element_Offset'Image (Pack_Size)); - - ZLib.Close (Filter); - end loop; - - exit when not Continuous; - - File_Size := File_Size + 1; - end loop; -end Read; diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/readme.txt b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/readme.txt deleted file mode 100644 index ce4d2cad..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/readme.txt +++ /dev/null @@ -1,65 +0,0 @@ - ZLib for Ada thick binding (ZLib.Ada) - Release 1.3 - -ZLib.Ada is a thick binding interface to the popular ZLib data -compression library, available at http://www.gzip.org/zlib/. -It provides Ada-style access to the ZLib C library. - - - Here are the main changes since ZLib.Ada 1.2: - -- Attension: ZLib.Read generic routine have a initialization requirement - for Read_Last parameter now. It is a bit incompartible with previous version, - but extends functionality, we could use new parameters Allow_Read_Some and - Flush now. - -- Added Is_Open routines to ZLib and ZLib.Streams packages. - -- Add pragma Assert to check Stream_Element is 8 bit. - -- Fix extraction to buffer with exact known decompressed size. Error reported by - Steve Sangwine. - -- Fix definition of ULong (changed to unsigned_long), fix regression on 64 bits - computers. Patch provided by Pascal Obry. - -- Add Status_Error exception definition. - -- Add pragma Assertion that Ada.Streams.Stream_Element size is 8 bit. - - - How to build ZLib.Ada under GNAT - -You should have the ZLib library already build on your computer, before -building ZLib.Ada. Make the directory of ZLib.Ada sources current and -issue the command: - - gnatmake test -largs -L -lz - -Or use the GNAT project file build for GNAT 3.15 or later: - - gnatmake -Pzlib.gpr -L - - - How to build ZLib.Ada under Aonix ObjectAda for Win32 7.2.2 - -1. Make a project with all *.ads and *.adb files from the distribution. -2. Build the libz.a library from the ZLib C sources. -3. Rename libz.a to z.lib. -4. Add the library z.lib to the project. -5. Add the libc.lib library from the ObjectAda distribution to the project. -6. Build the executable using test.adb as a main procedure. - - - How to use ZLib.Ada - -The source files test.adb and read.adb are small demo programs that show -the main functionality of ZLib.Ada. - -The routines from the package specifications are commented. - - -Homepage: http://zlib-ada.sourceforge.net/ -Author: Dmitriy Anisimkov - -Contributors: Pascal Obry , Steve Sangwine diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/test.adb b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/test.adb deleted file mode 100644 index 90773acf..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/test.adb +++ /dev/null @@ -1,463 +0,0 @@ ----------------------------------------------------------------- --- ZLib for Ada thick binding. -- --- -- --- Copyright (C) 2002-2003 Dmitriy Anisimkov -- --- -- --- Open source license information is in the zlib.ads file. -- ----------------------------------------------------------------- - --- $Id: test.adb,v 1.17 2003/08/12 12:13:30 vagul Exp $ - --- The program has a few aims. --- 1. Test ZLib.Ada95 thick binding functionality. --- 2. Show the example of use main functionality of the ZLib.Ada95 binding. --- 3. Build this program automatically compile all ZLib.Ada95 packages under --- GNAT Ada95 compiler. - -with ZLib.Streams; -with Ada.Streams.Stream_IO; -with Ada.Numerics.Discrete_Random; - -with Ada.Text_IO; - -with Ada.Calendar; - -procedure Test is - - use Ada.Streams; - use Stream_IO; - - ------------------------------------ - -- Test configuration parameters -- - ------------------------------------ - - File_Size : Count := 100_000; - Continuous : constant Boolean := False; - - Header : constant ZLib.Header_Type := ZLib.Default; - -- ZLib.None; - -- ZLib.Auto; - -- ZLib.GZip; - -- Do not use Header other then Default in ZLib versions 1.1.4 - -- and older. - - Strategy : constant ZLib.Strategy_Type := ZLib.Default_Strategy; - Init_Random : constant := 10; - - -- End -- - - In_File_Name : constant String := "testzlib.in"; - -- Name of the input file - - Z_File_Name : constant String := "testzlib.zlb"; - -- Name of the compressed file. - - Out_File_Name : constant String := "testzlib.out"; - -- Name of the decompressed file. - - File_In : File_Type; - File_Out : File_Type; - File_Back : File_Type; - File_Z : ZLib.Streams.Stream_Type; - - Filter : ZLib.Filter_Type; - - Time_Stamp : Ada.Calendar.Time; - - procedure Generate_File; - -- Generate file of spetsified size with some random data. - -- The random data is repeatable, for the good compression. - - procedure Compare_Streams - (Left, Right : in out Root_Stream_Type'Class); - -- The procedure compearing data in 2 streams. - -- It is for compare data before and after compression/decompression. - - procedure Compare_Files (Left, Right : String); - -- Compare files. Based on the Compare_Streams. - - procedure Copy_Streams - (Source, Target : in out Root_Stream_Type'Class; - Buffer_Size : in Stream_Element_Offset := 1024); - -- Copying data from one stream to another. It is for test stream - -- interface of the library. - - procedure Data_In - (Item : out Stream_Element_Array; - Last : out Stream_Element_Offset); - -- this procedure is for generic instantiation of - -- ZLib.Generic_Translate. - -- reading data from the File_In. - - procedure Data_Out (Item : in Stream_Element_Array); - -- this procedure is for generic instantiation of - -- ZLib.Generic_Translate. - -- writing data to the File_Out. - - procedure Stamp; - -- Store the timestamp to the local variable. - - procedure Print_Statistic (Msg : String; Data_Size : ZLib.Count); - -- Print the time statistic with the message. - - procedure Translate is new ZLib.Generic_Translate - (Data_In => Data_In, - Data_Out => Data_Out); - -- This procedure is moving data from File_In to File_Out - -- with compression or decompression, depend on initialization of - -- Filter parameter. - - ------------------- - -- Compare_Files -- - ------------------- - - procedure Compare_Files (Left, Right : String) is - Left_File, Right_File : File_Type; - begin - Open (Left_File, In_File, Left); - Open (Right_File, In_File, Right); - Compare_Streams (Stream (Left_File).all, Stream (Right_File).all); - Close (Left_File); - Close (Right_File); - end Compare_Files; - - --------------------- - -- Compare_Streams -- - --------------------- - - procedure Compare_Streams - (Left, Right : in out Ada.Streams.Root_Stream_Type'Class) - is - Left_Buffer, Right_Buffer : Stream_Element_Array (0 .. 16#FFF#); - Left_Last, Right_Last : Stream_Element_Offset; - begin - loop - Read (Left, Left_Buffer, Left_Last); - Read (Right, Right_Buffer, Right_Last); - - if Left_Last /= Right_Last then - Ada.Text_IO.Put_Line ("Compare error :" - & Stream_Element_Offset'Image (Left_Last) - & " /= " - & Stream_Element_Offset'Image (Right_Last)); - - raise Constraint_Error; - - elsif Left_Buffer (0 .. Left_Last) - /= Right_Buffer (0 .. Right_Last) - then - Ada.Text_IO.Put_Line ("ERROR: IN and OUT files is not equal."); - raise Constraint_Error; - - end if; - - exit when Left_Last < Left_Buffer'Last; - end loop; - end Compare_Streams; - - ------------------ - -- Copy_Streams -- - ------------------ - - procedure Copy_Streams - (Source, Target : in out Ada.Streams.Root_Stream_Type'Class; - Buffer_Size : in Stream_Element_Offset := 1024) - is - Buffer : Stream_Element_Array (1 .. Buffer_Size); - Last : Stream_Element_Offset; - begin - loop - Read (Source, Buffer, Last); - Write (Target, Buffer (1 .. Last)); - - exit when Last < Buffer'Last; - end loop; - end Copy_Streams; - - ------------- - -- Data_In -- - ------------- - - procedure Data_In - (Item : out Stream_Element_Array; - Last : out Stream_Element_Offset) is - begin - Read (File_In, Item, Last); - end Data_In; - - -------------- - -- Data_Out -- - -------------- - - procedure Data_Out (Item : in Stream_Element_Array) is - begin - Write (File_Out, Item); - end Data_Out; - - ------------------- - -- Generate_File -- - ------------------- - - procedure Generate_File is - subtype Visible_Symbols is Stream_Element range 16#20# .. 16#7E#; - - package Random_Elements is - new Ada.Numerics.Discrete_Random (Visible_Symbols); - - Gen : Random_Elements.Generator; - Buffer : Stream_Element_Array := (1 .. 77 => 16#20#) & 10; - - Buffer_Count : constant Count := File_Size / Buffer'Length; - -- Number of same buffers in the packet. - - Density : constant Count := 30; -- from 0 to Buffer'Length - 2; - - procedure Fill_Buffer (J, D : in Count); - -- Change the part of the buffer. - - ----------------- - -- Fill_Buffer -- - ----------------- - - procedure Fill_Buffer (J, D : in Count) is - begin - for K in 0 .. D loop - Buffer - (Stream_Element_Offset ((J + K) mod (Buffer'Length - 1) + 1)) - := Random_Elements.Random (Gen); - - end loop; - end Fill_Buffer; - - begin - Random_Elements.Reset (Gen, Init_Random); - - Create (File_In, Out_File, In_File_Name); - - Fill_Buffer (1, Buffer'Length - 2); - - for J in 1 .. Buffer_Count loop - Write (File_In, Buffer); - - Fill_Buffer (J, Density); - end loop; - - -- fill remain size. - - Write - (File_In, - Buffer - (1 .. Stream_Element_Offset - (File_Size - Buffer'Length * Buffer_Count))); - - Flush (File_In); - Close (File_In); - end Generate_File; - - --------------------- - -- Print_Statistic -- - --------------------- - - procedure Print_Statistic (Msg : String; Data_Size : ZLib.Count) is - use Ada.Calendar; - use Ada.Text_IO; - - package Count_IO is new Integer_IO (ZLib.Count); - - Curr_Dur : Duration := Clock - Time_Stamp; - begin - Put (Msg); - - Set_Col (20); - Ada.Text_IO.Put ("size ="); - - Count_IO.Put - (Data_Size, - Width => Stream_IO.Count'Image (File_Size)'Length); - - Put_Line (" duration =" & Duration'Image (Curr_Dur)); - end Print_Statistic; - - ----------- - -- Stamp -- - ----------- - - procedure Stamp is - begin - Time_Stamp := Ada.Calendar.Clock; - end Stamp; - -begin - Ada.Text_IO.Put_Line ("ZLib " & ZLib.Version); - - loop - Generate_File; - - for Level in ZLib.Compression_Level'Range loop - - Ada.Text_IO.Put_Line ("Level =" - & ZLib.Compression_Level'Image (Level)); - - -- Test generic interface. - Open (File_In, In_File, In_File_Name); - Create (File_Out, Out_File, Z_File_Name); - - Stamp; - - -- Deflate using generic instantiation. - - ZLib.Deflate_Init - (Filter => Filter, - Level => Level, - Strategy => Strategy, - Header => Header); - - Translate (Filter); - Print_Statistic ("Generic compress", ZLib.Total_Out (Filter)); - ZLib.Close (Filter); - - Close (File_In); - Close (File_Out); - - Open (File_In, In_File, Z_File_Name); - Create (File_Out, Out_File, Out_File_Name); - - Stamp; - - -- Inflate using generic instantiation. - - ZLib.Inflate_Init (Filter, Header => Header); - - Translate (Filter); - Print_Statistic ("Generic decompress", ZLib.Total_Out (Filter)); - - ZLib.Close (Filter); - - Close (File_In); - Close (File_Out); - - Compare_Files (In_File_Name, Out_File_Name); - - -- Test stream interface. - - -- Compress to the back stream. - - Open (File_In, In_File, In_File_Name); - Create (File_Back, Out_File, Z_File_Name); - - Stamp; - - ZLib.Streams.Create - (Stream => File_Z, - Mode => ZLib.Streams.Out_Stream, - Back => ZLib.Streams.Stream_Access - (Stream (File_Back)), - Back_Compressed => True, - Level => Level, - Strategy => Strategy, - Header => Header); - - Copy_Streams - (Source => Stream (File_In).all, - Target => File_Z); - - -- Flushing internal buffers to the back stream. - - ZLib.Streams.Flush (File_Z, ZLib.Finish); - - Print_Statistic ("Write compress", - ZLib.Streams.Write_Total_Out (File_Z)); - - ZLib.Streams.Close (File_Z); - - Close (File_In); - Close (File_Back); - - -- Compare reading from original file and from - -- decompression stream. - - Open (File_In, In_File, In_File_Name); - Open (File_Back, In_File, Z_File_Name); - - ZLib.Streams.Create - (Stream => File_Z, - Mode => ZLib.Streams.In_Stream, - Back => ZLib.Streams.Stream_Access - (Stream (File_Back)), - Back_Compressed => True, - Header => Header); - - Stamp; - Compare_Streams (Stream (File_In).all, File_Z); - - Print_Statistic ("Read decompress", - ZLib.Streams.Read_Total_Out (File_Z)); - - ZLib.Streams.Close (File_Z); - Close (File_In); - Close (File_Back); - - -- Compress by reading from compression stream. - - Open (File_Back, In_File, In_File_Name); - Create (File_Out, Out_File, Z_File_Name); - - ZLib.Streams.Create - (Stream => File_Z, - Mode => ZLib.Streams.In_Stream, - Back => ZLib.Streams.Stream_Access - (Stream (File_Back)), - Back_Compressed => False, - Level => Level, - Strategy => Strategy, - Header => Header); - - Stamp; - Copy_Streams - (Source => File_Z, - Target => Stream (File_Out).all); - - Print_Statistic ("Read compress", - ZLib.Streams.Read_Total_Out (File_Z)); - - ZLib.Streams.Close (File_Z); - - Close (File_Out); - Close (File_Back); - - -- Decompress to decompression stream. - - Open (File_In, In_File, Z_File_Name); - Create (File_Back, Out_File, Out_File_Name); - - ZLib.Streams.Create - (Stream => File_Z, - Mode => ZLib.Streams.Out_Stream, - Back => ZLib.Streams.Stream_Access - (Stream (File_Back)), - Back_Compressed => False, - Header => Header); - - Stamp; - - Copy_Streams - (Source => Stream (File_In).all, - Target => File_Z); - - Print_Statistic ("Write decompress", - ZLib.Streams.Write_Total_Out (File_Z)); - - ZLib.Streams.Close (File_Z); - Close (File_In); - Close (File_Back); - - Compare_Files (In_File_Name, Out_File_Name); - end loop; - - Ada.Text_IO.Put_Line (Count'Image (File_Size) & " Ok."); - - exit when not Continuous; - - File_Size := File_Size + 1; - end loop; -end Test; diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/zlib-streams.adb b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/zlib-streams.adb deleted file mode 100644 index b6497bae..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/zlib-streams.adb +++ /dev/null @@ -1,225 +0,0 @@ ----------------------------------------------------------------- --- ZLib for Ada thick binding. -- --- -- --- Copyright (C) 2002-2003 Dmitriy Anisimkov -- --- -- --- Open source license information is in the zlib.ads file. -- ----------------------------------------------------------------- - --- $Id: zlib-streams.adb,v 1.10 2004/05/31 10:53:40 vagul Exp $ - -with Ada.Unchecked_Deallocation; - -package body ZLib.Streams is - - ----------- - -- Close -- - ----------- - - procedure Close (Stream : in out Stream_Type) is - procedure Free is new Ada.Unchecked_Deallocation - (Stream_Element_Array, Buffer_Access); - begin - if Stream.Mode = Out_Stream or Stream.Mode = Duplex then - -- We should flush the data written by the writer. - - Flush (Stream, Finish); - - Close (Stream.Writer); - end if; - - if Stream.Mode = In_Stream or Stream.Mode = Duplex then - Close (Stream.Reader); - Free (Stream.Buffer); - end if; - end Close; - - ------------ - -- Create -- - ------------ - - procedure Create - (Stream : out Stream_Type; - Mode : in Stream_Mode; - Back : in Stream_Access; - Back_Compressed : in Boolean; - Level : in Compression_Level := Default_Compression; - Strategy : in Strategy_Type := Default_Strategy; - Header : in Header_Type := Default; - Read_Buffer_Size : in Ada.Streams.Stream_Element_Offset - := Default_Buffer_Size; - Write_Buffer_Size : in Ada.Streams.Stream_Element_Offset - := Default_Buffer_Size) - is - - subtype Buffer_Subtype is Stream_Element_Array (1 .. Read_Buffer_Size); - - procedure Init_Filter - (Filter : in out Filter_Type; - Compress : in Boolean); - - ----------------- - -- Init_Filter -- - ----------------- - - procedure Init_Filter - (Filter : in out Filter_Type; - Compress : in Boolean) is - begin - if Compress then - Deflate_Init - (Filter, Level, Strategy, Header => Header); - else - Inflate_Init (Filter, Header => Header); - end if; - end Init_Filter; - - begin - Stream.Back := Back; - Stream.Mode := Mode; - - if Mode = Out_Stream or Mode = Duplex then - Init_Filter (Stream.Writer, Back_Compressed); - Stream.Buffer_Size := Write_Buffer_Size; - else - Stream.Buffer_Size := 0; - end if; - - if Mode = In_Stream or Mode = Duplex then - Init_Filter (Stream.Reader, not Back_Compressed); - - Stream.Buffer := new Buffer_Subtype; - Stream.Rest_First := Stream.Buffer'Last + 1; - Stream.Rest_Last := Stream.Buffer'Last; - end if; - end Create; - - ----------- - -- Flush -- - ----------- - - procedure Flush - (Stream : in out Stream_Type; - Mode : in Flush_Mode := Sync_Flush) - is - Buffer : Stream_Element_Array (1 .. Stream.Buffer_Size); - Last : Stream_Element_Offset; - begin - loop - Flush (Stream.Writer, Buffer, Last, Mode); - - Ada.Streams.Write (Stream.Back.all, Buffer (1 .. Last)); - - exit when Last < Buffer'Last; - end loop; - end Flush; - - ------------- - -- Is_Open -- - ------------- - - function Is_Open (Stream : Stream_Type) return Boolean is - begin - return Is_Open (Stream.Reader) or else Is_Open (Stream.Writer); - end Is_Open; - - ---------- - -- Read -- - ---------- - - procedure Read - (Stream : in out Stream_Type; - Item : out Stream_Element_Array; - Last : out Stream_Element_Offset) - is - - procedure Read - (Item : out Stream_Element_Array; - Last : out Stream_Element_Offset); - - ---------- - -- Read -- - ---------- - - procedure Read - (Item : out Stream_Element_Array; - Last : out Stream_Element_Offset) is - begin - Ada.Streams.Read (Stream.Back.all, Item, Last); - end Read; - - procedure Read is new ZLib.Read - (Read => Read, - Buffer => Stream.Buffer.all, - Rest_First => Stream.Rest_First, - Rest_Last => Stream.Rest_Last); - - begin - Read (Stream.Reader, Item, Last); - end Read; - - ------------------- - -- Read_Total_In -- - ------------------- - - function Read_Total_In (Stream : in Stream_Type) return Count is - begin - return Total_In (Stream.Reader); - end Read_Total_In; - - -------------------- - -- Read_Total_Out -- - -------------------- - - function Read_Total_Out (Stream : in Stream_Type) return Count is - begin - return Total_Out (Stream.Reader); - end Read_Total_Out; - - ----------- - -- Write -- - ----------- - - procedure Write - (Stream : in out Stream_Type; - Item : in Stream_Element_Array) - is - - procedure Write (Item : in Stream_Element_Array); - - ----------- - -- Write -- - ----------- - - procedure Write (Item : in Stream_Element_Array) is - begin - Ada.Streams.Write (Stream.Back.all, Item); - end Write; - - procedure Write is new ZLib.Write - (Write => Write, - Buffer_Size => Stream.Buffer_Size); - - begin - Write (Stream.Writer, Item, No_Flush); - end Write; - - -------------------- - -- Write_Total_In -- - -------------------- - - function Write_Total_In (Stream : in Stream_Type) return Count is - begin - return Total_In (Stream.Writer); - end Write_Total_In; - - --------------------- - -- Write_Total_Out -- - --------------------- - - function Write_Total_Out (Stream : in Stream_Type) return Count is - begin - return Total_Out (Stream.Writer); - end Write_Total_Out; - -end ZLib.Streams; diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/zlib-streams.ads b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/zlib-streams.ads deleted file mode 100644 index f0193c6b..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/zlib-streams.ads +++ /dev/null @@ -1,114 +0,0 @@ ----------------------------------------------------------------- --- ZLib for Ada thick binding. -- --- -- --- Copyright (C) 2002-2003 Dmitriy Anisimkov -- --- -- --- Open source license information is in the zlib.ads file. -- ----------------------------------------------------------------- - --- $Id: zlib-streams.ads,v 1.12 2004/05/31 10:53:40 vagul Exp $ - -package ZLib.Streams is - - type Stream_Mode is (In_Stream, Out_Stream, Duplex); - - type Stream_Access is access all Ada.Streams.Root_Stream_Type'Class; - - type Stream_Type is - new Ada.Streams.Root_Stream_Type with private; - - procedure Read - (Stream : in out Stream_Type; - Item : out Ada.Streams.Stream_Element_Array; - Last : out Ada.Streams.Stream_Element_Offset); - - procedure Write - (Stream : in out Stream_Type; - Item : in Ada.Streams.Stream_Element_Array); - - procedure Flush - (Stream : in out Stream_Type; - Mode : in Flush_Mode := Sync_Flush); - -- Flush the written data to the back stream, - -- all data placed to the compressor is flushing to the Back stream. - -- Should not be used untill necessary, becouse it is decreasing - -- compression. - - function Read_Total_In (Stream : in Stream_Type) return Count; - pragma Inline (Read_Total_In); - -- Return total number of bytes read from back stream so far. - - function Read_Total_Out (Stream : in Stream_Type) return Count; - pragma Inline (Read_Total_Out); - -- Return total number of bytes read so far. - - function Write_Total_In (Stream : in Stream_Type) return Count; - pragma Inline (Write_Total_In); - -- Return total number of bytes written so far. - - function Write_Total_Out (Stream : in Stream_Type) return Count; - pragma Inline (Write_Total_Out); - -- Return total number of bytes written to the back stream. - - procedure Create - (Stream : out Stream_Type; - Mode : in Stream_Mode; - Back : in Stream_Access; - Back_Compressed : in Boolean; - Level : in Compression_Level := Default_Compression; - Strategy : in Strategy_Type := Default_Strategy; - Header : in Header_Type := Default; - Read_Buffer_Size : in Ada.Streams.Stream_Element_Offset - := Default_Buffer_Size; - Write_Buffer_Size : in Ada.Streams.Stream_Element_Offset - := Default_Buffer_Size); - -- Create the Comression/Decompression stream. - -- If mode is In_Stream then Write operation is disabled. - -- If mode is Out_Stream then Read operation is disabled. - - -- If Back_Compressed is true then - -- Data written to the Stream is compressing to the Back stream - -- and data read from the Stream is decompressed data from the Back stream. - - -- If Back_Compressed is false then - -- Data written to the Stream is decompressing to the Back stream - -- and data read from the Stream is compressed data from the Back stream. - - -- !!! When the Need_Header is False ZLib-Ada is using undocumented - -- ZLib 1.1.4 functionality to do not create/wait for ZLib headers. - - function Is_Open (Stream : Stream_Type) return Boolean; - - procedure Close (Stream : in out Stream_Type); - -private - - use Ada.Streams; - - type Buffer_Access is access all Stream_Element_Array; - - type Stream_Type - is new Root_Stream_Type with - record - Mode : Stream_Mode; - - Buffer : Buffer_Access; - Rest_First : Stream_Element_Offset; - Rest_Last : Stream_Element_Offset; - -- Buffer for Read operation. - -- We need to have this buffer in the record - -- becouse not all read data from back stream - -- could be processed during the read operation. - - Buffer_Size : Stream_Element_Offset; - -- Buffer size for write operation. - -- We do not need to have this buffer - -- in the record becouse all data could be - -- processed in the write operation. - - Back : Stream_Access; - Reader : Filter_Type; - Writer : Filter_Type; - end record; - -end ZLib.Streams; diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/zlib-thin.adb b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/zlib-thin.adb deleted file mode 100644 index 0ca4a712..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/zlib-thin.adb +++ /dev/null @@ -1,141 +0,0 @@ ----------------------------------------------------------------- --- ZLib for Ada thick binding. -- --- -- --- Copyright (C) 2002-2003 Dmitriy Anisimkov -- --- -- --- Open source license information is in the zlib.ads file. -- ----------------------------------------------------------------- - --- $Id: zlib-thin.adb,v 1.8 2003/12/14 18:27:31 vagul Exp $ - -package body ZLib.Thin is - - ZLIB_VERSION : constant Chars_Ptr := zlibVersion; - - Z_Stream_Size : constant Int := Z_Stream'Size / System.Storage_Unit; - - -------------- - -- Avail_In -- - -------------- - - function Avail_In (Strm : in Z_Stream) return UInt is - begin - return Strm.Avail_In; - end Avail_In; - - --------------- - -- Avail_Out -- - --------------- - - function Avail_Out (Strm : in Z_Stream) return UInt is - begin - return Strm.Avail_Out; - end Avail_Out; - - ------------------ - -- Deflate_Init -- - ------------------ - - function Deflate_Init - (strm : Z_Streamp; - level : Int; - method : Int; - windowBits : Int; - memLevel : Int; - strategy : Int) - return Int is - begin - return deflateInit2 - (strm, - level, - method, - windowBits, - memLevel, - strategy, - ZLIB_VERSION, - Z_Stream_Size); - end Deflate_Init; - - ------------------ - -- Inflate_Init -- - ------------------ - - function Inflate_Init (strm : Z_Streamp; windowBits : Int) return Int is - begin - return inflateInit2 (strm, windowBits, ZLIB_VERSION, Z_Stream_Size); - end Inflate_Init; - - ------------------------ - -- Last_Error_Message -- - ------------------------ - - function Last_Error_Message (Strm : in Z_Stream) return String is - use Interfaces.C.Strings; - begin - if Strm.msg = Null_Ptr then - return ""; - else - return Value (Strm.msg); - end if; - end Last_Error_Message; - - ------------ - -- Set_In -- - ------------ - - procedure Set_In - (Strm : in out Z_Stream; - Buffer : in Voidp; - Size : in UInt) is - begin - Strm.Next_In := Buffer; - Strm.Avail_In := Size; - end Set_In; - - ------------------ - -- Set_Mem_Func -- - ------------------ - - procedure Set_Mem_Func - (Strm : in out Z_Stream; - Opaque : in Voidp; - Alloc : in alloc_func; - Free : in free_func) is - begin - Strm.opaque := Opaque; - Strm.zalloc := Alloc; - Strm.zfree := Free; - end Set_Mem_Func; - - ------------- - -- Set_Out -- - ------------- - - procedure Set_Out - (Strm : in out Z_Stream; - Buffer : in Voidp; - Size : in UInt) is - begin - Strm.Next_Out := Buffer; - Strm.Avail_Out := Size; - end Set_Out; - - -------------- - -- Total_In -- - -------------- - - function Total_In (Strm : in Z_Stream) return ULong is - begin - return Strm.Total_In; - end Total_In; - - --------------- - -- Total_Out -- - --------------- - - function Total_Out (Strm : in Z_Stream) return ULong is - begin - return Strm.Total_Out; - end Total_Out; - -end ZLib.Thin; diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/zlib-thin.ads b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/zlib-thin.ads deleted file mode 100644 index d4407eb8..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/zlib-thin.ads +++ /dev/null @@ -1,450 +0,0 @@ ----------------------------------------------------------------- --- ZLib for Ada thick binding. -- --- -- --- Copyright (C) 2002-2003 Dmitriy Anisimkov -- --- -- --- Open source license information is in the zlib.ads file. -- ----------------------------------------------------------------- - --- $Id: zlib-thin.ads,v 1.11 2004/07/23 06:33:11 vagul Exp $ - -with Interfaces.C.Strings; - -with System; - -private package ZLib.Thin is - - -- From zconf.h - - MAX_MEM_LEVEL : constant := 9; -- zconf.h:105 - -- zconf.h:105 - MAX_WBITS : constant := 15; -- zconf.h:115 - -- 32K LZ77 window - -- zconf.h:115 - SEEK_SET : constant := 8#0000#; -- zconf.h:244 - -- Seek from beginning of file. - -- zconf.h:244 - SEEK_CUR : constant := 1; -- zconf.h:245 - -- Seek from current position. - -- zconf.h:245 - SEEK_END : constant := 2; -- zconf.h:246 - -- Set file pointer to EOF plus "offset" - -- zconf.h:246 - - type Byte is new Interfaces.C.unsigned_char; -- 8 bits - -- zconf.h:214 - type UInt is new Interfaces.C.unsigned; -- 16 bits or more - -- zconf.h:216 - type Int is new Interfaces.C.int; - - type ULong is new Interfaces.C.unsigned_long; -- 32 bits or more - -- zconf.h:217 - subtype Chars_Ptr is Interfaces.C.Strings.chars_ptr; - - type ULong_Access is access ULong; - type Int_Access is access Int; - - subtype Voidp is System.Address; -- zconf.h:232 - - subtype Byte_Access is Voidp; - - Nul : constant Voidp := System.Null_Address; - -- end from zconf - - Z_NO_FLUSH : constant := 8#0000#; -- zlib.h:125 - -- zlib.h:125 - Z_PARTIAL_FLUSH : constant := 1; -- zlib.h:126 - -- will be removed, use - -- Z_SYNC_FLUSH instead - -- zlib.h:126 - Z_SYNC_FLUSH : constant := 2; -- zlib.h:127 - -- zlib.h:127 - Z_FULL_FLUSH : constant := 3; -- zlib.h:128 - -- zlib.h:128 - Z_FINISH : constant := 4; -- zlib.h:129 - -- zlib.h:129 - Z_OK : constant := 8#0000#; -- zlib.h:132 - -- zlib.h:132 - Z_STREAM_END : constant := 1; -- zlib.h:133 - -- zlib.h:133 - Z_NEED_DICT : constant := 2; -- zlib.h:134 - -- zlib.h:134 - Z_ERRNO : constant := -1; -- zlib.h:135 - -- zlib.h:135 - Z_STREAM_ERROR : constant := -2; -- zlib.h:136 - -- zlib.h:136 - Z_DATA_ERROR : constant := -3; -- zlib.h:137 - -- zlib.h:137 - Z_MEM_ERROR : constant := -4; -- zlib.h:138 - -- zlib.h:138 - Z_BUF_ERROR : constant := -5; -- zlib.h:139 - -- zlib.h:139 - Z_VERSION_ERROR : constant := -6; -- zlib.h:140 - -- zlib.h:140 - Z_NO_COMPRESSION : constant := 8#0000#; -- zlib.h:145 - -- zlib.h:145 - Z_BEST_SPEED : constant := 1; -- zlib.h:146 - -- zlib.h:146 - Z_BEST_COMPRESSION : constant := 9; -- zlib.h:147 - -- zlib.h:147 - Z_DEFAULT_COMPRESSION : constant := -1; -- zlib.h:148 - -- zlib.h:148 - Z_FILTERED : constant := 1; -- zlib.h:151 - -- zlib.h:151 - Z_HUFFMAN_ONLY : constant := 2; -- zlib.h:152 - -- zlib.h:152 - Z_DEFAULT_STRATEGY : constant := 8#0000#; -- zlib.h:153 - -- zlib.h:153 - Z_BINARY : constant := 8#0000#; -- zlib.h:156 - -- zlib.h:156 - Z_ASCII : constant := 1; -- zlib.h:157 - -- zlib.h:157 - Z_UNKNOWN : constant := 2; -- zlib.h:158 - -- zlib.h:158 - Z_DEFLATED : constant := 8; -- zlib.h:161 - -- zlib.h:161 - Z_NULL : constant := 8#0000#; -- zlib.h:164 - -- for initializing zalloc, zfree, opaque - -- zlib.h:164 - type gzFile is new Voidp; -- zlib.h:646 - - type Z_Stream is private; - - type Z_Streamp is access all Z_Stream; -- zlib.h:89 - - type alloc_func is access function - (Opaque : Voidp; - Items : UInt; - Size : UInt) - return Voidp; -- zlib.h:63 - - type free_func is access procedure (opaque : Voidp; address : Voidp); - - function zlibVersion return Chars_Ptr; - - function Deflate (strm : Z_Streamp; flush : Int) return Int; - - function DeflateEnd (strm : Z_Streamp) return Int; - - function Inflate (strm : Z_Streamp; flush : Int) return Int; - - function InflateEnd (strm : Z_Streamp) return Int; - - function deflateSetDictionary - (strm : Z_Streamp; - dictionary : Byte_Access; - dictLength : UInt) - return Int; - - function deflateCopy (dest : Z_Streamp; source : Z_Streamp) return Int; - -- zlib.h:478 - - function deflateReset (strm : Z_Streamp) return Int; -- zlib.h:495 - - function deflateParams - (strm : Z_Streamp; - level : Int; - strategy : Int) - return Int; -- zlib.h:506 - - function inflateSetDictionary - (strm : Z_Streamp; - dictionary : Byte_Access; - dictLength : UInt) - return Int; -- zlib.h:548 - - function inflateSync (strm : Z_Streamp) return Int; -- zlib.h:565 - - function inflateReset (strm : Z_Streamp) return Int; -- zlib.h:580 - - function compress - (dest : Byte_Access; - destLen : ULong_Access; - source : Byte_Access; - sourceLen : ULong) - return Int; -- zlib.h:601 - - function compress2 - (dest : Byte_Access; - destLen : ULong_Access; - source : Byte_Access; - sourceLen : ULong; - level : Int) - return Int; -- zlib.h:615 - - function uncompress - (dest : Byte_Access; - destLen : ULong_Access; - source : Byte_Access; - sourceLen : ULong) - return Int; - - function gzopen (path : Chars_Ptr; mode : Chars_Ptr) return gzFile; - - function gzdopen (fd : Int; mode : Chars_Ptr) return gzFile; - - function gzsetparams - (file : gzFile; - level : Int; - strategy : Int) - return Int; - - function gzread - (file : gzFile; - buf : Voidp; - len : UInt) - return Int; - - function gzwrite - (file : in gzFile; - buf : in Voidp; - len : in UInt) - return Int; - - function gzprintf (file : in gzFile; format : in Chars_Ptr) return Int; - - function gzputs (file : in gzFile; s : in Chars_Ptr) return Int; - - function gzgets - (file : gzFile; - buf : Chars_Ptr; - len : Int) - return Chars_Ptr; - - function gzputc (file : gzFile; char : Int) return Int; - - function gzgetc (file : gzFile) return Int; - - function gzflush (file : gzFile; flush : Int) return Int; - - function gzseek - (file : gzFile; - offset : Int; - whence : Int) - return Int; - - function gzrewind (file : gzFile) return Int; - - function gztell (file : gzFile) return Int; - - function gzeof (file : gzFile) return Int; - - function gzclose (file : gzFile) return Int; - - function gzerror (file : gzFile; errnum : Int_Access) return Chars_Ptr; - - function adler32 - (adler : ULong; - buf : Byte_Access; - len : UInt) - return ULong; - - function crc32 - (crc : ULong; - buf : Byte_Access; - len : UInt) - return ULong; - - function deflateInit - (strm : Z_Streamp; - level : Int; - version : Chars_Ptr; - stream_size : Int) - return Int; - - function deflateInit2 - (strm : Z_Streamp; - level : Int; - method : Int; - windowBits : Int; - memLevel : Int; - strategy : Int; - version : Chars_Ptr; - stream_size : Int) - return Int; - - function Deflate_Init - (strm : Z_Streamp; - level : Int; - method : Int; - windowBits : Int; - memLevel : Int; - strategy : Int) - return Int; - pragma Inline (Deflate_Init); - - function inflateInit - (strm : Z_Streamp; - version : Chars_Ptr; - stream_size : Int) - return Int; - - function inflateInit2 - (strm : in Z_Streamp; - windowBits : in Int; - version : in Chars_Ptr; - stream_size : in Int) - return Int; - - function inflateBackInit - (strm : in Z_Streamp; - windowBits : in Int; - window : in Byte_Access; - version : in Chars_Ptr; - stream_size : in Int) - return Int; - -- Size of window have to be 2**windowBits. - - function Inflate_Init (strm : Z_Streamp; windowBits : Int) return Int; - pragma Inline (Inflate_Init); - - function zError (err : Int) return Chars_Ptr; - - function inflateSyncPoint (z : Z_Streamp) return Int; - - function get_crc_table return ULong_Access; - - -- Interface to the available fields of the z_stream structure. - -- The application must update next_in and avail_in when avail_in has - -- dropped to zero. It must update next_out and avail_out when avail_out - -- has dropped to zero. The application must initialize zalloc, zfree and - -- opaque before calling the init function. - - procedure Set_In - (Strm : in out Z_Stream; - Buffer : in Voidp; - Size : in UInt); - pragma Inline (Set_In); - - procedure Set_Out - (Strm : in out Z_Stream; - Buffer : in Voidp; - Size : in UInt); - pragma Inline (Set_Out); - - procedure Set_Mem_Func - (Strm : in out Z_Stream; - Opaque : in Voidp; - Alloc : in alloc_func; - Free : in free_func); - pragma Inline (Set_Mem_Func); - - function Last_Error_Message (Strm : in Z_Stream) return String; - pragma Inline (Last_Error_Message); - - function Avail_Out (Strm : in Z_Stream) return UInt; - pragma Inline (Avail_Out); - - function Avail_In (Strm : in Z_Stream) return UInt; - pragma Inline (Avail_In); - - function Total_In (Strm : in Z_Stream) return ULong; - pragma Inline (Total_In); - - function Total_Out (Strm : in Z_Stream) return ULong; - pragma Inline (Total_Out); - - function inflateCopy - (dest : in Z_Streamp; - Source : in Z_Streamp) - return Int; - - function compressBound (Source_Len : in ULong) return ULong; - - function deflateBound - (Strm : in Z_Streamp; - Source_Len : in ULong) - return ULong; - - function gzungetc (C : in Int; File : in gzFile) return Int; - - function zlibCompileFlags return ULong; - -private - - type Z_Stream is record -- zlib.h:68 - Next_In : Voidp := Nul; -- next input byte - Avail_In : UInt := 0; -- number of bytes available at next_in - Total_In : ULong := 0; -- total nb of input bytes read so far - Next_Out : Voidp := Nul; -- next output byte should be put there - Avail_Out : UInt := 0; -- remaining free space at next_out - Total_Out : ULong := 0; -- total nb of bytes output so far - msg : Chars_Ptr; -- last error message, NULL if no error - state : Voidp; -- not visible by applications - zalloc : alloc_func := null; -- used to allocate the internal state - zfree : free_func := null; -- used to free the internal state - opaque : Voidp; -- private data object passed to - -- zalloc and zfree - data_type : Int; -- best guess about the data type: - -- ascii or binary - adler : ULong; -- adler32 value of the uncompressed - -- data - reserved : ULong; -- reserved for future use - end record; - - pragma Convention (C, Z_Stream); - - pragma Import (C, zlibVersion, "zlibVersion"); - pragma Import (C, Deflate, "deflate"); - pragma Import (C, DeflateEnd, "deflateEnd"); - pragma Import (C, Inflate, "inflate"); - pragma Import (C, InflateEnd, "inflateEnd"); - pragma Import (C, deflateSetDictionary, "deflateSetDictionary"); - pragma Import (C, deflateCopy, "deflateCopy"); - pragma Import (C, deflateReset, "deflateReset"); - pragma Import (C, deflateParams, "deflateParams"); - pragma Import (C, inflateSetDictionary, "inflateSetDictionary"); - pragma Import (C, inflateSync, "inflateSync"); - pragma Import (C, inflateReset, "inflateReset"); - pragma Import (C, compress, "compress"); - pragma Import (C, compress2, "compress2"); - pragma Import (C, uncompress, "uncompress"); - pragma Import (C, gzopen, "gzopen"); - pragma Import (C, gzdopen, "gzdopen"); - pragma Import (C, gzsetparams, "gzsetparams"); - pragma Import (C, gzread, "gzread"); - pragma Import (C, gzwrite, "gzwrite"); - pragma Import (C, gzprintf, "gzprintf"); - pragma Import (C, gzputs, "gzputs"); - pragma Import (C, gzgets, "gzgets"); - pragma Import (C, gzputc, "gzputc"); - pragma Import (C, gzgetc, "gzgetc"); - pragma Import (C, gzflush, "gzflush"); - pragma Import (C, gzseek, "gzseek"); - pragma Import (C, gzrewind, "gzrewind"); - pragma Import (C, gztell, "gztell"); - pragma Import (C, gzeof, "gzeof"); - pragma Import (C, gzclose, "gzclose"); - pragma Import (C, gzerror, "gzerror"); - pragma Import (C, adler32, "adler32"); - pragma Import (C, crc32, "crc32"); - pragma Import (C, deflateInit, "deflateInit_"); - pragma Import (C, inflateInit, "inflateInit_"); - pragma Import (C, deflateInit2, "deflateInit2_"); - pragma Import (C, inflateInit2, "inflateInit2_"); - pragma Import (C, zError, "zError"); - pragma Import (C, inflateSyncPoint, "inflateSyncPoint"); - pragma Import (C, get_crc_table, "get_crc_table"); - - -- since zlib 1.2.0: - - pragma Import (C, inflateCopy, "inflateCopy"); - pragma Import (C, compressBound, "compressBound"); - pragma Import (C, deflateBound, "deflateBound"); - pragma Import (C, gzungetc, "gzungetc"); - pragma Import (C, zlibCompileFlags, "zlibCompileFlags"); - - pragma Import (C, inflateBackInit, "inflateBackInit_"); - - -- I stopped binding the inflateBack routines, becouse realize that - -- it does not support zlib and gzip headers for now, and have no - -- symmetric deflateBack routines. - -- ZLib-Ada is symmetric regarding deflate/inflate data transformation - -- and has a similar generic callback interface for the - -- deflate/inflate transformation based on the regular Deflate/Inflate - -- routines. - - -- pragma Import (C, inflateBack, "inflateBack"); - -- pragma Import (C, inflateBackEnd, "inflateBackEnd"); - -end ZLib.Thin; diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/zlib.adb b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/zlib.adb deleted file mode 100644 index 8b6fd686..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/zlib.adb +++ /dev/null @@ -1,701 +0,0 @@ ----------------------------------------------------------------- --- ZLib for Ada thick binding. -- --- -- --- Copyright (C) 2002-2004 Dmitriy Anisimkov -- --- -- --- Open source license information is in the zlib.ads file. -- ----------------------------------------------------------------- - --- $Id: zlib.adb,v 1.31 2004/09/06 06:53:19 vagul Exp $ - -with Ada.Exceptions; -with Ada.Unchecked_Conversion; -with Ada.Unchecked_Deallocation; - -with Interfaces.C.Strings; - -with ZLib.Thin; - -package body ZLib is - - use type Thin.Int; - - type Z_Stream is new Thin.Z_Stream; - - type Return_Code_Enum is - (OK, - STREAM_END, - NEED_DICT, - ERRNO, - STREAM_ERROR, - DATA_ERROR, - MEM_ERROR, - BUF_ERROR, - VERSION_ERROR); - - type Flate_Step_Function is access - function (Strm : in Thin.Z_Streamp; Flush : in Thin.Int) return Thin.Int; - pragma Convention (C, Flate_Step_Function); - - type Flate_End_Function is access - function (Ctrm : in Thin.Z_Streamp) return Thin.Int; - pragma Convention (C, Flate_End_Function); - - type Flate_Type is record - Step : Flate_Step_Function; - Done : Flate_End_Function; - end record; - - subtype Footer_Array is Stream_Element_Array (1 .. 8); - - Simple_GZip_Header : constant Stream_Element_Array (1 .. 10) - := (16#1f#, 16#8b#, -- Magic header - 16#08#, -- Z_DEFLATED - 16#00#, -- Flags - 16#00#, 16#00#, 16#00#, 16#00#, -- Time - 16#00#, -- XFlags - 16#03# -- OS code - ); - -- The simplest gzip header is not for informational, but just for - -- gzip format compatibility. - -- Note that some code below is using assumption - -- Simple_GZip_Header'Last > Footer_Array'Last, so do not make - -- Simple_GZip_Header'Last <= Footer_Array'Last. - - Return_Code : constant array (Thin.Int range <>) of Return_Code_Enum - := (0 => OK, - 1 => STREAM_END, - 2 => NEED_DICT, - -1 => ERRNO, - -2 => STREAM_ERROR, - -3 => DATA_ERROR, - -4 => MEM_ERROR, - -5 => BUF_ERROR, - -6 => VERSION_ERROR); - - Flate : constant array (Boolean) of Flate_Type - := (True => (Step => Thin.Deflate'Access, - Done => Thin.DeflateEnd'Access), - False => (Step => Thin.Inflate'Access, - Done => Thin.InflateEnd'Access)); - - Flush_Finish : constant array (Boolean) of Flush_Mode - := (True => Finish, False => No_Flush); - - procedure Raise_Error (Stream : in Z_Stream); - pragma Inline (Raise_Error); - - procedure Raise_Error (Message : in String); - pragma Inline (Raise_Error); - - procedure Check_Error (Stream : in Z_Stream; Code : in Thin.Int); - - procedure Free is new Ada.Unchecked_Deallocation - (Z_Stream, Z_Stream_Access); - - function To_Thin_Access is new Ada.Unchecked_Conversion - (Z_Stream_Access, Thin.Z_Streamp); - - procedure Translate_GZip - (Filter : in out Filter_Type; - In_Data : in Ada.Streams.Stream_Element_Array; - In_Last : out Ada.Streams.Stream_Element_Offset; - Out_Data : out Ada.Streams.Stream_Element_Array; - Out_Last : out Ada.Streams.Stream_Element_Offset; - Flush : in Flush_Mode); - -- Separate translate routine for make gzip header. - - procedure Translate_Auto - (Filter : in out Filter_Type; - In_Data : in Ada.Streams.Stream_Element_Array; - In_Last : out Ada.Streams.Stream_Element_Offset; - Out_Data : out Ada.Streams.Stream_Element_Array; - Out_Last : out Ada.Streams.Stream_Element_Offset; - Flush : in Flush_Mode); - -- translate routine without additional headers. - - ----------------- - -- Check_Error -- - ----------------- - - procedure Check_Error (Stream : in Z_Stream; Code : in Thin.Int) is - use type Thin.Int; - begin - if Code /= Thin.Z_OK then - Raise_Error - (Return_Code_Enum'Image (Return_Code (Code)) - & ": " & Last_Error_Message (Stream)); - end if; - end Check_Error; - - ----------- - -- Close -- - ----------- - - procedure Close - (Filter : in out Filter_Type; - Ignore_Error : in Boolean := False) - is - Code : Thin.Int; - begin - if not Ignore_Error and then not Is_Open (Filter) then - raise Status_Error; - end if; - - Code := Flate (Filter.Compression).Done (To_Thin_Access (Filter.Strm)); - - if Ignore_Error or else Code = Thin.Z_OK then - Free (Filter.Strm); - else - declare - Error_Message : constant String - := Last_Error_Message (Filter.Strm.all); - begin - Free (Filter.Strm); - Ada.Exceptions.Raise_Exception - (ZLib_Error'Identity, - Return_Code_Enum'Image (Return_Code (Code)) - & ": " & Error_Message); - end; - end if; - end Close; - - ----------- - -- CRC32 -- - ----------- - - function CRC32 - (CRC : in Unsigned_32; - Data : in Ada.Streams.Stream_Element_Array) - return Unsigned_32 - is - use Thin; - begin - return Unsigned_32 (crc32 (ULong (CRC), - Data'Address, - Data'Length)); - end CRC32; - - procedure CRC32 - (CRC : in out Unsigned_32; - Data : in Ada.Streams.Stream_Element_Array) is - begin - CRC := CRC32 (CRC, Data); - end CRC32; - - ------------------ - -- Deflate_Init -- - ------------------ - - procedure Deflate_Init - (Filter : in out Filter_Type; - Level : in Compression_Level := Default_Compression; - Strategy : in Strategy_Type := Default_Strategy; - Method : in Compression_Method := Deflated; - Window_Bits : in Window_Bits_Type := Default_Window_Bits; - Memory_Level : in Memory_Level_Type := Default_Memory_Level; - Header : in Header_Type := Default) - is - use type Thin.Int; - Win_Bits : Thin.Int := Thin.Int (Window_Bits); - begin - if Is_Open (Filter) then - raise Status_Error; - end if; - - -- We allow ZLib to make header only in case of default header type. - -- Otherwise we would either do header by ourselfs, or do not do - -- header at all. - - if Header = None or else Header = GZip then - Win_Bits := -Win_Bits; - end if; - - -- For the GZip CRC calculation and make headers. - - if Header = GZip then - Filter.CRC := 0; - Filter.Offset := Simple_GZip_Header'First; - else - Filter.Offset := Simple_GZip_Header'Last + 1; - end if; - - Filter.Strm := new Z_Stream; - Filter.Compression := True; - Filter.Stream_End := False; - Filter.Header := Header; - - if Thin.Deflate_Init - (To_Thin_Access (Filter.Strm), - Level => Thin.Int (Level), - method => Thin.Int (Method), - windowBits => Win_Bits, - memLevel => Thin.Int (Memory_Level), - strategy => Thin.Int (Strategy)) /= Thin.Z_OK - then - Raise_Error (Filter.Strm.all); - end if; - end Deflate_Init; - - ----------- - -- Flush -- - ----------- - - procedure Flush - (Filter : in out Filter_Type; - Out_Data : out Ada.Streams.Stream_Element_Array; - Out_Last : out Ada.Streams.Stream_Element_Offset; - Flush : in Flush_Mode) - is - No_Data : Stream_Element_Array := (1 .. 0 => 0); - Last : Stream_Element_Offset; - begin - Translate (Filter, No_Data, Last, Out_Data, Out_Last, Flush); - end Flush; - - ----------------------- - -- Generic_Translate -- - ----------------------- - - procedure Generic_Translate - (Filter : in out ZLib.Filter_Type; - In_Buffer_Size : in Integer := Default_Buffer_Size; - Out_Buffer_Size : in Integer := Default_Buffer_Size) - is - In_Buffer : Stream_Element_Array - (1 .. Stream_Element_Offset (In_Buffer_Size)); - Out_Buffer : Stream_Element_Array - (1 .. Stream_Element_Offset (Out_Buffer_Size)); - Last : Stream_Element_Offset; - In_Last : Stream_Element_Offset; - In_First : Stream_Element_Offset; - Out_Last : Stream_Element_Offset; - begin - Main : loop - Data_In (In_Buffer, Last); - - In_First := In_Buffer'First; - - loop - Translate - (Filter => Filter, - In_Data => In_Buffer (In_First .. Last), - In_Last => In_Last, - Out_Data => Out_Buffer, - Out_Last => Out_Last, - Flush => Flush_Finish (Last < In_Buffer'First)); - - if Out_Buffer'First <= Out_Last then - Data_Out (Out_Buffer (Out_Buffer'First .. Out_Last)); - end if; - - exit Main when Stream_End (Filter); - - -- The end of in buffer. - - exit when In_Last = Last; - - In_First := In_Last + 1; - end loop; - end loop Main; - - end Generic_Translate; - - ------------------ - -- Inflate_Init -- - ------------------ - - procedure Inflate_Init - (Filter : in out Filter_Type; - Window_Bits : in Window_Bits_Type := Default_Window_Bits; - Header : in Header_Type := Default) - is - use type Thin.Int; - Win_Bits : Thin.Int := Thin.Int (Window_Bits); - - procedure Check_Version; - -- Check the latest header types compatibility. - - procedure Check_Version is - begin - if Version <= "1.1.4" then - Raise_Error - ("Inflate header type " & Header_Type'Image (Header) - & " incompatible with ZLib version " & Version); - end if; - end Check_Version; - - begin - if Is_Open (Filter) then - raise Status_Error; - end if; - - case Header is - when None => - Check_Version; - - -- Inflate data without headers determined - -- by negative Win_Bits. - - Win_Bits := -Win_Bits; - when GZip => - Check_Version; - - -- Inflate gzip data defined by flag 16. - - Win_Bits := Win_Bits + 16; - when Auto => - Check_Version; - - -- Inflate with automatic detection - -- of gzip or native header defined by flag 32. - - Win_Bits := Win_Bits + 32; - when Default => null; - end case; - - Filter.Strm := new Z_Stream; - Filter.Compression := False; - Filter.Stream_End := False; - Filter.Header := Header; - - if Thin.Inflate_Init - (To_Thin_Access (Filter.Strm), Win_Bits) /= Thin.Z_OK - then - Raise_Error (Filter.Strm.all); - end if; - end Inflate_Init; - - ------------- - -- Is_Open -- - ------------- - - function Is_Open (Filter : in Filter_Type) return Boolean is - begin - return Filter.Strm /= null; - end Is_Open; - - ----------------- - -- Raise_Error -- - ----------------- - - procedure Raise_Error (Message : in String) is - begin - Ada.Exceptions.Raise_Exception (ZLib_Error'Identity, Message); - end Raise_Error; - - procedure Raise_Error (Stream : in Z_Stream) is - begin - Raise_Error (Last_Error_Message (Stream)); - end Raise_Error; - - ---------- - -- Read -- - ---------- - - procedure Read - (Filter : in out Filter_Type; - Item : out Ada.Streams.Stream_Element_Array; - Last : out Ada.Streams.Stream_Element_Offset; - Flush : in Flush_Mode := No_Flush) - is - In_Last : Stream_Element_Offset; - Item_First : Ada.Streams.Stream_Element_Offset := Item'First; - V_Flush : Flush_Mode := Flush; - - begin - pragma Assert (Rest_First in Buffer'First .. Buffer'Last + 1); - pragma Assert (Rest_Last in Buffer'First - 1 .. Buffer'Last); - - loop - if Rest_Last = Buffer'First - 1 then - V_Flush := Finish; - - elsif Rest_First > Rest_Last then - Read (Buffer, Rest_Last); - Rest_First := Buffer'First; - - if Rest_Last < Buffer'First then - V_Flush := Finish; - end if; - end if; - - Translate - (Filter => Filter, - In_Data => Buffer (Rest_First .. Rest_Last), - In_Last => In_Last, - Out_Data => Item (Item_First .. Item'Last), - Out_Last => Last, - Flush => V_Flush); - - Rest_First := In_Last + 1; - - exit when Stream_End (Filter) - or else Last = Item'Last - or else (Last >= Item'First and then Allow_Read_Some); - - Item_First := Last + 1; - end loop; - end Read; - - ---------------- - -- Stream_End -- - ---------------- - - function Stream_End (Filter : in Filter_Type) return Boolean is - begin - if Filter.Header = GZip and Filter.Compression then - return Filter.Stream_End - and then Filter.Offset = Footer_Array'Last + 1; - else - return Filter.Stream_End; - end if; - end Stream_End; - - -------------- - -- Total_In -- - -------------- - - function Total_In (Filter : in Filter_Type) return Count is - begin - return Count (Thin.Total_In (To_Thin_Access (Filter.Strm).all)); - end Total_In; - - --------------- - -- Total_Out -- - --------------- - - function Total_Out (Filter : in Filter_Type) return Count is - begin - return Count (Thin.Total_Out (To_Thin_Access (Filter.Strm).all)); - end Total_Out; - - --------------- - -- Translate -- - --------------- - - procedure Translate - (Filter : in out Filter_Type; - In_Data : in Ada.Streams.Stream_Element_Array; - In_Last : out Ada.Streams.Stream_Element_Offset; - Out_Data : out Ada.Streams.Stream_Element_Array; - Out_Last : out Ada.Streams.Stream_Element_Offset; - Flush : in Flush_Mode) is - begin - if Filter.Header = GZip and then Filter.Compression then - Translate_GZip - (Filter => Filter, - In_Data => In_Data, - In_Last => In_Last, - Out_Data => Out_Data, - Out_Last => Out_Last, - Flush => Flush); - else - Translate_Auto - (Filter => Filter, - In_Data => In_Data, - In_Last => In_Last, - Out_Data => Out_Data, - Out_Last => Out_Last, - Flush => Flush); - end if; - end Translate; - - -------------------- - -- Translate_Auto -- - -------------------- - - procedure Translate_Auto - (Filter : in out Filter_Type; - In_Data : in Ada.Streams.Stream_Element_Array; - In_Last : out Ada.Streams.Stream_Element_Offset; - Out_Data : out Ada.Streams.Stream_Element_Array; - Out_Last : out Ada.Streams.Stream_Element_Offset; - Flush : in Flush_Mode) - is - use type Thin.Int; - Code : Thin.Int; - - begin - if not Is_Open (Filter) then - raise Status_Error; - end if; - - if Out_Data'Length = 0 and then In_Data'Length = 0 then - raise Constraint_Error; - end if; - - Set_Out (Filter.Strm.all, Out_Data'Address, Out_Data'Length); - Set_In (Filter.Strm.all, In_Data'Address, In_Data'Length); - - Code := Flate (Filter.Compression).Step - (To_Thin_Access (Filter.Strm), - Thin.Int (Flush)); - - if Code = Thin.Z_STREAM_END then - Filter.Stream_End := True; - else - Check_Error (Filter.Strm.all, Code); - end if; - - In_Last := In_Data'Last - - Stream_Element_Offset (Avail_In (Filter.Strm.all)); - Out_Last := Out_Data'Last - - Stream_Element_Offset (Avail_Out (Filter.Strm.all)); - end Translate_Auto; - - -------------------- - -- Translate_GZip -- - -------------------- - - procedure Translate_GZip - (Filter : in out Filter_Type; - In_Data : in Ada.Streams.Stream_Element_Array; - In_Last : out Ada.Streams.Stream_Element_Offset; - Out_Data : out Ada.Streams.Stream_Element_Array; - Out_Last : out Ada.Streams.Stream_Element_Offset; - Flush : in Flush_Mode) - is - Out_First : Stream_Element_Offset; - - procedure Add_Data (Data : in Stream_Element_Array); - -- Add data to stream from the Filter.Offset till necessary, - -- used for add gzip headr/footer. - - procedure Put_32 - (Item : in out Stream_Element_Array; - Data : in Unsigned_32); - pragma Inline (Put_32); - - -------------- - -- Add_Data -- - -------------- - - procedure Add_Data (Data : in Stream_Element_Array) is - Data_First : Stream_Element_Offset renames Filter.Offset; - Data_Last : Stream_Element_Offset; - Data_Len : Stream_Element_Offset; -- -1 - Out_Len : Stream_Element_Offset; -- -1 - begin - Out_First := Out_Last + 1; - - if Data_First > Data'Last then - return; - end if; - - Data_Len := Data'Last - Data_First; - Out_Len := Out_Data'Last - Out_First; - - if Data_Len <= Out_Len then - Out_Last := Out_First + Data_Len; - Data_Last := Data'Last; - else - Out_Last := Out_Data'Last; - Data_Last := Data_First + Out_Len; - end if; - - Out_Data (Out_First .. Out_Last) := Data (Data_First .. Data_Last); - - Data_First := Data_Last + 1; - Out_First := Out_Last + 1; - end Add_Data; - - ------------ - -- Put_32 -- - ------------ - - procedure Put_32 - (Item : in out Stream_Element_Array; - Data : in Unsigned_32) - is - D : Unsigned_32 := Data; - begin - for J in Item'First .. Item'First + 3 loop - Item (J) := Stream_Element (D and 16#FF#); - D := Shift_Right (D, 8); - end loop; - end Put_32; - - begin - Out_Last := Out_Data'First - 1; - - if not Filter.Stream_End then - Add_Data (Simple_GZip_Header); - - Translate_Auto - (Filter => Filter, - In_Data => In_Data, - In_Last => In_Last, - Out_Data => Out_Data (Out_First .. Out_Data'Last), - Out_Last => Out_Last, - Flush => Flush); - - CRC32 (Filter.CRC, In_Data (In_Data'First .. In_Last)); - end if; - - if Filter.Stream_End and then Out_Last <= Out_Data'Last then - -- This detection method would work only when - -- Simple_GZip_Header'Last > Footer_Array'Last - - if Filter.Offset = Simple_GZip_Header'Last + 1 then - Filter.Offset := Footer_Array'First; - end if; - - declare - Footer : Footer_Array; - begin - Put_32 (Footer, Filter.CRC); - Put_32 (Footer (Footer'First + 4 .. Footer'Last), - Unsigned_32 (Total_In (Filter))); - Add_Data (Footer); - end; - end if; - end Translate_GZip; - - ------------- - -- Version -- - ------------- - - function Version return String is - begin - return Interfaces.C.Strings.Value (Thin.zlibVersion); - end Version; - - ----------- - -- Write -- - ----------- - - procedure Write - (Filter : in out Filter_Type; - Item : in Ada.Streams.Stream_Element_Array; - Flush : in Flush_Mode := No_Flush) - is - Buffer : Stream_Element_Array (1 .. Buffer_Size); - In_Last : Stream_Element_Offset; - Out_Last : Stream_Element_Offset; - In_First : Stream_Element_Offset := Item'First; - begin - if Item'Length = 0 and Flush = No_Flush then - return; - end if; - - loop - Translate - (Filter => Filter, - In_Data => Item (In_First .. Item'Last), - In_Last => In_Last, - Out_Data => Buffer, - Out_Last => Out_Last, - Flush => Flush); - - if Out_Last >= Buffer'First then - Write (Buffer (1 .. Out_Last)); - end if; - - exit when In_Last = Item'Last or Stream_End (Filter); - - In_First := In_Last + 1; - end loop; - end Write; - -end ZLib; diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/zlib.ads b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/zlib.ads deleted file mode 100644 index 79ffc409..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/zlib.ads +++ /dev/null @@ -1,328 +0,0 @@ ------------------------------------------------------------------------------- --- ZLib for Ada thick binding. -- --- -- --- Copyright (C) 2002-2004 Dmitriy Anisimkov -- --- -- --- This library is free software; you can redistribute it and/or modify -- --- it under the terms of the GNU General Public License as published by -- --- the Free Software Foundation; either version 2 of the License, or (at -- --- your option) any later version. -- --- -- --- This library is distributed in the hope that it will be useful, but -- --- WITHOUT ANY WARRANTY; without even the implied warranty of -- --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- --- General Public License for more details. -- --- -- --- You should have received a copy of the GNU General Public License -- --- along with this library; if not, write to the Free Software Foundation, -- --- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -- --- -- --- As a special exception, if other files instantiate generics from this -- --- unit, or you link this unit with other files to produce an executable, -- --- this unit does not by itself cause the resulting executable to be -- --- covered by the GNU General Public License. This exception does not -- --- however invalidate any other reasons why the executable file might be -- --- covered by the GNU Public License. -- ------------------------------------------------------------------------------- - --- $Id: zlib.ads,v 1.26 2004/09/06 06:53:19 vagul Exp $ - -with Ada.Streams; - -with Interfaces; - -package ZLib is - - ZLib_Error : exception; - Status_Error : exception; - - type Compression_Level is new Integer range -1 .. 9; - - type Flush_Mode is private; - - type Compression_Method is private; - - type Window_Bits_Type is new Integer range 8 .. 15; - - type Memory_Level_Type is new Integer range 1 .. 9; - - type Unsigned_32 is new Interfaces.Unsigned_32; - - type Strategy_Type is private; - - type Header_Type is (None, Auto, Default, GZip); - -- Header type usage have a some limitation for inflate. - -- See comment for Inflate_Init. - - subtype Count is Ada.Streams.Stream_Element_Count; - - Default_Memory_Level : constant Memory_Level_Type := 8; - Default_Window_Bits : constant Window_Bits_Type := 15; - - ---------------------------------- - -- Compression method constants -- - ---------------------------------- - - Deflated : constant Compression_Method; - -- Only one method allowed in this ZLib version - - --------------------------------- - -- Compression level constants -- - --------------------------------- - - No_Compression : constant Compression_Level := 0; - Best_Speed : constant Compression_Level := 1; - Best_Compression : constant Compression_Level := 9; - Default_Compression : constant Compression_Level := -1; - - -------------------------- - -- Flush mode constants -- - -------------------------- - - No_Flush : constant Flush_Mode; - -- Regular way for compression, no flush - - Partial_Flush : constant Flush_Mode; - -- Will be removed, use Z_SYNC_FLUSH instead - - Sync_Flush : constant Flush_Mode; - -- All pending output is flushed to the output buffer and the output - -- is aligned on a byte boundary, so that the decompressor can get all - -- input data available so far. (In particular avail_in is zero after the - -- call if enough output space has been provided before the call.) - -- Flushing may degrade compression for some compression algorithms and so - -- it should be used only when necessary. - - Block_Flush : constant Flush_Mode; - -- Z_BLOCK requests that inflate() stop - -- if and when it get to the next deflate block boundary. When decoding the - -- zlib or gzip format, this will cause inflate() to return immediately - -- after the header and before the first block. When doing a raw inflate, - -- inflate() will go ahead and process the first block, and will return - -- when it gets to the end of that block, or when it runs out of data. - - Full_Flush : constant Flush_Mode; - -- All output is flushed as with SYNC_FLUSH, and the compression state - -- is reset so that decompression can restart from this point if previous - -- compressed data has been damaged or if random access is desired. Using - -- Full_Flush too often can seriously degrade the compression. - - Finish : constant Flush_Mode; - -- Just for tell the compressor that input data is complete. - - ------------------------------------ - -- Compression strategy constants -- - ------------------------------------ - - -- RLE stategy could be used only in version 1.2.0 and later. - - Filtered : constant Strategy_Type; - Huffman_Only : constant Strategy_Type; - RLE : constant Strategy_Type; - Default_Strategy : constant Strategy_Type; - - Default_Buffer_Size : constant := 4096; - - type Filter_Type is tagged limited private; - -- The filter is for compression and for decompression. - -- The usage of the type is depend of its initialization. - - function Version return String; - pragma Inline (Version); - -- Return string representation of the ZLib version. - - procedure Deflate_Init - (Filter : in out Filter_Type; - Level : in Compression_Level := Default_Compression; - Strategy : in Strategy_Type := Default_Strategy; - Method : in Compression_Method := Deflated; - Window_Bits : in Window_Bits_Type := Default_Window_Bits; - Memory_Level : in Memory_Level_Type := Default_Memory_Level; - Header : in Header_Type := Default); - -- Compressor initialization. - -- When Header parameter is Auto or Default, then default zlib header - -- would be provided for compressed data. - -- When Header is GZip, then gzip header would be set instead of - -- default header. - -- When Header is None, no header would be set for compressed data. - - procedure Inflate_Init - (Filter : in out Filter_Type; - Window_Bits : in Window_Bits_Type := Default_Window_Bits; - Header : in Header_Type := Default); - -- Decompressor initialization. - -- Default header type mean that ZLib default header is expecting in the - -- input compressed stream. - -- Header type None mean that no header is expecting in the input stream. - -- GZip header type mean that GZip header is expecting in the - -- input compressed stream. - -- Auto header type mean that header type (GZip or Native) would be - -- detected automatically in the input stream. - -- Note that header types parameter values None, GZip and Auto are - -- supported for inflate routine only in ZLib versions 1.2.0.2 and later. - -- Deflate_Init is supporting all header types. - - function Is_Open (Filter : in Filter_Type) return Boolean; - pragma Inline (Is_Open); - -- Is the filter opened for compression or decompression. - - procedure Close - (Filter : in out Filter_Type; - Ignore_Error : in Boolean := False); - -- Closing the compression or decompressor. - -- If stream is closing before the complete and Ignore_Error is False, - -- The exception would be raised. - - generic - with procedure Data_In - (Item : out Ada.Streams.Stream_Element_Array; - Last : out Ada.Streams.Stream_Element_Offset); - with procedure Data_Out - (Item : in Ada.Streams.Stream_Element_Array); - procedure Generic_Translate - (Filter : in out Filter_Type; - In_Buffer_Size : in Integer := Default_Buffer_Size; - Out_Buffer_Size : in Integer := Default_Buffer_Size); - -- Compress/decompress data fetch from Data_In routine and pass the result - -- to the Data_Out routine. User should provide Data_In and Data_Out - -- for compression/decompression data flow. - -- Compression or decompression depend on Filter initialization. - - function Total_In (Filter : in Filter_Type) return Count; - pragma Inline (Total_In); - -- Returns total number of input bytes read so far - - function Total_Out (Filter : in Filter_Type) return Count; - pragma Inline (Total_Out); - -- Returns total number of bytes output so far - - function CRC32 - (CRC : in Unsigned_32; - Data : in Ada.Streams.Stream_Element_Array) - return Unsigned_32; - pragma Inline (CRC32); - -- Compute CRC32, it could be necessary for make gzip format - - procedure CRC32 - (CRC : in out Unsigned_32; - Data : in Ada.Streams.Stream_Element_Array); - pragma Inline (CRC32); - -- Compute CRC32, it could be necessary for make gzip format - - ------------------------------------------------- - -- Below is more complex low level routines. -- - ------------------------------------------------- - - procedure Translate - (Filter : in out Filter_Type; - In_Data : in Ada.Streams.Stream_Element_Array; - In_Last : out Ada.Streams.Stream_Element_Offset; - Out_Data : out Ada.Streams.Stream_Element_Array; - Out_Last : out Ada.Streams.Stream_Element_Offset; - Flush : in Flush_Mode); - -- Compress/decompress the In_Data buffer and place the result into - -- Out_Data. In_Last is the index of last element from In_Data accepted by - -- the Filter. Out_Last is the last element of the received data from - -- Filter. To tell the filter that incoming data are complete put the - -- Flush parameter to Finish. - - function Stream_End (Filter : in Filter_Type) return Boolean; - pragma Inline (Stream_End); - -- Return the true when the stream is complete. - - procedure Flush - (Filter : in out Filter_Type; - Out_Data : out Ada.Streams.Stream_Element_Array; - Out_Last : out Ada.Streams.Stream_Element_Offset; - Flush : in Flush_Mode); - pragma Inline (Flush); - -- Flushing the data from the compressor. - - generic - with procedure Write - (Item : in Ada.Streams.Stream_Element_Array); - -- User should provide this routine for accept - -- compressed/decompressed data. - - Buffer_Size : in Ada.Streams.Stream_Element_Offset - := Default_Buffer_Size; - -- Buffer size for Write user routine. - - procedure Write - (Filter : in out Filter_Type; - Item : in Ada.Streams.Stream_Element_Array; - Flush : in Flush_Mode := No_Flush); - -- Compress/Decompress data from Item to the generic parameter procedure - -- Write. Output buffer size could be set in Buffer_Size generic parameter. - - generic - with procedure Read - (Item : out Ada.Streams.Stream_Element_Array; - Last : out Ada.Streams.Stream_Element_Offset); - -- User should provide data for compression/decompression - -- thru this routine. - - Buffer : in out Ada.Streams.Stream_Element_Array; - -- Buffer for keep remaining data from the previous - -- back read. - - Rest_First, Rest_Last : in out Ada.Streams.Stream_Element_Offset; - -- Rest_First have to be initialized to Buffer'Last + 1 - -- Rest_Last have to be initialized to Buffer'Last - -- before usage. - - Allow_Read_Some : in Boolean := False; - -- Is it allowed to return Last < Item'Last before end of data. - - procedure Read - (Filter : in out Filter_Type; - Item : out Ada.Streams.Stream_Element_Array; - Last : out Ada.Streams.Stream_Element_Offset; - Flush : in Flush_Mode := No_Flush); - -- Compress/Decompress data from generic parameter procedure Read to the - -- Item. User should provide Buffer and initialized Rest_First, Rest_Last - -- indicators. If Allow_Read_Some is True, Read routines could return - -- Last < Item'Last only at end of stream. - -private - - use Ada.Streams; - - pragma Assert (Ada.Streams.Stream_Element'Size = 8); - pragma Assert (Ada.Streams.Stream_Element'Modulus = 2**8); - - type Flush_Mode is new Integer range 0 .. 5; - - type Compression_Method is new Integer range 8 .. 8; - - type Strategy_Type is new Integer range 0 .. 3; - - No_Flush : constant Flush_Mode := 0; - Partial_Flush : constant Flush_Mode := 1; - Sync_Flush : constant Flush_Mode := 2; - Full_Flush : constant Flush_Mode := 3; - Finish : constant Flush_Mode := 4; - Block_Flush : constant Flush_Mode := 5; - - Filtered : constant Strategy_Type := 1; - Huffman_Only : constant Strategy_Type := 2; - RLE : constant Strategy_Type := 3; - Default_Strategy : constant Strategy_Type := 0; - - Deflated : constant Compression_Method := 8; - - type Z_Stream; - - type Z_Stream_Access is access all Z_Stream; - - type Filter_Type is tagged limited record - Strm : Z_Stream_Access; - Compression : Boolean; - Stream_End : Boolean; - Header : Header_Type; - CRC : Unsigned_32; - Offset : Stream_Element_Offset; - -- Offset for gzip header/footer output. - end record; - -end ZLib; diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/zlib.gpr b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/zlib.gpr deleted file mode 100644 index 296b22aa..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/ada/zlib.gpr +++ /dev/null @@ -1,20 +0,0 @@ -project Zlib is - - for Languages use ("Ada"); - for Source_Dirs use ("."); - for Object_Dir use "."; - for Main use ("test.adb", "mtest.adb", "read.adb", "buffer_demo"); - - package Compiler is - for Default_Switches ("ada") use ("-gnatwcfilopru", "-gnatVcdfimorst", "-gnatyabcefhiklmnoprst"); - end Compiler; - - package Linker is - for Default_Switches ("ada") use ("-lz"); - end Linker; - - package Builder is - for Default_Switches ("ada") use ("-s", "-gnatQ"); - end Builder; - -end Zlib; diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/amd64/amd64-match.S b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/amd64/amd64-match.S deleted file mode 100644 index 81d4a1c9..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/amd64/amd64-match.S +++ /dev/null @@ -1,452 +0,0 @@ -/* - * match.S -- optimized version of longest_match() - * based on the similar work by Gilles Vollant, and Brian Raiter, written 1998 - * - * This is free software; you can redistribute it and/or modify it - * under the terms of the BSD License. Use by owners of Che Guevarra - * parafernalia is prohibited, where possible, and highly discouraged - * elsewhere. - */ - -#ifndef NO_UNDERLINE -# define match_init _match_init -# define longest_match _longest_match -#endif - -#define scanend ebx -#define scanendw bx -#define chainlenwmask edx /* high word: current chain len low word: s->wmask */ -#define curmatch rsi -#define curmatchd esi -#define windowbestlen r8 -#define scanalign r9 -#define scanalignd r9d -#define window r10 -#define bestlen r11 -#define bestlend r11d -#define scanstart r12d -#define scanstartw r12w -#define scan r13 -#define nicematch r14d -#define limit r15 -#define limitd r15d -#define prev rcx - -/* - * The 258 is a "magic number, not a parameter -- changing it - * breaks the hell loose - */ -#define MAX_MATCH (258) -#define MIN_MATCH (3) -#define MIN_LOOKAHEAD (MAX_MATCH + MIN_MATCH + 1) -#define MAX_MATCH_8 ((MAX_MATCH + 7) & ~7) - -/* stack frame offsets */ -#define LocalVarsSize (112) -#define _chainlenwmask ( 8-LocalVarsSize)(%rsp) -#define _windowbestlen (16-LocalVarsSize)(%rsp) -#define save_r14 (24-LocalVarsSize)(%rsp) -#define save_rsi (32-LocalVarsSize)(%rsp) -#define save_rbx (40-LocalVarsSize)(%rsp) -#define save_r12 (56-LocalVarsSize)(%rsp) -#define save_r13 (64-LocalVarsSize)(%rsp) -#define save_r15 (80-LocalVarsSize)(%rsp) - - -.globl match_init, longest_match - -/* - * On AMD64 the first argument of a function (in our case -- the pointer to - * deflate_state structure) is passed in %rdi, hence our offsets below are - * all off of that. - */ - -/* you can check the structure offset by running - -#include -#include -#include "deflate.h" - -void print_depl() -{ -deflate_state ds; -deflate_state *s=&ds; -printf("size pointer=%u\n",(int)sizeof(void*)); - -printf("#define dsWSize (%3u)(%%rdi)\n",(int)(((char*)&(s->w_size))-((char*)s))); -printf("#define dsWMask (%3u)(%%rdi)\n",(int)(((char*)&(s->w_mask))-((char*)s))); -printf("#define dsWindow (%3u)(%%rdi)\n",(int)(((char*)&(s->window))-((char*)s))); -printf("#define dsPrev (%3u)(%%rdi)\n",(int)(((char*)&(s->prev))-((char*)s))); -printf("#define dsMatchLen (%3u)(%%rdi)\n",(int)(((char*)&(s->match_length))-((char*)s))); -printf("#define dsPrevMatch (%3u)(%%rdi)\n",(int)(((char*)&(s->prev_match))-((char*)s))); -printf("#define dsStrStart (%3u)(%%rdi)\n",(int)(((char*)&(s->strstart))-((char*)s))); -printf("#define dsMatchStart (%3u)(%%rdi)\n",(int)(((char*)&(s->match_start))-((char*)s))); -printf("#define dsLookahead (%3u)(%%rdi)\n",(int)(((char*)&(s->lookahead))-((char*)s))); -printf("#define dsPrevLen (%3u)(%%rdi)\n",(int)(((char*)&(s->prev_length))-((char*)s))); -printf("#define dsMaxChainLen (%3u)(%%rdi)\n",(int)(((char*)&(s->max_chain_length))-((char*)s))); -printf("#define dsGoodMatch (%3u)(%%rdi)\n",(int)(((char*)&(s->good_match))-((char*)s))); -printf("#define dsNiceMatch (%3u)(%%rdi)\n",(int)(((char*)&(s->nice_match))-((char*)s))); -} - -*/ - - -/* - to compile for XCode 3.2 on MacOSX x86_64 - - run "gcc -g -c -DXCODE_MAC_X64_STRUCTURE amd64-match.S" - */ - - -#ifndef CURRENT_LINX_XCODE_MAC_X64_STRUCTURE -#define dsWSize ( 68)(%rdi) -#define dsWMask ( 76)(%rdi) -#define dsWindow ( 80)(%rdi) -#define dsPrev ( 96)(%rdi) -#define dsMatchLen (144)(%rdi) -#define dsPrevMatch (148)(%rdi) -#define dsStrStart (156)(%rdi) -#define dsMatchStart (160)(%rdi) -#define dsLookahead (164)(%rdi) -#define dsPrevLen (168)(%rdi) -#define dsMaxChainLen (172)(%rdi) -#define dsGoodMatch (188)(%rdi) -#define dsNiceMatch (192)(%rdi) - -#else - -#ifndef STRUCT_OFFSET -# define STRUCT_OFFSET (0) -#endif - - -#define dsWSize ( 56 + STRUCT_OFFSET)(%rdi) -#define dsWMask ( 64 + STRUCT_OFFSET)(%rdi) -#define dsWindow ( 72 + STRUCT_OFFSET)(%rdi) -#define dsPrev ( 88 + STRUCT_OFFSET)(%rdi) -#define dsMatchLen (136 + STRUCT_OFFSET)(%rdi) -#define dsPrevMatch (140 + STRUCT_OFFSET)(%rdi) -#define dsStrStart (148 + STRUCT_OFFSET)(%rdi) -#define dsMatchStart (152 + STRUCT_OFFSET)(%rdi) -#define dsLookahead (156 + STRUCT_OFFSET)(%rdi) -#define dsPrevLen (160 + STRUCT_OFFSET)(%rdi) -#define dsMaxChainLen (164 + STRUCT_OFFSET)(%rdi) -#define dsGoodMatch (180 + STRUCT_OFFSET)(%rdi) -#define dsNiceMatch (184 + STRUCT_OFFSET)(%rdi) - -#endif - - - - -.text - -/* uInt longest_match(deflate_state *deflatestate, IPos curmatch) */ - -longest_match: -/* - * Retrieve the function arguments. %curmatch will hold cur_match - * throughout the entire function (passed via rsi on amd64). - * rdi will hold the pointer to the deflate_state (first arg on amd64) - */ - mov %rsi, save_rsi - mov %rbx, save_rbx - mov %r12, save_r12 - mov %r13, save_r13 - mov %r14, save_r14 - mov %r15, save_r15 - -/* uInt wmask = s->w_mask; */ -/* unsigned chain_length = s->max_chain_length; */ -/* if (s->prev_length >= s->good_match) { */ -/* chain_length >>= 2; */ -/* } */ - - movl dsPrevLen, %eax - movl dsGoodMatch, %ebx - cmpl %ebx, %eax - movl dsWMask, %eax - movl dsMaxChainLen, %chainlenwmask - jl LastMatchGood - shrl $2, %chainlenwmask -LastMatchGood: - -/* chainlen is decremented once beforehand so that the function can */ -/* use the sign flag instead of the zero flag for the exit test. */ -/* It is then shifted into the high word, to make room for the wmask */ -/* value, which it will always accompany. */ - - decl %chainlenwmask - shll $16, %chainlenwmask - orl %eax, %chainlenwmask - -/* if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; */ - - movl dsNiceMatch, %eax - movl dsLookahead, %ebx - cmpl %eax, %ebx - jl LookaheadLess - movl %eax, %ebx -LookaheadLess: movl %ebx, %nicematch - -/* register Bytef *scan = s->window + s->strstart; */ - - mov dsWindow, %window - movl dsStrStart, %limitd - lea (%limit, %window), %scan - -/* Determine how many bytes the scan ptr is off from being */ -/* dword-aligned. */ - - mov %scan, %scanalign - negl %scanalignd - andl $3, %scanalignd - -/* IPos limit = s->strstart > (IPos)MAX_DIST(s) ? */ -/* s->strstart - (IPos)MAX_DIST(s) : NIL; */ - - movl dsWSize, %eax - subl $MIN_LOOKAHEAD, %eax - xorl %ecx, %ecx - subl %eax, %limitd - cmovng %ecx, %limitd - -/* int best_len = s->prev_length; */ - - movl dsPrevLen, %bestlend - -/* Store the sum of s->window + best_len in %windowbestlen locally, and in memory. */ - - lea (%window, %bestlen), %windowbestlen - mov %windowbestlen, _windowbestlen - -/* register ush scan_start = *(ushf*)scan; */ -/* register ush scan_end = *(ushf*)(scan+best_len-1); */ -/* Posf *prev = s->prev; */ - - movzwl (%scan), %scanstart - movzwl -1(%scan, %bestlen), %scanend - mov dsPrev, %prev - -/* Jump into the main loop. */ - - movl %chainlenwmask, _chainlenwmask - jmp LoopEntry - -.balign 16 - -/* do { - * match = s->window + cur_match; - * if (*(ushf*)(match+best_len-1) != scan_end || - * *(ushf*)match != scan_start) continue; - * [...] - * } while ((cur_match = prev[cur_match & wmask]) > limit - * && --chain_length != 0); - * - * Here is the inner loop of the function. The function will spend the - * majority of its time in this loop, and majority of that time will - * be spent in the first ten instructions. - */ -LookupLoop: - andl %chainlenwmask, %curmatchd - movzwl (%prev, %curmatch, 2), %curmatchd - cmpl %limitd, %curmatchd - jbe LeaveNow - subl $0x00010000, %chainlenwmask - js LeaveNow -LoopEntry: cmpw -1(%windowbestlen, %curmatch), %scanendw - jne LookupLoop - cmpw %scanstartw, (%window, %curmatch) - jne LookupLoop - -/* Store the current value of chainlen. */ - movl %chainlenwmask, _chainlenwmask - -/* %scan is the string under scrutiny, and %prev to the string we */ -/* are hoping to match it up with. In actuality, %esi and %edi are */ -/* both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and %edx is */ -/* initialized to -(MAX_MATCH_8 - scanalign). */ - - mov $(-MAX_MATCH_8), %rdx - lea (%curmatch, %window), %windowbestlen - lea MAX_MATCH_8(%windowbestlen, %scanalign), %windowbestlen - lea MAX_MATCH_8(%scan, %scanalign), %prev - -/* the prefetching below makes very little difference... */ - prefetcht1 (%windowbestlen, %rdx) - prefetcht1 (%prev, %rdx) - -/* - * Test the strings for equality, 8 bytes at a time. At the end, - * adjust %rdx so that it is offset to the exact byte that mismatched. - * - * It should be confessed that this loop usually does not represent - * much of the total running time. Replacing it with a more - * straightforward "rep cmpsb" would not drastically degrade - * performance -- unrolling it, for example, makes no difference. - */ - -#undef USE_SSE /* works, but is 6-7% slower, than non-SSE... */ - -LoopCmps: -#ifdef USE_SSE - /* Preload the SSE registers */ - movdqu (%windowbestlen, %rdx), %xmm1 - movdqu (%prev, %rdx), %xmm2 - pcmpeqb %xmm2, %xmm1 - movdqu 16(%windowbestlen, %rdx), %xmm3 - movdqu 16(%prev, %rdx), %xmm4 - pcmpeqb %xmm4, %xmm3 - movdqu 32(%windowbestlen, %rdx), %xmm5 - movdqu 32(%prev, %rdx), %xmm6 - pcmpeqb %xmm6, %xmm5 - movdqu 48(%windowbestlen, %rdx), %xmm7 - movdqu 48(%prev, %rdx), %xmm8 - pcmpeqb %xmm8, %xmm7 - - /* Check the comparisions' results */ - pmovmskb %xmm1, %rax - notw %ax - bsfw %ax, %ax - jnz LeaveLoopCmps - - /* this is the only iteration of the loop with a possibility of having - incremented rdx by 0x108 (each loop iteration add 16*4 = 0x40 - and (0x40*4)+8=0x108 */ - add $8, %rdx - jz LenMaximum - add $8, %rdx - - - pmovmskb %xmm3, %rax - notw %ax - bsfw %ax, %ax - jnz LeaveLoopCmps - - - add $16, %rdx - - - pmovmskb %xmm5, %rax - notw %ax - bsfw %ax, %ax - jnz LeaveLoopCmps - - add $16, %rdx - - - pmovmskb %xmm7, %rax - notw %ax - bsfw %ax, %ax - jnz LeaveLoopCmps - - add $16, %rdx - - jmp LoopCmps -LeaveLoopCmps: add %rax, %rdx -#else - mov (%windowbestlen, %rdx), %rax - xor (%prev, %rdx), %rax - jnz LeaveLoopCmps - - mov 8(%windowbestlen, %rdx), %rax - xor 8(%prev, %rdx), %rax - jnz LeaveLoopCmps8 - - mov 16(%windowbestlen, %rdx), %rax - xor 16(%prev, %rdx), %rax - jnz LeaveLoopCmps16 - - add $24, %rdx - jnz LoopCmps - jmp LenMaximum -# if 0 -/* - * This three-liner is tantalizingly simple, but bsf is a slow instruction, - * and the complicated alternative down below is quite a bit faster. Sad... - */ - -LeaveLoopCmps: bsf %rax, %rax /* find the first non-zero bit */ - shrl $3, %eax /* divide by 8 to get the byte */ - add %rax, %rdx -# else -LeaveLoopCmps16: - add $8, %rdx -LeaveLoopCmps8: - add $8, %rdx -LeaveLoopCmps: testl $0xFFFFFFFF, %eax /* Check the first 4 bytes */ - jnz Check16 - add $4, %rdx - shr $32, %rax -Check16: testw $0xFFFF, %ax - jnz LenLower - add $2, %rdx - shrl $16, %eax -LenLower: subb $1, %al - adc $0, %rdx -# endif -#endif - -/* Calculate the length of the match. If it is longer than MAX_MATCH, */ -/* then automatically accept it as the best possible match and leave. */ - - lea (%prev, %rdx), %rax - sub %scan, %rax - cmpl $MAX_MATCH, %eax - jge LenMaximum - -/* If the length of the match is not longer than the best match we */ -/* have so far, then forget it and return to the lookup loop. */ - - cmpl %bestlend, %eax - jg LongerMatch - mov _windowbestlen, %windowbestlen - mov dsPrev, %prev - movl _chainlenwmask, %edx - jmp LookupLoop - -/* s->match_start = cur_match; */ -/* best_len = len; */ -/* if (len >= nice_match) break; */ -/* scan_end = *(ushf*)(scan+best_len-1); */ - -LongerMatch: - movl %eax, %bestlend - movl %curmatchd, dsMatchStart - cmpl %nicematch, %eax - jge LeaveNow - - lea (%window, %bestlen), %windowbestlen - mov %windowbestlen, _windowbestlen - - movzwl -1(%scan, %rax), %scanend - mov dsPrev, %prev - movl _chainlenwmask, %chainlenwmask - jmp LookupLoop - -/* Accept the current string, with the maximum possible length. */ - -LenMaximum: - movl $MAX_MATCH, %bestlend - movl %curmatchd, dsMatchStart - -/* if ((uInt)best_len <= s->lookahead) return (uInt)best_len; */ -/* return s->lookahead; */ - -LeaveNow: - movl dsLookahead, %eax - cmpl %eax, %bestlend - cmovngl %bestlend, %eax -LookaheadRet: - -/* Restore the registers and return from whence we came. */ - - mov save_rsi, %rsi - mov save_rbx, %rbx - mov save_r12, %r12 - mov save_r13, %r13 - mov save_r14, %r14 - mov save_r15, %r15 - - ret - -match_init: ret diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/as400/bndsrc b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/as400/bndsrc deleted file mode 100644 index d048dbb7..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/as400/bndsrc +++ /dev/null @@ -1,206 +0,0 @@ -STRPGMEXP PGMLVL(*CURRENT) SIGNATURE('ZLIB') - -/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ -/* Version 1.1.3 entry points. */ -/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ - -/********************************************************************/ -/* *MODULE ADLER32 ZLIB 01/02/01 00:15:09 */ -/********************************************************************/ - - EXPORT SYMBOL("adler32") - -/********************************************************************/ -/* *MODULE COMPRESS ZLIB 01/02/01 00:15:09 */ -/********************************************************************/ - - EXPORT SYMBOL("compress") - EXPORT SYMBOL("compress2") - -/********************************************************************/ -/* *MODULE CRC32 ZLIB 01/02/01 00:15:09 */ -/********************************************************************/ - - EXPORT SYMBOL("crc32") - EXPORT SYMBOL("get_crc_table") - -/********************************************************************/ -/* *MODULE DEFLATE ZLIB 01/02/01 00:15:09 */ -/********************************************************************/ - - EXPORT SYMBOL("deflate") - EXPORT SYMBOL("deflateEnd") - EXPORT SYMBOL("deflateSetDictionary") - EXPORT SYMBOL("deflateCopy") - EXPORT SYMBOL("deflateReset") - EXPORT SYMBOL("deflateParams") - EXPORT SYMBOL("deflatePrime") - EXPORT SYMBOL("deflateInit_") - EXPORT SYMBOL("deflateInit2_") - -/********************************************************************/ -/* *MODULE GZIO ZLIB 01/02/01 00:15:09 */ -/********************************************************************/ - - EXPORT SYMBOL("gzopen") - EXPORT SYMBOL("gzdopen") - EXPORT SYMBOL("gzsetparams") - EXPORT SYMBOL("gzread") - EXPORT SYMBOL("gzwrite") - EXPORT SYMBOL("gzprintf") - EXPORT SYMBOL("gzputs") - EXPORT SYMBOL("gzgets") - EXPORT SYMBOL("gzputc") - EXPORT SYMBOL("gzgetc") - EXPORT SYMBOL("gzflush") - EXPORT SYMBOL("gzseek") - EXPORT SYMBOL("gzrewind") - EXPORT SYMBOL("gztell") - EXPORT SYMBOL("gzeof") - EXPORT SYMBOL("gzclose") - EXPORT SYMBOL("gzerror") - -/********************************************************************/ -/* *MODULE INFLATE ZLIB 01/02/01 00:15:09 */ -/********************************************************************/ - - EXPORT SYMBOL("inflate") - EXPORT SYMBOL("inflateEnd") - EXPORT SYMBOL("inflateSetDictionary") - EXPORT SYMBOL("inflateSync") - EXPORT SYMBOL("inflateReset") - EXPORT SYMBOL("inflateInit_") - EXPORT SYMBOL("inflateInit2_") - EXPORT SYMBOL("inflateSyncPoint") - -/********************************************************************/ -/* *MODULE UNCOMPR ZLIB 01/02/01 00:15:09 */ -/********************************************************************/ - - EXPORT SYMBOL("uncompress") - -/********************************************************************/ -/* *MODULE ZUTIL ZLIB 01/02/01 00:15:09 */ -/********************************************************************/ - - EXPORT SYMBOL("zlibVersion") - EXPORT SYMBOL("zError") - -/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ -/* Version 1.2.1 additional entry points. */ -/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ - -/********************************************************************/ -/* *MODULE COMPRESS ZLIB 01/02/01 00:15:09 */ -/********************************************************************/ - - EXPORT SYMBOL("compressBound") - -/********************************************************************/ -/* *MODULE DEFLATE ZLIB 01/02/01 00:15:09 */ -/********************************************************************/ - - EXPORT SYMBOL("deflateBound") - -/********************************************************************/ -/* *MODULE GZIO ZLIB 01/02/01 00:15:09 */ -/********************************************************************/ - - EXPORT SYMBOL("gzungetc") - EXPORT SYMBOL("gzclearerr") - -/********************************************************************/ -/* *MODULE INFBACK ZLIB 01/02/01 00:15:09 */ -/********************************************************************/ - - EXPORT SYMBOL("inflateBack") - EXPORT SYMBOL("inflateBackEnd") - EXPORT SYMBOL("inflateBackInit_") - -/********************************************************************/ -/* *MODULE INFLATE ZLIB 01/02/01 00:15:09 */ -/********************************************************************/ - - EXPORT SYMBOL("inflateCopy") - -/********************************************************************/ -/* *MODULE ZUTIL ZLIB 01/02/01 00:15:09 */ -/********************************************************************/ - - EXPORT SYMBOL("zlibCompileFlags") - -/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ -/* Version 1.2.5 additional entry points. */ -/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ - -/********************************************************************/ -/* *MODULE ADLER32 ZLIB 01/02/01 00:15:09 */ -/********************************************************************/ - - EXPORT SYMBOL("adler32_combine") - EXPORT SYMBOL("adler32_combine64") - -/********************************************************************/ -/* *MODULE CRC32 ZLIB 01/02/01 00:15:09 */ -/********************************************************************/ - - EXPORT SYMBOL("crc32_combine") - EXPORT SYMBOL("crc32_combine64") - -/********************************************************************/ -/* *MODULE GZLIB ZLIB 01/02/01 00:15:09 */ -/********************************************************************/ - - EXPORT SYMBOL("gzbuffer") - EXPORT SYMBOL("gzoffset") - EXPORT SYMBOL("gzoffset64") - EXPORT SYMBOL("gzopen64") - EXPORT SYMBOL("gzseek64") - EXPORT SYMBOL("gztell64") - -/********************************************************************/ -/* *MODULE GZREAD ZLIB 01/02/01 00:15:09 */ -/********************************************************************/ - - EXPORT SYMBOL("gzclose_r") - -/********************************************************************/ -/* *MODULE GZWRITE ZLIB 01/02/01 00:15:09 */ -/********************************************************************/ - - EXPORT SYMBOL("gzclose_w") - -/********************************************************************/ -/* *MODULE INFLATE ZLIB 01/02/01 00:15:09 */ -/********************************************************************/ - - EXPORT SYMBOL("inflateMark") - EXPORT SYMBOL("inflatePrime") - EXPORT SYMBOL("inflateReset2") - EXPORT SYMBOL("inflateUndermine") - -/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ -/* Version 1.2.6 additional entry points. */ -/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/ - -/********************************************************************/ -/* *MODULE DEFLATE ZLIB 01/02/01 00:15:09 */ -/********************************************************************/ - - EXPORT SYMBOL("deflateResetKeep") - EXPORT SYMBOL("deflatePending") - -/********************************************************************/ -/* *MODULE GZWRITE ZLIB 01/02/01 00:15:09 */ -/********************************************************************/ - - EXPORT SYMBOL("gzgetc_") - EXPORT SYMBOL("gzflags") - -/********************************************************************/ -/* *MODULE INFLATE ZLIB 01/02/01 00:15:09 */ -/********************************************************************/ - - EXPORT SYMBOL("inflateResetKeep") - -ENDPGMEXP diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/as400/compile.clp b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/as400/compile.clp deleted file mode 100644 index ed96ad49..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/as400/compile.clp +++ /dev/null @@ -1,110 +0,0 @@ -/******************************************************************************/ -/* */ -/* ZLIB */ -/* */ -/* Compile sources into modules and link them into a service program. */ -/* */ -/******************************************************************************/ - - PGM - -/* Configuration adjustable parameters. */ - - DCL VAR(&SRCLIB) TYPE(*CHAR) LEN(10) + - VALUE('ZLIB') /* Source library. */ - DCL VAR(&SRCFILE) TYPE(*CHAR) LEN(10) + - VALUE('SOURCES') /* Source member file. */ - DCL VAR(&CTLFILE) TYPE(*CHAR) LEN(10) + - VALUE('TOOLS') /* Control member file. */ - - DCL VAR(&MODLIB) TYPE(*CHAR) LEN(10) + - VALUE('ZLIB') /* Module library. */ - - DCL VAR(&SRVLIB) TYPE(*CHAR) LEN(10) + - VALUE('LGPL') /* Service program library. */ - - DCL VAR(&CFLAGS) TYPE(*CHAR) + - VALUE('OPTIMIZE(40)') /* Compile options. */ - - DCL VAR(&TGTRLS) TYPE(*CHAR) + - VALUE('V5R3M0') /* Target release. */ - - -/* Working storage. */ - - DCL VAR(&CMDLEN) TYPE(*DEC) LEN(15 5) VALUE(300) /* Command length. */ - DCL VAR(&CMD) TYPE(*CHAR) LEN(512) - DCL VAR(&FIXDCMD) TYPE(*CHAR) LEN(512) - - -/* Compile sources into modules. */ - - CHGVAR VAR(&FIXDCMD) VALUE('CRTCMOD' *BCAT &CFLAGS *BCAT + - 'SYSIFCOPT(*IFS64IO)' *BCAT + - 'DEFINE(''_LARGEFILE64_SOURCE''' *BCAT + - '''_LFS64_LARGEFILE=1'') TGTRLS(' *TCAT &TGTRLS *TCAT + - ') SRCFILE(' *TCAT &SRCLIB *TCAT '/' *TCAT + - &SRCFILE *TCAT ') MODULE(' *TCAT &MODLIB *TCAT '/') - - - CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'ADLER32)') - CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) - - CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'COMPRESS)') - CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) - - CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'CRC32)') - CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) - - CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'DEFLATE)') - CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) - - CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'GZCLOSE)') - CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) - - CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'GZLIB)') - CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) - - CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'GZREAD)') - CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) - - CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'GZWRITE)') - CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) - - CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'INFBACK)') - CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) - - CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'INFFAST)') - CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) - - CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'INFLATE)') - CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) - - CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'INFTREES)') - CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) - - CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'TREES)') - CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) - - CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'UNCOMPR)') - CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) - - CHGVAR VAR(&CMD) VALUE(&FIXDCMD *TCAT 'ZUTIL)') - CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) - - -/* Link modules into a service program. */ - - CRTSRVPGM SRVPGM(&SRVLIB/ZLIB) + - MODULE(&MODLIB/ADLER32 &MODLIB/COMPRESS + - &MODLIB/CRC32 &MODLIB/DEFLATE + - &MODLIB/GZCLOSE &MODLIB/GZLIB + - &MODLIB/GZREAD &MODLIB/GZWRITE + - &MODLIB/INFBACK &MODLIB/INFFAST + - &MODLIB/INFLATE &MODLIB/INFTREES + - &MODLIB/TREES &MODLIB/UNCOMPR + - &MODLIB/ZUTIL) + - SRCFILE(&SRCLIB/&CTLFILE) SRCMBR(BNDSRC) + - TEXT('ZLIB 1.2.6') TGTRLS(&TGTRLS) - - ENDPGM diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/as400/readme.txt b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/as400/readme.txt deleted file mode 100644 index 397fe997..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/as400/readme.txt +++ /dev/null @@ -1,115 +0,0 @@ - ZLIB version 1.2.6 for AS400 installation instructions - -I) From an AS400 *SAVF file: - -1) Unpacking archive to an AS400 save file - -On the AS400: - -_ Create the ZLIB AS400 library: - - CRTLIB LIB(ZLIB) TYPE(*PROD) TEXT('ZLIB compression API library') - -_ Create a work save file, for example: - - CRTSAVF FILE(ZLIB/ZLIBSAVF) - -On a PC connected to the target AS400: - -_ Unpack the save file image to a PC file "ZLIBSAVF" -_ Upload this file into the save file on the AS400, for example - using ftp in BINARY mode. - - -2) Populating the ZLIB AS400 source library - -On the AS400: - -_ Extract the saved objects into the ZLIB AS400 library using: - -RSTOBJ OBJ(*ALL) SAVLIB(ZLIB) DEV(*SAVF) SAVF(ZLIB/ZLIBSAVF) RSTLIB(ZLIB) - - -3) Customize installation: - -_ Edit CL member ZLIB/TOOLS(COMPILE) and change parameters if needed, - according to the comments. - -_ Compile this member with: - - CRTCLPGM PGM(ZLIB/COMPILE) SRCFILE(ZLIB/TOOLS) SRCMBR(COMPILE) - - -4) Compile and generate the service program: - -_ This can now be done by executing: - - CALL PGM(ZLIB/COMPILE) - - - -II) From the original source distribution: - -1) On the AS400, create the source library: - - CRTLIB LIB(ZLIB) TYPE(*PROD) TEXT('ZLIB compression API library') - -2) Create the source files: - - CRTSRCPF FILE(ZLIB/SOURCES) RCDLEN(112) TEXT('ZLIB library modules') - CRTSRCPF FILE(ZLIB/H) RCDLEN(112) TEXT('ZLIB library includes') - CRTSRCPF FILE(ZLIB/TOOLS) RCDLEN(112) TEXT('ZLIB library control utilities') - -3) From the machine hosting the distribution files, upload them (with - FTP in text mode, for example) according to the following table: - - Original AS400 AS400 AS400 AS400 - file file member type description - SOURCES Original ZLIB C subprogram sources - adler32.c ADLER32 C ZLIB - Compute the Adler-32 checksum of a dta strm - compress.c COMPRESS C ZLIB - Compress a memory buffer - crc32.c CRC32 C ZLIB - Compute the CRC-32 of a data stream - deflate.c DEFLATE C ZLIB - Compress data using the deflation algorithm - gzclose.c GZCLOSE C ZLIB - Close .gz files - gzlib.c GZLIB C ZLIB - Miscellaneous .gz files IO support - gzread.c GZREAD C ZLIB - Read .gz files - gzwrite.c GZWRITE C ZLIB - Write .gz files - infback.c INFBACK C ZLIB - Inflate using a callback interface - inffast.c INFFAST C ZLIB - Fast proc. literals & length/distance pairs - inflate.c INFLATE C ZLIB - Interface to inflate modules - inftrees.c INFTREES C ZLIB - Generate Huffman trees for efficient decode - trees.c TREES C ZLIB - Output deflated data using Huffman coding - uncompr.c UNCOMPR C ZLIB - Decompress a memory buffer - zutil.c ZUTIL C ZLIB - Target dependent utility functions - H Original ZLIB C and ILE/RPG include files - crc32.h CRC32 C ZLIB - CRC32 tables - deflate.h DEFLATE C ZLIB - Internal compression state - gzguts.h GZGUTS C ZLIB - Definitions for the gzclose module - inffast.h INFFAST C ZLIB - Header to use inffast.c - inffixed.h INFFIXED C ZLIB - Table for decoding fixed codes - inflate.h INFLATE C ZLIB - Internal inflate state definitions - inftrees.h INFTREES C ZLIB - Header to use inftrees.c - trees.h TREES C ZLIB - Created automatically with -DGEN_TREES_H - zconf.h ZCONF C ZLIB - Compression library configuration - zlib.h ZLIB C ZLIB - Compression library C user interface - as400/zlib.inc ZLIB.INC RPGLE ZLIB - Compression library ILE RPG user interface - zutil.h ZUTIL C ZLIB - Internal interface and configuration - TOOLS Building source software & AS/400 README - as400/bndsrc BNDSRC Entry point exportation list - as400/compile.clp COMPILE CLP Compile sources & generate service program - as400/readme.txt README TXT Installation instructions - -4) Continue as in I)3). - - - - -Notes: For AS400 ILE RPG programmers, a /copy member defining the ZLIB - API prototypes for ILE RPG can be found in ZLIB/H(ZLIB.INC). - Please read comments in this member for more information. - - Remember that most foreign textual data are ASCII coded: this - implementation does not handle conversion from/to ASCII, so - text data code conversions must be done explicitely. - - Mainly for the reason above, always open zipped files in binary mode. diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/as400/zlib.inc b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/as400/zlib.inc deleted file mode 100644 index 5ce905fd..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/as400/zlib.inc +++ /dev/null @@ -1,447 +0,0 @@ - * ZLIB.INC - Interface to the general purpose compression library - * - * ILE RPG400 version by Patrick Monnerat, DATASPHERE. - * Version 1.2.6 - * - * - * WARNING: - * Procedures inflateInit(), inflateInit2(), deflateInit(), - * deflateInit2() and inflateBackInit() need to be called with - * two additional arguments: - * the package version string and the stream control structure. - * size. This is needed because RPG lacks some macro feature. - * Call these procedures as: - * inflateInit(...: ZLIB_VERSION: %size(z_stream)) - * - /if not defined(ZLIB_H_) - /define ZLIB_H_ - * - ************************************************************************** - * Constants - ************************************************************************** - * - * Versioning information. - * - D ZLIB_VERSION C '1.2.6' - D ZLIB_VERNUM C X'1260' - D ZLIB_VER_MAJOR C 1 - D ZLIB_VER_MINOR C 2 - D ZLIB_VER_REVISION... - D C 6 - D ZLIB_VER_SUBREVISION... - D C 0 - * - * Other equates. - * - D Z_NO_FLUSH C 0 - D Z_PARTIAL_FLUSH... - D C 1 - D Z_SYNC_FLUSH C 2 - D Z_FULL_FLUSH C 3 - D Z_FINISH C 4 - D Z_BLOCK C 5 - D Z_TREES C 6 - * - D Z_OK C 0 - D Z_STREAM_END C 1 - D Z_NEED_DICT C 2 - D Z_ERRNO C -1 - D Z_STREAM_ERROR C -2 - D Z_DATA_ERROR C -3 - D Z_MEM_ERROR C -4 - D Z_BUF_ERROR C -5 - DZ_VERSION_ERROR C -6 - * - D Z_NO_COMPRESSION... - D C 0 - D Z_BEST_SPEED C 1 - D Z_BEST_COMPRESSION... - D C 9 - D Z_DEFAULT_COMPRESSION... - D C -1 - * - D Z_FILTERED C 1 - D Z_HUFFMAN_ONLY C 2 - D Z_RLE C 3 - D Z_DEFAULT_STRATEGY... - D C 0 - * - D Z_BINARY C 0 - D Z_ASCII C 1 - D Z_UNKNOWN C 2 - * - D Z_DEFLATED C 8 - * - D Z_NULL C 0 - * - ************************************************************************** - * Types - ************************************************************************** - * - D z_streamp S * Stream struct ptr - D gzFile S * File pointer - D z_off_t S 10i 0 Stream offsets - D z_off64_t S 20i 0 Stream offsets - * - ************************************************************************** - * Structures - ************************************************************************** - * - * The GZIP encode/decode stream support structure. - * - D z_stream DS align based(z_streamp) - D zs_next_in * Next input byte - D zs_avail_in 10U 0 Byte cnt at next_in - D zs_total_in 10U 0 Total bytes read - D zs_next_out * Output buffer ptr - D zs_avail_out 10U 0 Room left @ next_out - D zs_total_out 10U 0 Total bytes written - D zs_msg * Last errmsg or null - D zs_state * Internal state - D zs_zalloc * procptr Int. state allocator - D zs_free * procptr Int. state dealloc. - D zs_opaque * Private alloc. data - D zs_data_type 10i 0 ASC/BIN best guess - D zs_adler 10u 0 Uncompr. adler32 val - D 10U 0 Reserved - D 10U 0 Ptr. alignment - * - ************************************************************************** - * Utility function prototypes - ************************************************************************** - * - D compress PR 10I 0 extproc('compress') - D dest 65535 options(*varsize) Destination buffer - D destLen 10U 0 Destination length - D source 65535 const options(*varsize) Source buffer - D sourceLen 10u 0 value Source length - * - D compress2 PR 10I 0 extproc('compress2') - D dest 65535 options(*varsize) Destination buffer - D destLen 10U 0 Destination length - D source 65535 const options(*varsize) Source buffer - D sourceLen 10U 0 value Source length - D level 10I 0 value Compression level - * - D compressBound PR 10U 0 extproc('compressBound') - D sourceLen 10U 0 value - * - D uncompress PR 10I 0 extproc('uncompress') - D dest 65535 options(*varsize) Destination buffer - D destLen 10U 0 Destination length - D source 65535 const options(*varsize) Source buffer - D sourceLen 10U 0 value Source length - * - /if not defined(LARGE_FILES) - D gzopen PR extproc('gzopen') - D like(gzFile) - D path * value options(*string) File pathname - D mode * value options(*string) Open mode - /else - D gzopen PR extproc('gzopen64') - D like(gzFile) - D path * value options(*string) File pathname - D mode * value options(*string) Open mode - * - D gzopen64 PR extproc('gzopen64') - D like(gzFile) - D path * value options(*string) File pathname - D mode * value options(*string) Open mode - /endif - * - D gzdopen PR extproc('gzdopen') - D like(gzFile) - D fd 10I 0 value File descriptor - D mode * value options(*string) Open mode - * - D gzbuffer PR 10I 0 extproc('gzbuffer') - D file value like(gzFile) File pointer - D size 10U 0 value - * - D gzsetparams PR 10I 0 extproc('gzsetparams') - D file value like(gzFile) File pointer - D level 10I 0 value - D strategy 10I 0 value - * - D gzread PR 10I 0 extproc('gzread') - D file value like(gzFile) File pointer - D buf 65535 options(*varsize) Buffer - D len 10u 0 value Buffer length - * - D gzwrite PR 10I 0 extproc('gzwrite') - D file value like(gzFile) File pointer - D buf 65535 const options(*varsize) Buffer - D len 10u 0 value Buffer length - * - D gzputs PR 10I 0 extproc('gzputs') - D file value like(gzFile) File pointer - D s * value options(*string) String to output - * - D gzgets PR * extproc('gzgets') - D file value like(gzFile) File pointer - D buf 65535 options(*varsize) Read buffer - D len 10i 0 value Buffer length - * - D gzputc PR 10i 0 extproc('gzputc') - D file value like(gzFile) File pointer - D c 10I 0 value Character to write - * - D gzgetc PR 10i 0 extproc('gzgetc') - D file value like(gzFile) File pointer - * - D gzgetc_ PR 10i 0 extproc('gzgetc_') - D file value like(gzFile) File pointer - * - D gzungetc PR 10i 0 extproc('gzungetc') - D c 10I 0 value Character to push - D file value like(gzFile) File pointer - * - D gzflush PR 10i 0 extproc('gzflush') - D file value like(gzFile) File pointer - D flush 10I 0 value Type of flush - * - /if not defined(LARGE_FILES) - D gzseek PR extproc('gzseek') - D like(z_off_t) - D file value like(gzFile) File pointer - D offset value like(z_off_t) Offset - D whence 10i 0 value Origin - /else - D gzseek PR extproc('gzseek64') - D like(z_off_t) - D file value like(gzFile) File pointer - D offset value like(z_off_t) Offset - D whence 10i 0 value Origin - * - D gzseek64 PR extproc('gzseek64') - D like(z_off64_t) - D file value like(gzFile) File pointer - D offset value like(z_off64_t) Offset - D whence 10i 0 value Origin - /endif - * - D gzrewind PR 10i 0 extproc('gzrewind') - D file value like(gzFile) File pointer - * - /if not defined(LARGE_FILES) - D gztell PR extproc('gztell') - D like(z_off_t) - D file value like(gzFile) File pointer - /else - D gztell PR extproc('gztell64') - D like(z_off_t) - D file value like(gzFile) File pointer - * - D gztell64 PR extproc('gztell64') - D like(z_off64_t) - D file value like(gzFile) File pointer - /endif - * - /if not defined(LARGE_FILES) - D gzoffset PR extproc('gzoffset') - D like(z_off_t) - D file value like(gzFile) File pointer - /else - D gzoffset PR extproc('gzoffset64') - D like(z_off_t) - D file value like(gzFile) File pointer - * - D gzoffset64 PR extproc('gzoffset64') - D like(z_off64_t) - D file value like(gzFile) File pointer - /endif - * - D gzeof PR 10i 0 extproc('gzeof') - D file value like(gzFile) File pointer - * - D gzclose_r PR 10i 0 extproc('gzclose_r') - D file value like(gzFile) File pointer - * - D gzclose_w PR 10i 0 extproc('gzclose_w') - D file value like(gzFile) File pointer - * - D gzclose PR 10i 0 extproc('gzclose') - D file value like(gzFile) File pointer - * - D gzerror PR * extproc('gzerror') Error string - D file value like(gzFile) File pointer - D errnum 10I 0 Error code - * - D gzclearerr PR extproc('gzclearerr') - D file value like(gzFile) File pointer - * - ************************************************************************** - * Basic function prototypes - ************************************************************************** - * - D zlibVersion PR * extproc('zlibVersion') Version string - * - D deflateInit PR 10I 0 extproc('deflateInit_') Init. compression - D strm like(z_stream) Compression stream - D level 10I 0 value Compression level - D version * value options(*string) Version string - D stream_size 10i 0 value Stream struct. size - * - D deflate PR 10I 0 extproc('deflate') Compress data - D strm like(z_stream) Compression stream - D flush 10I 0 value Flush type required - * - D deflateEnd PR 10I 0 extproc('deflateEnd') Termin. compression - D strm like(z_stream) Compression stream - * - D inflateInit PR 10I 0 extproc('inflateInit_') Init. expansion - D strm like(z_stream) Expansion stream - D version * value options(*string) Version string - D stream_size 10i 0 value Stream struct. size - * - D inflate PR 10I 0 extproc('inflate') Expand data - D strm like(z_stream) Expansion stream - D flush 10I 0 value Flush type required - * - D inflateEnd PR 10I 0 extproc('inflateEnd') Termin. expansion - D strm like(z_stream) Expansion stream - * - ************************************************************************** - * Advanced function prototypes - ************************************************************************** - * - D deflateInit2 PR 10I 0 extproc('deflateInit2_') Init. compression - D strm like(z_stream) Compression stream - D level 10I 0 value Compression level - D method 10I 0 value Compression method - D windowBits 10I 0 value log2(window size) - D memLevel 10I 0 value Mem/cmpress tradeoff - D strategy 10I 0 value Compression stategy - D version * value options(*string) Version string - D stream_size 10i 0 value Stream struct. size - * - D deflateSetDictionary... - D PR 10I 0 extproc('deflateSetDictionary') Init. dictionary - D strm like(z_stream) Compression stream - D dictionary 65535 const options(*varsize) Dictionary bytes - D dictLength 10U 0 value Dictionary length - * - D deflateCopy PR 10I 0 extproc('deflateCopy') Compress strm 2 strm - D dest like(z_stream) Destination stream - D source like(z_stream) Source stream - * - D deflateReset PR 10I 0 extproc('deflateReset') End and init. stream - D strm like(z_stream) Compression stream - * - D deflateParams PR 10I 0 extproc('deflateParams') Change level & strat - D strm like(z_stream) Compression stream - D level 10I 0 value Compression level - D strategy 10I 0 value Compression stategy - * - D deflateBound PR 10U 0 extproc('deflateBound') Change level & strat - D strm like(z_stream) Compression stream - D sourcelen 10U 0 value Compression level - * - D deflatePending PR 10I 0 extproc('deflatePending') Change level & strat - D strm like(z_stream) Compression stream - D pending 10U 0 Pending bytes - D bits 10I 0 Pending bits - * - D deflatePrime PR 10I 0 extproc('deflatePrime') Change level & strat - D strm like(z_stream) Compression stream - D bits 10I 0 value # of bits to insert - D value 10I 0 value Bits to insert - * - D inflateInit2 PR 10I 0 extproc('inflateInit2_') Init. expansion - D strm like(z_stream) Expansion stream - D windowBits 10I 0 value log2(window size) - D version * value options(*string) Version string - D stream_size 10i 0 value Stream struct. size - * - D inflateSetDictionary... - D PR 10I 0 extproc('inflateSetDictionary') Init. dictionary - D strm like(z_stream) Expansion stream - D dictionary 65535 const options(*varsize) Dictionary bytes - D dictLength 10U 0 value Dictionary length - * - D inflateSync PR 10I 0 extproc('inflateSync') Sync. expansion - D strm like(z_stream) Expansion stream - * - D inflateCopy PR 10I 0 extproc('inflateCopy') - D dest like(z_stream) Destination stream - D source like(z_stream) Source stream - * - D inflateReset PR 10I 0 extproc('inflateReset') End and init. stream - D strm like(z_stream) Expansion stream - * - D inflateReset2 PR 10I 0 extproc('inflateReset2') End and init. stream - D strm like(z_stream) Expansion stream - D windowBits 10I 0 value Log2(buffer size) - * - D inflatePrime PR 10I 0 extproc('inflatePrime') Insert bits - D strm like(z_stream) Expansion stream - D bits 10I 0 value Bit count - D value 10I 0 value Bits to insert - * - D inflateMark PR 10I 0 extproc('inflateMark') Get inflate info - D strm like(z_stream) Expansion stream - * - D inflateBackInit... - D PR 10I 0 extproc('inflateBackInit_') - D strm like(z_stream) Expansion stream - D windowBits 10I 0 value Log2(buffer size) - D window 65535 options(*varsize) Buffer - D version * value options(*string) Version string - D stream_size 10i 0 value Stream struct. size - * - D inflateBack PR 10I 0 extproc('inflateBack') - D strm like(z_stream) Expansion stream - D in * value procptr Input function - D in_desc * value Input descriptor - D out * value procptr Output function - D out_desc * value Output descriptor - * - D inflateBackEnd PR 10I 0 extproc('inflateBackEnd') - D strm like(z_stream) Expansion stream - * - D zlibCompileFlags... - D PR 10U 0 extproc('zlibCompileFlags') - * - ************************************************************************** - * Checksum function prototypes - ************************************************************************** - * - D adler32 PR 10U 0 extproc('adler32') New checksum - D adler 10U 0 value Old checksum - D buf 65535 const options(*varsize) Bytes to accumulate - D len 10U 0 value Buffer length - * - D crc32 PR 10U 0 extproc('crc32') New checksum - D crc 10U 0 value Old checksum - D buf 65535 const options(*varsize) Bytes to accumulate - D len 10U 0 value Buffer length - * - ************************************************************************** - * Miscellaneous function prototypes - ************************************************************************** - * - D zError PR * extproc('zError') Error string - D err 10I 0 value Error code - * - D inflateSyncPoint... - D PR 10I 0 extproc('inflateSyncPoint') - D strm like(z_stream) Expansion stream - * - D get_crc_table PR * extproc('get_crc_table') Ptr to ulongs - * - D inflateUndermine... - D PR 10I 0 extproc('inflateUndermine') - D strm like(z_stream) Expansion stream - D arg 10I 0 value Error code - * - D inflateResetKeep... - D PR 10I 0 extproc('inflateResetKeep') End and init. stream - D strm like(z_stream) Expansion stream - * - D deflateResetKeep... - D PR 10I 0 extproc('deflateResetKeep') End and init. stream - D strm like(z_stream) Expansion stream - * - D gzflags PR 10U 0 extproc('gzflags') - * - /endif diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/asm686/README.686 b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/asm686/README.686 deleted file mode 100644 index a0bf3bea..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/asm686/README.686 +++ /dev/null @@ -1,51 +0,0 @@ -This is a patched version of zlib, modified to use -Pentium-Pro-optimized assembly code in the deflation algorithm. The -files changed/added by this patch are: - -README.686 -match.S - -The speedup that this patch provides varies, depending on whether the -compiler used to build the original version of zlib falls afoul of the -PPro's speed traps. My own tests show a speedup of around 10-20% at -the default compression level, and 20-30% using -9, against a version -compiled using gcc 2.7.2.3. Your mileage may vary. - -Note that this code has been tailored for the PPro/PII in particular, -and will not perform particuarly well on a Pentium. - -If you are using an assembler other than GNU as, you will have to -translate match.S to use your assembler's syntax. (Have fun.) - -Brian Raiter -breadbox@muppetlabs.com -April, 1998 - - -Added for zlib 1.1.3: - -The patches come from -http://www.muppetlabs.com/~breadbox/software/assembly.html - -To compile zlib with this asm file, copy match.S to the zlib directory -then do: - -CFLAGS="-O3 -DASMV" ./configure -make OBJA=match.o - - -Update: - -I've been ignoring these assembly routines for years, believing that -gcc's generated code had caught up with it sometime around gcc 2.95 -and the major rearchitecting of the Pentium 4. However, I recently -learned that, despite what I believed, this code still has some life -in it. On the Pentium 4 and AMD64 chips, it continues to run about 8% -faster than the code produced by gcc 4.1. - -In acknowledgement of its continuing usefulness, I've altered the -license to match that of the rest of zlib. Share and Enjoy! - -Brian Raiter -breadbox@muppetlabs.com -April, 2007 diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/asm686/match.S b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/asm686/match.S deleted file mode 100644 index fa421092..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/asm686/match.S +++ /dev/null @@ -1,357 +0,0 @@ -/* match.S -- x86 assembly version of the zlib longest_match() function. - * Optimized for the Intel 686 chips (PPro and later). - * - * Copyright (C) 1998, 2007 Brian Raiter - * - * This software is provided 'as-is', without any express or implied - * warranty. In no event will the author be held liable for any damages - * arising from the use of this software. - * - * Permission is granted to anyone to use this software for any purpose, - * including commercial applications, and to alter it and redistribute it - * freely, subject to the following restrictions: - * - * 1. The origin of this software must not be misrepresented; you must not - * claim that you wrote the original software. If you use this software - * in a product, an acknowledgment in the product documentation would be - * appreciated but is not required. - * 2. Altered source versions must be plainly marked as such, and must not be - * misrepresented as being the original software. - * 3. This notice may not be removed or altered from any source distribution. - */ - -#ifndef NO_UNDERLINE -#define match_init _match_init -#define longest_match _longest_match -#endif - -#define MAX_MATCH (258) -#define MIN_MATCH (3) -#define MIN_LOOKAHEAD (MAX_MATCH + MIN_MATCH + 1) -#define MAX_MATCH_8 ((MAX_MATCH + 7) & ~7) - -/* stack frame offsets */ - -#define chainlenwmask 0 /* high word: current chain len */ - /* low word: s->wmask */ -#define window 4 /* local copy of s->window */ -#define windowbestlen 8 /* s->window + bestlen */ -#define scanstart 16 /* first two bytes of string */ -#define scanend 12 /* last two bytes of string */ -#define scanalign 20 /* dword-misalignment of string */ -#define nicematch 24 /* a good enough match size */ -#define bestlen 28 /* size of best match so far */ -#define scan 32 /* ptr to string wanting match */ - -#define LocalVarsSize (36) -/* saved ebx 36 */ -/* saved edi 40 */ -/* saved esi 44 */ -/* saved ebp 48 */ -/* return address 52 */ -#define deflatestate 56 /* the function arguments */ -#define curmatch 60 - -/* All the +zlib1222add offsets are due to the addition of fields - * in zlib in the deflate_state structure since the asm code was first written - * (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)"). - * (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0"). - * if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8"). - */ - -#define zlib1222add (8) - -#define dsWSize (36+zlib1222add) -#define dsWMask (44+zlib1222add) -#define dsWindow (48+zlib1222add) -#define dsPrev (56+zlib1222add) -#define dsMatchLen (88+zlib1222add) -#define dsPrevMatch (92+zlib1222add) -#define dsStrStart (100+zlib1222add) -#define dsMatchStart (104+zlib1222add) -#define dsLookahead (108+zlib1222add) -#define dsPrevLen (112+zlib1222add) -#define dsMaxChainLen (116+zlib1222add) -#define dsGoodMatch (132+zlib1222add) -#define dsNiceMatch (136+zlib1222add) - - -.file "match.S" - -.globl match_init, longest_match - -.text - -/* uInt longest_match(deflate_state *deflatestate, IPos curmatch) */ -.cfi_sections .debug_frame - -longest_match: - -.cfi_startproc -/* Save registers that the compiler may be using, and adjust %esp to */ -/* make room for our stack frame. */ - - pushl %ebp - .cfi_def_cfa_offset 8 - .cfi_offset ebp, -8 - pushl %edi - .cfi_def_cfa_offset 12 - pushl %esi - .cfi_def_cfa_offset 16 - pushl %ebx - .cfi_def_cfa_offset 20 - subl $LocalVarsSize, %esp - .cfi_def_cfa_offset LocalVarsSize+20 - -/* Retrieve the function arguments. %ecx will hold cur_match */ -/* throughout the entire function. %edx will hold the pointer to the */ -/* deflate_state structure during the function's setup (before */ -/* entering the main loop). */ - - movl deflatestate(%esp), %edx - movl curmatch(%esp), %ecx - -/* uInt wmask = s->w_mask; */ -/* unsigned chain_length = s->max_chain_length; */ -/* if (s->prev_length >= s->good_match) { */ -/* chain_length >>= 2; */ -/* } */ - - movl dsPrevLen(%edx), %eax - movl dsGoodMatch(%edx), %ebx - cmpl %ebx, %eax - movl dsWMask(%edx), %eax - movl dsMaxChainLen(%edx), %ebx - jl LastMatchGood - shrl $2, %ebx -LastMatchGood: - -/* chainlen is decremented once beforehand so that the function can */ -/* use the sign flag instead of the zero flag for the exit test. */ -/* It is then shifted into the high word, to make room for the wmask */ -/* value, which it will always accompany. */ - - decl %ebx - shll $16, %ebx - orl %eax, %ebx - movl %ebx, chainlenwmask(%esp) - -/* if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; */ - - movl dsNiceMatch(%edx), %eax - movl dsLookahead(%edx), %ebx - cmpl %eax, %ebx - jl LookaheadLess - movl %eax, %ebx -LookaheadLess: movl %ebx, nicematch(%esp) - -/* register Bytef *scan = s->window + s->strstart; */ - - movl dsWindow(%edx), %esi - movl %esi, window(%esp) - movl dsStrStart(%edx), %ebp - lea (%esi,%ebp), %edi - movl %edi, scan(%esp) - -/* Determine how many bytes the scan ptr is off from being */ -/* dword-aligned. */ - - movl %edi, %eax - negl %eax - andl $3, %eax - movl %eax, scanalign(%esp) - -/* IPos limit = s->strstart > (IPos)MAX_DIST(s) ? */ -/* s->strstart - (IPos)MAX_DIST(s) : NIL; */ - - movl dsWSize(%edx), %eax - subl $MIN_LOOKAHEAD, %eax - subl %eax, %ebp - jg LimitPositive - xorl %ebp, %ebp -LimitPositive: - -/* int best_len = s->prev_length; */ - - movl dsPrevLen(%edx), %eax - movl %eax, bestlen(%esp) - -/* Store the sum of s->window + best_len in %esi locally, and in %esi. */ - - addl %eax, %esi - movl %esi, windowbestlen(%esp) - -/* register ush scan_start = *(ushf*)scan; */ -/* register ush scan_end = *(ushf*)(scan+best_len-1); */ -/* Posf *prev = s->prev; */ - - movzwl (%edi), %ebx - movl %ebx, scanstart(%esp) - movzwl -1(%edi,%eax), %ebx - movl %ebx, scanend(%esp) - movl dsPrev(%edx), %edi - -/* Jump into the main loop. */ - - movl chainlenwmask(%esp), %edx - jmp LoopEntry - -.balign 16 - -/* do { - * match = s->window + cur_match; - * if (*(ushf*)(match+best_len-1) != scan_end || - * *(ushf*)match != scan_start) continue; - * [...] - * } while ((cur_match = prev[cur_match & wmask]) > limit - * && --chain_length != 0); - * - * Here is the inner loop of the function. The function will spend the - * majority of its time in this loop, and majority of that time will - * be spent in the first ten instructions. - * - * Within this loop: - * %ebx = scanend - * %ecx = curmatch - * %edx = chainlenwmask - i.e., ((chainlen << 16) | wmask) - * %esi = windowbestlen - i.e., (window + bestlen) - * %edi = prev - * %ebp = limit - */ -LookupLoop: - andl %edx, %ecx - movzwl (%edi,%ecx,2), %ecx - cmpl %ebp, %ecx - jbe LeaveNow - subl $0x00010000, %edx - js LeaveNow -LoopEntry: movzwl -1(%esi,%ecx), %eax - cmpl %ebx, %eax - jnz LookupLoop - movl window(%esp), %eax - movzwl (%eax,%ecx), %eax - cmpl scanstart(%esp), %eax - jnz LookupLoop - -/* Store the current value of chainlen. */ - - movl %edx, chainlenwmask(%esp) - -/* Point %edi to the string under scrutiny, and %esi to the string we */ -/* are hoping to match it up with. In actuality, %esi and %edi are */ -/* both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and %edx is */ -/* initialized to -(MAX_MATCH_8 - scanalign). */ - - movl window(%esp), %esi - movl scan(%esp), %edi - addl %ecx, %esi - movl scanalign(%esp), %eax - movl $(-MAX_MATCH_8), %edx - lea MAX_MATCH_8(%edi,%eax), %edi - lea MAX_MATCH_8(%esi,%eax), %esi - -/* Test the strings for equality, 8 bytes at a time. At the end, - * adjust %edx so that it is offset to the exact byte that mismatched. - * - * We already know at this point that the first three bytes of the - * strings match each other, and they can be safely passed over before - * starting the compare loop. So what this code does is skip over 0-3 - * bytes, as much as necessary in order to dword-align the %edi - * pointer. (%esi will still be misaligned three times out of four.) - * - * It should be confessed that this loop usually does not represent - * much of the total running time. Replacing it with a more - * straightforward "rep cmpsb" would not drastically degrade - * performance. - */ -LoopCmps: - movl (%esi,%edx), %eax - xorl (%edi,%edx), %eax - jnz LeaveLoopCmps - movl 4(%esi,%edx), %eax - xorl 4(%edi,%edx), %eax - jnz LeaveLoopCmps4 - addl $8, %edx - jnz LoopCmps - jmp LenMaximum -LeaveLoopCmps4: addl $4, %edx -LeaveLoopCmps: testl $0x0000FFFF, %eax - jnz LenLower - addl $2, %edx - shrl $16, %eax -LenLower: subb $1, %al - adcl $0, %edx - -/* Calculate the length of the match. If it is longer than MAX_MATCH, */ -/* then automatically accept it as the best possible match and leave. */ - - lea (%edi,%edx), %eax - movl scan(%esp), %edi - subl %edi, %eax - cmpl $MAX_MATCH, %eax - jge LenMaximum - -/* If the length of the match is not longer than the best match we */ -/* have so far, then forget it and return to the lookup loop. */ - - movl deflatestate(%esp), %edx - movl bestlen(%esp), %ebx - cmpl %ebx, %eax - jg LongerMatch - movl windowbestlen(%esp), %esi - movl dsPrev(%edx), %edi - movl scanend(%esp), %ebx - movl chainlenwmask(%esp), %edx - jmp LookupLoop - -/* s->match_start = cur_match; */ -/* best_len = len; */ -/* if (len >= nice_match) break; */ -/* scan_end = *(ushf*)(scan+best_len-1); */ - -LongerMatch: movl nicematch(%esp), %ebx - movl %eax, bestlen(%esp) - movl %ecx, dsMatchStart(%edx) - cmpl %ebx, %eax - jge LeaveNow - movl window(%esp), %esi - addl %eax, %esi - movl %esi, windowbestlen(%esp) - movzwl -1(%edi,%eax), %ebx - movl dsPrev(%edx), %edi - movl %ebx, scanend(%esp) - movl chainlenwmask(%esp), %edx - jmp LookupLoop - -/* Accept the current string, with the maximum possible length. */ - -LenMaximum: movl deflatestate(%esp), %edx - movl $MAX_MATCH, bestlen(%esp) - movl %ecx, dsMatchStart(%edx) - -/* if ((uInt)best_len <= s->lookahead) return (uInt)best_len; */ -/* return s->lookahead; */ - -LeaveNow: - movl deflatestate(%esp), %edx - movl bestlen(%esp), %ebx - movl dsLookahead(%edx), %eax - cmpl %eax, %ebx - jg LookaheadRet - movl %ebx, %eax -LookaheadRet: - -/* Restore the stack and return from whence we came. */ - - addl $LocalVarsSize, %esp - .cfi_def_cfa_offset 20 - popl %ebx - .cfi_def_cfa_offset 16 - popl %esi - .cfi_def_cfa_offset 12 - popl %edi - .cfi_def_cfa_offset 8 - popl %ebp - .cfi_def_cfa_offset 4 -.cfi_endproc -match_init: ret diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/blast/Makefile b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/blast/Makefile deleted file mode 100644 index 9be80baf..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/blast/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -blast: blast.c blast.h - cc -DTEST -o blast blast.c - -test: blast - blast < test.pk | cmp - test.txt - -clean: - rm -f blast blast.o diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/blast/README b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/blast/README deleted file mode 100644 index e3a60b3f..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/blast/README +++ /dev/null @@ -1,4 +0,0 @@ -Read blast.h for purpose and usage. - -Mark Adler -madler@alumni.caltech.edu diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/blast/blast.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/blast/blast.c deleted file mode 100644 index 4ce697a4..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/blast/blast.c +++ /dev/null @@ -1,444 +0,0 @@ -/* blast.c - * Copyright (C) 2003 Mark Adler - * For conditions of distribution and use, see copyright notice in blast.h - * version 1.1, 16 Feb 2003 - * - * blast.c decompresses data compressed by the PKWare Compression Library. - * This function provides functionality similar to the explode() function of - * the PKWare library, hence the name "blast". - * - * This decompressor is based on the excellent format description provided by - * Ben Rudiak-Gould in comp.compression on August 13, 2001. Interestingly, the - * example Ben provided in the post is incorrect. The distance 110001 should - * instead be 111000. When corrected, the example byte stream becomes: - * - * 00 04 82 24 25 8f 80 7f - * - * which decompresses to "AIAIAIAIAIAIA" (without the quotes). - */ - -/* - * Change history: - * - * 1.0 12 Feb 2003 - First version - * 1.1 16 Feb 2003 - Fixed distance check for > 4 GB uncompressed data - */ - -#include /* for setjmp(), longjmp(), and jmp_buf */ -#include "blast.h" /* prototype for blast() */ - -#define local static /* for local function definitions */ -#define MAXBITS 13 /* maximum code length */ -#define MAXWIN 4096 /* maximum window size */ - -/* input and output state */ -struct state { - /* input state */ - blast_in infun; /* input function provided by user */ - void *inhow; /* opaque information passed to infun() */ - unsigned char *in; /* next input location */ - unsigned left; /* available input at in */ - int bitbuf; /* bit buffer */ - int bitcnt; /* number of bits in bit buffer */ - - /* input limit error return state for bits() and decode() */ - jmp_buf env; - - /* output state */ - blast_out outfun; /* output function provided by user */ - void *outhow; /* opaque information passed to outfun() */ - unsigned next; /* index of next write location in out[] */ - int first; /* true to check distances (for first 4K) */ - unsigned char out[MAXWIN]; /* output buffer and sliding window */ -}; - -/* - * Return need bits from the input stream. This always leaves less than - * eight bits in the buffer. bits() works properly for need == 0. - * - * Format notes: - * - * - Bits are stored in bytes from the least significant bit to the most - * significant bit. Therefore bits are dropped from the bottom of the bit - * buffer, using shift right, and new bytes are appended to the top of the - * bit buffer, using shift left. - */ -local int bits(struct state *s, int need) -{ - int val; /* bit accumulator */ - - /* load at least need bits into val */ - val = s->bitbuf; - while (s->bitcnt < need) { - if (s->left == 0) { - s->left = s->infun(s->inhow, &(s->in)); - if (s->left == 0) longjmp(s->env, 1); /* out of input */ - } - val |= (int)(*(s->in)++) << s->bitcnt; /* load eight bits */ - s->left--; - s->bitcnt += 8; - } - - /* drop need bits and update buffer, always zero to seven bits left */ - s->bitbuf = val >> need; - s->bitcnt -= need; - - /* return need bits, zeroing the bits above that */ - return val & ((1 << need) - 1); -} - -/* - * Huffman code decoding tables. count[1..MAXBITS] is the number of symbols of - * each length, which for a canonical code are stepped through in order. - * symbol[] are the symbol values in canonical order, where the number of - * entries is the sum of the counts in count[]. The decoding process can be - * seen in the function decode() below. - */ -struct huffman { - short *count; /* number of symbols of each length */ - short *symbol; /* canonically ordered symbols */ -}; - -/* - * Decode a code from the stream s using huffman table h. Return the symbol or - * a negative value if there is an error. If all of the lengths are zero, i.e. - * an empty code, or if the code is incomplete and an invalid code is received, - * then -9 is returned after reading MAXBITS bits. - * - * Format notes: - * - * - The codes as stored in the compressed data are bit-reversed relative to - * a simple integer ordering of codes of the same lengths. Hence below the - * bits are pulled from the compressed data one at a time and used to - * build the code value reversed from what is in the stream in order to - * permit simple integer comparisons for decoding. - * - * - The first code for the shortest length is all ones. Subsequent codes of - * the same length are simply integer decrements of the previous code. When - * moving up a length, a one bit is appended to the code. For a complete - * code, the last code of the longest length will be all zeros. To support - * this ordering, the bits pulled during decoding are inverted to apply the - * more "natural" ordering starting with all zeros and incrementing. - */ -local int decode(struct state *s, struct huffman *h) -{ - int len; /* current number of bits in code */ - int code; /* len bits being decoded */ - int first; /* first code of length len */ - int count; /* number of codes of length len */ - int index; /* index of first code of length len in symbol table */ - int bitbuf; /* bits from stream */ - int left; /* bits left in next or left to process */ - short *next; /* next number of codes */ - - bitbuf = s->bitbuf; - left = s->bitcnt; - code = first = index = 0; - len = 1; - next = h->count + 1; - while (1) { - while (left--) { - code |= (bitbuf & 1) ^ 1; /* invert code */ - bitbuf >>= 1; - count = *next++; - if (code < first + count) { /* if length len, return symbol */ - s->bitbuf = bitbuf; - s->bitcnt = (s->bitcnt - len) & 7; - return h->symbol[index + (code - first)]; - } - index += count; /* else update for next length */ - first += count; - first <<= 1; - code <<= 1; - len++; - } - left = (MAXBITS+1) - len; - if (left == 0) break; - if (s->left == 0) { - s->left = s->infun(s->inhow, &(s->in)); - if (s->left == 0) longjmp(s->env, 1); /* out of input */ - } - bitbuf = *(s->in)++; - s->left--; - if (left > 8) left = 8; - } - return -9; /* ran out of codes */ -} - -/* - * Given a list of repeated code lengths rep[0..n-1], where each byte is a - * count (high four bits + 1) and a code length (low four bits), generate the - * list of code lengths. This compaction reduces the size of the object code. - * Then given the list of code lengths length[0..n-1] representing a canonical - * Huffman code for n symbols, construct the tables required to decode those - * codes. Those tables are the number of codes of each length, and the symbols - * sorted by length, retaining their original order within each length. The - * return value is zero for a complete code set, negative for an over- - * subscribed code set, and positive for an incomplete code set. The tables - * can be used if the return value is zero or positive, but they cannot be used - * if the return value is negative. If the return value is zero, it is not - * possible for decode() using that table to return an error--any stream of - * enough bits will resolve to a symbol. If the return value is positive, then - * it is possible for decode() using that table to return an error for received - * codes past the end of the incomplete lengths. - */ -local int construct(struct huffman *h, const unsigned char *rep, int n) -{ - int symbol; /* current symbol when stepping through length[] */ - int len; /* current length when stepping through h->count[] */ - int left; /* number of possible codes left of current length */ - short offs[MAXBITS+1]; /* offsets in symbol table for each length */ - short length[256]; /* code lengths */ - - /* convert compact repeat counts into symbol bit length list */ - symbol = 0; - do { - len = *rep++; - left = (len >> 4) + 1; - len &= 15; - do { - length[symbol++] = len; - } while (--left); - } while (--n); - n = symbol; - - /* count number of codes of each length */ - for (len = 0; len <= MAXBITS; len++) - h->count[len] = 0; - for (symbol = 0; symbol < n; symbol++) - (h->count[length[symbol]])++; /* assumes lengths are within bounds */ - if (h->count[0] == n) /* no codes! */ - return 0; /* complete, but decode() will fail */ - - /* check for an over-subscribed or incomplete set of lengths */ - left = 1; /* one possible code of zero length */ - for (len = 1; len <= MAXBITS; len++) { - left <<= 1; /* one more bit, double codes left */ - left -= h->count[len]; /* deduct count from possible codes */ - if (left < 0) return left; /* over-subscribed--return negative */ - } /* left > 0 means incomplete */ - - /* generate offsets into symbol table for each length for sorting */ - offs[1] = 0; - for (len = 1; len < MAXBITS; len++) - offs[len + 1] = offs[len] + h->count[len]; - - /* - * put symbols in table sorted by length, by symbol order within each - * length - */ - for (symbol = 0; symbol < n; symbol++) - if (length[symbol] != 0) - h->symbol[offs[length[symbol]]++] = symbol; - - /* return zero for complete set, positive for incomplete set */ - return left; -} - -/* - * Decode PKWare Compression Library stream. - * - * Format notes: - * - * - First byte is 0 if literals are uncoded or 1 if they are coded. Second - * byte is 4, 5, or 6 for the number of extra bits in the distance code. - * This is the base-2 logarithm of the dictionary size minus six. - * - * - Compressed data is a combination of literals and length/distance pairs - * terminated by an end code. Literals are either Huffman coded or - * uncoded bytes. A length/distance pair is a coded length followed by a - * coded distance to represent a string that occurs earlier in the - * uncompressed data that occurs again at the current location. - * - * - A bit preceding a literal or length/distance pair indicates which comes - * next, 0 for literals, 1 for length/distance. - * - * - If literals are uncoded, then the next eight bits are the literal, in the - * normal bit order in th stream, i.e. no bit-reversal is needed. Similarly, - * no bit reversal is needed for either the length extra bits or the distance - * extra bits. - * - * - Literal bytes are simply written to the output. A length/distance pair is - * an instruction to copy previously uncompressed bytes to the output. The - * copy is from distance bytes back in the output stream, copying for length - * bytes. - * - * - Distances pointing before the beginning of the output data are not - * permitted. - * - * - Overlapped copies, where the length is greater than the distance, are - * allowed and common. For example, a distance of one and a length of 518 - * simply copies the last byte 518 times. A distance of four and a length of - * twelve copies the last four bytes three times. A simple forward copy - * ignoring whether the length is greater than the distance or not implements - * this correctly. - */ -local int decomp(struct state *s) -{ - int lit; /* true if literals are coded */ - int dict; /* log2(dictionary size) - 6 */ - int symbol; /* decoded symbol, extra bits for distance */ - int len; /* length for copy */ - int dist; /* distance for copy */ - int copy; /* copy counter */ - unsigned char *from, *to; /* copy pointers */ - static int virgin = 1; /* build tables once */ - static short litcnt[MAXBITS+1], litsym[256]; /* litcode memory */ - static short lencnt[MAXBITS+1], lensym[16]; /* lencode memory */ - static short distcnt[MAXBITS+1], distsym[64]; /* distcode memory */ - static struct huffman litcode = {litcnt, litsym}; /* length code */ - static struct huffman lencode = {lencnt, lensym}; /* length code */ - static struct huffman distcode = {distcnt, distsym};/* distance code */ - /* bit lengths of literal codes */ - static const unsigned char litlen[] = { - 11, 124, 8, 7, 28, 7, 188, 13, 76, 4, 10, 8, 12, 10, 12, 10, 8, 23, 8, - 9, 7, 6, 7, 8, 7, 6, 55, 8, 23, 24, 12, 11, 7, 9, 11, 12, 6, 7, 22, 5, - 7, 24, 6, 11, 9, 6, 7, 22, 7, 11, 38, 7, 9, 8, 25, 11, 8, 11, 9, 12, - 8, 12, 5, 38, 5, 38, 5, 11, 7, 5, 6, 21, 6, 10, 53, 8, 7, 24, 10, 27, - 44, 253, 253, 253, 252, 252, 252, 13, 12, 45, 12, 45, 12, 61, 12, 45, - 44, 173}; - /* bit lengths of length codes 0..15 */ - static const unsigned char lenlen[] = {2, 35, 36, 53, 38, 23}; - /* bit lengths of distance codes 0..63 */ - static const unsigned char distlen[] = {2, 20, 53, 230, 247, 151, 248}; - static const short base[16] = { /* base for length codes */ - 3, 2, 4, 5, 6, 7, 8, 9, 10, 12, 16, 24, 40, 72, 136, 264}; - static const char extra[16] = { /* extra bits for length codes */ - 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8}; - - /* set up decoding tables (once--might not be thread-safe) */ - if (virgin) { - construct(&litcode, litlen, sizeof(litlen)); - construct(&lencode, lenlen, sizeof(lenlen)); - construct(&distcode, distlen, sizeof(distlen)); - virgin = 0; - } - - /* read header */ - lit = bits(s, 8); - if (lit > 1) return -1; - dict = bits(s, 8); - if (dict < 4 || dict > 6) return -2; - - /* decode literals and length/distance pairs */ - do { - if (bits(s, 1)) { - /* get length */ - symbol = decode(s, &lencode); - len = base[symbol] + bits(s, extra[symbol]); - if (len == 519) break; /* end code */ - - /* get distance */ - symbol = len == 2 ? 2 : dict; - dist = decode(s, &distcode) << symbol; - dist += bits(s, symbol); - dist++; - if (s->first && dist > s->next) - return -3; /* distance too far back */ - - /* copy length bytes from distance bytes back */ - do { - to = s->out + s->next; - from = to - dist; - copy = MAXWIN; - if (s->next < dist) { - from += copy; - copy = dist; - } - copy -= s->next; - if (copy > len) copy = len; - len -= copy; - s->next += copy; - do { - *to++ = *from++; - } while (--copy); - if (s->next == MAXWIN) { - if (s->outfun(s->outhow, s->out, s->next)) return 1; - s->next = 0; - s->first = 0; - } - } while (len != 0); - } - else { - /* get literal and write it */ - symbol = lit ? decode(s, &litcode) : bits(s, 8); - s->out[s->next++] = symbol; - if (s->next == MAXWIN) { - if (s->outfun(s->outhow, s->out, s->next)) return 1; - s->next = 0; - s->first = 0; - } - } - } while (1); - return 0; -} - -/* See comments in blast.h */ -int blast(blast_in infun, void *inhow, blast_out outfun, void *outhow) -{ - struct state s; /* input/output state */ - int err; /* return value */ - - /* initialize input state */ - s.infun = infun; - s.inhow = inhow; - s.left = 0; - s.bitbuf = 0; - s.bitcnt = 0; - - /* initialize output state */ - s.outfun = outfun; - s.outhow = outhow; - s.next = 0; - s.first = 1; - - /* return if bits() or decode() tries to read past available input */ - if (setjmp(s.env) != 0) /* if came back here via longjmp(), */ - err = 2; /* then skip decomp(), return error */ - else - err = decomp(&s); /* decompress */ - - /* write any leftover output and update the error code if needed */ - if (err != 1 && s.next && s.outfun(s.outhow, s.out, s.next) && err == 0) - err = 1; - return err; -} - -#ifdef TEST -/* Example of how to use blast() */ -#include -#include - -#define CHUNK 16384 - -local unsigned inf(void *how, unsigned char **buf) -{ - static unsigned char hold[CHUNK]; - - *buf = hold; - return fread(hold, 1, CHUNK, (FILE *)how); -} - -local int outf(void *how, unsigned char *buf, unsigned len) -{ - return fwrite(buf, 1, len, (FILE *)how) != len; -} - -/* Decompress a PKWare Compression Library stream from stdin to stdout */ -int main(void) -{ - int ret, n; - - /* decompress to stdout */ - ret = blast(inf, stdin, outf, stdout); - if (ret != 0) fprintf(stderr, "blast error: %d\n", ret); - - /* see if there are any leftover bytes */ - n = 0; - while (getchar() != EOF) n++; - if (n) fprintf(stderr, "blast warning: %d unused bytes of input\n", n); - - /* return blast() error code */ - return ret; -} -#endif diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/blast/blast.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/blast/blast.h deleted file mode 100644 index ce9e5410..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/blast/blast.h +++ /dev/null @@ -1,71 +0,0 @@ -/* blast.h -- interface for blast.c - Copyright (C) 2003 Mark Adler - version 1.1, 16 Feb 2003 - - This software is provided 'as-is', without any express or implied - warranty. In no event will the author be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Mark Adler madler@alumni.caltech.edu - */ - - -/* - * blast() decompresses the PKWare Data Compression Library (DCL) compressed - * format. It provides the same functionality as the explode() function in - * that library. (Note: PKWare overused the "implode" verb, and the format - * used by their library implode() function is completely different and - * incompatible with the implode compression method supported by PKZIP.) - */ - - -typedef unsigned (*blast_in)(void *how, unsigned char **buf); -typedef int (*blast_out)(void *how, unsigned char *buf, unsigned len); -/* Definitions for input/output functions passed to blast(). See below for - * what the provided functions need to do. - */ - - -int blast(blast_in infun, void *inhow, blast_out outfun, void *outhow); -/* Decompress input to output using the provided infun() and outfun() calls. - * On success, the return value of blast() is zero. If there is an error in - * the source data, i.e. it is not in the proper format, then a negative value - * is returned. If there is not enough input available or there is not enough - * output space, then a positive error is returned. - * - * The input function is invoked: len = infun(how, &buf), where buf is set by - * infun() to point to the input buffer, and infun() returns the number of - * available bytes there. If infun() returns zero, then blast() returns with - * an input error. (blast() only asks for input if it needs it.) inhow is for - * use by the application to pass an input descriptor to infun(), if desired. - * - * The output function is invoked: err = outfun(how, buf, len), where the bytes - * to be written are buf[0..len-1]. If err is not zero, then blast() returns - * with an output error. outfun() is always called with len <= 4096. outhow - * is for use by the application to pass an output descriptor to outfun(), if - * desired. - * - * The return codes are: - * - * 2: ran out of input before completing decompression - * 1: output error before completing decompression - * 0: successful decompression - * -1: literal flag not zero or one - * -2: dictionary size not in 4..6 - * -3: distance is too far back - * - * At the bottom of blast.c is an example program that uses blast() that can be - * compiled to produce a command-line decompression filter by defining TEST. - */ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/blast/test.pk b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/blast/test.pk deleted file mode 100644 index be10b2bb..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/blast/test.pk and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/blast/test.txt b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/blast/test.txt deleted file mode 100644 index bfdf1c5d..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/blast/test.txt +++ /dev/null @@ -1 +0,0 @@ -AIAIAIAIAIAIA \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/delphi/ZLib.pas b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/delphi/ZLib.pas deleted file mode 100644 index 6daf8bba..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/delphi/ZLib.pas +++ /dev/null @@ -1,557 +0,0 @@ -{*******************************************************} -{ } -{ Borland Delphi Supplemental Components } -{ ZLIB Data Compression Interface Unit } -{ } -{ Copyright (c) 1997,99 Borland Corporation } -{ } -{*******************************************************} - -{ Updated for zlib 1.2.x by Cosmin Truta } - -unit ZLib; - -interface - -uses SysUtils, Classes; - -type - TAlloc = function (AppData: Pointer; Items, Size: Integer): Pointer; cdecl; - TFree = procedure (AppData, Block: Pointer); cdecl; - - // Internal structure. Ignore. - TZStreamRec = packed record - next_in: PChar; // next input byte - avail_in: Integer; // number of bytes available at next_in - total_in: Longint; // total nb of input bytes read so far - - next_out: PChar; // next output byte should be put here - avail_out: Integer; // remaining free space at next_out - total_out: Longint; // total nb of bytes output so far - - msg: PChar; // last error message, NULL if no error - internal: Pointer; // not visible by applications - - zalloc: TAlloc; // used to allocate the internal state - zfree: TFree; // used to free the internal state - AppData: Pointer; // private data object passed to zalloc and zfree - - data_type: Integer; // best guess about the data type: ascii or binary - adler: Longint; // adler32 value of the uncompressed data - reserved: Longint; // reserved for future use - end; - - // Abstract ancestor class - TCustomZlibStream = class(TStream) - private - FStrm: TStream; - FStrmPos: Integer; - FOnProgress: TNotifyEvent; - FZRec: TZStreamRec; - FBuffer: array [Word] of Char; - protected - procedure Progress(Sender: TObject); dynamic; - property OnProgress: TNotifyEvent read FOnProgress write FOnProgress; - constructor Create(Strm: TStream); - end; - -{ TCompressionStream compresses data on the fly as data is written to it, and - stores the compressed data to another stream. - - TCompressionStream is write-only and strictly sequential. Reading from the - stream will raise an exception. Using Seek to move the stream pointer - will raise an exception. - - Output data is cached internally, written to the output stream only when - the internal output buffer is full. All pending output data is flushed - when the stream is destroyed. - - The Position property returns the number of uncompressed bytes of - data that have been written to the stream so far. - - CompressionRate returns the on-the-fly percentage by which the original - data has been compressed: (1 - (CompressedBytes / UncompressedBytes)) * 100 - If raw data size = 100 and compressed data size = 25, the CompressionRate - is 75% - - The OnProgress event is called each time the output buffer is filled and - written to the output stream. This is useful for updating a progress - indicator when you are writing a large chunk of data to the compression - stream in a single call.} - - - TCompressionLevel = (clNone, clFastest, clDefault, clMax); - - TCompressionStream = class(TCustomZlibStream) - private - function GetCompressionRate: Single; - public - constructor Create(CompressionLevel: TCompressionLevel; Dest: TStream); - destructor Destroy; override; - function Read(var Buffer; Count: Longint): Longint; override; - function Write(const Buffer; Count: Longint): Longint; override; - function Seek(Offset: Longint; Origin: Word): Longint; override; - property CompressionRate: Single read GetCompressionRate; - property OnProgress; - end; - -{ TDecompressionStream decompresses data on the fly as data is read from it. - - Compressed data comes from a separate source stream. TDecompressionStream - is read-only and unidirectional; you can seek forward in the stream, but not - backwards. The special case of setting the stream position to zero is - allowed. Seeking forward decompresses data until the requested position in - the uncompressed data has been reached. Seeking backwards, seeking relative - to the end of the stream, requesting the size of the stream, and writing to - the stream will raise an exception. - - The Position property returns the number of bytes of uncompressed data that - have been read from the stream so far. - - The OnProgress event is called each time the internal input buffer of - compressed data is exhausted and the next block is read from the input stream. - This is useful for updating a progress indicator when you are reading a - large chunk of data from the decompression stream in a single call.} - - TDecompressionStream = class(TCustomZlibStream) - public - constructor Create(Source: TStream); - destructor Destroy; override; - function Read(var Buffer; Count: Longint): Longint; override; - function Write(const Buffer; Count: Longint): Longint; override; - function Seek(Offset: Longint; Origin: Word): Longint; override; - property OnProgress; - end; - - - -{ CompressBuf compresses data, buffer to buffer, in one call. - In: InBuf = ptr to compressed data - InBytes = number of bytes in InBuf - Out: OutBuf = ptr to newly allocated buffer containing decompressed data - OutBytes = number of bytes in OutBuf } -procedure CompressBuf(const InBuf: Pointer; InBytes: Integer; - out OutBuf: Pointer; out OutBytes: Integer); - - -{ DecompressBuf decompresses data, buffer to buffer, in one call. - In: InBuf = ptr to compressed data - InBytes = number of bytes in InBuf - OutEstimate = zero, or est. size of the decompressed data - Out: OutBuf = ptr to newly allocated buffer containing decompressed data - OutBytes = number of bytes in OutBuf } -procedure DecompressBuf(const InBuf: Pointer; InBytes: Integer; - OutEstimate: Integer; out OutBuf: Pointer; out OutBytes: Integer); - -{ DecompressToUserBuf decompresses data, buffer to buffer, in one call. - In: InBuf = ptr to compressed data - InBytes = number of bytes in InBuf - Out: OutBuf = ptr to user-allocated buffer to contain decompressed data - BufSize = number of bytes in OutBuf } -procedure DecompressToUserBuf(const InBuf: Pointer; InBytes: Integer; - const OutBuf: Pointer; BufSize: Integer); - -const - zlib_version = '1.2.6'; - -type - EZlibError = class(Exception); - ECompressionError = class(EZlibError); - EDecompressionError = class(EZlibError); - -implementation - -uses ZLibConst; - -const - Z_NO_FLUSH = 0; - Z_PARTIAL_FLUSH = 1; - Z_SYNC_FLUSH = 2; - Z_FULL_FLUSH = 3; - Z_FINISH = 4; - - Z_OK = 0; - Z_STREAM_END = 1; - Z_NEED_DICT = 2; - Z_ERRNO = (-1); - Z_STREAM_ERROR = (-2); - Z_DATA_ERROR = (-3); - Z_MEM_ERROR = (-4); - Z_BUF_ERROR = (-5); - Z_VERSION_ERROR = (-6); - - Z_NO_COMPRESSION = 0; - Z_BEST_SPEED = 1; - Z_BEST_COMPRESSION = 9; - Z_DEFAULT_COMPRESSION = (-1); - - Z_FILTERED = 1; - Z_HUFFMAN_ONLY = 2; - Z_RLE = 3; - Z_DEFAULT_STRATEGY = 0; - - Z_BINARY = 0; - Z_ASCII = 1; - Z_UNKNOWN = 2; - - Z_DEFLATED = 8; - - -{$L adler32.obj} -{$L compress.obj} -{$L crc32.obj} -{$L deflate.obj} -{$L infback.obj} -{$L inffast.obj} -{$L inflate.obj} -{$L inftrees.obj} -{$L trees.obj} -{$L uncompr.obj} -{$L zutil.obj} - -procedure adler32; external; -procedure compressBound; external; -procedure crc32; external; -procedure deflateInit2_; external; -procedure deflateParams; external; - -function _malloc(Size: Integer): Pointer; cdecl; -begin - Result := AllocMem(Size); -end; - -procedure _free(Block: Pointer); cdecl; -begin - FreeMem(Block); -end; - -procedure _memset(P: Pointer; B: Byte; count: Integer); cdecl; -begin - FillChar(P^, count, B); -end; - -procedure _memcpy(dest, source: Pointer; count: Integer); cdecl; -begin - Move(source^, dest^, count); -end; - - - -// deflate compresses data -function deflateInit_(var strm: TZStreamRec; level: Integer; version: PChar; - recsize: Integer): Integer; external; -function deflate(var strm: TZStreamRec; flush: Integer): Integer; external; -function deflateEnd(var strm: TZStreamRec): Integer; external; - -// inflate decompresses data -function inflateInit_(var strm: TZStreamRec; version: PChar; - recsize: Integer): Integer; external; -function inflate(var strm: TZStreamRec; flush: Integer): Integer; external; -function inflateEnd(var strm: TZStreamRec): Integer; external; -function inflateReset(var strm: TZStreamRec): Integer; external; - - -function zlibAllocMem(AppData: Pointer; Items, Size: Integer): Pointer; cdecl; -begin -// GetMem(Result, Items*Size); - Result := AllocMem(Items * Size); -end; - -procedure zlibFreeMem(AppData, Block: Pointer); cdecl; -begin - FreeMem(Block); -end; - -{function zlibCheck(code: Integer): Integer; -begin - Result := code; - if code < 0 then - raise EZlibError.Create('error'); //!! -end;} - -function CCheck(code: Integer): Integer; -begin - Result := code; - if code < 0 then - raise ECompressionError.Create('error'); //!! -end; - -function DCheck(code: Integer): Integer; -begin - Result := code; - if code < 0 then - raise EDecompressionError.Create('error'); //!! -end; - -procedure CompressBuf(const InBuf: Pointer; InBytes: Integer; - out OutBuf: Pointer; out OutBytes: Integer); -var - strm: TZStreamRec; - P: Pointer; -begin - FillChar(strm, sizeof(strm), 0); - strm.zalloc := zlibAllocMem; - strm.zfree := zlibFreeMem; - OutBytes := ((InBytes + (InBytes div 10) + 12) + 255) and not 255; - GetMem(OutBuf, OutBytes); - try - strm.next_in := InBuf; - strm.avail_in := InBytes; - strm.next_out := OutBuf; - strm.avail_out := OutBytes; - CCheck(deflateInit_(strm, Z_BEST_COMPRESSION, zlib_version, sizeof(strm))); - try - while CCheck(deflate(strm, Z_FINISH)) <> Z_STREAM_END do - begin - P := OutBuf; - Inc(OutBytes, 256); - ReallocMem(OutBuf, OutBytes); - strm.next_out := PChar(Integer(OutBuf) + (Integer(strm.next_out) - Integer(P))); - strm.avail_out := 256; - end; - finally - CCheck(deflateEnd(strm)); - end; - ReallocMem(OutBuf, strm.total_out); - OutBytes := strm.total_out; - except - FreeMem(OutBuf); - raise - end; -end; - - -procedure DecompressBuf(const InBuf: Pointer; InBytes: Integer; - OutEstimate: Integer; out OutBuf: Pointer; out OutBytes: Integer); -var - strm: TZStreamRec; - P: Pointer; - BufInc: Integer; -begin - FillChar(strm, sizeof(strm), 0); - strm.zalloc := zlibAllocMem; - strm.zfree := zlibFreeMem; - BufInc := (InBytes + 255) and not 255; - if OutEstimate = 0 then - OutBytes := BufInc - else - OutBytes := OutEstimate; - GetMem(OutBuf, OutBytes); - try - strm.next_in := InBuf; - strm.avail_in := InBytes; - strm.next_out := OutBuf; - strm.avail_out := OutBytes; - DCheck(inflateInit_(strm, zlib_version, sizeof(strm))); - try - while DCheck(inflate(strm, Z_NO_FLUSH)) <> Z_STREAM_END do - begin - P := OutBuf; - Inc(OutBytes, BufInc); - ReallocMem(OutBuf, OutBytes); - strm.next_out := PChar(Integer(OutBuf) + (Integer(strm.next_out) - Integer(P))); - strm.avail_out := BufInc; - end; - finally - DCheck(inflateEnd(strm)); - end; - ReallocMem(OutBuf, strm.total_out); - OutBytes := strm.total_out; - except - FreeMem(OutBuf); - raise - end; -end; - -procedure DecompressToUserBuf(const InBuf: Pointer; InBytes: Integer; - const OutBuf: Pointer; BufSize: Integer); -var - strm: TZStreamRec; -begin - FillChar(strm, sizeof(strm), 0); - strm.zalloc := zlibAllocMem; - strm.zfree := zlibFreeMem; - strm.next_in := InBuf; - strm.avail_in := InBytes; - strm.next_out := OutBuf; - strm.avail_out := BufSize; - DCheck(inflateInit_(strm, zlib_version, sizeof(strm))); - try - if DCheck(inflate(strm, Z_FINISH)) <> Z_STREAM_END then - raise EZlibError.CreateRes(@sTargetBufferTooSmall); - finally - DCheck(inflateEnd(strm)); - end; -end; - -// TCustomZlibStream - -constructor TCustomZLibStream.Create(Strm: TStream); -begin - inherited Create; - FStrm := Strm; - FStrmPos := Strm.Position; - FZRec.zalloc := zlibAllocMem; - FZRec.zfree := zlibFreeMem; -end; - -procedure TCustomZLibStream.Progress(Sender: TObject); -begin - if Assigned(FOnProgress) then FOnProgress(Sender); -end; - - -// TCompressionStream - -constructor TCompressionStream.Create(CompressionLevel: TCompressionLevel; - Dest: TStream); -const - Levels: array [TCompressionLevel] of ShortInt = - (Z_NO_COMPRESSION, Z_BEST_SPEED, Z_DEFAULT_COMPRESSION, Z_BEST_COMPRESSION); -begin - inherited Create(Dest); - FZRec.next_out := FBuffer; - FZRec.avail_out := sizeof(FBuffer); - CCheck(deflateInit_(FZRec, Levels[CompressionLevel], zlib_version, sizeof(FZRec))); -end; - -destructor TCompressionStream.Destroy; -begin - FZRec.next_in := nil; - FZRec.avail_in := 0; - try - if FStrm.Position <> FStrmPos then FStrm.Position := FStrmPos; - while (CCheck(deflate(FZRec, Z_FINISH)) <> Z_STREAM_END) - and (FZRec.avail_out = 0) do - begin - FStrm.WriteBuffer(FBuffer, sizeof(FBuffer)); - FZRec.next_out := FBuffer; - FZRec.avail_out := sizeof(FBuffer); - end; - if FZRec.avail_out < sizeof(FBuffer) then - FStrm.WriteBuffer(FBuffer, sizeof(FBuffer) - FZRec.avail_out); - finally - deflateEnd(FZRec); - end; - inherited Destroy; -end; - -function TCompressionStream.Read(var Buffer; Count: Longint): Longint; -begin - raise ECompressionError.CreateRes(@sInvalidStreamOp); -end; - -function TCompressionStream.Write(const Buffer; Count: Longint): Longint; -begin - FZRec.next_in := @Buffer; - FZRec.avail_in := Count; - if FStrm.Position <> FStrmPos then FStrm.Position := FStrmPos; - while (FZRec.avail_in > 0) do - begin - CCheck(deflate(FZRec, 0)); - if FZRec.avail_out = 0 then - begin - FStrm.WriteBuffer(FBuffer, sizeof(FBuffer)); - FZRec.next_out := FBuffer; - FZRec.avail_out := sizeof(FBuffer); - FStrmPos := FStrm.Position; - Progress(Self); - end; - end; - Result := Count; -end; - -function TCompressionStream.Seek(Offset: Longint; Origin: Word): Longint; -begin - if (Offset = 0) and (Origin = soFromCurrent) then - Result := FZRec.total_in - else - raise ECompressionError.CreateRes(@sInvalidStreamOp); -end; - -function TCompressionStream.GetCompressionRate: Single; -begin - if FZRec.total_in = 0 then - Result := 0 - else - Result := (1.0 - (FZRec.total_out / FZRec.total_in)) * 100.0; -end; - - -// TDecompressionStream - -constructor TDecompressionStream.Create(Source: TStream); -begin - inherited Create(Source); - FZRec.next_in := FBuffer; - FZRec.avail_in := 0; - DCheck(inflateInit_(FZRec, zlib_version, sizeof(FZRec))); -end; - -destructor TDecompressionStream.Destroy; -begin - FStrm.Seek(-FZRec.avail_in, 1); - inflateEnd(FZRec); - inherited Destroy; -end; - -function TDecompressionStream.Read(var Buffer; Count: Longint): Longint; -begin - FZRec.next_out := @Buffer; - FZRec.avail_out := Count; - if FStrm.Position <> FStrmPos then FStrm.Position := FStrmPos; - while (FZRec.avail_out > 0) do - begin - if FZRec.avail_in = 0 then - begin - FZRec.avail_in := FStrm.Read(FBuffer, sizeof(FBuffer)); - if FZRec.avail_in = 0 then - begin - Result := Count - FZRec.avail_out; - Exit; - end; - FZRec.next_in := FBuffer; - FStrmPos := FStrm.Position; - Progress(Self); - end; - CCheck(inflate(FZRec, 0)); - end; - Result := Count; -end; - -function TDecompressionStream.Write(const Buffer; Count: Longint): Longint; -begin - raise EDecompressionError.CreateRes(@sInvalidStreamOp); -end; - -function TDecompressionStream.Seek(Offset: Longint; Origin: Word): Longint; -var - I: Integer; - Buf: array [0..4095] of Char; -begin - if (Offset = 0) and (Origin = soFromBeginning) then - begin - DCheck(inflateReset(FZRec)); - FZRec.next_in := FBuffer; - FZRec.avail_in := 0; - FStrm.Position := 0; - FStrmPos := 0; - end - else if ( (Offset >= 0) and (Origin = soFromCurrent)) or - ( ((Offset - FZRec.total_out) > 0) and (Origin = soFromBeginning)) then - begin - if Origin = soFromBeginning then Dec(Offset, FZRec.total_out); - if Offset > 0 then - begin - for I := 1 to Offset div sizeof(Buf) do - ReadBuffer(Buf, sizeof(Buf)); - ReadBuffer(Buf, Offset mod sizeof(Buf)); - end; - end - else - raise EDecompressionError.CreateRes(@sInvalidStreamOp); - Result := FZRec.total_out; -end; - - -end. diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/delphi/ZLibConst.pas b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/delphi/ZLibConst.pas deleted file mode 100644 index cdfe1367..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/delphi/ZLibConst.pas +++ /dev/null @@ -1,11 +0,0 @@ -unit ZLibConst; - -interface - -resourcestring - sTargetBufferTooSmall = 'ZLib error: target buffer may be too small'; - sInvalidStreamOp = 'Invalid stream operation'; - -implementation - -end. diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/delphi/readme.txt b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/delphi/readme.txt deleted file mode 100644 index 2dc9a8bb..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/delphi/readme.txt +++ /dev/null @@ -1,76 +0,0 @@ - -Overview -======== - -This directory contains an update to the ZLib interface unit, -distributed by Borland as a Delphi supplemental component. - -The original ZLib unit is Copyright (c) 1997,99 Borland Corp., -and is based on zlib version 1.0.4. There are a series of bugs -and security problems associated with that old zlib version, and -we recommend the users to update their ZLib unit. - - -Summary of modifications -======================== - -- Improved makefile, adapted to zlib version 1.2.1. - -- Some field types from TZStreamRec are changed from Integer to - Longint, for consistency with the zlib.h header, and for 64-bit - readiness. - -- The zlib_version constant is updated. - -- The new Z_RLE strategy has its corresponding symbolic constant. - -- The allocation and deallocation functions and function types - (TAlloc, TFree, zlibAllocMem and zlibFreeMem) are now cdecl, - and _malloc and _free are added as C RTL stubs. As a result, - the original C sources of zlib can be compiled out of the box, - and linked to the ZLib unit. - - -Suggestions for improvements -============================ - -Currently, the ZLib unit provides only a limited wrapper around -the zlib library, and much of the original zlib functionality is -missing. Handling compressed file formats like ZIP/GZIP or PNG -cannot be implemented without having this functionality. -Applications that handle these formats are either using their own, -duplicated code, or not using the ZLib unit at all. - -Here are a few suggestions: - -- Checksum class wrappers around adler32() and crc32(), similar - to the Java classes that implement the java.util.zip.Checksum - interface. - -- The ability to read and write raw deflate streams, without the - zlib stream header and trailer. Raw deflate streams are used - in the ZIP file format. - -- The ability to read and write gzip streams, used in the GZIP - file format, and normally produced by the gzip program. - -- The ability to select a different compression strategy, useful - to PNG and MNG image compression, and to multimedia compression - in general. Besides the compression level - - TCompressionLevel = (clNone, clFastest, clDefault, clMax); - - which, in fact, could have used the 'z' prefix and avoided - TColor-like symbols - - TCompressionLevel = (zcNone, zcFastest, zcDefault, zcMax); - - there could be a compression strategy - - TCompressionStrategy = (zsDefault, zsFiltered, zsHuffmanOnly, zsRle); - -- ZIP and GZIP stream handling via TStreams. - - --- -Cosmin Truta diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/delphi/zlibd32.mak b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/delphi/zlibd32.mak deleted file mode 100644 index 9bb00b7c..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/delphi/zlibd32.mak +++ /dev/null @@ -1,99 +0,0 @@ -# Makefile for zlib -# For use with Delphi and C++ Builder under Win32 -# Updated for zlib 1.2.x by Cosmin Truta - -# ------------ Borland C++ ------------ - -# This project uses the Delphi (fastcall/register) calling convention: -LOC = -DZEXPORT=__fastcall -DZEXPORTVA=__cdecl - -CC = bcc32 -LD = bcc32 -AR = tlib -# do not use "-pr" in CFLAGS -CFLAGS = -a -d -k- -O2 $(LOC) -LDFLAGS = - - -# variables -ZLIB_LIB = zlib.lib - -OBJ1 = adler32.obj compress.obj crc32.obj deflate.obj gzclose.obj gzlib.obj gzread.obj -OBJ2 = gzwrite.obj infback.obj inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj -OBJP1 = +adler32.obj+compress.obj+crc32.obj+deflate.obj+gzclose.obj+gzlib.obj+gzread.obj -OBJP2 = +gzwrite.obj+infback.obj+inffast.obj+inflate.obj+inftrees.obj+trees.obj+uncompr.obj+zutil.obj - - -# targets -all: $(ZLIB_LIB) example.exe minigzip.exe - -.c.obj: - $(CC) -c $(CFLAGS) $*.c - -adler32.obj: adler32.c zlib.h zconf.h - -compress.obj: compress.c zlib.h zconf.h - -crc32.obj: crc32.c zlib.h zconf.h crc32.h - -deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h - -gzclose.obj: gzclose.c zlib.h zconf.h gzguts.h - -gzlib.obj: gzlib.c zlib.h zconf.h gzguts.h - -gzread.obj: gzread.c zlib.h zconf.h gzguts.h - -gzwrite.obj: gzwrite.c zlib.h zconf.h gzguts.h - -infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h inffixed.h - -inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h - -inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h inffixed.h - -inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h - -trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h - -uncompr.obj: uncompr.c zlib.h zconf.h - -zutil.obj: zutil.c zutil.h zlib.h zconf.h - -example.obj: test/example.c zlib.h zconf.h - -minigzip.obj: test/minigzip.c zlib.h zconf.h - - -# For the sake of the old Borland make, -# the command line is cut to fit in the MS-DOS 128 byte limit: -$(ZLIB_LIB): $(OBJ1) $(OBJ2) - -del $(ZLIB_LIB) - $(AR) $(ZLIB_LIB) $(OBJP1) - $(AR) $(ZLIB_LIB) $(OBJP2) - - -# testing -test: example.exe minigzip.exe - example - echo hello world | minigzip | minigzip -d - -example.exe: example.obj $(ZLIB_LIB) - $(LD) $(LDFLAGS) example.obj $(ZLIB_LIB) - -minigzip.exe: minigzip.obj $(ZLIB_LIB) - $(LD) $(LDFLAGS) minigzip.obj $(ZLIB_LIB) - - -# cleanup -clean: - -del *.obj - -del *.exe - -del *.lib - -del *.tds - -del zlib.bak - -del foo.gz - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib.build b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib.build deleted file mode 100644 index 7f90d6bc..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib.build +++ /dev/null @@ -1,33 +0,0 @@ - - - A .Net wrapper library around ZLib1.dll - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib.chm b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib.chm deleted file mode 100644 index f214a444..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib.chm and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib.sln b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib.sln deleted file mode 100644 index ac45ca04..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib.sln +++ /dev/null @@ -1,21 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 8.00 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotZLib", "DotZLib\DotZLib.csproj", "{BB1EE0B1-1808-46CB-B786-949D91117FC5}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - Debug = Debug - Release = Release - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Debug.ActiveCfg = Debug|.NET - {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Debug.Build.0 = Debug|.NET - {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Release.ActiveCfg = Release|.NET - {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Release.Build.0 = Release|.NET - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/AssemblyInfo.cs b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/AssemblyInfo.cs deleted file mode 100644 index 0491bfc2..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/AssemblyInfo.cs +++ /dev/null @@ -1,58 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; - -// -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -// -[assembly: AssemblyTitle("DotZLib")] -[assembly: AssemblyDescription(".Net bindings for ZLib compression dll 1.2.x")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Henrik Ravn")] -[assembly: AssemblyProduct("")] -[assembly: AssemblyCopyright("(c) 2004 by Henrik Ravn")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Revision and Build Numbers -// by using the '*' as shown below: - -[assembly: AssemblyVersion("1.0.*")] - -// -// In order to sign your assembly you must specify a key to use. Refer to the -// Microsoft .NET Framework documentation for more information on assembly signing. -// -// Use the attributes below to control which key is used for signing. -// -// Notes: -// (*) If no key is specified, the assembly is not signed. -// (*) KeyName refers to a key that has been installed in the Crypto Service -// Provider (CSP) on your machine. KeyFile refers to a file which contains -// a key. -// (*) If the KeyFile and the KeyName values are both specified, the -// following processing occurs: -// (1) If the KeyName can be found in the CSP, that key is used. -// (2) If the KeyName does not exist and the KeyFile does exist, the key -// in the KeyFile is installed into the CSP and used. -// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility. -// When specifying the KeyFile, the location of the KeyFile should be -// relative to the project output directory which is -// %Project Directory%\obj\. For example, if your KeyFile is -// located in the project directory, you would specify the AssemblyKeyFile -// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")] -// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework -// documentation for more information on this. -// -[assembly: AssemblyDelaySign(false)] -[assembly: AssemblyKeyFile("")] -[assembly: AssemblyKeyName("")] diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/ChecksumImpl.cs b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/ChecksumImpl.cs deleted file mode 100644 index 788b2fce..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/ChecksumImpl.cs +++ /dev/null @@ -1,202 +0,0 @@ -// -// © Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.Runtime.InteropServices; -using System.Text; - - -namespace DotZLib -{ - #region ChecksumGeneratorBase - /// - /// Implements the common functionality needed for all s - /// - /// - public abstract class ChecksumGeneratorBase : ChecksumGenerator - { - /// - /// The value of the current checksum - /// - protected uint _current; - - /// - /// Initializes a new instance of the checksum generator base - the current checksum is - /// set to zero - /// - public ChecksumGeneratorBase() - { - _current = 0; - } - - /// - /// Initializes a new instance of the checksum generator basewith a specified value - /// - /// The value to set the current checksum to - public ChecksumGeneratorBase(uint initialValue) - { - _current = initialValue; - } - - /// - /// Resets the current checksum to zero - /// - public void Reset() { _current = 0; } - - /// - /// Gets the current checksum value - /// - public uint Value { get { return _current; } } - - /// - /// Updates the current checksum with part of an array of bytes - /// - /// The data to update the checksum with - /// Where in data to start updating - /// The number of bytes from data to use - /// The sum of offset and count is larger than the length of data - /// data is a null reference - /// Offset or count is negative. - /// All the other Update methods are implmeneted in terms of this one. - /// This is therefore the only method a derived class has to implement - public abstract void Update(byte[] data, int offset, int count); - - /// - /// Updates the current checksum with an array of bytes. - /// - /// The data to update the checksum with - public void Update(byte[] data) - { - Update(data, 0, data.Length); - } - - /// - /// Updates the current checksum with the data from a string - /// - /// The string to update the checksum with - /// The characters in the string are converted by the UTF-8 encoding - public void Update(string data) - { - Update(Encoding.UTF8.GetBytes(data)); - } - - /// - /// Updates the current checksum with the data from a string, using a specific encoding - /// - /// The string to update the checksum with - /// The encoding to use - public void Update(string data, Encoding encoding) - { - Update(encoding.GetBytes(data)); - } - - } - #endregion - - #region CRC32 - /// - /// Implements a CRC32 checksum generator - /// - public sealed class CRC32Checksum : ChecksumGeneratorBase - { - #region DLL imports - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern uint crc32(uint crc, int data, uint length); - - #endregion - - /// - /// Initializes a new instance of the CRC32 checksum generator - /// - public CRC32Checksum() : base() {} - - /// - /// Initializes a new instance of the CRC32 checksum generator with a specified value - /// - /// The value to set the current checksum to - public CRC32Checksum(uint initialValue) : base(initialValue) {} - - /// - /// Updates the current checksum with part of an array of bytes - /// - /// The data to update the checksum with - /// Where in data to start updating - /// The number of bytes from data to use - /// The sum of offset and count is larger than the length of data - /// data is a null reference - /// Offset or count is negative. - public override void Update(byte[] data, int offset, int count) - { - if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); - if ((offset+count) > data.Length) throw new ArgumentException(); - GCHandle hData = GCHandle.Alloc(data, GCHandleType.Pinned); - try - { - _current = crc32(_current, hData.AddrOfPinnedObject().ToInt32()+offset, (uint)count); - } - finally - { - hData.Free(); - } - } - - } - #endregion - - #region Adler - /// - /// Implements a checksum generator that computes the Adler checksum on data - /// - public sealed class AdlerChecksum : ChecksumGeneratorBase - { - #region DLL imports - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern uint adler32(uint adler, int data, uint length); - - #endregion - - /// - /// Initializes a new instance of the Adler checksum generator - /// - public AdlerChecksum() : base() {} - - /// - /// Initializes a new instance of the Adler checksum generator with a specified value - /// - /// The value to set the current checksum to - public AdlerChecksum(uint initialValue) : base(initialValue) {} - - /// - /// Updates the current checksum with part of an array of bytes - /// - /// The data to update the checksum with - /// Where in data to start updating - /// The number of bytes from data to use - /// The sum of offset and count is larger than the length of data - /// data is a null reference - /// Offset or count is negative. - public override void Update(byte[] data, int offset, int count) - { - if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); - if ((offset+count) > data.Length) throw new ArgumentException(); - GCHandle hData = GCHandle.Alloc(data, GCHandleType.Pinned); - try - { - _current = adler32(_current, hData.AddrOfPinnedObject().ToInt32()+offset, (uint)count); - } - finally - { - hData.Free(); - } - } - - } - #endregion - -} \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/CircularBuffer.cs b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/CircularBuffer.cs deleted file mode 100644 index c1cab3a0..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/CircularBuffer.cs +++ /dev/null @@ -1,83 +0,0 @@ -// -// © Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.Diagnostics; - -namespace DotZLib -{ - - /// - /// This class implements a circular buffer - /// - internal class CircularBuffer - { - #region Private data - private int _capacity; - private int _head; - private int _tail; - private int _size; - private byte[] _buffer; - #endregion - - public CircularBuffer(int capacity) - { - Debug.Assert( capacity > 0 ); - _buffer = new byte[capacity]; - _capacity = capacity; - _head = 0; - _tail = 0; - _size = 0; - } - - public int Size { get { return _size; } } - - public int Put(byte[] source, int offset, int count) - { - Debug.Assert( count > 0 ); - int trueCount = Math.Min(count, _capacity - Size); - for (int i = 0; i < trueCount; ++i) - _buffer[(_tail+i) % _capacity] = source[offset+i]; - _tail += trueCount; - _tail %= _capacity; - _size += trueCount; - return trueCount; - } - - public bool Put(byte b) - { - if (Size == _capacity) // no room - return false; - _buffer[_tail++] = b; - _tail %= _capacity; - ++_size; - return true; - } - - public int Get(byte[] destination, int offset, int count) - { - int trueCount = Math.Min(count,Size); - for (int i = 0; i < trueCount; ++i) - destination[offset + i] = _buffer[(_head+i) % _capacity]; - _head += trueCount; - _head %= _capacity; - _size -= trueCount; - return trueCount; - } - - public int Get() - { - if (Size == 0) - return -1; - - int result = (int)_buffer[_head++ % _capacity]; - --_size; - return result; - } - - } -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/CodecBase.cs b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/CodecBase.cs deleted file mode 100644 index 42e6da3a..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/CodecBase.cs +++ /dev/null @@ -1,198 +0,0 @@ -// -// © Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.Runtime.InteropServices; - -namespace DotZLib -{ - /// - /// Implements the common functionality needed for all s - /// - public abstract class CodecBase : Codec, IDisposable - { - - #region Data members - - /// - /// Instance of the internal zlib buffer structure that is - /// passed to all functions in the zlib dll - /// - internal ZStream _ztream = new ZStream(); - - /// - /// True if the object instance has been disposed, false otherwise - /// - protected bool _isDisposed = false; - - /// - /// The size of the internal buffers - /// - protected const int kBufferSize = 16384; - - private byte[] _outBuffer = new byte[kBufferSize]; - private byte[] _inBuffer = new byte[kBufferSize]; - - private GCHandle _hInput; - private GCHandle _hOutput; - - private uint _checksum = 0; - - #endregion - - /// - /// Initializes a new instance of the CodeBase class. - /// - public CodecBase() - { - try - { - _hInput = GCHandle.Alloc(_inBuffer, GCHandleType.Pinned); - _hOutput = GCHandle.Alloc(_outBuffer, GCHandleType.Pinned); - } - catch (Exception) - { - CleanUp(false); - throw; - } - } - - - #region Codec Members - - /// - /// Occurs when more processed data are available. - /// - public event DataAvailableHandler DataAvailable; - - /// - /// Fires the event - /// - protected void OnDataAvailable() - { - if (_ztream.total_out > 0) - { - if (DataAvailable != null) - DataAvailable( _outBuffer, 0, (int)_ztream.total_out); - resetOutput(); - } - } - - /// - /// Adds more data to the codec to be processed. - /// - /// Byte array containing the data to be added to the codec - /// Adding data may, or may not, raise the DataAvailable event - public void Add(byte[] data) - { - Add(data,0,data.Length); - } - - /// - /// Adds more data to the codec to be processed. - /// - /// Byte array containing the data to be added to the codec - /// The index of the first byte to add from data - /// The number of bytes to add - /// Adding data may, or may not, raise the DataAvailable event - /// This must be implemented by a derived class - public abstract void Add(byte[] data, int offset, int count); - - /// - /// Finishes up any pending data that needs to be processed and handled. - /// - /// This must be implemented by a derived class - public abstract void Finish(); - - /// - /// Gets the checksum of the data that has been added so far - /// - public uint Checksum { get { return _checksum; } } - - #endregion - - #region Destructor & IDisposable stuff - - /// - /// Destroys this instance - /// - ~CodecBase() - { - CleanUp(false); - } - - /// - /// Releases any unmanaged resources and calls the method of the derived class - /// - public void Dispose() - { - CleanUp(true); - } - - /// - /// Performs any codec specific cleanup - /// - /// This must be implemented by a derived class - protected abstract void CleanUp(); - - // performs the release of the handles and calls the dereived CleanUp() - private void CleanUp(bool isDisposing) - { - if (!_isDisposed) - { - CleanUp(); - if (_hInput.IsAllocated) - _hInput.Free(); - if (_hOutput.IsAllocated) - _hOutput.Free(); - - _isDisposed = true; - } - } - - - #endregion - - #region Helper methods - - /// - /// Copies a number of bytes to the internal codec buffer - ready for proccesing - /// - /// The byte array that contains the data to copy - /// The index of the first byte to copy - /// The number of bytes to copy from data - protected void copyInput(byte[] data, int startIndex, int count) - { - Array.Copy(data, startIndex, _inBuffer,0, count); - _ztream.next_in = _hInput.AddrOfPinnedObject(); - _ztream.total_in = 0; - _ztream.avail_in = (uint)count; - - } - - /// - /// Resets the internal output buffers to a known state - ready for processing - /// - protected void resetOutput() - { - _ztream.total_out = 0; - _ztream.avail_out = kBufferSize; - _ztream.next_out = _hOutput.AddrOfPinnedObject(); - } - - /// - /// Updates the running checksum property - /// - /// The new checksum value - protected void setChecksum(uint newSum) - { - _checksum = newSum; - } - #endregion - - } -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/Deflater.cs b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/Deflater.cs deleted file mode 100644 index c2477925..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/Deflater.cs +++ /dev/null @@ -1,106 +0,0 @@ -// -// © Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.Diagnostics; -using System.Runtime.InteropServices; - -namespace DotZLib -{ - - /// - /// Implements a data compressor, using the deflate algorithm in the ZLib dll - /// - public sealed class Deflater : CodecBase - { - #region Dll imports - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl, CharSet=CharSet.Ansi)] - private static extern int deflateInit_(ref ZStream sz, int level, string vs, int size); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int deflate(ref ZStream sz, int flush); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int deflateReset(ref ZStream sz); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int deflateEnd(ref ZStream sz); - #endregion - - /// - /// Constructs an new instance of the Deflater - /// - /// The compression level to use for this Deflater - public Deflater(CompressLevel level) : base() - { - int retval = deflateInit_(ref _ztream, (int)level, Info.Version, Marshal.SizeOf(_ztream)); - if (retval != 0) - throw new ZLibException(retval, "Could not initialize deflater"); - - resetOutput(); - } - - /// - /// Adds more data to the codec to be processed. - /// - /// Byte array containing the data to be added to the codec - /// The index of the first byte to add from data - /// The number of bytes to add - /// Adding data may, or may not, raise the DataAvailable event - public override void Add(byte[] data, int offset, int count) - { - if (data == null) throw new ArgumentNullException(); - if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); - if ((offset+count) > data.Length) throw new ArgumentException(); - - int total = count; - int inputIndex = offset; - int err = 0; - - while (err >= 0 && inputIndex < total) - { - copyInput(data, inputIndex, Math.Min(total - inputIndex, kBufferSize)); - while (err >= 0 && _ztream.avail_in > 0) - { - err = deflate(ref _ztream, (int)FlushTypes.None); - if (err == 0) - while (_ztream.avail_out == 0) - { - OnDataAvailable(); - err = deflate(ref _ztream, (int)FlushTypes.None); - } - inputIndex += (int)_ztream.total_in; - } - } - setChecksum( _ztream.adler ); - } - - - /// - /// Finishes up any pending data that needs to be processed and handled. - /// - public override void Finish() - { - int err; - do - { - err = deflate(ref _ztream, (int)FlushTypes.Finish); - OnDataAvailable(); - } - while (err == 0); - setChecksum( _ztream.adler ); - deflateReset(ref _ztream); - resetOutput(); - } - - /// - /// Closes the internal zlib deflate stream - /// - protected override void CleanUp() { deflateEnd(ref _ztream); } - - } -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/DotZLib.cs b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/DotZLib.cs deleted file mode 100644 index be184b4c..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/DotZLib.cs +++ /dev/null @@ -1,288 +0,0 @@ -// -// © Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.IO; -using System.Runtime.InteropServices; -using System.Text; - - -namespace DotZLib -{ - - #region Internal types - - /// - /// Defines constants for the various flush types used with zlib - /// - internal enum FlushTypes - { - None, Partial, Sync, Full, Finish, Block - } - - #region ZStream structure - // internal mapping of the zlib zstream structure for marshalling - [StructLayoutAttribute(LayoutKind.Sequential, Pack=4, Size=0, CharSet=CharSet.Ansi)] - internal struct ZStream - { - public IntPtr next_in; - public uint avail_in; - public uint total_in; - - public IntPtr next_out; - public uint avail_out; - public uint total_out; - - [MarshalAs(UnmanagedType.LPStr)] - string msg; - uint state; - - uint zalloc; - uint zfree; - uint opaque; - - int data_type; - public uint adler; - uint reserved; - } - - #endregion - - #endregion - - #region Public enums - /// - /// Defines constants for the available compression levels in zlib - /// - public enum CompressLevel : int - { - /// - /// The default compression level with a reasonable compromise between compression and speed - /// - Default = -1, - /// - /// No compression at all. The data are passed straight through. - /// - None = 0, - /// - /// The maximum compression rate available. - /// - Best = 9, - /// - /// The fastest available compression level. - /// - Fastest = 1 - } - #endregion - - #region Exception classes - /// - /// The exception that is thrown when an error occurs on the zlib dll - /// - public class ZLibException : ApplicationException - { - /// - /// Initializes a new instance of the class with a specified - /// error message and error code - /// - /// The zlib error code that caused the exception - /// A message that (hopefully) describes the error - public ZLibException(int errorCode, string msg) : base(String.Format("ZLib error {0} {1}", errorCode, msg)) - { - } - - /// - /// Initializes a new instance of the class with a specified - /// error code - /// - /// The zlib error code that caused the exception - public ZLibException(int errorCode) : base(String.Format("ZLib error {0}", errorCode)) - { - } - } - #endregion - - #region Interfaces - - /// - /// Declares methods and properties that enables a running checksum to be calculated - /// - public interface ChecksumGenerator - { - /// - /// Gets the current value of the checksum - /// - uint Value { get; } - - /// - /// Clears the current checksum to 0 - /// - void Reset(); - - /// - /// Updates the current checksum with an array of bytes - /// - /// The data to update the checksum with - void Update(byte[] data); - - /// - /// Updates the current checksum with part of an array of bytes - /// - /// The data to update the checksum with - /// Where in data to start updating - /// The number of bytes from data to use - /// The sum of offset and count is larger than the length of data - /// data is a null reference - /// Offset or count is negative. - void Update(byte[] data, int offset, int count); - - /// - /// Updates the current checksum with the data from a string - /// - /// The string to update the checksum with - /// The characters in the string are converted by the UTF-8 encoding - void Update(string data); - - /// - /// Updates the current checksum with the data from a string, using a specific encoding - /// - /// The string to update the checksum with - /// The encoding to use - void Update(string data, Encoding encoding); - } - - - /// - /// Represents the method that will be called from a codec when new data - /// are available. - /// - /// The byte array containing the processed data - /// The index of the first processed byte in data - /// The number of processed bytes available - /// On return from this method, the data may be overwritten, so grab it while you can. - /// You cannot assume that startIndex will be zero. - /// - public delegate void DataAvailableHandler(byte[] data, int startIndex, int count); - - /// - /// Declares methods and events for implementing compressors/decompressors - /// - public interface Codec - { - /// - /// Occurs when more processed data are available. - /// - event DataAvailableHandler DataAvailable; - - /// - /// Adds more data to the codec to be processed. - /// - /// Byte array containing the data to be added to the codec - /// Adding data may, or may not, raise the DataAvailable event - void Add(byte[] data); - - /// - /// Adds more data to the codec to be processed. - /// - /// Byte array containing the data to be added to the codec - /// The index of the first byte to add from data - /// The number of bytes to add - /// Adding data may, or may not, raise the DataAvailable event - void Add(byte[] data, int offset, int count); - - /// - /// Finishes up any pending data that needs to be processed and handled. - /// - void Finish(); - - /// - /// Gets the checksum of the data that has been added so far - /// - uint Checksum { get; } - - - } - - #endregion - - #region Classes - /// - /// Encapsulates general information about the ZLib library - /// - public class Info - { - #region DLL imports - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern uint zlibCompileFlags(); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern string zlibVersion(); - #endregion - - #region Private stuff - private uint _flags; - - // helper function that unpacks a bitsize mask - private static int bitSize(uint bits) - { - switch (bits) - { - case 0: return 16; - case 1: return 32; - case 2: return 64; - } - return -1; - } - #endregion - - /// - /// Constructs an instance of the Info class. - /// - public Info() - { - _flags = zlibCompileFlags(); - } - - /// - /// True if the library is compiled with debug info - /// - public bool HasDebugInfo { get { return 0 != (_flags & 0x100); } } - - /// - /// True if the library is compiled with assembly optimizations - /// - public bool UsesAssemblyCode { get { return 0 != (_flags & 0x200); } } - - /// - /// Gets the size of the unsigned int that was compiled into Zlib - /// - public int SizeOfUInt { get { return bitSize(_flags & 3); } } - - /// - /// Gets the size of the unsigned long that was compiled into Zlib - /// - public int SizeOfULong { get { return bitSize((_flags >> 2) & 3); } } - - /// - /// Gets the size of the pointers that were compiled into Zlib - /// - public int SizeOfPointer { get { return bitSize((_flags >> 4) & 3); } } - - /// - /// Gets the size of the z_off_t type that was compiled into Zlib - /// - public int SizeOfOffset { get { return bitSize((_flags >> 6) & 3); } } - - /// - /// Gets the version of ZLib as a string, e.g. "1.2.1" - /// - public static string Version { get { return zlibVersion(); } } - } - - #endregion - -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/DotZLib.csproj b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/DotZLib.csproj deleted file mode 100644 index 71eeb859..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/DotZLib.csproj +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/GZipStream.cs b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/GZipStream.cs deleted file mode 100644 index b161300b..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/GZipStream.cs +++ /dev/null @@ -1,301 +0,0 @@ -// -// © Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.IO; -using System.Runtime.InteropServices; - -namespace DotZLib -{ - /// - /// Implements a compressed , in GZip (.gz) format. - /// - public class GZipStream : Stream, IDisposable - { - #region Dll Imports - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl, CharSet=CharSet.Ansi)] - private static extern IntPtr gzopen(string name, string mode); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int gzclose(IntPtr gzFile); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int gzwrite(IntPtr gzFile, int data, int length); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int gzread(IntPtr gzFile, int data, int length); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int gzgetc(IntPtr gzFile); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int gzputc(IntPtr gzFile, int c); - - #endregion - - #region Private data - private IntPtr _gzFile; - private bool _isDisposed = false; - private bool _isWriting; - #endregion - - #region Constructors - /// - /// Creates a new file as a writeable GZipStream - /// - /// The name of the compressed file to create - /// The compression level to use when adding data - /// If an error occurred in the internal zlib function - public GZipStream(string fileName, CompressLevel level) - { - _isWriting = true; - _gzFile = gzopen(fileName, String.Format("wb{0}", (int)level)); - if (_gzFile == IntPtr.Zero) - throw new ZLibException(-1, "Could not open " + fileName); - } - - /// - /// Opens an existing file as a readable GZipStream - /// - /// The name of the file to open - /// If an error occurred in the internal zlib function - public GZipStream(string fileName) - { - _isWriting = false; - _gzFile = gzopen(fileName, "rb"); - if (_gzFile == IntPtr.Zero) - throw new ZLibException(-1, "Could not open " + fileName); - - } - #endregion - - #region Access properties - /// - /// Returns true of this stream can be read from, false otherwise - /// - public override bool CanRead - { - get - { - return !_isWriting; - } - } - - - /// - /// Returns false. - /// - public override bool CanSeek - { - get - { - return false; - } - } - - /// - /// Returns true if this tsream is writeable, false otherwise - /// - public override bool CanWrite - { - get - { - return _isWriting; - } - } - #endregion - - #region Destructor & IDispose stuff - - /// - /// Destroys this instance - /// - ~GZipStream() - { - cleanUp(false); - } - - /// - /// Closes the external file handle - /// - public void Dispose() - { - cleanUp(true); - } - - // Does the actual closing of the file handle. - private void cleanUp(bool isDisposing) - { - if (!_isDisposed) - { - gzclose(_gzFile); - _isDisposed = true; - } - } - #endregion - - #region Basic reading and writing - /// - /// Attempts to read a number of bytes from the stream. - /// - /// The destination data buffer - /// The index of the first destination byte in buffer - /// The number of bytes requested - /// The number of bytes read - /// If buffer is null - /// If count or offset are negative - /// If offset + count is > buffer.Length - /// If this stream is not readable. - /// If this stream has been disposed. - public override int Read(byte[] buffer, int offset, int count) - { - if (!CanRead) throw new NotSupportedException(); - if (buffer == null) throw new ArgumentNullException(); - if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); - if ((offset+count) > buffer.Length) throw new ArgumentException(); - if (_isDisposed) throw new ObjectDisposedException("GZipStream"); - - GCHandle h = GCHandle.Alloc(buffer, GCHandleType.Pinned); - int result; - try - { - result = gzread(_gzFile, h.AddrOfPinnedObject().ToInt32() + offset, count); - if (result < 0) - throw new IOException(); - } - finally - { - h.Free(); - } - return result; - } - - /// - /// Attempts to read a single byte from the stream. - /// - /// The byte that was read, or -1 in case of error or End-Of-File - public override int ReadByte() - { - if (!CanRead) throw new NotSupportedException(); - if (_isDisposed) throw new ObjectDisposedException("GZipStream"); - return gzgetc(_gzFile); - } - - /// - /// Writes a number of bytes to the stream - /// - /// - /// - /// - /// If buffer is null - /// If count or offset are negative - /// If offset + count is > buffer.Length - /// If this stream is not writeable. - /// If this stream has been disposed. - public override void Write(byte[] buffer, int offset, int count) - { - if (!CanWrite) throw new NotSupportedException(); - if (buffer == null) throw new ArgumentNullException(); - if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); - if ((offset+count) > buffer.Length) throw new ArgumentException(); - if (_isDisposed) throw new ObjectDisposedException("GZipStream"); - - GCHandle h = GCHandle.Alloc(buffer, GCHandleType.Pinned); - try - { - int result = gzwrite(_gzFile, h.AddrOfPinnedObject().ToInt32() + offset, count); - if (result < 0) - throw new IOException(); - } - finally - { - h.Free(); - } - } - - /// - /// Writes a single byte to the stream - /// - /// The byte to add to the stream. - /// If this stream is not writeable. - /// If this stream has been disposed. - public override void WriteByte(byte value) - { - if (!CanWrite) throw new NotSupportedException(); - if (_isDisposed) throw new ObjectDisposedException("GZipStream"); - - int result = gzputc(_gzFile, (int)value); - if (result < 0) - throw new IOException(); - } - #endregion - - #region Position & length stuff - /// - /// Not supported. - /// - /// - /// Always thrown - public override void SetLength(long value) - { - throw new NotSupportedException(); - } - - /// - /// Not suppported. - /// - /// - /// - /// - /// Always thrown - public override long Seek(long offset, SeekOrigin origin) - { - throw new NotSupportedException(); - } - - /// - /// Flushes the GZipStream. - /// - /// In this implementation, this method does nothing. This is because excessive - /// flushing may degrade the achievable compression rates. - public override void Flush() - { - // left empty on purpose - } - - /// - /// Gets/sets the current position in the GZipStream. Not suppported. - /// - /// In this implementation this property is not supported - /// Always thrown - public override long Position - { - get - { - throw new NotSupportedException(); - } - set - { - throw new NotSupportedException(); - } - } - - /// - /// Gets the size of the stream. Not suppported. - /// - /// In this implementation this property is not supported - /// Always thrown - public override long Length - { - get - { - throw new NotSupportedException(); - } - } - #endregion - } -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/Inflater.cs b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/Inflater.cs deleted file mode 100644 index 8ed5451d..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/Inflater.cs +++ /dev/null @@ -1,105 +0,0 @@ -// -// © Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.Diagnostics; -using System.Runtime.InteropServices; - -namespace DotZLib -{ - - /// - /// Implements a data decompressor, using the inflate algorithm in the ZLib dll - /// - public class Inflater : CodecBase - { - #region Dll imports - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl, CharSet=CharSet.Ansi)] - private static extern int inflateInit_(ref ZStream sz, string vs, int size); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int inflate(ref ZStream sz, int flush); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int inflateReset(ref ZStream sz); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int inflateEnd(ref ZStream sz); - #endregion - - /// - /// Constructs an new instance of the Inflater - /// - public Inflater() : base() - { - int retval = inflateInit_(ref _ztream, Info.Version, Marshal.SizeOf(_ztream)); - if (retval != 0) - throw new ZLibException(retval, "Could not initialize inflater"); - - resetOutput(); - } - - - /// - /// Adds more data to the codec to be processed. - /// - /// Byte array containing the data to be added to the codec - /// The index of the first byte to add from data - /// The number of bytes to add - /// Adding data may, or may not, raise the DataAvailable event - public override void Add(byte[] data, int offset, int count) - { - if (data == null) throw new ArgumentNullException(); - if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); - if ((offset+count) > data.Length) throw new ArgumentException(); - - int total = count; - int inputIndex = offset; - int err = 0; - - while (err >= 0 && inputIndex < total) - { - copyInput(data, inputIndex, Math.Min(total - inputIndex, kBufferSize)); - err = inflate(ref _ztream, (int)FlushTypes.None); - if (err == 0) - while (_ztream.avail_out == 0) - { - OnDataAvailable(); - err = inflate(ref _ztream, (int)FlushTypes.None); - } - - inputIndex += (int)_ztream.total_in; - } - setChecksum( _ztream.adler ); - } - - - /// - /// Finishes up any pending data that needs to be processed and handled. - /// - public override void Finish() - { - int err; - do - { - err = inflate(ref _ztream, (int)FlushTypes.Finish); - OnDataAvailable(); - } - while (err == 0); - setChecksum( _ztream.adler ); - inflateReset(ref _ztream); - resetOutput(); - } - - /// - /// Closes the internal zlib inflate stream - /// - protected override void CleanUp() { inflateEnd(ref _ztream); } - - - } -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/UnitTests.cs b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/UnitTests.cs deleted file mode 100644 index b33d9d9b..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/DotZLib/UnitTests.cs +++ /dev/null @@ -1,274 +0,0 @@ -// -// © Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.Collections; -using System.IO; - -// uncomment the define below to include unit tests -//#define nunit -#if nunit -using NUnit.Framework; - -// Unit tests for the DotZLib class library -// ---------------------------------------- -// -// Use this with NUnit 2 from http://www.nunit.org -// - -namespace DotZLibTests -{ - using DotZLib; - - // helper methods - internal class Utils - { - public static bool byteArrEqual( byte[] lhs, byte[] rhs ) - { - if (lhs.Length != rhs.Length) - return false; - for (int i = lhs.Length-1; i >= 0; --i) - if (lhs[i] != rhs[i]) - return false; - return true; - } - - } - - - [TestFixture] - public class CircBufferTests - { - #region Circular buffer tests - [Test] - public void SinglePutGet() - { - CircularBuffer buf = new CircularBuffer(10); - Assert.AreEqual( 0, buf.Size ); - Assert.AreEqual( -1, buf.Get() ); - - Assert.IsTrue(buf.Put( 1 )); - Assert.AreEqual( 1, buf.Size ); - Assert.AreEqual( 1, buf.Get() ); - Assert.AreEqual( 0, buf.Size ); - Assert.AreEqual( -1, buf.Get() ); - } - - [Test] - public void BlockPutGet() - { - CircularBuffer buf = new CircularBuffer(10); - byte[] arr = {1,2,3,4,5,6,7,8,9,10}; - Assert.AreEqual( 10, buf.Put(arr,0,10) ); - Assert.AreEqual( 10, buf.Size ); - Assert.IsFalse( buf.Put(11) ); - Assert.AreEqual( 1, buf.Get() ); - Assert.IsTrue( buf.Put(11) ); - - byte[] arr2 = (byte[])arr.Clone(); - Assert.AreEqual( 9, buf.Get(arr2,1,9) ); - Assert.IsTrue( Utils.byteArrEqual(arr,arr2) ); - } - - #endregion - } - - [TestFixture] - public class ChecksumTests - { - #region CRC32 Tests - [Test] - public void CRC32_Null() - { - CRC32Checksum crc32 = new CRC32Checksum(); - Assert.AreEqual( 0, crc32.Value ); - - crc32 = new CRC32Checksum(1); - Assert.AreEqual( 1, crc32.Value ); - - crc32 = new CRC32Checksum(556); - Assert.AreEqual( 556, crc32.Value ); - } - - [Test] - public void CRC32_Data() - { - CRC32Checksum crc32 = new CRC32Checksum(); - byte[] data = { 1,2,3,4,5,6,7 }; - crc32.Update(data); - Assert.AreEqual( 0x70e46888, crc32.Value ); - - crc32 = new CRC32Checksum(); - crc32.Update("penguin"); - Assert.AreEqual( 0x0e5c1a120, crc32.Value ); - - crc32 = new CRC32Checksum(1); - crc32.Update("penguin"); - Assert.AreEqual(0x43b6aa94, crc32.Value); - - } - #endregion - - #region Adler tests - - [Test] - public void Adler_Null() - { - AdlerChecksum adler = new AdlerChecksum(); - Assert.AreEqual(0, adler.Value); - - adler = new AdlerChecksum(1); - Assert.AreEqual( 1, adler.Value ); - - adler = new AdlerChecksum(556); - Assert.AreEqual( 556, adler.Value ); - } - - [Test] - public void Adler_Data() - { - AdlerChecksum adler = new AdlerChecksum(1); - byte[] data = { 1,2,3,4,5,6,7 }; - adler.Update(data); - Assert.AreEqual( 0x5b001d, adler.Value ); - - adler = new AdlerChecksum(); - adler.Update("penguin"); - Assert.AreEqual(0x0bcf02f6, adler.Value ); - - adler = new AdlerChecksum(1); - adler.Update("penguin"); - Assert.AreEqual(0x0bd602f7, adler.Value); - - } - #endregion - } - - [TestFixture] - public class InfoTests - { - #region Info tests - [Test] - public void Info_Version() - { - Info info = new Info(); - Assert.AreEqual("1.2.6", Info.Version); - Assert.AreEqual(32, info.SizeOfUInt); - Assert.AreEqual(32, info.SizeOfULong); - Assert.AreEqual(32, info.SizeOfPointer); - Assert.AreEqual(32, info.SizeOfOffset); - } - #endregion - } - - [TestFixture] - public class DeflateInflateTests - { - #region Deflate tests - [Test] - public void Deflate_Init() - { - using (Deflater def = new Deflater(CompressLevel.Default)) - { - } - } - - private ArrayList compressedData = new ArrayList(); - private uint adler1; - - private ArrayList uncompressedData = new ArrayList(); - private uint adler2; - - public void CDataAvail(byte[] data, int startIndex, int count) - { - for (int i = 0; i < count; ++i) - compressedData.Add(data[i+startIndex]); - } - - [Test] - public void Deflate_Compress() - { - compressedData.Clear(); - - byte[] testData = new byte[35000]; - for (int i = 0; i < testData.Length; ++i) - testData[i] = 5; - - using (Deflater def = new Deflater((CompressLevel)5)) - { - def.DataAvailable += new DataAvailableHandler(CDataAvail); - def.Add(testData); - def.Finish(); - adler1 = def.Checksum; - } - } - #endregion - - #region Inflate tests - [Test] - public void Inflate_Init() - { - using (Inflater inf = new Inflater()) - { - } - } - - private void DDataAvail(byte[] data, int startIndex, int count) - { - for (int i = 0; i < count; ++i) - uncompressedData.Add(data[i+startIndex]); - } - - [Test] - public void Inflate_Expand() - { - uncompressedData.Clear(); - - using (Inflater inf = new Inflater()) - { - inf.DataAvailable += new DataAvailableHandler(DDataAvail); - inf.Add((byte[])compressedData.ToArray(typeof(byte))); - inf.Finish(); - adler2 = inf.Checksum; - } - Assert.AreEqual( adler1, adler2 ); - } - #endregion - } - - [TestFixture] - public class GZipStreamTests - { - #region GZipStream test - [Test] - public void GZipStream_WriteRead() - { - using (GZipStream gzOut = new GZipStream("gzstream.gz", CompressLevel.Best)) - { - BinaryWriter writer = new BinaryWriter(gzOut); - writer.Write("hi there"); - writer.Write(Math.PI); - writer.Write(42); - } - - using (GZipStream gzIn = new GZipStream("gzstream.gz")) - { - BinaryReader reader = new BinaryReader(gzIn); - string s = reader.ReadString(); - Assert.AreEqual("hi there",s); - double d = reader.ReadDouble(); - Assert.AreEqual(Math.PI, d); - int i = reader.ReadInt32(); - Assert.AreEqual(42,i); - } - - } - #endregion - } -} - -#endif diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/LICENSE_1_0.txt b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/LICENSE_1_0.txt deleted file mode 100644 index 30aac2cf..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/LICENSE_1_0.txt +++ /dev/null @@ -1,23 +0,0 @@ -Boost Software License - Version 1.0 - August 17th, 2003 - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: - -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/readme.txt b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/readme.txt deleted file mode 100644 index b2395720..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/dotzlib/readme.txt +++ /dev/null @@ -1,58 +0,0 @@ -This directory contains a .Net wrapper class library for the ZLib1.dll - -The wrapper includes support for inflating/deflating memory buffers, -.Net streaming wrappers for the gz streams part of zlib, and wrappers -for the checksum parts of zlib. See DotZLib/UnitTests.cs for examples. - -Directory structure: --------------------- - -LICENSE_1_0.txt - License file. -readme.txt - This file. -DotZLib.chm - Class library documentation -DotZLib.build - NAnt build file -DotZLib.sln - Microsoft Visual Studio 2003 solution file - -DotZLib\*.cs - Source files for the class library - -Unit tests: ------------ -The file DotZLib/UnitTests.cs contains unit tests for use with NUnit 2.1 or higher. -To include unit tests in the build, define nunit before building. - - -Build instructions: -------------------- - -1. Using Visual Studio.Net 2003: - Open DotZLib.sln in VS.Net and build from there. Output file (DotZLib.dll) - will be found ./DotZLib/bin/release or ./DotZLib/bin/debug, depending on - you are building the release or debug version of the library. Check - DotZLib/UnitTests.cs for instructions on how to include unit tests in the - build. - -2. Using NAnt: - Open a command prompt with access to the build environment and run nant - in the same directory as the DotZLib.build file. - You can define 2 properties on the nant command-line to control the build: - debug={true|false} to toggle between release/debug builds (default=true). - nunit={true|false} to include or esclude unit tests (default=true). - Also the target clean will remove binaries. - Output file (DotZLib.dll) will be found in either ./DotZLib/bin/release - or ./DotZLib/bin/debug, depending on whether you are building the release - or debug version of the library. - - Examples: - nant -D:debug=false -D:nunit=false - will build a release mode version of the library without unit tests. - nant - will build a debug version of the library with unit tests - nant clean - will remove all previously built files. - - ---------------------------------- -Copyright (c) Henrik Ravn 2004 - -Use, modification and distribution are subject to the Boost Software License, Version 1.0. -(See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/gcc_gvmat64/gvmat64.S b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/gcc_gvmat64/gvmat64.S deleted file mode 100644 index dd858ddb..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/gcc_gvmat64/gvmat64.S +++ /dev/null @@ -1,574 +0,0 @@ -/* -;uInt longest_match_x64( -; deflate_state *s, -; IPos cur_match); // current match - -; gvmat64.S -- Asm portion of the optimized longest_match for 32 bits x86_64 -; (AMD64 on Athlon 64, Opteron, Phenom -; and Intel EM64T on Pentium 4 with EM64T, Pentium D, Core 2 Duo, Core I5/I7) -; this file is translation from gvmat64.asm to GCC 4.x (for Linux, Mac XCode) -; Copyright (C) 1995-2010 Jean-loup Gailly, Brian Raiter and Gilles Vollant. -; -; File written by Gilles Vollant, by converting to assembly the longest_match -; from Jean-loup Gailly in deflate.c of zLib and infoZip zip. -; and by taking inspiration on asm686 with masm, optimised assembly code -; from Brian Raiter, written 1998 -; -; This software is provided 'as-is', without any express or implied -; warranty. In no event will the authors be held liable for any damages -; arising from the use of this software. -; -; Permission is granted to anyone to use this software for any purpose, -; including commercial applications, and to alter it and redistribute it -; freely, subject to the following restrictions: -; -; 1. The origin of this software must not be misrepresented; you must not -; claim that you wrote the original software. If you use this software -; in a product, an acknowledgment in the product documentation would be -; appreciated but is not required. -; 2. Altered source versions must be plainly marked as such, and must not be -; misrepresented as being the original software -; 3. This notice may not be removed or altered from any source distribution. -; -; http://www.zlib.net -; http://www.winimage.com/zLibDll -; http://www.muppetlabs.com/~breadbox/software/assembly.html -; -; to compile this file for zLib, I use option: -; gcc -c -arch x86_64 gvmat64.S - - -;uInt longest_match(s, cur_match) -; deflate_state *s; -; IPos cur_match; // current match / -; -; with XCode for Mac, I had strange error with some jump on intel syntax -; this is why BEFORE_JMP and AFTER_JMP are used - */ - - -#define BEFORE_JMP .att_syntax -#define AFTER_JMP .intel_syntax noprefix - -#ifndef NO_UNDERLINE -# define match_init _match_init -# define longest_match _longest_match -#endif - -.intel_syntax noprefix - -.globl match_init, longest_match -.text -longest_match: - - - -#define LocalVarsSize 96 -/* -; register used : rax,rbx,rcx,rdx,rsi,rdi,r8,r9,r10,r11,r12 -; free register : r14,r15 -; register can be saved : rsp -*/ - -#define chainlenwmask (rsp + 8 - LocalVarsSize) -#define nicematch (rsp + 16 - LocalVarsSize) - -#define save_rdi (rsp + 24 - LocalVarsSize) -#define save_rsi (rsp + 32 - LocalVarsSize) -#define save_rbx (rsp + 40 - LocalVarsSize) -#define save_rbp (rsp + 48 - LocalVarsSize) -#define save_r12 (rsp + 56 - LocalVarsSize) -#define save_r13 (rsp + 64 - LocalVarsSize) -#define save_r14 (rsp + 72 - LocalVarsSize) -#define save_r15 (rsp + 80 - LocalVarsSize) - - -/* -; all the +4 offsets are due to the addition of pending_buf_size (in zlib -; in the deflate_state structure since the asm code was first written -; (if you compile with zlib 1.0.4 or older, remove the +4). -; Note : these value are good with a 8 bytes boundary pack structure -*/ - -#define MAX_MATCH 258 -#define MIN_MATCH 3 -#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1) - -/* -;;; Offsets for fields in the deflate_state structure. These numbers -;;; are calculated from the definition of deflate_state, with the -;;; assumption that the compiler will dword-align the fields. (Thus, -;;; changing the definition of deflate_state could easily cause this -;;; program to crash horribly, without so much as a warning at -;;; compile time. Sigh.) - -; all the +zlib1222add offsets are due to the addition of fields -; in zlib in the deflate_state structure since the asm code was first written -; (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)"). -; (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0"). -; if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8"). -*/ - - - -/* you can check the structure offset by running - -#include -#include -#include "deflate.h" - -void print_depl() -{ -deflate_state ds; -deflate_state *s=&ds; -printf("size pointer=%u\n",(int)sizeof(void*)); - -printf("#define dsWSize %u\n",(int)(((char*)&(s->w_size))-((char*)s))); -printf("#define dsWMask %u\n",(int)(((char*)&(s->w_mask))-((char*)s))); -printf("#define dsWindow %u\n",(int)(((char*)&(s->window))-((char*)s))); -printf("#define dsPrev %u\n",(int)(((char*)&(s->prev))-((char*)s))); -printf("#define dsMatchLen %u\n",(int)(((char*)&(s->match_length))-((char*)s))); -printf("#define dsPrevMatch %u\n",(int)(((char*)&(s->prev_match))-((char*)s))); -printf("#define dsStrStart %u\n",(int)(((char*)&(s->strstart))-((char*)s))); -printf("#define dsMatchStart %u\n",(int)(((char*)&(s->match_start))-((char*)s))); -printf("#define dsLookahead %u\n",(int)(((char*)&(s->lookahead))-((char*)s))); -printf("#define dsPrevLen %u\n",(int)(((char*)&(s->prev_length))-((char*)s))); -printf("#define dsMaxChainLen %u\n",(int)(((char*)&(s->max_chain_length))-((char*)s))); -printf("#define dsGoodMatch %u\n",(int)(((char*)&(s->good_match))-((char*)s))); -printf("#define dsNiceMatch %u\n",(int)(((char*)&(s->nice_match))-((char*)s))); -} -*/ - -#define dsWSize 68 -#define dsWMask 76 -#define dsWindow 80 -#define dsPrev 96 -#define dsMatchLen 144 -#define dsPrevMatch 148 -#define dsStrStart 156 -#define dsMatchStart 160 -#define dsLookahead 164 -#define dsPrevLen 168 -#define dsMaxChainLen 172 -#define dsGoodMatch 188 -#define dsNiceMatch 192 - -#define window_size [ rcx + dsWSize] -#define WMask [ rcx + dsWMask] -#define window_ad [ rcx + dsWindow] -#define prev_ad [ rcx + dsPrev] -#define strstart [ rcx + dsStrStart] -#define match_start [ rcx + dsMatchStart] -#define Lookahead [ rcx + dsLookahead] //; 0ffffffffh on infozip -#define prev_length [ rcx + dsPrevLen] -#define max_chain_length [ rcx + dsMaxChainLen] -#define good_match [ rcx + dsGoodMatch] -#define nice_match [ rcx + dsNiceMatch] - -/* -; windows: -; parameter 1 in rcx(deflate state s), param 2 in rdx (cur match) - -; see http://weblogs.asp.net/oldnewthing/archive/2004/01/14/58579.aspx and -; http://msdn.microsoft.com/library/en-us/kmarch/hh/kmarch/64bitAMD_8e951dd2-ee77-4728-8702-55ce4b5dd24a.xml.asp -; -; All registers must be preserved across the call, except for -; rax, rcx, rdx, r8, r9, r10, and r11, which are scratch. - -; -; gcc on macosx-linux: -; see http://www.x86-64.org/documentation/abi-0.99.pdf -; param 1 in rdi, param 2 in rsi -; rbx, rsp, rbp, r12 to r15 must be preserved - -;;; Save registers that the compiler may be using, and adjust esp to -;;; make room for our stack frame. - - -;;; Retrieve the function arguments. r8d will hold cur_match -;;; throughout the entire function. edx will hold the pointer to the -;;; deflate_state structure during the function's setup (before -;;; entering the main loop. - -; ms: parameter 1 in rcx (deflate_state* s), param 2 in edx -> r8 (cur match) -; mac: param 1 in rdi, param 2 rsi -; this clear high 32 bits of r8, which can be garbage in both r8 and rdx -*/ - mov [save_rbx],rbx - mov [save_rbp],rbp - - - mov rcx,rdi - - mov r8d,esi - - - mov [save_r12],r12 - mov [save_r13],r13 - mov [save_r14],r14 - mov [save_r15],r15 - - -//;;; uInt wmask = s->w_mask; -//;;; unsigned chain_length = s->max_chain_length; -//;;; if (s->prev_length >= s->good_match) { -//;;; chain_length >>= 2; -//;;; } - - - mov edi, prev_length - mov esi, good_match - mov eax, WMask - mov ebx, max_chain_length - cmp edi, esi - jl LastMatchGood - shr ebx, 2 -LastMatchGood: - -//;;; chainlen is decremented once beforehand so that the function can -//;;; use the sign flag instead of the zero flag for the exit test. -//;;; It is then shifted into the high word, to make room for the wmask -//;;; value, which it will always accompany. - - dec ebx - shl ebx, 16 - or ebx, eax - -//;;; on zlib only -//;;; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; - - - - mov eax, nice_match - mov [chainlenwmask], ebx - mov r10d, Lookahead - cmp r10d, eax - cmovnl r10d, eax - mov [nicematch],r10d - - - -//;;; register Bytef *scan = s->window + s->strstart; - mov r10, window_ad - mov ebp, strstart - lea r13, [r10 + rbp] - -//;;; Determine how many bytes the scan ptr is off from being -//;;; dword-aligned. - - mov r9,r13 - neg r13 - and r13,3 - -//;;; IPos limit = s->strstart > (IPos)MAX_DIST(s) ? -//;;; s->strstart - (IPos)MAX_DIST(s) : NIL; - - - mov eax, window_size - sub eax, MIN_LOOKAHEAD - - - xor edi,edi - sub ebp, eax - - mov r11d, prev_length - - cmovng ebp,edi - -//;;; int best_len = s->prev_length; - - -//;;; Store the sum of s->window + best_len in esi locally, and in esi. - - lea rsi,[r10+r11] - -//;;; register ush scan_start = *(ushf*)scan; -//;;; register ush scan_end = *(ushf*)(scan+best_len-1); -//;;; Posf *prev = s->prev; - - movzx r12d,word ptr [r9] - movzx ebx, word ptr [r9 + r11 - 1] - - mov rdi, prev_ad - -//;;; Jump into the main loop. - - mov edx, [chainlenwmask] - - cmp bx,word ptr [rsi + r8 - 1] - jz LookupLoopIsZero - - - -LookupLoop1: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - jbe LeaveNow - - - - sub edx, 0x00010000 - BEFORE_JMP - js LeaveNow - AFTER_JMP - -LoopEntry1: - cmp bx,word ptr [rsi + r8 - 1] - BEFORE_JMP - jz LookupLoopIsZero - AFTER_JMP - -LookupLoop2: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - BEFORE_JMP - jbe LeaveNow - AFTER_JMP - sub edx, 0x00010000 - BEFORE_JMP - js LeaveNow - AFTER_JMP - -LoopEntry2: - cmp bx,word ptr [rsi + r8 - 1] - BEFORE_JMP - jz LookupLoopIsZero - AFTER_JMP - -LookupLoop4: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - BEFORE_JMP - jbe LeaveNow - AFTER_JMP - sub edx, 0x00010000 - BEFORE_JMP - js LeaveNow - AFTER_JMP - -LoopEntry4: - - cmp bx,word ptr [rsi + r8 - 1] - BEFORE_JMP - jnz LookupLoop1 - jmp LookupLoopIsZero - AFTER_JMP -/* -;;; do { -;;; match = s->window + cur_match; -;;; if (*(ushf*)(match+best_len-1) != scan_end || -;;; *(ushf*)match != scan_start) continue; -;;; [...] -;;; } while ((cur_match = prev[cur_match & wmask]) > limit -;;; && --chain_length != 0); -;;; -;;; Here is the inner loop of the function. The function will spend the -;;; majority of its time in this loop, and majority of that time will -;;; be spent in the first ten instructions. -;;; -;;; Within this loop: -;;; ebx = scanend -;;; r8d = curmatch -;;; edx = chainlenwmask - i.e., ((chainlen << 16) | wmask) -;;; esi = windowbestlen - i.e., (window + bestlen) -;;; edi = prev -;;; ebp = limit -*/ -.balign 16 -LookupLoop: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - BEFORE_JMP - jbe LeaveNow - AFTER_JMP - sub edx, 0x00010000 - BEFORE_JMP - js LeaveNow - AFTER_JMP - -LoopEntry: - - cmp bx,word ptr [rsi + r8 - 1] - BEFORE_JMP - jnz LookupLoop1 - AFTER_JMP -LookupLoopIsZero: - cmp r12w, word ptr [r10 + r8] - BEFORE_JMP - jnz LookupLoop1 - AFTER_JMP - - -//;;; Store the current value of chainlen. - mov [chainlenwmask], edx -/* -;;; Point edi to the string under scrutiny, and esi to the string we -;;; are hoping to match it up with. In actuality, esi and edi are -;;; both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and edx is -;;; initialized to -(MAX_MATCH_8 - scanalign). -*/ - lea rsi,[r8+r10] - mov rdx, 0xfffffffffffffef8 //; -(MAX_MATCH_8) - lea rsi, [rsi + r13 + 0x0108] //;MAX_MATCH_8] - lea rdi, [r9 + r13 + 0x0108] //;MAX_MATCH_8] - - prefetcht1 [rsi+rdx] - prefetcht1 [rdi+rdx] - -/* -;;; Test the strings for equality, 8 bytes at a time. At the end, -;;; adjust rdx so that it is offset to the exact byte that mismatched. -;;; -;;; We already know at this point that the first three bytes of the -;;; strings match each other, and they can be safely passed over before -;;; starting the compare loop. So what this code does is skip over 0-3 -;;; bytes, as much as necessary in order to dword-align the edi -;;; pointer. (rsi will still be misaligned three times out of four.) -;;; -;;; It should be confessed that this loop usually does not represent -;;; much of the total running time. Replacing it with a more -;;; straightforward "rep cmpsb" would not drastically degrade -;;; performance. -*/ - -LoopCmps: - mov rax, [rsi + rdx] - xor rax, [rdi + rdx] - jnz LeaveLoopCmps - - mov rax, [rsi + rdx + 8] - xor rax, [rdi + rdx + 8] - jnz LeaveLoopCmps8 - - - mov rax, [rsi + rdx + 8+8] - xor rax, [rdi + rdx + 8+8] - jnz LeaveLoopCmps16 - - add rdx,8+8+8 - - BEFORE_JMP - jnz LoopCmps - jmp LenMaximum - AFTER_JMP - -LeaveLoopCmps16: add rdx,8 -LeaveLoopCmps8: add rdx,8 -LeaveLoopCmps: - - test eax, 0x0000FFFF - jnz LenLower - - test eax,0xffffffff - - jnz LenLower32 - - add rdx,4 - shr rax,32 - or ax,ax - BEFORE_JMP - jnz LenLower - AFTER_JMP - -LenLower32: - shr eax,16 - add rdx,2 - -LenLower: - sub al, 1 - adc rdx, 0 -//;;; Calculate the length of the match. If it is longer than MAX_MATCH, -//;;; then automatically accept it as the best possible match and leave. - - lea rax, [rdi + rdx] - sub rax, r9 - cmp eax, MAX_MATCH - BEFORE_JMP - jge LenMaximum - AFTER_JMP -/* -;;; If the length of the match is not longer than the best match we -;;; have so far, then forget it and return to the lookup loop. -;/////////////////////////////////// -*/ - cmp eax, r11d - jg LongerMatch - - lea rsi,[r10+r11] - - mov rdi, prev_ad - mov edx, [chainlenwmask] - BEFORE_JMP - jmp LookupLoop - AFTER_JMP -/* -;;; s->match_start = cur_match; -;;; best_len = len; -;;; if (len >= nice_match) break; -;;; scan_end = *(ushf*)(scan+best_len-1); -*/ -LongerMatch: - mov r11d, eax - mov match_start, r8d - cmp eax, [nicematch] - BEFORE_JMP - jge LeaveNow - AFTER_JMP - - lea rsi,[r10+rax] - - movzx ebx, word ptr [r9 + rax - 1] - mov rdi, prev_ad - mov edx, [chainlenwmask] - BEFORE_JMP - jmp LookupLoop - AFTER_JMP - -//;;; Accept the current string, with the maximum possible length. - -LenMaximum: - mov r11d,MAX_MATCH - mov match_start, r8d - -//;;; if ((uInt)best_len <= s->lookahead) return (uInt)best_len; -//;;; return s->lookahead; - -LeaveNow: - mov eax, Lookahead - cmp r11d, eax - cmovng eax, r11d - - - -//;;; Restore the stack and return from whence we came. - - -// mov rsi,[save_rsi] -// mov rdi,[save_rdi] - mov rbx,[save_rbx] - mov rbp,[save_rbp] - mov r12,[save_r12] - mov r13,[save_r13] - mov r14,[save_r14] - mov r15,[save_r15] - - - ret 0 -//; please don't remove this string ! -//; Your can freely use gvmat64 in any free or commercial app -//; but it is far better don't remove the string in the binary! - // db 0dh,0ah,"asm686 with masm, optimised assembly code from Brian Raiter, written 1998, converted to amd 64 by Gilles Vollant 2005",0dh,0ah,0 - - -match_init: - ret 0 - - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/infback9/README b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/infback9/README deleted file mode 100644 index e75ed132..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/infback9/README +++ /dev/null @@ -1 +0,0 @@ -See infback9.h for what this is and how to use it. diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/infback9/infback9.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/infback9/infback9.c deleted file mode 100644 index 7bbe90ce..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/infback9/infback9.c +++ /dev/null @@ -1,617 +0,0 @@ -/* infback9.c -- inflate deflate64 data using a call-back interface - * Copyright (C) 1995-2008 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -#include "zutil.h" -#include "infback9.h" -#include "inftree9.h" -#include "inflate9.h" - -#define WSIZE 65536UL - -/* - strm provides memory allocation functions in zalloc and zfree, or - Z_NULL to use the library memory allocation functions. - - window is a user-supplied window and output buffer that is 64K bytes. - */ -int ZEXPORT inflateBack9Init_(strm, window, version, stream_size) -z_stream FAR *strm; -unsigned char FAR *window; -const char *version; -int stream_size; -{ - struct inflate_state FAR *state; - - if (version == Z_NULL || version[0] != ZLIB_VERSION[0] || - stream_size != (int)(sizeof(z_stream))) - return Z_VERSION_ERROR; - if (strm == Z_NULL || window == Z_NULL) - return Z_STREAM_ERROR; - strm->msg = Z_NULL; /* in case we return an error */ - if (strm->zalloc == (alloc_func)0) { - strm->zalloc = zcalloc; - strm->opaque = (voidpf)0; - } - if (strm->zfree == (free_func)0) strm->zfree = zcfree; - state = (struct inflate_state FAR *)ZALLOC(strm, 1, - sizeof(struct inflate_state)); - if (state == Z_NULL) return Z_MEM_ERROR; - Tracev((stderr, "inflate: allocated\n")); - strm->state = (voidpf)state; - state->window = window; - return Z_OK; -} - -/* - Build and output length and distance decoding tables for fixed code - decoding. - */ -#ifdef MAKEFIXED -#include - -void makefixed9(void) -{ - unsigned sym, bits, low, size; - code *next, *lenfix, *distfix; - struct inflate_state state; - code fixed[544]; - - /* literal/length table */ - sym = 0; - while (sym < 144) state.lens[sym++] = 8; - while (sym < 256) state.lens[sym++] = 9; - while (sym < 280) state.lens[sym++] = 7; - while (sym < 288) state.lens[sym++] = 8; - next = fixed; - lenfix = next; - bits = 9; - inflate_table9(LENS, state.lens, 288, &(next), &(bits), state.work); - - /* distance table */ - sym = 0; - while (sym < 32) state.lens[sym++] = 5; - distfix = next; - bits = 5; - inflate_table9(DISTS, state.lens, 32, &(next), &(bits), state.work); - - /* write tables */ - puts(" /* inffix9.h -- table for decoding deflate64 fixed codes"); - puts(" * Generated automatically by makefixed9()."); - puts(" */"); - puts(""); - puts(" /* WARNING: this file should *not* be used by applications."); - puts(" It is part of the implementation of this library and is"); - puts(" subject to change. Applications should only use zlib.h."); - puts(" */"); - puts(""); - size = 1U << 9; - printf(" static const code lenfix[%u] = {", size); - low = 0; - for (;;) { - if ((low % 6) == 0) printf("\n "); - printf("{%u,%u,%d}", lenfix[low].op, lenfix[low].bits, - lenfix[low].val); - if (++low == size) break; - putchar(','); - } - puts("\n };"); - size = 1U << 5; - printf("\n static const code distfix[%u] = {", size); - low = 0; - for (;;) { - if ((low % 5) == 0) printf("\n "); - printf("{%u,%u,%d}", distfix[low].op, distfix[low].bits, - distfix[low].val); - if (++low == size) break; - putchar(','); - } - puts("\n };"); -} -#endif /* MAKEFIXED */ - -/* Macros for inflateBack(): */ - -/* Clear the input bit accumulator */ -#define INITBITS() \ - do { \ - hold = 0; \ - bits = 0; \ - } while (0) - -/* Assure that some input is available. If input is requested, but denied, - then return a Z_BUF_ERROR from inflateBack(). */ -#define PULL() \ - do { \ - if (have == 0) { \ - have = in(in_desc, &next); \ - if (have == 0) { \ - next = Z_NULL; \ - ret = Z_BUF_ERROR; \ - goto inf_leave; \ - } \ - } \ - } while (0) - -/* Get a byte of input into the bit accumulator, or return from inflateBack() - with an error if there is no input available. */ -#define PULLBYTE() \ - do { \ - PULL(); \ - have--; \ - hold += (unsigned long)(*next++) << bits; \ - bits += 8; \ - } while (0) - -/* Assure that there are at least n bits in the bit accumulator. If there is - not enough available input to do that, then return from inflateBack() with - an error. */ -#define NEEDBITS(n) \ - do { \ - while (bits < (unsigned)(n)) \ - PULLBYTE(); \ - } while (0) - -/* Return the low n bits of the bit accumulator (n <= 16) */ -#define BITS(n) \ - ((unsigned)hold & ((1U << (n)) - 1)) - -/* Remove n bits from the bit accumulator */ -#define DROPBITS(n) \ - do { \ - hold >>= (n); \ - bits -= (unsigned)(n); \ - } while (0) - -/* Remove zero to seven bits as needed to go to a byte boundary */ -#define BYTEBITS() \ - do { \ - hold >>= bits & 7; \ - bits -= bits & 7; \ - } while (0) - -/* Assure that some output space is available, by writing out the window - if it's full. If the write fails, return from inflateBack() with a - Z_BUF_ERROR. */ -#define ROOM() \ - do { \ - if (left == 0) { \ - put = window; \ - left = WSIZE; \ - wrap = 1; \ - if (out(out_desc, put, (unsigned)left)) { \ - ret = Z_BUF_ERROR; \ - goto inf_leave; \ - } \ - } \ - } while (0) - -/* - strm provides the memory allocation functions and window buffer on input, - and provides information on the unused input on return. For Z_DATA_ERROR - returns, strm will also provide an error message. - - in() and out() are the call-back input and output functions. When - inflateBack() needs more input, it calls in(). When inflateBack() has - filled the window with output, or when it completes with data in the - window, it calls out() to write out the data. The application must not - change the provided input until in() is called again or inflateBack() - returns. The application must not change the window/output buffer until - inflateBack() returns. - - in() and out() are called with a descriptor parameter provided in the - inflateBack() call. This parameter can be a structure that provides the - information required to do the read or write, as well as accumulated - information on the input and output such as totals and check values. - - in() should return zero on failure. out() should return non-zero on - failure. If either in() or out() fails, than inflateBack() returns a - Z_BUF_ERROR. strm->next_in can be checked for Z_NULL to see whether it - was in() or out() that caused in the error. Otherwise, inflateBack() - returns Z_STREAM_END on success, Z_DATA_ERROR for an deflate format - error, or Z_MEM_ERROR if it could not allocate memory for the state. - inflateBack() can also return Z_STREAM_ERROR if the input parameters - are not correct, i.e. strm is Z_NULL or the state was not initialized. - */ -int ZEXPORT inflateBack9(strm, in, in_desc, out, out_desc) -z_stream FAR *strm; -in_func in; -void FAR *in_desc; -out_func out; -void FAR *out_desc; -{ - struct inflate_state FAR *state; - unsigned char FAR *next; /* next input */ - unsigned char FAR *put; /* next output */ - unsigned have; /* available input */ - unsigned long left; /* available output */ - inflate_mode mode; /* current inflate mode */ - int lastblock; /* true if processing last block */ - int wrap; /* true if the window has wrapped */ - unsigned long write; /* window write index */ - unsigned char FAR *window; /* allocated sliding window, if needed */ - unsigned long hold; /* bit buffer */ - unsigned bits; /* bits in bit buffer */ - unsigned extra; /* extra bits needed */ - unsigned long length; /* literal or length of data to copy */ - unsigned long offset; /* distance back to copy string from */ - unsigned long copy; /* number of stored or match bytes to copy */ - unsigned char FAR *from; /* where to copy match bytes from */ - code const FAR *lencode; /* starting table for length/literal codes */ - code const FAR *distcode; /* starting table for distance codes */ - unsigned lenbits; /* index bits for lencode */ - unsigned distbits; /* index bits for distcode */ - code here; /* current decoding table entry */ - code last; /* parent table entry */ - unsigned len; /* length to copy for repeats, bits to drop */ - int ret; /* return code */ - static const unsigned short order[19] = /* permutation of code lengths */ - {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15}; -#include "inffix9.h" - - /* Check that the strm exists and that the state was initialized */ - if (strm == Z_NULL || strm->state == Z_NULL) - return Z_STREAM_ERROR; - state = (struct inflate_state FAR *)strm->state; - - /* Reset the state */ - strm->msg = Z_NULL; - mode = TYPE; - lastblock = 0; - write = 0; - wrap = 0; - window = state->window; - next = strm->next_in; - have = next != Z_NULL ? strm->avail_in : 0; - hold = 0; - bits = 0; - put = window; - left = WSIZE; - lencode = Z_NULL; - distcode = Z_NULL; - - /* Inflate until end of block marked as last */ - for (;;) - switch (mode) { - case TYPE: - /* determine and dispatch block type */ - if (lastblock) { - BYTEBITS(); - mode = DONE; - break; - } - NEEDBITS(3); - lastblock = BITS(1); - DROPBITS(1); - switch (BITS(2)) { - case 0: /* stored block */ - Tracev((stderr, "inflate: stored block%s\n", - lastblock ? " (last)" : "")); - mode = STORED; - break; - case 1: /* fixed block */ - lencode = lenfix; - lenbits = 9; - distcode = distfix; - distbits = 5; - Tracev((stderr, "inflate: fixed codes block%s\n", - lastblock ? " (last)" : "")); - mode = LEN; /* decode codes */ - break; - case 2: /* dynamic block */ - Tracev((stderr, "inflate: dynamic codes block%s\n", - lastblock ? " (last)" : "")); - mode = TABLE; - break; - case 3: - strm->msg = (char *)"invalid block type"; - mode = BAD; - } - DROPBITS(2); - break; - - case STORED: - /* get and verify stored block length */ - BYTEBITS(); /* go to byte boundary */ - NEEDBITS(32); - if ((hold & 0xffff) != ((hold >> 16) ^ 0xffff)) { - strm->msg = (char *)"invalid stored block lengths"; - mode = BAD; - break; - } - length = (unsigned)hold & 0xffff; - Tracev((stderr, "inflate: stored length %lu\n", - length)); - INITBITS(); - - /* copy stored block from input to output */ - while (length != 0) { - copy = length; - PULL(); - ROOM(); - if (copy > have) copy = have; - if (copy > left) copy = left; - zmemcpy(put, next, copy); - have -= copy; - next += copy; - left -= copy; - put += copy; - length -= copy; - } - Tracev((stderr, "inflate: stored end\n")); - mode = TYPE; - break; - - case TABLE: - /* get dynamic table entries descriptor */ - NEEDBITS(14); - state->nlen = BITS(5) + 257; - DROPBITS(5); - state->ndist = BITS(5) + 1; - DROPBITS(5); - state->ncode = BITS(4) + 4; - DROPBITS(4); - if (state->nlen > 286) { - strm->msg = (char *)"too many length symbols"; - mode = BAD; - break; - } - Tracev((stderr, "inflate: table sizes ok\n")); - - /* get code length code lengths (not a typo) */ - state->have = 0; - while (state->have < state->ncode) { - NEEDBITS(3); - state->lens[order[state->have++]] = (unsigned short)BITS(3); - DROPBITS(3); - } - while (state->have < 19) - state->lens[order[state->have++]] = 0; - state->next = state->codes; - lencode = (code const FAR *)(state->next); - lenbits = 7; - ret = inflate_table9(CODES, state->lens, 19, &(state->next), - &(lenbits), state->work); - if (ret) { - strm->msg = (char *)"invalid code lengths set"; - mode = BAD; - break; - } - Tracev((stderr, "inflate: code lengths ok\n")); - - /* get length and distance code code lengths */ - state->have = 0; - while (state->have < state->nlen + state->ndist) { - for (;;) { - here = lencode[BITS(lenbits)]; - if ((unsigned)(here.bits) <= bits) break; - PULLBYTE(); - } - if (here.val < 16) { - NEEDBITS(here.bits); - DROPBITS(here.bits); - state->lens[state->have++] = here.val; - } - else { - if (here.val == 16) { - NEEDBITS(here.bits + 2); - DROPBITS(here.bits); - if (state->have == 0) { - strm->msg = (char *)"invalid bit length repeat"; - mode = BAD; - break; - } - len = (unsigned)(state->lens[state->have - 1]); - copy = 3 + BITS(2); - DROPBITS(2); - } - else if (here.val == 17) { - NEEDBITS(here.bits + 3); - DROPBITS(here.bits); - len = 0; - copy = 3 + BITS(3); - DROPBITS(3); - } - else { - NEEDBITS(here.bits + 7); - DROPBITS(here.bits); - len = 0; - copy = 11 + BITS(7); - DROPBITS(7); - } - if (state->have + copy > state->nlen + state->ndist) { - strm->msg = (char *)"invalid bit length repeat"; - mode = BAD; - break; - } - while (copy--) - state->lens[state->have++] = (unsigned short)len; - } - } - - /* handle error breaks in while */ - if (mode == BAD) break; - - /* check for end-of-block code (better have one) */ - if (state->lens[256] == 0) { - strm->msg = (char *)"invalid code -- missing end-of-block"; - mode = BAD; - break; - } - - /* build code tables -- note: do not change the lenbits or distbits - values here (9 and 6) without reading the comments in inftree9.h - concerning the ENOUGH constants, which depend on those values */ - state->next = state->codes; - lencode = (code const FAR *)(state->next); - lenbits = 9; - ret = inflate_table9(LENS, state->lens, state->nlen, - &(state->next), &(lenbits), state->work); - if (ret) { - strm->msg = (char *)"invalid literal/lengths set"; - mode = BAD; - break; - } - distcode = (code const FAR *)(state->next); - distbits = 6; - ret = inflate_table9(DISTS, state->lens + state->nlen, - state->ndist, &(state->next), &(distbits), - state->work); - if (ret) { - strm->msg = (char *)"invalid distances set"; - mode = BAD; - break; - } - Tracev((stderr, "inflate: codes ok\n")); - mode = LEN; - - case LEN: - /* get a literal, length, or end-of-block code */ - for (;;) { - here = lencode[BITS(lenbits)]; - if ((unsigned)(here.bits) <= bits) break; - PULLBYTE(); - } - if (here.op && (here.op & 0xf0) == 0) { - last = here; - for (;;) { - here = lencode[last.val + - (BITS(last.bits + last.op) >> last.bits)]; - if ((unsigned)(last.bits + here.bits) <= bits) break; - PULLBYTE(); - } - DROPBITS(last.bits); - } - DROPBITS(here.bits); - length = (unsigned)here.val; - - /* process literal */ - if (here.op == 0) { - Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ? - "inflate: literal '%c'\n" : - "inflate: literal 0x%02x\n", here.val)); - ROOM(); - *put++ = (unsigned char)(length); - left--; - mode = LEN; - break; - } - - /* process end of block */ - if (here.op & 32) { - Tracevv((stderr, "inflate: end of block\n")); - mode = TYPE; - break; - } - - /* invalid code */ - if (here.op & 64) { - strm->msg = (char *)"invalid literal/length code"; - mode = BAD; - break; - } - - /* length code -- get extra bits, if any */ - extra = (unsigned)(here.op) & 31; - if (extra != 0) { - NEEDBITS(extra); - length += BITS(extra); - DROPBITS(extra); - } - Tracevv((stderr, "inflate: length %lu\n", length)); - - /* get distance code */ - for (;;) { - here = distcode[BITS(distbits)]; - if ((unsigned)(here.bits) <= bits) break; - PULLBYTE(); - } - if ((here.op & 0xf0) == 0) { - last = here; - for (;;) { - here = distcode[last.val + - (BITS(last.bits + last.op) >> last.bits)]; - if ((unsigned)(last.bits + here.bits) <= bits) break; - PULLBYTE(); - } - DROPBITS(last.bits); - } - DROPBITS(here.bits); - if (here.op & 64) { - strm->msg = (char *)"invalid distance code"; - mode = BAD; - break; - } - offset = (unsigned)here.val; - - /* get distance extra bits, if any */ - extra = (unsigned)(here.op) & 15; - if (extra != 0) { - NEEDBITS(extra); - offset += BITS(extra); - DROPBITS(extra); - } - if (offset > WSIZE - (wrap ? 0: left)) { - strm->msg = (char *)"invalid distance too far back"; - mode = BAD; - break; - } - Tracevv((stderr, "inflate: distance %lu\n", offset)); - - /* copy match from window to output */ - do { - ROOM(); - copy = WSIZE - offset; - if (copy < left) { - from = put + copy; - copy = left - copy; - } - else { - from = put - offset; - copy = left; - } - if (copy > length) copy = length; - length -= copy; - left -= copy; - do { - *put++ = *from++; - } while (--copy); - } while (length != 0); - break; - - case DONE: - /* inflate stream terminated properly -- write leftover output */ - ret = Z_STREAM_END; - if (left < WSIZE) { - if (out(out_desc, window, (unsigned)(WSIZE - left))) - ret = Z_BUF_ERROR; - } - goto inf_leave; - - case BAD: - ret = Z_DATA_ERROR; - goto inf_leave; - - default: /* can't happen, but makes compilers happy */ - ret = Z_STREAM_ERROR; - goto inf_leave; - } - - /* Return unused input */ - inf_leave: - strm->next_in = next; - strm->avail_in = have; - return ret; -} - -int ZEXPORT inflateBack9End(strm) -z_stream FAR *strm; -{ - if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0) - return Z_STREAM_ERROR; - ZFREE(strm, strm->state); - strm->state = Z_NULL; - Tracev((stderr, "inflate: end\n")); - return Z_OK; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/infback9/infback9.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/infback9/infback9.h deleted file mode 100644 index 1073c0a3..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/infback9/infback9.h +++ /dev/null @@ -1,37 +0,0 @@ -/* infback9.h -- header for using inflateBack9 functions - * Copyright (C) 2003 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* - * This header file and associated patches provide a decoder for PKWare's - * undocumented deflate64 compression method (method 9). Use with infback9.c, - * inftree9.h, inftree9.c, and inffix9.h. These patches are not supported. - * This should be compiled with zlib, since it uses zutil.h and zutil.o. - * This code has not yet been tested on 16-bit architectures. See the - * comments in zlib.h for inflateBack() usage. These functions are used - * identically, except that there is no windowBits parameter, and a 64K - * window must be provided. Also if int's are 16 bits, then a zero for - * the third parameter of the "out" function actually means 65536UL. - * zlib.h must be included before this header file. - */ - -#ifdef __cplusplus -extern "C" { -#endif - -ZEXTERN int ZEXPORT inflateBack9 OF((z_stream FAR *strm, - in_func in, void FAR *in_desc, - out_func out, void FAR *out_desc)); -ZEXTERN int ZEXPORT inflateBack9End OF((z_stream FAR *strm)); -ZEXTERN int ZEXPORT inflateBack9Init_ OF((z_stream FAR *strm, - unsigned char FAR *window, - const char *version, - int stream_size)); -#define inflateBack9Init(strm, window) \ - inflateBack9Init_((strm), (window), \ - ZLIB_VERSION, sizeof(z_stream)) - -#ifdef __cplusplus -} -#endif diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/infback9/inffix9.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/infback9/inffix9.h deleted file mode 100644 index ee5671d2..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/infback9/inffix9.h +++ /dev/null @@ -1,107 +0,0 @@ - /* inffix9.h -- table for decoding deflate64 fixed codes - * Generated automatically by makefixed9(). - */ - - /* WARNING: this file should *not* be used by applications. - It is part of the implementation of this library and is - subject to change. Applications should only use zlib.h. - */ - - static const code lenfix[512] = { - {96,7,0},{0,8,80},{0,8,16},{132,8,115},{130,7,31},{0,8,112}, - {0,8,48},{0,9,192},{128,7,10},{0,8,96},{0,8,32},{0,9,160}, - {0,8,0},{0,8,128},{0,8,64},{0,9,224},{128,7,6},{0,8,88}, - {0,8,24},{0,9,144},{131,7,59},{0,8,120},{0,8,56},{0,9,208}, - {129,7,17},{0,8,104},{0,8,40},{0,9,176},{0,8,8},{0,8,136}, - {0,8,72},{0,9,240},{128,7,4},{0,8,84},{0,8,20},{133,8,227}, - {131,7,43},{0,8,116},{0,8,52},{0,9,200},{129,7,13},{0,8,100}, - {0,8,36},{0,9,168},{0,8,4},{0,8,132},{0,8,68},{0,9,232}, - {128,7,8},{0,8,92},{0,8,28},{0,9,152},{132,7,83},{0,8,124}, - {0,8,60},{0,9,216},{130,7,23},{0,8,108},{0,8,44},{0,9,184}, - {0,8,12},{0,8,140},{0,8,76},{0,9,248},{128,7,3},{0,8,82}, - {0,8,18},{133,8,163},{131,7,35},{0,8,114},{0,8,50},{0,9,196}, - {129,7,11},{0,8,98},{0,8,34},{0,9,164},{0,8,2},{0,8,130}, - {0,8,66},{0,9,228},{128,7,7},{0,8,90},{0,8,26},{0,9,148}, - {132,7,67},{0,8,122},{0,8,58},{0,9,212},{130,7,19},{0,8,106}, - {0,8,42},{0,9,180},{0,8,10},{0,8,138},{0,8,74},{0,9,244}, - {128,7,5},{0,8,86},{0,8,22},{65,8,0},{131,7,51},{0,8,118}, - {0,8,54},{0,9,204},{129,7,15},{0,8,102},{0,8,38},{0,9,172}, - {0,8,6},{0,8,134},{0,8,70},{0,9,236},{128,7,9},{0,8,94}, - {0,8,30},{0,9,156},{132,7,99},{0,8,126},{0,8,62},{0,9,220}, - {130,7,27},{0,8,110},{0,8,46},{0,9,188},{0,8,14},{0,8,142}, - {0,8,78},{0,9,252},{96,7,0},{0,8,81},{0,8,17},{133,8,131}, - {130,7,31},{0,8,113},{0,8,49},{0,9,194},{128,7,10},{0,8,97}, - {0,8,33},{0,9,162},{0,8,1},{0,8,129},{0,8,65},{0,9,226}, - {128,7,6},{0,8,89},{0,8,25},{0,9,146},{131,7,59},{0,8,121}, - {0,8,57},{0,9,210},{129,7,17},{0,8,105},{0,8,41},{0,9,178}, - {0,8,9},{0,8,137},{0,8,73},{0,9,242},{128,7,4},{0,8,85}, - {0,8,21},{144,8,3},{131,7,43},{0,8,117},{0,8,53},{0,9,202}, - {129,7,13},{0,8,101},{0,8,37},{0,9,170},{0,8,5},{0,8,133}, - {0,8,69},{0,9,234},{128,7,8},{0,8,93},{0,8,29},{0,9,154}, - {132,7,83},{0,8,125},{0,8,61},{0,9,218},{130,7,23},{0,8,109}, - {0,8,45},{0,9,186},{0,8,13},{0,8,141},{0,8,77},{0,9,250}, - {128,7,3},{0,8,83},{0,8,19},{133,8,195},{131,7,35},{0,8,115}, - {0,8,51},{0,9,198},{129,7,11},{0,8,99},{0,8,35},{0,9,166}, - {0,8,3},{0,8,131},{0,8,67},{0,9,230},{128,7,7},{0,8,91}, - {0,8,27},{0,9,150},{132,7,67},{0,8,123},{0,8,59},{0,9,214}, - {130,7,19},{0,8,107},{0,8,43},{0,9,182},{0,8,11},{0,8,139}, - {0,8,75},{0,9,246},{128,7,5},{0,8,87},{0,8,23},{77,8,0}, - {131,7,51},{0,8,119},{0,8,55},{0,9,206},{129,7,15},{0,8,103}, - {0,8,39},{0,9,174},{0,8,7},{0,8,135},{0,8,71},{0,9,238}, - {128,7,9},{0,8,95},{0,8,31},{0,9,158},{132,7,99},{0,8,127}, - {0,8,63},{0,9,222},{130,7,27},{0,8,111},{0,8,47},{0,9,190}, - {0,8,15},{0,8,143},{0,8,79},{0,9,254},{96,7,0},{0,8,80}, - {0,8,16},{132,8,115},{130,7,31},{0,8,112},{0,8,48},{0,9,193}, - {128,7,10},{0,8,96},{0,8,32},{0,9,161},{0,8,0},{0,8,128}, - {0,8,64},{0,9,225},{128,7,6},{0,8,88},{0,8,24},{0,9,145}, - {131,7,59},{0,8,120},{0,8,56},{0,9,209},{129,7,17},{0,8,104}, - {0,8,40},{0,9,177},{0,8,8},{0,8,136},{0,8,72},{0,9,241}, - {128,7,4},{0,8,84},{0,8,20},{133,8,227},{131,7,43},{0,8,116}, - {0,8,52},{0,9,201},{129,7,13},{0,8,100},{0,8,36},{0,9,169}, - {0,8,4},{0,8,132},{0,8,68},{0,9,233},{128,7,8},{0,8,92}, - {0,8,28},{0,9,153},{132,7,83},{0,8,124},{0,8,60},{0,9,217}, - {130,7,23},{0,8,108},{0,8,44},{0,9,185},{0,8,12},{0,8,140}, - {0,8,76},{0,9,249},{128,7,3},{0,8,82},{0,8,18},{133,8,163}, - {131,7,35},{0,8,114},{0,8,50},{0,9,197},{129,7,11},{0,8,98}, - {0,8,34},{0,9,165},{0,8,2},{0,8,130},{0,8,66},{0,9,229}, - {128,7,7},{0,8,90},{0,8,26},{0,9,149},{132,7,67},{0,8,122}, - {0,8,58},{0,9,213},{130,7,19},{0,8,106},{0,8,42},{0,9,181}, - {0,8,10},{0,8,138},{0,8,74},{0,9,245},{128,7,5},{0,8,86}, - {0,8,22},{65,8,0},{131,7,51},{0,8,118},{0,8,54},{0,9,205}, - {129,7,15},{0,8,102},{0,8,38},{0,9,173},{0,8,6},{0,8,134}, - {0,8,70},{0,9,237},{128,7,9},{0,8,94},{0,8,30},{0,9,157}, - {132,7,99},{0,8,126},{0,8,62},{0,9,221},{130,7,27},{0,8,110}, - {0,8,46},{0,9,189},{0,8,14},{0,8,142},{0,8,78},{0,9,253}, - {96,7,0},{0,8,81},{0,8,17},{133,8,131},{130,7,31},{0,8,113}, - {0,8,49},{0,9,195},{128,7,10},{0,8,97},{0,8,33},{0,9,163}, - {0,8,1},{0,8,129},{0,8,65},{0,9,227},{128,7,6},{0,8,89}, - {0,8,25},{0,9,147},{131,7,59},{0,8,121},{0,8,57},{0,9,211}, - {129,7,17},{0,8,105},{0,8,41},{0,9,179},{0,8,9},{0,8,137}, - {0,8,73},{0,9,243},{128,7,4},{0,8,85},{0,8,21},{144,8,3}, - {131,7,43},{0,8,117},{0,8,53},{0,9,203},{129,7,13},{0,8,101}, - {0,8,37},{0,9,171},{0,8,5},{0,8,133},{0,8,69},{0,9,235}, - {128,7,8},{0,8,93},{0,8,29},{0,9,155},{132,7,83},{0,8,125}, - {0,8,61},{0,9,219},{130,7,23},{0,8,109},{0,8,45},{0,9,187}, - {0,8,13},{0,8,141},{0,8,77},{0,9,251},{128,7,3},{0,8,83}, - {0,8,19},{133,8,195},{131,7,35},{0,8,115},{0,8,51},{0,9,199}, - {129,7,11},{0,8,99},{0,8,35},{0,9,167},{0,8,3},{0,8,131}, - {0,8,67},{0,9,231},{128,7,7},{0,8,91},{0,8,27},{0,9,151}, - {132,7,67},{0,8,123},{0,8,59},{0,9,215},{130,7,19},{0,8,107}, - {0,8,43},{0,9,183},{0,8,11},{0,8,139},{0,8,75},{0,9,247}, - {128,7,5},{0,8,87},{0,8,23},{77,8,0},{131,7,51},{0,8,119}, - {0,8,55},{0,9,207},{129,7,15},{0,8,103},{0,8,39},{0,9,175}, - {0,8,7},{0,8,135},{0,8,71},{0,9,239},{128,7,9},{0,8,95}, - {0,8,31},{0,9,159},{132,7,99},{0,8,127},{0,8,63},{0,9,223}, - {130,7,27},{0,8,111},{0,8,47},{0,9,191},{0,8,15},{0,8,143}, - {0,8,79},{0,9,255} - }; - - static const code distfix[32] = { - {128,5,1},{135,5,257},{131,5,17},{139,5,4097},{129,5,5}, - {137,5,1025},{133,5,65},{141,5,16385},{128,5,3},{136,5,513}, - {132,5,33},{140,5,8193},{130,5,9},{138,5,2049},{134,5,129}, - {142,5,32769},{128,5,2},{135,5,385},{131,5,25},{139,5,6145}, - {129,5,7},{137,5,1537},{133,5,97},{141,5,24577},{128,5,4}, - {136,5,769},{132,5,49},{140,5,12289},{130,5,13},{138,5,3073}, - {134,5,193},{142,5,49153} - }; diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/infback9/inflate9.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/infback9/inflate9.h deleted file mode 100644 index ee9a7939..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/infback9/inflate9.h +++ /dev/null @@ -1,47 +0,0 @@ -/* inflate9.h -- internal inflate state definition - * Copyright (C) 1995-2003 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* WARNING: this file should *not* be used by applications. It is - part of the implementation of the compression library and is - subject to change. Applications should only use zlib.h. - */ - -/* Possible inflate modes between inflate() calls */ -typedef enum { - TYPE, /* i: waiting for type bits, including last-flag bit */ - STORED, /* i: waiting for stored size (length and complement) */ - TABLE, /* i: waiting for dynamic block table lengths */ - LEN, /* i: waiting for length/lit code */ - DONE, /* finished check, done -- remain here until reset */ - BAD /* got a data error -- remain here until reset */ -} inflate_mode; - -/* - State transitions between above modes - - - (most modes can go to the BAD mode -- not shown for clarity) - - Read deflate blocks: - TYPE -> STORED or TABLE or LEN or DONE - STORED -> TYPE - TABLE -> LENLENS -> CODELENS -> LEN - Read deflate codes: - LEN -> LEN or TYPE - */ - -/* state maintained between inflate() calls. Approximately 7K bytes. */ -struct inflate_state { - /* sliding window */ - unsigned char FAR *window; /* allocated sliding window, if needed */ - /* dynamic table building */ - unsigned ncode; /* number of code length code lengths */ - unsigned nlen; /* number of length code lengths */ - unsigned ndist; /* number of distance code lengths */ - unsigned have; /* number of code lengths in lens[] */ - code FAR *next; /* next available space in codes[] */ - unsigned short lens[320]; /* temporary storage for code lengths */ - unsigned short work[288]; /* work area for code table building */ - code codes[ENOUGH]; /* space for code tables */ -}; diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/infback9/inftree9.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/infback9/inftree9.c deleted file mode 100644 index 4ce2a1f1..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/infback9/inftree9.c +++ /dev/null @@ -1,324 +0,0 @@ -/* inftree9.c -- generate Huffman trees for efficient decoding - * Copyright (C) 1995-2012 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -#include "zutil.h" -#include "inftree9.h" - -#define MAXBITS 15 - -const char inflate9_copyright[] = - " inflate9 1.2.6 Copyright 1995-2012 Mark Adler "; -/* - If you use the zlib library in a product, an acknowledgment is welcome - in the documentation of your product. If for some reason you cannot - include such an acknowledgment, I would appreciate that you keep this - copyright string in the executable of your product. - */ - -/* - Build a set of tables to decode the provided canonical Huffman code. - The code lengths are lens[0..codes-1]. The result starts at *table, - whose indices are 0..2^bits-1. work is a writable array of at least - lens shorts, which is used as a work area. type is the type of code - to be generated, CODES, LENS, or DISTS. On return, zero is success, - -1 is an invalid code, and +1 means that ENOUGH isn't enough. table - on return points to the next available entry's address. bits is the - requested root table index bits, and on return it is the actual root - table index bits. It will differ if the request is greater than the - longest code or if it is less than the shortest code. - */ -int inflate_table9(type, lens, codes, table, bits, work) -codetype type; -unsigned short FAR *lens; -unsigned codes; -code FAR * FAR *table; -unsigned FAR *bits; -unsigned short FAR *work; -{ - unsigned len; /* a code's length in bits */ - unsigned sym; /* index of code symbols */ - unsigned min, max; /* minimum and maximum code lengths */ - unsigned root; /* number of index bits for root table */ - unsigned curr; /* number of index bits for current table */ - unsigned drop; /* code bits to drop for sub-table */ - int left; /* number of prefix codes available */ - unsigned used; /* code entries in table used */ - unsigned huff; /* Huffman code */ - unsigned incr; /* for incrementing code, index */ - unsigned fill; /* index for replicating entries */ - unsigned low; /* low bits for current root entry */ - unsigned mask; /* mask for low root bits */ - code this; /* table entry for duplication */ - code FAR *next; /* next available space in table */ - const unsigned short FAR *base; /* base value table to use */ - const unsigned short FAR *extra; /* extra bits table to use */ - int end; /* use base and extra for symbol > end */ - unsigned short count[MAXBITS+1]; /* number of codes of each length */ - unsigned short offs[MAXBITS+1]; /* offsets in table for each length */ - static const unsigned short lbase[31] = { /* Length codes 257..285 base */ - 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, - 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, - 131, 163, 195, 227, 3, 0, 0}; - static const unsigned short lext[31] = { /* Length codes 257..285 extra */ - 128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129, - 130, 130, 130, 130, 131, 131, 131, 131, 132, 132, 132, 132, - 133, 133, 133, 133, 144, 203, 69}; - static const unsigned short dbase[32] = { /* Distance codes 0..31 base */ - 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, - 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, - 4097, 6145, 8193, 12289, 16385, 24577, 32769, 49153}; - static const unsigned short dext[32] = { /* Distance codes 0..31 extra */ - 128, 128, 128, 128, 129, 129, 130, 130, 131, 131, 132, 132, - 133, 133, 134, 134, 135, 135, 136, 136, 137, 137, 138, 138, - 139, 139, 140, 140, 141, 141, 142, 142}; - - /* - Process a set of code lengths to create a canonical Huffman code. The - code lengths are lens[0..codes-1]. Each length corresponds to the - symbols 0..codes-1. The Huffman code is generated by first sorting the - symbols by length from short to long, and retaining the symbol order - for codes with equal lengths. Then the code starts with all zero bits - for the first code of the shortest length, and the codes are integer - increments for the same length, and zeros are appended as the length - increases. For the deflate format, these bits are stored backwards - from their more natural integer increment ordering, and so when the - decoding tables are built in the large loop below, the integer codes - are incremented backwards. - - This routine assumes, but does not check, that all of the entries in - lens[] are in the range 0..MAXBITS. The caller must assure this. - 1..MAXBITS is interpreted as that code length. zero means that that - symbol does not occur in this code. - - The codes are sorted by computing a count of codes for each length, - creating from that a table of starting indices for each length in the - sorted table, and then entering the symbols in order in the sorted - table. The sorted table is work[], with that space being provided by - the caller. - - The length counts are used for other purposes as well, i.e. finding - the minimum and maximum length codes, determining if there are any - codes at all, checking for a valid set of lengths, and looking ahead - at length counts to determine sub-table sizes when building the - decoding tables. - */ - - /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */ - for (len = 0; len <= MAXBITS; len++) - count[len] = 0; - for (sym = 0; sym < codes; sym++) - count[lens[sym]]++; - - /* bound code lengths, force root to be within code lengths */ - root = *bits; - for (max = MAXBITS; max >= 1; max--) - if (count[max] != 0) break; - if (root > max) root = max; - if (max == 0) return -1; /* no codes! */ - for (min = 1; min <= MAXBITS; min++) - if (count[min] != 0) break; - if (root < min) root = min; - - /* check for an over-subscribed or incomplete set of lengths */ - left = 1; - for (len = 1; len <= MAXBITS; len++) { - left <<= 1; - left -= count[len]; - if (left < 0) return -1; /* over-subscribed */ - } - if (left > 0 && (type == CODES || max != 1)) - return -1; /* incomplete set */ - - /* generate offsets into symbol table for each length for sorting */ - offs[1] = 0; - for (len = 1; len < MAXBITS; len++) - offs[len + 1] = offs[len] + count[len]; - - /* sort symbols by length, by symbol order within each length */ - for (sym = 0; sym < codes; sym++) - if (lens[sym] != 0) work[offs[lens[sym]]++] = (unsigned short)sym; - - /* - Create and fill in decoding tables. In this loop, the table being - filled is at next and has curr index bits. The code being used is huff - with length len. That code is converted to an index by dropping drop - bits off of the bottom. For codes where len is less than drop + curr, - those top drop + curr - len bits are incremented through all values to - fill the table with replicated entries. - - root is the number of index bits for the root table. When len exceeds - root, sub-tables are created pointed to by the root entry with an index - of the low root bits of huff. This is saved in low to check for when a - new sub-table should be started. drop is zero when the root table is - being filled, and drop is root when sub-tables are being filled. - - When a new sub-table is needed, it is necessary to look ahead in the - code lengths to determine what size sub-table is needed. The length - counts are used for this, and so count[] is decremented as codes are - entered in the tables. - - used keeps track of how many table entries have been allocated from the - provided *table space. It is checked for LENS and DIST tables against - the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in - the initial root table size constants. See the comments in inftree9.h - for more information. - - sym increments through all symbols, and the loop terminates when - all codes of length max, i.e. all codes, have been processed. This - routine permits incomplete codes, so another loop after this one fills - in the rest of the decoding tables with invalid code markers. - */ - - /* set up for code type */ - switch (type) { - case CODES: - base = extra = work; /* dummy value--not used */ - end = 19; - break; - case LENS: - base = lbase; - base -= 257; - extra = lext; - extra -= 257; - end = 256; - break; - default: /* DISTS */ - base = dbase; - extra = dext; - end = -1; - } - - /* initialize state for loop */ - huff = 0; /* starting code */ - sym = 0; /* starting code symbol */ - len = min; /* starting code length */ - next = *table; /* current table to fill in */ - curr = root; /* current table index bits */ - drop = 0; /* current bits to drop from code for index */ - low = (unsigned)(-1); /* trigger new sub-table when len > root */ - used = 1U << root; /* use root table entries */ - mask = used - 1; /* mask for comparing low */ - - /* check available table space */ - if ((type == LENS && used >= ENOUGH_LENS) || - (type == DISTS && used >= ENOUGH_DISTS)) - return 1; - - /* process all codes and make table entries */ - for (;;) { - /* create table entry */ - this.bits = (unsigned char)(len - drop); - if ((int)(work[sym]) < end) { - this.op = (unsigned char)0; - this.val = work[sym]; - } - else if ((int)(work[sym]) > end) { - this.op = (unsigned char)(extra[work[sym]]); - this.val = base[work[sym]]; - } - else { - this.op = (unsigned char)(32 + 64); /* end of block */ - this.val = 0; - } - - /* replicate for those indices with low len bits equal to huff */ - incr = 1U << (len - drop); - fill = 1U << curr; - do { - fill -= incr; - next[(huff >> drop) + fill] = this; - } while (fill != 0); - - /* backwards increment the len-bit code huff */ - incr = 1U << (len - 1); - while (huff & incr) - incr >>= 1; - if (incr != 0) { - huff &= incr - 1; - huff += incr; - } - else - huff = 0; - - /* go to next symbol, update count, len */ - sym++; - if (--(count[len]) == 0) { - if (len == max) break; - len = lens[work[sym]]; - } - - /* create new sub-table if needed */ - if (len > root && (huff & mask) != low) { - /* if first time, transition to sub-tables */ - if (drop == 0) - drop = root; - - /* increment past last table */ - next += 1U << curr; - - /* determine length of next table */ - curr = len - drop; - left = (int)(1 << curr); - while (curr + drop < max) { - left -= count[curr + drop]; - if (left <= 0) break; - curr++; - left <<= 1; - } - - /* check for enough space */ - used += 1U << curr; - if ((type == LENS && used >= ENOUGH_LENS) || - (type == DISTS && used >= ENOUGH_DISTS)) - return 1; - - /* point entry in root table to sub-table */ - low = huff & mask; - (*table)[low].op = (unsigned char)curr; - (*table)[low].bits = (unsigned char)root; - (*table)[low].val = (unsigned short)(next - *table); - } - } - - /* - Fill in rest of table for incomplete codes. This loop is similar to the - loop above in incrementing huff for table indices. It is assumed that - len is equal to curr + drop, so there is no loop needed to increment - through high index bits. When the current sub-table is filled, the loop - drops back to the root table to fill in any remaining entries there. - */ - this.op = (unsigned char)64; /* invalid code marker */ - this.bits = (unsigned char)(len - drop); - this.val = (unsigned short)0; - while (huff != 0) { - /* when done with sub-table, drop back to root table */ - if (drop != 0 && (huff & mask) != low) { - drop = 0; - len = root; - next = *table; - curr = root; - this.bits = (unsigned char)len; - } - - /* put invalid code marker in table */ - next[huff >> drop] = this; - - /* backwards increment the len-bit code huff */ - incr = 1U << (len - 1); - while (huff & incr) - incr >>= 1; - if (incr != 0) { - huff &= incr - 1; - huff += incr; - } - else - huff = 0; - } - - /* set return parameters */ - *table += used; - *bits = root; - return 0; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/infback9/inftree9.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/infback9/inftree9.h deleted file mode 100644 index 5ab21f0c..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/infback9/inftree9.h +++ /dev/null @@ -1,61 +0,0 @@ -/* inftree9.h -- header to use inftree9.c - * Copyright (C) 1995-2008 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* WARNING: this file should *not* be used by applications. It is - part of the implementation of the compression library and is - subject to change. Applications should only use zlib.h. - */ - -/* Structure for decoding tables. Each entry provides either the - information needed to do the operation requested by the code that - indexed that table entry, or it provides a pointer to another - table that indexes more bits of the code. op indicates whether - the entry is a pointer to another table, a literal, a length or - distance, an end-of-block, or an invalid code. For a table - pointer, the low four bits of op is the number of index bits of - that table. For a length or distance, the low four bits of op - is the number of extra bits to get after the code. bits is - the number of bits in this code or part of the code to drop off - of the bit buffer. val is the actual byte to output in the case - of a literal, the base length or distance, or the offset from - the current table to the next table. Each entry is four bytes. */ -typedef struct { - unsigned char op; /* operation, extra bits, table bits */ - unsigned char bits; /* bits in this part of the code */ - unsigned short val; /* offset in table or code value */ -} code; - -/* op values as set by inflate_table(): - 00000000 - literal - 0000tttt - table link, tttt != 0 is the number of table index bits - 100eeeee - length or distance, eeee is the number of extra bits - 01100000 - end of block - 01000000 - invalid code - */ - -/* Maximum size of the dynamic table. The maximum number of code structures is - 1446, which is the sum of 852 for literal/length codes and 594 for distance - codes. These values were found by exhaustive searches using the program - examples/enough.c found in the zlib distribtution. The arguments to that - program are the number of symbols, the initial root table size, and the - maximum bit length of a code. "enough 286 9 15" for literal/length codes - returns returns 852, and "enough 32 6 15" for distance codes returns 594. - The initial root table size (9 or 6) is found in the fifth argument of the - inflate_table() calls in infback9.c. If the root table size is changed, - then these maximum sizes would be need to be recalculated and updated. */ -#define ENOUGH_LENS 852 -#define ENOUGH_DISTS 594 -#define ENOUGH (ENOUGH_LENS+ENOUGH_DISTS) - -/* Type of code to build for inflate_table9() */ -typedef enum { - CODES, - LENS, - DISTS -} codetype; - -extern int inflate_table9 OF((codetype type, unsigned short FAR *lens, - unsigned codes, code FAR * FAR *table, - unsigned FAR *bits, unsigned short FAR *work)); diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/inflate86/inffas86.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/inflate86/inffas86.c deleted file mode 100644 index 7292f67b..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/inflate86/inffas86.c +++ /dev/null @@ -1,1157 +0,0 @@ -/* inffas86.c is a hand tuned assembler version of - * - * inffast.c -- fast decoding - * Copyright (C) 1995-2003 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - * - * Copyright (C) 2003 Chris Anderson - * Please use the copyright conditions above. - * - * Dec-29-2003 -- I added AMD64 inflate asm support. This version is also - * slightly quicker on x86 systems because, instead of using rep movsb to copy - * data, it uses rep movsw, which moves data in 2-byte chunks instead of single - * bytes. I've tested the AMD64 code on a Fedora Core 1 + the x86_64 updates - * from http://fedora.linux.duke.edu/fc1_x86_64 - * which is running on an Athlon 64 3000+ / Gigabyte GA-K8VT800M system with - * 1GB ram. The 64-bit version is about 4% faster than the 32-bit version, - * when decompressing mozilla-source-1.3.tar.gz. - * - * Mar-13-2003 -- Most of this is derived from inffast.S which is derived from - * the gcc -S output of zlib-1.2.0/inffast.c. Zlib-1.2.0 is in beta release at - * the moment. I have successfully compiled and tested this code with gcc2.96, - * gcc3.2, icc5.0, msvc6.0. It is very close to the speed of inffast.S - * compiled with gcc -DNO_MMX, but inffast.S is still faster on the P3 with MMX - * enabled. I will attempt to merge the MMX code into this version. Newer - * versions of this and inffast.S can be found at - * http://www.eetbeetee.com/zlib/ and http://www.charm.net/~christop/zlib/ - */ - -#include "zutil.h" -#include "inftrees.h" -#include "inflate.h" -#include "inffast.h" - -/* Mark Adler's comments from inffast.c: */ - -/* - Decode literal, length, and distance codes and write out the resulting - literal and match bytes until either not enough input or output is - available, an end-of-block is encountered, or a data error is encountered. - When large enough input and output buffers are supplied to inflate(), for - example, a 16K input buffer and a 64K output buffer, more than 95% of the - inflate execution time is spent in this routine. - - Entry assumptions: - - state->mode == LEN - strm->avail_in >= 6 - strm->avail_out >= 258 - start >= strm->avail_out - state->bits < 8 - - On return, state->mode is one of: - - LEN -- ran out of enough output space or enough available input - TYPE -- reached end of block code, inflate() to interpret next block - BAD -- error in block data - - Notes: - - - The maximum input bits used by a length/distance pair is 15 bits for the - length code, 5 bits for the length extra, 15 bits for the distance code, - and 13 bits for the distance extra. This totals 48 bits, or six bytes. - Therefore if strm->avail_in >= 6, then there is enough input to avoid - checking for available input while decoding. - - - The maximum bytes that a single length/distance pair can output is 258 - bytes, which is the maximum length that can be coded. inflate_fast() - requires strm->avail_out >= 258 for each loop to avoid checking for - output space. - */ -void inflate_fast(strm, start) -z_streamp strm; -unsigned start; /* inflate()'s starting value for strm->avail_out */ -{ - struct inflate_state FAR *state; - struct inffast_ar { -/* 64 32 x86 x86_64 */ -/* ar offset register */ -/* 0 0 */ void *esp; /* esp save */ -/* 8 4 */ void *ebp; /* ebp save */ -/* 16 8 */ unsigned char FAR *in; /* esi rsi local strm->next_in */ -/* 24 12 */ unsigned char FAR *last; /* r9 while in < last */ -/* 32 16 */ unsigned char FAR *out; /* edi rdi local strm->next_out */ -/* 40 20 */ unsigned char FAR *beg; /* inflate()'s init next_out */ -/* 48 24 */ unsigned char FAR *end; /* r10 while out < end */ -/* 56 28 */ unsigned char FAR *window;/* size of window, wsize!=0 */ -/* 64 32 */ code const FAR *lcode; /* ebp rbp local strm->lencode */ -/* 72 36 */ code const FAR *dcode; /* r11 local strm->distcode */ -/* 80 40 */ unsigned long hold; /* edx rdx local strm->hold */ -/* 88 44 */ unsigned bits; /* ebx rbx local strm->bits */ -/* 92 48 */ unsigned wsize; /* window size */ -/* 96 52 */ unsigned write; /* window write index */ -/*100 56 */ unsigned lmask; /* r12 mask for lcode */ -/*104 60 */ unsigned dmask; /* r13 mask for dcode */ -/*108 64 */ unsigned len; /* r14 match length */ -/*112 68 */ unsigned dist; /* r15 match distance */ -/*116 72 */ unsigned status; /* set when state chng*/ - } ar; - -#if defined( __GNUC__ ) && defined( __amd64__ ) && ! defined( __i386 ) -#define PAD_AVAIL_IN 6 -#define PAD_AVAIL_OUT 258 -#else -#define PAD_AVAIL_IN 5 -#define PAD_AVAIL_OUT 257 -#endif - - /* copy state to local variables */ - state = (struct inflate_state FAR *)strm->state; - ar.in = strm->next_in; - ar.last = ar.in + (strm->avail_in - PAD_AVAIL_IN); - ar.out = strm->next_out; - ar.beg = ar.out - (start - strm->avail_out); - ar.end = ar.out + (strm->avail_out - PAD_AVAIL_OUT); - ar.wsize = state->wsize; - ar.write = state->wnext; - ar.window = state->window; - ar.hold = state->hold; - ar.bits = state->bits; - ar.lcode = state->lencode; - ar.dcode = state->distcode; - ar.lmask = (1U << state->lenbits) - 1; - ar.dmask = (1U << state->distbits) - 1; - - /* decode literals and length/distances until end-of-block or not enough - input data or output space */ - - /* align in on 1/2 hold size boundary */ - while (((unsigned long)(void *)ar.in & (sizeof(ar.hold) / 2 - 1)) != 0) { - ar.hold += (unsigned long)*ar.in++ << ar.bits; - ar.bits += 8; - } - -#if defined( __GNUC__ ) && defined( __amd64__ ) && ! defined( __i386 ) - __asm__ __volatile__ ( -" leaq %0, %%rax\n" -" movq %%rbp, 8(%%rax)\n" /* save regs rbp and rsp */ -" movq %%rsp, (%%rax)\n" -" movq %%rax, %%rsp\n" /* make rsp point to &ar */ -" movq 16(%%rsp), %%rsi\n" /* rsi = in */ -" movq 32(%%rsp), %%rdi\n" /* rdi = out */ -" movq 24(%%rsp), %%r9\n" /* r9 = last */ -" movq 48(%%rsp), %%r10\n" /* r10 = end */ -" movq 64(%%rsp), %%rbp\n" /* rbp = lcode */ -" movq 72(%%rsp), %%r11\n" /* r11 = dcode */ -" movq 80(%%rsp), %%rdx\n" /* rdx = hold */ -" movl 88(%%rsp), %%ebx\n" /* ebx = bits */ -" movl 100(%%rsp), %%r12d\n" /* r12d = lmask */ -" movl 104(%%rsp), %%r13d\n" /* r13d = dmask */ - /* r14d = len */ - /* r15d = dist */ -" cld\n" -" cmpq %%rdi, %%r10\n" -" je .L_one_time\n" /* if only one decode left */ -" cmpq %%rsi, %%r9\n" -" je .L_one_time\n" -" jmp .L_do_loop\n" - -".L_one_time:\n" -" movq %%r12, %%r8\n" /* r8 = lmask */ -" cmpb $32, %%bl\n" -" ja .L_get_length_code_one_time\n" - -" lodsl\n" /* eax = *(uint *)in++ */ -" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */ -" addb $32, %%bl\n" /* bits += 32 */ -" shlq %%cl, %%rax\n" -" orq %%rax, %%rdx\n" /* hold |= *((uint *)in)++ << bits */ -" jmp .L_get_length_code_one_time\n" - -".align 32,0x90\n" -".L_while_test:\n" -" cmpq %%rdi, %%r10\n" -" jbe .L_break_loop\n" -" cmpq %%rsi, %%r9\n" -" jbe .L_break_loop\n" - -".L_do_loop:\n" -" movq %%r12, %%r8\n" /* r8 = lmask */ -" cmpb $32, %%bl\n" -" ja .L_get_length_code\n" /* if (32 < bits) */ - -" lodsl\n" /* eax = *(uint *)in++ */ -" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */ -" addb $32, %%bl\n" /* bits += 32 */ -" shlq %%cl, %%rax\n" -" orq %%rax, %%rdx\n" /* hold |= *((uint *)in)++ << bits */ - -".L_get_length_code:\n" -" andq %%rdx, %%r8\n" /* r8 &= hold */ -" movl (%%rbp,%%r8,4), %%eax\n" /* eax = lcode[hold & lmask] */ - -" movb %%ah, %%cl\n" /* cl = this.bits */ -" subb %%ah, %%bl\n" /* bits -= this.bits */ -" shrq %%cl, %%rdx\n" /* hold >>= this.bits */ - -" testb %%al, %%al\n" -" jnz .L_test_for_length_base\n" /* if (op != 0) 45.7% */ - -" movq %%r12, %%r8\n" /* r8 = lmask */ -" shrl $16, %%eax\n" /* output this.val char */ -" stosb\n" - -".L_get_length_code_one_time:\n" -" andq %%rdx, %%r8\n" /* r8 &= hold */ -" movl (%%rbp,%%r8,4), %%eax\n" /* eax = lcode[hold & lmask] */ - -".L_dolen:\n" -" movb %%ah, %%cl\n" /* cl = this.bits */ -" subb %%ah, %%bl\n" /* bits -= this.bits */ -" shrq %%cl, %%rdx\n" /* hold >>= this.bits */ - -" testb %%al, %%al\n" -" jnz .L_test_for_length_base\n" /* if (op != 0) 45.7% */ - -" shrl $16, %%eax\n" /* output this.val char */ -" stosb\n" -" jmp .L_while_test\n" - -".align 32,0x90\n" -".L_test_for_length_base:\n" -" movl %%eax, %%r14d\n" /* len = this */ -" shrl $16, %%r14d\n" /* len = this.val */ -" movb %%al, %%cl\n" - -" testb $16, %%al\n" -" jz .L_test_for_second_level_length\n" /* if ((op & 16) == 0) 8% */ -" andb $15, %%cl\n" /* op &= 15 */ -" jz .L_decode_distance\n" /* if (!op) */ - -".L_add_bits_to_len:\n" -" subb %%cl, %%bl\n" -" xorl %%eax, %%eax\n" -" incl %%eax\n" -" shll %%cl, %%eax\n" -" decl %%eax\n" -" andl %%edx, %%eax\n" /* eax &= hold */ -" shrq %%cl, %%rdx\n" -" addl %%eax, %%r14d\n" /* len += hold & mask[op] */ - -".L_decode_distance:\n" -" movq %%r13, %%r8\n" /* r8 = dmask */ -" cmpb $32, %%bl\n" -" ja .L_get_distance_code\n" /* if (32 < bits) */ - -" lodsl\n" /* eax = *(uint *)in++ */ -" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */ -" addb $32, %%bl\n" /* bits += 32 */ -" shlq %%cl, %%rax\n" -" orq %%rax, %%rdx\n" /* hold |= *((uint *)in)++ << bits */ - -".L_get_distance_code:\n" -" andq %%rdx, %%r8\n" /* r8 &= hold */ -" movl (%%r11,%%r8,4), %%eax\n" /* eax = dcode[hold & dmask] */ - -".L_dodist:\n" -" movl %%eax, %%r15d\n" /* dist = this */ -" shrl $16, %%r15d\n" /* dist = this.val */ -" movb %%ah, %%cl\n" -" subb %%ah, %%bl\n" /* bits -= this.bits */ -" shrq %%cl, %%rdx\n" /* hold >>= this.bits */ -" movb %%al, %%cl\n" /* cl = this.op */ - -" testb $16, %%al\n" /* if ((op & 16) == 0) */ -" jz .L_test_for_second_level_dist\n" -" andb $15, %%cl\n" /* op &= 15 */ -" jz .L_check_dist_one\n" - -".L_add_bits_to_dist:\n" -" subb %%cl, %%bl\n" -" xorl %%eax, %%eax\n" -" incl %%eax\n" -" shll %%cl, %%eax\n" -" decl %%eax\n" /* (1 << op) - 1 */ -" andl %%edx, %%eax\n" /* eax &= hold */ -" shrq %%cl, %%rdx\n" -" addl %%eax, %%r15d\n" /* dist += hold & ((1 << op) - 1) */ - -".L_check_window:\n" -" movq %%rsi, %%r8\n" /* save in so from can use it's reg */ -" movq %%rdi, %%rax\n" -" subq 40(%%rsp), %%rax\n" /* nbytes = out - beg */ - -" cmpl %%r15d, %%eax\n" -" jb .L_clip_window\n" /* if (dist > nbytes) 4.2% */ - -" movl %%r14d, %%ecx\n" /* ecx = len */ -" movq %%rdi, %%rsi\n" -" subq %%r15, %%rsi\n" /* from = out - dist */ - -" sarl %%ecx\n" -" jnc .L_copy_two\n" /* if len % 2 == 0 */ - -" rep movsw\n" -" movb (%%rsi), %%al\n" -" movb %%al, (%%rdi)\n" -" incq %%rdi\n" - -" movq %%r8, %%rsi\n" /* move in back to %rsi, toss from */ -" jmp .L_while_test\n" - -".L_copy_two:\n" -" rep movsw\n" -" movq %%r8, %%rsi\n" /* move in back to %rsi, toss from */ -" jmp .L_while_test\n" - -".align 32,0x90\n" -".L_check_dist_one:\n" -" cmpl $1, %%r15d\n" /* if dist 1, is a memset */ -" jne .L_check_window\n" -" cmpq %%rdi, 40(%%rsp)\n" /* if out == beg, outside window */ -" je .L_check_window\n" - -" movl %%r14d, %%ecx\n" /* ecx = len */ -" movb -1(%%rdi), %%al\n" -" movb %%al, %%ah\n" - -" sarl %%ecx\n" -" jnc .L_set_two\n" -" movb %%al, (%%rdi)\n" -" incq %%rdi\n" - -".L_set_two:\n" -" rep stosw\n" -" jmp .L_while_test\n" - -".align 32,0x90\n" -".L_test_for_second_level_length:\n" -" testb $64, %%al\n" -" jnz .L_test_for_end_of_block\n" /* if ((op & 64) != 0) */ - -" xorl %%eax, %%eax\n" -" incl %%eax\n" -" shll %%cl, %%eax\n" -" decl %%eax\n" -" andl %%edx, %%eax\n" /* eax &= hold */ -" addl %%r14d, %%eax\n" /* eax += len */ -" movl (%%rbp,%%rax,4), %%eax\n" /* eax = lcode[val+(hold&mask[op])]*/ -" jmp .L_dolen\n" - -".align 32,0x90\n" -".L_test_for_second_level_dist:\n" -" testb $64, %%al\n" -" jnz .L_invalid_distance_code\n" /* if ((op & 64) != 0) */ - -" xorl %%eax, %%eax\n" -" incl %%eax\n" -" shll %%cl, %%eax\n" -" decl %%eax\n" -" andl %%edx, %%eax\n" /* eax &= hold */ -" addl %%r15d, %%eax\n" /* eax += dist */ -" movl (%%r11,%%rax,4), %%eax\n" /* eax = dcode[val+(hold&mask[op])]*/ -" jmp .L_dodist\n" - -".align 32,0x90\n" -".L_clip_window:\n" -" movl %%eax, %%ecx\n" /* ecx = nbytes */ -" movl 92(%%rsp), %%eax\n" /* eax = wsize, prepare for dist cmp */ -" negl %%ecx\n" /* nbytes = -nbytes */ - -" cmpl %%r15d, %%eax\n" -" jb .L_invalid_distance_too_far\n" /* if (dist > wsize) */ - -" addl %%r15d, %%ecx\n" /* nbytes = dist - nbytes */ -" cmpl $0, 96(%%rsp)\n" -" jne .L_wrap_around_window\n" /* if (write != 0) */ - -" movq 56(%%rsp), %%rsi\n" /* from = window */ -" subl %%ecx, %%eax\n" /* eax -= nbytes */ -" addq %%rax, %%rsi\n" /* from += wsize - nbytes */ - -" movl %%r14d, %%eax\n" /* eax = len */ -" cmpl %%ecx, %%r14d\n" -" jbe .L_do_copy\n" /* if (nbytes >= len) */ - -" subl %%ecx, %%eax\n" /* eax -= nbytes */ -" rep movsb\n" -" movq %%rdi, %%rsi\n" -" subq %%r15, %%rsi\n" /* from = &out[ -dist ] */ -" jmp .L_do_copy\n" - -".align 32,0x90\n" -".L_wrap_around_window:\n" -" movl 96(%%rsp), %%eax\n" /* eax = write */ -" cmpl %%eax, %%ecx\n" -" jbe .L_contiguous_in_window\n" /* if (write >= nbytes) */ - -" movl 92(%%rsp), %%esi\n" /* from = wsize */ -" addq 56(%%rsp), %%rsi\n" /* from += window */ -" addq %%rax, %%rsi\n" /* from += write */ -" subq %%rcx, %%rsi\n" /* from -= nbytes */ -" subl %%eax, %%ecx\n" /* nbytes -= write */ - -" movl %%r14d, %%eax\n" /* eax = len */ -" cmpl %%ecx, %%eax\n" -" jbe .L_do_copy\n" /* if (nbytes >= len) */ - -" subl %%ecx, %%eax\n" /* len -= nbytes */ -" rep movsb\n" -" movq 56(%%rsp), %%rsi\n" /* from = window */ -" movl 96(%%rsp), %%ecx\n" /* nbytes = write */ -" cmpl %%ecx, %%eax\n" -" jbe .L_do_copy\n" /* if (nbytes >= len) */ - -" subl %%ecx, %%eax\n" /* len -= nbytes */ -" rep movsb\n" -" movq %%rdi, %%rsi\n" -" subq %%r15, %%rsi\n" /* from = out - dist */ -" jmp .L_do_copy\n" - -".align 32,0x90\n" -".L_contiguous_in_window:\n" -" movq 56(%%rsp), %%rsi\n" /* rsi = window */ -" addq %%rax, %%rsi\n" -" subq %%rcx, %%rsi\n" /* from += write - nbytes */ - -" movl %%r14d, %%eax\n" /* eax = len */ -" cmpl %%ecx, %%eax\n" -" jbe .L_do_copy\n" /* if (nbytes >= len) */ - -" subl %%ecx, %%eax\n" /* len -= nbytes */ -" rep movsb\n" -" movq %%rdi, %%rsi\n" -" subq %%r15, %%rsi\n" /* from = out - dist */ -" jmp .L_do_copy\n" /* if (nbytes >= len) */ - -".align 32,0x90\n" -".L_do_copy:\n" -" movl %%eax, %%ecx\n" /* ecx = len */ -" rep movsb\n" - -" movq %%r8, %%rsi\n" /* move in back to %esi, toss from */ -" jmp .L_while_test\n" - -".L_test_for_end_of_block:\n" -" testb $32, %%al\n" -" jz .L_invalid_literal_length_code\n" -" movl $1, 116(%%rsp)\n" -" jmp .L_break_loop_with_status\n" - -".L_invalid_literal_length_code:\n" -" movl $2, 116(%%rsp)\n" -" jmp .L_break_loop_with_status\n" - -".L_invalid_distance_code:\n" -" movl $3, 116(%%rsp)\n" -" jmp .L_break_loop_with_status\n" - -".L_invalid_distance_too_far:\n" -" movl $4, 116(%%rsp)\n" -" jmp .L_break_loop_with_status\n" - -".L_break_loop:\n" -" movl $0, 116(%%rsp)\n" - -".L_break_loop_with_status:\n" -/* put in, out, bits, and hold back into ar and pop esp */ -" movq %%rsi, 16(%%rsp)\n" /* in */ -" movq %%rdi, 32(%%rsp)\n" /* out */ -" movl %%ebx, 88(%%rsp)\n" /* bits */ -" movq %%rdx, 80(%%rsp)\n" /* hold */ -" movq (%%rsp), %%rax\n" /* restore rbp and rsp */ -" movq 8(%%rsp), %%rbp\n" -" movq %%rax, %%rsp\n" - : - : "m" (ar) - : "memory", "%rax", "%rbx", "%rcx", "%rdx", "%rsi", "%rdi", - "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15" - ); -#elif ( defined( __GNUC__ ) || defined( __ICC ) ) && defined( __i386 ) - __asm__ __volatile__ ( -" leal %0, %%eax\n" -" movl %%esp, (%%eax)\n" /* save esp, ebp */ -" movl %%ebp, 4(%%eax)\n" -" movl %%eax, %%esp\n" -" movl 8(%%esp), %%esi\n" /* esi = in */ -" movl 16(%%esp), %%edi\n" /* edi = out */ -" movl 40(%%esp), %%edx\n" /* edx = hold */ -" movl 44(%%esp), %%ebx\n" /* ebx = bits */ -" movl 32(%%esp), %%ebp\n" /* ebp = lcode */ - -" cld\n" -" jmp .L_do_loop\n" - -".align 32,0x90\n" -".L_while_test:\n" -" cmpl %%edi, 24(%%esp)\n" /* out < end */ -" jbe .L_break_loop\n" -" cmpl %%esi, 12(%%esp)\n" /* in < last */ -" jbe .L_break_loop\n" - -".L_do_loop:\n" -" cmpb $15, %%bl\n" -" ja .L_get_length_code\n" /* if (15 < bits) */ - -" xorl %%eax, %%eax\n" -" lodsw\n" /* al = *(ushort *)in++ */ -" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */ -" addb $16, %%bl\n" /* bits += 16 */ -" shll %%cl, %%eax\n" -" orl %%eax, %%edx\n" /* hold |= *((ushort *)in)++ << bits */ - -".L_get_length_code:\n" -" movl 56(%%esp), %%eax\n" /* eax = lmask */ -" andl %%edx, %%eax\n" /* eax &= hold */ -" movl (%%ebp,%%eax,4), %%eax\n" /* eax = lcode[hold & lmask] */ - -".L_dolen:\n" -" movb %%ah, %%cl\n" /* cl = this.bits */ -" subb %%ah, %%bl\n" /* bits -= this.bits */ -" shrl %%cl, %%edx\n" /* hold >>= this.bits */ - -" testb %%al, %%al\n" -" jnz .L_test_for_length_base\n" /* if (op != 0) 45.7% */ - -" shrl $16, %%eax\n" /* output this.val char */ -" stosb\n" -" jmp .L_while_test\n" - -".align 32,0x90\n" -".L_test_for_length_base:\n" -" movl %%eax, %%ecx\n" /* len = this */ -" shrl $16, %%ecx\n" /* len = this.val */ -" movl %%ecx, 64(%%esp)\n" /* save len */ -" movb %%al, %%cl\n" - -" testb $16, %%al\n" -" jz .L_test_for_second_level_length\n" /* if ((op & 16) == 0) 8% */ -" andb $15, %%cl\n" /* op &= 15 */ -" jz .L_decode_distance\n" /* if (!op) */ -" cmpb %%cl, %%bl\n" -" jae .L_add_bits_to_len\n" /* if (op <= bits) */ - -" movb %%cl, %%ch\n" /* stash op in ch, freeing cl */ -" xorl %%eax, %%eax\n" -" lodsw\n" /* al = *(ushort *)in++ */ -" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */ -" addb $16, %%bl\n" /* bits += 16 */ -" shll %%cl, %%eax\n" -" orl %%eax, %%edx\n" /* hold |= *((ushort *)in)++ << bits */ -" movb %%ch, %%cl\n" /* move op back to ecx */ - -".L_add_bits_to_len:\n" -" subb %%cl, %%bl\n" -" xorl %%eax, %%eax\n" -" incl %%eax\n" -" shll %%cl, %%eax\n" -" decl %%eax\n" -" andl %%edx, %%eax\n" /* eax &= hold */ -" shrl %%cl, %%edx\n" -" addl %%eax, 64(%%esp)\n" /* len += hold & mask[op] */ - -".L_decode_distance:\n" -" cmpb $15, %%bl\n" -" ja .L_get_distance_code\n" /* if (15 < bits) */ - -" xorl %%eax, %%eax\n" -" lodsw\n" /* al = *(ushort *)in++ */ -" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */ -" addb $16, %%bl\n" /* bits += 16 */ -" shll %%cl, %%eax\n" -" orl %%eax, %%edx\n" /* hold |= *((ushort *)in)++ << bits */ - -".L_get_distance_code:\n" -" movl 60(%%esp), %%eax\n" /* eax = dmask */ -" movl 36(%%esp), %%ecx\n" /* ecx = dcode */ -" andl %%edx, %%eax\n" /* eax &= hold */ -" movl (%%ecx,%%eax,4), %%eax\n"/* eax = dcode[hold & dmask] */ - -".L_dodist:\n" -" movl %%eax, %%ebp\n" /* dist = this */ -" shrl $16, %%ebp\n" /* dist = this.val */ -" movb %%ah, %%cl\n" -" subb %%ah, %%bl\n" /* bits -= this.bits */ -" shrl %%cl, %%edx\n" /* hold >>= this.bits */ -" movb %%al, %%cl\n" /* cl = this.op */ - -" testb $16, %%al\n" /* if ((op & 16) == 0) */ -" jz .L_test_for_second_level_dist\n" -" andb $15, %%cl\n" /* op &= 15 */ -" jz .L_check_dist_one\n" -" cmpb %%cl, %%bl\n" -" jae .L_add_bits_to_dist\n" /* if (op <= bits) 97.6% */ - -" movb %%cl, %%ch\n" /* stash op in ch, freeing cl */ -" xorl %%eax, %%eax\n" -" lodsw\n" /* al = *(ushort *)in++ */ -" movb %%bl, %%cl\n" /* cl = bits, needs it for shifting */ -" addb $16, %%bl\n" /* bits += 16 */ -" shll %%cl, %%eax\n" -" orl %%eax, %%edx\n" /* hold |= *((ushort *)in)++ << bits */ -" movb %%ch, %%cl\n" /* move op back to ecx */ - -".L_add_bits_to_dist:\n" -" subb %%cl, %%bl\n" -" xorl %%eax, %%eax\n" -" incl %%eax\n" -" shll %%cl, %%eax\n" -" decl %%eax\n" /* (1 << op) - 1 */ -" andl %%edx, %%eax\n" /* eax &= hold */ -" shrl %%cl, %%edx\n" -" addl %%eax, %%ebp\n" /* dist += hold & ((1 << op) - 1) */ - -".L_check_window:\n" -" movl %%esi, 8(%%esp)\n" /* save in so from can use it's reg */ -" movl %%edi, %%eax\n" -" subl 20(%%esp), %%eax\n" /* nbytes = out - beg */ - -" cmpl %%ebp, %%eax\n" -" jb .L_clip_window\n" /* if (dist > nbytes) 4.2% */ - -" movl 64(%%esp), %%ecx\n" /* ecx = len */ -" movl %%edi, %%esi\n" -" subl %%ebp, %%esi\n" /* from = out - dist */ - -" sarl %%ecx\n" -" jnc .L_copy_two\n" /* if len % 2 == 0 */ - -" rep movsw\n" -" movb (%%esi), %%al\n" -" movb %%al, (%%edi)\n" -" incl %%edi\n" - -" movl 8(%%esp), %%esi\n" /* move in back to %esi, toss from */ -" movl 32(%%esp), %%ebp\n" /* ebp = lcode */ -" jmp .L_while_test\n" - -".L_copy_two:\n" -" rep movsw\n" -" movl 8(%%esp), %%esi\n" /* move in back to %esi, toss from */ -" movl 32(%%esp), %%ebp\n" /* ebp = lcode */ -" jmp .L_while_test\n" - -".align 32,0x90\n" -".L_check_dist_one:\n" -" cmpl $1, %%ebp\n" /* if dist 1, is a memset */ -" jne .L_check_window\n" -" cmpl %%edi, 20(%%esp)\n" -" je .L_check_window\n" /* out == beg, if outside window */ - -" movl 64(%%esp), %%ecx\n" /* ecx = len */ -" movb -1(%%edi), %%al\n" -" movb %%al, %%ah\n" - -" sarl %%ecx\n" -" jnc .L_set_two\n" -" movb %%al, (%%edi)\n" -" incl %%edi\n" - -".L_set_two:\n" -" rep stosw\n" -" movl 32(%%esp), %%ebp\n" /* ebp = lcode */ -" jmp .L_while_test\n" - -".align 32,0x90\n" -".L_test_for_second_level_length:\n" -" testb $64, %%al\n" -" jnz .L_test_for_end_of_block\n" /* if ((op & 64) != 0) */ - -" xorl %%eax, %%eax\n" -" incl %%eax\n" -" shll %%cl, %%eax\n" -" decl %%eax\n" -" andl %%edx, %%eax\n" /* eax &= hold */ -" addl 64(%%esp), %%eax\n" /* eax += len */ -" movl (%%ebp,%%eax,4), %%eax\n" /* eax = lcode[val+(hold&mask[op])]*/ -" jmp .L_dolen\n" - -".align 32,0x90\n" -".L_test_for_second_level_dist:\n" -" testb $64, %%al\n" -" jnz .L_invalid_distance_code\n" /* if ((op & 64) != 0) */ - -" xorl %%eax, %%eax\n" -" incl %%eax\n" -" shll %%cl, %%eax\n" -" decl %%eax\n" -" andl %%edx, %%eax\n" /* eax &= hold */ -" addl %%ebp, %%eax\n" /* eax += dist */ -" movl 36(%%esp), %%ecx\n" /* ecx = dcode */ -" movl (%%ecx,%%eax,4), %%eax\n" /* eax = dcode[val+(hold&mask[op])]*/ -" jmp .L_dodist\n" - -".align 32,0x90\n" -".L_clip_window:\n" -" movl %%eax, %%ecx\n" -" movl 48(%%esp), %%eax\n" /* eax = wsize */ -" negl %%ecx\n" /* nbytes = -nbytes */ -" movl 28(%%esp), %%esi\n" /* from = window */ - -" cmpl %%ebp, %%eax\n" -" jb .L_invalid_distance_too_far\n" /* if (dist > wsize) */ - -" addl %%ebp, %%ecx\n" /* nbytes = dist - nbytes */ -" cmpl $0, 52(%%esp)\n" -" jne .L_wrap_around_window\n" /* if (write != 0) */ - -" subl %%ecx, %%eax\n" -" addl %%eax, %%esi\n" /* from += wsize - nbytes */ - -" movl 64(%%esp), %%eax\n" /* eax = len */ -" cmpl %%ecx, %%eax\n" -" jbe .L_do_copy\n" /* if (nbytes >= len) */ - -" subl %%ecx, %%eax\n" /* len -= nbytes */ -" rep movsb\n" -" movl %%edi, %%esi\n" -" subl %%ebp, %%esi\n" /* from = out - dist */ -" jmp .L_do_copy\n" - -".align 32,0x90\n" -".L_wrap_around_window:\n" -" movl 52(%%esp), %%eax\n" /* eax = write */ -" cmpl %%eax, %%ecx\n" -" jbe .L_contiguous_in_window\n" /* if (write >= nbytes) */ - -" addl 48(%%esp), %%esi\n" /* from += wsize */ -" addl %%eax, %%esi\n" /* from += write */ -" subl %%ecx, %%esi\n" /* from -= nbytes */ -" subl %%eax, %%ecx\n" /* nbytes -= write */ - -" movl 64(%%esp), %%eax\n" /* eax = len */ -" cmpl %%ecx, %%eax\n" -" jbe .L_do_copy\n" /* if (nbytes >= len) */ - -" subl %%ecx, %%eax\n" /* len -= nbytes */ -" rep movsb\n" -" movl 28(%%esp), %%esi\n" /* from = window */ -" movl 52(%%esp), %%ecx\n" /* nbytes = write */ -" cmpl %%ecx, %%eax\n" -" jbe .L_do_copy\n" /* if (nbytes >= len) */ - -" subl %%ecx, %%eax\n" /* len -= nbytes */ -" rep movsb\n" -" movl %%edi, %%esi\n" -" subl %%ebp, %%esi\n" /* from = out - dist */ -" jmp .L_do_copy\n" - -".align 32,0x90\n" -".L_contiguous_in_window:\n" -" addl %%eax, %%esi\n" -" subl %%ecx, %%esi\n" /* from += write - nbytes */ - -" movl 64(%%esp), %%eax\n" /* eax = len */ -" cmpl %%ecx, %%eax\n" -" jbe .L_do_copy\n" /* if (nbytes >= len) */ - -" subl %%ecx, %%eax\n" /* len -= nbytes */ -" rep movsb\n" -" movl %%edi, %%esi\n" -" subl %%ebp, %%esi\n" /* from = out - dist */ -" jmp .L_do_copy\n" /* if (nbytes >= len) */ - -".align 32,0x90\n" -".L_do_copy:\n" -" movl %%eax, %%ecx\n" -" rep movsb\n" - -" movl 8(%%esp), %%esi\n" /* move in back to %esi, toss from */ -" movl 32(%%esp), %%ebp\n" /* ebp = lcode */ -" jmp .L_while_test\n" - -".L_test_for_end_of_block:\n" -" testb $32, %%al\n" -" jz .L_invalid_literal_length_code\n" -" movl $1, 72(%%esp)\n" -" jmp .L_break_loop_with_status\n" - -".L_invalid_literal_length_code:\n" -" movl $2, 72(%%esp)\n" -" jmp .L_break_loop_with_status\n" - -".L_invalid_distance_code:\n" -" movl $3, 72(%%esp)\n" -" jmp .L_break_loop_with_status\n" - -".L_invalid_distance_too_far:\n" -" movl 8(%%esp), %%esi\n" -" movl $4, 72(%%esp)\n" -" jmp .L_break_loop_with_status\n" - -".L_break_loop:\n" -" movl $0, 72(%%esp)\n" - -".L_break_loop_with_status:\n" -/* put in, out, bits, and hold back into ar and pop esp */ -" movl %%esi, 8(%%esp)\n" /* save in */ -" movl %%edi, 16(%%esp)\n" /* save out */ -" movl %%ebx, 44(%%esp)\n" /* save bits */ -" movl %%edx, 40(%%esp)\n" /* save hold */ -" movl 4(%%esp), %%ebp\n" /* restore esp, ebp */ -" movl (%%esp), %%esp\n" - : - : "m" (ar) - : "memory", "%eax", "%ebx", "%ecx", "%edx", "%esi", "%edi" - ); -#elif defined( _MSC_VER ) && ! defined( _M_AMD64 ) - __asm { - lea eax, ar - mov [eax], esp /* save esp, ebp */ - mov [eax+4], ebp - mov esp, eax - mov esi, [esp+8] /* esi = in */ - mov edi, [esp+16] /* edi = out */ - mov edx, [esp+40] /* edx = hold */ - mov ebx, [esp+44] /* ebx = bits */ - mov ebp, [esp+32] /* ebp = lcode */ - - cld - jmp L_do_loop - -ALIGN 4 -L_while_test: - cmp [esp+24], edi - jbe L_break_loop - cmp [esp+12], esi - jbe L_break_loop - -L_do_loop: - cmp bl, 15 - ja L_get_length_code /* if (15 < bits) */ - - xor eax, eax - lodsw /* al = *(ushort *)in++ */ - mov cl, bl /* cl = bits, needs it for shifting */ - add bl, 16 /* bits += 16 */ - shl eax, cl - or edx, eax /* hold |= *((ushort *)in)++ << bits */ - -L_get_length_code: - mov eax, [esp+56] /* eax = lmask */ - and eax, edx /* eax &= hold */ - mov eax, [ebp+eax*4] /* eax = lcode[hold & lmask] */ - -L_dolen: - mov cl, ah /* cl = this.bits */ - sub bl, ah /* bits -= this.bits */ - shr edx, cl /* hold >>= this.bits */ - - test al, al - jnz L_test_for_length_base /* if (op != 0) 45.7% */ - - shr eax, 16 /* output this.val char */ - stosb - jmp L_while_test - -ALIGN 4 -L_test_for_length_base: - mov ecx, eax /* len = this */ - shr ecx, 16 /* len = this.val */ - mov [esp+64], ecx /* save len */ - mov cl, al - - test al, 16 - jz L_test_for_second_level_length /* if ((op & 16) == 0) 8% */ - and cl, 15 /* op &= 15 */ - jz L_decode_distance /* if (!op) */ - cmp bl, cl - jae L_add_bits_to_len /* if (op <= bits) */ - - mov ch, cl /* stash op in ch, freeing cl */ - xor eax, eax - lodsw /* al = *(ushort *)in++ */ - mov cl, bl /* cl = bits, needs it for shifting */ - add bl, 16 /* bits += 16 */ - shl eax, cl - or edx, eax /* hold |= *((ushort *)in)++ << bits */ - mov cl, ch /* move op back to ecx */ - -L_add_bits_to_len: - sub bl, cl - xor eax, eax - inc eax - shl eax, cl - dec eax - and eax, edx /* eax &= hold */ - shr edx, cl - add [esp+64], eax /* len += hold & mask[op] */ - -L_decode_distance: - cmp bl, 15 - ja L_get_distance_code /* if (15 < bits) */ - - xor eax, eax - lodsw /* al = *(ushort *)in++ */ - mov cl, bl /* cl = bits, needs it for shifting */ - add bl, 16 /* bits += 16 */ - shl eax, cl - or edx, eax /* hold |= *((ushort *)in)++ << bits */ - -L_get_distance_code: - mov eax, [esp+60] /* eax = dmask */ - mov ecx, [esp+36] /* ecx = dcode */ - and eax, edx /* eax &= hold */ - mov eax, [ecx+eax*4]/* eax = dcode[hold & dmask] */ - -L_dodist: - mov ebp, eax /* dist = this */ - shr ebp, 16 /* dist = this.val */ - mov cl, ah - sub bl, ah /* bits -= this.bits */ - shr edx, cl /* hold >>= this.bits */ - mov cl, al /* cl = this.op */ - - test al, 16 /* if ((op & 16) == 0) */ - jz L_test_for_second_level_dist - and cl, 15 /* op &= 15 */ - jz L_check_dist_one - cmp bl, cl - jae L_add_bits_to_dist /* if (op <= bits) 97.6% */ - - mov ch, cl /* stash op in ch, freeing cl */ - xor eax, eax - lodsw /* al = *(ushort *)in++ */ - mov cl, bl /* cl = bits, needs it for shifting */ - add bl, 16 /* bits += 16 */ - shl eax, cl - or edx, eax /* hold |= *((ushort *)in)++ << bits */ - mov cl, ch /* move op back to ecx */ - -L_add_bits_to_dist: - sub bl, cl - xor eax, eax - inc eax - shl eax, cl - dec eax /* (1 << op) - 1 */ - and eax, edx /* eax &= hold */ - shr edx, cl - add ebp, eax /* dist += hold & ((1 << op) - 1) */ - -L_check_window: - mov [esp+8], esi /* save in so from can use it's reg */ - mov eax, edi - sub eax, [esp+20] /* nbytes = out - beg */ - - cmp eax, ebp - jb L_clip_window /* if (dist > nbytes) 4.2% */ - - mov ecx, [esp+64] /* ecx = len */ - mov esi, edi - sub esi, ebp /* from = out - dist */ - - sar ecx, 1 - jnc L_copy_two - - rep movsw - mov al, [esi] - mov [edi], al - inc edi - - mov esi, [esp+8] /* move in back to %esi, toss from */ - mov ebp, [esp+32] /* ebp = lcode */ - jmp L_while_test - -L_copy_two: - rep movsw - mov esi, [esp+8] /* move in back to %esi, toss from */ - mov ebp, [esp+32] /* ebp = lcode */ - jmp L_while_test - -ALIGN 4 -L_check_dist_one: - cmp ebp, 1 /* if dist 1, is a memset */ - jne L_check_window - cmp [esp+20], edi - je L_check_window /* out == beg, if outside window */ - - mov ecx, [esp+64] /* ecx = len */ - mov al, [edi-1] - mov ah, al - - sar ecx, 1 - jnc L_set_two - mov [edi], al /* memset out with from[-1] */ - inc edi - -L_set_two: - rep stosw - mov ebp, [esp+32] /* ebp = lcode */ - jmp L_while_test - -ALIGN 4 -L_test_for_second_level_length: - test al, 64 - jnz L_test_for_end_of_block /* if ((op & 64) != 0) */ - - xor eax, eax - inc eax - shl eax, cl - dec eax - and eax, edx /* eax &= hold */ - add eax, [esp+64] /* eax += len */ - mov eax, [ebp+eax*4] /* eax = lcode[val+(hold&mask[op])]*/ - jmp L_dolen - -ALIGN 4 -L_test_for_second_level_dist: - test al, 64 - jnz L_invalid_distance_code /* if ((op & 64) != 0) */ - - xor eax, eax - inc eax - shl eax, cl - dec eax - and eax, edx /* eax &= hold */ - add eax, ebp /* eax += dist */ - mov ecx, [esp+36] /* ecx = dcode */ - mov eax, [ecx+eax*4] /* eax = dcode[val+(hold&mask[op])]*/ - jmp L_dodist - -ALIGN 4 -L_clip_window: - mov ecx, eax - mov eax, [esp+48] /* eax = wsize */ - neg ecx /* nbytes = -nbytes */ - mov esi, [esp+28] /* from = window */ - - cmp eax, ebp - jb L_invalid_distance_too_far /* if (dist > wsize) */ - - add ecx, ebp /* nbytes = dist - nbytes */ - cmp dword ptr [esp+52], 0 - jne L_wrap_around_window /* if (write != 0) */ - - sub eax, ecx - add esi, eax /* from += wsize - nbytes */ - - mov eax, [esp+64] /* eax = len */ - cmp eax, ecx - jbe L_do_copy /* if (nbytes >= len) */ - - sub eax, ecx /* len -= nbytes */ - rep movsb - mov esi, edi - sub esi, ebp /* from = out - dist */ - jmp L_do_copy - -ALIGN 4 -L_wrap_around_window: - mov eax, [esp+52] /* eax = write */ - cmp ecx, eax - jbe L_contiguous_in_window /* if (write >= nbytes) */ - - add esi, [esp+48] /* from += wsize */ - add esi, eax /* from += write */ - sub esi, ecx /* from -= nbytes */ - sub ecx, eax /* nbytes -= write */ - - mov eax, [esp+64] /* eax = len */ - cmp eax, ecx - jbe L_do_copy /* if (nbytes >= len) */ - - sub eax, ecx /* len -= nbytes */ - rep movsb - mov esi, [esp+28] /* from = window */ - mov ecx, [esp+52] /* nbytes = write */ - cmp eax, ecx - jbe L_do_copy /* if (nbytes >= len) */ - - sub eax, ecx /* len -= nbytes */ - rep movsb - mov esi, edi - sub esi, ebp /* from = out - dist */ - jmp L_do_copy - -ALIGN 4 -L_contiguous_in_window: - add esi, eax - sub esi, ecx /* from += write - nbytes */ - - mov eax, [esp+64] /* eax = len */ - cmp eax, ecx - jbe L_do_copy /* if (nbytes >= len) */ - - sub eax, ecx /* len -= nbytes */ - rep movsb - mov esi, edi - sub esi, ebp /* from = out - dist */ - jmp L_do_copy - -ALIGN 4 -L_do_copy: - mov ecx, eax - rep movsb - - mov esi, [esp+8] /* move in back to %esi, toss from */ - mov ebp, [esp+32] /* ebp = lcode */ - jmp L_while_test - -L_test_for_end_of_block: - test al, 32 - jz L_invalid_literal_length_code - mov dword ptr [esp+72], 1 - jmp L_break_loop_with_status - -L_invalid_literal_length_code: - mov dword ptr [esp+72], 2 - jmp L_break_loop_with_status - -L_invalid_distance_code: - mov dword ptr [esp+72], 3 - jmp L_break_loop_with_status - -L_invalid_distance_too_far: - mov esi, [esp+4] - mov dword ptr [esp+72], 4 - jmp L_break_loop_with_status - -L_break_loop: - mov dword ptr [esp+72], 0 - -L_break_loop_with_status: -/* put in, out, bits, and hold back into ar and pop esp */ - mov [esp+8], esi /* save in */ - mov [esp+16], edi /* save out */ - mov [esp+44], ebx /* save bits */ - mov [esp+40], edx /* save hold */ - mov ebp, [esp+4] /* restore esp, ebp */ - mov esp, [esp] - } -#else -#error "x86 architecture not defined" -#endif - - if (ar.status > 1) { - if (ar.status == 2) - strm->msg = "invalid literal/length code"; - else if (ar.status == 3) - strm->msg = "invalid distance code"; - else - strm->msg = "invalid distance too far back"; - state->mode = BAD; - } - else if ( ar.status == 1 ) { - state->mode = TYPE; - } - - /* return unused bytes (on entry, bits < 8, so in won't go too far back) */ - ar.len = ar.bits >> 3; - ar.in -= ar.len; - ar.bits -= ar.len << 3; - ar.hold &= (1U << ar.bits) - 1; - - /* update state and return */ - strm->next_in = ar.in; - strm->next_out = ar.out; - strm->avail_in = (unsigned)(ar.in < ar.last ? - PAD_AVAIL_IN + (ar.last - ar.in) : - PAD_AVAIL_IN - (ar.in - ar.last)); - strm->avail_out = (unsigned)(ar.out < ar.end ? - PAD_AVAIL_OUT + (ar.end - ar.out) : - PAD_AVAIL_OUT - (ar.out - ar.end)); - state->hold = ar.hold; - state->bits = ar.bits; - return; -} - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/inflate86/inffast.S b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/inflate86/inffast.S deleted file mode 100644 index 2245a290..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/inflate86/inffast.S +++ /dev/null @@ -1,1368 +0,0 @@ -/* - * inffast.S is a hand tuned assembler version of: - * - * inffast.c -- fast decoding - * Copyright (C) 1995-2003 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - * - * Copyright (C) 2003 Chris Anderson - * Please use the copyright conditions above. - * - * This version (Jan-23-2003) of inflate_fast was coded and tested under - * GNU/Linux on a pentium 3, using the gcc-3.2 compiler distribution. On that - * machine, I found that gzip style archives decompressed about 20% faster than - * the gcc-3.2 -O3 -fomit-frame-pointer compiled version. Your results will - * depend on how large of a buffer is used for z_stream.next_in & next_out - * (8K-32K worked best for my 256K cpu cache) and how much overhead there is in - * stream processing I/O and crc32/addler32. In my case, this routine used - * 70% of the cpu time and crc32 used 20%. - * - * I am confident that this version will work in the general case, but I have - * not tested a wide variety of datasets or a wide variety of platforms. - * - * Jan-24-2003 -- Added -DUSE_MMX define for slightly faster inflating. - * It should be a runtime flag instead of compile time flag... - * - * Jan-26-2003 -- Added runtime check for MMX support with cpuid instruction. - * With -DUSE_MMX, only MMX code is compiled. With -DNO_MMX, only non-MMX code - * is compiled. Without either option, runtime detection is enabled. Runtime - * detection should work on all modern cpus and the recomended algorithm (flip - * ID bit on eflags and then use the cpuid instruction) is used in many - * multimedia applications. Tested under win2k with gcc-2.95 and gas-2.12 - * distributed with cygwin3. Compiling with gcc-2.95 -c inffast.S -o - * inffast.obj generates a COFF object which can then be linked with MSVC++ - * compiled code. Tested under FreeBSD 4.7 with gcc-2.95. - * - * Jan-28-2003 -- Tested Athlon XP... MMX mode is slower than no MMX (and - * slower than compiler generated code). Adjusted cpuid check to use the MMX - * code only for Pentiums < P4 until I have more data on the P4. Speed - * improvment is only about 15% on the Athlon when compared with code generated - * with MSVC++. Not sure yet, but I think the P4 will also be slower using the - * MMX mode because many of it's x86 ALU instructions execute in .5 cycles and - * have less latency than MMX ops. Added code to buffer the last 11 bytes of - * the input stream since the MMX code grabs bits in chunks of 32, which - * differs from the inffast.c algorithm. I don't think there would have been - * read overruns where a page boundary was crossed (a segfault), but there - * could have been overruns when next_in ends on unaligned memory (unintialized - * memory read). - * - * Mar-13-2003 -- P4 MMX is slightly slower than P4 NO_MMX. I created a C - * version of the non-MMX code so that it doesn't depend on zstrm and zstate - * structure offsets which are hard coded in this file. This was last tested - * with zlib-1.2.0 which is currently in beta testing, newer versions of this - * and inffas86.c can be found at http://www.eetbeetee.com/zlib/ and - * http://www.charm.net/~christop/zlib/ - */ - - -/* - * if you have underscore linking problems (_inflate_fast undefined), try - * using -DGAS_COFF - */ -#if ! defined( GAS_COFF ) && ! defined( GAS_ELF ) - -#if defined( WIN32 ) || defined( __CYGWIN__ ) -#define GAS_COFF /* windows object format */ -#else -#define GAS_ELF -#endif - -#endif /* ! GAS_COFF && ! GAS_ELF */ - - -#if defined( GAS_COFF ) - -/* coff externals have underscores */ -#define inflate_fast _inflate_fast -#define inflate_fast_use_mmx _inflate_fast_use_mmx - -#endif /* GAS_COFF */ - - -.file "inffast.S" - -.globl inflate_fast - -.text -.align 4,0 -.L_invalid_literal_length_code_msg: -.string "invalid literal/length code" - -.align 4,0 -.L_invalid_distance_code_msg: -.string "invalid distance code" - -.align 4,0 -.L_invalid_distance_too_far_msg: -.string "invalid distance too far back" - -#if ! defined( NO_MMX ) -.align 4,0 -.L_mask: /* mask[N] = ( 1 << N ) - 1 */ -.long 0 -.long 1 -.long 3 -.long 7 -.long 15 -.long 31 -.long 63 -.long 127 -.long 255 -.long 511 -.long 1023 -.long 2047 -.long 4095 -.long 8191 -.long 16383 -.long 32767 -.long 65535 -.long 131071 -.long 262143 -.long 524287 -.long 1048575 -.long 2097151 -.long 4194303 -.long 8388607 -.long 16777215 -.long 33554431 -.long 67108863 -.long 134217727 -.long 268435455 -.long 536870911 -.long 1073741823 -.long 2147483647 -.long 4294967295 -#endif /* NO_MMX */ - -.text - -/* - * struct z_stream offsets, in zlib.h - */ -#define next_in_strm 0 /* strm->next_in */ -#define avail_in_strm 4 /* strm->avail_in */ -#define next_out_strm 12 /* strm->next_out */ -#define avail_out_strm 16 /* strm->avail_out */ -#define msg_strm 24 /* strm->msg */ -#define state_strm 28 /* strm->state */ - -/* - * struct inflate_state offsets, in inflate.h - */ -#define mode_state 0 /* state->mode */ -#define wsize_state 32 /* state->wsize */ -#define write_state 40 /* state->write */ -#define window_state 44 /* state->window */ -#define hold_state 48 /* state->hold */ -#define bits_state 52 /* state->bits */ -#define lencode_state 68 /* state->lencode */ -#define distcode_state 72 /* state->distcode */ -#define lenbits_state 76 /* state->lenbits */ -#define distbits_state 80 /* state->distbits */ - -/* - * inflate_fast's activation record - */ -#define local_var_size 64 /* how much local space for vars */ -#define strm_sp 88 /* first arg: z_stream * (local_var_size + 24) */ -#define start_sp 92 /* second arg: unsigned int (local_var_size + 28) */ - -/* - * offsets for local vars on stack - */ -#define out 60 /* unsigned char* */ -#define window 56 /* unsigned char* */ -#define wsize 52 /* unsigned int */ -#define write 48 /* unsigned int */ -#define in 44 /* unsigned char* */ -#define beg 40 /* unsigned char* */ -#define buf 28 /* char[ 12 ] */ -#define len 24 /* unsigned int */ -#define last 20 /* unsigned char* */ -#define end 16 /* unsigned char* */ -#define dcode 12 /* code* */ -#define lcode 8 /* code* */ -#define dmask 4 /* unsigned int */ -#define lmask 0 /* unsigned int */ - -/* - * typedef enum inflate_mode consts, in inflate.h - */ -#define INFLATE_MODE_TYPE 11 /* state->mode flags enum-ed in inflate.h */ -#define INFLATE_MODE_BAD 26 - - -#if ! defined( USE_MMX ) && ! defined( NO_MMX ) - -#define RUN_TIME_MMX - -#define CHECK_MMX 1 -#define DO_USE_MMX 2 -#define DONT_USE_MMX 3 - -.globl inflate_fast_use_mmx - -.data - -.align 4,0 -inflate_fast_use_mmx: /* integer flag for run time control 1=check,2=mmx,3=no */ -.long CHECK_MMX - -#if defined( GAS_ELF ) -/* elf info */ -.type inflate_fast_use_mmx,@object -.size inflate_fast_use_mmx,4 -#endif - -#endif /* RUN_TIME_MMX */ - -#if defined( GAS_COFF ) -/* coff info: scl 2 = extern, type 32 = function */ -.def inflate_fast; .scl 2; .type 32; .endef -#endif - -.text - -.align 32,0x90 -inflate_fast: - pushl %edi - pushl %esi - pushl %ebp - pushl %ebx - pushf /* save eflags (strm_sp, state_sp assumes this is 32 bits) */ - subl $local_var_size, %esp - cld - -#define strm_r %esi -#define state_r %edi - - movl strm_sp(%esp), strm_r - movl state_strm(strm_r), state_r - - /* in = strm->next_in; - * out = strm->next_out; - * last = in + strm->avail_in - 11; - * beg = out - (start - strm->avail_out); - * end = out + (strm->avail_out - 257); - */ - movl avail_in_strm(strm_r), %edx - movl next_in_strm(strm_r), %eax - - addl %eax, %edx /* avail_in += next_in */ - subl $11, %edx /* avail_in -= 11 */ - - movl %eax, in(%esp) - movl %edx, last(%esp) - - movl start_sp(%esp), %ebp - movl avail_out_strm(strm_r), %ecx - movl next_out_strm(strm_r), %ebx - - subl %ecx, %ebp /* start -= avail_out */ - negl %ebp /* start = -start */ - addl %ebx, %ebp /* start += next_out */ - - subl $257, %ecx /* avail_out -= 257 */ - addl %ebx, %ecx /* avail_out += out */ - - movl %ebx, out(%esp) - movl %ebp, beg(%esp) - movl %ecx, end(%esp) - - /* wsize = state->wsize; - * write = state->write; - * window = state->window; - * hold = state->hold; - * bits = state->bits; - * lcode = state->lencode; - * dcode = state->distcode; - * lmask = ( 1 << state->lenbits ) - 1; - * dmask = ( 1 << state->distbits ) - 1; - */ - - movl lencode_state(state_r), %eax - movl distcode_state(state_r), %ecx - - movl %eax, lcode(%esp) - movl %ecx, dcode(%esp) - - movl $1, %eax - movl lenbits_state(state_r), %ecx - shll %cl, %eax - decl %eax - movl %eax, lmask(%esp) - - movl $1, %eax - movl distbits_state(state_r), %ecx - shll %cl, %eax - decl %eax - movl %eax, dmask(%esp) - - movl wsize_state(state_r), %eax - movl write_state(state_r), %ecx - movl window_state(state_r), %edx - - movl %eax, wsize(%esp) - movl %ecx, write(%esp) - movl %edx, window(%esp) - - movl hold_state(state_r), %ebp - movl bits_state(state_r), %ebx - -#undef strm_r -#undef state_r - -#define in_r %esi -#define from_r %esi -#define out_r %edi - - movl in(%esp), in_r - movl last(%esp), %ecx - cmpl in_r, %ecx - ja .L_align_long /* if in < last */ - - addl $11, %ecx /* ecx = &in[ avail_in ] */ - subl in_r, %ecx /* ecx = avail_in */ - movl $12, %eax - subl %ecx, %eax /* eax = 12 - avail_in */ - leal buf(%esp), %edi - rep movsb /* memcpy( buf, in, avail_in ) */ - movl %eax, %ecx - xorl %eax, %eax - rep stosb /* memset( &buf[ avail_in ], 0, 12 - avail_in ) */ - leal buf(%esp), in_r /* in = buf */ - movl in_r, last(%esp) /* last = in, do just one iteration */ - jmp .L_is_aligned - - /* align in_r on long boundary */ -.L_align_long: - testl $3, in_r - jz .L_is_aligned - xorl %eax, %eax - movb (in_r), %al - incl in_r - movl %ebx, %ecx - addl $8, %ebx - shll %cl, %eax - orl %eax, %ebp - jmp .L_align_long - -.L_is_aligned: - movl out(%esp), out_r - -#if defined( NO_MMX ) - jmp .L_do_loop -#endif - -#if defined( USE_MMX ) - jmp .L_init_mmx -#endif - -/*** Runtime MMX check ***/ - -#if defined( RUN_TIME_MMX ) -.L_check_mmx: - cmpl $DO_USE_MMX, inflate_fast_use_mmx - je .L_init_mmx - ja .L_do_loop /* > 2 */ - - pushl %eax - pushl %ebx - pushl %ecx - pushl %edx - pushf - movl (%esp), %eax /* copy eflags to eax */ - xorl $0x200000, (%esp) /* try toggling ID bit of eflags (bit 21) - * to see if cpu supports cpuid... - * ID bit method not supported by NexGen but - * bios may load a cpuid instruction and - * cpuid may be disabled on Cyrix 5-6x86 */ - popf - pushf - popl %edx /* copy new eflags to edx */ - xorl %eax, %edx /* test if ID bit is flipped */ - jz .L_dont_use_mmx /* not flipped if zero */ - xorl %eax, %eax - cpuid - cmpl $0x756e6547, %ebx /* check for GenuineIntel in ebx,ecx,edx */ - jne .L_dont_use_mmx - cmpl $0x6c65746e, %ecx - jne .L_dont_use_mmx - cmpl $0x49656e69, %edx - jne .L_dont_use_mmx - movl $1, %eax - cpuid /* get cpu features */ - shrl $8, %eax - andl $15, %eax - cmpl $6, %eax /* check for Pentium family, is 0xf for P4 */ - jne .L_dont_use_mmx - testl $0x800000, %edx /* test if MMX feature is set (bit 23) */ - jnz .L_use_mmx - jmp .L_dont_use_mmx -.L_use_mmx: - movl $DO_USE_MMX, inflate_fast_use_mmx - jmp .L_check_mmx_pop -.L_dont_use_mmx: - movl $DONT_USE_MMX, inflate_fast_use_mmx -.L_check_mmx_pop: - popl %edx - popl %ecx - popl %ebx - popl %eax - jmp .L_check_mmx -#endif - - -/*** Non-MMX code ***/ - -#if defined ( NO_MMX ) || defined( RUN_TIME_MMX ) - -#define hold_r %ebp -#define bits_r %bl -#define bitslong_r %ebx - -.align 32,0x90 -.L_while_test: - /* while (in < last && out < end) - */ - cmpl out_r, end(%esp) - jbe .L_break_loop /* if (out >= end) */ - - cmpl in_r, last(%esp) - jbe .L_break_loop - -.L_do_loop: - /* regs: %esi = in, %ebp = hold, %bl = bits, %edi = out - * - * do { - * if (bits < 15) { - * hold |= *((unsigned short *)in)++ << bits; - * bits += 16 - * } - * this = lcode[hold & lmask] - */ - cmpb $15, bits_r - ja .L_get_length_code /* if (15 < bits) */ - - xorl %eax, %eax - lodsw /* al = *(ushort *)in++ */ - movb bits_r, %cl /* cl = bits, needs it for shifting */ - addb $16, bits_r /* bits += 16 */ - shll %cl, %eax - orl %eax, hold_r /* hold |= *((ushort *)in)++ << bits */ - -.L_get_length_code: - movl lmask(%esp), %edx /* edx = lmask */ - movl lcode(%esp), %ecx /* ecx = lcode */ - andl hold_r, %edx /* edx &= hold */ - movl (%ecx,%edx,4), %eax /* eax = lcode[hold & lmask] */ - -.L_dolen: - /* regs: %esi = in, %ebp = hold, %bl = bits, %edi = out - * - * dolen: - * bits -= this.bits; - * hold >>= this.bits - */ - movb %ah, %cl /* cl = this.bits */ - subb %ah, bits_r /* bits -= this.bits */ - shrl %cl, hold_r /* hold >>= this.bits */ - - /* check if op is a literal - * if (op == 0) { - * PUP(out) = this.val; - * } - */ - testb %al, %al - jnz .L_test_for_length_base /* if (op != 0) 45.7% */ - - shrl $16, %eax /* output this.val char */ - stosb - jmp .L_while_test - -.L_test_for_length_base: - /* regs: %esi = in, %ebp = hold, %bl = bits, %edi = out, %edx = len - * - * else if (op & 16) { - * len = this.val - * op &= 15 - * if (op) { - * if (op > bits) { - * hold |= *((unsigned short *)in)++ << bits; - * bits += 16 - * } - * len += hold & mask[op]; - * bits -= op; - * hold >>= op; - * } - */ -#define len_r %edx - movl %eax, len_r /* len = this */ - shrl $16, len_r /* len = this.val */ - movb %al, %cl - - testb $16, %al - jz .L_test_for_second_level_length /* if ((op & 16) == 0) 8% */ - andb $15, %cl /* op &= 15 */ - jz .L_save_len /* if (!op) */ - cmpb %cl, bits_r - jae .L_add_bits_to_len /* if (op <= bits) */ - - movb %cl, %ch /* stash op in ch, freeing cl */ - xorl %eax, %eax - lodsw /* al = *(ushort *)in++ */ - movb bits_r, %cl /* cl = bits, needs it for shifting */ - addb $16, bits_r /* bits += 16 */ - shll %cl, %eax - orl %eax, hold_r /* hold |= *((ushort *)in)++ << bits */ - movb %ch, %cl /* move op back to ecx */ - -.L_add_bits_to_len: - movl $1, %eax - shll %cl, %eax - decl %eax - subb %cl, bits_r - andl hold_r, %eax /* eax &= hold */ - shrl %cl, hold_r - addl %eax, len_r /* len += hold & mask[op] */ - -.L_save_len: - movl len_r, len(%esp) /* save len */ -#undef len_r - -.L_decode_distance: - /* regs: %esi = in, %ebp = hold, %bl = bits, %edi = out, %edx = dist - * - * if (bits < 15) { - * hold |= *((unsigned short *)in)++ << bits; - * bits += 16 - * } - * this = dcode[hold & dmask]; - * dodist: - * bits -= this.bits; - * hold >>= this.bits; - * op = this.op; - */ - - cmpb $15, bits_r - ja .L_get_distance_code /* if (15 < bits) */ - - xorl %eax, %eax - lodsw /* al = *(ushort *)in++ */ - movb bits_r, %cl /* cl = bits, needs it for shifting */ - addb $16, bits_r /* bits += 16 */ - shll %cl, %eax - orl %eax, hold_r /* hold |= *((ushort *)in)++ << bits */ - -.L_get_distance_code: - movl dmask(%esp), %edx /* edx = dmask */ - movl dcode(%esp), %ecx /* ecx = dcode */ - andl hold_r, %edx /* edx &= hold */ - movl (%ecx,%edx,4), %eax /* eax = dcode[hold & dmask] */ - -#define dist_r %edx -.L_dodist: - movl %eax, dist_r /* dist = this */ - shrl $16, dist_r /* dist = this.val */ - movb %ah, %cl - subb %ah, bits_r /* bits -= this.bits */ - shrl %cl, hold_r /* hold >>= this.bits */ - - /* if (op & 16) { - * dist = this.val - * op &= 15 - * if (op > bits) { - * hold |= *((unsigned short *)in)++ << bits; - * bits += 16 - * } - * dist += hold & mask[op]; - * bits -= op; - * hold >>= op; - */ - movb %al, %cl /* cl = this.op */ - - testb $16, %al /* if ((op & 16) == 0) */ - jz .L_test_for_second_level_dist - andb $15, %cl /* op &= 15 */ - jz .L_check_dist_one - cmpb %cl, bits_r - jae .L_add_bits_to_dist /* if (op <= bits) 97.6% */ - - movb %cl, %ch /* stash op in ch, freeing cl */ - xorl %eax, %eax - lodsw /* al = *(ushort *)in++ */ - movb bits_r, %cl /* cl = bits, needs it for shifting */ - addb $16, bits_r /* bits += 16 */ - shll %cl, %eax - orl %eax, hold_r /* hold |= *((ushort *)in)++ << bits */ - movb %ch, %cl /* move op back to ecx */ - -.L_add_bits_to_dist: - movl $1, %eax - shll %cl, %eax - decl %eax /* (1 << op) - 1 */ - subb %cl, bits_r - andl hold_r, %eax /* eax &= hold */ - shrl %cl, hold_r - addl %eax, dist_r /* dist += hold & ((1 << op) - 1) */ - jmp .L_check_window - -.L_check_window: - /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist - * %ecx = nbytes - * - * nbytes = out - beg; - * if (dist <= nbytes) { - * from = out - dist; - * do { - * PUP(out) = PUP(from); - * } while (--len > 0) { - * } - */ - - movl in_r, in(%esp) /* save in so from can use it's reg */ - movl out_r, %eax - subl beg(%esp), %eax /* nbytes = out - beg */ - - cmpl dist_r, %eax - jb .L_clip_window /* if (dist > nbytes) 4.2% */ - - movl len(%esp), %ecx - movl out_r, from_r - subl dist_r, from_r /* from = out - dist */ - - subl $3, %ecx - movb (from_r), %al - movb %al, (out_r) - movb 1(from_r), %al - movb 2(from_r), %dl - addl $3, from_r - movb %al, 1(out_r) - movb %dl, 2(out_r) - addl $3, out_r - rep movsb - - movl in(%esp), in_r /* move in back to %esi, toss from */ - jmp .L_while_test - -.align 16,0x90 -.L_check_dist_one: - cmpl $1, dist_r - jne .L_check_window - cmpl out_r, beg(%esp) - je .L_check_window - - decl out_r - movl len(%esp), %ecx - movb (out_r), %al - subl $3, %ecx - - movb %al, 1(out_r) - movb %al, 2(out_r) - movb %al, 3(out_r) - addl $4, out_r - rep stosb - - jmp .L_while_test - -.align 16,0x90 -.L_test_for_second_level_length: - /* else if ((op & 64) == 0) { - * this = lcode[this.val + (hold & mask[op])]; - * } - */ - testb $64, %al - jnz .L_test_for_end_of_block /* if ((op & 64) != 0) */ - - movl $1, %eax - shll %cl, %eax - decl %eax - andl hold_r, %eax /* eax &= hold */ - addl %edx, %eax /* eax += this.val */ - movl lcode(%esp), %edx /* edx = lcode */ - movl (%edx,%eax,4), %eax /* eax = lcode[val + (hold&mask[op])] */ - jmp .L_dolen - -.align 16,0x90 -.L_test_for_second_level_dist: - /* else if ((op & 64) == 0) { - * this = dcode[this.val + (hold & mask[op])]; - * } - */ - testb $64, %al - jnz .L_invalid_distance_code /* if ((op & 64) != 0) */ - - movl $1, %eax - shll %cl, %eax - decl %eax - andl hold_r, %eax /* eax &= hold */ - addl %edx, %eax /* eax += this.val */ - movl dcode(%esp), %edx /* edx = dcode */ - movl (%edx,%eax,4), %eax /* eax = dcode[val + (hold&mask[op])] */ - jmp .L_dodist - -.align 16,0x90 -.L_clip_window: - /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist - * %ecx = nbytes - * - * else { - * if (dist > wsize) { - * invalid distance - * } - * from = window; - * nbytes = dist - nbytes; - * if (write == 0) { - * from += wsize - nbytes; - */ -#define nbytes_r %ecx - movl %eax, nbytes_r - movl wsize(%esp), %eax /* prepare for dist compare */ - negl nbytes_r /* nbytes = -nbytes */ - movl window(%esp), from_r /* from = window */ - - cmpl dist_r, %eax - jb .L_invalid_distance_too_far /* if (dist > wsize) */ - - addl dist_r, nbytes_r /* nbytes = dist - nbytes */ - cmpl $0, write(%esp) - jne .L_wrap_around_window /* if (write != 0) */ - - subl nbytes_r, %eax - addl %eax, from_r /* from += wsize - nbytes */ - - /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist - * %ecx = nbytes, %eax = len - * - * if (nbytes < len) { - * len -= nbytes; - * do { - * PUP(out) = PUP(from); - * } while (--nbytes); - * from = out - dist; - * } - * } - */ -#define len_r %eax - movl len(%esp), len_r - cmpl nbytes_r, len_r - jbe .L_do_copy1 /* if (nbytes >= len) */ - - subl nbytes_r, len_r /* len -= nbytes */ - rep movsb - movl out_r, from_r - subl dist_r, from_r /* from = out - dist */ - jmp .L_do_copy1 - - cmpl nbytes_r, len_r - jbe .L_do_copy1 /* if (nbytes >= len) */ - - subl nbytes_r, len_r /* len -= nbytes */ - rep movsb - movl out_r, from_r - subl dist_r, from_r /* from = out - dist */ - jmp .L_do_copy1 - -.L_wrap_around_window: - /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist - * %ecx = nbytes, %eax = write, %eax = len - * - * else if (write < nbytes) { - * from += wsize + write - nbytes; - * nbytes -= write; - * if (nbytes < len) { - * len -= nbytes; - * do { - * PUP(out) = PUP(from); - * } while (--nbytes); - * from = window; - * nbytes = write; - * if (nbytes < len) { - * len -= nbytes; - * do { - * PUP(out) = PUP(from); - * } while(--nbytes); - * from = out - dist; - * } - * } - * } - */ -#define write_r %eax - movl write(%esp), write_r - cmpl write_r, nbytes_r - jbe .L_contiguous_in_window /* if (write >= nbytes) */ - - addl wsize(%esp), from_r - addl write_r, from_r - subl nbytes_r, from_r /* from += wsize + write - nbytes */ - subl write_r, nbytes_r /* nbytes -= write */ -#undef write_r - - movl len(%esp), len_r - cmpl nbytes_r, len_r - jbe .L_do_copy1 /* if (nbytes >= len) */ - - subl nbytes_r, len_r /* len -= nbytes */ - rep movsb - movl window(%esp), from_r /* from = window */ - movl write(%esp), nbytes_r /* nbytes = write */ - cmpl nbytes_r, len_r - jbe .L_do_copy1 /* if (nbytes >= len) */ - - subl nbytes_r, len_r /* len -= nbytes */ - rep movsb - movl out_r, from_r - subl dist_r, from_r /* from = out - dist */ - jmp .L_do_copy1 - -.L_contiguous_in_window: - /* regs: %esi = from, %ebp = hold, %bl = bits, %edi = out, %edx = dist - * %ecx = nbytes, %eax = write, %eax = len - * - * else { - * from += write - nbytes; - * if (nbytes < len) { - * len -= nbytes; - * do { - * PUP(out) = PUP(from); - * } while (--nbytes); - * from = out - dist; - * } - * } - */ -#define write_r %eax - addl write_r, from_r - subl nbytes_r, from_r /* from += write - nbytes */ -#undef write_r - - movl len(%esp), len_r - cmpl nbytes_r, len_r - jbe .L_do_copy1 /* if (nbytes >= len) */ - - subl nbytes_r, len_r /* len -= nbytes */ - rep movsb - movl out_r, from_r - subl dist_r, from_r /* from = out - dist */ - -.L_do_copy1: - /* regs: %esi = from, %esi = in, %ebp = hold, %bl = bits, %edi = out - * %eax = len - * - * while (len > 0) { - * PUP(out) = PUP(from); - * len--; - * } - * } - * } while (in < last && out < end); - */ -#undef nbytes_r -#define in_r %esi - movl len_r, %ecx - rep movsb - - movl in(%esp), in_r /* move in back to %esi, toss from */ - jmp .L_while_test - -#undef len_r -#undef dist_r - -#endif /* NO_MMX || RUN_TIME_MMX */ - - -/*** MMX code ***/ - -#if defined( USE_MMX ) || defined( RUN_TIME_MMX ) - -.align 32,0x90 -.L_init_mmx: - emms - -#undef bits_r -#undef bitslong_r -#define bitslong_r %ebp -#define hold_mm %mm0 - movd %ebp, hold_mm - movl %ebx, bitslong_r - -#define used_mm %mm1 -#define dmask2_mm %mm2 -#define lmask2_mm %mm3 -#define lmask_mm %mm4 -#define dmask_mm %mm5 -#define tmp_mm %mm6 - - movd lmask(%esp), lmask_mm - movq lmask_mm, lmask2_mm - movd dmask(%esp), dmask_mm - movq dmask_mm, dmask2_mm - pxor used_mm, used_mm - movl lcode(%esp), %ebx /* ebx = lcode */ - jmp .L_do_loop_mmx - -.align 32,0x90 -.L_while_test_mmx: - /* while (in < last && out < end) - */ - cmpl out_r, end(%esp) - jbe .L_break_loop /* if (out >= end) */ - - cmpl in_r, last(%esp) - jbe .L_break_loop - -.L_do_loop_mmx: - psrlq used_mm, hold_mm /* hold_mm >>= last bit length */ - - cmpl $32, bitslong_r - ja .L_get_length_code_mmx /* if (32 < bits) */ - - movd bitslong_r, tmp_mm - movd (in_r), %mm7 - addl $4, in_r - psllq tmp_mm, %mm7 - addl $32, bitslong_r - por %mm7, hold_mm /* hold_mm |= *((uint *)in)++ << bits */ - -.L_get_length_code_mmx: - pand hold_mm, lmask_mm - movd lmask_mm, %eax - movq lmask2_mm, lmask_mm - movl (%ebx,%eax,4), %eax /* eax = lcode[hold & lmask] */ - -.L_dolen_mmx: - movzbl %ah, %ecx /* ecx = this.bits */ - movd %ecx, used_mm - subl %ecx, bitslong_r /* bits -= this.bits */ - - testb %al, %al - jnz .L_test_for_length_base_mmx /* if (op != 0) 45.7% */ - - shrl $16, %eax /* output this.val char */ - stosb - jmp .L_while_test_mmx - -.L_test_for_length_base_mmx: -#define len_r %edx - movl %eax, len_r /* len = this */ - shrl $16, len_r /* len = this.val */ - - testb $16, %al - jz .L_test_for_second_level_length_mmx /* if ((op & 16) == 0) 8% */ - andl $15, %eax /* op &= 15 */ - jz .L_decode_distance_mmx /* if (!op) */ - - psrlq used_mm, hold_mm /* hold_mm >>= last bit length */ - movd %eax, used_mm - movd hold_mm, %ecx - subl %eax, bitslong_r - andl .L_mask(,%eax,4), %ecx - addl %ecx, len_r /* len += hold & mask[op] */ - -.L_decode_distance_mmx: - psrlq used_mm, hold_mm /* hold_mm >>= last bit length */ - - cmpl $32, bitslong_r - ja .L_get_dist_code_mmx /* if (32 < bits) */ - - movd bitslong_r, tmp_mm - movd (in_r), %mm7 - addl $4, in_r - psllq tmp_mm, %mm7 - addl $32, bitslong_r - por %mm7, hold_mm /* hold_mm |= *((uint *)in)++ << bits */ - -.L_get_dist_code_mmx: - movl dcode(%esp), %ebx /* ebx = dcode */ - pand hold_mm, dmask_mm - movd dmask_mm, %eax - movq dmask2_mm, dmask_mm - movl (%ebx,%eax,4), %eax /* eax = dcode[hold & lmask] */ - -.L_dodist_mmx: -#define dist_r %ebx - movzbl %ah, %ecx /* ecx = this.bits */ - movl %eax, dist_r - shrl $16, dist_r /* dist = this.val */ - subl %ecx, bitslong_r /* bits -= this.bits */ - movd %ecx, used_mm - - testb $16, %al /* if ((op & 16) == 0) */ - jz .L_test_for_second_level_dist_mmx - andl $15, %eax /* op &= 15 */ - jz .L_check_dist_one_mmx - -.L_add_bits_to_dist_mmx: - psrlq used_mm, hold_mm /* hold_mm >>= last bit length */ - movd %eax, used_mm /* save bit length of current op */ - movd hold_mm, %ecx /* get the next bits on input stream */ - subl %eax, bitslong_r /* bits -= op bits */ - andl .L_mask(,%eax,4), %ecx /* ecx = hold & mask[op] */ - addl %ecx, dist_r /* dist += hold & mask[op] */ - -.L_check_window_mmx: - movl in_r, in(%esp) /* save in so from can use it's reg */ - movl out_r, %eax - subl beg(%esp), %eax /* nbytes = out - beg */ - - cmpl dist_r, %eax - jb .L_clip_window_mmx /* if (dist > nbytes) 4.2% */ - - movl len_r, %ecx - movl out_r, from_r - subl dist_r, from_r /* from = out - dist */ - - subl $3, %ecx - movb (from_r), %al - movb %al, (out_r) - movb 1(from_r), %al - movb 2(from_r), %dl - addl $3, from_r - movb %al, 1(out_r) - movb %dl, 2(out_r) - addl $3, out_r - rep movsb - - movl in(%esp), in_r /* move in back to %esi, toss from */ - movl lcode(%esp), %ebx /* move lcode back to %ebx, toss dist */ - jmp .L_while_test_mmx - -.align 16,0x90 -.L_check_dist_one_mmx: - cmpl $1, dist_r - jne .L_check_window_mmx - cmpl out_r, beg(%esp) - je .L_check_window_mmx - - decl out_r - movl len_r, %ecx - movb (out_r), %al - subl $3, %ecx - - movb %al, 1(out_r) - movb %al, 2(out_r) - movb %al, 3(out_r) - addl $4, out_r - rep stosb - - movl lcode(%esp), %ebx /* move lcode back to %ebx, toss dist */ - jmp .L_while_test_mmx - -.align 16,0x90 -.L_test_for_second_level_length_mmx: - testb $64, %al - jnz .L_test_for_end_of_block /* if ((op & 64) != 0) */ - - andl $15, %eax - psrlq used_mm, hold_mm /* hold_mm >>= last bit length */ - movd hold_mm, %ecx - andl .L_mask(,%eax,4), %ecx - addl len_r, %ecx - movl (%ebx,%ecx,4), %eax /* eax = lcode[hold & lmask] */ - jmp .L_dolen_mmx - -.align 16,0x90 -.L_test_for_second_level_dist_mmx: - testb $64, %al - jnz .L_invalid_distance_code /* if ((op & 64) != 0) */ - - andl $15, %eax - psrlq used_mm, hold_mm /* hold_mm >>= last bit length */ - movd hold_mm, %ecx - andl .L_mask(,%eax,4), %ecx - movl dcode(%esp), %eax /* ecx = dcode */ - addl dist_r, %ecx - movl (%eax,%ecx,4), %eax /* eax = lcode[hold & lmask] */ - jmp .L_dodist_mmx - -.align 16,0x90 -.L_clip_window_mmx: -#define nbytes_r %ecx - movl %eax, nbytes_r - movl wsize(%esp), %eax /* prepare for dist compare */ - negl nbytes_r /* nbytes = -nbytes */ - movl window(%esp), from_r /* from = window */ - - cmpl dist_r, %eax - jb .L_invalid_distance_too_far /* if (dist > wsize) */ - - addl dist_r, nbytes_r /* nbytes = dist - nbytes */ - cmpl $0, write(%esp) - jne .L_wrap_around_window_mmx /* if (write != 0) */ - - subl nbytes_r, %eax - addl %eax, from_r /* from += wsize - nbytes */ - - cmpl nbytes_r, len_r - jbe .L_do_copy1_mmx /* if (nbytes >= len) */ - - subl nbytes_r, len_r /* len -= nbytes */ - rep movsb - movl out_r, from_r - subl dist_r, from_r /* from = out - dist */ - jmp .L_do_copy1_mmx - - cmpl nbytes_r, len_r - jbe .L_do_copy1_mmx /* if (nbytes >= len) */ - - subl nbytes_r, len_r /* len -= nbytes */ - rep movsb - movl out_r, from_r - subl dist_r, from_r /* from = out - dist */ - jmp .L_do_copy1_mmx - -.L_wrap_around_window_mmx: -#define write_r %eax - movl write(%esp), write_r - cmpl write_r, nbytes_r - jbe .L_contiguous_in_window_mmx /* if (write >= nbytes) */ - - addl wsize(%esp), from_r - addl write_r, from_r - subl nbytes_r, from_r /* from += wsize + write - nbytes */ - subl write_r, nbytes_r /* nbytes -= write */ -#undef write_r - - cmpl nbytes_r, len_r - jbe .L_do_copy1_mmx /* if (nbytes >= len) */ - - subl nbytes_r, len_r /* len -= nbytes */ - rep movsb - movl window(%esp), from_r /* from = window */ - movl write(%esp), nbytes_r /* nbytes = write */ - cmpl nbytes_r, len_r - jbe .L_do_copy1_mmx /* if (nbytes >= len) */ - - subl nbytes_r, len_r /* len -= nbytes */ - rep movsb - movl out_r, from_r - subl dist_r, from_r /* from = out - dist */ - jmp .L_do_copy1_mmx - -.L_contiguous_in_window_mmx: -#define write_r %eax - addl write_r, from_r - subl nbytes_r, from_r /* from += write - nbytes */ -#undef write_r - - cmpl nbytes_r, len_r - jbe .L_do_copy1_mmx /* if (nbytes >= len) */ - - subl nbytes_r, len_r /* len -= nbytes */ - rep movsb - movl out_r, from_r - subl dist_r, from_r /* from = out - dist */ - -.L_do_copy1_mmx: -#undef nbytes_r -#define in_r %esi - movl len_r, %ecx - rep movsb - - movl in(%esp), in_r /* move in back to %esi, toss from */ - movl lcode(%esp), %ebx /* move lcode back to %ebx, toss dist */ - jmp .L_while_test_mmx - -#undef hold_r -#undef bitslong_r - -#endif /* USE_MMX || RUN_TIME_MMX */ - - -/*** USE_MMX, NO_MMX, and RUNTIME_MMX from here on ***/ - -.L_invalid_distance_code: - /* else { - * strm->msg = "invalid distance code"; - * state->mode = BAD; - * } - */ - movl $.L_invalid_distance_code_msg, %ecx - movl $INFLATE_MODE_BAD, %edx - jmp .L_update_stream_state - -.L_test_for_end_of_block: - /* else if (op & 32) { - * state->mode = TYPE; - * break; - * } - */ - testb $32, %al - jz .L_invalid_literal_length_code /* if ((op & 32) == 0) */ - - movl $0, %ecx - movl $INFLATE_MODE_TYPE, %edx - jmp .L_update_stream_state - -.L_invalid_literal_length_code: - /* else { - * strm->msg = "invalid literal/length code"; - * state->mode = BAD; - * } - */ - movl $.L_invalid_literal_length_code_msg, %ecx - movl $INFLATE_MODE_BAD, %edx - jmp .L_update_stream_state - -.L_invalid_distance_too_far: - /* strm->msg = "invalid distance too far back"; - * state->mode = BAD; - */ - movl in(%esp), in_r /* from_r has in's reg, put in back */ - movl $.L_invalid_distance_too_far_msg, %ecx - movl $INFLATE_MODE_BAD, %edx - jmp .L_update_stream_state - -.L_update_stream_state: - /* set strm->msg = %ecx, strm->state->mode = %edx */ - movl strm_sp(%esp), %eax - testl %ecx, %ecx /* if (msg != NULL) */ - jz .L_skip_msg - movl %ecx, msg_strm(%eax) /* strm->msg = msg */ -.L_skip_msg: - movl state_strm(%eax), %eax /* state = strm->state */ - movl %edx, mode_state(%eax) /* state->mode = edx (BAD | TYPE) */ - jmp .L_break_loop - -.align 32,0x90 -.L_break_loop: - -/* - * Regs: - * - * bits = %ebp when mmx, and in %ebx when non-mmx - * hold = %hold_mm when mmx, and in %ebp when non-mmx - * in = %esi - * out = %edi - */ - -#if defined( USE_MMX ) || defined( RUN_TIME_MMX ) - -#if defined( RUN_TIME_MMX ) - - cmpl $DO_USE_MMX, inflate_fast_use_mmx - jne .L_update_next_in - -#endif /* RUN_TIME_MMX */ - - movl %ebp, %ebx - -.L_update_next_in: - -#endif - -#define strm_r %eax -#define state_r %edx - - /* len = bits >> 3; - * in -= len; - * bits -= len << 3; - * hold &= (1U << bits) - 1; - * state->hold = hold; - * state->bits = bits; - * strm->next_in = in; - * strm->next_out = out; - */ - movl strm_sp(%esp), strm_r - movl %ebx, %ecx - movl state_strm(strm_r), state_r - shrl $3, %ecx - subl %ecx, in_r - shll $3, %ecx - subl %ecx, %ebx - movl out_r, next_out_strm(strm_r) - movl %ebx, bits_state(state_r) - movl %ebx, %ecx - - leal buf(%esp), %ebx - cmpl %ebx, last(%esp) - jne .L_buf_not_used /* if buf != last */ - - subl %ebx, in_r /* in -= buf */ - movl next_in_strm(strm_r), %ebx - movl %ebx, last(%esp) /* last = strm->next_in */ - addl %ebx, in_r /* in += strm->next_in */ - movl avail_in_strm(strm_r), %ebx - subl $11, %ebx - addl %ebx, last(%esp) /* last = &strm->next_in[ avail_in - 11 ] */ - -.L_buf_not_used: - movl in_r, next_in_strm(strm_r) - - movl $1, %ebx - shll %cl, %ebx - decl %ebx - -#if defined( USE_MMX ) || defined( RUN_TIME_MMX ) - -#if defined( RUN_TIME_MMX ) - - cmpl $DO_USE_MMX, inflate_fast_use_mmx - jne .L_update_hold - -#endif /* RUN_TIME_MMX */ - - psrlq used_mm, hold_mm /* hold_mm >>= last bit length */ - movd hold_mm, %ebp - - emms - -.L_update_hold: - -#endif /* USE_MMX || RUN_TIME_MMX */ - - andl %ebx, %ebp - movl %ebp, hold_state(state_r) - -#define last_r %ebx - - /* strm->avail_in = in < last ? 11 + (last - in) : 11 - (in - last) */ - movl last(%esp), last_r - cmpl in_r, last_r - jbe .L_last_is_smaller /* if (in >= last) */ - - subl in_r, last_r /* last -= in */ - addl $11, last_r /* last += 11 */ - movl last_r, avail_in_strm(strm_r) - jmp .L_fixup_out -.L_last_is_smaller: - subl last_r, in_r /* in -= last */ - negl in_r /* in = -in */ - addl $11, in_r /* in += 11 */ - movl in_r, avail_in_strm(strm_r) - -#undef last_r -#define end_r %ebx - -.L_fixup_out: - /* strm->avail_out = out < end ? 257 + (end - out) : 257 - (out - end)*/ - movl end(%esp), end_r - cmpl out_r, end_r - jbe .L_end_is_smaller /* if (out >= end) */ - - subl out_r, end_r /* end -= out */ - addl $257, end_r /* end += 257 */ - movl end_r, avail_out_strm(strm_r) - jmp .L_done -.L_end_is_smaller: - subl end_r, out_r /* out -= end */ - negl out_r /* out = -out */ - addl $257, out_r /* out += 257 */ - movl out_r, avail_out_strm(strm_r) - -#undef end_r -#undef strm_r -#undef state_r - -.L_done: - addl $local_var_size, %esp - popf - popl %ebx - popl %ebp - popl %esi - popl %edi - ret - -#if defined( GAS_ELF ) -/* elf info */ -.type inflate_fast,@function -.size inflate_fast,.-inflate_fast -#endif diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream/test.cpp b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream/test.cpp deleted file mode 100644 index 7d265b3b..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream/test.cpp +++ /dev/null @@ -1,24 +0,0 @@ - -#include "zfstream.h" - -int main() { - - // Construct a stream object with this filebuffer. Anything sent - // to this stream will go to standard out. - gzofstream os( 1, ios::out ); - - // This text is getting compressed and sent to stdout. - // To prove this, run 'test | zcat'. - os << "Hello, Mommy" << endl; - - os << setcompressionlevel( Z_NO_COMPRESSION ); - os << "hello, hello, hi, ho!" << endl; - - setcompressionlevel( os, Z_DEFAULT_COMPRESSION ) - << "I'm compressing again" << endl; - - os.close(); - - return 0; - -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream/zfstream.cpp b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream/zfstream.cpp deleted file mode 100644 index d0cd85fa..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream/zfstream.cpp +++ /dev/null @@ -1,329 +0,0 @@ - -#include "zfstream.h" - -gzfilebuf::gzfilebuf() : - file(NULL), - mode(0), - own_file_descriptor(0) -{ } - -gzfilebuf::~gzfilebuf() { - - sync(); - if ( own_file_descriptor ) - close(); - -} - -gzfilebuf *gzfilebuf::open( const char *name, - int io_mode ) { - - if ( is_open() ) - return NULL; - - char char_mode[10]; - char *p = char_mode; - - if ( io_mode & ios::in ) { - mode = ios::in; - *p++ = 'r'; - } else if ( io_mode & ios::app ) { - mode = ios::app; - *p++ = 'a'; - } else { - mode = ios::out; - *p++ = 'w'; - } - - if ( io_mode & ios::binary ) { - mode |= ios::binary; - *p++ = 'b'; - } - - // Hard code the compression level - if ( io_mode & (ios::out|ios::app )) { - *p++ = '9'; - } - - // Put the end-of-string indicator - *p = '\0'; - - if ( (file = gzopen(name, char_mode)) == NULL ) - return NULL; - - own_file_descriptor = 1; - - return this; - -} - -gzfilebuf *gzfilebuf::attach( int file_descriptor, - int io_mode ) { - - if ( is_open() ) - return NULL; - - char char_mode[10]; - char *p = char_mode; - - if ( io_mode & ios::in ) { - mode = ios::in; - *p++ = 'r'; - } else if ( io_mode & ios::app ) { - mode = ios::app; - *p++ = 'a'; - } else { - mode = ios::out; - *p++ = 'w'; - } - - if ( io_mode & ios::binary ) { - mode |= ios::binary; - *p++ = 'b'; - } - - // Hard code the compression level - if ( io_mode & (ios::out|ios::app )) { - *p++ = '9'; - } - - // Put the end-of-string indicator - *p = '\0'; - - if ( (file = gzdopen(file_descriptor, char_mode)) == NULL ) - return NULL; - - own_file_descriptor = 0; - - return this; - -} - -gzfilebuf *gzfilebuf::close() { - - if ( is_open() ) { - - sync(); - gzclose( file ); - file = NULL; - - } - - return this; - -} - -int gzfilebuf::setcompressionlevel( int comp_level ) { - - return gzsetparams(file, comp_level, -2); - -} - -int gzfilebuf::setcompressionstrategy( int comp_strategy ) { - - return gzsetparams(file, -2, comp_strategy); - -} - - -streampos gzfilebuf::seekoff( streamoff off, ios::seek_dir dir, int which ) { - - return streampos(EOF); - -} - -int gzfilebuf::underflow() { - - // If the file hasn't been opened for reading, error. - if ( !is_open() || !(mode & ios::in) ) - return EOF; - - // if a buffer doesn't exists, allocate one. - if ( !base() ) { - - if ( (allocate()) == EOF ) - return EOF; - setp(0,0); - - } else { - - if ( in_avail() ) - return (unsigned char) *gptr(); - - if ( out_waiting() ) { - if ( flushbuf() == EOF ) - return EOF; - } - - } - - // Attempt to fill the buffer. - - int result = fillbuf(); - if ( result == EOF ) { - // disable get area - setg(0,0,0); - return EOF; - } - - return (unsigned char) *gptr(); - -} - -int gzfilebuf::overflow( int c ) { - - if ( !is_open() || !(mode & ios::out) ) - return EOF; - - if ( !base() ) { - if ( allocate() == EOF ) - return EOF; - setg(0,0,0); - } else { - if (in_avail()) { - return EOF; - } - if (out_waiting()) { - if (flushbuf() == EOF) - return EOF; - } - } - - int bl = blen(); - setp( base(), base() + bl); - - if ( c != EOF ) { - - *pptr() = c; - pbump(1); - - } - - return 0; - -} - -int gzfilebuf::sync() { - - if ( !is_open() ) - return EOF; - - if ( out_waiting() ) - return flushbuf(); - - return 0; - -} - -int gzfilebuf::flushbuf() { - - int n; - char *q; - - q = pbase(); - n = pptr() - q; - - if ( gzwrite( file, q, n) < n ) - return EOF; - - setp(0,0); - - return 0; - -} - -int gzfilebuf::fillbuf() { - - int required; - char *p; - - p = base(); - - required = blen(); - - int t = gzread( file, p, required ); - - if ( t <= 0) return EOF; - - setg( base(), base(), base()+t); - - return t; - -} - -gzfilestream_common::gzfilestream_common() : - ios( gzfilestream_common::rdbuf() ) -{ } - -gzfilestream_common::~gzfilestream_common() -{ } - -void gzfilestream_common::attach( int fd, int io_mode ) { - - if ( !buffer.attach( fd, io_mode) ) - clear( ios::failbit | ios::badbit ); - else - clear(); - -} - -void gzfilestream_common::open( const char *name, int io_mode ) { - - if ( !buffer.open( name, io_mode ) ) - clear( ios::failbit | ios::badbit ); - else - clear(); - -} - -void gzfilestream_common::close() { - - if ( !buffer.close() ) - clear( ios::failbit | ios::badbit ); - -} - -gzfilebuf *gzfilestream_common::rdbuf() -{ - return &buffer; -} - -gzifstream::gzifstream() : - ios( gzfilestream_common::rdbuf() ) -{ - clear( ios::badbit ); -} - -gzifstream::gzifstream( const char *name, int io_mode ) : - ios( gzfilestream_common::rdbuf() ) -{ - gzfilestream_common::open( name, io_mode ); -} - -gzifstream::gzifstream( int fd, int io_mode ) : - ios( gzfilestream_common::rdbuf() ) -{ - gzfilestream_common::attach( fd, io_mode ); -} - -gzifstream::~gzifstream() { } - -gzofstream::gzofstream() : - ios( gzfilestream_common::rdbuf() ) -{ - clear( ios::badbit ); -} - -gzofstream::gzofstream( const char *name, int io_mode ) : - ios( gzfilestream_common::rdbuf() ) -{ - gzfilestream_common::open( name, io_mode ); -} - -gzofstream::gzofstream( int fd, int io_mode ) : - ios( gzfilestream_common::rdbuf() ) -{ - gzfilestream_common::attach( fd, io_mode ); -} - -gzofstream::~gzofstream() { } diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream/zfstream.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream/zfstream.h deleted file mode 100644 index ed79098a..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream/zfstream.h +++ /dev/null @@ -1,128 +0,0 @@ - -#ifndef zfstream_h -#define zfstream_h - -#include -#include "zlib.h" - -class gzfilebuf : public streambuf { - -public: - - gzfilebuf( ); - virtual ~gzfilebuf(); - - gzfilebuf *open( const char *name, int io_mode ); - gzfilebuf *attach( int file_descriptor, int io_mode ); - gzfilebuf *close(); - - int setcompressionlevel( int comp_level ); - int setcompressionstrategy( int comp_strategy ); - - inline int is_open() const { return (file !=NULL); } - - virtual streampos seekoff( streamoff, ios::seek_dir, int ); - - virtual int sync(); - -protected: - - virtual int underflow(); - virtual int overflow( int = EOF ); - -private: - - gzFile file; - short mode; - short own_file_descriptor; - - int flushbuf(); - int fillbuf(); - -}; - -class gzfilestream_common : virtual public ios { - - friend class gzifstream; - friend class gzofstream; - friend gzofstream &setcompressionlevel( gzofstream &, int ); - friend gzofstream &setcompressionstrategy( gzofstream &, int ); - -public: - virtual ~gzfilestream_common(); - - void attach( int fd, int io_mode ); - void open( const char *name, int io_mode ); - void close(); - -protected: - gzfilestream_common(); - -private: - gzfilebuf *rdbuf(); - - gzfilebuf buffer; - -}; - -class gzifstream : public gzfilestream_common, public istream { - -public: - - gzifstream(); - gzifstream( const char *name, int io_mode = ios::in ); - gzifstream( int fd, int io_mode = ios::in ); - - virtual ~gzifstream(); - -}; - -class gzofstream : public gzfilestream_common, public ostream { - -public: - - gzofstream(); - gzofstream( const char *name, int io_mode = ios::out ); - gzofstream( int fd, int io_mode = ios::out ); - - virtual ~gzofstream(); - -}; - -template class gzomanip { - friend gzofstream &operator<<(gzofstream &, const gzomanip &); -public: - gzomanip(gzofstream &(*f)(gzofstream &, T), T v) : func(f), val(v) { } -private: - gzofstream &(*func)(gzofstream &, T); - T val; -}; - -template gzofstream &operator<<(gzofstream &s, const gzomanip &m) -{ - return (*m.func)(s, m.val); -} - -inline gzofstream &setcompressionlevel( gzofstream &s, int l ) -{ - (s.rdbuf())->setcompressionlevel(l); - return s; -} - -inline gzofstream &setcompressionstrategy( gzofstream &s, int l ) -{ - (s.rdbuf())->setcompressionstrategy(l); - return s; -} - -inline gzomanip setcompressionlevel(int l) -{ - return gzomanip(&setcompressionlevel,l); -} - -inline gzomanip setcompressionstrategy(int l) -{ - return gzomanip(&setcompressionstrategy,l); -} - -#endif diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream2/zstream.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream2/zstream.h deleted file mode 100644 index 43d2332b..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream2/zstream.h +++ /dev/null @@ -1,307 +0,0 @@ -/* - * - * Copyright (c) 1997 - * Christian Michelsen Research AS - * Advanced Computing - * Fantoftvegen 38, 5036 BERGEN, Norway - * http://www.cmr.no - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Christian Michelsen Research AS makes no - * representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied warranty. - * - */ - -#ifndef ZSTREAM__H -#define ZSTREAM__H - -/* - * zstream.h - C++ interface to the 'zlib' general purpose compression library - * $Id: zstream.h 1.1 1997-06-25 12:00:56+02 tyge Exp tyge $ - */ - -#include -#include -#include -#include "zlib.h" - -#if defined(_WIN32) -# include -# include -# define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY) -#else -# define SET_BINARY_MODE(file) -#endif - -class zstringlen { -public: - zstringlen(class izstream&); - zstringlen(class ozstream&, const char*); - size_t value() const { return val.word; } -private: - struct Val { unsigned char byte; size_t word; } val; -}; - -// ----------------------------- izstream ----------------------------- - -class izstream -{ - public: - izstream() : m_fp(0) {} - izstream(FILE* fp) : m_fp(0) { open(fp); } - izstream(const char* name) : m_fp(0) { open(name); } - ~izstream() { close(); } - - /* Opens a gzip (.gz) file for reading. - * open() can be used to read a file which is not in gzip format; - * in this case read() will directly read from the file without - * decompression. errno can be checked to distinguish two error - * cases (if errno is zero, the zlib error is Z_MEM_ERROR). - */ - void open(const char* name) { - if (m_fp) close(); - m_fp = ::gzopen(name, "rb"); - } - - void open(FILE* fp) { - SET_BINARY_MODE(fp); - if (m_fp) close(); - m_fp = ::gzdopen(fileno(fp), "rb"); - } - - /* Flushes all pending input if necessary, closes the compressed file - * and deallocates all the (de)compression state. The return value is - * the zlib error number (see function error() below). - */ - int close() { - int r = ::gzclose(m_fp); - m_fp = 0; return r; - } - - /* Binary read the given number of bytes from the compressed file. - */ - int read(void* buf, size_t len) { - return ::gzread(m_fp, buf, len); - } - - /* Returns the error message for the last error which occurred on the - * given compressed file. errnum is set to zlib error number. If an - * error occurred in the file system and not in the compression library, - * errnum is set to Z_ERRNO and the application may consult errno - * to get the exact error code. - */ - const char* error(int* errnum) { - return ::gzerror(m_fp, errnum); - } - - gzFile fp() { return m_fp; } - - private: - gzFile m_fp; -}; - -/* - * Binary read the given (array of) object(s) from the compressed file. - * If the input file was not in gzip format, read() copies the objects number - * of bytes into the buffer. - * returns the number of uncompressed bytes actually read - * (0 for end of file, -1 for error). - */ -template -inline int read(izstream& zs, T* x, Items items) { - return ::gzread(zs.fp(), x, items*sizeof(T)); -} - -/* - * Binary input with the '>' operator. - */ -template -inline izstream& operator>(izstream& zs, T& x) { - ::gzread(zs.fp(), &x, sizeof(T)); - return zs; -} - - -inline zstringlen::zstringlen(izstream& zs) { - zs > val.byte; - if (val.byte == 255) zs > val.word; - else val.word = val.byte; -} - -/* - * Read length of string + the string with the '>' operator. - */ -inline izstream& operator>(izstream& zs, char* x) { - zstringlen len(zs); - ::gzread(zs.fp(), x, len.value()); - x[len.value()] = '\0'; - return zs; -} - -inline char* read_string(izstream& zs) { - zstringlen len(zs); - char* x = new char[len.value()+1]; - ::gzread(zs.fp(), x, len.value()); - x[len.value()] = '\0'; - return x; -} - -// ----------------------------- ozstream ----------------------------- - -class ozstream -{ - public: - ozstream() : m_fp(0), m_os(0) { - } - ozstream(FILE* fp, int level = Z_DEFAULT_COMPRESSION) - : m_fp(0), m_os(0) { - open(fp, level); - } - ozstream(const char* name, int level = Z_DEFAULT_COMPRESSION) - : m_fp(0), m_os(0) { - open(name, level); - } - ~ozstream() { - close(); - } - - /* Opens a gzip (.gz) file for writing. - * The compression level parameter should be in 0..9 - * errno can be checked to distinguish two error cases - * (if errno is zero, the zlib error is Z_MEM_ERROR). - */ - void open(const char* name, int level = Z_DEFAULT_COMPRESSION) { - char mode[4] = "wb\0"; - if (level != Z_DEFAULT_COMPRESSION) mode[2] = '0'+level; - if (m_fp) close(); - m_fp = ::gzopen(name, mode); - } - - /* open from a FILE pointer. - */ - void open(FILE* fp, int level = Z_DEFAULT_COMPRESSION) { - SET_BINARY_MODE(fp); - char mode[4] = "wb\0"; - if (level != Z_DEFAULT_COMPRESSION) mode[2] = '0'+level; - if (m_fp) close(); - m_fp = ::gzdopen(fileno(fp), mode); - } - - /* Flushes all pending output if necessary, closes the compressed file - * and deallocates all the (de)compression state. The return value is - * the zlib error number (see function error() below). - */ - int close() { - if (m_os) { - ::gzwrite(m_fp, m_os->str(), m_os->pcount()); - delete[] m_os->str(); delete m_os; m_os = 0; - } - int r = ::gzclose(m_fp); m_fp = 0; return r; - } - - /* Binary write the given number of bytes into the compressed file. - */ - int write(const void* buf, size_t len) { - return ::gzwrite(m_fp, (voidp) buf, len); - } - - /* Flushes all pending output into the compressed file. The parameter - * _flush is as in the deflate() function. The return value is the zlib - * error number (see function gzerror below). flush() returns Z_OK if - * the flush_ parameter is Z_FINISH and all output could be flushed. - * flush() should be called only when strictly necessary because it can - * degrade compression. - */ - int flush(int _flush) { - os_flush(); - return ::gzflush(m_fp, _flush); - } - - /* Returns the error message for the last error which occurred on the - * given compressed file. errnum is set to zlib error number. If an - * error occurred in the file system and not in the compression library, - * errnum is set to Z_ERRNO and the application may consult errno - * to get the exact error code. - */ - const char* error(int* errnum) { - return ::gzerror(m_fp, errnum); - } - - gzFile fp() { return m_fp; } - - ostream& os() { - if (m_os == 0) m_os = new ostrstream; - return *m_os; - } - - void os_flush() { - if (m_os && m_os->pcount()>0) { - ostrstream* oss = new ostrstream; - oss->fill(m_os->fill()); - oss->flags(m_os->flags()); - oss->precision(m_os->precision()); - oss->width(m_os->width()); - ::gzwrite(m_fp, m_os->str(), m_os->pcount()); - delete[] m_os->str(); delete m_os; m_os = oss; - } - } - - private: - gzFile m_fp; - ostrstream* m_os; -}; - -/* - * Binary write the given (array of) object(s) into the compressed file. - * returns the number of uncompressed bytes actually written - * (0 in case of error). - */ -template -inline int write(ozstream& zs, const T* x, Items items) { - return ::gzwrite(zs.fp(), (voidp) x, items*sizeof(T)); -} - -/* - * Binary output with the '<' operator. - */ -template -inline ozstream& operator<(ozstream& zs, const T& x) { - ::gzwrite(zs.fp(), (voidp) &x, sizeof(T)); - return zs; -} - -inline zstringlen::zstringlen(ozstream& zs, const char* x) { - val.byte = 255; val.word = ::strlen(x); - if (val.word < 255) zs < (val.byte = val.word); - else zs < val; -} - -/* - * Write length of string + the string with the '<' operator. - */ -inline ozstream& operator<(ozstream& zs, const char* x) { - zstringlen len(zs, x); - ::gzwrite(zs.fp(), (voidp) x, len.value()); - return zs; -} - -#ifdef _MSC_VER -inline ozstream& operator<(ozstream& zs, char* const& x) { - return zs < (const char*) x; -} -#endif - -/* - * Ascii write with the << operator; - */ -template -inline ostream& operator<<(ozstream& zs, const T& x) { - zs.os_flush(); - return zs.os() << x; -} - -#endif diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream2/zstream_test.cpp b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream2/zstream_test.cpp deleted file mode 100644 index 6273f62d..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream2/zstream_test.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include "zstream.h" -#include -#include -#include - -void main() { - char h[256] = "Hello"; - char* g = "Goodbye"; - ozstream out("temp.gz"); - out < "This works well" < h < g; - out.close(); - - izstream in("temp.gz"); // read it back - char *x = read_string(in), *y = new char[256], z[256]; - in > y > z; - in.close(); - cout << x << endl << y << endl << z << endl; - - out.open("temp.gz"); // try ascii output; zcat temp.gz to see the results - out << setw(50) << setfill('#') << setprecision(20) << x << endl << y << endl << z << endl; - out << z << endl << y << endl << x << endl; - out << 1.1234567890123456789 << endl; - - delete[] x; delete[] y; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream3/README b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream3/README deleted file mode 100644 index f7b319ab..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream3/README +++ /dev/null @@ -1,35 +0,0 @@ -These classes provide a C++ stream interface to the zlib library. It allows you -to do things like: - - gzofstream outf("blah.gz"); - outf << "These go into the gzip file " << 123 << endl; - -It does this by deriving a specialized stream buffer for gzipped files, which is -the way Stroustrup would have done it. :-> - -The gzifstream and gzofstream classes were originally written by Kevin Ruland -and made available in the zlib contrib/iostream directory. The older version still -compiles under gcc 2.xx, but not under gcc 3.xx, which sparked the development of -this version. - -The new classes are as standard-compliant as possible, closely following the -approach of the standard library's fstream classes. It compiles under gcc versions -3.2 and 3.3, but not under gcc 2.xx. This is mainly due to changes in the standard -library naming scheme. The new version of gzifstream/gzofstream/gzfilebuf differs -from the previous one in the following respects: -- added showmanyc -- added setbuf, with support for unbuffered output via setbuf(0,0) -- a few bug fixes of stream behavior -- gzipped output file opened with default compression level instead of maximum level -- setcompressionlevel()/strategy() members replaced by single setcompression() - -The code is provided "as is", with the permission to use, copy, modify, distribute -and sell it for any purpose without fee. - -Ludwig Schwardt - - -DSP Lab -Electrical & Electronic Engineering Department -University of Stellenbosch -South Africa diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream3/TODO b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream3/TODO deleted file mode 100644 index 7032f97b..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream3/TODO +++ /dev/null @@ -1,17 +0,0 @@ -Possible upgrades to gzfilebuf: - -- The ability to do putback (e.g. putbackfail) - -- The ability to seek (zlib supports this, but could be slow/tricky) - -- Simultaneous read/write access (does it make sense?) - -- Support for ios_base::ate open mode - -- Locale support? - -- Check public interface to see which calls give problems - (due to dependence on library internals) - -- Override operator<<(ostream&, gzfilebuf*) to allow direct copying - of stream buffer to stream ( i.e. os << is.rdbuf(); ) diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream3/test.cc b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream3/test.cc deleted file mode 100644 index 94235334..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream3/test.cc +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Test program for gzifstream and gzofstream - * - * by Ludwig Schwardt - * original version by Kevin Ruland - */ - -#include "zfstream.h" -#include // for cout - -int main() { - - gzofstream outf; - gzifstream inf; - char buf[80]; - - outf.open("test1.txt.gz"); - outf << "The quick brown fox sidestepped the lazy canine\n" - << 1.3 << "\nPlan " << 9 << std::endl; - outf.close(); - std::cout << "Wrote the following message to 'test1.txt.gz' (check with zcat or zless):\n" - << "The quick brown fox sidestepped the lazy canine\n" - << 1.3 << "\nPlan " << 9 << std::endl; - - std::cout << "\nReading 'test1.txt.gz' (buffered) produces:\n"; - inf.open("test1.txt.gz"); - while (inf.getline(buf,80,'\n')) { - std::cout << buf << "\t(" << inf.rdbuf()->in_avail() << " chars left in buffer)\n"; - } - inf.close(); - - outf.rdbuf()->pubsetbuf(0,0); - outf.open("test2.txt.gz"); - outf << setcompression(Z_NO_COMPRESSION) - << "The quick brown fox sidestepped the lazy canine\n" - << 1.3 << "\nPlan " << 9 << std::endl; - outf.close(); - std::cout << "\nWrote the same message to 'test2.txt.gz' in uncompressed form"; - - std::cout << "\nReading 'test2.txt.gz' (unbuffered) produces:\n"; - inf.rdbuf()->pubsetbuf(0,0); - inf.open("test2.txt.gz"); - while (inf.getline(buf,80,'\n')) { - std::cout << buf << "\t(" << inf.rdbuf()->in_avail() << " chars left in buffer)\n"; - } - inf.close(); - - return 0; - -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream3/zfstream.cc b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream3/zfstream.cc deleted file mode 100644 index 94eb9334..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream3/zfstream.cc +++ /dev/null @@ -1,479 +0,0 @@ -/* - * A C++ I/O streams interface to the zlib gz* functions - * - * by Ludwig Schwardt - * original version by Kevin Ruland - * - * This version is standard-compliant and compatible with gcc 3.x. - */ - -#include "zfstream.h" -#include // for strcpy, strcat, strlen (mode strings) -#include // for BUFSIZ - -// Internal buffer sizes (default and "unbuffered" versions) -#define BIGBUFSIZE BUFSIZ -#define SMALLBUFSIZE 1 - -/*****************************************************************************/ - -// Default constructor -gzfilebuf::gzfilebuf() -: file(NULL), io_mode(std::ios_base::openmode(0)), own_fd(false), - buffer(NULL), buffer_size(BIGBUFSIZE), own_buffer(true) -{ - // No buffers to start with - this->disable_buffer(); -} - -// Destructor -gzfilebuf::~gzfilebuf() -{ - // Sync output buffer and close only if responsible for file - // (i.e. attached streams should be left open at this stage) - this->sync(); - if (own_fd) - this->close(); - // Make sure internal buffer is deallocated - this->disable_buffer(); -} - -// Set compression level and strategy -int -gzfilebuf::setcompression(int comp_level, - int comp_strategy) -{ - return gzsetparams(file, comp_level, comp_strategy); -} - -// Open gzipped file -gzfilebuf* -gzfilebuf::open(const char *name, - std::ios_base::openmode mode) -{ - // Fail if file already open - if (this->is_open()) - return NULL; - // Don't support simultaneous read/write access (yet) - if ((mode & std::ios_base::in) && (mode & std::ios_base::out)) - return NULL; - - // Build mode string for gzopen and check it [27.8.1.3.2] - char char_mode[6] = "\0\0\0\0\0"; - if (!this->open_mode(mode, char_mode)) - return NULL; - - // Attempt to open file - if ((file = gzopen(name, char_mode)) == NULL) - return NULL; - - // On success, allocate internal buffer and set flags - this->enable_buffer(); - io_mode = mode; - own_fd = true; - return this; -} - -// Attach to gzipped file -gzfilebuf* -gzfilebuf::attach(int fd, - std::ios_base::openmode mode) -{ - // Fail if file already open - if (this->is_open()) - return NULL; - // Don't support simultaneous read/write access (yet) - if ((mode & std::ios_base::in) && (mode & std::ios_base::out)) - return NULL; - - // Build mode string for gzdopen and check it [27.8.1.3.2] - char char_mode[6] = "\0\0\0\0\0"; - if (!this->open_mode(mode, char_mode)) - return NULL; - - // Attempt to attach to file - if ((file = gzdopen(fd, char_mode)) == NULL) - return NULL; - - // On success, allocate internal buffer and set flags - this->enable_buffer(); - io_mode = mode; - own_fd = false; - return this; -} - -// Close gzipped file -gzfilebuf* -gzfilebuf::close() -{ - // Fail immediately if no file is open - if (!this->is_open()) - return NULL; - // Assume success - gzfilebuf* retval = this; - // Attempt to sync and close gzipped file - if (this->sync() == -1) - retval = NULL; - if (gzclose(file) < 0) - retval = NULL; - // File is now gone anyway (postcondition [27.8.1.3.8]) - file = NULL; - own_fd = false; - // Destroy internal buffer if it exists - this->disable_buffer(); - return retval; -} - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -// Convert int open mode to mode string -bool -gzfilebuf::open_mode(std::ios_base::openmode mode, - char* c_mode) const -{ - bool testb = mode & std::ios_base::binary; - bool testi = mode & std::ios_base::in; - bool testo = mode & std::ios_base::out; - bool testt = mode & std::ios_base::trunc; - bool testa = mode & std::ios_base::app; - - // Check for valid flag combinations - see [27.8.1.3.2] (Table 92) - // Original zfstream hardcoded the compression level to maximum here... - // Double the time for less than 1% size improvement seems - // excessive though - keeping it at the default level - // To change back, just append "9" to the next three mode strings - if (!testi && testo && !testt && !testa) - strcpy(c_mode, "w"); - if (!testi && testo && !testt && testa) - strcpy(c_mode, "a"); - if (!testi && testo && testt && !testa) - strcpy(c_mode, "w"); - if (testi && !testo && !testt && !testa) - strcpy(c_mode, "r"); - // No read/write mode yet -// if (testi && testo && !testt && !testa) -// strcpy(c_mode, "r+"); -// if (testi && testo && testt && !testa) -// strcpy(c_mode, "w+"); - - // Mode string should be empty for invalid combination of flags - if (strlen(c_mode) == 0) - return false; - if (testb) - strcat(c_mode, "b"); - return true; -} - -// Determine number of characters in internal get buffer -std::streamsize -gzfilebuf::showmanyc() -{ - // Calls to underflow will fail if file not opened for reading - if (!this->is_open() || !(io_mode & std::ios_base::in)) - return -1; - // Make sure get area is in use - if (this->gptr() && (this->gptr() < this->egptr())) - return std::streamsize(this->egptr() - this->gptr()); - else - return 0; -} - -// Fill get area from gzipped file -gzfilebuf::int_type -gzfilebuf::underflow() -{ - // If something is left in the get area by chance, return it - // (this shouldn't normally happen, as underflow is only supposed - // to be called when gptr >= egptr, but it serves as error check) - if (this->gptr() && (this->gptr() < this->egptr())) - return traits_type::to_int_type(*(this->gptr())); - - // If the file hasn't been opened for reading, produce error - if (!this->is_open() || !(io_mode & std::ios_base::in)) - return traits_type::eof(); - - // Attempt to fill internal buffer from gzipped file - // (buffer must be guaranteed to exist...) - int bytes_read = gzread(file, buffer, buffer_size); - // Indicates error or EOF - if (bytes_read <= 0) - { - // Reset get area - this->setg(buffer, buffer, buffer); - return traits_type::eof(); - } - // Make all bytes read from file available as get area - this->setg(buffer, buffer, buffer + bytes_read); - - // Return next character in get area - return traits_type::to_int_type(*(this->gptr())); -} - -// Write put area to gzipped file -gzfilebuf::int_type -gzfilebuf::overflow(int_type c) -{ - // Determine whether put area is in use - if (this->pbase()) - { - // Double-check pointer range - if (this->pptr() > this->epptr() || this->pptr() < this->pbase()) - return traits_type::eof(); - // Add extra character to buffer if not EOF - if (!traits_type::eq_int_type(c, traits_type::eof())) - { - *(this->pptr()) = traits_type::to_char_type(c); - this->pbump(1); - } - // Number of characters to write to file - int bytes_to_write = this->pptr() - this->pbase(); - // Overflow doesn't fail if nothing is to be written - if (bytes_to_write > 0) - { - // If the file hasn't been opened for writing, produce error - if (!this->is_open() || !(io_mode & std::ios_base::out)) - return traits_type::eof(); - // If gzipped file won't accept all bytes written to it, fail - if (gzwrite(file, this->pbase(), bytes_to_write) != bytes_to_write) - return traits_type::eof(); - // Reset next pointer to point to pbase on success - this->pbump(-bytes_to_write); - } - } - // Write extra character to file if not EOF - else if (!traits_type::eq_int_type(c, traits_type::eof())) - { - // If the file hasn't been opened for writing, produce error - if (!this->is_open() || !(io_mode & std::ios_base::out)) - return traits_type::eof(); - // Impromptu char buffer (allows "unbuffered" output) - char_type last_char = traits_type::to_char_type(c); - // If gzipped file won't accept this character, fail - if (gzwrite(file, &last_char, 1) != 1) - return traits_type::eof(); - } - - // If you got here, you have succeeded (even if c was EOF) - // The return value should therefore be non-EOF - if (traits_type::eq_int_type(c, traits_type::eof())) - return traits_type::not_eof(c); - else - return c; -} - -// Assign new buffer -std::streambuf* -gzfilebuf::setbuf(char_type* p, - std::streamsize n) -{ - // First make sure stuff is sync'ed, for safety - if (this->sync() == -1) - return NULL; - // If buffering is turned off on purpose via setbuf(0,0), still allocate one... - // "Unbuffered" only really refers to put [27.8.1.4.10], while get needs at - // least a buffer of size 1 (very inefficient though, therefore make it bigger?) - // This follows from [27.5.2.4.3]/12 (gptr needs to point at something, it seems) - if (!p || !n) - { - // Replace existing buffer (if any) with small internal buffer - this->disable_buffer(); - buffer = NULL; - buffer_size = 0; - own_buffer = true; - this->enable_buffer(); - } - else - { - // Replace existing buffer (if any) with external buffer - this->disable_buffer(); - buffer = p; - buffer_size = n; - own_buffer = false; - this->enable_buffer(); - } - return this; -} - -// Write put area to gzipped file (i.e. ensures that put area is empty) -int -gzfilebuf::sync() -{ - return traits_type::eq_int_type(this->overflow(), traits_type::eof()) ? -1 : 0; -} - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -// Allocate internal buffer -void -gzfilebuf::enable_buffer() -{ - // If internal buffer required, allocate one - if (own_buffer && !buffer) - { - // Check for buffered vs. "unbuffered" - if (buffer_size > 0) - { - // Allocate internal buffer - buffer = new char_type[buffer_size]; - // Get area starts empty and will be expanded by underflow as need arises - this->setg(buffer, buffer, buffer); - // Setup entire internal buffer as put area. - // The one-past-end pointer actually points to the last element of the buffer, - // so that overflow(c) can safely add the extra character c to the sequence. - // These pointers remain in place for the duration of the buffer - this->setp(buffer, buffer + buffer_size - 1); - } - else - { - // Even in "unbuffered" case, (small?) get buffer is still required - buffer_size = SMALLBUFSIZE; - buffer = new char_type[buffer_size]; - this->setg(buffer, buffer, buffer); - // "Unbuffered" means no put buffer - this->setp(0, 0); - } - } - else - { - // If buffer already allocated, reset buffer pointers just to make sure no - // stale chars are lying around - this->setg(buffer, buffer, buffer); - this->setp(buffer, buffer + buffer_size - 1); - } -} - -// Destroy internal buffer -void -gzfilebuf::disable_buffer() -{ - // If internal buffer exists, deallocate it - if (own_buffer && buffer) - { - // Preserve unbuffered status by zeroing size - if (!this->pbase()) - buffer_size = 0; - delete[] buffer; - buffer = NULL; - this->setg(0, 0, 0); - this->setp(0, 0); - } - else - { - // Reset buffer pointers to initial state if external buffer exists - this->setg(buffer, buffer, buffer); - if (buffer) - this->setp(buffer, buffer + buffer_size - 1); - else - this->setp(0, 0); - } -} - -/*****************************************************************************/ - -// Default constructor initializes stream buffer -gzifstream::gzifstream() -: std::istream(NULL), sb() -{ this->init(&sb); } - -// Initialize stream buffer and open file -gzifstream::gzifstream(const char* name, - std::ios_base::openmode mode) -: std::istream(NULL), sb() -{ - this->init(&sb); - this->open(name, mode); -} - -// Initialize stream buffer and attach to file -gzifstream::gzifstream(int fd, - std::ios_base::openmode mode) -: std::istream(NULL), sb() -{ - this->init(&sb); - this->attach(fd, mode); -} - -// Open file and go into fail() state if unsuccessful -void -gzifstream::open(const char* name, - std::ios_base::openmode mode) -{ - if (!sb.open(name, mode | std::ios_base::in)) - this->setstate(std::ios_base::failbit); - else - this->clear(); -} - -// Attach to file and go into fail() state if unsuccessful -void -gzifstream::attach(int fd, - std::ios_base::openmode mode) -{ - if (!sb.attach(fd, mode | std::ios_base::in)) - this->setstate(std::ios_base::failbit); - else - this->clear(); -} - -// Close file -void -gzifstream::close() -{ - if (!sb.close()) - this->setstate(std::ios_base::failbit); -} - -/*****************************************************************************/ - -// Default constructor initializes stream buffer -gzofstream::gzofstream() -: std::ostream(NULL), sb() -{ this->init(&sb); } - -// Initialize stream buffer and open file -gzofstream::gzofstream(const char* name, - std::ios_base::openmode mode) -: std::ostream(NULL), sb() -{ - this->init(&sb); - this->open(name, mode); -} - -// Initialize stream buffer and attach to file -gzofstream::gzofstream(int fd, - std::ios_base::openmode mode) -: std::ostream(NULL), sb() -{ - this->init(&sb); - this->attach(fd, mode); -} - -// Open file and go into fail() state if unsuccessful -void -gzofstream::open(const char* name, - std::ios_base::openmode mode) -{ - if (!sb.open(name, mode | std::ios_base::out)) - this->setstate(std::ios_base::failbit); - else - this->clear(); -} - -// Attach to file and go into fail() state if unsuccessful -void -gzofstream::attach(int fd, - std::ios_base::openmode mode) -{ - if (!sb.attach(fd, mode | std::ios_base::out)) - this->setstate(std::ios_base::failbit); - else - this->clear(); -} - -// Close file -void -gzofstream::close() -{ - if (!sb.close()) - this->setstate(std::ios_base::failbit); -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream3/zfstream.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream3/zfstream.h deleted file mode 100644 index 8574479a..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/iostream3/zfstream.h +++ /dev/null @@ -1,466 +0,0 @@ -/* - * A C++ I/O streams interface to the zlib gz* functions - * - * by Ludwig Schwardt - * original version by Kevin Ruland - * - * This version is standard-compliant and compatible with gcc 3.x. - */ - -#ifndef ZFSTREAM_H -#define ZFSTREAM_H - -#include // not iostream, since we don't need cin/cout -#include -#include "zlib.h" - -/*****************************************************************************/ - -/** - * @brief Gzipped file stream buffer class. - * - * This class implements basic_filebuf for gzipped files. It doesn't yet support - * seeking (allowed by zlib but slow/limited), putback and read/write access - * (tricky). Otherwise, it attempts to be a drop-in replacement for the standard - * file streambuf. -*/ -class gzfilebuf : public std::streambuf -{ -public: - // Default constructor. - gzfilebuf(); - - // Destructor. - virtual - ~gzfilebuf(); - - /** - * @brief Set compression level and strategy on the fly. - * @param comp_level Compression level (see zlib.h for allowed values) - * @param comp_strategy Compression strategy (see zlib.h for allowed values) - * @return Z_OK on success, Z_STREAM_ERROR otherwise. - * - * Unfortunately, these parameters cannot be modified separately, as the - * previous zfstream version assumed. Since the strategy is seldom changed, - * it can default and setcompression(level) then becomes like the old - * setcompressionlevel(level). - */ - int - setcompression(int comp_level, - int comp_strategy = Z_DEFAULT_STRATEGY); - - /** - * @brief Check if file is open. - * @return True if file is open. - */ - bool - is_open() const { return (file != NULL); } - - /** - * @brief Open gzipped file. - * @param name File name. - * @param mode Open mode flags. - * @return @c this on success, NULL on failure. - */ - gzfilebuf* - open(const char* name, - std::ios_base::openmode mode); - - /** - * @brief Attach to already open gzipped file. - * @param fd File descriptor. - * @param mode Open mode flags. - * @return @c this on success, NULL on failure. - */ - gzfilebuf* - attach(int fd, - std::ios_base::openmode mode); - - /** - * @brief Close gzipped file. - * @return @c this on success, NULL on failure. - */ - gzfilebuf* - close(); - -protected: - /** - * @brief Convert ios open mode int to mode string used by zlib. - * @return True if valid mode flag combination. - */ - bool - open_mode(std::ios_base::openmode mode, - char* c_mode) const; - - /** - * @brief Number of characters available in stream buffer. - * @return Number of characters. - * - * This indicates number of characters in get area of stream buffer. - * These characters can be read without accessing the gzipped file. - */ - virtual std::streamsize - showmanyc(); - - /** - * @brief Fill get area from gzipped file. - * @return First character in get area on success, EOF on error. - * - * This actually reads characters from gzipped file to stream - * buffer. Always buffered. - */ - virtual int_type - underflow(); - - /** - * @brief Write put area to gzipped file. - * @param c Extra character to add to buffer contents. - * @return Non-EOF on success, EOF on error. - * - * This actually writes characters in stream buffer to - * gzipped file. With unbuffered output this is done one - * character at a time. - */ - virtual int_type - overflow(int_type c = traits_type::eof()); - - /** - * @brief Installs external stream buffer. - * @param p Pointer to char buffer. - * @param n Size of external buffer. - * @return @c this on success, NULL on failure. - * - * Call setbuf(0,0) to enable unbuffered output. - */ - virtual std::streambuf* - setbuf(char_type* p, - std::streamsize n); - - /** - * @brief Flush stream buffer to file. - * @return 0 on success, -1 on error. - * - * This calls underflow(EOF) to do the job. - */ - virtual int - sync(); - -// -// Some future enhancements -// -// virtual int_type uflow(); -// virtual int_type pbackfail(int_type c = traits_type::eof()); -// virtual pos_type -// seekoff(off_type off, -// std::ios_base::seekdir way, -// std::ios_base::openmode mode = std::ios_base::in|std::ios_base::out); -// virtual pos_type -// seekpos(pos_type sp, -// std::ios_base::openmode mode = std::ios_base::in|std::ios_base::out); - -private: - /** - * @brief Allocate internal buffer. - * - * This function is safe to call multiple times. It will ensure - * that a proper internal buffer exists if it is required. If the - * buffer already exists or is external, the buffer pointers will be - * reset to their original state. - */ - void - enable_buffer(); - - /** - * @brief Destroy internal buffer. - * - * This function is safe to call multiple times. It will ensure - * that the internal buffer is deallocated if it exists. In any - * case, it will also reset the buffer pointers. - */ - void - disable_buffer(); - - /** - * Underlying file pointer. - */ - gzFile file; - - /** - * Mode in which file was opened. - */ - std::ios_base::openmode io_mode; - - /** - * @brief True if this object owns file descriptor. - * - * This makes the class responsible for closing the file - * upon destruction. - */ - bool own_fd; - - /** - * @brief Stream buffer. - * - * For simplicity this remains allocated on the free store for the - * entire life span of the gzfilebuf object, unless replaced by setbuf. - */ - char_type* buffer; - - /** - * @brief Stream buffer size. - * - * Defaults to system default buffer size (typically 8192 bytes). - * Modified by setbuf. - */ - std::streamsize buffer_size; - - /** - * @brief True if this object owns stream buffer. - * - * This makes the class responsible for deleting the buffer - * upon destruction. - */ - bool own_buffer; -}; - -/*****************************************************************************/ - -/** - * @brief Gzipped file input stream class. - * - * This class implements ifstream for gzipped files. Seeking and putback - * is not supported yet. -*/ -class gzifstream : public std::istream -{ -public: - // Default constructor - gzifstream(); - - /** - * @brief Construct stream on gzipped file to be opened. - * @param name File name. - * @param mode Open mode flags (forced to contain ios::in). - */ - explicit - gzifstream(const char* name, - std::ios_base::openmode mode = std::ios_base::in); - - /** - * @brief Construct stream on already open gzipped file. - * @param fd File descriptor. - * @param mode Open mode flags (forced to contain ios::in). - */ - explicit - gzifstream(int fd, - std::ios_base::openmode mode = std::ios_base::in); - - /** - * Obtain underlying stream buffer. - */ - gzfilebuf* - rdbuf() const - { return const_cast(&sb); } - - /** - * @brief Check if file is open. - * @return True if file is open. - */ - bool - is_open() { return sb.is_open(); } - - /** - * @brief Open gzipped file. - * @param name File name. - * @param mode Open mode flags (forced to contain ios::in). - * - * Stream will be in state good() if file opens successfully; - * otherwise in state fail(). This differs from the behavior of - * ifstream, which never sets the state to good() and therefore - * won't allow you to reuse the stream for a second file unless - * you manually clear() the state. The choice is a matter of - * convenience. - */ - void - open(const char* name, - std::ios_base::openmode mode = std::ios_base::in); - - /** - * @brief Attach to already open gzipped file. - * @param fd File descriptor. - * @param mode Open mode flags (forced to contain ios::in). - * - * Stream will be in state good() if attach succeeded; otherwise - * in state fail(). - */ - void - attach(int fd, - std::ios_base::openmode mode = std::ios_base::in); - - /** - * @brief Close gzipped file. - * - * Stream will be in state fail() if close failed. - */ - void - close(); - -private: - /** - * Underlying stream buffer. - */ - gzfilebuf sb; -}; - -/*****************************************************************************/ - -/** - * @brief Gzipped file output stream class. - * - * This class implements ofstream for gzipped files. Seeking and putback - * is not supported yet. -*/ -class gzofstream : public std::ostream -{ -public: - // Default constructor - gzofstream(); - - /** - * @brief Construct stream on gzipped file to be opened. - * @param name File name. - * @param mode Open mode flags (forced to contain ios::out). - */ - explicit - gzofstream(const char* name, - std::ios_base::openmode mode = std::ios_base::out); - - /** - * @brief Construct stream on already open gzipped file. - * @param fd File descriptor. - * @param mode Open mode flags (forced to contain ios::out). - */ - explicit - gzofstream(int fd, - std::ios_base::openmode mode = std::ios_base::out); - - /** - * Obtain underlying stream buffer. - */ - gzfilebuf* - rdbuf() const - { return const_cast(&sb); } - - /** - * @brief Check if file is open. - * @return True if file is open. - */ - bool - is_open() { return sb.is_open(); } - - /** - * @brief Open gzipped file. - * @param name File name. - * @param mode Open mode flags (forced to contain ios::out). - * - * Stream will be in state good() if file opens successfully; - * otherwise in state fail(). This differs from the behavior of - * ofstream, which never sets the state to good() and therefore - * won't allow you to reuse the stream for a second file unless - * you manually clear() the state. The choice is a matter of - * convenience. - */ - void - open(const char* name, - std::ios_base::openmode mode = std::ios_base::out); - - /** - * @brief Attach to already open gzipped file. - * @param fd File descriptor. - * @param mode Open mode flags (forced to contain ios::out). - * - * Stream will be in state good() if attach succeeded; otherwise - * in state fail(). - */ - void - attach(int fd, - std::ios_base::openmode mode = std::ios_base::out); - - /** - * @brief Close gzipped file. - * - * Stream will be in state fail() if close failed. - */ - void - close(); - -private: - /** - * Underlying stream buffer. - */ - gzfilebuf sb; -}; - -/*****************************************************************************/ - -/** - * @brief Gzipped file output stream manipulator class. - * - * This class defines a two-argument manipulator for gzofstream. It is used - * as base for the setcompression(int,int) manipulator. -*/ -template - class gzomanip2 - { - public: - // Allows insertor to peek at internals - template - friend gzofstream& - operator<<(gzofstream&, - const gzomanip2&); - - // Constructor - gzomanip2(gzofstream& (*f)(gzofstream&, T1, T2), - T1 v1, - T2 v2); - private: - // Underlying manipulator function - gzofstream& - (*func)(gzofstream&, T1, T2); - - // Arguments for manipulator function - T1 val1; - T2 val2; - }; - -/*****************************************************************************/ - -// Manipulator function thunks through to stream buffer -inline gzofstream& -setcompression(gzofstream &gzs, int l, int s = Z_DEFAULT_STRATEGY) -{ - (gzs.rdbuf())->setcompression(l, s); - return gzs; -} - -// Manipulator constructor stores arguments -template - inline - gzomanip2::gzomanip2(gzofstream &(*f)(gzofstream &, T1, T2), - T1 v1, - T2 v2) - : func(f), val1(v1), val2(v2) - { } - -// Insertor applies underlying manipulator function to stream -template - inline gzofstream& - operator<<(gzofstream& s, const gzomanip2& m) - { return (*m.func)(s, m.val1, m.val2); } - -// Insert this onto stream to simplify setting of compression level -inline gzomanip2 -setcompression(int l, int s = Z_DEFAULT_STRATEGY) -{ return gzomanip2(&setcompression, l, s); } - -#endif // ZFSTREAM_H diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx64/bld_ml64.bat b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx64/bld_ml64.bat deleted file mode 100644 index 8f9343d0..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx64/bld_ml64.bat +++ /dev/null @@ -1,2 +0,0 @@ -ml64.exe /Flinffasx64 /c /Zi inffasx64.asm -ml64.exe /Flgvmat64 /c /Zi gvmat64.asm diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx64/gvmat64.asm b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx64/gvmat64.asm deleted file mode 100644 index 9879c28b..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx64/gvmat64.asm +++ /dev/null @@ -1,553 +0,0 @@ -;uInt longest_match_x64( -; deflate_state *s, -; IPos cur_match); /* current match */ - -; gvmat64.asm -- Asm portion of the optimized longest_match for 32 bits x86_64 -; (AMD64 on Athlon 64, Opteron, Phenom -; and Intel EM64T on Pentium 4 with EM64T, Pentium D, Core 2 Duo, Core I5/I7) -; Copyright (C) 1995-2010 Jean-loup Gailly, Brian Raiter and Gilles Vollant. -; -; File written by Gilles Vollant, by converting to assembly the longest_match -; from Jean-loup Gailly in deflate.c of zLib and infoZip zip. -; -; and by taking inspiration on asm686 with masm, optimised assembly code -; from Brian Raiter, written 1998 -; -; This software is provided 'as-is', without any express or implied -; warranty. In no event will the authors be held liable for any damages -; arising from the use of this software. -; -; Permission is granted to anyone to use this software for any purpose, -; including commercial applications, and to alter it and redistribute it -; freely, subject to the following restrictions: -; -; 1. The origin of this software must not be misrepresented; you must not -; claim that you wrote the original software. If you use this software -; in a product, an acknowledgment in the product documentation would be -; appreciated but is not required. -; 2. Altered source versions must be plainly marked as such, and must not be -; misrepresented as being the original software -; 3. This notice may not be removed or altered from any source distribution. -; -; -; -; http://www.zlib.net -; http://www.winimage.com/zLibDll -; http://www.muppetlabs.com/~breadbox/software/assembly.html -; -; to compile this file for infozip Zip, I use option: -; ml64.exe /Flgvmat64 /c /Zi /DINFOZIP gvmat64.asm -; -; to compile this file for zLib, I use option: -; ml64.exe /Flgvmat64 /c /Zi gvmat64.asm -; Be carrefull to adapt zlib1222add below to your version of zLib -; (if you use a version of zLib before 1.0.4 or after 1.2.2.2, change -; value of zlib1222add later) -; -; This file compile with Microsoft Macro Assembler (x64) for AMD64 -; -; ml64.exe is given with Visual Studio 2005/2008/2010 and Windows WDK -; -; (you can get Windows WDK with ml64 for AMD64 from -; http://www.microsoft.com/whdc/Devtools/wdk/default.mspx for low price) -; - - -;uInt longest_match(s, cur_match) -; deflate_state *s; -; IPos cur_match; /* current match */ -.code -longest_match PROC - - -;LocalVarsSize equ 88 - LocalVarsSize equ 72 - -; register used : rax,rbx,rcx,rdx,rsi,rdi,r8,r9,r10,r11,r12 -; free register : r14,r15 -; register can be saved : rsp - - chainlenwmask equ rsp + 8 - LocalVarsSize ; high word: current chain len - ; low word: s->wmask -;window equ rsp + xx - LocalVarsSize ; local copy of s->window ; stored in r10 -;windowbestlen equ rsp + xx - LocalVarsSize ; s->window + bestlen , use r10+r11 -;scanstart equ rsp + xx - LocalVarsSize ; first two bytes of string ; stored in r12w -;scanend equ rsp + xx - LocalVarsSize ; last two bytes of string use ebx -;scanalign equ rsp + xx - LocalVarsSize ; dword-misalignment of string r13 -;bestlen equ rsp + xx - LocalVarsSize ; size of best match so far -> r11d -;scan equ rsp + xx - LocalVarsSize ; ptr to string wanting match -> r9 -IFDEF INFOZIP -ELSE - nicematch equ (rsp + 16 - LocalVarsSize) ; a good enough match size -ENDIF - -save_rdi equ rsp + 24 - LocalVarsSize -save_rsi equ rsp + 32 - LocalVarsSize -save_rbx equ rsp + 40 - LocalVarsSize -save_rbp equ rsp + 48 - LocalVarsSize -save_r12 equ rsp + 56 - LocalVarsSize -save_r13 equ rsp + 64 - LocalVarsSize -;save_r14 equ rsp + 72 - LocalVarsSize -;save_r15 equ rsp + 80 - LocalVarsSize - - -; summary of register usage -; scanend ebx -; scanendw bx -; chainlenwmask edx -; curmatch rsi -; curmatchd esi -; windowbestlen r8 -; scanalign r9 -; scanalignd r9d -; window r10 -; bestlen r11 -; bestlend r11d -; scanstart r12d -; scanstartw r12w -; scan r13 -; nicematch r14d -; limit r15 -; limitd r15d -; prev rcx - -; all the +4 offsets are due to the addition of pending_buf_size (in zlib -; in the deflate_state structure since the asm code was first written -; (if you compile with zlib 1.0.4 or older, remove the +4). -; Note : these value are good with a 8 bytes boundary pack structure - - - MAX_MATCH equ 258 - MIN_MATCH equ 3 - MIN_LOOKAHEAD equ (MAX_MATCH+MIN_MATCH+1) - - -;;; Offsets for fields in the deflate_state structure. These numbers -;;; are calculated from the definition of deflate_state, with the -;;; assumption that the compiler will dword-align the fields. (Thus, -;;; changing the definition of deflate_state could easily cause this -;;; program to crash horribly, without so much as a warning at -;;; compile time. Sigh.) - -; all the +zlib1222add offsets are due to the addition of fields -; in zlib in the deflate_state structure since the asm code was first written -; (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)"). -; (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0"). -; if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8"). - - -IFDEF INFOZIP - -_DATA SEGMENT -COMM window_size:DWORD -; WMask ; 7fff -COMM window:BYTE:010040H -COMM prev:WORD:08000H -; MatchLen : unused -; PrevMatch : unused -COMM strstart:DWORD -COMM match_start:DWORD -; Lookahead : ignore -COMM prev_length:DWORD ; PrevLen -COMM max_chain_length:DWORD -COMM good_match:DWORD -COMM nice_match:DWORD -prev_ad equ OFFSET prev -window_ad equ OFFSET window -nicematch equ nice_match -_DATA ENDS -WMask equ 07fffh - -ELSE - - IFNDEF zlib1222add - zlib1222add equ 8 - ENDIF -dsWSize equ 56+zlib1222add+(zlib1222add/2) -dsWMask equ 64+zlib1222add+(zlib1222add/2) -dsWindow equ 72+zlib1222add -dsPrev equ 88+zlib1222add -dsMatchLen equ 128+zlib1222add -dsPrevMatch equ 132+zlib1222add -dsStrStart equ 140+zlib1222add -dsMatchStart equ 144+zlib1222add -dsLookahead equ 148+zlib1222add -dsPrevLen equ 152+zlib1222add -dsMaxChainLen equ 156+zlib1222add -dsGoodMatch equ 172+zlib1222add -dsNiceMatch equ 176+zlib1222add - -window_size equ [ rcx + dsWSize] -WMask equ [ rcx + dsWMask] -window_ad equ [ rcx + dsWindow] -prev_ad equ [ rcx + dsPrev] -strstart equ [ rcx + dsStrStart] -match_start equ [ rcx + dsMatchStart] -Lookahead equ [ rcx + dsLookahead] ; 0ffffffffh on infozip -prev_length equ [ rcx + dsPrevLen] -max_chain_length equ [ rcx + dsMaxChainLen] -good_match equ [ rcx + dsGoodMatch] -nice_match equ [ rcx + dsNiceMatch] -ENDIF - -; parameter 1 in r8(deflate state s), param 2 in rdx (cur match) - -; see http://weblogs.asp.net/oldnewthing/archive/2004/01/14/58579.aspx and -; http://msdn.microsoft.com/library/en-us/kmarch/hh/kmarch/64bitAMD_8e951dd2-ee77-4728-8702-55ce4b5dd24a.xml.asp -; -; All registers must be preserved across the call, except for -; rax, rcx, rdx, r8, r9, r10, and r11, which are scratch. - - - -;;; Save registers that the compiler may be using, and adjust esp to -;;; make room for our stack frame. - - -;;; Retrieve the function arguments. r8d will hold cur_match -;;; throughout the entire function. edx will hold the pointer to the -;;; deflate_state structure during the function's setup (before -;;; entering the main loop. - -; parameter 1 in rcx (deflate_state* s), param 2 in edx -> r8 (cur match) - -; this clear high 32 bits of r8, which can be garbage in both r8 and rdx - - mov [save_rdi],rdi - mov [save_rsi],rsi - mov [save_rbx],rbx - mov [save_rbp],rbp -IFDEF INFOZIP - mov r8d,ecx -ELSE - mov r8d,edx -ENDIF - mov [save_r12],r12 - mov [save_r13],r13 -; mov [save_r14],r14 -; mov [save_r15],r15 - - -;;; uInt wmask = s->w_mask; -;;; unsigned chain_length = s->max_chain_length; -;;; if (s->prev_length >= s->good_match) { -;;; chain_length >>= 2; -;;; } - - mov edi, prev_length - mov esi, good_match - mov eax, WMask - mov ebx, max_chain_length - cmp edi, esi - jl LastMatchGood - shr ebx, 2 -LastMatchGood: - -;;; chainlen is decremented once beforehand so that the function can -;;; use the sign flag instead of the zero flag for the exit test. -;;; It is then shifted into the high word, to make room for the wmask -;;; value, which it will always accompany. - - dec ebx - shl ebx, 16 - or ebx, eax - -;;; on zlib only -;;; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; - -IFDEF INFOZIP - mov [chainlenwmask], ebx -; on infozip nice_match = [nice_match] -ELSE - mov eax, nice_match - mov [chainlenwmask], ebx - mov r10d, Lookahead - cmp r10d, eax - cmovnl r10d, eax - mov [nicematch],r10d -ENDIF - -;;; register Bytef *scan = s->window + s->strstart; - mov r10, window_ad - mov ebp, strstart - lea r13, [r10 + rbp] - -;;; Determine how many bytes the scan ptr is off from being -;;; dword-aligned. - - mov r9,r13 - neg r13 - and r13,3 - -;;; IPos limit = s->strstart > (IPos)MAX_DIST(s) ? -;;; s->strstart - (IPos)MAX_DIST(s) : NIL; -IFDEF INFOZIP - mov eax,07efah ; MAX_DIST = (WSIZE-MIN_LOOKAHEAD) (0x8000-(3+8+1)) -ELSE - mov eax, window_size - sub eax, MIN_LOOKAHEAD -ENDIF - xor edi,edi - sub ebp, eax - - mov r11d, prev_length - - cmovng ebp,edi - -;;; int best_len = s->prev_length; - - -;;; Store the sum of s->window + best_len in esi locally, and in esi. - - lea rsi,[r10+r11] - -;;; register ush scan_start = *(ushf*)scan; -;;; register ush scan_end = *(ushf*)(scan+best_len-1); -;;; Posf *prev = s->prev; - - movzx r12d,word ptr [r9] - movzx ebx, word ptr [r9 + r11 - 1] - - mov rdi, prev_ad - -;;; Jump into the main loop. - - mov edx, [chainlenwmask] - - cmp bx,word ptr [rsi + r8 - 1] - jz LookupLoopIsZero - -LookupLoop1: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - jbe LeaveNow - sub edx, 00010000h - js LeaveNow - -LoopEntry1: - cmp bx,word ptr [rsi + r8 - 1] - jz LookupLoopIsZero - -LookupLoop2: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - jbe LeaveNow - sub edx, 00010000h - js LeaveNow - -LoopEntry2: - cmp bx,word ptr [rsi + r8 - 1] - jz LookupLoopIsZero - -LookupLoop4: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - jbe LeaveNow - sub edx, 00010000h - js LeaveNow - -LoopEntry4: - - cmp bx,word ptr [rsi + r8 - 1] - jnz LookupLoop1 - jmp LookupLoopIsZero - - -;;; do { -;;; match = s->window + cur_match; -;;; if (*(ushf*)(match+best_len-1) != scan_end || -;;; *(ushf*)match != scan_start) continue; -;;; [...] -;;; } while ((cur_match = prev[cur_match & wmask]) > limit -;;; && --chain_length != 0); -;;; -;;; Here is the inner loop of the function. The function will spend the -;;; majority of its time in this loop, and majority of that time will -;;; be spent in the first ten instructions. -;;; -;;; Within this loop: -;;; ebx = scanend -;;; r8d = curmatch -;;; edx = chainlenwmask - i.e., ((chainlen << 16) | wmask) -;;; esi = windowbestlen - i.e., (window + bestlen) -;;; edi = prev -;;; ebp = limit - -LookupLoop: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - jbe LeaveNow - sub edx, 00010000h - js LeaveNow - -LoopEntry: - - cmp bx,word ptr [rsi + r8 - 1] - jnz LookupLoop1 -LookupLoopIsZero: - cmp r12w, word ptr [r10 + r8] - jnz LookupLoop1 - - -;;; Store the current value of chainlen. - mov [chainlenwmask], edx - -;;; Point edi to the string under scrutiny, and esi to the string we -;;; are hoping to match it up with. In actuality, esi and edi are -;;; both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and edx is -;;; initialized to -(MAX_MATCH_8 - scanalign). - - lea rsi,[r8+r10] - mov rdx, 0fffffffffffffef8h; -(MAX_MATCH_8) - lea rsi, [rsi + r13 + 0108h] ;MAX_MATCH_8] - lea rdi, [r9 + r13 + 0108h] ;MAX_MATCH_8] - - prefetcht1 [rsi+rdx] - prefetcht1 [rdi+rdx] - - -;;; Test the strings for equality, 8 bytes at a time. At the end, -;;; adjust rdx so that it is offset to the exact byte that mismatched. -;;; -;;; We already know at this point that the first three bytes of the -;;; strings match each other, and they can be safely passed over before -;;; starting the compare loop. So what this code does is skip over 0-3 -;;; bytes, as much as necessary in order to dword-align the edi -;;; pointer. (rsi will still be misaligned three times out of four.) -;;; -;;; It should be confessed that this loop usually does not represent -;;; much of the total running time. Replacing it with a more -;;; straightforward "rep cmpsb" would not drastically degrade -;;; performance. - - -LoopCmps: - mov rax, [rsi + rdx] - xor rax, [rdi + rdx] - jnz LeaveLoopCmps - - mov rax, [rsi + rdx + 8] - xor rax, [rdi + rdx + 8] - jnz LeaveLoopCmps8 - - - mov rax, [rsi + rdx + 8+8] - xor rax, [rdi + rdx + 8+8] - jnz LeaveLoopCmps16 - - add rdx,8+8+8 - - jnz short LoopCmps - jmp short LenMaximum -LeaveLoopCmps16: add rdx,8 -LeaveLoopCmps8: add rdx,8 -LeaveLoopCmps: - - test eax, 0000FFFFh - jnz LenLower - - test eax,0ffffffffh - - jnz LenLower32 - - add rdx,4 - shr rax,32 - or ax,ax - jnz LenLower - -LenLower32: - shr eax,16 - add rdx,2 -LenLower: sub al, 1 - adc rdx, 0 -;;; Calculate the length of the match. If it is longer than MAX_MATCH, -;;; then automatically accept it as the best possible match and leave. - - lea rax, [rdi + rdx] - sub rax, r9 - cmp eax, MAX_MATCH - jge LenMaximum - -;;; If the length of the match is not longer than the best match we -;;; have so far, then forget it and return to the lookup loop. -;/////////////////////////////////// - - cmp eax, r11d - jg LongerMatch - - lea rsi,[r10+r11] - - mov rdi, prev_ad - mov edx, [chainlenwmask] - jmp LookupLoop - -;;; s->match_start = cur_match; -;;; best_len = len; -;;; if (len >= nice_match) break; -;;; scan_end = *(ushf*)(scan+best_len-1); - -LongerMatch: - mov r11d, eax - mov match_start, r8d - cmp eax, [nicematch] - jge LeaveNow - - lea rsi,[r10+rax] - - movzx ebx, word ptr [r9 + rax - 1] - mov rdi, prev_ad - mov edx, [chainlenwmask] - jmp LookupLoop - -;;; Accept the current string, with the maximum possible length. - -LenMaximum: - mov r11d,MAX_MATCH - mov match_start, r8d - -;;; if ((uInt)best_len <= s->lookahead) return (uInt)best_len; -;;; return s->lookahead; - -LeaveNow: -IFDEF INFOZIP - mov eax,r11d -ELSE - mov eax, Lookahead - cmp r11d, eax - cmovng eax, r11d -ENDIF - -;;; Restore the stack and return from whence we came. - - - mov rsi,[save_rsi] - mov rdi,[save_rdi] - mov rbx,[save_rbx] - mov rbp,[save_rbp] - mov r12,[save_r12] - mov r13,[save_r13] -; mov r14,[save_r14] -; mov r15,[save_r15] - - - ret 0 -; please don't remove this string ! -; Your can freely use gvmat64 in any free or commercial app -; but it is far better don't remove the string in the binary! - db 0dh,0ah,"asm686 with masm, optimised assembly code from Brian Raiter, written 1998, converted to amd 64 by Gilles Vollant 2005",0dh,0ah,0 -longest_match ENDP - -match_init PROC - ret 0 -match_init ENDP - - -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx64/inffas8664.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx64/inffas8664.c deleted file mode 100644 index e8af06fa..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx64/inffas8664.c +++ /dev/null @@ -1,186 +0,0 @@ -/* inffas8664.c is a hand tuned assembler version of inffast.c - fast decoding - * version for AMD64 on Windows using Microsoft C compiler - * - * Copyright (C) 1995-2003 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - * - * Copyright (C) 2003 Chris Anderson - * Please use the copyright conditions above. - * - * 2005 - Adaptation to Microsoft C Compiler for AMD64 by Gilles Vollant - * - * inffas8664.c call function inffas8664fnc in inffasx64.asm - * inffasx64.asm is automatically convert from AMD64 portion of inffas86.c - * - * Dec-29-2003 -- I added AMD64 inflate asm support. This version is also - * slightly quicker on x86 systems because, instead of using rep movsb to copy - * data, it uses rep movsw, which moves data in 2-byte chunks instead of single - * bytes. I've tested the AMD64 code on a Fedora Core 1 + the x86_64 updates - * from http://fedora.linux.duke.edu/fc1_x86_64 - * which is running on an Athlon 64 3000+ / Gigabyte GA-K8VT800M system with - * 1GB ram. The 64-bit version is about 4% faster than the 32-bit version, - * when decompressing mozilla-source-1.3.tar.gz. - * - * Mar-13-2003 -- Most of this is derived from inffast.S which is derived from - * the gcc -S output of zlib-1.2.0/inffast.c. Zlib-1.2.0 is in beta release at - * the moment. I have successfully compiled and tested this code with gcc2.96, - * gcc3.2, icc5.0, msvc6.0. It is very close to the speed of inffast.S - * compiled with gcc -DNO_MMX, but inffast.S is still faster on the P3 with MMX - * enabled. I will attempt to merge the MMX code into this version. Newer - * versions of this and inffast.S can be found at - * http://www.eetbeetee.com/zlib/ and http://www.charm.net/~christop/zlib/ - * - */ - -#include -#include "zutil.h" -#include "inftrees.h" -#include "inflate.h" -#include "inffast.h" - -/* Mark Adler's comments from inffast.c: */ - -/* - Decode literal, length, and distance codes and write out the resulting - literal and match bytes until either not enough input or output is - available, an end-of-block is encountered, or a data error is encountered. - When large enough input and output buffers are supplied to inflate(), for - example, a 16K input buffer and a 64K output buffer, more than 95% of the - inflate execution time is spent in this routine. - - Entry assumptions: - - state->mode == LEN - strm->avail_in >= 6 - strm->avail_out >= 258 - start >= strm->avail_out - state->bits < 8 - - On return, state->mode is one of: - - LEN -- ran out of enough output space or enough available input - TYPE -- reached end of block code, inflate() to interpret next block - BAD -- error in block data - - Notes: - - - The maximum input bits used by a length/distance pair is 15 bits for the - length code, 5 bits for the length extra, 15 bits for the distance code, - and 13 bits for the distance extra. This totals 48 bits, or six bytes. - Therefore if strm->avail_in >= 6, then there is enough input to avoid - checking for available input while decoding. - - - The maximum bytes that a single length/distance pair can output is 258 - bytes, which is the maximum length that can be coded. inflate_fast() - requires strm->avail_out >= 258 for each loop to avoid checking for - output space. - */ - - - - typedef struct inffast_ar { -/* 64 32 x86 x86_64 */ -/* ar offset register */ -/* 0 0 */ void *esp; /* esp save */ -/* 8 4 */ void *ebp; /* ebp save */ -/* 16 8 */ unsigned char FAR *in; /* esi rsi local strm->next_in */ -/* 24 12 */ unsigned char FAR *last; /* r9 while in < last */ -/* 32 16 */ unsigned char FAR *out; /* edi rdi local strm->next_out */ -/* 40 20 */ unsigned char FAR *beg; /* inflate()'s init next_out */ -/* 48 24 */ unsigned char FAR *end; /* r10 while out < end */ -/* 56 28 */ unsigned char FAR *window;/* size of window, wsize!=0 */ -/* 64 32 */ code const FAR *lcode; /* ebp rbp local strm->lencode */ -/* 72 36 */ code const FAR *dcode; /* r11 local strm->distcode */ -/* 80 40 */ size_t /*unsigned long */hold; /* edx rdx local strm->hold */ -/* 88 44 */ unsigned bits; /* ebx rbx local strm->bits */ -/* 92 48 */ unsigned wsize; /* window size */ -/* 96 52 */ unsigned write; /* window write index */ -/*100 56 */ unsigned lmask; /* r12 mask for lcode */ -/*104 60 */ unsigned dmask; /* r13 mask for dcode */ -/*108 64 */ unsigned len; /* r14 match length */ -/*112 68 */ unsigned dist; /* r15 match distance */ -/*116 72 */ unsigned status; /* set when state chng*/ - } type_ar; -#ifdef ASMINF - -void inflate_fast(strm, start) -z_streamp strm; -unsigned start; /* inflate()'s starting value for strm->avail_out */ -{ - struct inflate_state FAR *state; - type_ar ar; - void inffas8664fnc(struct inffast_ar * par); - - - -#if (defined( __GNUC__ ) && defined( __amd64__ ) && ! defined( __i386 )) || (defined(_MSC_VER) && defined(_M_AMD64)) -#define PAD_AVAIL_IN 6 -#define PAD_AVAIL_OUT 258 -#else -#define PAD_AVAIL_IN 5 -#define PAD_AVAIL_OUT 257 -#endif - - /* copy state to local variables */ - state = (struct inflate_state FAR *)strm->state; - - ar.in = strm->next_in; - ar.last = ar.in + (strm->avail_in - PAD_AVAIL_IN); - ar.out = strm->next_out; - ar.beg = ar.out - (start - strm->avail_out); - ar.end = ar.out + (strm->avail_out - PAD_AVAIL_OUT); - ar.wsize = state->wsize; - ar.write = state->wnext; - ar.window = state->window; - ar.hold = state->hold; - ar.bits = state->bits; - ar.lcode = state->lencode; - ar.dcode = state->distcode; - ar.lmask = (1U << state->lenbits) - 1; - ar.dmask = (1U << state->distbits) - 1; - - /* decode literals and length/distances until end-of-block or not enough - input data or output space */ - - /* align in on 1/2 hold size boundary */ - while (((size_t)(void *)ar.in & (sizeof(ar.hold) / 2 - 1)) != 0) { - ar.hold += (unsigned long)*ar.in++ << ar.bits; - ar.bits += 8; - } - - inffas8664fnc(&ar); - - if (ar.status > 1) { - if (ar.status == 2) - strm->msg = "invalid literal/length code"; - else if (ar.status == 3) - strm->msg = "invalid distance code"; - else - strm->msg = "invalid distance too far back"; - state->mode = BAD; - } - else if ( ar.status == 1 ) { - state->mode = TYPE; - } - - /* return unused bytes (on entry, bits < 8, so in won't go too far back) */ - ar.len = ar.bits >> 3; - ar.in -= ar.len; - ar.bits -= ar.len << 3; - ar.hold &= (1U << ar.bits) - 1; - - /* update state and return */ - strm->next_in = ar.in; - strm->next_out = ar.out; - strm->avail_in = (unsigned)(ar.in < ar.last ? - PAD_AVAIL_IN + (ar.last - ar.in) : - PAD_AVAIL_IN - (ar.in - ar.last)); - strm->avail_out = (unsigned)(ar.out < ar.end ? - PAD_AVAIL_OUT + (ar.end - ar.out) : - PAD_AVAIL_OUT - (ar.out - ar.end)); - state->hold = (unsigned long)ar.hold; - state->bits = ar.bits; - return; -} - -#endif diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx64/inffasx64.asm b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx64/inffasx64.asm deleted file mode 100644 index 60a8d89b..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx64/inffasx64.asm +++ /dev/null @@ -1,396 +0,0 @@ -; inffasx64.asm is a hand tuned assembler version of inffast.c - fast decoding -; version for AMD64 on Windows using Microsoft C compiler -; -; inffasx64.asm is automatically convert from AMD64 portion of inffas86.c -; inffasx64.asm is called by inffas8664.c, which contain more info. - - -; to compile this file, I use option -; ml64.exe /Flinffasx64 /c /Zi inffasx64.asm -; with Microsoft Macro Assembler (x64) for AMD64 -; - -; This file compile with Microsoft Macro Assembler (x64) for AMD64 -; -; ml64.exe is given with Visual Studio 2005/2008/2010 and Windows WDK -; -; (you can get Windows WDK with ml64 for AMD64 from -; http://www.microsoft.com/whdc/Devtools/wdk/default.mspx for low price) -; - - -.code -inffas8664fnc PROC - -; see http://weblogs.asp.net/oldnewthing/archive/2004/01/14/58579.aspx and -; http://msdn.microsoft.com/library/en-us/kmarch/hh/kmarch/64bitAMD_8e951dd2-ee77-4728-8702-55ce4b5dd24a.xml.asp -; -; All registers must be preserved across the call, except for -; rax, rcx, rdx, r8, r-9, r10, and r11, which are scratch. - - - mov [rsp-8],rsi - mov [rsp-16],rdi - mov [rsp-24],r12 - mov [rsp-32],r13 - mov [rsp-40],r14 - mov [rsp-48],r15 - mov [rsp-56],rbx - - mov rax,rcx - - mov [rax+8], rbp ; /* save regs rbp and rsp */ - mov [rax], rsp - - mov rsp, rax ; /* make rsp point to &ar */ - - mov rsi, [rsp+16] ; /* rsi = in */ - mov rdi, [rsp+32] ; /* rdi = out */ - mov r9, [rsp+24] ; /* r9 = last */ - mov r10, [rsp+48] ; /* r10 = end */ - mov rbp, [rsp+64] ; /* rbp = lcode */ - mov r11, [rsp+72] ; /* r11 = dcode */ - mov rdx, [rsp+80] ; /* rdx = hold */ - mov ebx, [rsp+88] ; /* ebx = bits */ - mov r12d, [rsp+100] ; /* r12d = lmask */ - mov r13d, [rsp+104] ; /* r13d = dmask */ - ; /* r14d = len */ - ; /* r15d = dist */ - - - cld - cmp r10, rdi - je L_one_time ; /* if only one decode left */ - cmp r9, rsi - - jne L_do_loop - - -L_one_time: - mov r8, r12 ; /* r8 = lmask */ - cmp bl, 32 - ja L_get_length_code_one_time - - lodsd ; /* eax = *(uint *)in++ */ - mov cl, bl ; /* cl = bits, needs it for shifting */ - add bl, 32 ; /* bits += 32 */ - shl rax, cl - or rdx, rax ; /* hold |= *((uint *)in)++ << bits */ - jmp L_get_length_code_one_time - -ALIGN 4 -L_while_test: - cmp r10, rdi - jbe L_break_loop - cmp r9, rsi - jbe L_break_loop - -L_do_loop: - mov r8, r12 ; /* r8 = lmask */ - cmp bl, 32 - ja L_get_length_code ; /* if (32 < bits) */ - - lodsd ; /* eax = *(uint *)in++ */ - mov cl, bl ; /* cl = bits, needs it for shifting */ - add bl, 32 ; /* bits += 32 */ - shl rax, cl - or rdx, rax ; /* hold |= *((uint *)in)++ << bits */ - -L_get_length_code: - and r8, rdx ; /* r8 &= hold */ - mov eax, [rbp+r8*4] ; /* eax = lcode[hold & lmask] */ - - mov cl, ah ; /* cl = this.bits */ - sub bl, ah ; /* bits -= this.bits */ - shr rdx, cl ; /* hold >>= this.bits */ - - test al, al - jnz L_test_for_length_base ; /* if (op != 0) 45.7% */ - - mov r8, r12 ; /* r8 = lmask */ - shr eax, 16 ; /* output this.val char */ - stosb - -L_get_length_code_one_time: - and r8, rdx ; /* r8 &= hold */ - mov eax, [rbp+r8*4] ; /* eax = lcode[hold & lmask] */ - -L_dolen: - mov cl, ah ; /* cl = this.bits */ - sub bl, ah ; /* bits -= this.bits */ - shr rdx, cl ; /* hold >>= this.bits */ - - test al, al - jnz L_test_for_length_base ; /* if (op != 0) 45.7% */ - - shr eax, 16 ; /* output this.val char */ - stosb - jmp L_while_test - -ALIGN 4 -L_test_for_length_base: - mov r14d, eax ; /* len = this */ - shr r14d, 16 ; /* len = this.val */ - mov cl, al - - test al, 16 - jz L_test_for_second_level_length ; /* if ((op & 16) == 0) 8% */ - and cl, 15 ; /* op &= 15 */ - jz L_decode_distance ; /* if (!op) */ - -L_add_bits_to_len: - sub bl, cl - xor eax, eax - inc eax - shl eax, cl - dec eax - and eax, edx ; /* eax &= hold */ - shr rdx, cl - add r14d, eax ; /* len += hold & mask[op] */ - -L_decode_distance: - mov r8, r13 ; /* r8 = dmask */ - cmp bl, 32 - ja L_get_distance_code ; /* if (32 < bits) */ - - lodsd ; /* eax = *(uint *)in++ */ - mov cl, bl ; /* cl = bits, needs it for shifting */ - add bl, 32 ; /* bits += 32 */ - shl rax, cl - or rdx, rax ; /* hold |= *((uint *)in)++ << bits */ - -L_get_distance_code: - and r8, rdx ; /* r8 &= hold */ - mov eax, [r11+r8*4] ; /* eax = dcode[hold & dmask] */ - -L_dodist: - mov r15d, eax ; /* dist = this */ - shr r15d, 16 ; /* dist = this.val */ - mov cl, ah - sub bl, ah ; /* bits -= this.bits */ - shr rdx, cl ; /* hold >>= this.bits */ - mov cl, al ; /* cl = this.op */ - - test al, 16 ; /* if ((op & 16) == 0) */ - jz L_test_for_second_level_dist - and cl, 15 ; /* op &= 15 */ - jz L_check_dist_one - -L_add_bits_to_dist: - sub bl, cl - xor eax, eax - inc eax - shl eax, cl - dec eax ; /* (1 << op) - 1 */ - and eax, edx ; /* eax &= hold */ - shr rdx, cl - add r15d, eax ; /* dist += hold & ((1 << op) - 1) */ - -L_check_window: - mov r8, rsi ; /* save in so from can use it's reg */ - mov rax, rdi - sub rax, [rsp+40] ; /* nbytes = out - beg */ - - cmp eax, r15d - jb L_clip_window ; /* if (dist > nbytes) 4.2% */ - - mov ecx, r14d ; /* ecx = len */ - mov rsi, rdi - sub rsi, r15 ; /* from = out - dist */ - - sar ecx, 1 - jnc L_copy_two ; /* if len % 2 == 0 */ - - rep movsw - mov al, [rsi] - mov [rdi], al - inc rdi - - mov rsi, r8 ; /* move in back to %rsi, toss from */ - jmp L_while_test - -L_copy_two: - rep movsw - mov rsi, r8 ; /* move in back to %rsi, toss from */ - jmp L_while_test - -ALIGN 4 -L_check_dist_one: - cmp r15d, 1 ; /* if dist 1, is a memset */ - jne L_check_window - cmp [rsp+40], rdi ; /* if out == beg, outside window */ - je L_check_window - - mov ecx, r14d ; /* ecx = len */ - mov al, [rdi-1] - mov ah, al - - sar ecx, 1 - jnc L_set_two - mov [rdi], al - inc rdi - -L_set_two: - rep stosw - jmp L_while_test - -ALIGN 4 -L_test_for_second_level_length: - test al, 64 - jnz L_test_for_end_of_block ; /* if ((op & 64) != 0) */ - - xor eax, eax - inc eax - shl eax, cl - dec eax - and eax, edx ; /* eax &= hold */ - add eax, r14d ; /* eax += len */ - mov eax, [rbp+rax*4] ; /* eax = lcode[val+(hold&mask[op])]*/ - jmp L_dolen - -ALIGN 4 -L_test_for_second_level_dist: - test al, 64 - jnz L_invalid_distance_code ; /* if ((op & 64) != 0) */ - - xor eax, eax - inc eax - shl eax, cl - dec eax - and eax, edx ; /* eax &= hold */ - add eax, r15d ; /* eax += dist */ - mov eax, [r11+rax*4] ; /* eax = dcode[val+(hold&mask[op])]*/ - jmp L_dodist - -ALIGN 4 -L_clip_window: - mov ecx, eax ; /* ecx = nbytes */ - mov eax, [rsp+92] ; /* eax = wsize, prepare for dist cmp */ - neg ecx ; /* nbytes = -nbytes */ - - cmp eax, r15d - jb L_invalid_distance_too_far ; /* if (dist > wsize) */ - - add ecx, r15d ; /* nbytes = dist - nbytes */ - cmp dword ptr [rsp+96], 0 - jne L_wrap_around_window ; /* if (write != 0) */ - - mov rsi, [rsp+56] ; /* from = window */ - sub eax, ecx ; /* eax -= nbytes */ - add rsi, rax ; /* from += wsize - nbytes */ - - mov eax, r14d ; /* eax = len */ - cmp r14d, ecx - jbe L_do_copy ; /* if (nbytes >= len) */ - - sub eax, ecx ; /* eax -= nbytes */ - rep movsb - mov rsi, rdi - sub rsi, r15 ; /* from = &out[ -dist ] */ - jmp L_do_copy - -ALIGN 4 -L_wrap_around_window: - mov eax, [rsp+96] ; /* eax = write */ - cmp ecx, eax - jbe L_contiguous_in_window ; /* if (write >= nbytes) */ - - mov esi, [rsp+92] ; /* from = wsize */ - add rsi, [rsp+56] ; /* from += window */ - add rsi, rax ; /* from += write */ - sub rsi, rcx ; /* from -= nbytes */ - sub ecx, eax ; /* nbytes -= write */ - - mov eax, r14d ; /* eax = len */ - cmp eax, ecx - jbe L_do_copy ; /* if (nbytes >= len) */ - - sub eax, ecx ; /* len -= nbytes */ - rep movsb - mov rsi, [rsp+56] ; /* from = window */ - mov ecx, [rsp+96] ; /* nbytes = write */ - cmp eax, ecx - jbe L_do_copy ; /* if (nbytes >= len) */ - - sub eax, ecx ; /* len -= nbytes */ - rep movsb - mov rsi, rdi - sub rsi, r15 ; /* from = out - dist */ - jmp L_do_copy - -ALIGN 4 -L_contiguous_in_window: - mov rsi, [rsp+56] ; /* rsi = window */ - add rsi, rax - sub rsi, rcx ; /* from += write - nbytes */ - - mov eax, r14d ; /* eax = len */ - cmp eax, ecx - jbe L_do_copy ; /* if (nbytes >= len) */ - - sub eax, ecx ; /* len -= nbytes */ - rep movsb - mov rsi, rdi - sub rsi, r15 ; /* from = out - dist */ - jmp L_do_copy ; /* if (nbytes >= len) */ - -ALIGN 4 -L_do_copy: - mov ecx, eax ; /* ecx = len */ - rep movsb - - mov rsi, r8 ; /* move in back to %esi, toss from */ - jmp L_while_test - -L_test_for_end_of_block: - test al, 32 - jz L_invalid_literal_length_code - mov dword ptr [rsp+116], 1 - jmp L_break_loop_with_status - -L_invalid_literal_length_code: - mov dword ptr [rsp+116], 2 - jmp L_break_loop_with_status - -L_invalid_distance_code: - mov dword ptr [rsp+116], 3 - jmp L_break_loop_with_status - -L_invalid_distance_too_far: - mov dword ptr [rsp+116], 4 - jmp L_break_loop_with_status - -L_break_loop: - mov dword ptr [rsp+116], 0 - -L_break_loop_with_status: -; /* put in, out, bits, and hold back into ar and pop esp */ - mov [rsp+16], rsi ; /* in */ - mov [rsp+32], rdi ; /* out */ - mov [rsp+88], ebx ; /* bits */ - mov [rsp+80], rdx ; /* hold */ - - mov rax, [rsp] ; /* restore rbp and rsp */ - mov rbp, [rsp+8] - mov rsp, rax - - - - mov rsi,[rsp-8] - mov rdi,[rsp-16] - mov r12,[rsp-24] - mov r13,[rsp-32] - mov r14,[rsp-40] - mov r15,[rsp-48] - mov rbx,[rsp-56] - - ret 0 -; : -; : "m" (ar) -; : "memory", "%rax", "%rbx", "%rcx", "%rdx", "%rsi", "%rdi", -; "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15" -; ); - -inffas8664fnc ENDP -;_TEXT ENDS -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx64/readme.txt b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx64/readme.txt deleted file mode 100644 index 2da67334..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx64/readme.txt +++ /dev/null @@ -1,31 +0,0 @@ -Summary -------- -This directory contains ASM implementations of the functions -longest_match() and inflate_fast(), for 64 bits x86 (both AMD64 and Intel EM64t), -for use with Microsoft Macro Assembler (x64) for AMD64 and Microsoft C++ 64 bits. - -gvmat64.asm is written by Gilles Vollant (2005), by using Brian Raiter 686/32 bits - assembly optimized version from Jean-loup Gailly original longest_match function - -inffasx64.asm and inffas8664.c were written by Chris Anderson, by optimizing - original function from Mark Adler - -Use instructions ----------------- -Assemble the .asm files using MASM and put the object files into the zlib source -directory. You can also get object files here: - - http://www.winimage.com/zLibDll/zlib124_masm_obj.zip - -define ASMV and ASMINF in your project. Include inffas8664.c in your source tree, -and inffasx64.obj and gvmat64.obj as object to link. - - -Build instructions ------------------- -run bld_64.bat with Microsoft Macro Assembler (x64) for AMD64 (ml64.exe) - -ml64.exe is given with Visual Studio 2005, Windows 2003 server DDK - -You can get Windows 2003 server DDK with ml64 and cl for AMD64 from - http://www.microsoft.com/whdc/devtools/ddk/default.mspx for low price) diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx86/bld_ml32.bat b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx86/bld_ml32.bat deleted file mode 100644 index e1b86bf6..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx86/bld_ml32.bat +++ /dev/null @@ -1,2 +0,0 @@ -ml /coff /Zi /c /Flmatch686.lst match686.asm -ml /coff /Zi /c /Flinffas32.lst inffas32.asm diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx86/inffas32.asm b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx86/inffas32.asm deleted file mode 100644 index 03d20f83..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx86/inffas32.asm +++ /dev/null @@ -1,1080 +0,0 @@ -;/* inffas32.asm is a hand tuned assembler version of inffast.c -- fast decoding -; * -; * inffas32.asm is derivated from inffas86.c, with translation of assembly code -; * -; * Copyright (C) 1995-2003 Mark Adler -; * For conditions of distribution and use, see copyright notice in zlib.h -; * -; * Copyright (C) 2003 Chris Anderson -; * Please use the copyright conditions above. -; * -; * Mar-13-2003 -- Most of this is derived from inffast.S which is derived from -; * the gcc -S output of zlib-1.2.0/inffast.c. Zlib-1.2.0 is in beta release at -; * the moment. I have successfully compiled and tested this code with gcc2.96, -; * gcc3.2, icc5.0, msvc6.0. It is very close to the speed of inffast.S -; * compiled with gcc -DNO_MMX, but inffast.S is still faster on the P3 with MMX -; * enabled. I will attempt to merge the MMX code into this version. Newer -; * versions of this and inffast.S can be found at -; * http://www.eetbeetee.com/zlib/ and http://www.charm.net/~christop/zlib/ -; * -; * 2005 : modification by Gilles Vollant -; */ -; For Visual C++ 4.x and higher and ML 6.x and higher -; ml.exe is in directory \MASM611C of Win95 DDK -; ml.exe is also distributed in http://www.masm32.com/masmdl.htm -; and in VC++2003 toolkit at http://msdn.microsoft.com/visualc/vctoolkit2003/ -; -; -; compile with command line option -; ml /coff /Zi /c /Flinffas32.lst inffas32.asm - -; if you define NO_GZIP (see inflate.h), compile with -; ml /coff /Zi /c /Flinffas32.lst /DNO_GUNZIP inffas32.asm - - -; zlib122sup is 0 fort zlib 1.2.2.1 and lower -; zlib122sup is 8 fort zlib 1.2.2.2 and more (with addition of dmax and head -; in inflate_state in inflate.h) -zlib1222sup equ 8 - - -IFDEF GUNZIP - INFLATE_MODE_TYPE equ 11 - INFLATE_MODE_BAD equ 26 -ELSE - IFNDEF NO_GUNZIP - INFLATE_MODE_TYPE equ 11 - INFLATE_MODE_BAD equ 26 - ELSE - INFLATE_MODE_TYPE equ 3 - INFLATE_MODE_BAD equ 17 - ENDIF -ENDIF - - -; 75 "inffast.S" -;FILE "inffast.S" - -;;;GLOBAL _inflate_fast - -;;;SECTION .text - - - - .586p - .mmx - - name inflate_fast_x86 - .MODEL FLAT - -_DATA segment -inflate_fast_use_mmx: - dd 1 - - -_TEXT segment - - - -ALIGN 4 - db 'Fast decoding Code from Chris Anderson' - db 0 - -ALIGN 4 -invalid_literal_length_code_msg: - db 'invalid literal/length code' - db 0 - -ALIGN 4 -invalid_distance_code_msg: - db 'invalid distance code' - db 0 - -ALIGN 4 -invalid_distance_too_far_msg: - db 'invalid distance too far back' - db 0 - - -ALIGN 4 -inflate_fast_mask: -dd 0 -dd 1 -dd 3 -dd 7 -dd 15 -dd 31 -dd 63 -dd 127 -dd 255 -dd 511 -dd 1023 -dd 2047 -dd 4095 -dd 8191 -dd 16383 -dd 32767 -dd 65535 -dd 131071 -dd 262143 -dd 524287 -dd 1048575 -dd 2097151 -dd 4194303 -dd 8388607 -dd 16777215 -dd 33554431 -dd 67108863 -dd 134217727 -dd 268435455 -dd 536870911 -dd 1073741823 -dd 2147483647 -dd 4294967295 - - -mode_state equ 0 ;/* state->mode */ -wsize_state equ (32+zlib1222sup) ;/* state->wsize */ -write_state equ (36+4+zlib1222sup) ;/* state->write */ -window_state equ (40+4+zlib1222sup) ;/* state->window */ -hold_state equ (44+4+zlib1222sup) ;/* state->hold */ -bits_state equ (48+4+zlib1222sup) ;/* state->bits */ -lencode_state equ (64+4+zlib1222sup) ;/* state->lencode */ -distcode_state equ (68+4+zlib1222sup) ;/* state->distcode */ -lenbits_state equ (72+4+zlib1222sup) ;/* state->lenbits */ -distbits_state equ (76+4+zlib1222sup) ;/* state->distbits */ - - -;;SECTION .text -; 205 "inffast.S" -;GLOBAL inflate_fast_use_mmx - -;SECTION .data - - -; GLOBAL inflate_fast_use_mmx:object -;.size inflate_fast_use_mmx, 4 -; 226 "inffast.S" -;SECTION .text - -ALIGN 4 -_inflate_fast proc near -.FPO (16, 4, 0, 0, 1, 0) - push edi - push esi - push ebp - push ebx - pushfd - sub esp,64 - cld - - - - - mov esi, [esp+88] - mov edi, [esi+28] - - - - - - - - mov edx, [esi+4] - mov eax, [esi+0] - - add edx,eax - sub edx,11 - - mov [esp+44],eax - mov [esp+20],edx - - mov ebp, [esp+92] - mov ecx, [esi+16] - mov ebx, [esi+12] - - sub ebp,ecx - neg ebp - add ebp,ebx - - sub ecx,257 - add ecx,ebx - - mov [esp+60],ebx - mov [esp+40],ebp - mov [esp+16],ecx -; 285 "inffast.S" - mov eax, [edi+lencode_state] - mov ecx, [edi+distcode_state] - - mov [esp+8],eax - mov [esp+12],ecx - - mov eax,1 - mov ecx, [edi+lenbits_state] - shl eax,cl - dec eax - mov [esp+0],eax - - mov eax,1 - mov ecx, [edi+distbits_state] - shl eax,cl - dec eax - mov [esp+4],eax - - mov eax, [edi+wsize_state] - mov ecx, [edi+write_state] - mov edx, [edi+window_state] - - mov [esp+52],eax - mov [esp+48],ecx - mov [esp+56],edx - - mov ebp, [edi+hold_state] - mov ebx, [edi+bits_state] -; 321 "inffast.S" - mov esi, [esp+44] - mov ecx, [esp+20] - cmp ecx,esi - ja L_align_long - - add ecx,11 - sub ecx,esi - mov eax,12 - sub eax,ecx - lea edi, [esp+28] - rep movsb - mov ecx,eax - xor eax,eax - rep stosb - lea esi, [esp+28] - mov [esp+20],esi - jmp L_is_aligned - - -L_align_long: - test esi,3 - jz L_is_aligned - xor eax,eax - mov al, [esi] - inc esi - mov ecx,ebx - add ebx,8 - shl eax,cl - or ebp,eax - jmp L_align_long - -L_is_aligned: - mov edi, [esp+60] -; 366 "inffast.S" -L_check_mmx: - cmp dword ptr [inflate_fast_use_mmx],2 - je L_init_mmx - ja L_do_loop - - push eax - push ebx - push ecx - push edx - pushfd - mov eax, [esp] - xor dword ptr [esp],0200000h - - - - - popfd - pushfd - pop edx - xor edx,eax - jz L_dont_use_mmx - xor eax,eax - cpuid - cmp ebx,0756e6547h - jne L_dont_use_mmx - cmp ecx,06c65746eh - jne L_dont_use_mmx - cmp edx,049656e69h - jne L_dont_use_mmx - mov eax,1 - cpuid - shr eax,8 - and eax,15 - cmp eax,6 - jne L_dont_use_mmx - test edx,0800000h - jnz L_use_mmx - jmp L_dont_use_mmx -L_use_mmx: - mov dword ptr [inflate_fast_use_mmx],2 - jmp L_check_mmx_pop -L_dont_use_mmx: - mov dword ptr [inflate_fast_use_mmx],3 -L_check_mmx_pop: - pop edx - pop ecx - pop ebx - pop eax - jmp L_check_mmx -; 426 "inffast.S" -ALIGN 4 -L_do_loop: -; 437 "inffast.S" - cmp bl,15 - ja L_get_length_code - - xor eax,eax - lodsw - mov cl,bl - add bl,16 - shl eax,cl - or ebp,eax - -L_get_length_code: - mov edx, [esp+0] - mov ecx, [esp+8] - and edx,ebp - mov eax, [ecx+edx*4] - -L_dolen: - - - - - - - mov cl,ah - sub bl,ah - shr ebp,cl - - - - - - - test al,al - jnz L_test_for_length_base - - shr eax,16 - stosb - -L_while_test: - - - cmp [esp+16],edi - jbe L_break_loop - - cmp [esp+20],esi - ja L_do_loop - jmp L_break_loop - -L_test_for_length_base: -; 502 "inffast.S" - mov edx,eax - shr edx,16 - mov cl,al - - test al,16 - jz L_test_for_second_level_length - and cl,15 - jz L_save_len - cmp bl,cl - jae L_add_bits_to_len - - mov ch,cl - xor eax,eax - lodsw - mov cl,bl - add bl,16 - shl eax,cl - or ebp,eax - mov cl,ch - -L_add_bits_to_len: - mov eax,1 - shl eax,cl - dec eax - sub bl,cl - and eax,ebp - shr ebp,cl - add edx,eax - -L_save_len: - mov [esp+24],edx - - -L_decode_distance: -; 549 "inffast.S" - cmp bl,15 - ja L_get_distance_code - - xor eax,eax - lodsw - mov cl,bl - add bl,16 - shl eax,cl - or ebp,eax - -L_get_distance_code: - mov edx, [esp+4] - mov ecx, [esp+12] - and edx,ebp - mov eax, [ecx+edx*4] - - -L_dodist: - mov edx,eax - shr edx,16 - mov cl,ah - sub bl,ah - shr ebp,cl -; 584 "inffast.S" - mov cl,al - - test al,16 - jz L_test_for_second_level_dist - and cl,15 - jz L_check_dist_one - cmp bl,cl - jae L_add_bits_to_dist - - mov ch,cl - xor eax,eax - lodsw - mov cl,bl - add bl,16 - shl eax,cl - or ebp,eax - mov cl,ch - -L_add_bits_to_dist: - mov eax,1 - shl eax,cl - dec eax - sub bl,cl - and eax,ebp - shr ebp,cl - add edx,eax - jmp L_check_window - -L_check_window: -; 625 "inffast.S" - mov [esp+44],esi - mov eax,edi - sub eax, [esp+40] - - cmp eax,edx - jb L_clip_window - - mov ecx, [esp+24] - mov esi,edi - sub esi,edx - - sub ecx,3 - mov al, [esi] - mov [edi],al - mov al, [esi+1] - mov dl, [esi+2] - add esi,3 - mov [edi+1],al - mov [edi+2],dl - add edi,3 - rep movsb - - mov esi, [esp+44] - jmp L_while_test - -ALIGN 4 -L_check_dist_one: - cmp edx,1 - jne L_check_window - cmp [esp+40],edi - je L_check_window - - dec edi - mov ecx, [esp+24] - mov al, [edi] - sub ecx,3 - - mov [edi+1],al - mov [edi+2],al - mov [edi+3],al - add edi,4 - rep stosb - - jmp L_while_test - -ALIGN 4 -L_test_for_second_level_length: - - - - - test al,64 - jnz L_test_for_end_of_block - - mov eax,1 - shl eax,cl - dec eax - and eax,ebp - add eax,edx - mov edx, [esp+8] - mov eax, [edx+eax*4] - jmp L_dolen - -ALIGN 4 -L_test_for_second_level_dist: - - - - - test al,64 - jnz L_invalid_distance_code - - mov eax,1 - shl eax,cl - dec eax - and eax,ebp - add eax,edx - mov edx, [esp+12] - mov eax, [edx+eax*4] - jmp L_dodist - -ALIGN 4 -L_clip_window: -; 721 "inffast.S" - mov ecx,eax - mov eax, [esp+52] - neg ecx - mov esi, [esp+56] - - cmp eax,edx - jb L_invalid_distance_too_far - - add ecx,edx - cmp dword ptr [esp+48],0 - jne L_wrap_around_window - - sub eax,ecx - add esi,eax -; 749 "inffast.S" - mov eax, [esp+24] - cmp eax,ecx - jbe L_do_copy1 - - sub eax,ecx - rep movsb - mov esi,edi - sub esi,edx - jmp L_do_copy1 - - cmp eax,ecx - jbe L_do_copy1 - - sub eax,ecx - rep movsb - mov esi,edi - sub esi,edx - jmp L_do_copy1 - -L_wrap_around_window: -; 793 "inffast.S" - mov eax, [esp+48] - cmp ecx,eax - jbe L_contiguous_in_window - - add esi, [esp+52] - add esi,eax - sub esi,ecx - sub ecx,eax - - - mov eax, [esp+24] - cmp eax,ecx - jbe L_do_copy1 - - sub eax,ecx - rep movsb - mov esi, [esp+56] - mov ecx, [esp+48] - cmp eax,ecx - jbe L_do_copy1 - - sub eax,ecx - rep movsb - mov esi,edi - sub esi,edx - jmp L_do_copy1 - -L_contiguous_in_window: -; 836 "inffast.S" - add esi,eax - sub esi,ecx - - - mov eax, [esp+24] - cmp eax,ecx - jbe L_do_copy1 - - sub eax,ecx - rep movsb - mov esi,edi - sub esi,edx - -L_do_copy1: -; 862 "inffast.S" - mov ecx,eax - rep movsb - - mov esi, [esp+44] - jmp L_while_test -; 878 "inffast.S" -ALIGN 4 -L_init_mmx: - emms - - - - - - movd mm0,ebp - mov ebp,ebx -; 896 "inffast.S" - movd mm4,dword ptr [esp+0] - movq mm3,mm4 - movd mm5,dword ptr [esp+4] - movq mm2,mm5 - pxor mm1,mm1 - mov ebx, [esp+8] - jmp L_do_loop_mmx - -ALIGN 4 -L_do_loop_mmx: - psrlq mm0,mm1 - - cmp ebp,32 - ja L_get_length_code_mmx - - movd mm6,ebp - movd mm7,dword ptr [esi] - add esi,4 - psllq mm7,mm6 - add ebp,32 - por mm0,mm7 - -L_get_length_code_mmx: - pand mm4,mm0 - movd eax,mm4 - movq mm4,mm3 - mov eax, [ebx+eax*4] - -L_dolen_mmx: - movzx ecx,ah - movd mm1,ecx - sub ebp,ecx - - test al,al - jnz L_test_for_length_base_mmx - - shr eax,16 - stosb - -L_while_test_mmx: - - - cmp [esp+16],edi - jbe L_break_loop - - cmp [esp+20],esi - ja L_do_loop_mmx - jmp L_break_loop - -L_test_for_length_base_mmx: - - mov edx,eax - shr edx,16 - - test al,16 - jz L_test_for_second_level_length_mmx - and eax,15 - jz L_decode_distance_mmx - - psrlq mm0,mm1 - movd mm1,eax - movd ecx,mm0 - sub ebp,eax - and ecx, [inflate_fast_mask+eax*4] - add edx,ecx - -L_decode_distance_mmx: - psrlq mm0,mm1 - - cmp ebp,32 - ja L_get_dist_code_mmx - - movd mm6,ebp - movd mm7,dword ptr [esi] - add esi,4 - psllq mm7,mm6 - add ebp,32 - por mm0,mm7 - -L_get_dist_code_mmx: - mov ebx, [esp+12] - pand mm5,mm0 - movd eax,mm5 - movq mm5,mm2 - mov eax, [ebx+eax*4] - -L_dodist_mmx: - - movzx ecx,ah - mov ebx,eax - shr ebx,16 - sub ebp,ecx - movd mm1,ecx - - test al,16 - jz L_test_for_second_level_dist_mmx - and eax,15 - jz L_check_dist_one_mmx - -L_add_bits_to_dist_mmx: - psrlq mm0,mm1 - movd mm1,eax - movd ecx,mm0 - sub ebp,eax - and ecx, [inflate_fast_mask+eax*4] - add ebx,ecx - -L_check_window_mmx: - mov [esp+44],esi - mov eax,edi - sub eax, [esp+40] - - cmp eax,ebx - jb L_clip_window_mmx - - mov ecx,edx - mov esi,edi - sub esi,ebx - - sub ecx,3 - mov al, [esi] - mov [edi],al - mov al, [esi+1] - mov dl, [esi+2] - add esi,3 - mov [edi+1],al - mov [edi+2],dl - add edi,3 - rep movsb - - mov esi, [esp+44] - mov ebx, [esp+8] - jmp L_while_test_mmx - -ALIGN 4 -L_check_dist_one_mmx: - cmp ebx,1 - jne L_check_window_mmx - cmp [esp+40],edi - je L_check_window_mmx - - dec edi - mov ecx,edx - mov al, [edi] - sub ecx,3 - - mov [edi+1],al - mov [edi+2],al - mov [edi+3],al - add edi,4 - rep stosb - - mov ebx, [esp+8] - jmp L_while_test_mmx - -ALIGN 4 -L_test_for_second_level_length_mmx: - test al,64 - jnz L_test_for_end_of_block - - and eax,15 - psrlq mm0,mm1 - movd ecx,mm0 - and ecx, [inflate_fast_mask+eax*4] - add ecx,edx - mov eax, [ebx+ecx*4] - jmp L_dolen_mmx - -ALIGN 4 -L_test_for_second_level_dist_mmx: - test al,64 - jnz L_invalid_distance_code - - and eax,15 - psrlq mm0,mm1 - movd ecx,mm0 - and ecx, [inflate_fast_mask+eax*4] - mov eax, [esp+12] - add ecx,ebx - mov eax, [eax+ecx*4] - jmp L_dodist_mmx - -ALIGN 4 -L_clip_window_mmx: - - mov ecx,eax - mov eax, [esp+52] - neg ecx - mov esi, [esp+56] - - cmp eax,ebx - jb L_invalid_distance_too_far - - add ecx,ebx - cmp dword ptr [esp+48],0 - jne L_wrap_around_window_mmx - - sub eax,ecx - add esi,eax - - cmp edx,ecx - jbe L_do_copy1_mmx - - sub edx,ecx - rep movsb - mov esi,edi - sub esi,ebx - jmp L_do_copy1_mmx - - cmp edx,ecx - jbe L_do_copy1_mmx - - sub edx,ecx - rep movsb - mov esi,edi - sub esi,ebx - jmp L_do_copy1_mmx - -L_wrap_around_window_mmx: - - mov eax, [esp+48] - cmp ecx,eax - jbe L_contiguous_in_window_mmx - - add esi, [esp+52] - add esi,eax - sub esi,ecx - sub ecx,eax - - - cmp edx,ecx - jbe L_do_copy1_mmx - - sub edx,ecx - rep movsb - mov esi, [esp+56] - mov ecx, [esp+48] - cmp edx,ecx - jbe L_do_copy1_mmx - - sub edx,ecx - rep movsb - mov esi,edi - sub esi,ebx - jmp L_do_copy1_mmx - -L_contiguous_in_window_mmx: - - add esi,eax - sub esi,ecx - - - cmp edx,ecx - jbe L_do_copy1_mmx - - sub edx,ecx - rep movsb - mov esi,edi - sub esi,ebx - -L_do_copy1_mmx: - - - mov ecx,edx - rep movsb - - mov esi, [esp+44] - mov ebx, [esp+8] - jmp L_while_test_mmx -; 1174 "inffast.S" -L_invalid_distance_code: - - - - - - mov ecx, invalid_distance_code_msg - mov edx,INFLATE_MODE_BAD - jmp L_update_stream_state - -L_test_for_end_of_block: - - - - - - test al,32 - jz L_invalid_literal_length_code - - mov ecx,0 - mov edx,INFLATE_MODE_TYPE - jmp L_update_stream_state - -L_invalid_literal_length_code: - - - - - - mov ecx, invalid_literal_length_code_msg - mov edx,INFLATE_MODE_BAD - jmp L_update_stream_state - -L_invalid_distance_too_far: - - - - mov esi, [esp+44] - mov ecx, invalid_distance_too_far_msg - mov edx,INFLATE_MODE_BAD - jmp L_update_stream_state - -L_update_stream_state: - - mov eax, [esp+88] - test ecx,ecx - jz L_skip_msg - mov [eax+24],ecx -L_skip_msg: - mov eax, [eax+28] - mov [eax+mode_state],edx - jmp L_break_loop - -ALIGN 4 -L_break_loop: -; 1243 "inffast.S" - cmp dword ptr [inflate_fast_use_mmx],2 - jne L_update_next_in - - - - mov ebx,ebp - -L_update_next_in: -; 1266 "inffast.S" - mov eax, [esp+88] - mov ecx,ebx - mov edx, [eax+28] - shr ecx,3 - sub esi,ecx - shl ecx,3 - sub ebx,ecx - mov [eax+12],edi - mov [edx+bits_state],ebx - mov ecx,ebx - - lea ebx, [esp+28] - cmp [esp+20],ebx - jne L_buf_not_used - - sub esi,ebx - mov ebx, [eax+0] - mov [esp+20],ebx - add esi,ebx - mov ebx, [eax+4] - sub ebx,11 - add [esp+20],ebx - -L_buf_not_used: - mov [eax+0],esi - - mov ebx,1 - shl ebx,cl - dec ebx - - - - - - cmp dword ptr [inflate_fast_use_mmx],2 - jne L_update_hold - - - - psrlq mm0,mm1 - movd ebp,mm0 - - emms - -L_update_hold: - - - - and ebp,ebx - mov [edx+hold_state],ebp - - - - - mov ebx, [esp+20] - cmp ebx,esi - jbe L_last_is_smaller - - sub ebx,esi - add ebx,11 - mov [eax+4],ebx - jmp L_fixup_out -L_last_is_smaller: - sub esi,ebx - neg esi - add esi,11 - mov [eax+4],esi - - - - -L_fixup_out: - - mov ebx, [esp+16] - cmp ebx,edi - jbe L_end_is_smaller - - sub ebx,edi - add ebx,257 - mov [eax+16],ebx - jmp L_done -L_end_is_smaller: - sub edi,ebx - neg edi - add edi,257 - mov [eax+16],edi - - - - - -L_done: - add esp,64 - popfd - pop ebx - pop ebp - pop esi - pop edi - ret -_inflate_fast endp - -_TEXT ends -end diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx86/inffas32.lst b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx86/inffas32.lst deleted file mode 100644 index d38b3a6e..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx86/inffas32.lst +++ /dev/null @@ -1,1224 +0,0 @@ -Microsoft (R) Macro Assembler Version 10.00.30319.01 04/13/12 13:33:41 -inffas32.asm Page 1 - 1 - - - ;/* inffas32.asm is a hand tuned assembler version of inffast.c -- fast decoding - ; * - ; * inffas32.asm is derivated from inffas86.c, with translation of assembly code - ; * - ; * Copyright (C) 1995-2003 Mark Adler - ; * For conditions of distribution and use, see copyright notice in zlib.h - ; * - ; * Copyright (C) 2003 Chris Anderson - ; * Please use the copyright conditions above. - ; * - ; * Mar-13-2003 -- Most of this is derived from inffast.S which is derived from - ; * the gcc -S output of zlib-1.2.0/inffast.c. Zlib-1.2.0 is in beta release at - ; * the moment. I have successfully compiled and tested this code with gcc2.96, - ; * gcc3.2, icc5.0, msvc6.0. It is very close to the speed of inffast.S - ; * compiled with gcc -DNO_MMX, but inffast.S is still faster on the P3 with MMX - ; * enabled. I will attempt to merge the MMX code into this version. Newer - ; * versions of this and inffast.S can be found at - ; * http://www.eetbeetee.com/zlib/ and http://www.charm.net/~christop/zlib/ - ; * - ; * 2005 : modification by Gilles Vollant - ; */ - ; For Visual C++ 4.x and higher and ML 6.x and higher - ; ml.exe is in directory \MASM611C of Win95 DDK - ; ml.exe is also distributed in http://www.masm32.com/masmdl.htm - ; and in VC++2003 toolkit at http://msdn.microsoft.com/visualc/vctoolkit2003/ - ; - ; - ; compile with command line option - ; ml /coff /Zi /c /Flinffas32.lst inffas32.asm - - ; if you define NO_GZIP (see inflate.h), compile with - ; ml /coff /Zi /c /Flinffas32.lst /DNO_GUNZIP inffas32.asm - - - ; zlib122sup is 0 fort zlib 1.2.2.1 and lower - ; zlib122sup is 8 fort zlib 1.2.2.2 and more (with addition of dmax and head - ; in inflate_state in inflate.h) - = 00000008 zlib1222sup equ 8 - - - IFDEF GUNZIP - ELSE - IFNDEF NO_GUNZIP - = 0000000B INFLATE_MODE_TYPE equ 11 - = 0000001A INFLATE_MODE_BAD equ 26 - ELSE - ENDIF - ENDIF - - - ; 75 "inffast.S" - ;FILE "inffast.S" - - ;;;GLOBAL _inflate_fast - - ;;;SECTION .text - - - - .586p - .mmx - - name inflate_fast_x86 - .MODEL FLAT - - 00000000 _DATA segment - 00000000 inflate_fast_use_mmx: - 00000000 00000001 dd 1 - - - 00000000 _TEXT segment - - - - ALIGN 4 - 00000000 46 61 73 74 20 db 'Fast decoding Code from Chris Anderson' - 64 65 63 6F 64 - 69 6E 67 20 43 - 6F 64 65 20 66 - 72 6F 6D 20 43 - 68 72 69 73 20 - 41 6E 64 65 72 - 73 6F 6E - 00000026 00 db 0 - - ALIGN 4 - 00000028 invalid_literal_length_code_msg: - 00000028 69 6E 76 61 6C db 'invalid literal/length code' - 69 64 20 6C 69 - 74 65 72 61 6C - 2F 6C 65 6E 67 - 74 68 20 63 6F - 64 65 - 00000043 00 db 0 - - ALIGN 4 - 00000044 invalid_distance_code_msg: - 00000044 69 6E 76 61 6C db 'invalid distance code' - 69 64 20 64 69 - 73 74 61 6E 63 - 65 20 63 6F 64 - 65 - 00000059 00 db 0 - - ALIGN 4 - 0000005C invalid_distance_too_far_msg: - 0000005C 69 6E 76 61 6C db 'invalid distance too far back' - 69 64 20 64 69 - 73 74 61 6E 63 - 65 20 74 6F 6F - 20 66 61 72 20 - 62 61 63 6B - 00000079 00 db 0 - - - ALIGN 4 - 0000007C inflate_fast_mask: - 0000007C 00000000 dd 0 - 00000080 00000001 dd 1 - 00000084 00000003 dd 3 - 00000088 00000007 dd 7 - 0000008C 0000000F dd 15 - 00000090 0000001F dd 31 - 00000094 0000003F dd 63 - 00000098 0000007F dd 127 - 0000009C 000000FF dd 255 - 000000A0 000001FF dd 511 - 000000A4 000003FF dd 1023 - 000000A8 000007FF dd 2047 - 000000AC 00000FFF dd 4095 - 000000B0 00001FFF dd 8191 - 000000B4 00003FFF dd 16383 - 000000B8 00007FFF dd 32767 - 000000BC 0000FFFF dd 65535 - 000000C0 0001FFFF dd 131071 - 000000C4 0003FFFF dd 262143 - 000000C8 0007FFFF dd 524287 - 000000CC 000FFFFF dd 1048575 - 000000D0 001FFFFF dd 2097151 - 000000D4 003FFFFF dd 4194303 - 000000D8 007FFFFF dd 8388607 - 000000DC 00FFFFFF dd 16777215 - 000000E0 01FFFFFF dd 33554431 - 000000E4 03FFFFFF dd 67108863 - 000000E8 07FFFFFF dd 134217727 - 000000EC 0FFFFFFF dd 268435455 - 000000F0 1FFFFFFF dd 536870911 - 000000F4 3FFFFFFF dd 1073741823 - 000000F8 7FFFFFFF dd 2147483647 - 000000FC FFFFFFFF dd 4294967295 - - - = 00000000 mode_state equ 0 ;/* state->mode */ - = 00000028 wsize_state equ (32+zlib1222sup) ;/* state->wsize */ - = 00000030 write_state equ (36+4+zlib1222sup) ;/* state->write */ - = 00000034 window_state equ (40+4+zlib1222sup) ;/* state->window */ - = 00000038 hold_state equ (44+4+zlib1222sup) ;/* state->hold */ - = 0000003C bits_state equ (48+4+zlib1222sup) ;/* state->bits */ - = 0000004C lencode_state equ (64+4+zlib1222sup) ;/* state->lencode */ - = 00000050 distcode_state equ (68+4+zlib1222sup) ;/* state->distcode */ - = 00000054 lenbits_state equ (72+4+zlib1222sup) ;/* state->lenbits */ - = 00000058 distbits_state equ (76+4+zlib1222sup) ;/* state->distbits */ - - - ;;SECTION .text - ; 205 "inffast.S" - ;GLOBAL inflate_fast_use_mmx - - ;SECTION .data - - - ; GLOBAL inflate_fast_use_mmx:object - ;.size inflate_fast_use_mmx, 4 - ; 226 "inffast.S" - ;SECTION .text - - ALIGN 4 - 00000100 _inflate_fast proc near - 00000100 .FPO (16, 4, 0, 0, 1, 0) - 00000100 57 push edi - 00000101 56 push esi - 00000102 55 push ebp - 00000103 53 push ebx - 00000104 9C pushfd - 00000105 83 EC 40 sub esp,64 - 00000108 FC cld - - - - - 00000109 8B 74 24 58 mov esi, [esp+88] - 0000010D 8B 7E 1C mov edi, [esi+28] - - - - - - - - 00000110 8B 56 04 mov edx, [esi+4] - 00000113 8B 06 mov eax, [esi+0] - - 00000115 03 D0 add edx,eax - 00000117 83 EA 0B sub edx,11 - - 0000011A 89 44 24 2C mov [esp+44],eax - 0000011E 89 54 24 14 mov [esp+20],edx - - 00000122 8B 6C 24 5C mov ebp, [esp+92] - 00000126 8B 4E 10 mov ecx, [esi+16] - 00000129 8B 5E 0C mov ebx, [esi+12] - - 0000012C 2B E9 sub ebp,ecx - 0000012E F7 DD neg ebp - 00000130 03 EB add ebp,ebx - - 00000132 81 E9 00000101 sub ecx,257 - 00000138 03 CB add ecx,ebx - - 0000013A 89 5C 24 3C mov [esp+60],ebx - 0000013E 89 6C 24 28 mov [esp+40],ebp - 00000142 89 4C 24 10 mov [esp+16],ecx - ; 285 "inffast.S" - 00000146 8B 47 4C mov eax, [edi+lencode_state] - 00000149 8B 4F 50 mov ecx, [edi+distcode_state] - - 0000014C 89 44 24 08 mov [esp+8],eax - 00000150 89 4C 24 0C mov [esp+12],ecx - - 00000154 B8 00000001 mov eax,1 - 00000159 8B 4F 54 mov ecx, [edi+lenbits_state] - 0000015C D3 E0 shl eax,cl - 0000015E 48 dec eax - 0000015F 89 04 24 mov [esp+0],eax - - 00000162 B8 00000001 mov eax,1 - 00000167 8B 4F 58 mov ecx, [edi+distbits_state] - 0000016A D3 E0 shl eax,cl - 0000016C 48 dec eax - 0000016D 89 44 24 04 mov [esp+4],eax - - 00000171 8B 47 28 mov eax, [edi+wsize_state] - 00000174 8B 4F 30 mov ecx, [edi+write_state] - 00000177 8B 57 34 mov edx, [edi+window_state] - - 0000017A 89 44 24 34 mov [esp+52],eax - 0000017E 89 4C 24 30 mov [esp+48],ecx - 00000182 89 54 24 38 mov [esp+56],edx - - 00000186 8B 6F 38 mov ebp, [edi+hold_state] - 00000189 8B 5F 3C mov ebx, [edi+bits_state] - ; 321 "inffast.S" - 0000018C 8B 74 24 2C mov esi, [esp+44] - 00000190 8B 4C 24 14 mov ecx, [esp+20] - 00000194 3B CE cmp ecx,esi - 00000196 77 22 ja L_align_long - - 00000198 83 C1 0B add ecx,11 - 0000019B 2B CE sub ecx,esi - 0000019D B8 0000000C mov eax,12 - 000001A2 2B C1 sub eax,ecx - 000001A4 8D 7C 24 1C lea edi, [esp+28] - 000001A8 F3/ A4 rep movsb - 000001AA 8B C8 mov ecx,eax - 000001AC 33 C0 xor eax,eax - 000001AE F3/ AA rep stosb - 000001B0 8D 74 24 1C lea esi, [esp+28] - 000001B4 89 74 24 14 mov [esp+20],esi - 000001B8 EB 18 jmp L_is_aligned - - - 000001BA L_align_long: - 000001BA F7 C6 00000003 test esi,3 - 000001C0 74 10 jz L_is_aligned - 000001C2 33 C0 xor eax,eax - 000001C4 8A 06 mov al, [esi] - 000001C6 46 inc esi - 000001C7 8B CB mov ecx,ebx - 000001C9 83 C3 08 add ebx,8 - 000001CC D3 E0 shl eax,cl - 000001CE 0B E8 or ebp,eax - 000001D0 EB E8 jmp L_align_long - - 000001D2 L_is_aligned: - 000001D2 8B 7C 24 3C mov edi, [esp+60] - ; 366 "inffast.S" - 000001D6 L_check_mmx: - 000001D6 83 3D 00000000 R cmp dword ptr [inflate_fast_use_mmx],2 - 02 - 000001DD 0F 84 00000289 je L_init_mmx - 000001E3 77 6B ja L_do_loop - - 000001E5 50 push eax - 000001E6 53 push ebx - 000001E7 51 push ecx - 000001E8 52 push edx - 000001E9 9C pushfd - 000001EA 8B 04 24 mov eax, [esp] - 000001ED 81 34 24 xor dword ptr [esp],0200000h - 00200000 - - - - - 000001F4 9D popfd - 000001F5 9C pushfd - 000001F6 5A pop edx - 000001F7 33 D0 xor edx,eax - 000001F9 74 44 jz L_dont_use_mmx - 000001FB 33 C0 xor eax,eax - 000001FD 0F A2 cpuid - 000001FF 81 FB 756E6547 cmp ebx,0756e6547h - 00000205 75 38 jne L_dont_use_mmx - 00000207 81 F9 6C65746E cmp ecx,06c65746eh - 0000020D 75 30 jne L_dont_use_mmx - 0000020F 81 FA 49656E69 cmp edx,049656e69h - 00000215 75 28 jne L_dont_use_mmx - 00000217 B8 00000001 mov eax,1 - 0000021C 0F A2 cpuid - 0000021E C1 E8 08 shr eax,8 - 00000221 83 E0 0F and eax,15 - 00000224 83 F8 06 cmp eax,6 - 00000227 75 16 jne L_dont_use_mmx - 00000229 F7 C2 00800000 test edx,0800000h - 0000022F 75 02 jnz L_use_mmx - 00000231 EB 0C jmp L_dont_use_mmx - 00000233 L_use_mmx: - 00000233 C7 05 00000000 R mov dword ptr [inflate_fast_use_mmx],2 - 00000002 - 0000023D EB 0A jmp L_check_mmx_pop - 0000023F L_dont_use_mmx: - 0000023F C7 05 00000000 R mov dword ptr [inflate_fast_use_mmx],3 - 00000003 - 00000249 L_check_mmx_pop: - 00000249 5A pop edx - 0000024A 59 pop ecx - 0000024B 5B pop ebx - 0000024C 58 pop eax - 0000024D EB 87 jmp L_check_mmx - ; 426 "inffast.S" - ALIGN 4 - 00000250 L_do_loop: - ; 437 "inffast.S" - 00000250 80 FB 0F cmp bl,15 - 00000253 77 0D ja L_get_length_code - - 00000255 33 C0 xor eax,eax - 00000257 66| AD lodsw - 00000259 8A CB mov cl,bl - 0000025B 80 C3 10 add bl,16 - 0000025E D3 E0 shl eax,cl - 00000260 0B E8 or ebp,eax - - 00000262 L_get_length_code: - 00000262 8B 14 24 mov edx, [esp+0] - 00000265 8B 4C 24 08 mov ecx, [esp+8] - 00000269 23 D5 and edx,ebp - 0000026B 8B 04 91 mov eax, [ecx+edx*4] - - 0000026E L_dolen: - - - - - - - 0000026E 8A CC mov cl,ah - 00000270 2A DC sub bl,ah - 00000272 D3 ED shr ebp,cl - - - - - - - 00000274 84 C0 test al,al - 00000276 75 19 jnz L_test_for_length_base - - 00000278 C1 E8 10 shr eax,16 - 0000027B AA stosb - - 0000027C L_while_test: - - - 0000027C 39 7C 24 10 cmp [esp+16],edi - 00000280 0F 86 00000462 jbe L_break_loop - - 00000286 39 74 24 14 cmp [esp+20],esi - 0000028A 77 C4 ja L_do_loop - 0000028C E9 00000457 jmp L_break_loop - - 00000291 L_test_for_length_base: - ; 502 "inffast.S" - 00000291 8B D0 mov edx,eax - 00000293 C1 EA 10 shr edx,16 - 00000296 8A C8 mov cl,al - - 00000298 A8 10 test al,16 - 0000029A 0F 84 000000F4 jz L_test_for_second_level_length - 000002A0 80 E1 0F and cl,15 - 000002A3 74 25 jz L_save_len - 000002A5 3A D9 cmp bl,cl - 000002A7 73 11 jae L_add_bits_to_len - - 000002A9 8A E9 mov ch,cl - 000002AB 33 C0 xor eax,eax - 000002AD 66| AD lodsw - 000002AF 8A CB mov cl,bl - 000002B1 80 C3 10 add bl,16 - 000002B4 D3 E0 shl eax,cl - 000002B6 0B E8 or ebp,eax - 000002B8 8A CD mov cl,ch - - 000002BA L_add_bits_to_len: - 000002BA B8 00000001 mov eax,1 - 000002BF D3 E0 shl eax,cl - 000002C1 48 dec eax - 000002C2 2A D9 sub bl,cl - 000002C4 23 C5 and eax,ebp - 000002C6 D3 ED shr ebp,cl - 000002C8 03 D0 add edx,eax - - 000002CA L_save_len: - 000002CA 89 54 24 18 mov [esp+24],edx - - - 000002CE L_decode_distance: - ; 549 "inffast.S" - 000002CE 80 FB 0F cmp bl,15 - 000002D1 77 0D ja L_get_distance_code - - 000002D3 33 C0 xor eax,eax - 000002D5 66| AD lodsw - 000002D7 8A CB mov cl,bl - 000002D9 80 C3 10 add bl,16 - 000002DC D3 E0 shl eax,cl - 000002DE 0B E8 or ebp,eax - - 000002E0 L_get_distance_code: - 000002E0 8B 54 24 04 mov edx, [esp+4] - 000002E4 8B 4C 24 0C mov ecx, [esp+12] - 000002E8 23 D5 and edx,ebp - 000002EA 8B 04 91 mov eax, [ecx+edx*4] - - - 000002ED L_dodist: - 000002ED 8B D0 mov edx,eax - 000002EF C1 EA 10 shr edx,16 - 000002F2 8A CC mov cl,ah - 000002F4 2A DC sub bl,ah - 000002F6 D3 ED shr ebp,cl - ; 584 "inffast.S" - 000002F8 8A C8 mov cl,al - - 000002FA A8 10 test al,16 - 000002FC 0F 84 000000B2 jz L_test_for_second_level_dist - 00000302 80 E1 0F and cl,15 - 00000305 74 65 jz L_check_dist_one - 00000307 3A D9 cmp bl,cl - 00000309 73 11 jae L_add_bits_to_dist - - 0000030B 8A E9 mov ch,cl - 0000030D 33 C0 xor eax,eax - 0000030F 66| AD lodsw - 00000311 8A CB mov cl,bl - 00000313 80 C3 10 add bl,16 - 00000316 D3 E0 shl eax,cl - 00000318 0B E8 or ebp,eax - 0000031A 8A CD mov cl,ch - - 0000031C L_add_bits_to_dist: - 0000031C B8 00000001 mov eax,1 - 00000321 D3 E0 shl eax,cl - 00000323 48 dec eax - 00000324 2A D9 sub bl,cl - 00000326 23 C5 and eax,ebp - 00000328 D3 ED shr ebp,cl - 0000032A 03 D0 add edx,eax - 0000032C EB 00 jmp L_check_window - - 0000032E L_check_window: - ; 625 "inffast.S" - 0000032E 89 74 24 2C mov [esp+44],esi - 00000332 8B C7 mov eax,edi - 00000334 2B 44 24 28 sub eax, [esp+40] - - 00000338 3B C2 cmp eax,edx - 0000033A 0F 82 00000094 jb L_clip_window - - 00000340 8B 4C 24 18 mov ecx, [esp+24] - 00000344 8B F7 mov esi,edi - 00000346 2B F2 sub esi,edx - - 00000348 83 E9 03 sub ecx,3 - 0000034B 8A 06 mov al, [esi] - 0000034D 88 07 mov [edi],al - 0000034F 8A 46 01 mov al, [esi+1] - 00000352 8A 56 02 mov dl, [esi+2] - 00000355 83 C6 03 add esi,3 - 00000358 88 47 01 mov [edi+1],al - 0000035B 88 57 02 mov [edi+2],dl - 0000035E 83 C7 03 add edi,3 - 00000361 F3/ A4 rep movsb - - 00000363 8B 74 24 2C mov esi, [esp+44] - 00000367 E9 FFFFFF10 jmp L_while_test - - ALIGN 4 - 0000036C L_check_dist_one: - 0000036C 83 FA 01 cmp edx,1 - 0000036F 75 BD jne L_check_window - 00000371 39 7C 24 28 cmp [esp+40],edi - 00000375 74 B7 je L_check_window - - 00000377 4F dec edi - 00000378 8B 4C 24 18 mov ecx, [esp+24] - 0000037C 8A 07 mov al, [edi] - 0000037E 83 E9 03 sub ecx,3 - - 00000381 88 47 01 mov [edi+1],al - 00000384 88 47 02 mov [edi+2],al - 00000387 88 47 03 mov [edi+3],al - 0000038A 83 C7 04 add edi,4 - 0000038D F3/ AA rep stosb - - 0000038F E9 FFFFFEE8 jmp L_while_test - - ALIGN 4 - 00000394 L_test_for_second_level_length: - - - - - 00000394 A8 40 test al,64 - 00000396 0F 85 0000030E jnz L_test_for_end_of_block - - 0000039C B8 00000001 mov eax,1 - 000003A1 D3 E0 shl eax,cl - 000003A3 48 dec eax - 000003A4 23 C5 and eax,ebp - 000003A6 03 C2 add eax,edx - 000003A8 8B 54 24 08 mov edx, [esp+8] - 000003AC 8B 04 82 mov eax, [edx+eax*4] - 000003AF E9 FFFFFEBA jmp L_dolen - - ALIGN 4 - 000003B4 L_test_for_second_level_dist: - - - - - 000003B4 A8 40 test al,64 - 000003B6 0F 85 000002E2 jnz L_invalid_distance_code - - 000003BC B8 00000001 mov eax,1 - 000003C1 D3 E0 shl eax,cl - 000003C3 48 dec eax - 000003C4 23 C5 and eax,ebp - 000003C6 03 C2 add eax,edx - 000003C8 8B 54 24 0C mov edx, [esp+12] - 000003CC 8B 04 82 mov eax, [edx+eax*4] - 000003CF E9 FFFFFF19 jmp L_dodist - - ALIGN 4 - 000003D4 L_clip_window: - ; 721 "inffast.S" - 000003D4 8B C8 mov ecx,eax - 000003D6 8B 44 24 34 mov eax, [esp+52] - 000003DA F7 D9 neg ecx - 000003DC 8B 74 24 38 mov esi, [esp+56] - - 000003E0 3B C2 cmp eax,edx - 000003E2 0F 82 000002DE jb L_invalid_distance_too_far - - 000003E8 03 CA add ecx,edx - 000003EA 83 7C 24 30 00 cmp dword ptr [esp+48],0 - 000003EF 75 24 jne L_wrap_around_window - - 000003F1 2B C1 sub eax,ecx - 000003F3 03 F0 add esi,eax - ; 749 "inffast.S" - 000003F5 8B 44 24 18 mov eax, [esp+24] - 000003F9 3B C1 cmp eax,ecx - 000003FB 76 60 jbe L_do_copy1 - - 000003FD 2B C1 sub eax,ecx - 000003FF F3/ A4 rep movsb - 00000401 8B F7 mov esi,edi - 00000403 2B F2 sub esi,edx - 00000405 EB 56 jmp L_do_copy1 - - 00000407 3B C1 cmp eax,ecx - 00000409 76 52 jbe L_do_copy1 - - 0000040B 2B C1 sub eax,ecx - 0000040D F3/ A4 rep movsb - 0000040F 8B F7 mov esi,edi - 00000411 2B F2 sub esi,edx - 00000413 EB 48 jmp L_do_copy1 - - 00000415 L_wrap_around_window: - ; 793 "inffast.S" - 00000415 8B 44 24 30 mov eax, [esp+48] - 00000419 3B C8 cmp ecx,eax - 0000041B 76 2C jbe L_contiguous_in_window - - 0000041D 03 74 24 34 add esi, [esp+52] - 00000421 03 F0 add esi,eax - 00000423 2B F1 sub esi,ecx - 00000425 2B C8 sub ecx,eax - - - 00000427 8B 44 24 18 mov eax, [esp+24] - 0000042B 3B C1 cmp eax,ecx - 0000042D 76 2E jbe L_do_copy1 - - 0000042F 2B C1 sub eax,ecx - 00000431 F3/ A4 rep movsb - 00000433 8B 74 24 38 mov esi, [esp+56] - 00000437 8B 4C 24 30 mov ecx, [esp+48] - 0000043B 3B C1 cmp eax,ecx - 0000043D 76 1E jbe L_do_copy1 - - 0000043F 2B C1 sub eax,ecx - 00000441 F3/ A4 rep movsb - 00000443 8B F7 mov esi,edi - 00000445 2B F2 sub esi,edx - 00000447 EB 14 jmp L_do_copy1 - - 00000449 L_contiguous_in_window: - ; 836 "inffast.S" - 00000449 03 F0 add esi,eax - 0000044B 2B F1 sub esi,ecx - - - 0000044D 8B 44 24 18 mov eax, [esp+24] - 00000451 3B C1 cmp eax,ecx - 00000453 76 08 jbe L_do_copy1 - - 00000455 2B C1 sub eax,ecx - 00000457 F3/ A4 rep movsb - 00000459 8B F7 mov esi,edi - 0000045B 2B F2 sub esi,edx - - 0000045D L_do_copy1: - ; 862 "inffast.S" - 0000045D 8B C8 mov ecx,eax - 0000045F F3/ A4 rep movsb - - 00000461 8B 74 24 2C mov esi, [esp+44] - 00000465 E9 FFFFFE12 jmp L_while_test - ; 878 "inffast.S" - ALIGN 4 - 0000046C L_init_mmx: - 0000046C 0F 77 emms - - - - - - 0000046E 0F 6E C5 movd mm0,ebp - 00000471 8B EB mov ebp,ebx - ; 896 "inffast.S" - 00000473 0F 6E 24 24 movd mm4,dword ptr [esp+0] - 00000477 0F 7F E3 movq mm3,mm4 - 0000047A 0F 6E 6C 24 04 movd mm5,dword ptr [esp+4] - 0000047F 0F 7F EA movq mm2,mm5 - 00000482 0F EF C9 pxor mm1,mm1 - 00000485 8B 5C 24 08 mov ebx, [esp+8] - 00000489 EB 01 jmp L_do_loop_mmx - - ALIGN 4 - 0000048C L_do_loop_mmx: - 0000048C 0F D3 C1 psrlq mm0,mm1 - - 0000048F 83 FD 20 cmp ebp,32 - 00000492 77 12 ja L_get_length_code_mmx - - 00000494 0F 6E F5 movd mm6,ebp - 00000497 0F 6E 3E movd mm7,dword ptr [esi] - 0000049A 83 C6 04 add esi,4 - 0000049D 0F F3 FE psllq mm7,mm6 - 000004A0 83 C5 20 add ebp,32 - 000004A3 0F EB C7 por mm0,mm7 - - 000004A6 L_get_length_code_mmx: - 000004A6 0F DB E0 pand mm4,mm0 - 000004A9 0F 7E E0 movd eax,mm4 - 000004AC 0F 7F DC movq mm4,mm3 - 000004AF 8B 04 83 mov eax, [ebx+eax*4] - - 000004B2 L_dolen_mmx: - 000004B2 0F B6 CC movzx ecx,ah - 000004B5 0F 6E C9 movd mm1,ecx - 000004B8 2B E9 sub ebp,ecx - - 000004BA 84 C0 test al,al - 000004BC 75 19 jnz L_test_for_length_base_mmx - - 000004BE C1 E8 10 shr eax,16 - 000004C1 AA stosb - - 000004C2 L_while_test_mmx: - - - 000004C2 39 7C 24 10 cmp [esp+16],edi - 000004C6 0F 86 0000021C jbe L_break_loop - - 000004CC 39 74 24 14 cmp [esp+20],esi - 000004D0 77 BA ja L_do_loop_mmx - 000004D2 E9 00000211 jmp L_break_loop - - 000004D7 L_test_for_length_base_mmx: - - 000004D7 8B D0 mov edx,eax - 000004D9 C1 EA 10 shr edx,16 - - 000004DC A8 10 test al,16 - 000004DE 0F 84 000000E0 jz L_test_for_second_level_length_mmx - 000004E4 83 E0 0F and eax,15 - 000004E7 74 14 jz L_decode_distance_mmx - - 000004E9 0F D3 C1 psrlq mm0,mm1 - 000004EC 0F 6E C8 movd mm1,eax - 000004EF 0F 7E C1 movd ecx,mm0 - 000004F2 2B E8 sub ebp,eax - 000004F4 23 0C 85 and ecx, [inflate_fast_mask+eax*4] - 0000007C R - 000004FB 03 D1 add edx,ecx - - 000004FD L_decode_distance_mmx: - 000004FD 0F D3 C1 psrlq mm0,mm1 - - 00000500 83 FD 20 cmp ebp,32 - 00000503 77 12 ja L_get_dist_code_mmx - - 00000505 0F 6E F5 movd mm6,ebp - 00000508 0F 6E 3E movd mm7,dword ptr [esi] - 0000050B 83 C6 04 add esi,4 - 0000050E 0F F3 FE psllq mm7,mm6 - 00000511 83 C5 20 add ebp,32 - 00000514 0F EB C7 por mm0,mm7 - - 00000517 L_get_dist_code_mmx: - 00000517 8B 5C 24 0C mov ebx, [esp+12] - 0000051B 0F DB E8 pand mm5,mm0 - 0000051E 0F 7E E8 movd eax,mm5 - 00000521 0F 7F D5 movq mm5,mm2 - 00000524 8B 04 83 mov eax, [ebx+eax*4] - - 00000527 L_dodist_mmx: - - 00000527 0F B6 CC movzx ecx,ah - 0000052A 8B D8 mov ebx,eax - 0000052C C1 EB 10 shr ebx,16 - 0000052F 2B E9 sub ebp,ecx - 00000531 0F 6E C9 movd mm1,ecx - - 00000534 A8 10 test al,16 - 00000536 0F 84 000000AC jz L_test_for_second_level_dist_mmx - 0000053C 83 E0 0F and eax,15 - 0000053F 74 57 jz L_check_dist_one_mmx - - 00000541 L_add_bits_to_dist_mmx: - 00000541 0F D3 C1 psrlq mm0,mm1 - 00000544 0F 6E C8 movd mm1,eax - 00000547 0F 7E C1 movd ecx,mm0 - 0000054A 2B E8 sub ebp,eax - 0000054C 23 0C 85 and ecx, [inflate_fast_mask+eax*4] - 0000007C R - 00000553 03 D9 add ebx,ecx - - 00000555 L_check_window_mmx: - 00000555 89 74 24 2C mov [esp+44],esi - 00000559 8B C7 mov eax,edi - 0000055B 2B 44 24 28 sub eax, [esp+40] - - 0000055F 3B C3 cmp eax,ebx - 00000561 0F 82 000000A9 jb L_clip_window_mmx - - 00000567 8B CA mov ecx,edx - 00000569 8B F7 mov esi,edi - 0000056B 2B F3 sub esi,ebx - - 0000056D 83 E9 03 sub ecx,3 - 00000570 8A 06 mov al, [esi] - 00000572 88 07 mov [edi],al - 00000574 8A 46 01 mov al, [esi+1] - 00000577 8A 56 02 mov dl, [esi+2] - 0000057A 83 C6 03 add esi,3 - 0000057D 88 47 01 mov [edi+1],al - 00000580 88 57 02 mov [edi+2],dl - 00000583 83 C7 03 add edi,3 - 00000586 F3/ A4 rep movsb - - 00000588 8B 74 24 2C mov esi, [esp+44] - 0000058C 8B 5C 24 08 mov ebx, [esp+8] - 00000590 E9 FFFFFF2D jmp L_while_test_mmx - - ALIGN 4 - 00000598 L_check_dist_one_mmx: - 00000598 83 FB 01 cmp ebx,1 - 0000059B 75 B8 jne L_check_window_mmx - 0000059D 39 7C 24 28 cmp [esp+40],edi - 000005A1 74 B2 je L_check_window_mmx - - 000005A3 4F dec edi - 000005A4 8B CA mov ecx,edx - 000005A6 8A 07 mov al, [edi] - 000005A8 83 E9 03 sub ecx,3 - - 000005AB 88 47 01 mov [edi+1],al - 000005AE 88 47 02 mov [edi+2],al - 000005B1 88 47 03 mov [edi+3],al - 000005B4 83 C7 04 add edi,4 - 000005B7 F3/ AA rep stosb - - 000005B9 8B 5C 24 08 mov ebx, [esp+8] - 000005BD E9 FFFFFF00 jmp L_while_test_mmx - - ALIGN 4 - 000005C4 L_test_for_second_level_length_mmx: - 000005C4 A8 40 test al,64 - 000005C6 0F 85 000000DE jnz L_test_for_end_of_block - - 000005CC 83 E0 0F and eax,15 - 000005CF 0F D3 C1 psrlq mm0,mm1 - 000005D2 0F 7E C1 movd ecx,mm0 - 000005D5 23 0C 85 and ecx, [inflate_fast_mask+eax*4] - 0000007C R - 000005DC 03 CA add ecx,edx - 000005DE 8B 04 8B mov eax, [ebx+ecx*4] - 000005E1 E9 FFFFFECC jmp L_dolen_mmx - - ALIGN 4 - 000005E8 L_test_for_second_level_dist_mmx: - 000005E8 A8 40 test al,64 - 000005EA 0F 85 000000AE jnz L_invalid_distance_code - - 000005F0 83 E0 0F and eax,15 - 000005F3 0F D3 C1 psrlq mm0,mm1 - 000005F6 0F 7E C1 movd ecx,mm0 - 000005F9 23 0C 85 and ecx, [inflate_fast_mask+eax*4] - 0000007C R - 00000600 8B 44 24 0C mov eax, [esp+12] - 00000604 03 CB add ecx,ebx - 00000606 8B 04 88 mov eax, [eax+ecx*4] - 00000609 E9 FFFFFF19 jmp L_dodist_mmx - - ALIGN 4 - 00000610 L_clip_window_mmx: - - 00000610 8B C8 mov ecx,eax - 00000612 8B 44 24 34 mov eax, [esp+52] - 00000616 F7 D9 neg ecx - 00000618 8B 74 24 38 mov esi, [esp+56] - - 0000061C 3B C3 cmp eax,ebx - 0000061E 0F 82 000000A2 jb L_invalid_distance_too_far - - 00000624 03 CB add ecx,ebx - 00000626 83 7C 24 30 00 cmp dword ptr [esp+48],0 - 0000062B 75 20 jne L_wrap_around_window_mmx - - 0000062D 2B C1 sub eax,ecx - 0000062F 03 F0 add esi,eax - - 00000631 3B D1 cmp edx,ecx - 00000633 76 58 jbe L_do_copy1_mmx - - 00000635 2B D1 sub edx,ecx - 00000637 F3/ A4 rep movsb - 00000639 8B F7 mov esi,edi - 0000063B 2B F3 sub esi,ebx - 0000063D EB 4E jmp L_do_copy1_mmx - - 0000063F 3B D1 cmp edx,ecx - 00000641 76 4A jbe L_do_copy1_mmx - - 00000643 2B D1 sub edx,ecx - 00000645 F3/ A4 rep movsb - 00000647 8B F7 mov esi,edi - 00000649 2B F3 sub esi,ebx - 0000064B EB 40 jmp L_do_copy1_mmx - - 0000064D L_wrap_around_window_mmx: - - 0000064D 8B 44 24 30 mov eax, [esp+48] - 00000651 3B C8 cmp ecx,eax - 00000653 76 28 jbe L_contiguous_in_window_mmx - - 00000655 03 74 24 34 add esi, [esp+52] - 00000659 03 F0 add esi,eax - 0000065B 2B F1 sub esi,ecx - 0000065D 2B C8 sub ecx,eax - - - 0000065F 3B D1 cmp edx,ecx - 00000661 76 2A jbe L_do_copy1_mmx - - 00000663 2B D1 sub edx,ecx - 00000665 F3/ A4 rep movsb - 00000667 8B 74 24 38 mov esi, [esp+56] - 0000066B 8B 4C 24 30 mov ecx, [esp+48] - 0000066F 3B D1 cmp edx,ecx - 00000671 76 1A jbe L_do_copy1_mmx - - 00000673 2B D1 sub edx,ecx - 00000675 F3/ A4 rep movsb - 00000677 8B F7 mov esi,edi - 00000679 2B F3 sub esi,ebx - 0000067B EB 10 jmp L_do_copy1_mmx - - 0000067D L_contiguous_in_window_mmx: - - 0000067D 03 F0 add esi,eax - 0000067F 2B F1 sub esi,ecx - - - 00000681 3B D1 cmp edx,ecx - 00000683 76 08 jbe L_do_copy1_mmx - - 00000685 2B D1 sub edx,ecx - 00000687 F3/ A4 rep movsb - 00000689 8B F7 mov esi,edi - 0000068B 2B F3 sub esi,ebx - - 0000068D L_do_copy1_mmx: - - - 0000068D 8B CA mov ecx,edx - 0000068F F3/ A4 rep movsb - - 00000691 8B 74 24 2C mov esi, [esp+44] - 00000695 8B 5C 24 08 mov ebx, [esp+8] - 00000699 E9 FFFFFE24 jmp L_while_test_mmx - ; 1174 "inffast.S" - 0000069E L_invalid_distance_code: - - - - - - 0000069E B9 00000044 R mov ecx, invalid_distance_code_msg - 000006A3 BA 0000001A mov edx,INFLATE_MODE_BAD - 000006A8 EB 2C jmp L_update_stream_state - - 000006AA L_test_for_end_of_block: - - - - - - 000006AA A8 20 test al,32 - 000006AC 74 0C jz L_invalid_literal_length_code - - 000006AE B9 00000000 mov ecx,0 - 000006B3 BA 0000000B mov edx,INFLATE_MODE_TYPE - 000006B8 EB 1C jmp L_update_stream_state - - 000006BA L_invalid_literal_length_code: - - - - - - 000006BA B9 00000028 R mov ecx, invalid_literal_length_code_msg - 000006BF BA 0000001A mov edx,INFLATE_MODE_BAD - 000006C4 EB 10 jmp L_update_stream_state - - 000006C6 L_invalid_distance_too_far: - - - - 000006C6 8B 74 24 2C mov esi, [esp+44] - 000006CA B9 0000005C R mov ecx, invalid_distance_too_far_msg - 000006CF BA 0000001A mov edx,INFLATE_MODE_BAD - 000006D4 EB 00 jmp L_update_stream_state - - 000006D6 L_update_stream_state: - - 000006D6 8B 44 24 58 mov eax, [esp+88] - 000006DA 85 C9 test ecx,ecx - 000006DC 74 03 jz L_skip_msg - 000006DE 89 48 18 mov [eax+24],ecx - 000006E1 L_skip_msg: - 000006E1 8B 40 1C mov eax, [eax+28] - 000006E4 89 10 mov [eax+mode_state],edx - 000006E6 EB 00 jmp L_break_loop - - ALIGN 4 - 000006E8 L_break_loop: - ; 1243 "inffast.S" - 000006E8 83 3D 00000000 R cmp dword ptr [inflate_fast_use_mmx],2 - 02 - 000006EF 75 02 jne L_update_next_in - - - - 000006F1 8B DD mov ebx,ebp - - 000006F3 L_update_next_in: - ; 1266 "inffast.S" - 000006F3 8B 44 24 58 mov eax, [esp+88] - 000006F7 8B CB mov ecx,ebx - 000006F9 8B 50 1C mov edx, [eax+28] - 000006FC C1 E9 03 shr ecx,3 - 000006FF 2B F1 sub esi,ecx - 00000701 C1 E1 03 shl ecx,3 - 00000704 2B D9 sub ebx,ecx - 00000706 89 78 0C mov [eax+12],edi - 00000709 89 5A 3C mov [edx+bits_state],ebx - 0000070C 8B CB mov ecx,ebx - - 0000070E 8D 5C 24 1C lea ebx, [esp+28] - 00000712 39 5C 24 14 cmp [esp+20],ebx - 00000716 75 14 jne L_buf_not_used - - 00000718 2B F3 sub esi,ebx - 0000071A 8B 18 mov ebx, [eax+0] - 0000071C 89 5C 24 14 mov [esp+20],ebx - 00000720 03 F3 add esi,ebx - 00000722 8B 58 04 mov ebx, [eax+4] - 00000725 83 EB 0B sub ebx,11 - 00000728 01 5C 24 14 add [esp+20],ebx - - 0000072C L_buf_not_used: - 0000072C 89 30 mov [eax+0],esi - - 0000072E BB 00000001 mov ebx,1 - 00000733 D3 E3 shl ebx,cl - 00000735 4B dec ebx - - - - - - 00000736 83 3D 00000000 R cmp dword ptr [inflate_fast_use_mmx],2 - 02 - 0000073D 75 08 jne L_update_hold - - - - 0000073F 0F D3 C1 psrlq mm0,mm1 - 00000742 0F 7E C5 movd ebp,mm0 - - 00000745 0F 77 emms - - 00000747 L_update_hold: - - - - 00000747 23 EB and ebp,ebx - 00000749 89 6A 38 mov [edx+hold_state],ebp - - - - - 0000074C 8B 5C 24 14 mov ebx, [esp+20] - 00000750 3B DE cmp ebx,esi - 00000752 76 0A jbe L_last_is_smaller - - 00000754 2B DE sub ebx,esi - 00000756 83 C3 0B add ebx,11 - 00000759 89 58 04 mov [eax+4],ebx - 0000075C EB 0A jmp L_fixup_out - 0000075E L_last_is_smaller: - 0000075E 2B F3 sub esi,ebx - 00000760 F7 DE neg esi - 00000762 83 C6 0B add esi,11 - 00000765 89 70 04 mov [eax+4],esi - - - - - 00000768 L_fixup_out: - - 00000768 8B 5C 24 10 mov ebx, [esp+16] - 0000076C 3B DF cmp ebx,edi - 0000076E 76 0D jbe L_end_is_smaller - - 00000770 2B DF sub ebx,edi - 00000772 81 C3 00000101 add ebx,257 - 00000778 89 58 10 mov [eax+16],ebx - 0000077B EB 0D jmp L_done - 0000077D L_end_is_smaller: - 0000077D 2B FB sub edi,ebx - 0000077F F7 DF neg edi - 00000781 81 C7 00000101 add edi,257 - 00000787 89 78 10 mov [eax+16],edi - - - - - - 0000078A L_done: - 0000078A 83 C4 40 add esp,64 - 0000078D 9D popfd - 0000078E 5B pop ebx - 0000078F 5D pop ebp - 00000790 5E pop esi - 00000791 5F pop edi - 00000792 C3 ret - 00000793 _inflate_fast endp - - 00000004 _TEXT ends - end - Microsoft (R) Macro Assembler Version 10.00.30319.01 04/13/12 13:33:41 -inffas32.asm Symbols 2 - 1 - - - - -Segments and Groups: - - N a m e Size Length Align Combine Class - -FLAT . . . . . . . . . . . . . . GROUP -_DATA . . . . . . . . . . . . . 32 Bit 00000004 Para Public 'DATA' -_TEXT . . . . . . . . . . . . . 32 Bit 00000793 Para Public 'CODE' - - -Procedures, parameters, and locals: - - N a m e Type Value Attr - -_inflate_fast . . . . . . . . . P Near 00000100 _TEXT Length= 00000693 Public - L_align_long . . . . . . . . . L Near 000001BA _TEXT - L_is_aligned . . . . . . . . . L Near 000001D2 _TEXT - L_check_mmx . . . . . . . . . L Near 000001D6 _TEXT - L_use_mmx . . . . . . . . . . L Near 00000233 _TEXT - L_dont_use_mmx . . . . . . . . L Near 0000023F _TEXT - L_check_mmx_pop . . . . . . . L Near 00000249 _TEXT - L_do_loop . . . . . . . . . . L Near 00000250 _TEXT - L_get_length_code . . . . . . L Near 00000262 _TEXT - L_dolen . . . . . . . . . . . L Near 0000026E _TEXT - L_while_test . . . . . . . . . L Near 0000027C _TEXT - L_test_for_length_base . . . . L Near 00000291 _TEXT - L_add_bits_to_len . . . . . . L Near 000002BA _TEXT - L_save_len . . . . . . . . . . L Near 000002CA _TEXT - L_decode_distance . . . . . . L Near 000002CE _TEXT - L_get_distance_code . . . . . L Near 000002E0 _TEXT - L_dodist . . . . . . . . . . . L Near 000002ED _TEXT - L_add_bits_to_dist . . . . . . L Near 0000031C _TEXT - L_check_window . . . . . . . . L Near 0000032E _TEXT - L_check_dist_one . . . . . . . L Near 0000036C _TEXT - L_test_for_second_level_length . L Near 00000394 _TEXT - L_test_for_second_level_dist . L Near 000003B4 _TEXT - L_clip_window . . . . . . . . L Near 000003D4 _TEXT - L_wrap_around_window . . . . . L Near 00000415 _TEXT - L_contiguous_in_window . . . . L Near 00000449 _TEXT - L_do_copy1 . . . . . . . . . . L Near 0000045D _TEXT - L_init_mmx . . . . . . . . . . L Near 0000046C _TEXT - L_do_loop_mmx . . . . . . . . L Near 0000048C _TEXT - L_get_length_code_mmx . . . . L Near 000004A6 _TEXT - L_dolen_mmx . . . . . . . . . L Near 000004B2 _TEXT - L_while_test_mmx . . . . . . . L Near 000004C2 _TEXT - L_test_for_length_base_mmx . . L Near 000004D7 _TEXT - L_decode_distance_mmx . . . . L Near 000004FD _TEXT - L_get_dist_code_mmx . . . . . L Near 00000517 _TEXT - L_dodist_mmx . . . . . . . . . L Near 00000527 _TEXT - L_add_bits_to_dist_mmx . . . . L Near 00000541 _TEXT - L_check_window_mmx . . . . . . L Near 00000555 _TEXT - L_check_dist_one_mmx . . . . . L Near 00000598 _TEXT - L_test_for_second_level_length_mmx . L Near 000005C4 _TEXT - L_test_for_second_level_dist_mmx . L Near 000005E8 _TEXT - L_clip_window_mmx . . . . . . L Near 00000610 _TEXT - L_wrap_around_window_mmx . . . L Near 0000064D _TEXT - L_contiguous_in_window_mmx . . L Near 0000067D _TEXT - L_do_copy1_mmx . . . . . . . . L Near 0000068D _TEXT - L_invalid_distance_code . . . L Near 0000069E _TEXT - L_test_for_end_of_block . . . L Near 000006AA _TEXT - L_invalid_literal_length_code L Near 000006BA _TEXT - L_invalid_distance_too_far . . L Near 000006C6 _TEXT - L_update_stream_state . . . . L Near 000006D6 _TEXT - L_skip_msg . . . . . . . . . . L Near 000006E1 _TEXT - L_break_loop . . . . . . . . . L Near 000006E8 _TEXT - L_update_next_in . . . . . . . L Near 000006F3 _TEXT - L_buf_not_used . . . . . . . . L Near 0000072C _TEXT - L_update_hold . . . . . . . . L Near 00000747 _TEXT - L_last_is_smaller . . . . . . L Near 0000075E _TEXT - L_fixup_out . . . . . . . . . L Near 00000768 _TEXT - L_end_is_smaller . . . . . . . L Near 0000077D _TEXT - L_done . . . . . . . . . . . . L Near 0000078A _TEXT - - -Symbols: - - N a m e Type Value Attr - -@CodeSize . . . . . . . . . . . Number 00000000h -@DataSize . . . . . . . . . . . Number 00000000h -@Interface . . . . . . . . . . . Number 00000000h -@Model . . . . . . . . . . . . . Number 00000007h -@code . . . . . . . . . . . . . Text _TEXT -@data . . . . . . . . . . . . . Text FLAT -@fardata? . . . . . . . . . . . Text FLAT -@fardata . . . . . . . . . . . . Text FLAT -@stack . . . . . . . . . . . . . Text FLAT -INFLATE_MODE_BAD . . . . . . . . Number 0000001Ah -INFLATE_MODE_TYPE . . . . . . . Number 0000000Bh -bits_state . . . . . . . . . . . Number 0000003Ch -distbits_state . . . . . . . . . Number 00000058h -distcode_state . . . . . . . . . Number 00000050h -hold_state . . . . . . . . . . . Number 00000038h -inflate_fast_mask . . . . . . . L Near 0000007C _TEXT -inflate_fast_use_mmx . . . . . . L Near 00000000 _DATA -invalid_distance_code_msg . . . L Near 00000044 _TEXT -invalid_distance_too_far_msg . . L Near 0000005C _TEXT -invalid_literal_length_code_msg L Near 00000028 _TEXT -lenbits_state . . . . . . . . . Number 00000054h -lencode_state . . . . . . . . . Number 0000004Ch -mode_state . . . . . . . . . . . Number 00000000h -window_state . . . . . . . . . . Number 00000034h -write_state . . . . . . . . . . Number 00000030h -wsize_state . . . . . . . . . . Number 00000028h -zlib1222sup . . . . . . . . . . Number 00000008h - - 0 Warnings - 0 Errors diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx86/match686.asm b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx86/match686.asm deleted file mode 100644 index 3b09212f..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx86/match686.asm +++ /dev/null @@ -1,479 +0,0 @@ -; match686.asm -- Asm portion of the optimized longest_match for 32 bits x86 -; Copyright (C) 1995-1996 Jean-loup Gailly, Brian Raiter and Gilles Vollant. -; File written by Gilles Vollant, by converting match686.S from Brian Raiter -; for MASM. This is as assembly version of longest_match -; from Jean-loup Gailly in deflate.c -; -; http://www.zlib.net -; http://www.winimage.com/zLibDll -; http://www.muppetlabs.com/~breadbox/software/assembly.html -; -; For Visual C++ 4.x and higher and ML 6.x and higher -; ml.exe is distributed in -; http://www.microsoft.com/downloads/details.aspx?FamilyID=7a1c9da0-0510-44a2-b042-7ef370530c64 -; -; this file contain two implementation of longest_match -; -; this longest_match was written by Brian raiter (1998), optimized for Pentium Pro -; (and the faster known version of match_init on modern Core 2 Duo and AMD Phenom) -; -; for using an assembly version of longest_match, you need define ASMV in project -; -; compile the asm file running -; ml /coff /Zi /c /Flmatch686.lst match686.asm -; and do not include match686.obj in your project -; -; note: contrib of zLib 1.2.3 and earlier contained both a deprecated version for -; Pentium (prior Pentium Pro) and this version for Pentium Pro and modern processor -; with autoselect (with cpu detection code) -; if you want support the old pentium optimization, you can still use these version -; -; this file is not optimized for old pentium, but it compatible with all x86 32 bits -; processor (starting 80386) -; -; -; see below : zlib1222add must be adjuster if you use a zlib version < 1.2.2.2 - -;uInt longest_match(s, cur_match) -; deflate_state *s; -; IPos cur_match; /* current match */ - - NbStack equ 76 - cur_match equ dword ptr[esp+NbStack-0] - str_s equ dword ptr[esp+NbStack-4] -; 5 dword on top (ret,ebp,esi,edi,ebx) - adrret equ dword ptr[esp+NbStack-8] - pushebp equ dword ptr[esp+NbStack-12] - pushedi equ dword ptr[esp+NbStack-16] - pushesi equ dword ptr[esp+NbStack-20] - pushebx equ dword ptr[esp+NbStack-24] - - chain_length equ dword ptr [esp+NbStack-28] - limit equ dword ptr [esp+NbStack-32] - best_len equ dword ptr [esp+NbStack-36] - window equ dword ptr [esp+NbStack-40] - prev equ dword ptr [esp+NbStack-44] - scan_start equ word ptr [esp+NbStack-48] - wmask equ dword ptr [esp+NbStack-52] - match_start_ptr equ dword ptr [esp+NbStack-56] - nice_match equ dword ptr [esp+NbStack-60] - scan equ dword ptr [esp+NbStack-64] - - windowlen equ dword ptr [esp+NbStack-68] - match_start equ dword ptr [esp+NbStack-72] - strend equ dword ptr [esp+NbStack-76] - NbStackAdd equ (NbStack-24) - - .386p - - name gvmatch - .MODEL FLAT - - - -; all the +zlib1222add offsets are due to the addition of fields -; in zlib in the deflate_state structure since the asm code was first written -; (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)"). -; (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0"). -; if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8"). - - zlib1222add equ 8 - -; Note : these value are good with a 8 bytes boundary pack structure - dep_chain_length equ 74h+zlib1222add - dep_window equ 30h+zlib1222add - dep_strstart equ 64h+zlib1222add - dep_prev_length equ 70h+zlib1222add - dep_nice_match equ 88h+zlib1222add - dep_w_size equ 24h+zlib1222add - dep_prev equ 38h+zlib1222add - dep_w_mask equ 2ch+zlib1222add - dep_good_match equ 84h+zlib1222add - dep_match_start equ 68h+zlib1222add - dep_lookahead equ 6ch+zlib1222add - - -_TEXT segment - -IFDEF NOUNDERLINE - public longest_match - public match_init -ELSE - public _longest_match - public _match_init -ENDIF - - MAX_MATCH equ 258 - MIN_MATCH equ 3 - MIN_LOOKAHEAD equ (MAX_MATCH+MIN_MATCH+1) - - - -MAX_MATCH equ 258 -MIN_MATCH equ 3 -MIN_LOOKAHEAD equ (MAX_MATCH + MIN_MATCH + 1) -MAX_MATCH_8_ equ ((MAX_MATCH + 7) AND 0FFF0h) - - -;;; stack frame offsets - -chainlenwmask equ esp + 0 ; high word: current chain len - ; low word: s->wmask -window equ esp + 4 ; local copy of s->window -windowbestlen equ esp + 8 ; s->window + bestlen -scanstart equ esp + 16 ; first two bytes of string -scanend equ esp + 12 ; last two bytes of string -scanalign equ esp + 20 ; dword-misalignment of string -nicematch equ esp + 24 ; a good enough match size -bestlen equ esp + 28 ; size of best match so far -scan equ esp + 32 ; ptr to string wanting match - -LocalVarsSize equ 36 -; saved ebx byte esp + 36 -; saved edi byte esp + 40 -; saved esi byte esp + 44 -; saved ebp byte esp + 48 -; return address byte esp + 52 -deflatestate equ esp + 56 ; the function arguments -curmatch equ esp + 60 - -;;; Offsets for fields in the deflate_state structure. These numbers -;;; are calculated from the definition of deflate_state, with the -;;; assumption that the compiler will dword-align the fields. (Thus, -;;; changing the definition of deflate_state could easily cause this -;;; program to crash horribly, without so much as a warning at -;;; compile time. Sigh.) - -dsWSize equ 36+zlib1222add -dsWMask equ 44+zlib1222add -dsWindow equ 48+zlib1222add -dsPrev equ 56+zlib1222add -dsMatchLen equ 88+zlib1222add -dsPrevMatch equ 92+zlib1222add -dsStrStart equ 100+zlib1222add -dsMatchStart equ 104+zlib1222add -dsLookahead equ 108+zlib1222add -dsPrevLen equ 112+zlib1222add -dsMaxChainLen equ 116+zlib1222add -dsGoodMatch equ 132+zlib1222add -dsNiceMatch equ 136+zlib1222add - - -;;; match686.asm -- Pentium-Pro-optimized version of longest_match() -;;; Written for zlib 1.1.2 -;;; Copyright (C) 1998 Brian Raiter -;;; You can look at http://www.muppetlabs.com/~breadbox/software/assembly.html -;;; -;; -;; This software is provided 'as-is', without any express or implied -;; warranty. In no event will the authors be held liable for any damages -;; arising from the use of this software. -;; -;; Permission is granted to anyone to use this software for any purpose, -;; including commercial applications, and to alter it and redistribute it -;; freely, subject to the following restrictions: -;; -;; 1. The origin of this software must not be misrepresented; you must not -;; claim that you wrote the original software. If you use this software -;; in a product, an acknowledgment in the product documentation would be -;; appreciated but is not required. -;; 2. Altered source versions must be plainly marked as such, and must not be -;; misrepresented as being the original software -;; 3. This notice may not be removed or altered from any source distribution. -;; - -;GLOBAL _longest_match, _match_init - - -;SECTION .text - -;;; uInt longest_match(deflate_state *deflatestate, IPos curmatch) - -;_longest_match: - IFDEF NOUNDERLINE - longest_match proc near - ELSE - _longest_match proc near - ENDIF -.FPO (9, 4, 0, 0, 1, 0) - -;;; Save registers that the compiler may be using, and adjust esp to -;;; make room for our stack frame. - - push ebp - push edi - push esi - push ebx - sub esp, LocalVarsSize - -;;; Retrieve the function arguments. ecx will hold cur_match -;;; throughout the entire function. edx will hold the pointer to the -;;; deflate_state structure during the function's setup (before -;;; entering the main loop. - - mov edx, [deflatestate] - mov ecx, [curmatch] - -;;; uInt wmask = s->w_mask; -;;; unsigned chain_length = s->max_chain_length; -;;; if (s->prev_length >= s->good_match) { -;;; chain_length >>= 2; -;;; } - - mov eax, [edx + dsPrevLen] - mov ebx, [edx + dsGoodMatch] - cmp eax, ebx - mov eax, [edx + dsWMask] - mov ebx, [edx + dsMaxChainLen] - jl LastMatchGood - shr ebx, 2 -LastMatchGood: - -;;; chainlen is decremented once beforehand so that the function can -;;; use the sign flag instead of the zero flag for the exit test. -;;; It is then shifted into the high word, to make room for the wmask -;;; value, which it will always accompany. - - dec ebx - shl ebx, 16 - or ebx, eax - mov [chainlenwmask], ebx - -;;; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; - - mov eax, [edx + dsNiceMatch] - mov ebx, [edx + dsLookahead] - cmp ebx, eax - jl LookaheadLess - mov ebx, eax -LookaheadLess: mov [nicematch], ebx - -;;; register Bytef *scan = s->window + s->strstart; - - mov esi, [edx + dsWindow] - mov [window], esi - mov ebp, [edx + dsStrStart] - lea edi, [esi + ebp] - mov [scan], edi - -;;; Determine how many bytes the scan ptr is off from being -;;; dword-aligned. - - mov eax, edi - neg eax - and eax, 3 - mov [scanalign], eax - -;;; IPos limit = s->strstart > (IPos)MAX_DIST(s) ? -;;; s->strstart - (IPos)MAX_DIST(s) : NIL; - - mov eax, [edx + dsWSize] - sub eax, MIN_LOOKAHEAD - sub ebp, eax - jg LimitPositive - xor ebp, ebp -LimitPositive: - -;;; int best_len = s->prev_length; - - mov eax, [edx + dsPrevLen] - mov [bestlen], eax - -;;; Store the sum of s->window + best_len in esi locally, and in esi. - - add esi, eax - mov [windowbestlen], esi - -;;; register ush scan_start = *(ushf*)scan; -;;; register ush scan_end = *(ushf*)(scan+best_len-1); -;;; Posf *prev = s->prev; - - movzx ebx, word ptr [edi] - mov [scanstart], ebx - movzx ebx, word ptr [edi + eax - 1] - mov [scanend], ebx - mov edi, [edx + dsPrev] - -;;; Jump into the main loop. - - mov edx, [chainlenwmask] - jmp short LoopEntry - -align 4 - -;;; do { -;;; match = s->window + cur_match; -;;; if (*(ushf*)(match+best_len-1) != scan_end || -;;; *(ushf*)match != scan_start) continue; -;;; [...] -;;; } while ((cur_match = prev[cur_match & wmask]) > limit -;;; && --chain_length != 0); -;;; -;;; Here is the inner loop of the function. The function will spend the -;;; majority of its time in this loop, and majority of that time will -;;; be spent in the first ten instructions. -;;; -;;; Within this loop: -;;; ebx = scanend -;;; ecx = curmatch -;;; edx = chainlenwmask - i.e., ((chainlen << 16) | wmask) -;;; esi = windowbestlen - i.e., (window + bestlen) -;;; edi = prev -;;; ebp = limit - -LookupLoop: - and ecx, edx - movzx ecx, word ptr [edi + ecx*2] - cmp ecx, ebp - jbe LeaveNow - sub edx, 00010000h - js LeaveNow -LoopEntry: movzx eax, word ptr [esi + ecx - 1] - cmp eax, ebx - jnz LookupLoop - mov eax, [window] - movzx eax, word ptr [eax + ecx] - cmp eax, [scanstart] - jnz LookupLoop - -;;; Store the current value of chainlen. - - mov [chainlenwmask], edx - -;;; Point edi to the string under scrutiny, and esi to the string we -;;; are hoping to match it up with. In actuality, esi and edi are -;;; both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and edx is -;;; initialized to -(MAX_MATCH_8 - scanalign). - - mov esi, [window] - mov edi, [scan] - add esi, ecx - mov eax, [scanalign] - mov edx, 0fffffef8h; -(MAX_MATCH_8) - lea edi, [edi + eax + 0108h] ;MAX_MATCH_8] - lea esi, [esi + eax + 0108h] ;MAX_MATCH_8] - -;;; Test the strings for equality, 8 bytes at a time. At the end, -;;; adjust edx so that it is offset to the exact byte that mismatched. -;;; -;;; We already know at this point that the first three bytes of the -;;; strings match each other, and they can be safely passed over before -;;; starting the compare loop. So what this code does is skip over 0-3 -;;; bytes, as much as necessary in order to dword-align the edi -;;; pointer. (esi will still be misaligned three times out of four.) -;;; -;;; It should be confessed that this loop usually does not represent -;;; much of the total running time. Replacing it with a more -;;; straightforward "rep cmpsb" would not drastically degrade -;;; performance. - -LoopCmps: - mov eax, [esi + edx] - xor eax, [edi + edx] - jnz LeaveLoopCmps - mov eax, [esi + edx + 4] - xor eax, [edi + edx + 4] - jnz LeaveLoopCmps4 - add edx, 8 - jnz LoopCmps - jmp short LenMaximum -LeaveLoopCmps4: add edx, 4 -LeaveLoopCmps: test eax, 0000FFFFh - jnz LenLower - add edx, 2 - shr eax, 16 -LenLower: sub al, 1 - adc edx, 0 - -;;; Calculate the length of the match. If it is longer than MAX_MATCH, -;;; then automatically accept it as the best possible match and leave. - - lea eax, [edi + edx] - mov edi, [scan] - sub eax, edi - cmp eax, MAX_MATCH - jge LenMaximum - -;;; If the length of the match is not longer than the best match we -;;; have so far, then forget it and return to the lookup loop. - - mov edx, [deflatestate] - mov ebx, [bestlen] - cmp eax, ebx - jg LongerMatch - mov esi, [windowbestlen] - mov edi, [edx + dsPrev] - mov ebx, [scanend] - mov edx, [chainlenwmask] - jmp LookupLoop - -;;; s->match_start = cur_match; -;;; best_len = len; -;;; if (len >= nice_match) break; -;;; scan_end = *(ushf*)(scan+best_len-1); - -LongerMatch: mov ebx, [nicematch] - mov [bestlen], eax - mov [edx + dsMatchStart], ecx - cmp eax, ebx - jge LeaveNow - mov esi, [window] - add esi, eax - mov [windowbestlen], esi - movzx ebx, word ptr [edi + eax - 1] - mov edi, [edx + dsPrev] - mov [scanend], ebx - mov edx, [chainlenwmask] - jmp LookupLoop - -;;; Accept the current string, with the maximum possible length. - -LenMaximum: mov edx, [deflatestate] - mov dword ptr [bestlen], MAX_MATCH - mov [edx + dsMatchStart], ecx - -;;; if ((uInt)best_len <= s->lookahead) return (uInt)best_len; -;;; return s->lookahead; - -LeaveNow: - mov edx, [deflatestate] - mov ebx, [bestlen] - mov eax, [edx + dsLookahead] - cmp ebx, eax - jg LookaheadRet - mov eax, ebx -LookaheadRet: - -;;; Restore the stack and return from whence we came. - - add esp, LocalVarsSize - pop ebx - pop esi - pop edi - pop ebp - - ret -; please don't remove this string ! -; Your can freely use match686 in any free or commercial app if you don't remove the string in the binary! - db 0dh,0ah,"asm686 with masm, optimised assembly code from Brian Raiter, written 1998",0dh,0ah - - - IFDEF NOUNDERLINE - longest_match endp - ELSE - _longest_match endp - ENDIF - - IFDEF NOUNDERLINE - match_init proc near - ret - match_init endp - ELSE - _match_init proc near - ret - _match_init endp - ENDIF - - -_TEXT ends -end diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx86/match686.lst b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx86/match686.lst deleted file mode 100644 index efa90e17..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx86/match686.lst +++ /dev/null @@ -1,624 +0,0 @@ -Microsoft (R) Macro Assembler Version 10.00.30319.01 04/13/12 13:33:40 -match686.asm Page 1 - 1 - - - ; match686.asm -- Asm portion of the optimized longest_match for 32 bits x86 - ; Copyright (C) 1995-1996 Jean-loup Gailly, Brian Raiter and Gilles Vollant. - ; File written by Gilles Vollant, by converting match686.S from Brian Raiter - ; for MASM. This is as assembly version of longest_match - ; from Jean-loup Gailly in deflate.c - ; - ; http://www.zlib.net - ; http://www.winimage.com/zLibDll - ; http://www.muppetlabs.com/~breadbox/software/assembly.html - ; - ; For Visual C++ 4.x and higher and ML 6.x and higher - ; ml.exe is distributed in - ; http://www.microsoft.com/downloads/details.aspx?FamilyID=7a1c9da0-0510-44a2-b042-7ef370530c64 - ; - ; this file contain two implementation of longest_match - ; - ; this longest_match was written by Brian raiter (1998), optimized for Pentium Pro - ; (and the faster known version of match_init on modern Core 2 Duo and AMD Phenom) - ; - ; for using an assembly version of longest_match, you need define ASMV in project - ; - ; compile the asm file running - ; ml /coff /Zi /c /Flmatch686.lst match686.asm - ; and do not include match686.obj in your project - ; - ; note: contrib of zLib 1.2.3 and earlier contained both a deprecated version for - ; Pentium (prior Pentium Pro) and this version for Pentium Pro and modern processor - ; with autoselect (with cpu detection code) - ; if you want support the old pentium optimization, you can still use these version - ; - ; this file is not optimized for old pentium, but it compatible with all x86 32 bits - ; processor (starting 80386) - ; - ; - ; see below : zlib1222add must be adjuster if you use a zlib version < 1.2.2.2 - - ;uInt longest_match(s, cur_match) - ; deflate_state *s; - ; IPos cur_match; /* current match */ - - = 0000004C NbStack equ 76 - = dword ptr[esp+NbStack-0] cur_match equ dword ptr[esp+NbStack-0] - = dword ptr[esp+NbStack-4] str_s equ dword ptr[esp+NbStack-4] - ; 5 dword on top (ret,ebp,esi,edi,ebx) - = dword ptr[esp+NbStack-8] adrret equ dword ptr[esp+NbStack-8] - = dword ptr[esp+NbStack-12 pushebp equ dword ptr[esp+NbStack-12] - ] - = dword ptr[esp+NbStack-16 pushedi equ dword ptr[esp+NbStack-16] - ] - = dword ptr[esp+NbStack-20 pushesi equ dword ptr[esp+NbStack-20] - ] - = dword ptr[esp+NbStack-24 pushebx equ dword ptr[esp+NbStack-24] - ] - - = dword ptr [esp+NbStack-2 chain_length equ dword ptr [esp+NbStack-28] - 8] - = dword ptr [esp+NbStack-3 limit equ dword ptr [esp+NbStack-32] - 2] - = dword ptr [esp+NbStack-3 best_len equ dword ptr [esp+NbStack-36] - 6] - = dword ptr [esp+NbStack-4 window equ dword ptr [esp+NbStack-40] - 0] - = dword ptr [esp+NbStack-4 prev equ dword ptr [esp+NbStack-44] - 4] - = word ptr [esp+NbStack-48 scan_start equ word ptr [esp+NbStack-48] - ] - = dword ptr [esp+NbStack-5 wmask equ dword ptr [esp+NbStack-52] - 2] - = dword ptr [esp+NbStack-5 match_start_ptr equ dword ptr [esp+NbStack-56] - 6] - = dword ptr [esp+NbStack-6 nice_match equ dword ptr [esp+NbStack-60] - 0] - = dword ptr [esp+NbStack-6 scan equ dword ptr [esp+NbStack-64] - 4] - - = dword ptr [esp+NbStack-6 windowlen equ dword ptr [esp+NbStack-68] - 8] - = dword ptr [esp+NbStack-7 match_start equ dword ptr [esp+NbStack-72] - 2] - = dword ptr [esp+NbStack-7 strend equ dword ptr [esp+NbStack-76] - 6] - = 00000034 NbStackAdd equ (NbStack-24) - - .386p - - name gvmatch - .MODEL FLAT - - - - ; all the +zlib1222add offsets are due to the addition of fields - ; in zlib in the deflate_state structure since the asm code was first written - ; (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)"). - ; (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0"). - ; if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8"). - - = 00000008 zlib1222add equ 8 - - ; Note : these value are good with a 8 bytes boundary pack structure - = 0000007C dep_chain_length equ 74h+zlib1222add - = 00000038 dep_window equ 30h+zlib1222add - = 0000006C dep_strstart equ 64h+zlib1222add - = 00000078 dep_prev_length equ 70h+zlib1222add - = 00000090 dep_nice_match equ 88h+zlib1222add - = 0000002C dep_w_size equ 24h+zlib1222add - = 00000040 dep_prev equ 38h+zlib1222add - = 00000034 dep_w_mask equ 2ch+zlib1222add - = 0000008C dep_good_match equ 84h+zlib1222add - = 00000070 dep_match_start equ 68h+zlib1222add - = 00000074 dep_lookahead equ 6ch+zlib1222add - - - 00000000 _TEXT segment - - IFDEF NOUNDERLINE - ELSE - public _longest_match - public _match_init - ENDIF - - = 00000102 MAX_MATCH equ 258 - = 00000003 MIN_MATCH equ 3 - = 00000106 MIN_LOOKAHEAD equ (MAX_MATCH+MIN_MATCH+1) - - - - = 00000102 MAX_MATCH equ 258 - = 00000003 MIN_MATCH equ 3 - = 00000106 MIN_LOOKAHEAD equ (MAX_MATCH + MIN_MATCH + 1) - = 00000100 MAX_MATCH_8_ equ ((MAX_MATCH + 7) AND 0FFF0h) - - - ;;; stack frame offsets - - = esp + 0 chainlenwmask equ esp + 0 ; high word: current chain len - ; low word: s->wmask - = esp + 4 window equ esp + 4 ; local copy of s->window - = esp + 8 windowbestlen equ esp + 8 ; s->window + bestlen - = esp + 16 scanstart equ esp + 16 ; first two bytes of string - = esp + 12 scanend equ esp + 12 ; last two bytes of string - = esp + 20 scanalign equ esp + 20 ; dword-misalignment of string - = esp + 24 nicematch equ esp + 24 ; a good enough match size - = esp + 28 bestlen equ esp + 28 ; size of best match so far - = esp + 32 scan equ esp + 32 ; ptr to string wanting match - - = 00000024 LocalVarsSize equ 36 - ; saved ebx byte esp + 36 - ; saved edi byte esp + 40 - ; saved esi byte esp + 44 - ; saved ebp byte esp + 48 - ; return address byte esp + 52 - = esp + 56 deflatestate equ esp + 56 ; the function arguments - = esp + 60 curmatch equ esp + 60 - - ;;; Offsets for fields in the deflate_state structure. These numbers - ;;; are calculated from the definition of deflate_state, with the - ;;; assumption that the compiler will dword-align the fields. (Thus, - ;;; changing the definition of deflate_state could easily cause this - ;;; program to crash horribly, without so much as a warning at - ;;; compile time. Sigh.) - - = 0000002C dsWSize equ 36+zlib1222add - = 00000034 dsWMask equ 44+zlib1222add - = 00000038 dsWindow equ 48+zlib1222add - = 00000040 dsPrev equ 56+zlib1222add - = 00000060 dsMatchLen equ 88+zlib1222add - = 00000064 dsPrevMatch equ 92+zlib1222add - = 0000006C dsStrStart equ 100+zlib1222add - = 00000070 dsMatchStart equ 104+zlib1222add - = 00000074 dsLookahead equ 108+zlib1222add - = 00000078 dsPrevLen equ 112+zlib1222add - = 0000007C dsMaxChainLen equ 116+zlib1222add - = 0000008C dsGoodMatch equ 132+zlib1222add - = 00000090 dsNiceMatch equ 136+zlib1222add - - - ;;; match686.asm -- Pentium-Pro-optimized version of longest_match() - ;;; Written for zlib 1.1.2 - ;;; Copyright (C) 1998 Brian Raiter - ;;; You can look at http://www.muppetlabs.com/~breadbox/software/assembly.html - ;;; - ;; - ;; This software is provided 'as-is', without any express or implied - ;; warranty. In no event will the authors be held liable for any damages - ;; arising from the use of this software. - ;; - ;; Permission is granted to anyone to use this software for any purpose, - ;; including commercial applications, and to alter it and redistribute it - ;; freely, subject to the following restrictions: - ;; - ;; 1. The origin of this software must not be misrepresented; you must not - ;; claim that you wrote the original software. If you use this software - ;; in a product, an acknowledgment in the product documentation would be - ;; appreciated but is not required. - ;; 2. Altered source versions must be plainly marked as such, and must not be - ;; misrepresented as being the original software - ;; 3. This notice may not be removed or altered from any source distribution. - ;; - - ;GLOBAL _longest_match, _match_init - - - ;SECTION .text - - ;;; uInt longest_match(deflate_state *deflatestate, IPos curmatch) - - ;_longest_match: - IFDEF NOUNDERLINE - ELSE - 00000000 _longest_match proc near - ENDIF - 00000000 .FPO (9, 4, 0, 0, 1, 0) - - ;;; Save registers that the compiler may be using, and adjust esp to - ;;; make room for our stack frame. - - 00000000 55 push ebp - 00000001 57 push edi - 00000002 56 push esi - 00000003 53 push ebx - 00000004 83 EC 24 sub esp, LocalVarsSize - - ;;; Retrieve the function arguments. ecx will hold cur_match - ;;; throughout the entire function. edx will hold the pointer to the - ;;; deflate_state structure during the function's setup (before - ;;; entering the main loop. - - 00000007 8B 54 24 38 mov edx, [deflatestate] - 0000000B 8B 4C 24 3C mov ecx, [curmatch] - - ;;; uInt wmask = s->w_mask; - ;;; unsigned chain_length = s->max_chain_length; - ;;; if (s->prev_length >= s->good_match) { - ;;; chain_length >>= 2; - ;;; } - - 0000000F 8B 42 78 mov eax, [edx + dsPrevLen] - 00000012 8B 9A 0000008C mov ebx, [edx + dsGoodMatch] - 00000018 3B C3 cmp eax, ebx - 0000001A 8B 42 34 mov eax, [edx + dsWMask] - 0000001D 8B 5A 7C mov ebx, [edx + dsMaxChainLen] - 00000020 7C 03 jl LastMatchGood - 00000022 C1 EB 02 shr ebx, 2 - 00000025 LastMatchGood: - - ;;; chainlen is decremented once beforehand so that the function can - ;;; use the sign flag instead of the zero flag for the exit test. - ;;; It is then shifted into the high word, to make room for the wmask - ;;; value, which it will always accompany. - - 00000025 4B dec ebx - 00000026 C1 E3 10 shl ebx, 16 - 00000029 0B D8 or ebx, eax - 0000002B 89 1C 24 mov [chainlenwmask], ebx - - ;;; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; - - 0000002E 8B 82 00000090 mov eax, [edx + dsNiceMatch] - 00000034 8B 5A 74 mov ebx, [edx + dsLookahead] - 00000037 3B D8 cmp ebx, eax - 00000039 7C 02 jl LookaheadLess - 0000003B 8B D8 mov ebx, eax - 0000003D 89 5C 24 18 LookaheadLess: mov [nicematch], ebx - - ;;; register Bytef *scan = s->window + s->strstart; - - 00000041 8B 72 38 mov esi, [edx + dsWindow] - 00000044 89 74 24 04 mov [window], esi - 00000048 8B 6A 6C mov ebp, [edx + dsStrStart] - 0000004B 8D 7C 35 00 lea edi, [esi + ebp] - 0000004F 89 7C 24 20 mov [scan], edi - - ;;; Determine how many bytes the scan ptr is off from being - ;;; dword-aligned. - - 00000053 8B C7 mov eax, edi - 00000055 F7 D8 neg eax - 00000057 83 E0 03 and eax, 3 - 0000005A 89 44 24 14 mov [scanalign], eax - - ;;; IPos limit = s->strstart > (IPos)MAX_DIST(s) ? - ;;; s->strstart - (IPos)MAX_DIST(s) : NIL; - - 0000005E 8B 42 2C mov eax, [edx + dsWSize] - 00000061 2D 00000106 sub eax, MIN_LOOKAHEAD - 00000066 2B E8 sub ebp, eax - 00000068 7F 02 jg LimitPositive - 0000006A 33 ED xor ebp, ebp - 0000006C LimitPositive: - - ;;; int best_len = s->prev_length; - - 0000006C 8B 42 78 mov eax, [edx + dsPrevLen] - 0000006F 89 44 24 1C mov [bestlen], eax - - ;;; Store the sum of s->window + best_len in esi locally, and in esi. - - 00000073 03 F0 add esi, eax - 00000075 89 74 24 08 mov [windowbestlen], esi - - ;;; register ush scan_start = *(ushf*)scan; - ;;; register ush scan_end = *(ushf*)(scan+best_len-1); - ;;; Posf *prev = s->prev; - - 00000079 0F B7 1F movzx ebx, word ptr [edi] - 0000007C 89 5C 24 10 mov [scanstart], ebx - 00000080 0F B7 5C 38 FF movzx ebx, word ptr [edi + eax - 1] - 00000085 89 5C 24 0C mov [scanend], ebx - 00000089 8B 7A 40 mov edi, [edx + dsPrev] - - ;;; Jump into the main loop. - - 0000008C 8B 14 24 mov edx, [chainlenwmask] - 0000008F EB 1D jmp short LoopEntry - - align 4 - - ;;; do { - ;;; match = s->window + cur_match; - ;;; if (*(ushf*)(match+best_len-1) != scan_end || - ;;; *(ushf*)match != scan_start) continue; - ;;; [...] - ;;; } while ((cur_match = prev[cur_match & wmask]) > limit - ;;; && --chain_length != 0); - ;;; - ;;; Here is the inner loop of the function. The function will spend the - ;;; majority of its time in this loop, and majority of that time will - ;;; be spent in the first ten instructions. - ;;; - ;;; Within this loop: - ;;; ebx = scanend - ;;; ecx = curmatch - ;;; edx = chainlenwmask - i.e., ((chainlen << 16) | wmask) - ;;; esi = windowbestlen - i.e., (window + bestlen) - ;;; edi = prev - ;;; ebp = limit - - 00000094 LookupLoop: - 00000094 23 CA and ecx, edx - 00000096 0F B7 0C 4F movzx ecx, word ptr [edi + ecx*2] - 0000009A 3B CD cmp ecx, ebp - 0000009C 0F 86 000000E0 jbe LeaveNow - 000000A2 81 EA 00010000 sub edx, 00010000h - 000000A8 0F 88 000000D4 js LeaveNow - 000000AE 0F B7 44 31 FF LoopEntry: movzx eax, word ptr [esi + ecx - 1] - 000000B3 3B C3 cmp eax, ebx - 000000B5 75 DD jnz LookupLoop - 000000B7 8B 44 24 04 mov eax, [window] - 000000BB 0F B7 04 01 movzx eax, word ptr [eax + ecx] - 000000BF 3B 44 24 10 cmp eax, [scanstart] - 000000C3 75 CF jnz LookupLoop - - ;;; Store the current value of chainlen. - - 000000C5 89 14 24 mov [chainlenwmask], edx - - ;;; Point edi to the string under scrutiny, and esi to the string we - ;;; are hoping to match it up with. In actuality, esi and edi are - ;;; both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and edx is - ;;; initialized to -(MAX_MATCH_8 - scanalign). - - 000000C8 8B 74 24 04 mov esi, [window] - 000000CC 8B 7C 24 20 mov edi, [scan] - 000000D0 03 F1 add esi, ecx - 000000D2 8B 44 24 14 mov eax, [scanalign] - 000000D6 BA FFFFFEF8 mov edx, 0fffffef8h; -(MAX_MATCH_8) - 000000DB 8D BC 38 lea edi, [edi + eax + 0108h] ;MAX_MATCH_8] - 00000108 - 000000E2 8D B4 30 lea esi, [esi + eax + 0108h] ;MAX_MATCH_8] - 00000108 - - ;;; Test the strings for equality, 8 bytes at a time. At the end, - ;;; adjust edx so that it is offset to the exact byte that mismatched. - ;;; - ;;; We already know at this point that the first three bytes of the - ;;; strings match each other, and they can be safely passed over before - ;;; starting the compare loop. So what this code does is skip over 0-3 - ;;; bytes, as much as necessary in order to dword-align the edi - ;;; pointer. (esi will still be misaligned three times out of four.) - ;;; - ;;; It should be confessed that this loop usually does not represent - ;;; much of the total running time. Replacing it with a more - ;;; straightforward "rep cmpsb" would not drastically degrade - ;;; performance. - - 000000E9 LoopCmps: - 000000E9 8B 04 32 mov eax, [esi + edx] - 000000EC 33 04 3A xor eax, [edi + edx] - 000000EF 75 14 jnz LeaveLoopCmps - 000000F1 8B 44 32 04 mov eax, [esi + edx + 4] - 000000F5 33 44 3A 04 xor eax, [edi + edx + 4] - 000000F9 75 07 jnz LeaveLoopCmps4 - 000000FB 83 C2 08 add edx, 8 - 000000FE 75 E9 jnz LoopCmps - 00000100 EB 71 jmp short LenMaximum - 00000102 83 C2 04 LeaveLoopCmps4: add edx, 4 - 00000105 A9 0000FFFF LeaveLoopCmps: test eax, 0000FFFFh - 0000010A 75 06 jnz LenLower - 0000010C 83 C2 02 add edx, 2 - 0000010F C1 E8 10 shr eax, 16 - 00000112 2C 01 LenLower: sub al, 1 - 00000114 83 D2 00 adc edx, 0 - - ;;; Calculate the length of the match. If it is longer than MAX_MATCH, - ;;; then automatically accept it as the best possible match and leave. - - 00000117 8D 04 3A lea eax, [edi + edx] - 0000011A 8B 7C 24 20 mov edi, [scan] - 0000011E 2B C7 sub eax, edi - 00000120 3D 00000102 cmp eax, MAX_MATCH - 00000125 7D 4C jge LenMaximum - - ;;; If the length of the match is not longer than the best match we - ;;; have so far, then forget it and return to the lookup loop. - - 00000127 8B 54 24 38 mov edx, [deflatestate] - 0000012B 8B 5C 24 1C mov ebx, [bestlen] - 0000012F 3B C3 cmp eax, ebx - 00000131 7F 13 jg LongerMatch - 00000133 8B 74 24 08 mov esi, [windowbestlen] - 00000137 8B 7A 40 mov edi, [edx + dsPrev] - 0000013A 8B 5C 24 0C mov ebx, [scanend] - 0000013E 8B 14 24 mov edx, [chainlenwmask] - 00000141 E9 FFFFFF4E jmp LookupLoop - - ;;; s->match_start = cur_match; - ;;; best_len = len; - ;;; if (len >= nice_match) break; - ;;; scan_end = *(ushf*)(scan+best_len-1); - - 00000146 8B 5C 24 18 LongerMatch: mov ebx, [nicematch] - 0000014A 89 44 24 1C mov [bestlen], eax - 0000014E 89 4A 70 mov [edx + dsMatchStart], ecx - 00000151 3B C3 cmp eax, ebx - 00000153 7D 2D jge LeaveNow - 00000155 8B 74 24 04 mov esi, [window] - 00000159 03 F0 add esi, eax - 0000015B 89 74 24 08 mov [windowbestlen], esi - 0000015F 0F B7 5C 38 FF movzx ebx, word ptr [edi + eax - 1] - 00000164 8B 7A 40 mov edi, [edx + dsPrev] - 00000167 89 5C 24 0C mov [scanend], ebx - 0000016B 8B 14 24 mov edx, [chainlenwmask] - 0000016E E9 FFFFFF21 jmp LookupLoop - - ;;; Accept the current string, with the maximum possible length. - - 00000173 8B 54 24 38 LenMaximum: mov edx, [deflatestate] - 00000177 C7 44 24 1C mov dword ptr [bestlen], MAX_MATCH - 00000102 - 0000017F 89 4A 70 mov [edx + dsMatchStart], ecx - - ;;; if ((uInt)best_len <= s->lookahead) return (uInt)best_len; - ;;; return s->lookahead; - - 00000182 LeaveNow: - 00000182 8B 54 24 38 mov edx, [deflatestate] - 00000186 8B 5C 24 1C mov ebx, [bestlen] - 0000018A 8B 42 74 mov eax, [edx + dsLookahead] - 0000018D 3B D8 cmp ebx, eax - 0000018F 7F 02 jg LookaheadRet - 00000191 8B C3 mov eax, ebx - 00000193 LookaheadRet: - - ;;; Restore the stack and return from whence we came. - - 00000193 83 C4 24 add esp, LocalVarsSize - 00000196 5B pop ebx - 00000197 5E pop esi - 00000198 5F pop edi - 00000199 5D pop ebp - - 0000019A C3 ret - ; please don't remove this string ! - ; Your can freely use match686 in any free or commercial app if you don't remove the string in the binary! - 0000019B 0D 0A 61 73 6D db 0dh,0ah,"asm686 with masm, optimised assembly code from Brian Raiter, written 1998",0dh,0ah - 36 38 36 20 77 - 69 74 68 20 6D - 61 73 6D 2C 20 - 6F 70 74 69 6D - 69 73 65 64 20 - 61 73 73 65 6D - 62 6C 79 20 63 - 6F 64 65 20 66 - 72 6F 6D 20 42 - 72 69 61 6E 20 - 52 61 69 74 65 - 72 2C 20 77 72 - 69 74 74 65 6E - 20 31 39 39 38 - 0D 0A - - - IFDEF NOUNDERLINE - ELSE - 000001E8 _longest_match endp - ENDIF - - IFDEF NOUNDERLINE - ELSE - 000001E8 _match_init proc near - 000001E8 C3 ret - 000001E9 _match_init endp - ENDIF - - - 000001E9 _TEXT ends - end - Microsoft (R) Macro Assembler Version 10.00.30319.01 04/13/12 13:33:40 -match686.asm Symbols 2 - 1 - - - - -Segments and Groups: - - N a m e Size Length Align Combine Class - -FLAT . . . . . . . . . . . . . . GROUP -_DATA . . . . . . . . . . . . . 32 Bit 00000000 Para Public 'DATA' -_TEXT . . . . . . . . . . . . . 32 Bit 000001E9 Para Public 'CODE' - - -Procedures, parameters, and locals: - - N a m e Type Value Attr - -_longest_match . . . . . . . . . P Near 00000000 _TEXT Length= 000001E8 Public - LastMatchGood . . . . . . . . L Near 00000025 _TEXT - LookaheadLess . . . . . . . . L Near 0000003D _TEXT - LimitPositive . . . . . . . . L Near 0000006C _TEXT - LookupLoop . . . . . . . . . . L Near 00000094 _TEXT - LoopEntry . . . . . . . . . . L Near 000000AE _TEXT - LoopCmps . . . . . . . . . . . L Near 000000E9 _TEXT - LeaveLoopCmps4 . . . . . . . . L Near 00000102 _TEXT - LeaveLoopCmps . . . . . . . . L Near 00000105 _TEXT - LenLower . . . . . . . . . . . L Near 00000112 _TEXT - LongerMatch . . . . . . . . . L Near 00000146 _TEXT - LenMaximum . . . . . . . . . . L Near 00000173 _TEXT - LeaveNow . . . . . . . . . . . L Near 00000182 _TEXT - LookaheadRet . . . . . . . . . L Near 00000193 _TEXT -_match_init . . . . . . . . . . P Near 000001E8 _TEXT Length= 00000001 Public - - -Symbols: - - N a m e Type Value Attr - -@CodeSize . . . . . . . . . . . Number 00000000h -@DataSize . . . . . . . . . . . Number 00000000h -@Interface . . . . . . . . . . . Number 00000000h -@Model . . . . . . . . . . . . . Number 00000007h -@code . . . . . . . . . . . . . Text _TEXT -@data . . . . . . . . . . . . . Text FLAT -@fardata? . . . . . . . . . . . Text FLAT -@fardata . . . . . . . . . . . . Text FLAT -@stack . . . . . . . . . . . . . Text FLAT -LocalVarsSize . . . . . . . . . Number 00000024h -MAX_MATCH_8_ . . . . . . . . . . Number 00000100h -MAX_MATCH . . . . . . . . . . . Number 00000102h -MIN_LOOKAHEAD . . . . . . . . . Number 00000106h -MIN_MATCH . . . . . . . . . . . Number 00000003h -NbStackAdd . . . . . . . . . . . Number 00000034h -NbStack . . . . . . . . . . . . Number 0000004Ch -adrret . . . . . . . . . . . . . Text dword ptr[esp+NbStack-8] -best_len . . . . . . . . . . . . Text dword ptr [esp+NbStack-36] -bestlen . . . . . . . . . . . . Text esp + 28 -chain_length . . . . . . . . . . Text dword ptr [esp+NbStack-28] -chainlenwmask . . . . . . . . . Text esp + 0 -cur_match . . . . . . . . . . . Text dword ptr[esp+NbStack-0] -curmatch . . . . . . . . . . . . Text esp + 60 -deflatestate . . . . . . . . . . Text esp + 56 -dep_chain_length . . . . . . . . Number 0000007Ch -dep_good_match . . . . . . . . . Number 0000008Ch -dep_lookahead . . . . . . . . . Number 00000074h -dep_match_start . . . . . . . . Number 00000070h -dep_nice_match . . . . . . . . . Number 00000090h -dep_prev_length . . . . . . . . Number 00000078h -dep_prev . . . . . . . . . . . . Number 00000040h -dep_strstart . . . . . . . . . . Number 0000006Ch -dep_w_mask . . . . . . . . . . . Number 00000034h -dep_w_size . . . . . . . . . . . Number 0000002Ch -dep_window . . . . . . . . . . . Number 00000038h -dsGoodMatch . . . . . . . . . . Number 0000008Ch -dsLookahead . . . . . . . . . . Number 00000074h -dsMatchLen . . . . . . . . . . . Number 00000060h -dsMatchStart . . . . . . . . . . Number 00000070h -dsMaxChainLen . . . . . . . . . Number 0000007Ch -dsNiceMatch . . . . . . . . . . Number 00000090h -dsPrevLen . . . . . . . . . . . Number 00000078h -dsPrevMatch . . . . . . . . . . Number 00000064h -dsPrev . . . . . . . . . . . . . Number 00000040h -dsStrStart . . . . . . . . . . . Number 0000006Ch -dsWMask . . . . . . . . . . . . Number 00000034h -dsWSize . . . . . . . . . . . . Number 0000002Ch -dsWindow . . . . . . . . . . . . Number 00000038h -limit . . . . . . . . . . . . . Text dword ptr [esp+NbStack-32] -match_start_ptr . . . . . . . . Text dword ptr [esp+NbStack-56] -match_start . . . . . . . . . . Text dword ptr [esp+NbStack-72] -nice_match . . . . . . . . . . . Text dword ptr [esp+NbStack-60] -nicematch . . . . . . . . . . . Text esp + 24 -prev . . . . . . . . . . . . . . Text dword ptr [esp+NbStack-44] -pushebp . . . . . . . . . . . . Text dword ptr[esp+NbStack-12] -pushebx . . . . . . . . . . . . Text dword ptr[esp+NbStack-24] -pushedi . . . . . . . . . . . . Text dword ptr[esp+NbStack-16] -pushesi . . . . . . . . . . . . Text dword ptr[esp+NbStack-20] -scan_start . . . . . . . . . . . Text word ptr [esp+NbStack-48] -scanalign . . . . . . . . . . . Text esp + 20 -scanend . . . . . . . . . . . . Text esp + 12 -scanstart . . . . . . . . . . . Text esp + 16 -scan . . . . . . . . . . . . . . Text esp + 32 -str_s . . . . . . . . . . . . . Text dword ptr[esp+NbStack-4] -strend . . . . . . . . . . . . . Text dword ptr [esp+NbStack-76] -windowbestlen . . . . . . . . . Text esp + 8 -windowlen . . . . . . . . . . . Text dword ptr [esp+NbStack-68] -window . . . . . . . . . . . . . Text esp + 4 -wmask . . . . . . . . . . . . . Text dword ptr [esp+NbStack-52] -zlib1222add . . . . . . . . . . Number 00000008h - - 0 Warnings - 0 Errors diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx86/readme.txt b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx86/readme.txt deleted file mode 100644 index 3271f720..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/masmx86/readme.txt +++ /dev/null @@ -1,27 +0,0 @@ - -Summary -------- -This directory contains ASM implementations of the functions -longest_match() and inflate_fast(). - - -Use instructions ----------------- -Assemble using MASM, and copy the object files into the zlib source -directory, then run the appropriate makefile, as suggested below. You can -donwload MASM from here: - - http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=7a1c9da0-0510-44a2-b042-7ef370530c64 - -You can also get objects files here: - - http://www.winimage.com/zLibDll/zlib124_masm_obj.zip - -Build instructions ------------------- -* With Microsoft C and MASM: -nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj" - -* With Borland C and TASM: -make -f win32/Makefile.bor LOCAL_ZLIB="-DASMV -DASMINF" OBJA="match686.obj inffas32.obj" OBJPA="+match686c.obj+match686.obj+inffas32.obj" - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/Makefile b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/Makefile deleted file mode 100644 index 84eaad20..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -CC=cc -CFLAGS=-O -I../.. - -UNZ_OBJS = miniunz.o unzip.o ioapi.o ../../libz.a -ZIP_OBJS = minizip.o zip.o ioapi.o ../../libz.a - -.c.o: - $(CC) -c $(CFLAGS) $*.c - -all: miniunz minizip - -miniunz: $(UNZ_OBJS) - $(CC) $(CFLAGS) -o $@ $(UNZ_OBJS) - -minizip: $(ZIP_OBJS) - $(CC) $(CFLAGS) -o $@ $(ZIP_OBJS) - -test: miniunz minizip - ./minizip test readme.txt - ./miniunz -l test.zip - mv readme.txt readme.old - ./miniunz test.zip - -clean: - /bin/rm -f *.o *~ minizip miniunz diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/Makefile.am b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/Makefile.am deleted file mode 100644 index 2ced9136..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/Makefile.am +++ /dev/null @@ -1,38 +0,0 @@ -lib_LTLIBRARIES = libminizip.la - -if COND_DEMOS -bin_PROGRAMS = miniunzip minizip -endif - -zlib_top_srcdir = $(top_srcdir)/../.. -zlib_top_builddir = $(top_builddir)/../.. - -AM_CPPFLAGS = -I$(zlib_top_srcdir) -AM_LDFLAGS = -L$(zlib_top_builddir) - -libminizip_la_SOURCES = \ - ioapi.c \ - mztools.c \ - unzip.c \ - zip.c - -libminizip_la_LDFLAGS = $(AM_LDFLAGS) -version-info 1:0:0 -lz - -minizip_includedir = $(includedir)/minizip -minizip_include_HEADERS = \ - crypt.h \ - ioapi.h \ - mztools.h \ - unzip.h \ - zip.h - -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = minizip.pc - -EXTRA_PROGRAMS = miniunzip minizip - -miniunzip_SOURCES = miniunz.c -miniunzip_LDADD = libminizip.la - -minizip_SOURCES = minizip.c -minizip_LDADD = libminizip.la -lz diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/MiniZip64_Changes.txt b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/MiniZip64_Changes.txt deleted file mode 100644 index 13a1bd91..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/MiniZip64_Changes.txt +++ /dev/null @@ -1,6 +0,0 @@ - -MiniZip 1.1 was derrived from MiniZip at version 1.01f - -Change in 1.0 (Okt 2009) - - **TODO - Add history** - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/MiniZip64_info.txt b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/MiniZip64_info.txt deleted file mode 100644 index 57d71524..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/MiniZip64_info.txt +++ /dev/null @@ -1,74 +0,0 @@ -MiniZip - Copyright (c) 1998-2010 - by Gilles Vollant - version 1.1 64 bits from Mathias Svensson - -Introduction ---------------------- -MiniZip 1.1 is built from MiniZip 1.0 by Gilles Vollant ( http://www.winimage.com/zLibDll/minizip.html ) - -When adding ZIP64 support into minizip it would result into risk of breaking compatibility with minizip 1.0. -All possible work was done for compatibility. - - -Background ---------------------- -When adding ZIP64 support Mathias Svensson found that Even Rouault have added ZIP64 -support for unzip.c into minizip for a open source project called gdal ( http://www.gdal.org/ ) - -That was used as a starting point. And after that ZIP64 support was added to zip.c -some refactoring and code cleanup was also done. - - -Changed from MiniZip 1.0 to MiniZip 1.1 ---------------------------------------- -* Added ZIP64 support for unzip ( by Even Rouault ) -* Added ZIP64 support for zip ( by Mathias Svensson ) -* Reverted some changed that Even Rouault did. -* Bunch of patches received from Gulles Vollant that he received for MiniZip from various users. -* Added unzip patch for BZIP Compression method (patch create by Daniel Borca) -* Added BZIP Compress method for zip -* Did some refactoring and code cleanup - - -Credits - - Gilles Vollant - Original MiniZip author - Even Rouault - ZIP64 unzip Support - Daniel Borca - BZip Compression method support in unzip - Mathias Svensson - ZIP64 zip support - Mathias Svensson - BZip Compression method support in zip - - Resources - - ZipLayout http://result42.com/projects/ZipFileLayout - Command line tool for Windows that shows the layout and information of the headers in a zip archive. - Used when debugging and validating the creation of zip files using MiniZip64 - - - ZIP App Note http://www.pkware.com/documents/casestudies/APPNOTE.TXT - Zip File specification - - -Notes. - * To be able to use BZip compression method in zip64.c or unzip64.c the BZIP2 lib is needed and HAVE_BZIP2 need to be defined. - -License ----------------------------------------------------------- - Condition of use and distribution are the same than zlib : - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - ----------------------------------------------------------- - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/configure.ac b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/configure.ac deleted file mode 100644 index 53adbb89..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/configure.ac +++ /dev/null @@ -1,22 +0,0 @@ -# -*- Autoconf -*- -# Process this file with autoconf to produce a configure script. - -AC_INIT([minizip], [1.2.6], [bugzilla.redhat.com]) -AC_CONFIG_SRCDIR([minizip.c]) -AM_INIT_AUTOMAKE([foreign]) -LT_INIT - -AC_MSG_CHECKING([whether to build example programs]) -AC_ARG_ENABLE([demos], AC_HELP_STRING([--enable-demos], [build example programs])) -AM_CONDITIONAL([COND_DEMOS], [test "$enable_demos" = yes]) -if test "$enable_demos" = yes -then - AC_MSG_RESULT([yes]) -else - AC_MSG_RESULT([no]) -fi - -AC_SUBST([HAVE_UNISTD_H], [0]) -AC_CHECK_HEADER([unistd.h], [HAVE_UNISTD_H=1], []) -AC_CONFIG_FILES([Makefile minizip.pc]) -AC_OUTPUT diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/crypt.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/crypt.h deleted file mode 100644 index a01d08d9..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/crypt.h +++ /dev/null @@ -1,131 +0,0 @@ -/* crypt.h -- base code for crypt/uncrypt ZIPfile - - - Version 1.01e, February 12th, 2005 - - Copyright (C) 1998-2005 Gilles Vollant - - This code is a modified version of crypting code in Infozip distribution - - The encryption/decryption parts of this source code (as opposed to the - non-echoing password parts) were originally written in Europe. The - whole source package can be freely distributed, including from the USA. - (Prior to January 2000, re-export from the US was a violation of US law.) - - This encryption code is a direct transcription of the algorithm from - Roger Schlafly, described by Phil Katz in the file appnote.txt. This - file (appnote.txt) is distributed with the PKZIP program (even in the - version without encryption capabilities). - - If you don't need crypting in your application, just define symbols - NOCRYPT and NOUNCRYPT. - - This code support the "Traditional PKWARE Encryption". - - The new AES encryption added on Zip format by Winzip (see the page - http://www.winzip.com/aes_info.htm ) and PKWare PKZip 5.x Strong - Encryption is not supported. -*/ - -#define CRC32(c, b) ((*(pcrc_32_tab+(((int)(c) ^ (b)) & 0xff))) ^ ((c) >> 8)) - -/*********************************************************************** - * Return the next byte in the pseudo-random sequence - */ -static int decrypt_byte(unsigned long* pkeys, const unsigned long* pcrc_32_tab) -{ - unsigned temp; /* POTENTIAL BUG: temp*(temp^1) may overflow in an - * unpredictable manner on 16-bit systems; not a problem - * with any known compiler so far, though */ - - temp = ((unsigned)(*(pkeys+2)) & 0xffff) | 2; - return (int)(((temp * (temp ^ 1)) >> 8) & 0xff); -} - -/*********************************************************************** - * Update the encryption keys with the next byte of plain text - */ -static int update_keys(unsigned long* pkeys,const unsigned long* pcrc_32_tab,int c) -{ - (*(pkeys+0)) = CRC32((*(pkeys+0)), c); - (*(pkeys+1)) += (*(pkeys+0)) & 0xff; - (*(pkeys+1)) = (*(pkeys+1)) * 134775813L + 1; - { - register int keyshift = (int)((*(pkeys+1)) >> 24); - (*(pkeys+2)) = CRC32((*(pkeys+2)), keyshift); - } - return c; -} - - -/*********************************************************************** - * Initialize the encryption keys and the random header according to - * the given password. - */ -static void init_keys(const char* passwd,unsigned long* pkeys,const unsigned long* pcrc_32_tab) -{ - *(pkeys+0) = 305419896L; - *(pkeys+1) = 591751049L; - *(pkeys+2) = 878082192L; - while (*passwd != '\0') { - update_keys(pkeys,pcrc_32_tab,(int)*passwd); - passwd++; - } -} - -#define zdecode(pkeys,pcrc_32_tab,c) \ - (update_keys(pkeys,pcrc_32_tab,c ^= decrypt_byte(pkeys,pcrc_32_tab))) - -#define zencode(pkeys,pcrc_32_tab,c,t) \ - (t=decrypt_byte(pkeys,pcrc_32_tab), update_keys(pkeys,pcrc_32_tab,c), t^(c)) - -#ifdef INCLUDECRYPTINGCODE_IFCRYPTALLOWED - -#define RAND_HEAD_LEN 12 - /* "last resort" source for second part of crypt seed pattern */ -# ifndef ZCR_SEED2 -# define ZCR_SEED2 3141592654UL /* use PI as default pattern */ -# endif - -static int crypthead(const char* passwd, /* password string */ - unsigned char* buf, /* where to write header */ - int bufSize, - unsigned long* pkeys, - const unsigned long* pcrc_32_tab, - unsigned long crcForCrypting) -{ - int n; /* index in random header */ - int t; /* temporary */ - int c; /* random byte */ - unsigned char header[RAND_HEAD_LEN-2]; /* random header */ - static unsigned calls = 0; /* ensure different random header each time */ - - if (bufSize> 7) & 0xff; - header[n] = (unsigned char)zencode(pkeys, pcrc_32_tab, c, t); - } - /* Encrypt random header (last two bytes is high word of crc) */ - init_keys(passwd, pkeys, pcrc_32_tab); - for (n = 0; n < RAND_HEAD_LEN-2; n++) - { - buf[n] = (unsigned char)zencode(pkeys, pcrc_32_tab, header[n], t); - } - buf[n++] = (unsigned char)zencode(pkeys, pcrc_32_tab, (int)(crcForCrypting >> 16) & 0xff, t); - buf[n++] = (unsigned char)zencode(pkeys, pcrc_32_tab, (int)(crcForCrypting >> 24) & 0xff, t); - return n; -} - -#endif diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/fmuExtract.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/fmuExtract.h deleted file mode 100644 index 9a6fac98..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/fmuExtract.h +++ /dev/null @@ -1,28 +0,0 @@ -/* ------------------------------------------------------------------------- - * Function for extracting FMU files - * Author: Teemu Lempinen - * Copyright 2012 Semantum Oy - * -------------------------------------------------------------------------*/ - -#ifndef fmuExtract_h -#define fmuExtract_h - - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef EXTRACT_DLL - #define EXTRACT_API __declspec(dllexport) -#else - #define EXTRACT_API __declspec(dllimport) -#endif - -EXTRACT_API int unzipFMU(const char *zipFileName, const char*outPath); -EXTRACT_API int makedir(char *newdir); - -#ifdef __cplusplus -} -#endif - -#endif // fmuExtract_h diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/ioapi.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/ioapi.c deleted file mode 100644 index 7f5c191b..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/ioapi.c +++ /dev/null @@ -1,247 +0,0 @@ -/* ioapi.h -- IO base function header for compress/uncompress .zip - part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html ) - - Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) - - Modifications for Zip64 support - Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) - - For more info read MiniZip_info.txt - -*/ - -#if defined(_WIN32) && (!(defined(_CRT_SECURE_NO_WARNINGS))) - #define _CRT_SECURE_NO_WARNINGS -#endif - -#if defined(__APPLE__) || defined(IOAPI_NO_64) -// In darwin and perhaps other BSD variants off_t is a 64 bit value, hence no need for specific 64 bit functions -#define FOPEN_FUNC(filename, mode) fopen(filename, mode) -#define FTELLO_FUNC(stream) ftello(stream) -#define FSEEKO_FUNC(stream, offset, origin) fseeko(stream, offset, origin) -#else -#define FOPEN_FUNC(filename, mode) fopen64(filename, mode) -#define FTELLO_FUNC(stream) ftello64(stream) -#define FSEEKO_FUNC(stream, offset, origin) fseeko64(stream, offset, origin) -#endif - - -#include "ioapi.h" - -voidpf call_zopen64 (const zlib_filefunc64_32_def* pfilefunc,const void*filename,int mode) -{ - if (pfilefunc->zfile_func64.zopen64_file != NULL) - return (*(pfilefunc->zfile_func64.zopen64_file)) (pfilefunc->zfile_func64.opaque,filename,mode); - else - { - return (*(pfilefunc->zopen32_file))(pfilefunc->zfile_func64.opaque,(const char*)filename,mode); - } -} - -long call_zseek64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filestream, ZPOS64_T offset, int origin) -{ - if (pfilefunc->zfile_func64.zseek64_file != NULL) - return (*(pfilefunc->zfile_func64.zseek64_file)) (pfilefunc->zfile_func64.opaque,filestream,offset,origin); - else - { - uLong offsetTruncated = (uLong)offset; - if (offsetTruncated != offset) - return -1; - else - return (*(pfilefunc->zseek32_file))(pfilefunc->zfile_func64.opaque,filestream,offsetTruncated,origin); - } -} - -ZPOS64_T call_ztell64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filestream) -{ - if (pfilefunc->zfile_func64.zseek64_file != NULL) - return (*(pfilefunc->zfile_func64.ztell64_file)) (pfilefunc->zfile_func64.opaque,filestream); - else - { - uLong tell_uLong = (*(pfilefunc->ztell32_file))(pfilefunc->zfile_func64.opaque,filestream); - if ((tell_uLong) == MAXU32) - return (ZPOS64_T)-1; - else - return tell_uLong; - } -} - -void fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def* p_filefunc64_32,const zlib_filefunc_def* p_filefunc32) -{ - p_filefunc64_32->zfile_func64.zopen64_file = NULL; - p_filefunc64_32->zopen32_file = p_filefunc32->zopen_file; - p_filefunc64_32->zfile_func64.zerror_file = p_filefunc32->zerror_file; - p_filefunc64_32->zfile_func64.zread_file = p_filefunc32->zread_file; - p_filefunc64_32->zfile_func64.zwrite_file = p_filefunc32->zwrite_file; - p_filefunc64_32->zfile_func64.ztell64_file = NULL; - p_filefunc64_32->zfile_func64.zseek64_file = NULL; - p_filefunc64_32->zfile_func64.zclose_file = p_filefunc32->zclose_file; - p_filefunc64_32->zfile_func64.zerror_file = p_filefunc32->zerror_file; - p_filefunc64_32->zfile_func64.opaque = p_filefunc32->opaque; - p_filefunc64_32->zseek32_file = p_filefunc32->zseek_file; - p_filefunc64_32->ztell32_file = p_filefunc32->ztell_file; -} - - - -static voidpf ZCALLBACK fopen_file_func OF((voidpf opaque, const char* filename, int mode)); -static uLong ZCALLBACK fread_file_func OF((voidpf opaque, voidpf stream, void* buf, uLong size)); -static uLong ZCALLBACK fwrite_file_func OF((voidpf opaque, voidpf stream, const void* buf,uLong size)); -static ZPOS64_T ZCALLBACK ftell64_file_func OF((voidpf opaque, voidpf stream)); -static long ZCALLBACK fseek64_file_func OF((voidpf opaque, voidpf stream, ZPOS64_T offset, int origin)); -static int ZCALLBACK fclose_file_func OF((voidpf opaque, voidpf stream)); -static int ZCALLBACK ferror_file_func OF((voidpf opaque, voidpf stream)); - -static voidpf ZCALLBACK fopen_file_func (voidpf opaque, const char* filename, int mode) -{ - FILE* file = NULL; - const char* mode_fopen = NULL; - if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ) - mode_fopen = "rb"; - else - if (mode & ZLIB_FILEFUNC_MODE_EXISTING) - mode_fopen = "r+b"; - else - if (mode & ZLIB_FILEFUNC_MODE_CREATE) - mode_fopen = "wb"; - - if ((filename!=NULL) && (mode_fopen != NULL)) - file = fopen(filename, mode_fopen); - return file; -} - -static voidpf ZCALLBACK fopen64_file_func (voidpf opaque, const void* filename, int mode) -{ - FILE* file = NULL; - const char* mode_fopen = NULL; - if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ) - mode_fopen = "rb"; - else - if (mode & ZLIB_FILEFUNC_MODE_EXISTING) - mode_fopen = "r+b"; - else - if (mode & ZLIB_FILEFUNC_MODE_CREATE) - mode_fopen = "wb"; - - if ((filename!=NULL) && (mode_fopen != NULL)) - file = FOPEN_FUNC((const char*)filename, mode_fopen); - return file; -} - - -static uLong ZCALLBACK fread_file_func (voidpf opaque, voidpf stream, void* buf, uLong size) -{ - uLong ret; - ret = (uLong)fread(buf, 1, (size_t)size, (FILE *)stream); - return ret; -} - -static uLong ZCALLBACK fwrite_file_func (voidpf opaque, voidpf stream, const void* buf, uLong size) -{ - uLong ret; - ret = (uLong)fwrite(buf, 1, (size_t)size, (FILE *)stream); - return ret; -} - -static long ZCALLBACK ftell_file_func (voidpf opaque, voidpf stream) -{ - long ret; - ret = ftell((FILE *)stream); - return ret; -} - - -static ZPOS64_T ZCALLBACK ftell64_file_func (voidpf opaque, voidpf stream) -{ - ZPOS64_T ret; - ret = FTELLO_FUNC((FILE *)stream); - return ret; -} - -static long ZCALLBACK fseek_file_func (voidpf opaque, voidpf stream, uLong offset, int origin) -{ - int fseek_origin=0; - long ret; - switch (origin) - { - case ZLIB_FILEFUNC_SEEK_CUR : - fseek_origin = SEEK_CUR; - break; - case ZLIB_FILEFUNC_SEEK_END : - fseek_origin = SEEK_END; - break; - case ZLIB_FILEFUNC_SEEK_SET : - fseek_origin = SEEK_SET; - break; - default: return -1; - } - ret = 0; - if (fseek((FILE *)stream, offset, fseek_origin) != 0) - ret = -1; - return ret; -} - -static long ZCALLBACK fseek64_file_func (voidpf opaque, voidpf stream, ZPOS64_T offset, int origin) -{ - int fseek_origin=0; - long ret; - switch (origin) - { - case ZLIB_FILEFUNC_SEEK_CUR : - fseek_origin = SEEK_CUR; - break; - case ZLIB_FILEFUNC_SEEK_END : - fseek_origin = SEEK_END; - break; - case ZLIB_FILEFUNC_SEEK_SET : - fseek_origin = SEEK_SET; - break; - default: return -1; - } - ret = 0; - - if(FSEEKO_FUNC((FILE *)stream, offset, fseek_origin) != 0) - ret = -1; - - return ret; -} - - -static int ZCALLBACK fclose_file_func (voidpf opaque, voidpf stream) -{ - int ret; - ret = fclose((FILE *)stream); - return ret; -} - -static int ZCALLBACK ferror_file_func (voidpf opaque, voidpf stream) -{ - int ret; - ret = ferror((FILE *)stream); - return ret; -} - -void fill_fopen_filefunc (pzlib_filefunc_def) - zlib_filefunc_def* pzlib_filefunc_def; -{ - pzlib_filefunc_def->zopen_file = fopen_file_func; - pzlib_filefunc_def->zread_file = fread_file_func; - pzlib_filefunc_def->zwrite_file = fwrite_file_func; - pzlib_filefunc_def->ztell_file = ftell_file_func; - pzlib_filefunc_def->zseek_file = fseek_file_func; - pzlib_filefunc_def->zclose_file = fclose_file_func; - pzlib_filefunc_def->zerror_file = ferror_file_func; - pzlib_filefunc_def->opaque = NULL; -} - -void fill_fopen64_filefunc (zlib_filefunc64_def* pzlib_filefunc_def) -{ - pzlib_filefunc_def->zopen64_file = fopen64_file_func; - pzlib_filefunc_def->zread_file = fread_file_func; - pzlib_filefunc_def->zwrite_file = fwrite_file_func; - pzlib_filefunc_def->ztell64_file = ftell64_file_func; - pzlib_filefunc_def->zseek64_file = fseek64_file_func; - pzlib_filefunc_def->zclose_file = fclose_file_func; - pzlib_filefunc_def->zerror_file = ferror_file_func; - pzlib_filefunc_def->opaque = NULL; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/ioapi.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/ioapi.h deleted file mode 100644 index 8dcbdb06..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/ioapi.h +++ /dev/null @@ -1,208 +0,0 @@ -/* ioapi.h -- IO base function header for compress/uncompress .zip - part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html ) - - Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) - - Modifications for Zip64 support - Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) - - For more info read MiniZip_info.txt - - Changes - - Oct-2009 - Defined ZPOS64_T to fpos_t on windows and u_int64_t on linux. (might need to find a better why for this) - Oct-2009 - Change to fseeko64, ftello64 and fopen64 so large files would work on linux. - More if/def section may be needed to support other platforms - Oct-2009 - Defined fxxxx64 calls to normal fopen/ftell/fseek so they would compile on windows. - (but you should use iowin32.c for windows instead) - -*/ - -#ifndef _ZLIBIOAPI64_H -#define _ZLIBIOAPI64_H - -#if (!defined(_WIN32)) && (!defined(WIN32)) && (!defined(__APPLE__)) - - // Linux needs this to support file operation on files larger then 4+GB - // But might need better if/def to select just the platforms that needs them. - - #ifndef __USE_FILE_OFFSET64 - #define __USE_FILE_OFFSET64 - #endif - #ifndef __USE_LARGEFILE64 - #define __USE_LARGEFILE64 - #endif - #ifndef _LARGEFILE64_SOURCE - #define _LARGEFILE64_SOURCE - #endif - #ifndef _FILE_OFFSET_BIT - #define _FILE_OFFSET_BIT 64 - #endif - -#endif - -#include -#include -#include "zlib.h" - -#if defined(USE_FILE32API) -#define fopen64 fopen -#define ftello64 ftell -#define fseeko64 fseek -#else -#ifdef __FreeBSD__ -#define fopen64 fopen -#define ftello64 ftello -#define fseeko64 fseeko -#endif -#ifdef _MSC_VER - #define fopen64 fopen - #if (_MSC_VER >= 1400) && (!(defined(NO_MSCVER_FILE64_FUNC))) - #define ftello64 _ftelli64 - #define fseeko64 _fseeki64 - #else // old MSC - #define ftello64 ftell - #define fseeko64 fseek - #endif -#endif -#endif - -/* -#ifndef ZPOS64_T - #ifdef _WIN32 - #define ZPOS64_T fpos_t - #else - #include - #define ZPOS64_T uint64_t - #endif -#endif -*/ - -#ifdef HAVE_MINIZIP64_CONF_H -#include "mz64conf.h" -#endif - -/* a type choosen by DEFINE */ -#ifdef HAVE_64BIT_INT_CUSTOM -typedef 64BIT_INT_CUSTOM_TYPE ZPOS64_T; -#else -#ifdef HAS_STDINT_H -#include "stdint.h" -typedef uint64_t ZPOS64_T; -#else - -/* Maximum unsigned 32-bit value used as placeholder for zip64 */ -#define MAXU32 0xffffffff - -#if defined(_MSC_VER) || defined(__BORLANDC__) -typedef unsigned __int64 ZPOS64_T; -#else -typedef unsigned long long int ZPOS64_T; -#endif -#endif -#endif - - - -#ifdef __cplusplus -extern "C" { -#endif - - -#define ZLIB_FILEFUNC_SEEK_CUR (1) -#define ZLIB_FILEFUNC_SEEK_END (2) -#define ZLIB_FILEFUNC_SEEK_SET (0) - -#define ZLIB_FILEFUNC_MODE_READ (1) -#define ZLIB_FILEFUNC_MODE_WRITE (2) -#define ZLIB_FILEFUNC_MODE_READWRITEFILTER (3) - -#define ZLIB_FILEFUNC_MODE_EXISTING (4) -#define ZLIB_FILEFUNC_MODE_CREATE (8) - - -#ifndef ZCALLBACK - #if (defined(WIN32) || defined(_WIN32) || defined (WINDOWS) || defined (_WINDOWS)) && defined(CALLBACK) && defined (USEWINDOWS_CALLBACK) - #define ZCALLBACK CALLBACK - #else - #define ZCALLBACK - #endif -#endif - - - - -typedef voidpf (ZCALLBACK *open_file_func) OF((voidpf opaque, const char* filename, int mode)); -typedef uLong (ZCALLBACK *read_file_func) OF((voidpf opaque, voidpf stream, void* buf, uLong size)); -typedef uLong (ZCALLBACK *write_file_func) OF((voidpf opaque, voidpf stream, const void* buf, uLong size)); -typedef int (ZCALLBACK *close_file_func) OF((voidpf opaque, voidpf stream)); -typedef int (ZCALLBACK *testerror_file_func) OF((voidpf opaque, voidpf stream)); - -typedef long (ZCALLBACK *tell_file_func) OF((voidpf opaque, voidpf stream)); -typedef long (ZCALLBACK *seek_file_func) OF((voidpf opaque, voidpf stream, uLong offset, int origin)); - - -/* here is the "old" 32 bits structure structure */ -typedef struct zlib_filefunc_def_s -{ - open_file_func zopen_file; - read_file_func zread_file; - write_file_func zwrite_file; - tell_file_func ztell_file; - seek_file_func zseek_file; - close_file_func zclose_file; - testerror_file_func zerror_file; - voidpf opaque; -} zlib_filefunc_def; - -typedef ZPOS64_T (ZCALLBACK *tell64_file_func) OF((voidpf opaque, voidpf stream)); -typedef long (ZCALLBACK *seek64_file_func) OF((voidpf opaque, voidpf stream, ZPOS64_T offset, int origin)); -typedef voidpf (ZCALLBACK *open64_file_func) OF((voidpf opaque, const void* filename, int mode)); - -typedef struct zlib_filefunc64_def_s -{ - open64_file_func zopen64_file; - read_file_func zread_file; - write_file_func zwrite_file; - tell64_file_func ztell64_file; - seek64_file_func zseek64_file; - close_file_func zclose_file; - testerror_file_func zerror_file; - voidpf opaque; -} zlib_filefunc64_def; - -void fill_fopen64_filefunc OF((zlib_filefunc64_def* pzlib_filefunc_def)); -void fill_fopen_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def)); - -/* now internal definition, only for zip.c and unzip.h */ -typedef struct zlib_filefunc64_32_def_s -{ - zlib_filefunc64_def zfile_func64; - open_file_func zopen32_file; - tell_file_func ztell32_file; - seek_file_func zseek32_file; -} zlib_filefunc64_32_def; - - -#define ZREAD64(filefunc,filestream,buf,size) ((*((filefunc).zfile_func64.zread_file)) ((filefunc).zfile_func64.opaque,filestream,buf,size)) -#define ZWRITE64(filefunc,filestream,buf,size) ((*((filefunc).zfile_func64.zwrite_file)) ((filefunc).zfile_func64.opaque,filestream,buf,size)) -//#define ZTELL64(filefunc,filestream) ((*((filefunc).ztell64_file)) ((filefunc).opaque,filestream)) -//#define ZSEEK64(filefunc,filestream,pos,mode) ((*((filefunc).zseek64_file)) ((filefunc).opaque,filestream,pos,mode)) -#define ZCLOSE64(filefunc,filestream) ((*((filefunc).zfile_func64.zclose_file)) ((filefunc).zfile_func64.opaque,filestream)) -#define ZERROR64(filefunc,filestream) ((*((filefunc).zfile_func64.zerror_file)) ((filefunc).zfile_func64.opaque,filestream)) - -voidpf call_zopen64 OF((const zlib_filefunc64_32_def* pfilefunc,const void*filename,int mode)); -long call_zseek64 OF((const zlib_filefunc64_32_def* pfilefunc,voidpf filestream, ZPOS64_T offset, int origin)); -ZPOS64_T call_ztell64 OF((const zlib_filefunc64_32_def* pfilefunc,voidpf filestream)); - -void fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def* p_filefunc64_32,const zlib_filefunc_def* p_filefunc32); - -#define ZOPEN64(filefunc,filename,mode) (call_zopen64((&(filefunc)),(filename),(mode))) -#define ZTELL64(filefunc,filestream) (call_ztell64((&(filefunc)),(filestream))) -#define ZSEEK64(filefunc,filestream,pos,mode) (call_zseek64((&(filefunc)),(filestream),(pos),(mode))) - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/iowin32.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/iowin32.c deleted file mode 100644 index 6a2a883b..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/iowin32.c +++ /dev/null @@ -1,389 +0,0 @@ -/* iowin32.c -- IO base function header for compress/uncompress .zip - Version 1.1, February 14h, 2010 - part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html ) - - Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) - - Modifications for Zip64 support - Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) - - For more info read MiniZip_info.txt - -*/ - -#include - -#include "zlib.h" -#include "ioapi.h" -#include "iowin32.h" - -#ifndef INVALID_HANDLE_VALUE -#define INVALID_HANDLE_VALUE (0xFFFFFFFF) -#endif - -#ifndef INVALID_SET_FILE_POINTER -#define INVALID_SET_FILE_POINTER ((DWORD)-1) -#endif - -voidpf ZCALLBACK win32_open_file_func OF((voidpf opaque, const char* filename, int mode)); -uLong ZCALLBACK win32_read_file_func OF((voidpf opaque, voidpf stream, void* buf, uLong size)); -uLong ZCALLBACK win32_write_file_func OF((voidpf opaque, voidpf stream, const void* buf, uLong size)); -ZPOS64_T ZCALLBACK win32_tell64_file_func OF((voidpf opaque, voidpf stream)); -long ZCALLBACK win32_seek64_file_func OF((voidpf opaque, voidpf stream, ZPOS64_T offset, int origin)); -int ZCALLBACK win32_close_file_func OF((voidpf opaque, voidpf stream)); -int ZCALLBACK win32_error_file_func OF((voidpf opaque, voidpf stream)); - -typedef struct -{ - HANDLE hf; - int error; -} WIN32FILE_IOWIN; - - -static void win32_translate_open_mode(int mode, - DWORD* lpdwDesiredAccess, - DWORD* lpdwCreationDisposition, - DWORD* lpdwShareMode, - DWORD* lpdwFlagsAndAttributes) -{ - *lpdwDesiredAccess = *lpdwShareMode = *lpdwFlagsAndAttributes = *lpdwCreationDisposition = 0; - - if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ) - { - *lpdwDesiredAccess = GENERIC_READ; - *lpdwCreationDisposition = OPEN_EXISTING; - *lpdwShareMode = FILE_SHARE_READ; - } - else if (mode & ZLIB_FILEFUNC_MODE_EXISTING) - { - *lpdwDesiredAccess = GENERIC_WRITE | GENERIC_READ; - *lpdwCreationDisposition = OPEN_EXISTING; - } - else if (mode & ZLIB_FILEFUNC_MODE_CREATE) - { - *lpdwDesiredAccess = GENERIC_WRITE | GENERIC_READ; - *lpdwCreationDisposition = CREATE_ALWAYS; - } -} - -static voidpf win32_build_iowin(HANDLE hFile) -{ - voidpf ret=NULL; - - if ((hFile != NULL) && (hFile != INVALID_HANDLE_VALUE)) - { - WIN32FILE_IOWIN w32fiow; - w32fiow.hf = hFile; - w32fiow.error = 0; - ret = malloc(sizeof(WIN32FILE_IOWIN)); - - if (ret==NULL) - CloseHandle(hFile); - else - *((WIN32FILE_IOWIN*)ret) = w32fiow; - } - return ret; -} - -voidpf ZCALLBACK win32_open64_file_func (voidpf opaque,const void* filename,int mode) -{ - const char* mode_fopen = NULL; - DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ; - HANDLE hFile = NULL; - - win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes); - - if ((filename!=NULL) && (dwDesiredAccess != 0)) - hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL); - - return win32_build_iowin(hFile); -} - - -voidpf ZCALLBACK win32_open64_file_funcA (voidpf opaque,const void* filename,int mode) -{ - const char* mode_fopen = NULL; - DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ; - HANDLE hFile = NULL; - - win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes); - - if ((filename!=NULL) && (dwDesiredAccess != 0)) - hFile = CreateFileA((LPCSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL); - - return win32_build_iowin(hFile); -} - - -voidpf ZCALLBACK win32_open64_file_funcW (voidpf opaque,const void* filename,int mode) -{ - const char* mode_fopen = NULL; - DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ; - HANDLE hFile = NULL; - - win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes); - - if ((filename!=NULL) && (dwDesiredAccess != 0)) - hFile = CreateFileW((LPCWSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL); - - return win32_build_iowin(hFile); -} - - -voidpf ZCALLBACK win32_open_file_func (voidpf opaque,const char* filename,int mode) -{ - const char* mode_fopen = NULL; - DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ; - HANDLE hFile = NULL; - - win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes); - - if ((filename!=NULL) && (dwDesiredAccess != 0)) - hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL); - - return win32_build_iowin(hFile); -} - - -uLong ZCALLBACK win32_read_file_func (voidpf opaque, voidpf stream, void* buf,uLong size) -{ - uLong ret=0; - HANDLE hFile = NULL; - if (stream!=NULL) - hFile = ((WIN32FILE_IOWIN*)stream) -> hf; - - if (hFile != NULL) - { - if (!ReadFile(hFile, buf, size, &ret, NULL)) - { - DWORD dwErr = GetLastError(); - if (dwErr == ERROR_HANDLE_EOF) - dwErr = 0; - ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; - } - } - - return ret; -} - - -uLong ZCALLBACK win32_write_file_func (voidpf opaque,voidpf stream,const void* buf,uLong size) -{ - uLong ret=0; - HANDLE hFile = NULL; - if (stream!=NULL) - hFile = ((WIN32FILE_IOWIN*)stream) -> hf; - - if (hFile != NULL) - { - if (!WriteFile(hFile, buf, size, &ret, NULL)) - { - DWORD dwErr = GetLastError(); - if (dwErr == ERROR_HANDLE_EOF) - dwErr = 0; - ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; - } - } - - return ret; -} - -long ZCALLBACK win32_tell_file_func (voidpf opaque,voidpf stream) -{ - long ret=-1; - HANDLE hFile = NULL; - if (stream!=NULL) - hFile = ((WIN32FILE_IOWIN*)stream) -> hf; - if (hFile != NULL) - { - DWORD dwSet = SetFilePointer(hFile, 0, NULL, FILE_CURRENT); - if (dwSet == INVALID_SET_FILE_POINTER) - { - DWORD dwErr = GetLastError(); - ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; - ret = -1; - } - else - ret=(long)dwSet; - } - return ret; -} - -ZPOS64_T ZCALLBACK win32_tell64_file_func (voidpf opaque, voidpf stream) -{ - ZPOS64_T ret= (ZPOS64_T)-1; - HANDLE hFile = NULL; - if (stream!=NULL) - hFile = ((WIN32FILE_IOWIN*)stream)->hf; - - if (hFile) - { - LARGE_INTEGER li; - li.QuadPart = 0; - li.u.LowPart = SetFilePointer(hFile, li.u.LowPart, &li.u.HighPart, FILE_CURRENT); - if ( (li.LowPart == 0xFFFFFFFF) && (GetLastError() != NO_ERROR)) - { - DWORD dwErr = GetLastError(); - ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; - ret = (ZPOS64_T)-1; - } - else - ret=li.QuadPart; - } - return ret; -} - - -long ZCALLBACK win32_seek_file_func (voidpf opaque,voidpf stream,uLong offset,int origin) -{ - DWORD dwMoveMethod=0xFFFFFFFF; - HANDLE hFile = NULL; - - long ret=-1; - if (stream!=NULL) - hFile = ((WIN32FILE_IOWIN*)stream) -> hf; - switch (origin) - { - case ZLIB_FILEFUNC_SEEK_CUR : - dwMoveMethod = FILE_CURRENT; - break; - case ZLIB_FILEFUNC_SEEK_END : - dwMoveMethod = FILE_END; - break; - case ZLIB_FILEFUNC_SEEK_SET : - dwMoveMethod = FILE_BEGIN; - break; - default: return -1; - } - - if (hFile != NULL) - { - DWORD dwSet = SetFilePointer(hFile, offset, NULL, dwMoveMethod); - if (dwSet == INVALID_SET_FILE_POINTER) - { - DWORD dwErr = GetLastError(); - ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; - ret = -1; - } - else - ret=0; - } - return ret; -} - -long ZCALLBACK win32_seek64_file_func (voidpf opaque, voidpf stream,ZPOS64_T offset,int origin) -{ - DWORD dwMoveMethod=0xFFFFFFFF; - HANDLE hFile = NULL; - long ret=-1; - - if (stream!=NULL) - hFile = ((WIN32FILE_IOWIN*)stream)->hf; - - switch (origin) - { - case ZLIB_FILEFUNC_SEEK_CUR : - dwMoveMethod = FILE_CURRENT; - break; - case ZLIB_FILEFUNC_SEEK_END : - dwMoveMethod = FILE_END; - break; - case ZLIB_FILEFUNC_SEEK_SET : - dwMoveMethod = FILE_BEGIN; - break; - default: return -1; - } - - if (hFile) - { - LARGE_INTEGER* li = (LARGE_INTEGER*)&offset; - DWORD dwSet = SetFilePointer(hFile, li->u.LowPart, &li->u.HighPart, dwMoveMethod); - if (dwSet == INVALID_SET_FILE_POINTER) - { - DWORD dwErr = GetLastError(); - ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; - ret = -1; - } - else - ret=0; - } - return ret; -} - -int ZCALLBACK win32_close_file_func (voidpf opaque, voidpf stream) -{ - int ret=-1; - - if (stream!=NULL) - { - HANDLE hFile; - hFile = ((WIN32FILE_IOWIN*)stream) -> hf; - if (hFile != NULL) - { - CloseHandle(hFile); - ret=0; - } - free(stream); - } - return ret; -} - -int ZCALLBACK win32_error_file_func (voidpf opaque,voidpf stream) -{ - int ret=-1; - if (stream!=NULL) - { - ret = ((WIN32FILE_IOWIN*)stream) -> error; - } - return ret; -} - -void fill_win32_filefunc (zlib_filefunc_def* pzlib_filefunc_def) -{ - pzlib_filefunc_def->zopen_file = win32_open_file_func; - pzlib_filefunc_def->zread_file = win32_read_file_func; - pzlib_filefunc_def->zwrite_file = win32_write_file_func; - pzlib_filefunc_def->ztell_file = win32_tell_file_func; - pzlib_filefunc_def->zseek_file = win32_seek_file_func; - pzlib_filefunc_def->zclose_file = win32_close_file_func; - pzlib_filefunc_def->zerror_file = win32_error_file_func; - pzlib_filefunc_def->opaque = NULL; -} - -void fill_win32_filefunc64(zlib_filefunc64_def* pzlib_filefunc_def) -{ - pzlib_filefunc_def->zopen64_file = win32_open64_file_func; - pzlib_filefunc_def->zread_file = win32_read_file_func; - pzlib_filefunc_def->zwrite_file = win32_write_file_func; - pzlib_filefunc_def->ztell64_file = win32_tell64_file_func; - pzlib_filefunc_def->zseek64_file = win32_seek64_file_func; - pzlib_filefunc_def->zclose_file = win32_close_file_func; - pzlib_filefunc_def->zerror_file = win32_error_file_func; - pzlib_filefunc_def->opaque = NULL; -} - - -void fill_win32_filefunc64A(zlib_filefunc64_def* pzlib_filefunc_def) -{ - pzlib_filefunc_def->zopen64_file = win32_open64_file_funcA; - pzlib_filefunc_def->zread_file = win32_read_file_func; - pzlib_filefunc_def->zwrite_file = win32_write_file_func; - pzlib_filefunc_def->ztell64_file = win32_tell64_file_func; - pzlib_filefunc_def->zseek64_file = win32_seek64_file_func; - pzlib_filefunc_def->zclose_file = win32_close_file_func; - pzlib_filefunc_def->zerror_file = win32_error_file_func; - pzlib_filefunc_def->opaque = NULL; -} - - -void fill_win32_filefunc64W(zlib_filefunc64_def* pzlib_filefunc_def) -{ - pzlib_filefunc_def->zopen64_file = win32_open64_file_funcW; - pzlib_filefunc_def->zread_file = win32_read_file_func; - pzlib_filefunc_def->zwrite_file = win32_write_file_func; - pzlib_filefunc_def->ztell64_file = win32_tell64_file_func; - pzlib_filefunc_def->zseek64_file = win32_seek64_file_func; - pzlib_filefunc_def->zclose_file = win32_close_file_func; - pzlib_filefunc_def->zerror_file = win32_error_file_func; - pzlib_filefunc_def->opaque = NULL; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/iowin32.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/iowin32.h deleted file mode 100644 index 0ca0969a..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/iowin32.h +++ /dev/null @@ -1,28 +0,0 @@ -/* iowin32.h -- IO base function header for compress/uncompress .zip - Version 1.1, February 14h, 2010 - part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html ) - - Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) - - Modifications for Zip64 support - Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) - - For more info read MiniZip_info.txt - -*/ - -#include - - -#ifdef __cplusplus -extern "C" { -#endif - -void fill_win32_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def)); -void fill_win32_filefunc64 OF((zlib_filefunc64_def* pzlib_filefunc_def)); -void fill_win32_filefunc64A OF((zlib_filefunc64_def* pzlib_filefunc_def)); -void fill_win32_filefunc64W OF((zlib_filefunc64_def* pzlib_filefunc_def)); - -#ifdef __cplusplus -} -#endif diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/make_vms.com b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/make_vms.com deleted file mode 100644 index 9ac13a98..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/make_vms.com +++ /dev/null @@ -1,25 +0,0 @@ -$ if f$search("ioapi.h_orig") .eqs. "" then copy ioapi.h ioapi.h_orig -$ open/write zdef vmsdefs.h -$ copy sys$input: zdef -$ deck -#define unix -#define fill_zlib_filefunc64_32_def_from_filefunc32 fillzffunc64from -#define Write_Zip64EndOfCentralDirectoryLocator Write_Zip64EoDLocator -#define Write_Zip64EndOfCentralDirectoryRecord Write_Zip64EoDRecord -#define Write_EndOfCentralDirectoryRecord Write_EoDRecord -$ eod -$ close zdef -$ copy vmsdefs.h,ioapi.h_orig ioapi.h -$ cc/include=[--]/prefix=all ioapi.c -$ cc/include=[--]/prefix=all miniunz.c -$ cc/include=[--]/prefix=all unzip.c -$ cc/include=[--]/prefix=all minizip.c -$ cc/include=[--]/prefix=all zip.c -$ link miniunz,unzip,ioapi,[--]libz.olb/lib -$ link minizip,zip,ioapi,[--]libz.olb/lib -$ mcr []minizip test minizip_info.txt -$ mcr []miniunz -l test.zip -$ rename minizip_info.txt; minizip_info.txt_old -$ mcr []miniunz test.zip -$ delete test.zip;* -$exit diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/miniunz.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/miniunz.c deleted file mode 100644 index 9fefd186..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/miniunz.c +++ /dev/null @@ -1,737 +0,0 @@ -/* - miniunz.c - Version 1.1, February 14h, 2010 - sample part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html ) - - Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) - - Modifications of Unzip for Zip64 - Copyright (C) 2007-2008 Even Rouault - - Modifications for Zip64 support on both zip and unzip - Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) -*/ - -#if (!defined(_WIN32)) && (!defined(WIN32)) && (!defined(__APPLE__)) - #ifndef __USE_FILE_OFFSET64 - #define __USE_FILE_OFFSET64 - #endif - #ifndef __USE_LARGEFILE64 - #define __USE_LARGEFILE64 - #endif - #ifndef _LARGEFILE64_SOURCE - #define _LARGEFILE64_SOURCE - #endif - #ifndef _FILE_OFFSET_BIT - #define _FILE_OFFSET_BIT 64 - #endif -#endif - -#ifdef __APPLE__ -// In darwin and perhaps other BSD variants off_t is a 64 bit value, hence no need for specific 64 bit functions -#define FOPEN_FUNC(filename, mode) fopen(filename, mode) -#define FTELLO_FUNC(stream) ftello(stream) -#define FSEEKO_FUNC(stream, offset, origin) fseeko(stream, offset, origin) -#else -#define FOPEN_FUNC(filename, mode) fopen64(filename, mode) -#define FTELLO_FUNC(stream) ftello64(stream) -#define FSEEKO_FUNC(stream, offset, origin) fseeko64(stream, offset, origin) -#endif - - -#include -#include -#include -#include -#include -#include -#include - -#ifdef _WIN32 -# include -# include -#else -# include -# include -#endif - - -#include "unzip.h" - -#define CASESENSITIVITY (0) -#define WRITEBUFFERSIZE (8192) -#define MAXFILENAME (256) - -#ifdef _WIN32 -#define USEWIN32IOAPI -#include "iowin32.h" -#endif -/* - mini unzip, demo of unzip package - - usage : - Usage : miniunz [-exvlo] file.zip [file_to_extract] [-d extractdir] - - list the file in the zipfile, and print the content of FILE_ID.ZIP or README.TXT - if it exists -*/ - - -/* change_file_date : change the date/time of a file - filename : the filename of the file where date/time must be modified - dosdate : the new date at the MSDos format (4 bytes) - tmu_date : the SAME new date at the tm_unz format */ -void change_file_date(filename,dosdate,tmu_date) - const char *filename; - uLong dosdate; - tm_unz tmu_date; -{ -#ifdef _WIN32 - HANDLE hFile; - FILETIME ftm,ftLocal,ftCreate,ftLastAcc,ftLastWrite; - - hFile = CreateFileA(filename,GENERIC_READ | GENERIC_WRITE, - 0,NULL,OPEN_EXISTING,0,NULL); - GetFileTime(hFile,&ftCreate,&ftLastAcc,&ftLastWrite); - DosDateTimeToFileTime((WORD)(dosdate>>16),(WORD)dosdate,&ftLocal); - LocalFileTimeToFileTime(&ftLocal,&ftm); - SetFileTime(hFile,&ftm,&ftLastAcc,&ftm); - CloseHandle(hFile); -#else -#ifdef unix || __APPLE__ - struct utimbuf ut; - struct tm newdate; - newdate.tm_sec = tmu_date.tm_sec; - newdate.tm_min=tmu_date.tm_min; - newdate.tm_hour=tmu_date.tm_hour; - newdate.tm_mday=tmu_date.tm_mday; - newdate.tm_mon=tmu_date.tm_mon; - if (tmu_date.tm_year > 1900) - newdate.tm_year=tmu_date.tm_year - 1900; - else - newdate.tm_year=tmu_date.tm_year ; - newdate.tm_isdst=-1; - - ut.actime=ut.modtime=mktime(&newdate); - utime(filename,&ut); -#endif -#endif -} - - -/* mymkdir and change_file_date are not 100 % portable - As I don't know well Unix, I wait feedback for the unix portion */ - -int mymkdir(dirname) - const char* dirname; -{ - int ret=0; -#ifdef _WIN32 - ret = _mkdir(dirname); -#elif unix - ret = mkdir (dirname,0775); -#elif __APPLE__ - ret = mkdir (dirname,0775); -#endif - return ret; -} - -int makedir (newdir) - char *newdir; -{ - char *buffer ; - char *p; - int len = (int)strlen(newdir); - - if (len <= 0) - return 0; - - buffer = (char*)malloc(len+1); - if (buffer==NULL) - { - printf("Error allocating memory\n"); - return UNZ_INTERNALERROR; - } - strcpy(buffer,newdir); - - if (buffer[len-1] == '/') { - buffer[len-1] = '\0'; - } - if (mymkdir(buffer) == 0) - { - free(buffer); - return 1; - } - - p = buffer+1; - while (1) - { - char hold; - - while(*p && *p != '\\' && *p != '/') - p++; - hold = *p; - *p = 0; - if ((mymkdir(buffer) == -1) && (errno == ENOENT)) - { - printf("couldn't create directory %s\n",buffer); - free(buffer); - return 0; - } - if (hold == 0) - break; - *p++ = hold; - } - free(buffer); - return 1; -} - -void do_banner() -{ - printf("MiniUnz 1.01b, demo of zLib + Unz package written by Gilles Vollant\n"); - printf("more info at http://www.winimage.com/zLibDll/unzip.html\n\n"); -} - -void do_help() -{ - printf("Usage : miniunz [-e] [-x] [-v] [-l] [-o] [-p password] file.zip [file_to_extr.] [-d extractdir]\n\n" \ - " -e Extract without pathname (junk paths)\n" \ - " -x Extract with pathname\n" \ - " -v list files\n" \ - " -l list files\n" \ - " -d directory to extract into\n" \ - " -o overwrite files without prompting\n" \ - " -p extract crypted file using password\n\n"); -} - -void Display64BitsSize(ZPOS64_T n, int size_char) -{ - /* to avoid compatibility problem , we do here the conversion */ - char number[21]; - int offset=19; - int pos_string = 19; - number[20]=0; - for (;;) { - number[offset]=(char)((n%10)+'0'); - if (number[offset] != '0') - pos_string=offset; - n/=10; - if (offset==0) - break; - offset--; - } - { - int size_display_string = 19-pos_string; - while (size_char > size_display_string) - { - size_char--; - printf(" "); - } - } - - printf("%s",&number[pos_string]); -} - -int do_list(uf) - unzFile uf; -{ - uLong i; - unz_global_info64 gi; - int err; - - err = unzGetGlobalInfo64(uf,&gi); - if (err!=UNZ_OK) - printf("error %d with zipfile in unzGetGlobalInfo \n",err); - printf(" Length Method Size Ratio Date Time CRC-32 Name\n"); - printf(" ------ ------ ---- ----- ---- ---- ------ ----\n"); - for (i=0;i0) - ratio = (uLong)((file_info.compressed_size*100)/file_info.uncompressed_size); - - /* display a '*' if the file is crypted */ - if ((file_info.flag & 1) != 0) - charCrypt='*'; - - if (file_info.compression_method==0) - string_method="Stored"; - else - if (file_info.compression_method==Z_DEFLATED) - { - uInt iLevel=(uInt)((file_info.flag & 0x6)/2); - if (iLevel==0) - string_method="Defl:N"; - else if (iLevel==1) - string_method="Defl:X"; - else if ((iLevel==2) || (iLevel==3)) - string_method="Defl:F"; /* 2:fast , 3 : extra fast*/ - } - else - if (file_info.compression_method==Z_BZIP2ED) - { - string_method="BZip2 "; - } - else - string_method="Unkn. "; - - Display64BitsSize(file_info.uncompressed_size,7); - printf(" %6s%c",string_method,charCrypt); - Display64BitsSize(file_info.compressed_size,7); - printf(" %3lu%% %2.2lu-%2.2lu-%2.2lu %2.2lu:%2.2lu %8.8lx %s\n", - ratio, - (uLong)file_info.tmu_date.tm_mon + 1, - (uLong)file_info.tmu_date.tm_mday, - (uLong)file_info.tmu_date.tm_year % 100, - (uLong)file_info.tmu_date.tm_hour,(uLong)file_info.tmu_date.tm_min, - (uLong)file_info.crc,filename_inzip); - if ((i+1)='a') && (rep<='z')) - rep -= 0x20; - } - while ((rep!='Y') && (rep!='N') && (rep!='A')); - } - - if (rep == 'N') - skip = 1; - - if (rep == 'A') - *popt_overwrite=1; - } - - if ((skip==0) && (err==UNZ_OK)) - { - fout=FOPEN_FUNC(write_filename,"wb"); - /* some zipfile don't contain directory alone before file */ - if ((fout==NULL) && ((*popt_extract_without_path)==0) && - (filename_withoutpath!=(char*)filename_inzip)) - { - char c=*(filename_withoutpath-1); - *(filename_withoutpath-1)='\0'; - makedir(write_filename); - *(filename_withoutpath-1)=c; - fout=FOPEN_FUNC(write_filename,"wb"); - } - - if (fout==NULL) - { - printf("error opening %s\n",write_filename); - } - } - - if (fout!=NULL) - { - printf(" extracting: %s\n",write_filename); - - do - { - err = unzReadCurrentFile(uf,buf,size_buf); - if (err<0) - { - printf("error %d with zipfile in unzReadCurrentFile\n",err); - break; - } - if (err>0) - if (fwrite(buf,err,1,fout)!=1) - { - printf("error in writing extracted file\n"); - err=UNZ_ERRNO; - break; - } - } - while (err>0); - if (fout) - fclose(fout); - - if (err==0) - change_file_date(write_filename,file_info.dosDate, - file_info.tmu_date); - } - - if (err==UNZ_OK) - { - err = unzCloseCurrentFile (uf); - if (err!=UNZ_OK) - { - printf("error %d with zipfile in unzCloseCurrentFile\n",err); - } - } - else - unzCloseCurrentFile(uf); /* don't lose the error */ - } - - free(buf); - return err; -} - - -int do_extract(uf,opt_extract_without_path,opt_overwrite,password) - unzFile uf; - int opt_extract_without_path; - int opt_overwrite; - const char* password; -{ - uLong i; - unz_global_info64 gi; - int err; - FILE* fout=NULL; - - err = unzGetGlobalInfo64(uf,&gi); - if (err!=UNZ_OK) - printf("error %d with zipfile in unzGetGlobalInfo \n",err); - - for (i=0;i -#include -#include -#include -#include -#include - -#ifdef _WIN32 -# include -# include -#else -# include -# include -# include -# include -#endif - -#include "zip.h" - -#ifdef _WIN32 - #define USEWIN32IOAPI - #include "iowin32.h" -#endif - - - -#define WRITEBUFFERSIZE (16384) -#define MAXFILENAME (256) - -#ifdef _WIN32 -uLong filetime(f, tmzip, dt) - char *f; /* name of file to get info on */ - tm_zip *tmzip; /* return value: access, modific. and creation times */ - uLong *dt; /* dostime */ -{ - int ret = 0; - { - FILETIME ftLocal; - HANDLE hFind; - WIN32_FIND_DATAA ff32; - - hFind = FindFirstFileA(f,&ff32); - if (hFind != INVALID_HANDLE_VALUE) - { - FileTimeToLocalFileTime(&(ff32.ftLastWriteTime),&ftLocal); - FileTimeToDosDateTime(&ftLocal,((LPWORD)dt)+1,((LPWORD)dt)+0); - FindClose(hFind); - ret = 1; - } - } - return ret; -} -#else -#ifdef unix || __APPLE__ -uLong filetime(f, tmzip, dt) - char *f; /* name of file to get info on */ - tm_zip *tmzip; /* return value: access, modific. and creation times */ - uLong *dt; /* dostime */ -{ - int ret=0; - struct stat s; /* results of stat() */ - struct tm* filedate; - time_t tm_t=0; - - if (strcmp(f,"-")!=0) - { - char name[MAXFILENAME+1]; - int len = strlen(f); - if (len > MAXFILENAME) - len = MAXFILENAME; - - strncpy(name, f,MAXFILENAME-1); - /* strncpy doesnt append the trailing NULL, of the string is too long. */ - name[ MAXFILENAME ] = '\0'; - - if (name[len - 1] == '/') - name[len - 1] = '\0'; - /* not all systems allow stat'ing a file with / appended */ - if (stat(name,&s)==0) - { - tm_t = s.st_mtime; - ret = 1; - } - } - filedate = localtime(&tm_t); - - tmzip->tm_sec = filedate->tm_sec; - tmzip->tm_min = filedate->tm_min; - tmzip->tm_hour = filedate->tm_hour; - tmzip->tm_mday = filedate->tm_mday; - tmzip->tm_mon = filedate->tm_mon ; - tmzip->tm_year = filedate->tm_year; - - return ret; -} -#else -uLong filetime(f, tmzip, dt) - char *f; /* name of file to get info on */ - tm_zip *tmzip; /* return value: access, modific. and creation times */ - uLong *dt; /* dostime */ -{ - return 0; -} -#endif -#endif - - - - -int check_exist_file(filename) - const char* filename; -{ - FILE* ftestexist; - int ret = 1; - ftestexist = FOPEN_FUNC(filename,"rb"); - if (ftestexist==NULL) - ret = 0; - else - fclose(ftestexist); - return ret; -} - -void do_banner() -{ - printf("MiniZip 1.1, demo of zLib + MiniZip64 package, written by Gilles Vollant\n"); - printf("more info on MiniZip at http://www.winimage.com/zLibDll/minizip.html\n\n"); -} - -void do_help() -{ - printf("Usage : minizip [-o] [-a] [-0 to -9] [-p password] [-j] file.zip [files_to_add]\n\n" \ - " -o Overwrite existing file.zip\n" \ - " -a Append to existing file.zip\n" \ - " -0 Store only\n" \ - " -1 Compress faster\n" \ - " -9 Compress better\n\n" \ - " -j exclude path. store only the file name.\n\n"); -} - -/* calculate the CRC32 of a file, - because to encrypt a file, we need known the CRC32 of the file before */ -int getFileCrc(const char* filenameinzip,void*buf,unsigned long size_buf,unsigned long* result_crc) -{ - unsigned long calculate_crc=0; - int err=ZIP_OK; - FILE * fin = FOPEN_FUNC(filenameinzip,"rb"); - - unsigned long size_read = 0; - unsigned long total_read = 0; - if (fin==NULL) - { - err = ZIP_ERRNO; - } - - if (err == ZIP_OK) - do - { - err = ZIP_OK; - size_read = (int)fread(buf,1,size_buf,fin); - if (size_read < size_buf) - if (feof(fin)==0) - { - printf("error in reading %s\n",filenameinzip); - err = ZIP_ERRNO; - } - - if (size_read>0) - calculate_crc = crc32(calculate_crc,buf,size_read); - total_read += size_read; - - } while ((err == ZIP_OK) && (size_read>0)); - - if (fin) - fclose(fin); - - *result_crc=calculate_crc; - printf("file %s crc %lx\n", filenameinzip, calculate_crc); - return err; -} - -int isLargeFile(const char* filename) -{ - int largeFile = 0; - ZPOS64_T pos = 0; - FILE* pFile = FOPEN_FUNC(filename, "rb"); - - if(pFile != NULL) - { - int n = FSEEKO_FUNC(pFile, 0, SEEK_END); - pos = FTELLO_FUNC(pFile); - - printf("File : %s is %lld bytes\n", filename, pos); - - if(pos >= 0xffffffff) - largeFile = 1; - - fclose(pFile); - } - - return largeFile; -} - -int main(argc,argv) - int argc; - char *argv[]; -{ - int i; - int opt_overwrite=0; - int opt_compress_level=Z_DEFAULT_COMPRESSION; - int opt_exclude_path=0; - int zipfilenamearg = 0; - char filename_try[MAXFILENAME+16]; - int zipok; - int err=0; - int size_buf=0; - void* buf=NULL; - const char* password=NULL; - - - do_banner(); - if (argc==1) - { - do_help(); - return 0; - } - else - { - for (i=1;i='0') && (c<='9')) - opt_compress_level = c-'0'; - if ((c=='j') || (c=='J')) - opt_exclude_path = 1; - - if (((c=='p') || (c=='P')) && (i+1='a') && (rep<='z')) - rep -= 0x20; - } - while ((rep!='Y') && (rep!='N') && (rep!='A')); - if (rep=='N') - zipok = 0; - if (rep=='A') - opt_overwrite = 2; - } - } - - if (zipok==1) - { - zipFile zf; - int errclose; -# ifdef USEWIN32IOAPI - zlib_filefunc64_def ffunc; - fill_win32_filefunc64A(&ffunc); - zf = zipOpen2_64(filename_try,(opt_overwrite==2) ? 2 : 0,NULL,&ffunc); -# else - zf = zipOpen64(filename_try,(opt_overwrite==2) ? 2 : 0); -# endif - - if (zf == NULL) - { - printf("error opening %s\n",filename_try); - err= ZIP_ERRNO; - } - else - printf("creating %s\n",filename_try); - - for (i=zipfilenamearg+1;(i='0') || (argv[i][1]<='9'))) && - (strlen(argv[i]) == 2))) - { - FILE * fin; - int size_read; - const char* filenameinzip = argv[i]; - const char *savefilenameinzip; - zip_fileinfo zi; - unsigned long crcFile=0; - int zip64 = 0; - - zi.tmz_date.tm_sec = zi.tmz_date.tm_min = zi.tmz_date.tm_hour = - zi.tmz_date.tm_mday = zi.tmz_date.tm_mon = zi.tmz_date.tm_year = 0; - zi.dosDate = 0; - zi.internal_fa = 0; - zi.external_fa = 0; - filetime(filenameinzip,&zi.tmz_date,&zi.dosDate); - -/* - err = zipOpenNewFileInZip(zf,filenameinzip,&zi, - NULL,0,NULL,0,NULL / * comment * /, - (opt_compress_level != 0) ? Z_DEFLATED : 0, - opt_compress_level); -*/ - if ((password != NULL) && (err==ZIP_OK)) - err = getFileCrc(filenameinzip,buf,size_buf,&crcFile); - - zip64 = isLargeFile(filenameinzip); - - /* The path name saved, should not include a leading slash. */ - /*if it did, windows/xp and dynazip couldn't read the zip file. */ - savefilenameinzip = filenameinzip; - while( savefilenameinzip[0] == '\\' || savefilenameinzip[0] == '/' ) - { - savefilenameinzip++; - } - - /*should the zip file contain any path at all?*/ - if( opt_exclude_path ) - { - const char *tmpptr; - const char *lastslash = 0; - for( tmpptr = savefilenameinzip; *tmpptr; tmpptr++) - { - if( *tmpptr == '\\' || *tmpptr == '/') - { - lastslash = tmpptr; - } - } - if( lastslash != NULL ) - { - savefilenameinzip = lastslash+1; // base filename follows last slash. - } - } - - /**/ - err = zipOpenNewFileInZip3_64(zf,savefilenameinzip,&zi, - NULL,0,NULL,0,NULL /* comment*/, - (opt_compress_level != 0) ? Z_DEFLATED : 0, - opt_compress_level,0, - /* -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, */ - -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, - password,crcFile, zip64); - - if (err != ZIP_OK) - printf("error in opening %s in zipfile\n",filenameinzip); - else - { - fin = FOPEN_FUNC(filenameinzip,"rb"); - if (fin==NULL) - { - err=ZIP_ERRNO; - printf("error in opening %s for reading\n",filenameinzip); - } - } - - if (err == ZIP_OK) - do - { - err = ZIP_OK; - size_read = (int)fread(buf,1,size_buf,fin); - if (size_read < size_buf) - if (feof(fin)==0) - { - printf("error in reading %s\n",filenameinzip); - err = ZIP_ERRNO; - } - - if (size_read>0) - { - err = zipWriteInFileInZip (zf,buf,size_read); - if (err<0) - { - printf("error in writing %s in the zipfile\n", - filenameinzip); - } - - } - } while ((err == ZIP_OK) && (size_read>0)); - - if (fin) - fclose(fin); - - if (err<0) - err=ZIP_ERRNO; - else - { - err = zipCloseFileInZip(zf); - if (err!=ZIP_OK) - printf("error in closing %s in the zipfile\n", - filenameinzip); - } - } - } - errclose = zipClose(zf,NULL); - if (errclose != ZIP_OK) - printf("error in closing %s\n",filename_try); - } - else - { - do_help(); - } - - free(buf); - return 0; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/minizip.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/minizip.h deleted file mode 100644 index 725bbba1..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/minizip.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef ABC_DLL // abc.dll source code will define this macro before including this header -#define ABC_API __declspec( dllimport ) -#else -#define ABC_API __declspec( dllexport ) -#endif -class ABC_API CAbc {…}; \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/minizip.pc.in b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/minizip.pc.in deleted file mode 100644 index 69b5b7fd..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/minizip.pc.in +++ /dev/null @@ -1,12 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@/minizip - -Name: minizip -Description: Minizip zip file manipulation library -Requires: -Version: @PACKAGE_VERSION@ -Libs: -L${libdir} -lminizip -Libs.private: -lz -Cflags: -I${includedir} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/mztools.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/mztools.c deleted file mode 100644 index 96891c2e..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/mztools.c +++ /dev/null @@ -1,291 +0,0 @@ -/* - Additional tools for Minizip - Code: Xavier Roche '2004 - License: Same as ZLIB (www.gzip.org) -*/ - -/* Code */ -#include -#include -#include -#include "zlib.h" -#include "unzip.h" - -#define READ_8(adr) ((unsigned char)*(adr)) -#define READ_16(adr) ( READ_8(adr) | (READ_8(adr+1) << 8) ) -#define READ_32(adr) ( READ_16(adr) | (READ_16((adr)+2) << 16) ) - -#define WRITE_8(buff, n) do { \ - *((unsigned char*)(buff)) = (unsigned char) ((n) & 0xff); \ -} while(0) -#define WRITE_16(buff, n) do { \ - WRITE_8((unsigned char*)(buff), n); \ - WRITE_8(((unsigned char*)(buff)) + 1, (n) >> 8); \ -} while(0) -#define WRITE_32(buff, n) do { \ - WRITE_16((unsigned char*)(buff), (n) & 0xffff); \ - WRITE_16((unsigned char*)(buff) + 2, (n) >> 16); \ -} while(0) - -extern int ZEXPORT unzRepair(file, fileOut, fileOutTmp, nRecovered, bytesRecovered) -const char* file; -const char* fileOut; -const char* fileOutTmp; -uLong* nRecovered; -uLong* bytesRecovered; -{ - int err = Z_OK; - FILE* fpZip = fopen(file, "rb"); - FILE* fpOut = fopen(fileOut, "wb"); - FILE* fpOutCD = fopen(fileOutTmp, "wb"); - if (fpZip != NULL && fpOut != NULL) { - int entries = 0; - uLong totalBytes = 0; - char header[30]; - char filename[1024]; - char extra[1024]; - int offset = 0; - int offsetCD = 0; - while ( fread(header, 1, 30, fpZip) == 30 ) { - int currentOffset = offset; - - /* File entry */ - if (READ_32(header) == 0x04034b50) { - unsigned int version = READ_16(header + 4); - unsigned int gpflag = READ_16(header + 6); - unsigned int method = READ_16(header + 8); - unsigned int filetime = READ_16(header + 10); - unsigned int filedate = READ_16(header + 12); - unsigned int crc = READ_32(header + 14); /* crc */ - unsigned int cpsize = READ_32(header + 18); /* compressed size */ - unsigned int uncpsize = READ_32(header + 22); /* uncompressed sz */ - unsigned int fnsize = READ_16(header + 26); /* file name length */ - unsigned int extsize = READ_16(header + 28); /* extra field length */ - filename[0] = extra[0] = '\0'; - - /* Header */ - if (fwrite(header, 1, 30, fpOut) == 30) { - offset += 30; - } else { - err = Z_ERRNO; - break; - } - - /* Filename */ - if (fnsize > 0) { - if (fnsize < sizeof(filename)) { - if (fread(filename, 1, fnsize, fpZip) == fnsize) { - if (fwrite(filename, 1, fnsize, fpOut) == fnsize) { - offset += fnsize; - } else { - err = Z_ERRNO; - break; - } - } else { - err = Z_ERRNO; - break; - } - } else { - err = Z_ERRNO; - break; - } - } else { - err = Z_STREAM_ERROR; - break; - } - - /* Extra field */ - if (extsize > 0) { - if (extsize < sizeof(extra)) { - if (fread(extra, 1, extsize, fpZip) == extsize) { - if (fwrite(extra, 1, extsize, fpOut) == extsize) { - offset += extsize; - } else { - err = Z_ERRNO; - break; - } - } else { - err = Z_ERRNO; - break; - } - } else { - err = Z_ERRNO; - break; - } - } - - /* Data */ - { - int dataSize = cpsize; - if (dataSize == 0) { - dataSize = uncpsize; - } - if (dataSize > 0) { - char* data = malloc(dataSize); - if (data != NULL) { - if ((int)fread(data, 1, dataSize, fpZip) == dataSize) { - if ((int)fwrite(data, 1, dataSize, fpOut) == dataSize) { - offset += dataSize; - totalBytes += dataSize; - } else { - err = Z_ERRNO; - } - } else { - err = Z_ERRNO; - } - free(data); - if (err != Z_OK) { - break; - } - } else { - err = Z_MEM_ERROR; - break; - } - } - } - - /* Central directory entry */ - { - char header[46]; - char* comment = ""; - int comsize = (int) strlen(comment); - WRITE_32(header, 0x02014b50); - WRITE_16(header + 4, version); - WRITE_16(header + 6, version); - WRITE_16(header + 8, gpflag); - WRITE_16(header + 10, method); - WRITE_16(header + 12, filetime); - WRITE_16(header + 14, filedate); - WRITE_32(header + 16, crc); - WRITE_32(header + 20, cpsize); - WRITE_32(header + 24, uncpsize); - WRITE_16(header + 28, fnsize); - WRITE_16(header + 30, extsize); - WRITE_16(header + 32, comsize); - WRITE_16(header + 34, 0); /* disk # */ - WRITE_16(header + 36, 0); /* int attrb */ - WRITE_32(header + 38, 0); /* ext attrb */ - WRITE_32(header + 42, currentOffset); - /* Header */ - if (fwrite(header, 1, 46, fpOutCD) == 46) { - offsetCD += 46; - - /* Filename */ - if (fnsize > 0) { - if (fwrite(filename, 1, fnsize, fpOutCD) == fnsize) { - offsetCD += fnsize; - } else { - err = Z_ERRNO; - break; - } - } else { - err = Z_STREAM_ERROR; - break; - } - - /* Extra field */ - if (extsize > 0) { - if (fwrite(extra, 1, extsize, fpOutCD) == extsize) { - offsetCD += extsize; - } else { - err = Z_ERRNO; - break; - } - } - - /* Comment field */ - if (comsize > 0) { - if ((int)fwrite(comment, 1, comsize, fpOutCD) == comsize) { - offsetCD += comsize; - } else { - err = Z_ERRNO; - break; - } - } - - - } else { - err = Z_ERRNO; - break; - } - } - - /* Success */ - entries++; - - } else { - break; - } - } - - /* Final central directory */ - { - int entriesZip = entries; - char header[22]; - char* comment = ""; // "ZIP File recovered by zlib/minizip/mztools"; - int comsize = (int) strlen(comment); - if (entriesZip > 0xffff) { - entriesZip = 0xffff; - } - WRITE_32(header, 0x06054b50); - WRITE_16(header + 4, 0); /* disk # */ - WRITE_16(header + 6, 0); /* disk # */ - WRITE_16(header + 8, entriesZip); /* hack */ - WRITE_16(header + 10, entriesZip); /* hack */ - WRITE_32(header + 12, offsetCD); /* size of CD */ - WRITE_32(header + 16, offset); /* offset to CD */ - WRITE_16(header + 20, comsize); /* comment */ - - /* Header */ - if (fwrite(header, 1, 22, fpOutCD) == 22) { - - /* Comment field */ - if (comsize > 0) { - if ((int)fwrite(comment, 1, comsize, fpOutCD) != comsize) { - err = Z_ERRNO; - } - } - - } else { - err = Z_ERRNO; - } - } - - /* Final merge (file + central directory) */ - fclose(fpOutCD); - if (err == Z_OK) { - fpOutCD = fopen(fileOutTmp, "rb"); - if (fpOutCD != NULL) { - int nRead; - char buffer[8192]; - while ( (nRead = (int)fread(buffer, 1, sizeof(buffer), fpOutCD)) > 0) { - if ((int)fwrite(buffer, 1, nRead, fpOut) != nRead) { - err = Z_ERRNO; - break; - } - } - fclose(fpOutCD); - } - } - - /* Close */ - fclose(fpZip); - fclose(fpOut); - - /* Wipe temporary file */ - (void)remove(fileOutTmp); - - /* Number of recovered entries */ - if (err == Z_OK) { - if (nRecovered != NULL) { - *nRecovered = entries; - } - if (bytesRecovered != NULL) { - *bytesRecovered = totalBytes; - } - } - } else { - err = Z_STREAM_ERROR; - } - return err; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/mztools.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/mztools.h deleted file mode 100644 index a49a426e..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/mztools.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - Additional tools for Minizip - Code: Xavier Roche '2004 - License: Same as ZLIB (www.gzip.org) -*/ - -#ifndef _zip_tools_H -#define _zip_tools_H - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _ZLIB_H -#include "zlib.h" -#endif - -#include "unzip.h" - -/* Repair a ZIP file (missing central directory) - file: file to recover - fileOut: output file after recovery - fileOutTmp: temporary file name used for recovery -*/ -extern int ZEXPORT unzRepair(const char* file, - const char* fileOut, - const char* fileOutTmp, - uLong* nRecovered, - uLong* bytesRecovered); - - -#ifdef __cplusplus -} -#endif - - -#endif diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/unzip.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/unzip.c deleted file mode 100644 index affad4bf..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/unzip.c +++ /dev/null @@ -1,2125 +0,0 @@ -/* unzip.c -- IO for uncompress .zip files using zlib - Version 1.1, February 14h, 2010 - part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html ) - - Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) - - Modifications of Unzip for Zip64 - Copyright (C) 2007-2008 Even Rouault - - Modifications for Zip64 support on both zip and unzip - Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) - - For more info read MiniZip_info.txt - - - ------------------------------------------------------------------------------------ - Decryption code comes from crypt.c by Info-ZIP but has been greatly reduced in terms of - compatibility with older software. The following is from the original crypt.c. - Code woven in by Terry Thorsen 1/2003. - - Copyright (c) 1990-2000 Info-ZIP. All rights reserved. - - See the accompanying file LICENSE, version 2000-Apr-09 or later - (the contents of which are also included in zip.h) for terms of use. - If, for some reason, all these files are missing, the Info-ZIP license - also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html - - crypt.c (full version) by Info-ZIP. Last revised: [see crypt.h] - - The encryption/decryption parts of this source code (as opposed to the - non-echoing password parts) were originally written in Europe. The - whole source package can be freely distributed, including from the USA. - (Prior to January 2000, re-export from the US was a violation of US law.) - - This encryption code is a direct transcription of the algorithm from - Roger Schlafly, described by Phil Katz in the file appnote.txt. This - file (appnote.txt) is distributed with the PKZIP program (even in the - version without encryption capabilities). - - ------------------------------------------------------------------------------------ - - Changes in unzip.c - - 2007-2008 - Even Rouault - Addition of cpl_unzGetCurrentFileZStreamPos - 2007-2008 - Even Rouault - Decoration of symbol names unz* -> cpl_unz* - 2007-2008 - Even Rouault - Remove old C style function prototypes - 2007-2008 - Even Rouault - Add unzip support for ZIP64 - - Copyright (C) 2007-2008 Even Rouault - - - Oct-2009 - Mathias Svensson - Removed cpl_* from symbol names (Even Rouault added them but since this is now moved to a new project (minizip64) I renamed them again). - Oct-2009 - Mathias Svensson - Fixed problem if uncompressed size was > 4G and compressed size was <4G - should only read the compressed/uncompressed size from the Zip64 format if - the size from normal header was 0xFFFFFFFF - Oct-2009 - Mathias Svensson - Applied some bug fixes from paches recived from Gilles Vollant - Oct-2009 - Mathias Svensson - Applied support to unzip files with compression mathod BZIP2 (bzip2 lib is required) - Patch created by Daniel Borca - - Jan-2010 - back to unzip and minizip 1.0 name scheme, with compatibility layer - - Copyright (C) 1998 - 2010 Gilles Vollant, Even Rouault, Mathias Svensson - -*/ - - -#include -#include -#include - -#ifndef NOUNCRYPT - #define NOUNCRYPT -#endif - -#include "zlib.h" -#include "unzip.h" - -#ifdef STDC -# include -# include -# include -#endif -#ifdef NO_ERRNO_H - extern int errno; -#else -# include -#endif - - -#ifndef local -# define local static -#endif -/* compile with -Dlocal if your debugger can't find static symbols */ - - -#ifndef CASESENSITIVITYDEFAULT_NO -# if !defined(unix) && !defined(CASESENSITIVITYDEFAULT_YES) -# define CASESENSITIVITYDEFAULT_NO -# endif -#endif - - -#ifndef UNZ_BUFSIZE -#define UNZ_BUFSIZE (16384) -#endif - -#ifndef UNZ_MAXFILENAMEINZIP -#define UNZ_MAXFILENAMEINZIP (256) -#endif - -#ifndef ALLOC -# define ALLOC(size) (malloc(size)) -#endif -#ifndef TRYFREE -# define TRYFREE(p) {if (p) free(p);} -#endif - -#define SIZECENTRALDIRITEM (0x2e) -#define SIZEZIPLOCALHEADER (0x1e) - - -const char unz_copyright[] = - " unzip 1.01 Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll"; - -/* unz_file_info_interntal contain internal info about a file in zipfile*/ -typedef struct unz_file_info64_internal_s -{ - ZPOS64_T offset_curfile;/* relative offset of local header 8 bytes */ -} unz_file_info64_internal; - - -/* file_in_zip_read_info_s contain internal information about a file in zipfile, - when reading and decompress it */ -typedef struct -{ - char *read_buffer; /* internal buffer for compressed data */ - z_stream stream; /* zLib stream structure for inflate */ - -#ifdef HAVE_BZIP2 - bz_stream bstream; /* bzLib stream structure for bziped */ -#endif - - ZPOS64_T pos_in_zipfile; /* position in byte on the zipfile, for fseek*/ - uLong stream_initialised; /* flag set if stream structure is initialised*/ - - ZPOS64_T offset_local_extrafield;/* offset of the local extra field */ - uInt size_local_extrafield;/* size of the local extra field */ - ZPOS64_T pos_local_extrafield; /* position in the local extra field in read*/ - ZPOS64_T total_out_64; - - uLong crc32; /* crc32 of all data uncompressed */ - uLong crc32_wait; /* crc32 we must obtain after decompress all */ - ZPOS64_T rest_read_compressed; /* number of byte to be decompressed */ - ZPOS64_T rest_read_uncompressed;/*number of byte to be obtained after decomp*/ - zlib_filefunc64_32_def z_filefunc; - voidpf filestream; /* io structore of the zipfile */ - uLong compression_method; /* compression method (0==store) */ - ZPOS64_T byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/ - int raw; -} file_in_zip64_read_info_s; - - -/* unz64_s contain internal information about the zipfile -*/ -typedef struct -{ - zlib_filefunc64_32_def z_filefunc; - int is64bitOpenFunction; - voidpf filestream; /* io structore of the zipfile */ - unz_global_info64 gi; /* public global information */ - ZPOS64_T byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/ - ZPOS64_T num_file; /* number of the current file in the zipfile*/ - ZPOS64_T pos_in_central_dir; /* pos of the current file in the central dir*/ - ZPOS64_T current_file_ok; /* flag about the usability of the current file*/ - ZPOS64_T central_pos; /* position of the beginning of the central dir*/ - - ZPOS64_T size_central_dir; /* size of the central directory */ - ZPOS64_T offset_central_dir; /* offset of start of central directory with - respect to the starting disk number */ - - unz_file_info64 cur_file_info; /* public info about the current file in zip*/ - unz_file_info64_internal cur_file_info_internal; /* private info about it*/ - file_in_zip64_read_info_s* pfile_in_zip_read; /* structure about the current - file if we are decompressing it */ - int encrypted; - - int isZip64; - -# ifndef NOUNCRYPT - unsigned long keys[3]; /* keys defining the pseudo-random sequence */ - const unsigned long* pcrc_32_tab; -# endif -} unz64_s; - - -#ifndef NOUNCRYPT -#include "crypt.h" -#endif - -/* =========================================================================== - Read a byte from a gz_stream; update next_in and avail_in. Return EOF - for end of file. - IN assertion: the stream s has been sucessfully opened for reading. -*/ - - -local int unz64local_getByte OF(( - const zlib_filefunc64_32_def* pzlib_filefunc_def, - voidpf filestream, - int *pi)); - -local int unz64local_getByte(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, int *pi) -{ - unsigned char c; - int err = (int)ZREAD64(*pzlib_filefunc_def,filestream,&c,1); - if (err==1) - { - *pi = (int)c; - return UNZ_OK; - } - else - { - if (ZERROR64(*pzlib_filefunc_def,filestream)) - return UNZ_ERRNO; - else - return UNZ_EOF; - } -} - - -/* =========================================================================== - Reads a long in LSB order from the given gz_stream. Sets -*/ -local int unz64local_getShort OF(( - const zlib_filefunc64_32_def* pzlib_filefunc_def, - voidpf filestream, - uLong *pX)); - -local int unz64local_getShort (const zlib_filefunc64_32_def* pzlib_filefunc_def, - voidpf filestream, - uLong *pX) -{ - uLong x ; - int i = 0; - int err; - - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x = (uLong)i; - - if (err==UNZ_OK) - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x |= ((uLong)i)<<8; - - if (err==UNZ_OK) - *pX = x; - else - *pX = 0; - return err; -} - -local int unz64local_getLong OF(( - const zlib_filefunc64_32_def* pzlib_filefunc_def, - voidpf filestream, - uLong *pX)); - -local int unz64local_getLong (const zlib_filefunc64_32_def* pzlib_filefunc_def, - voidpf filestream, - uLong *pX) -{ - uLong x ; - int i = 0; - int err; - - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x = (uLong)i; - - if (err==UNZ_OK) - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x |= ((uLong)i)<<8; - - if (err==UNZ_OK) - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x |= ((uLong)i)<<16; - - if (err==UNZ_OK) - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((uLong)i)<<24; - - if (err==UNZ_OK) - *pX = x; - else - *pX = 0; - return err; -} - -local int unz64local_getLong64 OF(( - const zlib_filefunc64_32_def* pzlib_filefunc_def, - voidpf filestream, - ZPOS64_T *pX)); - - -local int unz64local_getLong64 (const zlib_filefunc64_32_def* pzlib_filefunc_def, - voidpf filestream, - ZPOS64_T *pX) -{ - ZPOS64_T x ; - int i = 0; - int err; - - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x = (ZPOS64_T)i; - - if (err==UNZ_OK) - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x |= ((ZPOS64_T)i)<<8; - - if (err==UNZ_OK) - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x |= ((ZPOS64_T)i)<<16; - - if (err==UNZ_OK) - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x |= ((ZPOS64_T)i)<<24; - - if (err==UNZ_OK) - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x |= ((ZPOS64_T)i)<<32; - - if (err==UNZ_OK) - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x |= ((ZPOS64_T)i)<<40; - - if (err==UNZ_OK) - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x |= ((ZPOS64_T)i)<<48; - - if (err==UNZ_OK) - err = unz64local_getByte(pzlib_filefunc_def,filestream,&i); - x |= ((ZPOS64_T)i)<<56; - - if (err==UNZ_OK) - *pX = x; - else - *pX = 0; - return err; -} - -/* My own strcmpi / strcasecmp */ -local int strcmpcasenosensitive_internal (const char* fileName1, const char* fileName2) -{ - for (;;) - { - char c1=*(fileName1++); - char c2=*(fileName2++); - if ((c1>='a') && (c1<='z')) - c1 -= 0x20; - if ((c2>='a') && (c2<='z')) - c2 -= 0x20; - if (c1=='\0') - return ((c2=='\0') ? 0 : -1); - if (c2=='\0') - return 1; - if (c1c2) - return 1; - } -} - - -#ifdef CASESENSITIVITYDEFAULT_NO -#define CASESENSITIVITYDEFAULTVALUE 2 -#else -#define CASESENSITIVITYDEFAULTVALUE 1 -#endif - -#ifndef STRCMPCASENOSENTIVEFUNCTION -#define STRCMPCASENOSENTIVEFUNCTION strcmpcasenosensitive_internal -#endif - -/* - Compare two filename (fileName1,fileName2). - If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp) - If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi - or strcasecmp) - If iCaseSenisivity = 0, case sensitivity is defaut of your operating system - (like 1 on Unix, 2 on Windows) - -*/ -extern int ZEXPORT unzStringFileNameCompare (const char* fileName1, - const char* fileName2, - int iCaseSensitivity) - -{ - if (iCaseSensitivity==0) - iCaseSensitivity=CASESENSITIVITYDEFAULTVALUE; - - if (iCaseSensitivity==1) - return strcmp(fileName1,fileName2); - - return STRCMPCASENOSENTIVEFUNCTION(fileName1,fileName2); -} - -#ifndef BUFREADCOMMENT -#define BUFREADCOMMENT (0x400) -#endif - -/* - Locate the Central directory of a zipfile (at the end, just before - the global comment) -*/ -local ZPOS64_T unz64local_SearchCentralDir OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream)); -local ZPOS64_T unz64local_SearchCentralDir(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream) -{ - unsigned char* buf; - ZPOS64_T uSizeFile; - ZPOS64_T uBackRead; - ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */ - ZPOS64_T uPosFound=0; - - if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0) - return 0; - - - uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream); - - if (uMaxBack>uSizeFile) - uMaxBack = uSizeFile; - - buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); - if (buf==NULL) - return 0; - - uBackRead = 4; - while (uBackReaduMaxBack) - uBackRead = uMaxBack; - else - uBackRead+=BUFREADCOMMENT; - uReadPos = uSizeFile-uBackRead ; - - uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? - (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos); - if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) - break; - - if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) - break; - - for (i=(int)uReadSize-3; (i--)>0;) - if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && - ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06)) - { - uPosFound = uReadPos+i; - break; - } - - if (uPosFound!=0) - break; - } - TRYFREE(buf); - return uPosFound; -} - - -/* - Locate the Central directory 64 of a zipfile (at the end, just before - the global comment) -*/ -local ZPOS64_T unz64local_SearchCentralDir64 OF(( - const zlib_filefunc64_32_def* pzlib_filefunc_def, - voidpf filestream)); - -local ZPOS64_T unz64local_SearchCentralDir64(const zlib_filefunc64_32_def* pzlib_filefunc_def, - voidpf filestream) -{ - unsigned char* buf; - ZPOS64_T uSizeFile; - ZPOS64_T uBackRead; - ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */ - ZPOS64_T uPosFound=0; - uLong uL; - ZPOS64_T relativeOffset; - - if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0) - return 0; - - - uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream); - - if (uMaxBack>uSizeFile) - uMaxBack = uSizeFile; - - buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); - if (buf==NULL) - return 0; - - uBackRead = 4; - while (uBackReaduMaxBack) - uBackRead = uMaxBack; - else - uBackRead+=BUFREADCOMMENT; - uReadPos = uSizeFile-uBackRead ; - - uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? - (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos); - if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) - break; - - if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) - break; - - for (i=(int)uReadSize-3; (i--)>0;) - if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && - ((*(buf+i+2))==0x06) && ((*(buf+i+3))==0x07)) - { - uPosFound = uReadPos+i; - break; - } - - if (uPosFound!=0) - break; - } - TRYFREE(buf); - if (uPosFound == 0) - return 0; - - /* Zip64 end of central directory locator */ - if (ZSEEK64(*pzlib_filefunc_def,filestream, uPosFound,ZLIB_FILEFUNC_SEEK_SET)!=0) - return 0; - - /* the signature, already checked */ - if (unz64local_getLong(pzlib_filefunc_def,filestream,&uL)!=UNZ_OK) - return 0; - - /* number of the disk with the start of the zip64 end of central directory */ - if (unz64local_getLong(pzlib_filefunc_def,filestream,&uL)!=UNZ_OK) - return 0; - if (uL != 0) - return 0; - - /* relative offset of the zip64 end of central directory record */ - if (unz64local_getLong64(pzlib_filefunc_def,filestream,&relativeOffset)!=UNZ_OK) - return 0; - - /* total number of disks */ - if (unz64local_getLong(pzlib_filefunc_def,filestream,&uL)!=UNZ_OK) - return 0; - if (uL != 1) - return 0; - - /* Goto end of central directory record */ - if (ZSEEK64(*pzlib_filefunc_def,filestream, relativeOffset,ZLIB_FILEFUNC_SEEK_SET)!=0) - return 0; - - /* the signature */ - if (unz64local_getLong(pzlib_filefunc_def,filestream,&uL)!=UNZ_OK) - return 0; - - if (uL != 0x06064b50) - return 0; - - return relativeOffset; -} - -/* - Open a Zip file. path contain the full pathname (by example, - on a Windows NT computer "c:\\test\\zlib114.zip" or on an Unix computer - "zlib/zlib114.zip". - If the zipfile cannot be opened (file doesn't exist or in not valid), the - return value is NULL. - Else, the return value is a unzFile Handle, usable with other function - of this unzip package. -*/ -local unzFile unzOpenInternal (const void *path, - zlib_filefunc64_32_def* pzlib_filefunc64_32_def, - int is64bitOpenFunction) -{ - unz64_s us; - unz64_s *s; - ZPOS64_T central_pos; - uLong uL; - - uLong number_disk; /* number of the current dist, used for - spaning ZIP, unsupported, always 0*/ - uLong number_disk_with_CD; /* number the the disk with central dir, used - for spaning ZIP, unsupported, always 0*/ - ZPOS64_T number_entry_CD; /* total number of entries in - the central dir - (same than number_entry on nospan) */ - - int err=UNZ_OK; - - if (unz_copyright[0]!=' ') - return NULL; - - us.z_filefunc.zseek32_file = NULL; - us.z_filefunc.ztell32_file = NULL; - if (pzlib_filefunc64_32_def==NULL) - fill_fopen64_filefunc(&us.z_filefunc.zfile_func64); - else - us.z_filefunc = *pzlib_filefunc64_32_def; - us.is64bitOpenFunction = is64bitOpenFunction; - - - - us.filestream = ZOPEN64(us.z_filefunc, - path, - ZLIB_FILEFUNC_MODE_READ | - ZLIB_FILEFUNC_MODE_EXISTING); - if (us.filestream==NULL) - return NULL; - - central_pos = unz64local_SearchCentralDir64(&us.z_filefunc,us.filestream); - if (central_pos) - { - uLong uS; - ZPOS64_T uL64; - - us.isZip64 = 1; - - if (ZSEEK64(us.z_filefunc, us.filestream, - central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0) - err=UNZ_ERRNO; - - /* the signature, already checked */ - if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK) - err=UNZ_ERRNO; - - /* size of zip64 end of central directory record */ - if (unz64local_getLong64(&us.z_filefunc, us.filestream,&uL64)!=UNZ_OK) - err=UNZ_ERRNO; - - /* version made by */ - if (unz64local_getShort(&us.z_filefunc, us.filestream,&uS)!=UNZ_OK) - err=UNZ_ERRNO; - - /* version needed to extract */ - if (unz64local_getShort(&us.z_filefunc, us.filestream,&uS)!=UNZ_OK) - err=UNZ_ERRNO; - - /* number of this disk */ - if (unz64local_getLong(&us.z_filefunc, us.filestream,&number_disk)!=UNZ_OK) - err=UNZ_ERRNO; - - /* number of the disk with the start of the central directory */ - if (unz64local_getLong(&us.z_filefunc, us.filestream,&number_disk_with_CD)!=UNZ_OK) - err=UNZ_ERRNO; - - /* total number of entries in the central directory on this disk */ - if (unz64local_getLong64(&us.z_filefunc, us.filestream,&us.gi.number_entry)!=UNZ_OK) - err=UNZ_ERRNO; - - /* total number of entries in the central directory */ - if (unz64local_getLong64(&us.z_filefunc, us.filestream,&number_entry_CD)!=UNZ_OK) - err=UNZ_ERRNO; - - if ((number_entry_CD!=us.gi.number_entry) || - (number_disk_with_CD!=0) || - (number_disk!=0)) - err=UNZ_BADZIPFILE; - - /* size of the central directory */ - if (unz64local_getLong64(&us.z_filefunc, us.filestream,&us.size_central_dir)!=UNZ_OK) - err=UNZ_ERRNO; - - /* offset of start of central directory with respect to the - starting disk number */ - if (unz64local_getLong64(&us.z_filefunc, us.filestream,&us.offset_central_dir)!=UNZ_OK) - err=UNZ_ERRNO; - - us.gi.size_comment = 0; - } - else - { - central_pos = unz64local_SearchCentralDir(&us.z_filefunc,us.filestream); - if (central_pos==0) - err=UNZ_ERRNO; - - us.isZip64 = 0; - - if (ZSEEK64(us.z_filefunc, us.filestream, - central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0) - err=UNZ_ERRNO; - - /* the signature, already checked */ - if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK) - err=UNZ_ERRNO; - - /* number of this disk */ - if (unz64local_getShort(&us.z_filefunc, us.filestream,&number_disk)!=UNZ_OK) - err=UNZ_ERRNO; - - /* number of the disk with the start of the central directory */ - if (unz64local_getShort(&us.z_filefunc, us.filestream,&number_disk_with_CD)!=UNZ_OK) - err=UNZ_ERRNO; - - /* total number of entries in the central dir on this disk */ - if (unz64local_getShort(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK) - err=UNZ_ERRNO; - us.gi.number_entry = uL; - - /* total number of entries in the central dir */ - if (unz64local_getShort(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK) - err=UNZ_ERRNO; - number_entry_CD = uL; - - if ((number_entry_CD!=us.gi.number_entry) || - (number_disk_with_CD!=0) || - (number_disk!=0)) - err=UNZ_BADZIPFILE; - - /* size of the central directory */ - if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK) - err=UNZ_ERRNO; - us.size_central_dir = uL; - - /* offset of start of central directory with respect to the - starting disk number */ - if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK) - err=UNZ_ERRNO; - us.offset_central_dir = uL; - - /* zipfile comment length */ - if (unz64local_getShort(&us.z_filefunc, us.filestream,&us.gi.size_comment)!=UNZ_OK) - err=UNZ_ERRNO; - } - - if ((central_pospfile_in_zip_read!=NULL) - unzCloseCurrentFile(file); - - ZCLOSE64(s->z_filefunc, s->filestream); - TRYFREE(s); - return UNZ_OK; -} - - -/* - Write info about the ZipFile in the *pglobal_info structure. - No preparation of the structure is needed - return UNZ_OK if there is no problem. */ -extern int ZEXPORT unzGetGlobalInfo64 (unzFile file, unz_global_info64* pglobal_info) -{ - unz64_s* s; - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - *pglobal_info=s->gi; - return UNZ_OK; -} - -extern int ZEXPORT unzGetGlobalInfo (unzFile file, unz_global_info* pglobal_info32) -{ - unz64_s* s; - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - /* to do : check if number_entry is not truncated */ - pglobal_info32->number_entry = (uLong)s->gi.number_entry; - pglobal_info32->size_comment = s->gi.size_comment; - return UNZ_OK; -} -/* - Translate date/time from Dos format to tm_unz (readable more easilty) -*/ -local void unz64local_DosDateToTmuDate (ZPOS64_T ulDosDate, tm_unz* ptm) -{ - ZPOS64_T uDate; - uDate = (ZPOS64_T)(ulDosDate>>16); - ptm->tm_mday = (uInt)(uDate&0x1f) ; - ptm->tm_mon = (uInt)((((uDate)&0x1E0)/0x20)-1) ; - ptm->tm_year = (uInt)(((uDate&0x0FE00)/0x0200)+1980) ; - - ptm->tm_hour = (uInt) ((ulDosDate &0xF800)/0x800); - ptm->tm_min = (uInt) ((ulDosDate&0x7E0)/0x20) ; - ptm->tm_sec = (uInt) (2*(ulDosDate&0x1f)) ; -} - -/* - Get Info about the current file in the zipfile, with internal only info -*/ -local int unz64local_GetCurrentFileInfoInternal OF((unzFile file, - unz_file_info64 *pfile_info, - unz_file_info64_internal - *pfile_info_internal, - char *szFileName, - uLong fileNameBufferSize, - void *extraField, - uLong extraFieldBufferSize, - char *szComment, - uLong commentBufferSize)); - -local int unz64local_GetCurrentFileInfoInternal (unzFile file, - unz_file_info64 *pfile_info, - unz_file_info64_internal - *pfile_info_internal, - char *szFileName, - uLong fileNameBufferSize, - void *extraField, - uLong extraFieldBufferSize, - char *szComment, - uLong commentBufferSize) -{ - unz64_s* s; - unz_file_info64 file_info; - unz_file_info64_internal file_info_internal; - int err=UNZ_OK; - uLong uMagic; - long lSeek=0; - uLong uL; - - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - if (ZSEEK64(s->z_filefunc, s->filestream, - s->pos_in_central_dir+s->byte_before_the_zipfile, - ZLIB_FILEFUNC_SEEK_SET)!=0) - err=UNZ_ERRNO; - - - /* we check the magic */ - if (err==UNZ_OK) - { - if (unz64local_getLong(&s->z_filefunc, s->filestream,&uMagic) != UNZ_OK) - err=UNZ_ERRNO; - else if (uMagic!=0x02014b50) - err=UNZ_BADZIPFILE; - } - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.version) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.version_needed) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.flag) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.compression_method) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getLong(&s->z_filefunc, s->filestream,&file_info.dosDate) != UNZ_OK) - err=UNZ_ERRNO; - - unz64local_DosDateToTmuDate(file_info.dosDate,&file_info.tmu_date); - - if (unz64local_getLong(&s->z_filefunc, s->filestream,&file_info.crc) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK) - err=UNZ_ERRNO; - file_info.compressed_size = uL; - - if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK) - err=UNZ_ERRNO; - file_info.uncompressed_size = uL; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.size_filename) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.size_file_extra) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.size_file_comment) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.disk_num_start) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.internal_fa) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getLong(&s->z_filefunc, s->filestream,&file_info.external_fa) != UNZ_OK) - err=UNZ_ERRNO; - - // relative offset of local header - if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK) - err=UNZ_ERRNO; - file_info_internal.offset_curfile = uL; - - lSeek+=file_info.size_filename; - if ((err==UNZ_OK) && (szFileName!=NULL)) - { - uLong uSizeRead ; - if (file_info.size_filename0) && (fileNameBufferSize>0)) - if (ZREAD64(s->z_filefunc, s->filestream,szFileName,uSizeRead)!=uSizeRead) - err=UNZ_ERRNO; - lSeek -= uSizeRead; - } - - // Read extrafield - if ((err==UNZ_OK) && (extraField!=NULL)) - { - ZPOS64_T uSizeRead ; - if (file_info.size_file_extraz_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0) - lSeek=0; - else - err=UNZ_ERRNO; - } - - if ((file_info.size_file_extra>0) && (extraFieldBufferSize>0)) - if (ZREAD64(s->z_filefunc, s->filestream,extraField,(uLong)uSizeRead)!=uSizeRead) - err=UNZ_ERRNO; - - lSeek += file_info.size_file_extra - (uLong)uSizeRead; - } - else - lSeek += file_info.size_file_extra; - - - if ((err==UNZ_OK) && (file_info.size_file_extra != 0)) - { - uLong acc = 0; - - // since lSeek now points to after the extra field we need to move back - lSeek -= file_info.size_file_extra; - - if (lSeek!=0) - { - if (ZSEEK64(s->z_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0) - lSeek=0; - else - err=UNZ_ERRNO; - } - - while(acc < file_info.size_file_extra) - { - uLong headerId; - uLong dataSize; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&headerId) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&dataSize) != UNZ_OK) - err=UNZ_ERRNO; - - /* ZIP64 extra fields */ - if (headerId == 0x0001) - { - uLong uL; - - if(file_info.uncompressed_size == MAXU32) - { - if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info.uncompressed_size) != UNZ_OK) - err=UNZ_ERRNO; - } - - if(file_info.compressed_size == MAXU32) - { - if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info.compressed_size) != UNZ_OK) - err=UNZ_ERRNO; - } - - if(file_info_internal.offset_curfile == MAXU32) - { - /* Relative Header offset */ - if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info_internal.offset_curfile) != UNZ_OK) - err=UNZ_ERRNO; - } - - if(file_info.disk_num_start == MAXU32) - { - /* Disk Start Number */ - if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK) - err=UNZ_ERRNO; - } - - } - else - { - if (ZSEEK64(s->z_filefunc, s->filestream,dataSize,ZLIB_FILEFUNC_SEEK_CUR)!=0) - err=UNZ_ERRNO; - } - - acc += 2 + 2 + dataSize; - } - } - - if ((err==UNZ_OK) && (szComment!=NULL)) - { - uLong uSizeRead ; - if (file_info.size_file_commentz_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0) - lSeek=0; - else - err=UNZ_ERRNO; - } - - if ((file_info.size_file_comment>0) && (commentBufferSize>0)) - if (ZREAD64(s->z_filefunc, s->filestream,szComment,uSizeRead)!=uSizeRead) - err=UNZ_ERRNO; - lSeek+=file_info.size_file_comment - uSizeRead; - } - else - lSeek+=file_info.size_file_comment; - - - if ((err==UNZ_OK) && (pfile_info!=NULL)) - *pfile_info=file_info; - - if ((err==UNZ_OK) && (pfile_info_internal!=NULL)) - *pfile_info_internal=file_info_internal; - - return err; -} - - - -/* - Write info about the ZipFile in the *pglobal_info structure. - No preparation of the structure is needed - return UNZ_OK if there is no problem. -*/ -extern int ZEXPORT unzGetCurrentFileInfo64 (unzFile file, - unz_file_info64 * pfile_info, - char * szFileName, uLong fileNameBufferSize, - void *extraField, uLong extraFieldBufferSize, - char* szComment, uLong commentBufferSize) -{ - return unz64local_GetCurrentFileInfoInternal(file,pfile_info,NULL, - szFileName,fileNameBufferSize, - extraField,extraFieldBufferSize, - szComment,commentBufferSize); -} - -extern int ZEXPORT unzGetCurrentFileInfo (unzFile file, - unz_file_info * pfile_info, - char * szFileName, uLong fileNameBufferSize, - void *extraField, uLong extraFieldBufferSize, - char* szComment, uLong commentBufferSize) -{ - int err; - unz_file_info64 file_info64; - err = unz64local_GetCurrentFileInfoInternal(file,&file_info64,NULL, - szFileName,fileNameBufferSize, - extraField,extraFieldBufferSize, - szComment,commentBufferSize); - if ((err==UNZ_OK) && (pfile_info != NULL)) - { - pfile_info->version = file_info64.version; - pfile_info->version_needed = file_info64.version_needed; - pfile_info->flag = file_info64.flag; - pfile_info->compression_method = file_info64.compression_method; - pfile_info->dosDate = file_info64.dosDate; - pfile_info->crc = file_info64.crc; - - pfile_info->size_filename = file_info64.size_filename; - pfile_info->size_file_extra = file_info64.size_file_extra; - pfile_info->size_file_comment = file_info64.size_file_comment; - - pfile_info->disk_num_start = file_info64.disk_num_start; - pfile_info->internal_fa = file_info64.internal_fa; - pfile_info->external_fa = file_info64.external_fa; - - pfile_info->tmu_date = file_info64.tmu_date, - - - pfile_info->compressed_size = (uLong)file_info64.compressed_size; - pfile_info->uncompressed_size = (uLong)file_info64.uncompressed_size; - - } - return err; -} -/* - Set the current file of the zipfile to the first file. - return UNZ_OK if there is no problem -*/ -extern int ZEXPORT unzGoToFirstFile (unzFile file) -{ - int err=UNZ_OK; - unz64_s* s; - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - s->pos_in_central_dir=s->offset_central_dir; - s->num_file=0; - err=unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info, - &s->cur_file_info_internal, - NULL,0,NULL,0,NULL,0); - s->current_file_ok = (err == UNZ_OK); - return err; -} - -/* - Set the current file of the zipfile to the next file. - return UNZ_OK if there is no problem - return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest. -*/ -extern int ZEXPORT unzGoToNextFile (unzFile file) -{ - unz64_s* s; - int err; - - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - if (!s->current_file_ok) - return UNZ_END_OF_LIST_OF_FILE; - if (s->gi.number_entry != 0xffff) /* 2^16 files overflow hack */ - if (s->num_file+1==s->gi.number_entry) - return UNZ_END_OF_LIST_OF_FILE; - - s->pos_in_central_dir += SIZECENTRALDIRITEM + s->cur_file_info.size_filename + - s->cur_file_info.size_file_extra + s->cur_file_info.size_file_comment ; - s->num_file++; - err = unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info, - &s->cur_file_info_internal, - NULL,0,NULL,0,NULL,0); - s->current_file_ok = (err == UNZ_OK); - return err; -} - - -/* - Try locate the file szFileName in the zipfile. - For the iCaseSensitivity signification, see unzipStringFileNameCompare - - return value : - UNZ_OK if the file is found. It becomes the current file. - UNZ_END_OF_LIST_OF_FILE if the file is not found -*/ -extern int ZEXPORT unzLocateFile (unzFile file, const char *szFileName, int iCaseSensitivity) -{ - unz64_s* s; - int err; - - /* We remember the 'current' position in the file so that we can jump - * back there if we fail. - */ - unz_file_info64 cur_file_infoSaved; - unz_file_info64_internal cur_file_info_internalSaved; - ZPOS64_T num_fileSaved; - ZPOS64_T pos_in_central_dirSaved; - - - if (file==NULL) - return UNZ_PARAMERROR; - - if (strlen(szFileName)>=UNZ_MAXFILENAMEINZIP) - return UNZ_PARAMERROR; - - s=(unz64_s*)file; - if (!s->current_file_ok) - return UNZ_END_OF_LIST_OF_FILE; - - /* Save the current state */ - num_fileSaved = s->num_file; - pos_in_central_dirSaved = s->pos_in_central_dir; - cur_file_infoSaved = s->cur_file_info; - cur_file_info_internalSaved = s->cur_file_info_internal; - - err = unzGoToFirstFile(file); - - while (err == UNZ_OK) - { - char szCurrentFileName[UNZ_MAXFILENAMEINZIP+1]; - err = unzGetCurrentFileInfo64(file,NULL, - szCurrentFileName,sizeof(szCurrentFileName)-1, - NULL,0,NULL,0); - if (err == UNZ_OK) - { - if (unzStringFileNameCompare(szCurrentFileName, - szFileName,iCaseSensitivity)==0) - return UNZ_OK; - err = unzGoToNextFile(file); - } - } - - /* We failed, so restore the state of the 'current file' to where we - * were. - */ - s->num_file = num_fileSaved ; - s->pos_in_central_dir = pos_in_central_dirSaved ; - s->cur_file_info = cur_file_infoSaved; - s->cur_file_info_internal = cur_file_info_internalSaved; - return err; -} - - -/* -/////////////////////////////////////////// -// Contributed by Ryan Haksi (mailto://cryogen@infoserve.net) -// I need random access -// -// Further optimization could be realized by adding an ability -// to cache the directory in memory. The goal being a single -// comprehensive file read to put the file I need in a memory. -*/ - -/* -typedef struct unz_file_pos_s -{ - ZPOS64_T pos_in_zip_directory; // offset in file - ZPOS64_T num_of_file; // # of file -} unz_file_pos; -*/ - -extern int ZEXPORT unzGetFilePos64(unzFile file, unz64_file_pos* file_pos) -{ - unz64_s* s; - - if (file==NULL || file_pos==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - if (!s->current_file_ok) - return UNZ_END_OF_LIST_OF_FILE; - - file_pos->pos_in_zip_directory = s->pos_in_central_dir; - file_pos->num_of_file = s->num_file; - - return UNZ_OK; -} - -extern int ZEXPORT unzGetFilePos( - unzFile file, - unz_file_pos* file_pos) -{ - unz64_file_pos file_pos64; - int err = unzGetFilePos64(file,&file_pos64); - if (err==UNZ_OK) - { - file_pos->pos_in_zip_directory = (uLong)file_pos64.pos_in_zip_directory; - file_pos->num_of_file = (uLong)file_pos64.num_of_file; - } - return err; -} - -extern int ZEXPORT unzGoToFilePos64(unzFile file, const unz64_file_pos* file_pos) -{ - unz64_s* s; - int err; - - if (file==NULL || file_pos==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - - /* jump to the right spot */ - s->pos_in_central_dir = file_pos->pos_in_zip_directory; - s->num_file = file_pos->num_of_file; - - /* set the current file */ - err = unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info, - &s->cur_file_info_internal, - NULL,0,NULL,0,NULL,0); - /* return results */ - s->current_file_ok = (err == UNZ_OK); - return err; -} - -extern int ZEXPORT unzGoToFilePos( - unzFile file, - unz_file_pos* file_pos) -{ - unz64_file_pos file_pos64; - if (file_pos == NULL) - return UNZ_PARAMERROR; - - file_pos64.pos_in_zip_directory = file_pos->pos_in_zip_directory; - file_pos64.num_of_file = file_pos->num_of_file; - return unzGoToFilePos64(file,&file_pos64); -} - -/* -// Unzip Helper Functions - should be here? -/////////////////////////////////////////// -*/ - -/* - Read the local header of the current zipfile - Check the coherency of the local header and info in the end of central - directory about this file - store in *piSizeVar the size of extra info in local header - (filename and size of extra field data) -*/ -local int unz64local_CheckCurrentFileCoherencyHeader (unz64_s* s, uInt* piSizeVar, - ZPOS64_T * poffset_local_extrafield, - uInt * psize_local_extrafield) -{ - uLong uMagic,uData,uFlags; - uLong size_filename; - uLong size_extra_field; - int err=UNZ_OK; - - *piSizeVar = 0; - *poffset_local_extrafield = 0; - *psize_local_extrafield = 0; - - if (ZSEEK64(s->z_filefunc, s->filestream,s->cur_file_info_internal.offset_curfile + - s->byte_before_the_zipfile,ZLIB_FILEFUNC_SEEK_SET)!=0) - return UNZ_ERRNO; - - - if (err==UNZ_OK) - { - if (unz64local_getLong(&s->z_filefunc, s->filestream,&uMagic) != UNZ_OK) - err=UNZ_ERRNO; - else if (uMagic!=0x04034b50) - err=UNZ_BADZIPFILE; - } - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) - err=UNZ_ERRNO; -/* - else if ((err==UNZ_OK) && (uData!=s->cur_file_info.wVersion)) - err=UNZ_BADZIPFILE; -*/ - if (unz64local_getShort(&s->z_filefunc, s->filestream,&uFlags) != UNZ_OK) - err=UNZ_ERRNO; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) - err=UNZ_ERRNO; - else if ((err==UNZ_OK) && (uData!=s->cur_file_info.compression_method)) - err=UNZ_BADZIPFILE; - - if ((err==UNZ_OK) && (s->cur_file_info.compression_method!=0) && -/* #ifdef HAVE_BZIP2 */ - (s->cur_file_info.compression_method!=Z_BZIP2ED) && -/* #endif */ - (s->cur_file_info.compression_method!=Z_DEFLATED)) - err=UNZ_BADZIPFILE; - - if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* date/time */ - err=UNZ_ERRNO; - - if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* crc */ - err=UNZ_ERRNO; - else if ((err==UNZ_OK) && (uData!=s->cur_file_info.crc) && ((uFlags & 8)==0)) - err=UNZ_BADZIPFILE; - - if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* size compr */ - err=UNZ_ERRNO; - else if (uData != 0xFFFFFFFF && (err==UNZ_OK) && (uData!=s->cur_file_info.compressed_size) && ((uFlags & 8)==0)) - err=UNZ_BADZIPFILE; - - if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* size uncompr */ - err=UNZ_ERRNO; - else if (uData != 0xFFFFFFFF && (err==UNZ_OK) && (uData!=s->cur_file_info.uncompressed_size) && ((uFlags & 8)==0)) - err=UNZ_BADZIPFILE; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&size_filename) != UNZ_OK) - err=UNZ_ERRNO; - else if ((err==UNZ_OK) && (size_filename!=s->cur_file_info.size_filename)) - err=UNZ_BADZIPFILE; - - *piSizeVar += (uInt)size_filename; - - if (unz64local_getShort(&s->z_filefunc, s->filestream,&size_extra_field) != UNZ_OK) - err=UNZ_ERRNO; - *poffset_local_extrafield= s->cur_file_info_internal.offset_curfile + - SIZEZIPLOCALHEADER + size_filename; - *psize_local_extrafield = (uInt)size_extra_field; - - *piSizeVar += (uInt)size_extra_field; - - return err; -} - -/* - Open for reading data the current file in the zipfile. - If there is no error and the file is opened, the return value is UNZ_OK. -*/ -extern int ZEXPORT unzOpenCurrentFile3 (unzFile file, int* method, - int* level, int raw, const char* password) -{ - int err=UNZ_OK; - uInt iSizeVar; - unz64_s* s; - file_in_zip64_read_info_s* pfile_in_zip_read_info; - ZPOS64_T offset_local_extrafield; /* offset of the local extra field */ - uInt size_local_extrafield; /* size of the local extra field */ -# ifndef NOUNCRYPT - char source[12]; -# else - if (password != NULL) - return UNZ_PARAMERROR; -# endif - - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - if (!s->current_file_ok) - return UNZ_PARAMERROR; - - if (s->pfile_in_zip_read != NULL) - unzCloseCurrentFile(file); - - if (unz64local_CheckCurrentFileCoherencyHeader(s,&iSizeVar, &offset_local_extrafield,&size_local_extrafield)!=UNZ_OK) - return UNZ_BADZIPFILE; - - pfile_in_zip_read_info = (file_in_zip64_read_info_s*)ALLOC(sizeof(file_in_zip64_read_info_s)); - if (pfile_in_zip_read_info==NULL) - return UNZ_INTERNALERROR; - - pfile_in_zip_read_info->read_buffer=(char*)ALLOC(UNZ_BUFSIZE); - pfile_in_zip_read_info->offset_local_extrafield = offset_local_extrafield; - pfile_in_zip_read_info->size_local_extrafield = size_local_extrafield; - pfile_in_zip_read_info->pos_local_extrafield=0; - pfile_in_zip_read_info->raw=raw; - - if (pfile_in_zip_read_info->read_buffer==NULL) - { - TRYFREE(pfile_in_zip_read_info); - return UNZ_INTERNALERROR; - } - - pfile_in_zip_read_info->stream_initialised=0; - - if (method!=NULL) - *method = (int)s->cur_file_info.compression_method; - - if (level!=NULL) - { - *level = 6; - switch (s->cur_file_info.flag & 0x06) - { - case 6 : *level = 1; break; - case 4 : *level = 2; break; - case 2 : *level = 9; break; - } - } - - if ((s->cur_file_info.compression_method!=0) && -/* #ifdef HAVE_BZIP2 */ - (s->cur_file_info.compression_method!=Z_BZIP2ED) && -/* #endif */ - (s->cur_file_info.compression_method!=Z_DEFLATED)) - - err=UNZ_BADZIPFILE; - - pfile_in_zip_read_info->crc32_wait=s->cur_file_info.crc; - pfile_in_zip_read_info->crc32=0; - pfile_in_zip_read_info->total_out_64=0; - pfile_in_zip_read_info->compression_method = s->cur_file_info.compression_method; - pfile_in_zip_read_info->filestream=s->filestream; - pfile_in_zip_read_info->z_filefunc=s->z_filefunc; - pfile_in_zip_read_info->byte_before_the_zipfile=s->byte_before_the_zipfile; - - pfile_in_zip_read_info->stream.total_out = 0; - - if ((s->cur_file_info.compression_method==Z_BZIP2ED) && (!raw)) - { -#ifdef HAVE_BZIP2 - pfile_in_zip_read_info->bstream.bzalloc = (void *(*) (void *, int, int))0; - pfile_in_zip_read_info->bstream.bzfree = (free_func)0; - pfile_in_zip_read_info->bstream.opaque = (voidpf)0; - pfile_in_zip_read_info->bstream.state = (voidpf)0; - - pfile_in_zip_read_info->stream.zalloc = (alloc_func)0; - pfile_in_zip_read_info->stream.zfree = (free_func)0; - pfile_in_zip_read_info->stream.opaque = (voidpf)0; - pfile_in_zip_read_info->stream.next_in = (voidpf)0; - pfile_in_zip_read_info->stream.avail_in = 0; - - err=BZ2_bzDecompressInit(&pfile_in_zip_read_info->bstream, 0, 0); - if (err == Z_OK) - pfile_in_zip_read_info->stream_initialised=Z_BZIP2ED; - else - { - TRYFREE(pfile_in_zip_read_info); - return err; - } -#else - pfile_in_zip_read_info->raw=1; -#endif - } - else if ((s->cur_file_info.compression_method==Z_DEFLATED) && (!raw)) - { - pfile_in_zip_read_info->stream.zalloc = (alloc_func)0; - pfile_in_zip_read_info->stream.zfree = (free_func)0; - pfile_in_zip_read_info->stream.opaque = (voidpf)0; - pfile_in_zip_read_info->stream.next_in = 0; - pfile_in_zip_read_info->stream.avail_in = 0; - - err=inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS); - if (err == Z_OK) - pfile_in_zip_read_info->stream_initialised=Z_DEFLATED; - else - { - TRYFREE(pfile_in_zip_read_info); - return err; - } - /* windowBits is passed < 0 to tell that there is no zlib header. - * Note that in this case inflate *requires* an extra "dummy" byte - * after the compressed stream in order to complete decompression and - * return Z_STREAM_END. - * In unzip, i don't wait absolutely Z_STREAM_END because I known the - * size of both compressed and uncompressed data - */ - } - pfile_in_zip_read_info->rest_read_compressed = - s->cur_file_info.compressed_size ; - pfile_in_zip_read_info->rest_read_uncompressed = - s->cur_file_info.uncompressed_size ; - - - pfile_in_zip_read_info->pos_in_zipfile = - s->cur_file_info_internal.offset_curfile + SIZEZIPLOCALHEADER + - iSizeVar; - - pfile_in_zip_read_info->stream.avail_in = (uInt)0; - - s->pfile_in_zip_read = pfile_in_zip_read_info; - s->encrypted = 0; - -# ifndef NOUNCRYPT - if (password != NULL) - { - int i; - s->pcrc_32_tab = get_crc_table(); - init_keys(password,s->keys,s->pcrc_32_tab); - if (ZSEEK64(s->z_filefunc, s->filestream, - s->pfile_in_zip_read->pos_in_zipfile + - s->pfile_in_zip_read->byte_before_the_zipfile, - SEEK_SET)!=0) - return UNZ_INTERNALERROR; - if(ZREAD64(s->z_filefunc, s->filestream,source, 12)<12) - return UNZ_INTERNALERROR; - - for (i = 0; i<12; i++) - zdecode(s->keys,s->pcrc_32_tab,source[i]); - - s->pfile_in_zip_read->pos_in_zipfile+=12; - s->encrypted=1; - } -# endif - - - return UNZ_OK; -} - -extern int ZEXPORT unzOpenCurrentFile (unzFile file) -{ - return unzOpenCurrentFile3(file, NULL, NULL, 0, NULL); -} - -extern int ZEXPORT unzOpenCurrentFilePassword (unzFile file, const char* password) -{ - return unzOpenCurrentFile3(file, NULL, NULL, 0, password); -} - -extern int ZEXPORT unzOpenCurrentFile2 (unzFile file, int* method, int* level, int raw) -{ - return unzOpenCurrentFile3(file, method, level, raw, NULL); -} - -/** Addition for GDAL : START */ - -extern ZPOS64_T ZEXPORT unzGetCurrentFileZStreamPos64( unzFile file) -{ - unz64_s* s; - file_in_zip64_read_info_s* pfile_in_zip_read_info; - s=(unz64_s*)file; - if (file==NULL) - return 0; //UNZ_PARAMERROR; - pfile_in_zip_read_info=s->pfile_in_zip_read; - if (pfile_in_zip_read_info==NULL) - return 0; //UNZ_PARAMERROR; - return pfile_in_zip_read_info->pos_in_zipfile + - pfile_in_zip_read_info->byte_before_the_zipfile; -} - -/** Addition for GDAL : END */ - -/* - Read bytes from the current file. - buf contain buffer where data must be copied - len the size of buf. - - return the number of byte copied if somes bytes are copied - return 0 if the end of file was reached - return <0 with error code if there is an error - (UNZ_ERRNO for IO error, or zLib error for uncompress error) -*/ -extern int ZEXPORT unzReadCurrentFile (unzFile file, voidp buf, unsigned len) -{ - int err=UNZ_OK; - uInt iRead = 0; - unz64_s* s; - file_in_zip64_read_info_s* pfile_in_zip_read_info; - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - pfile_in_zip_read_info=s->pfile_in_zip_read; - - if (pfile_in_zip_read_info==NULL) - return UNZ_PARAMERROR; - - - if (pfile_in_zip_read_info->read_buffer == NULL) - return UNZ_END_OF_LIST_OF_FILE; - if (len==0) - return 0; - - pfile_in_zip_read_info->stream.next_out = (Bytef*)buf; - - pfile_in_zip_read_info->stream.avail_out = (uInt)len; - - if ((len>pfile_in_zip_read_info->rest_read_uncompressed) && - (!(pfile_in_zip_read_info->raw))) - pfile_in_zip_read_info->stream.avail_out = - (uInt)pfile_in_zip_read_info->rest_read_uncompressed; - - if ((len>pfile_in_zip_read_info->rest_read_compressed+ - pfile_in_zip_read_info->stream.avail_in) && - (pfile_in_zip_read_info->raw)) - pfile_in_zip_read_info->stream.avail_out = - (uInt)pfile_in_zip_read_info->rest_read_compressed+ - pfile_in_zip_read_info->stream.avail_in; - - while (pfile_in_zip_read_info->stream.avail_out>0) - { - if ((pfile_in_zip_read_info->stream.avail_in==0) && - (pfile_in_zip_read_info->rest_read_compressed>0)) - { - uInt uReadThis = UNZ_BUFSIZE; - if (pfile_in_zip_read_info->rest_read_compressedrest_read_compressed; - if (uReadThis == 0) - return UNZ_EOF; - if (ZSEEK64(pfile_in_zip_read_info->z_filefunc, - pfile_in_zip_read_info->filestream, - pfile_in_zip_read_info->pos_in_zipfile + - pfile_in_zip_read_info->byte_before_the_zipfile, - ZLIB_FILEFUNC_SEEK_SET)!=0) - return UNZ_ERRNO; - if (ZREAD64(pfile_in_zip_read_info->z_filefunc, - pfile_in_zip_read_info->filestream, - pfile_in_zip_read_info->read_buffer, - uReadThis)!=uReadThis) - return UNZ_ERRNO; - - -# ifndef NOUNCRYPT - if(s->encrypted) - { - uInt i; - for(i=0;iread_buffer[i] = - zdecode(s->keys,s->pcrc_32_tab, - pfile_in_zip_read_info->read_buffer[i]); - } -# endif - - - pfile_in_zip_read_info->pos_in_zipfile += uReadThis; - - pfile_in_zip_read_info->rest_read_compressed-=uReadThis; - - pfile_in_zip_read_info->stream.next_in = - (Bytef*)pfile_in_zip_read_info->read_buffer; - pfile_in_zip_read_info->stream.avail_in = (uInt)uReadThis; - } - - if ((pfile_in_zip_read_info->compression_method==0) || (pfile_in_zip_read_info->raw)) - { - uInt uDoCopy,i ; - - if ((pfile_in_zip_read_info->stream.avail_in == 0) && - (pfile_in_zip_read_info->rest_read_compressed == 0)) - return (iRead==0) ? UNZ_EOF : iRead; - - if (pfile_in_zip_read_info->stream.avail_out < - pfile_in_zip_read_info->stream.avail_in) - uDoCopy = pfile_in_zip_read_info->stream.avail_out ; - else - uDoCopy = pfile_in_zip_read_info->stream.avail_in ; - - for (i=0;istream.next_out+i) = - *(pfile_in_zip_read_info->stream.next_in+i); - - pfile_in_zip_read_info->total_out_64 = pfile_in_zip_read_info->total_out_64 + uDoCopy; - - pfile_in_zip_read_info->crc32 = crc32(pfile_in_zip_read_info->crc32, - pfile_in_zip_read_info->stream.next_out, - uDoCopy); - pfile_in_zip_read_info->rest_read_uncompressed-=uDoCopy; - pfile_in_zip_read_info->stream.avail_in -= uDoCopy; - pfile_in_zip_read_info->stream.avail_out -= uDoCopy; - pfile_in_zip_read_info->stream.next_out += uDoCopy; - pfile_in_zip_read_info->stream.next_in += uDoCopy; - pfile_in_zip_read_info->stream.total_out += uDoCopy; - iRead += uDoCopy; - } - else if (pfile_in_zip_read_info->compression_method==Z_BZIP2ED) - { -#ifdef HAVE_BZIP2 - uLong uTotalOutBefore,uTotalOutAfter; - const Bytef *bufBefore; - uLong uOutThis; - - pfile_in_zip_read_info->bstream.next_in = (char*)pfile_in_zip_read_info->stream.next_in; - pfile_in_zip_read_info->bstream.avail_in = pfile_in_zip_read_info->stream.avail_in; - pfile_in_zip_read_info->bstream.total_in_lo32 = pfile_in_zip_read_info->stream.total_in; - pfile_in_zip_read_info->bstream.total_in_hi32 = 0; - pfile_in_zip_read_info->bstream.next_out = (char*)pfile_in_zip_read_info->stream.next_out; - pfile_in_zip_read_info->bstream.avail_out = pfile_in_zip_read_info->stream.avail_out; - pfile_in_zip_read_info->bstream.total_out_lo32 = pfile_in_zip_read_info->stream.total_out; - pfile_in_zip_read_info->bstream.total_out_hi32 = 0; - - uTotalOutBefore = pfile_in_zip_read_info->bstream.total_out_lo32; - bufBefore = (const Bytef *)pfile_in_zip_read_info->bstream.next_out; - - err=BZ2_bzDecompress(&pfile_in_zip_read_info->bstream); - - uTotalOutAfter = pfile_in_zip_read_info->bstream.total_out_lo32; - uOutThis = uTotalOutAfter-uTotalOutBefore; - - pfile_in_zip_read_info->total_out_64 = pfile_in_zip_read_info->total_out_64 + uOutThis; - - pfile_in_zip_read_info->crc32 = crc32(pfile_in_zip_read_info->crc32,bufBefore, (uInt)(uOutThis)); - pfile_in_zip_read_info->rest_read_uncompressed -= uOutThis; - iRead += (uInt)(uTotalOutAfter - uTotalOutBefore); - - pfile_in_zip_read_info->stream.next_in = (Bytef*)pfile_in_zip_read_info->bstream.next_in; - pfile_in_zip_read_info->stream.avail_in = pfile_in_zip_read_info->bstream.avail_in; - pfile_in_zip_read_info->stream.total_in = pfile_in_zip_read_info->bstream.total_in_lo32; - pfile_in_zip_read_info->stream.next_out = (Bytef*)pfile_in_zip_read_info->bstream.next_out; - pfile_in_zip_read_info->stream.avail_out = pfile_in_zip_read_info->bstream.avail_out; - pfile_in_zip_read_info->stream.total_out = pfile_in_zip_read_info->bstream.total_out_lo32; - - if (err==BZ_STREAM_END) - return (iRead==0) ? UNZ_EOF : iRead; - if (err!=BZ_OK) - break; -#endif - } // end Z_BZIP2ED - else - { - ZPOS64_T uTotalOutBefore,uTotalOutAfter; - const Bytef *bufBefore; - ZPOS64_T uOutThis; - int flush=Z_SYNC_FLUSH; - - uTotalOutBefore = pfile_in_zip_read_info->stream.total_out; - bufBefore = pfile_in_zip_read_info->stream.next_out; - - /* - if ((pfile_in_zip_read_info->rest_read_uncompressed == - pfile_in_zip_read_info->stream.avail_out) && - (pfile_in_zip_read_info->rest_read_compressed == 0)) - flush = Z_FINISH; - */ - err=inflate(&pfile_in_zip_read_info->stream,flush); - - if ((err>=0) && (pfile_in_zip_read_info->stream.msg!=NULL)) - err = Z_DATA_ERROR; - - uTotalOutAfter = pfile_in_zip_read_info->stream.total_out; - uOutThis = uTotalOutAfter-uTotalOutBefore; - - pfile_in_zip_read_info->total_out_64 = pfile_in_zip_read_info->total_out_64 + uOutThis; - - pfile_in_zip_read_info->crc32 = - crc32(pfile_in_zip_read_info->crc32,bufBefore, - (uInt)(uOutThis)); - - pfile_in_zip_read_info->rest_read_uncompressed -= - uOutThis; - - iRead += (uInt)(uTotalOutAfter - uTotalOutBefore); - - if (err==Z_STREAM_END) - return (iRead==0) ? UNZ_EOF : iRead; - if (err!=Z_OK) - break; - } - } - - if (err==Z_OK) - return iRead; - return err; -} - - -/* - Give the current position in uncompressed data -*/ -extern z_off_t ZEXPORT unztell (unzFile file) -{ - unz64_s* s; - file_in_zip64_read_info_s* pfile_in_zip_read_info; - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - pfile_in_zip_read_info=s->pfile_in_zip_read; - - if (pfile_in_zip_read_info==NULL) - return UNZ_PARAMERROR; - - return (z_off_t)pfile_in_zip_read_info->stream.total_out; -} - -extern ZPOS64_T ZEXPORT unztell64 (unzFile file) -{ - - unz64_s* s; - file_in_zip64_read_info_s* pfile_in_zip_read_info; - if (file==NULL) - return (ZPOS64_T)-1; - s=(unz64_s*)file; - pfile_in_zip_read_info=s->pfile_in_zip_read; - - if (pfile_in_zip_read_info==NULL) - return (ZPOS64_T)-1; - - return pfile_in_zip_read_info->total_out_64; -} - - -/* - return 1 if the end of file was reached, 0 elsewhere -*/ -extern int ZEXPORT unzeof (unzFile file) -{ - unz64_s* s; - file_in_zip64_read_info_s* pfile_in_zip_read_info; - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - pfile_in_zip_read_info=s->pfile_in_zip_read; - - if (pfile_in_zip_read_info==NULL) - return UNZ_PARAMERROR; - - if (pfile_in_zip_read_info->rest_read_uncompressed == 0) - return 1; - else - return 0; -} - - - -/* -Read extra field from the current file (opened by unzOpenCurrentFile) -This is the local-header version of the extra field (sometimes, there is -more info in the local-header version than in the central-header) - - if buf==NULL, it return the size of the local extra field that can be read - - if buf!=NULL, len is the size of the buffer, the extra header is copied in - buf. - the return value is the number of bytes copied in buf, or (if <0) - the error code -*/ -extern int ZEXPORT unzGetLocalExtrafield (unzFile file, voidp buf, unsigned len) -{ - unz64_s* s; - file_in_zip64_read_info_s* pfile_in_zip_read_info; - uInt read_now; - ZPOS64_T size_to_read; - - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - pfile_in_zip_read_info=s->pfile_in_zip_read; - - if (pfile_in_zip_read_info==NULL) - return UNZ_PARAMERROR; - - size_to_read = (pfile_in_zip_read_info->size_local_extrafield - - pfile_in_zip_read_info->pos_local_extrafield); - - if (buf==NULL) - return (int)size_to_read; - - if (len>size_to_read) - read_now = (uInt)size_to_read; - else - read_now = (uInt)len ; - - if (read_now==0) - return 0; - - if (ZSEEK64(pfile_in_zip_read_info->z_filefunc, - pfile_in_zip_read_info->filestream, - pfile_in_zip_read_info->offset_local_extrafield + - pfile_in_zip_read_info->pos_local_extrafield, - ZLIB_FILEFUNC_SEEK_SET)!=0) - return UNZ_ERRNO; - - if (ZREAD64(pfile_in_zip_read_info->z_filefunc, - pfile_in_zip_read_info->filestream, - buf,read_now)!=read_now) - return UNZ_ERRNO; - - return (int)read_now; -} - -/* - Close the file in zip opened with unzipOpenCurrentFile - Return UNZ_CRCERROR if all the file was read but the CRC is not good -*/ -extern int ZEXPORT unzCloseCurrentFile (unzFile file) -{ - int err=UNZ_OK; - - unz64_s* s; - file_in_zip64_read_info_s* pfile_in_zip_read_info; - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - pfile_in_zip_read_info=s->pfile_in_zip_read; - - if (pfile_in_zip_read_info==NULL) - return UNZ_PARAMERROR; - - - if ((pfile_in_zip_read_info->rest_read_uncompressed == 0) && - (!pfile_in_zip_read_info->raw)) - { - if (pfile_in_zip_read_info->crc32 != pfile_in_zip_read_info->crc32_wait) - err=UNZ_CRCERROR; - } - - - TRYFREE(pfile_in_zip_read_info->read_buffer); - pfile_in_zip_read_info->read_buffer = NULL; - if (pfile_in_zip_read_info->stream_initialised == Z_DEFLATED) - inflateEnd(&pfile_in_zip_read_info->stream); -#ifdef HAVE_BZIP2 - else if (pfile_in_zip_read_info->stream_initialised == Z_BZIP2ED) - BZ2_bzDecompressEnd(&pfile_in_zip_read_info->bstream); -#endif - - - pfile_in_zip_read_info->stream_initialised = 0; - TRYFREE(pfile_in_zip_read_info); - - s->pfile_in_zip_read=NULL; - - return err; -} - - -/* - Get the global comment string of the ZipFile, in the szComment buffer. - uSizeBuf is the size of the szComment buffer. - return the number of byte copied or an error code <0 -*/ -extern int ZEXPORT unzGetGlobalComment (unzFile file, char * szComment, uLong uSizeBuf) -{ - unz64_s* s; - uLong uReadThis ; - if (file==NULL) - return (int)UNZ_PARAMERROR; - s=(unz64_s*)file; - - uReadThis = uSizeBuf; - if (uReadThis>s->gi.size_comment) - uReadThis = s->gi.size_comment; - - if (ZSEEK64(s->z_filefunc,s->filestream,s->central_pos+22,ZLIB_FILEFUNC_SEEK_SET)!=0) - return UNZ_ERRNO; - - if (uReadThis>0) - { - *szComment='\0'; - if (ZREAD64(s->z_filefunc,s->filestream,szComment,uReadThis)!=uReadThis) - return UNZ_ERRNO; - } - - if ((szComment != NULL) && (uSizeBuf > s->gi.size_comment)) - *(szComment+s->gi.size_comment)='\0'; - return (int)uReadThis; -} - -/* Additions by RX '2004 */ -extern ZPOS64_T ZEXPORT unzGetOffset64(unzFile file) -{ - unz64_s* s; - - if (file==NULL) - return 0; //UNZ_PARAMERROR; - s=(unz64_s*)file; - if (!s->current_file_ok) - return 0; - if (s->gi.number_entry != 0 && s->gi.number_entry != 0xffff) - if (s->num_file==s->gi.number_entry) - return 0; - return s->pos_in_central_dir; -} - -extern uLong ZEXPORT unzGetOffset (unzFile file) -{ - ZPOS64_T offset64; - - if (file==NULL) - return 0; //UNZ_PARAMERROR; - offset64 = unzGetOffset64(file); - return (uLong)offset64; -} - -extern int ZEXPORT unzSetOffset64(unzFile file, ZPOS64_T pos) -{ - unz64_s* s; - int err; - - if (file==NULL) - return UNZ_PARAMERROR; - s=(unz64_s*)file; - - s->pos_in_central_dir = pos; - s->num_file = s->gi.number_entry; /* hack */ - err = unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info, - &s->cur_file_info_internal, - NULL,0,NULL,0,NULL,0); - s->current_file_ok = (err == UNZ_OK); - return err; -} - -extern int ZEXPORT unzSetOffset (unzFile file, uLong pos) -{ - return unzSetOffset64(file,pos); -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/unzip.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/unzip.h deleted file mode 100644 index 3183968b..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/unzip.h +++ /dev/null @@ -1,437 +0,0 @@ -/* unzip.h -- IO for uncompress .zip files using zlib - Version 1.1, February 14h, 2010 - part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html ) - - Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) - - Modifications of Unzip for Zip64 - Copyright (C) 2007-2008 Even Rouault - - Modifications for Zip64 support on both zip and unzip - Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) - - For more info read MiniZip_info.txt - - --------------------------------------------------------------------------------- - - Condition of use and distribution are the same than zlib : - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - --------------------------------------------------------------------------------- - - Changes - - See header of unzip64.c - -*/ - -#ifndef _unz64_H -#define _unz64_H - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _ZLIB_H -#include "zlib.h" -#endif - -#ifndef _ZLIBIOAPI_H -#include "ioapi.h" -#endif - -#ifdef HAVE_BZIP2 -#include "bzlib.h" -#endif - -#define Z_BZIP2ED 12 - -#if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP) -/* like the STRICT of WIN32, we define a pointer that cannot be converted - from (void*) without cast */ -typedef struct TagunzFile__ { int unused; } unzFile__; -typedef unzFile__ *unzFile; -#else -typedef voidp unzFile; -#endif - - -#define UNZ_OK (0) -#define UNZ_END_OF_LIST_OF_FILE (-100) -#define UNZ_ERRNO (Z_ERRNO) -#define UNZ_EOF (0) -#define UNZ_PARAMERROR (-102) -#define UNZ_BADZIPFILE (-103) -#define UNZ_INTERNALERROR (-104) -#define UNZ_CRCERROR (-105) - -/* tm_unz contain date/time info */ -typedef struct tm_unz_s -{ - uInt tm_sec; /* seconds after the minute - [0,59] */ - uInt tm_min; /* minutes after the hour - [0,59] */ - uInt tm_hour; /* hours since midnight - [0,23] */ - uInt tm_mday; /* day of the month - [1,31] */ - uInt tm_mon; /* months since January - [0,11] */ - uInt tm_year; /* years - [1980..2044] */ -} tm_unz; - -/* unz_global_info structure contain global data about the ZIPfile - These data comes from the end of central dir */ -typedef struct unz_global_info64_s -{ - ZPOS64_T number_entry; /* total number of entries in - the central dir on this disk */ - uLong size_comment; /* size of the global comment of the zipfile */ -} unz_global_info64; - -typedef struct unz_global_info_s -{ - uLong number_entry; /* total number of entries in - the central dir on this disk */ - uLong size_comment; /* size of the global comment of the zipfile */ -} unz_global_info; - -/* unz_file_info contain information about a file in the zipfile */ -typedef struct unz_file_info64_s -{ - uLong version; /* version made by 2 bytes */ - uLong version_needed; /* version needed to extract 2 bytes */ - uLong flag; /* general purpose bit flag 2 bytes */ - uLong compression_method; /* compression method 2 bytes */ - uLong dosDate; /* last mod file date in Dos fmt 4 bytes */ - uLong crc; /* crc-32 4 bytes */ - ZPOS64_T compressed_size; /* compressed size 8 bytes */ - ZPOS64_T uncompressed_size; /* uncompressed size 8 bytes */ - uLong size_filename; /* filename length 2 bytes */ - uLong size_file_extra; /* extra field length 2 bytes */ - uLong size_file_comment; /* file comment length 2 bytes */ - - uLong disk_num_start; /* disk number start 2 bytes */ - uLong internal_fa; /* internal file attributes 2 bytes */ - uLong external_fa; /* external file attributes 4 bytes */ - - tm_unz tmu_date; -} unz_file_info64; - -typedef struct unz_file_info_s -{ - uLong version; /* version made by 2 bytes */ - uLong version_needed; /* version needed to extract 2 bytes */ - uLong flag; /* general purpose bit flag 2 bytes */ - uLong compression_method; /* compression method 2 bytes */ - uLong dosDate; /* last mod file date in Dos fmt 4 bytes */ - uLong crc; /* crc-32 4 bytes */ - uLong compressed_size; /* compressed size 4 bytes */ - uLong uncompressed_size; /* uncompressed size 4 bytes */ - uLong size_filename; /* filename length 2 bytes */ - uLong size_file_extra; /* extra field length 2 bytes */ - uLong size_file_comment; /* file comment length 2 bytes */ - - uLong disk_num_start; /* disk number start 2 bytes */ - uLong internal_fa; /* internal file attributes 2 bytes */ - uLong external_fa; /* external file attributes 4 bytes */ - - tm_unz tmu_date; -} unz_file_info; - -extern int ZEXPORT unzStringFileNameCompare OF ((const char* fileName1, - const char* fileName2, - int iCaseSensitivity)); -/* - Compare two filename (fileName1,fileName2). - If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp) - If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi - or strcasecmp) - If iCaseSenisivity = 0, case sensitivity is defaut of your operating system - (like 1 on Unix, 2 on Windows) -*/ - - -extern unzFile ZEXPORT unzOpen OF((const char *path)); -extern unzFile ZEXPORT unzOpen64 OF((const void *path)); -/* - Open a Zip file. path contain the full pathname (by example, - on a Windows XP computer "c:\\zlib\\zlib113.zip" or on an Unix computer - "zlib/zlib113.zip". - If the zipfile cannot be opened (file don't exist or in not valid), the - return value is NULL. - Else, the return value is a unzFile Handle, usable with other function - of this unzip package. - the "64" function take a const void* pointer, because the path is just the - value passed to the open64_file_func callback. - Under Windows, if UNICODE is defined, using fill_fopen64_filefunc, the path - is a pointer to a wide unicode string (LPCTSTR is LPCWSTR), so const char* - does not describe the reality -*/ - - -extern unzFile ZEXPORT unzOpen2 OF((const char *path, - zlib_filefunc_def* pzlib_filefunc_def)); -/* - Open a Zip file, like unzOpen, but provide a set of file low level API - for read/write the zip file (see ioapi.h) -*/ - -extern unzFile ZEXPORT unzOpen2_64 OF((const void *path, - zlib_filefunc64_def* pzlib_filefunc_def)); -/* - Open a Zip file, like unz64Open, but provide a set of file low level API - for read/write the zip file (see ioapi.h) -*/ - -extern int ZEXPORT unzClose OF((unzFile file)); -/* - Close a ZipFile opened with unzipOpen. - If there is files inside the .Zip opened with unzOpenCurrentFile (see later), - these files MUST be closed with unzipCloseCurrentFile before call unzipClose. - return UNZ_OK if there is no problem. */ - -extern int ZEXPORT unzGetGlobalInfo OF((unzFile file, - unz_global_info *pglobal_info)); - -extern int ZEXPORT unzGetGlobalInfo64 OF((unzFile file, - unz_global_info64 *pglobal_info)); -/* - Write info about the ZipFile in the *pglobal_info structure. - No preparation of the structure is needed - return UNZ_OK if there is no problem. */ - - -extern int ZEXPORT unzGetGlobalComment OF((unzFile file, - char *szComment, - uLong uSizeBuf)); -/* - Get the global comment string of the ZipFile, in the szComment buffer. - uSizeBuf is the size of the szComment buffer. - return the number of byte copied or an error code <0 -*/ - - -/***************************************************************************/ -/* Unzip package allow you browse the directory of the zipfile */ - -extern int ZEXPORT unzGoToFirstFile OF((unzFile file)); -/* - Set the current file of the zipfile to the first file. - return UNZ_OK if there is no problem -*/ - -extern int ZEXPORT unzGoToNextFile OF((unzFile file)); -/* - Set the current file of the zipfile to the next file. - return UNZ_OK if there is no problem - return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest. -*/ - -extern int ZEXPORT unzLocateFile OF((unzFile file, - const char *szFileName, - int iCaseSensitivity)); -/* - Try locate the file szFileName in the zipfile. - For the iCaseSensitivity signification, see unzStringFileNameCompare - - return value : - UNZ_OK if the file is found. It becomes the current file. - UNZ_END_OF_LIST_OF_FILE if the file is not found -*/ - - -/* ****************************************** */ -/* Ryan supplied functions */ -/* unz_file_info contain information about a file in the zipfile */ -typedef struct unz_file_pos_s -{ - uLong pos_in_zip_directory; /* offset in zip file directory */ - uLong num_of_file; /* # of file */ -} unz_file_pos; - -extern int ZEXPORT unzGetFilePos( - unzFile file, - unz_file_pos* file_pos); - -extern int ZEXPORT unzGoToFilePos( - unzFile file, - unz_file_pos* file_pos); - -typedef struct unz64_file_pos_s -{ - ZPOS64_T pos_in_zip_directory; /* offset in zip file directory */ - ZPOS64_T num_of_file; /* # of file */ -} unz64_file_pos; - -extern int ZEXPORT unzGetFilePos64( - unzFile file, - unz64_file_pos* file_pos); - -extern int ZEXPORT unzGoToFilePos64( - unzFile file, - const unz64_file_pos* file_pos); - -/* ****************************************** */ - -extern int ZEXPORT unzGetCurrentFileInfo64 OF((unzFile file, - unz_file_info64 *pfile_info, - char *szFileName, - uLong fileNameBufferSize, - void *extraField, - uLong extraFieldBufferSize, - char *szComment, - uLong commentBufferSize)); - -extern int ZEXPORT unzGetCurrentFileInfo OF((unzFile file, - unz_file_info *pfile_info, - char *szFileName, - uLong fileNameBufferSize, - void *extraField, - uLong extraFieldBufferSize, - char *szComment, - uLong commentBufferSize)); -/* - Get Info about the current file - if pfile_info!=NULL, the *pfile_info structure will contain somes info about - the current file - if szFileName!=NULL, the filemane string will be copied in szFileName - (fileNameBufferSize is the size of the buffer) - if extraField!=NULL, the extra field information will be copied in extraField - (extraFieldBufferSize is the size of the buffer). - This is the Central-header version of the extra field - if szComment!=NULL, the comment string of the file will be copied in szComment - (commentBufferSize is the size of the buffer) -*/ - - -/** Addition for GDAL : START */ - -extern ZPOS64_T ZEXPORT unzGetCurrentFileZStreamPos64 OF((unzFile file)); - -/** Addition for GDAL : END */ - - -/***************************************************************************/ -/* for reading the content of the current zipfile, you can open it, read data - from it, and close it (you can close it before reading all the file) - */ - -extern int ZEXPORT unzOpenCurrentFile OF((unzFile file)); -/* - Open for reading data the current file in the zipfile. - If there is no error, the return value is UNZ_OK. -*/ - -extern int ZEXPORT unzOpenCurrentFilePassword OF((unzFile file, - const char* password)); -/* - Open for reading data the current file in the zipfile. - password is a crypting password - If there is no error, the return value is UNZ_OK. -*/ - -extern int ZEXPORT unzOpenCurrentFile2 OF((unzFile file, - int* method, - int* level, - int raw)); -/* - Same than unzOpenCurrentFile, but open for read raw the file (not uncompress) - if raw==1 - *method will receive method of compression, *level will receive level of - compression - note : you can set level parameter as NULL (if you did not want known level, - but you CANNOT set method parameter as NULL -*/ - -extern int ZEXPORT unzOpenCurrentFile3 OF((unzFile file, - int* method, - int* level, - int raw, - const char* password)); -/* - Same than unzOpenCurrentFile, but open for read raw the file (not uncompress) - if raw==1 - *method will receive method of compression, *level will receive level of - compression - note : you can set level parameter as NULL (if you did not want known level, - but you CANNOT set method parameter as NULL -*/ - - -extern int ZEXPORT unzCloseCurrentFile OF((unzFile file)); -/* - Close the file in zip opened with unzOpenCurrentFile - Return UNZ_CRCERROR if all the file was read but the CRC is not good -*/ - -extern int ZEXPORT unzReadCurrentFile OF((unzFile file, - voidp buf, - unsigned len)); -/* - Read bytes from the current file (opened by unzOpenCurrentFile) - buf contain buffer where data must be copied - len the size of buf. - - return the number of byte copied if somes bytes are copied - return 0 if the end of file was reached - return <0 with error code if there is an error - (UNZ_ERRNO for IO error, or zLib error for uncompress error) -*/ - -extern z_off_t ZEXPORT unztell OF((unzFile file)); - -extern ZPOS64_T ZEXPORT unztell64 OF((unzFile file)); -/* - Give the current position in uncompressed data -*/ - -extern int ZEXPORT unzeof OF((unzFile file)); -/* - return 1 if the end of file was reached, 0 elsewhere -*/ - -extern int ZEXPORT unzGetLocalExtrafield OF((unzFile file, - voidp buf, - unsigned len)); -/* - Read extra field from the current file (opened by unzOpenCurrentFile) - This is the local-header version of the extra field (sometimes, there is - more info in the local-header version than in the central-header) - - if buf==NULL, it return the size of the local extra field - - if buf!=NULL, len is the size of the buffer, the extra header is copied in - buf. - the return value is the number of bytes copied in buf, or (if <0) - the error code -*/ - -/***************************************************************************/ - -/* Get the current file offset */ -extern ZPOS64_T ZEXPORT unzGetOffset64 (unzFile file); -extern uLong ZEXPORT unzGetOffset (unzFile file); - -/* Set the current file offset */ -extern int ZEXPORT unzSetOffset64 (unzFile file, ZPOS64_T pos); -extern int ZEXPORT unzSetOffset (unzFile file, uLong pos); - - - -#ifdef __cplusplus -} -#endif - -#endif /* _unz64_H */ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/zip.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/zip.c deleted file mode 100644 index 1b99580e..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/zip.c +++ /dev/null @@ -1,2007 +0,0 @@ -/* zip.c -- IO on .zip files using zlib - Version 1.1, February 14h, 2010 - part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html ) - - Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) - - Modifications for Zip64 support - Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) - - For more info read MiniZip_info.txt - - Changes - Oct-2009 - Mathias Svensson - Remove old C style function prototypes - Oct-2009 - Mathias Svensson - Added Zip64 Support when creating new file archives - Oct-2009 - Mathias Svensson - Did some code cleanup and refactoring to get better overview of some functions. - Oct-2009 - Mathias Svensson - Added zipRemoveExtraInfoBlock to strip extra field data from its ZIP64 data - It is used when recreting zip archive with RAW when deleting items from a zip. - ZIP64 data is automaticly added to items that needs it, and existing ZIP64 data need to be removed. - Oct-2009 - Mathias Svensson - Added support for BZIP2 as compression mode (bzip2 lib is required) - Jan-2010 - back to unzip and minizip 1.0 name scheme, with compatibility layer - -*/ - - -#include -#include -#include -#include -#include "zlib.h" -#include "zip.h" - -#ifdef STDC -# include -# include -# include -#endif -#ifdef NO_ERRNO_H - extern int errno; -#else -# include -#endif - - -#ifndef local -# define local static -#endif -/* compile with -Dlocal if your debugger can't find static symbols */ - -#ifndef VERSIONMADEBY -# define VERSIONMADEBY (0x0) /* platform depedent */ -#endif - -#ifndef Z_BUFSIZE -#define Z_BUFSIZE (64*1024) //(16384) -#endif - -#ifndef Z_MAXFILENAMEINZIP -#define Z_MAXFILENAMEINZIP (256) -#endif - -#ifndef ALLOC -# define ALLOC(size) (malloc(size)) -#endif -#ifndef TRYFREE -# define TRYFREE(p) {if (p) free(p);} -#endif - -/* -#define SIZECENTRALDIRITEM (0x2e) -#define SIZEZIPLOCALHEADER (0x1e) -*/ - -/* I've found an old Unix (a SunOS 4.1.3_U1) without all SEEK_* defined.... */ - - -// NOT sure that this work on ALL platform -#define MAKEULONG64(a, b) ((ZPOS64_T)(((unsigned long)(a)) | ((ZPOS64_T)((unsigned long)(b))) << 32)) - -#ifndef SEEK_CUR -#define SEEK_CUR 1 -#endif - -#ifndef SEEK_END -#define SEEK_END 2 -#endif - -#ifndef SEEK_SET -#define SEEK_SET 0 -#endif - -#ifndef DEF_MEM_LEVEL -#if MAX_MEM_LEVEL >= 8 -# define DEF_MEM_LEVEL 8 -#else -# define DEF_MEM_LEVEL MAX_MEM_LEVEL -#endif -#endif -const char zip_copyright[] =" zip 1.01 Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll"; - - -#define SIZEDATA_INDATABLOCK (4096-(4*4)) - -#define LOCALHEADERMAGIC (0x04034b50) -#define CENTRALHEADERMAGIC (0x02014b50) -#define ENDHEADERMAGIC (0x06054b50) -#define ZIP64ENDHEADERMAGIC (0x6064b50) -#define ZIP64ENDLOCHEADERMAGIC (0x7064b50) - -#define FLAG_LOCALHEADER_OFFSET (0x06) -#define CRC_LOCALHEADER_OFFSET (0x0e) - -#define SIZECENTRALHEADER (0x2e) /* 46 */ - -typedef struct linkedlist_datablock_internal_s -{ - struct linkedlist_datablock_internal_s* next_datablock; - uLong avail_in_this_block; - uLong filled_in_this_block; - uLong unused; /* for future use and alignement */ - unsigned char data[SIZEDATA_INDATABLOCK]; -} linkedlist_datablock_internal; - -typedef struct linkedlist_data_s -{ - linkedlist_datablock_internal* first_block; - linkedlist_datablock_internal* last_block; -} linkedlist_data; - - -typedef struct -{ - z_stream stream; /* zLib stream structure for inflate */ -#ifdef HAVE_BZIP2 - bz_stream bstream; /* bzLib stream structure for bziped */ -#endif - - int stream_initialised; /* 1 is stream is initialised */ - uInt pos_in_buffered_data; /* last written byte in buffered_data */ - - ZPOS64_T pos_local_header; /* offset of the local header of the file - currenty writing */ - char* central_header; /* central header data for the current file */ - uLong size_centralExtra; - uLong size_centralheader; /* size of the central header for cur file */ - uLong size_centralExtraFree; /* Extra bytes allocated to the centralheader but that are not used */ - uLong flag; /* flag of the file currently writing */ - - int method; /* compression method of file currenty wr.*/ - int raw; /* 1 for directly writing raw data */ - Byte buffered_data[Z_BUFSIZE];/* buffer contain compressed data to be writ*/ - uLong dosDate; - uLong crc32; - int encrypt; - int zip64; /* Add ZIP64 extened information in the extra field */ - ZPOS64_T pos_zip64extrainfo; - ZPOS64_T totalCompressedData; - ZPOS64_T totalUncompressedData; -#ifndef NOCRYPT - unsigned long keys[3]; /* keys defining the pseudo-random sequence */ - const unsigned long* pcrc_32_tab; - int crypt_header_size; -#endif -} curfile64_info; - -typedef struct -{ - zlib_filefunc64_32_def z_filefunc; - voidpf filestream; /* io structore of the zipfile */ - linkedlist_data central_dir;/* datablock with central dir in construction*/ - int in_opened_file_inzip; /* 1 if a file in the zip is currently writ.*/ - curfile64_info ci; /* info on the file curretly writing */ - - ZPOS64_T begin_pos; /* position of the beginning of the zipfile */ - ZPOS64_T add_position_when_writting_offset; - ZPOS64_T number_entry; - -#ifndef NO_ADDFILEINEXISTINGZIP - char *globalcomment; -#endif - -} zip64_internal; - - -#ifndef NOCRYPT -#define INCLUDECRYPTINGCODE_IFCRYPTALLOWED -#include "crypt.h" -#endif - -local linkedlist_datablock_internal* allocate_new_datablock() -{ - linkedlist_datablock_internal* ldi; - ldi = (linkedlist_datablock_internal*) - ALLOC(sizeof(linkedlist_datablock_internal)); - if (ldi!=NULL) - { - ldi->next_datablock = NULL ; - ldi->filled_in_this_block = 0 ; - ldi->avail_in_this_block = SIZEDATA_INDATABLOCK ; - } - return ldi; -} - -local void free_datablock(linkedlist_datablock_internal* ldi) -{ - while (ldi!=NULL) - { - linkedlist_datablock_internal* ldinext = ldi->next_datablock; - TRYFREE(ldi); - ldi = ldinext; - } -} - -local void init_linkedlist(linkedlist_data* ll) -{ - ll->first_block = ll->last_block = NULL; -} - -local void free_linkedlist(linkedlist_data* ll) -{ - free_datablock(ll->first_block); - ll->first_block = ll->last_block = NULL; -} - - -local int add_data_in_datablock(linkedlist_data* ll, const void* buf, uLong len) -{ - linkedlist_datablock_internal* ldi; - const unsigned char* from_copy; - - if (ll==NULL) - return ZIP_INTERNALERROR; - - if (ll->last_block == NULL) - { - ll->first_block = ll->last_block = allocate_new_datablock(); - if (ll->first_block == NULL) - return ZIP_INTERNALERROR; - } - - ldi = ll->last_block; - from_copy = (unsigned char*)buf; - - while (len>0) - { - uInt copy_this; - uInt i; - unsigned char* to_copy; - - if (ldi->avail_in_this_block==0) - { - ldi->next_datablock = allocate_new_datablock(); - if (ldi->next_datablock == NULL) - return ZIP_INTERNALERROR; - ldi = ldi->next_datablock ; - ll->last_block = ldi; - } - - if (ldi->avail_in_this_block < len) - copy_this = (uInt)ldi->avail_in_this_block; - else - copy_this = (uInt)len; - - to_copy = &(ldi->data[ldi->filled_in_this_block]); - - for (i=0;ifilled_in_this_block += copy_this; - ldi->avail_in_this_block -= copy_this; - from_copy += copy_this ; - len -= copy_this; - } - return ZIP_OK; -} - - - -/****************************************************************************/ - -#ifndef NO_ADDFILEINEXISTINGZIP -/* =========================================================================== - Inputs a long in LSB order to the given file - nbByte == 1, 2 ,4 or 8 (byte, short or long, ZPOS64_T) -*/ - -local int zip64local_putValue OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T x, int nbByte)); -local int zip64local_putValue (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T x, int nbByte) -{ - unsigned char buf[8]; - int n; - for (n = 0; n < nbByte; n++) - { - buf[n] = (unsigned char)(x & 0xff); - x >>= 8; - } - if (x != 0) - { /* data overflow - hack for ZIP64 (X Roche) */ - for (n = 0; n < nbByte; n++) - { - buf[n] = 0xff; - } - } - - if (ZWRITE64(*pzlib_filefunc_def,filestream,buf,nbByte)!=(uLong)nbByte) - return ZIP_ERRNO; - else - return ZIP_OK; -} - -local void zip64local_putValue_inmemory OF((void* dest, ZPOS64_T x, int nbByte)); -local void zip64local_putValue_inmemory (void* dest, ZPOS64_T x, int nbByte) -{ - unsigned char* buf=(unsigned char*)dest; - int n; - for (n = 0; n < nbByte; n++) { - buf[n] = (unsigned char)(x & 0xff); - x >>= 8; - } - - if (x != 0) - { /* data overflow - hack for ZIP64 */ - for (n = 0; n < nbByte; n++) - { - buf[n] = 0xff; - } - } -} - -/****************************************************************************/ - - -local uLong zip64local_TmzDateToDosDate(const tm_zip* ptm) -{ - uLong year = (uLong)ptm->tm_year; - if (year>=1980) - year-=1980; - else if (year>=80) - year-=80; - return - (uLong) (((ptm->tm_mday) + (32 * (ptm->tm_mon+1)) + (512 * year)) << 16) | - ((ptm->tm_sec/2) + (32* ptm->tm_min) + (2048 * (uLong)ptm->tm_hour)); -} - - -/****************************************************************************/ - -local int zip64local_getByte OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, int *pi)); - -local int zip64local_getByte(const zlib_filefunc64_32_def* pzlib_filefunc_def,voidpf filestream,int* pi) -{ - unsigned char c; - int err = (int)ZREAD64(*pzlib_filefunc_def,filestream,&c,1); - if (err==1) - { - *pi = (int)c; - return ZIP_OK; - } - else - { - if (ZERROR64(*pzlib_filefunc_def,filestream)) - return ZIP_ERRNO; - else - return ZIP_EOF; - } -} - - -/* =========================================================================== - Reads a long in LSB order from the given gz_stream. Sets -*/ -local int zip64local_getShort OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong *pX)); - -local int zip64local_getShort (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong* pX) -{ - uLong x ; - int i = 0; - int err; - - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x = (uLong)i; - - if (err==ZIP_OK) - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((uLong)i)<<8; - - if (err==ZIP_OK) - *pX = x; - else - *pX = 0; - return err; -} - -local int zip64local_getLong OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong *pX)); - -local int zip64local_getLong (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong* pX) -{ - uLong x ; - int i = 0; - int err; - - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x = (uLong)i; - - if (err==ZIP_OK) - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((uLong)i)<<8; - - if (err==ZIP_OK) - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((uLong)i)<<16; - - if (err==ZIP_OK) - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((uLong)i)<<24; - - if (err==ZIP_OK) - *pX = x; - else - *pX = 0; - return err; -} - -local int zip64local_getLong64 OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T *pX)); - - -local int zip64local_getLong64 (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T *pX) -{ - ZPOS64_T x; - int i = 0; - int err; - - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x = (ZPOS64_T)i; - - if (err==ZIP_OK) - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((ZPOS64_T)i)<<8; - - if (err==ZIP_OK) - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((ZPOS64_T)i)<<16; - - if (err==ZIP_OK) - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((ZPOS64_T)i)<<24; - - if (err==ZIP_OK) - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((ZPOS64_T)i)<<32; - - if (err==ZIP_OK) - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((ZPOS64_T)i)<<40; - - if (err==ZIP_OK) - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((ZPOS64_T)i)<<48; - - if (err==ZIP_OK) - err = zip64local_getByte(pzlib_filefunc_def,filestream,&i); - x += ((ZPOS64_T)i)<<56; - - if (err==ZIP_OK) - *pX = x; - else - *pX = 0; - - return err; -} - -#ifndef BUFREADCOMMENT -#define BUFREADCOMMENT (0x400) -#endif -/* - Locate the Central directory of a zipfile (at the end, just before - the global comment) -*/ -local ZPOS64_T zip64local_SearchCentralDir OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream)); - -local ZPOS64_T zip64local_SearchCentralDir(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream) -{ - unsigned char* buf; - ZPOS64_T uSizeFile; - ZPOS64_T uBackRead; - ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */ - ZPOS64_T uPosFound=0; - - if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0) - return 0; - - - uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream); - - if (uMaxBack>uSizeFile) - uMaxBack = uSizeFile; - - buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); - if (buf==NULL) - return 0; - - uBackRead = 4; - while (uBackReaduMaxBack) - uBackRead = uMaxBack; - else - uBackRead+=BUFREADCOMMENT; - uReadPos = uSizeFile-uBackRead ; - - uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? - (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos); - if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) - break; - - if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) - break; - - for (i=(int)uReadSize-3; (i--)>0;) - if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && - ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06)) - { - uPosFound = uReadPos+i; - break; - } - - if (uPosFound!=0) - break; - } - TRYFREE(buf); - return uPosFound; -} - -/* -Locate the End of Zip64 Central directory locator and from there find the CD of a zipfile (at the end, just before -the global comment) -*/ -local ZPOS64_T zip64local_SearchCentralDir64 OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream)); - -local ZPOS64_T zip64local_SearchCentralDir64(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream) -{ - unsigned char* buf; - ZPOS64_T uSizeFile; - ZPOS64_T uBackRead; - ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */ - ZPOS64_T uPosFound=0; - uLong uL; - ZPOS64_T relativeOffset; - - if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0) - return 0; - - uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream); - - if (uMaxBack>uSizeFile) - uMaxBack = uSizeFile; - - buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); - if (buf==NULL) - return 0; - - uBackRead = 4; - while (uBackReaduMaxBack) - uBackRead = uMaxBack; - else - uBackRead+=BUFREADCOMMENT; - uReadPos = uSizeFile-uBackRead ; - - uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? - (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos); - if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) - break; - - if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) - break; - - for (i=(int)uReadSize-3; (i--)>0;) - { - // Signature "0x07064b50" Zip64 end of central directory locater - if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && ((*(buf+i+2))==0x06) && ((*(buf+i+3))==0x07)) - { - uPosFound = uReadPos+i; - break; - } - } - - if (uPosFound!=0) - break; - } - - TRYFREE(buf); - if (uPosFound == 0) - return 0; - - /* Zip64 end of central directory locator */ - if (ZSEEK64(*pzlib_filefunc_def,filestream, uPosFound,ZLIB_FILEFUNC_SEEK_SET)!=0) - return 0; - - /* the signature, already checked */ - if (zip64local_getLong(pzlib_filefunc_def,filestream,&uL)!=ZIP_OK) - return 0; - - /* number of the disk with the start of the zip64 end of central directory */ - if (zip64local_getLong(pzlib_filefunc_def,filestream,&uL)!=ZIP_OK) - return 0; - if (uL != 0) - return 0; - - /* relative offset of the zip64 end of central directory record */ - if (zip64local_getLong64(pzlib_filefunc_def,filestream,&relativeOffset)!=ZIP_OK) - return 0; - - /* total number of disks */ - if (zip64local_getLong(pzlib_filefunc_def,filestream,&uL)!=ZIP_OK) - return 0; - if (uL != 1) - return 0; - - /* Goto Zip64 end of central directory record */ - if (ZSEEK64(*pzlib_filefunc_def,filestream, relativeOffset,ZLIB_FILEFUNC_SEEK_SET)!=0) - return 0; - - /* the signature */ - if (zip64local_getLong(pzlib_filefunc_def,filestream,&uL)!=ZIP_OK) - return 0; - - if (uL != 0x06064b50) // signature of 'Zip64 end of central directory' - return 0; - - return relativeOffset; -} - -int LoadCentralDirectoryRecord(zip64_internal* pziinit) -{ - int err=ZIP_OK; - ZPOS64_T byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/ - - ZPOS64_T size_central_dir; /* size of the central directory */ - ZPOS64_T offset_central_dir; /* offset of start of central directory */ - ZPOS64_T central_pos; - uLong uL; - - uLong number_disk; /* number of the current dist, used for - spaning ZIP, unsupported, always 0*/ - uLong number_disk_with_CD; /* number the the disk with central dir, used - for spaning ZIP, unsupported, always 0*/ - ZPOS64_T number_entry; - ZPOS64_T number_entry_CD; /* total number of entries in - the central dir - (same than number_entry on nospan) */ - uLong VersionMadeBy; - uLong VersionNeeded; - uLong size_comment; - - int hasZIP64Record = 0; - - // check first if we find a ZIP64 record - central_pos = zip64local_SearchCentralDir64(&pziinit->z_filefunc,pziinit->filestream); - if(central_pos > 0) - { - hasZIP64Record = 1; - } - else if(central_pos == 0) - { - central_pos = zip64local_SearchCentralDir(&pziinit->z_filefunc,pziinit->filestream); - } - -/* disable to allow appending to empty ZIP archive - if (central_pos==0) - err=ZIP_ERRNO; -*/ - - if(hasZIP64Record) - { - ZPOS64_T sizeEndOfCentralDirectory; - if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, central_pos, ZLIB_FILEFUNC_SEEK_SET) != 0) - err=ZIP_ERRNO; - - /* the signature, already checked */ - if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&uL)!=ZIP_OK) - err=ZIP_ERRNO; - - /* size of zip64 end of central directory record */ - if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream, &sizeEndOfCentralDirectory)!=ZIP_OK) - err=ZIP_ERRNO; - - /* version made by */ - if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &VersionMadeBy)!=ZIP_OK) - err=ZIP_ERRNO; - - /* version needed to extract */ - if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &VersionNeeded)!=ZIP_OK) - err=ZIP_ERRNO; - - /* number of this disk */ - if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&number_disk)!=ZIP_OK) - err=ZIP_ERRNO; - - /* number of the disk with the start of the central directory */ - if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&number_disk_with_CD)!=ZIP_OK) - err=ZIP_ERRNO; - - /* total number of entries in the central directory on this disk */ - if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream, &number_entry)!=ZIP_OK) - err=ZIP_ERRNO; - - /* total number of entries in the central directory */ - if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream,&number_entry_CD)!=ZIP_OK) - err=ZIP_ERRNO; - - if ((number_entry_CD!=number_entry) || (number_disk_with_CD!=0) || (number_disk!=0)) - err=ZIP_BADZIPFILE; - - /* size of the central directory */ - if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream,&size_central_dir)!=ZIP_OK) - err=ZIP_ERRNO; - - /* offset of start of central directory with respect to the - starting disk number */ - if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream,&offset_central_dir)!=ZIP_OK) - err=ZIP_ERRNO; - - // TODO.. - // read the comment from the standard central header. - size_comment = 0; - } - else - { - // Read End of central Directory info - if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0) - err=ZIP_ERRNO; - - /* the signature, already checked */ - if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&uL)!=ZIP_OK) - err=ZIP_ERRNO; - - /* number of this disk */ - if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream,&number_disk)!=ZIP_OK) - err=ZIP_ERRNO; - - /* number of the disk with the start of the central directory */ - if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream,&number_disk_with_CD)!=ZIP_OK) - err=ZIP_ERRNO; - - /* total number of entries in the central dir on this disk */ - number_entry = 0; - if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK) - err=ZIP_ERRNO; - else - number_entry = uL; - - /* total number of entries in the central dir */ - number_entry_CD = 0; - if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK) - err=ZIP_ERRNO; - else - number_entry_CD = uL; - - if ((number_entry_CD!=number_entry) || (number_disk_with_CD!=0) || (number_disk!=0)) - err=ZIP_BADZIPFILE; - - /* size of the central directory */ - size_central_dir = 0; - if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK) - err=ZIP_ERRNO; - else - size_central_dir = uL; - - /* offset of start of central directory with respect to the starting disk number */ - offset_central_dir = 0; - if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK) - err=ZIP_ERRNO; - else - offset_central_dir = uL; - - - /* zipfile global comment length */ - if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &size_comment)!=ZIP_OK) - err=ZIP_ERRNO; - } - - if ((central_posz_filefunc, pziinit->filestream); - return ZIP_ERRNO; - } - - if (size_comment>0) - { - pziinit->globalcomment = (char*)ALLOC(size_comment+1); - if (pziinit->globalcomment) - { - size_comment = ZREAD64(pziinit->z_filefunc, pziinit->filestream, pziinit->globalcomment,size_comment); - pziinit->globalcomment[size_comment]=0; - } - } - - byte_before_the_zipfile = central_pos - (offset_central_dir+size_central_dir); - pziinit->add_position_when_writting_offset = byte_before_the_zipfile; - - { - ZPOS64_T size_central_dir_to_read = size_central_dir; - size_t buf_size = SIZEDATA_INDATABLOCK; - void* buf_read = (void*)ALLOC(buf_size); - if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, offset_central_dir + byte_before_the_zipfile, ZLIB_FILEFUNC_SEEK_SET) != 0) - err=ZIP_ERRNO; - - while ((size_central_dir_to_read>0) && (err==ZIP_OK)) - { - ZPOS64_T read_this = SIZEDATA_INDATABLOCK; - if (read_this > size_central_dir_to_read) - read_this = size_central_dir_to_read; - - if (ZREAD64(pziinit->z_filefunc, pziinit->filestream,buf_read,(uLong)read_this) != read_this) - err=ZIP_ERRNO; - - if (err==ZIP_OK) - err = add_data_in_datablock(&pziinit->central_dir,buf_read, (uLong)read_this); - - size_central_dir_to_read-=read_this; - } - TRYFREE(buf_read); - } - pziinit->begin_pos = byte_before_the_zipfile; - pziinit->number_entry = number_entry_CD; - - if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, offset_central_dir+byte_before_the_zipfile,ZLIB_FILEFUNC_SEEK_SET) != 0) - err=ZIP_ERRNO; - - return err; -} - - -#endif /* !NO_ADDFILEINEXISTINGZIP*/ - - -/************************************************************/ -extern zipFile ZEXPORT zipOpen3 (const void *pathname, int append, zipcharpc* globalcomment, zlib_filefunc64_32_def* pzlib_filefunc64_32_def) -{ - zip64_internal ziinit; - zip64_internal* zi; - int err=ZIP_OK; - - ziinit.z_filefunc.zseek32_file = NULL; - ziinit.z_filefunc.ztell32_file = NULL; - if (pzlib_filefunc64_32_def==NULL) - fill_fopen64_filefunc(&ziinit.z_filefunc.zfile_func64); - else - ziinit.z_filefunc = *pzlib_filefunc64_32_def; - - ziinit.filestream = ZOPEN64(ziinit.z_filefunc, - pathname, - (append == APPEND_STATUS_CREATE) ? - (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_CREATE) : - (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_EXISTING)); - - if (ziinit.filestream == NULL) - return NULL; - - if (append == APPEND_STATUS_CREATEAFTER) - ZSEEK64(ziinit.z_filefunc,ziinit.filestream,0,SEEK_END); - - ziinit.begin_pos = ZTELL64(ziinit.z_filefunc,ziinit.filestream); - ziinit.in_opened_file_inzip = 0; - ziinit.ci.stream_initialised = 0; - ziinit.number_entry = 0; - ziinit.add_position_when_writting_offset = 0; - init_linkedlist(&(ziinit.central_dir)); - - - - zi = (zip64_internal*)ALLOC(sizeof(zip64_internal)); - if (zi==NULL) - { - ZCLOSE64(ziinit.z_filefunc,ziinit.filestream); - return NULL; - } - - /* now we add file in a zipfile */ -# ifndef NO_ADDFILEINEXISTINGZIP - ziinit.globalcomment = NULL; - if (append == APPEND_STATUS_ADDINZIP) - { - // Read and Cache Central Directory Records - err = LoadCentralDirectoryRecord(&ziinit); - } - - if (globalcomment) - { - *globalcomment = ziinit.globalcomment; - } -# endif /* !NO_ADDFILEINEXISTINGZIP*/ - - if (err != ZIP_OK) - { -# ifndef NO_ADDFILEINEXISTINGZIP - TRYFREE(ziinit.globalcomment); -# endif /* !NO_ADDFILEINEXISTINGZIP*/ - TRYFREE(zi); - return NULL; - } - else - { - *zi = ziinit; - return (zipFile)zi; - } -} - -extern zipFile ZEXPORT zipOpen2 (const char *pathname, int append, zipcharpc* globalcomment, zlib_filefunc_def* pzlib_filefunc32_def) -{ - if (pzlib_filefunc32_def != NULL) - { - zlib_filefunc64_32_def zlib_filefunc64_32_def_fill; - fill_zlib_filefunc64_32_def_from_filefunc32(&zlib_filefunc64_32_def_fill,pzlib_filefunc32_def); - return zipOpen3(pathname, append, globalcomment, &zlib_filefunc64_32_def_fill); - } - else - return zipOpen3(pathname, append, globalcomment, NULL); -} - -extern zipFile ZEXPORT zipOpen2_64 (const void *pathname, int append, zipcharpc* globalcomment, zlib_filefunc64_def* pzlib_filefunc_def) -{ - if (pzlib_filefunc_def != NULL) - { - zlib_filefunc64_32_def zlib_filefunc64_32_def_fill; - zlib_filefunc64_32_def_fill.zfile_func64 = *pzlib_filefunc_def; - zlib_filefunc64_32_def_fill.ztell32_file = NULL; - zlib_filefunc64_32_def_fill.zseek32_file = NULL; - return zipOpen3(pathname, append, globalcomment, &zlib_filefunc64_32_def_fill); - } - else - return zipOpen3(pathname, append, globalcomment, NULL); -} - - - -extern zipFile ZEXPORT zipOpen (const char* pathname, int append) -{ - return zipOpen3((const void*)pathname,append,NULL,NULL); -} - -extern zipFile ZEXPORT zipOpen64 (const void* pathname, int append) -{ - return zipOpen3(pathname,append,NULL,NULL); -} - -int Write_LocalFileHeader(zip64_internal* zi, const char* filename, uInt size_extrafield_local, const void* extrafield_local) -{ - /* write the local header */ - int err; - uInt size_filename = (uInt)strlen(filename); - uInt size_extrafield = size_extrafield_local; - - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)LOCALHEADERMAGIC, 4); - - if (err==ZIP_OK) - { - if(zi->ci.zip64) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2);/* version needed to extract */ - else - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)20,2);/* version needed to extract */ - } - - if (err==ZIP_OK) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.flag,2); - - if (err==ZIP_OK) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.method,2); - - if (err==ZIP_OK) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.dosDate,4); - - // CRC / Compressed size / Uncompressed size will be filled in later and rewritten later - if (err==ZIP_OK) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* crc 32, unknown */ - if (err==ZIP_OK) - { - if(zi->ci.zip64) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xFFFFFFFF,4); /* compressed size, unknown */ - else - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* compressed size, unknown */ - } - if (err==ZIP_OK) - { - if(zi->ci.zip64) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xFFFFFFFF,4); /* uncompressed size, unknown */ - else - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* uncompressed size, unknown */ - } - - if (err==ZIP_OK) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_filename,2); - - if(zi->ci.zip64) - { - size_extrafield += 20; - } - - if (err==ZIP_OK) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_extrafield,2); - - if ((err==ZIP_OK) && (size_filename > 0)) - { - if (ZWRITE64(zi->z_filefunc,zi->filestream,filename,size_filename)!=size_filename) - err = ZIP_ERRNO; - } - - if ((err==ZIP_OK) && (size_extrafield_local > 0)) - { - if (ZWRITE64(zi->z_filefunc, zi->filestream, extrafield_local, size_extrafield_local) != size_extrafield_local) - err = ZIP_ERRNO; - } - - - if ((err==ZIP_OK) && (zi->ci.zip64)) - { - // write the Zip64 extended info - short HeaderID = 1; - short DataSize = 16; - ZPOS64_T CompressedSize = 0; - ZPOS64_T UncompressedSize = 0; - - // Remember position of Zip64 extended info for the local file header. (needed when we update size after done with file) - zi->ci.pos_zip64extrainfo = ZTELL64(zi->z_filefunc,zi->filestream); - - err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (short)HeaderID,2); - err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (short)DataSize,2); - - err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)UncompressedSize,8); - err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)CompressedSize,8); - } - - return err; -} - -/* - NOTE. - When writing RAW the ZIP64 extended information in extrafield_local and extrafield_global needs to be stripped - before calling this function it can be done with zipRemoveExtraInfoBlock - - It is not done here because then we need to realloc a new buffer since parameters are 'const' and I want to minimize - unnecessary allocations. - */ -extern int ZEXPORT zipOpenNewFileInZip4_64 (zipFile file, const char* filename, const zip_fileinfo* zipfi, - const void* extrafield_local, uInt size_extrafield_local, - const void* extrafield_global, uInt size_extrafield_global, - const char* comment, int method, int level, int raw, - int windowBits,int memLevel, int strategy, - const char* password, uLong crcForCrypting, - uLong versionMadeBy, uLong flagBase, int zip64) -{ - zip64_internal* zi; - uInt size_filename; - uInt size_comment; - uInt i; - int err = ZIP_OK; - -# ifdef NOCRYPT - (crcForCrypting); - if (password != NULL) - return ZIP_PARAMERROR; -# endif - - if (file == NULL) - return ZIP_PARAMERROR; - -#ifdef HAVE_BZIP2 - if ((method!=0) && (method!=Z_DEFLATED) && (method!=Z_BZIP2ED)) - return ZIP_PARAMERROR; -#else - if ((method!=0) && (method!=Z_DEFLATED)) - return ZIP_PARAMERROR; -#endif - - zi = (zip64_internal*)file; - - if (zi->in_opened_file_inzip == 1) - { - err = zipCloseFileInZip (file); - if (err != ZIP_OK) - return err; - } - - if (filename==NULL) - filename="-"; - - if (comment==NULL) - size_comment = 0; - else - size_comment = (uInt)strlen(comment); - - size_filename = (uInt)strlen(filename); - - if (zipfi == NULL) - zi->ci.dosDate = 0; - else - { - if (zipfi->dosDate != 0) - zi->ci.dosDate = zipfi->dosDate; - else - zi->ci.dosDate = zip64local_TmzDateToDosDate(&zipfi->tmz_date); - } - - zi->ci.flag = flagBase; - if ((level==8) || (level==9)) - zi->ci.flag |= 2; - if ((level==2)) - zi->ci.flag |= 4; - if ((level==1)) - zi->ci.flag |= 6; - if (password != NULL) - zi->ci.flag |= 1; - - zi->ci.crc32 = 0; - zi->ci.method = method; - zi->ci.encrypt = 0; - zi->ci.stream_initialised = 0; - zi->ci.pos_in_buffered_data = 0; - zi->ci.raw = raw; - zi->ci.pos_local_header = ZTELL64(zi->z_filefunc,zi->filestream); - - zi->ci.size_centralheader = SIZECENTRALHEADER + size_filename + size_extrafield_global + size_comment; - zi->ci.size_centralExtraFree = 32; // Extra space we have reserved in case we need to add ZIP64 extra info data - - zi->ci.central_header = (char*)ALLOC((uInt)zi->ci.size_centralheader + zi->ci.size_centralExtraFree); - - zi->ci.size_centralExtra = size_extrafield_global; - zip64local_putValue_inmemory(zi->ci.central_header,(uLong)CENTRALHEADERMAGIC,4); - /* version info */ - zip64local_putValue_inmemory(zi->ci.central_header+4,(uLong)versionMadeBy,2); - zip64local_putValue_inmemory(zi->ci.central_header+6,(uLong)20,2); - zip64local_putValue_inmemory(zi->ci.central_header+8,(uLong)zi->ci.flag,2); - zip64local_putValue_inmemory(zi->ci.central_header+10,(uLong)zi->ci.method,2); - zip64local_putValue_inmemory(zi->ci.central_header+12,(uLong)zi->ci.dosDate,4); - zip64local_putValue_inmemory(zi->ci.central_header+16,(uLong)0,4); /*crc*/ - zip64local_putValue_inmemory(zi->ci.central_header+20,(uLong)0,4); /*compr size*/ - zip64local_putValue_inmemory(zi->ci.central_header+24,(uLong)0,4); /*uncompr size*/ - zip64local_putValue_inmemory(zi->ci.central_header+28,(uLong)size_filename,2); - zip64local_putValue_inmemory(zi->ci.central_header+30,(uLong)size_extrafield_global,2); - zip64local_putValue_inmemory(zi->ci.central_header+32,(uLong)size_comment,2); - zip64local_putValue_inmemory(zi->ci.central_header+34,(uLong)0,2); /*disk nm start*/ - - if (zipfi==NULL) - zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)0,2); - else - zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)zipfi->internal_fa,2); - - if (zipfi==NULL) - zip64local_putValue_inmemory(zi->ci.central_header+38,(uLong)0,4); - else - zip64local_putValue_inmemory(zi->ci.central_header+38,(uLong)zipfi->external_fa,4); - - if(zi->ci.pos_local_header >= 0xffffffff) - zip64local_putValue_inmemory(zi->ci.central_header+42,(uLong)0xffffffff,4); - else - zip64local_putValue_inmemory(zi->ci.central_header+42,(uLong)zi->ci.pos_local_header - zi->add_position_when_writting_offset,4); - - for (i=0;ici.central_header+SIZECENTRALHEADER+i) = *(filename+i); - - for (i=0;ici.central_header+SIZECENTRALHEADER+size_filename+i) = - *(((const char*)extrafield_global)+i); - - for (i=0;ici.central_header+SIZECENTRALHEADER+size_filename+ - size_extrafield_global+i) = *(comment+i); - if (zi->ci.central_header == NULL) - return ZIP_INTERNALERROR; - - zi->ci.zip64 = zip64; - zi->ci.totalCompressedData = 0; - zi->ci.totalUncompressedData = 0; - zi->ci.pos_zip64extrainfo = 0; - - err = Write_LocalFileHeader(zi, filename, size_extrafield_local, extrafield_local); - -#ifdef HAVE_BZIP2 - zi->ci.bstream.avail_in = (uInt)0; - zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE; - zi->ci.bstream.next_out = (char*)zi->ci.buffered_data; - zi->ci.bstream.total_in_hi32 = 0; - zi->ci.bstream.total_in_lo32 = 0; - zi->ci.bstream.total_out_hi32 = 0; - zi->ci.bstream.total_out_lo32 = 0; -#endif - - zi->ci.stream.avail_in = (uInt)0; - zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; - zi->ci.stream.next_out = zi->ci.buffered_data; - zi->ci.stream.total_in = 0; - zi->ci.stream.total_out = 0; - zi->ci.stream.data_type = Z_BINARY; - -#ifdef HAVE_BZIP2 - if ((err==ZIP_OK) && (zi->ci.method == Z_DEFLATED || zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw)) -#else - if ((err==ZIP_OK) && (zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) -#endif - { - if(zi->ci.method == Z_DEFLATED) - { - zi->ci.stream.zalloc = (alloc_func)0; - zi->ci.stream.zfree = (free_func)0; - zi->ci.stream.opaque = (voidpf)0; - - if (windowBits>0) - windowBits = -windowBits; - - err = deflateInit2(&zi->ci.stream, level, Z_DEFLATED, windowBits, memLevel, strategy); - - if (err==Z_OK) - zi->ci.stream_initialised = Z_DEFLATED; - } - else if(zi->ci.method == Z_BZIP2ED) - { -#ifdef HAVE_BZIP2 - // Init BZip stuff here - zi->ci.bstream.bzalloc = 0; - zi->ci.bstream.bzfree = 0; - zi->ci.bstream.opaque = (voidpf)0; - - err = BZ2_bzCompressInit(&zi->ci.bstream, level, 0,35); - if(err == BZ_OK) - zi->ci.stream_initialised = Z_BZIP2ED; -#endif - } - - } - -# ifndef NOCRYPT - zi->ci.crypt_header_size = 0; - if ((err==Z_OK) && (password != NULL)) - { - unsigned char bufHead[RAND_HEAD_LEN]; - unsigned int sizeHead; - zi->ci.encrypt = 1; - zi->ci.pcrc_32_tab = get_crc_table(); - /*init_keys(password,zi->ci.keys,zi->ci.pcrc_32_tab);*/ - - sizeHead=crypthead(password,bufHead,RAND_HEAD_LEN,zi->ci.keys,zi->ci.pcrc_32_tab,crcForCrypting); - zi->ci.crypt_header_size = sizeHead; - - if (ZWRITE64(zi->z_filefunc,zi->filestream,bufHead,sizeHead) != sizeHead) - err = ZIP_ERRNO; - } -# endif - - if (err==Z_OK) - zi->in_opened_file_inzip = 1; - return err; -} - -extern int ZEXPORT zipOpenNewFileInZip4 (zipFile file, const char* filename, const zip_fileinfo* zipfi, - const void* extrafield_local, uInt size_extrafield_local, - const void* extrafield_global, uInt size_extrafield_global, - const char* comment, int method, int level, int raw, - int windowBits,int memLevel, int strategy, - const char* password, uLong crcForCrypting, - uLong versionMadeBy, uLong flagBase) -{ - return zipOpenNewFileInZip4_64 (file, filename, zipfi, - extrafield_local, size_extrafield_local, - extrafield_global, size_extrafield_global, - comment, method, level, raw, - windowBits, memLevel, strategy, - password, crcForCrypting, versionMadeBy, flagBase, 0); -} - -extern int ZEXPORT zipOpenNewFileInZip3 (zipFile file, const char* filename, const zip_fileinfo* zipfi, - const void* extrafield_local, uInt size_extrafield_local, - const void* extrafield_global, uInt size_extrafield_global, - const char* comment, int method, int level, int raw, - int windowBits,int memLevel, int strategy, - const char* password, uLong crcForCrypting) -{ - return zipOpenNewFileInZip4_64 (file, filename, zipfi, - extrafield_local, size_extrafield_local, - extrafield_global, size_extrafield_global, - comment, method, level, raw, - windowBits, memLevel, strategy, - password, crcForCrypting, VERSIONMADEBY, 0, 0); -} - -extern int ZEXPORT zipOpenNewFileInZip3_64(zipFile file, const char* filename, const zip_fileinfo* zipfi, - const void* extrafield_local, uInt size_extrafield_local, - const void* extrafield_global, uInt size_extrafield_global, - const char* comment, int method, int level, int raw, - int windowBits,int memLevel, int strategy, - const char* password, uLong crcForCrypting, int zip64) -{ - return zipOpenNewFileInZip4_64 (file, filename, zipfi, - extrafield_local, size_extrafield_local, - extrafield_global, size_extrafield_global, - comment, method, level, raw, - windowBits, memLevel, strategy, - password, crcForCrypting, VERSIONMADEBY, 0, zip64); -} - -extern int ZEXPORT zipOpenNewFileInZip2(zipFile file, const char* filename, const zip_fileinfo* zipfi, - const void* extrafield_local, uInt size_extrafield_local, - const void* extrafield_global, uInt size_extrafield_global, - const char* comment, int method, int level, int raw) -{ - return zipOpenNewFileInZip4_64 (file, filename, zipfi, - extrafield_local, size_extrafield_local, - extrafield_global, size_extrafield_global, - comment, method, level, raw, - -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, - NULL, 0, VERSIONMADEBY, 0, 0); -} - -extern int ZEXPORT zipOpenNewFileInZip2_64(zipFile file, const char* filename, const zip_fileinfo* zipfi, - const void* extrafield_local, uInt size_extrafield_local, - const void* extrafield_global, uInt size_extrafield_global, - const char* comment, int method, int level, int raw, int zip64) -{ - return zipOpenNewFileInZip4_64 (file, filename, zipfi, - extrafield_local, size_extrafield_local, - extrafield_global, size_extrafield_global, - comment, method, level, raw, - -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, - NULL, 0, VERSIONMADEBY, 0, zip64); -} - -extern int ZEXPORT zipOpenNewFileInZip64 (zipFile file, const char* filename, const zip_fileinfo* zipfi, - const void* extrafield_local, uInt size_extrafield_local, - const void*extrafield_global, uInt size_extrafield_global, - const char* comment, int method, int level, int zip64) -{ - return zipOpenNewFileInZip4_64 (file, filename, zipfi, - extrafield_local, size_extrafield_local, - extrafield_global, size_extrafield_global, - comment, method, level, 0, - -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, - NULL, 0, VERSIONMADEBY, 0, zip64); -} - -extern int ZEXPORT zipOpenNewFileInZip (zipFile file, const char* filename, const zip_fileinfo* zipfi, - const void* extrafield_local, uInt size_extrafield_local, - const void*extrafield_global, uInt size_extrafield_global, - const char* comment, int method, int level) -{ - return zipOpenNewFileInZip4_64 (file, filename, zipfi, - extrafield_local, size_extrafield_local, - extrafield_global, size_extrafield_global, - comment, method, level, 0, - -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, - NULL, 0, VERSIONMADEBY, 0, 0); -} - -local int zip64FlushWriteBuffer(zip64_internal* zi) -{ - int err=ZIP_OK; - - if (zi->ci.encrypt != 0) - { -#ifndef NOCRYPT - uInt i; - int t; - for (i=0;ici.pos_in_buffered_data;i++) - zi->ci.buffered_data[i] = zencode(zi->ci.keys, zi->ci.pcrc_32_tab, zi->ci.buffered_data[i],t); -#endif - } - - if (ZWRITE64(zi->z_filefunc,zi->filestream,zi->ci.buffered_data,zi->ci.pos_in_buffered_data) != zi->ci.pos_in_buffered_data) - err = ZIP_ERRNO; - - zi->ci.totalCompressedData += zi->ci.pos_in_buffered_data; - -#ifdef HAVE_BZIP2 - if(zi->ci.method == Z_BZIP2ED) - { - zi->ci.totalUncompressedData += zi->ci.bstream.total_in_lo32; - zi->ci.bstream.total_in_lo32 = 0; - zi->ci.bstream.total_in_hi32 = 0; - } - else -#endif - { - zi->ci.totalUncompressedData += zi->ci.stream.total_in; - zi->ci.stream.total_in = 0; - } - - - zi->ci.pos_in_buffered_data = 0; - - return err; -} - -extern int ZEXPORT zipWriteInFileInZip (zipFile file,const void* buf,unsigned int len) -{ - zip64_internal* zi; - int err=ZIP_OK; - - if (file == NULL) - return ZIP_PARAMERROR; - zi = (zip64_internal*)file; - - if (zi->in_opened_file_inzip == 0) - return ZIP_PARAMERROR; - - zi->ci.crc32 = crc32(zi->ci.crc32,buf,(uInt)len); - -#ifdef HAVE_BZIP2 - if(zi->ci.method == Z_BZIP2ED && (!zi->ci.raw)) - { - zi->ci.bstream.next_in = (void*)buf; - zi->ci.bstream.avail_in = len; - err = BZ_RUN_OK; - - while ((err==BZ_RUN_OK) && (zi->ci.bstream.avail_in>0)) - { - if (zi->ci.bstream.avail_out == 0) - { - if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) - err = ZIP_ERRNO; - zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE; - zi->ci.bstream.next_out = (char*)zi->ci.buffered_data; - } - - - if(err != BZ_RUN_OK) - break; - - if ((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw)) - { - uLong uTotalOutBefore_lo = zi->ci.bstream.total_out_lo32; -// uLong uTotalOutBefore_hi = zi->ci.bstream.total_out_hi32; - err=BZ2_bzCompress(&zi->ci.bstream, BZ_RUN); - - zi->ci.pos_in_buffered_data += (uInt)(zi->ci.bstream.total_out_lo32 - uTotalOutBefore_lo) ; - } - } - - if(err == BZ_RUN_OK) - err = ZIP_OK; - } - else -#endif - { - zi->ci.stream.next_in = (Bytef*)buf; - zi->ci.stream.avail_in = len; - - while ((err==ZIP_OK) && (zi->ci.stream.avail_in>0)) - { - if (zi->ci.stream.avail_out == 0) - { - if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) - err = ZIP_ERRNO; - zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; - zi->ci.stream.next_out = zi->ci.buffered_data; - } - - - if(err != ZIP_OK) - break; - - if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) - { - uLong uTotalOutBefore = zi->ci.stream.total_out; - err=deflate(&zi->ci.stream, Z_NO_FLUSH); - if(uTotalOutBefore > zi->ci.stream.total_out) - { - int bBreak = 0; - bBreak++; - } - - zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ; - } - else - { - uInt copy_this,i; - if (zi->ci.stream.avail_in < zi->ci.stream.avail_out) - copy_this = zi->ci.stream.avail_in; - else - copy_this = zi->ci.stream.avail_out; - - for (i = 0; i < copy_this; i++) - *(((char*)zi->ci.stream.next_out)+i) = - *(((const char*)zi->ci.stream.next_in)+i); - { - zi->ci.stream.avail_in -= copy_this; - zi->ci.stream.avail_out-= copy_this; - zi->ci.stream.next_in+= copy_this; - zi->ci.stream.next_out+= copy_this; - zi->ci.stream.total_in+= copy_this; - zi->ci.stream.total_out+= copy_this; - zi->ci.pos_in_buffered_data += copy_this; - } - } - }// while(...) - } - - return err; -} - -extern int ZEXPORT zipCloseFileInZipRaw (zipFile file, uLong uncompressed_size, uLong crc32) -{ - return zipCloseFileInZipRaw64 (file, uncompressed_size, crc32); -} - -extern int ZEXPORT zipCloseFileInZipRaw64 (zipFile file, ZPOS64_T uncompressed_size, uLong crc32) -{ - zip64_internal* zi; - ZPOS64_T compressed_size; - uLong invalidValue = 0xffffffff; - short datasize = 0; - int err=ZIP_OK; - - if (file == NULL) - return ZIP_PARAMERROR; - zi = (zip64_internal*)file; - - if (zi->in_opened_file_inzip == 0) - return ZIP_PARAMERROR; - zi->ci.stream.avail_in = 0; - - if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) - { - while (err==ZIP_OK) - { - uLong uTotalOutBefore; - if (zi->ci.stream.avail_out == 0) - { - if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) - err = ZIP_ERRNO; - zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; - zi->ci.stream.next_out = zi->ci.buffered_data; - } - uTotalOutBefore = zi->ci.stream.total_out; - err=deflate(&zi->ci.stream, Z_FINISH); - zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ; - } - } - else if ((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw)) - { -#ifdef HAVE_BZIP2 - err = BZ_FINISH_OK; - while (err==BZ_FINISH_OK) - { - uLong uTotalOutBefore; - if (zi->ci.bstream.avail_out == 0) - { - if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) - err = ZIP_ERRNO; - zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE; - zi->ci.bstream.next_out = (char*)zi->ci.buffered_data; - } - uTotalOutBefore = zi->ci.bstream.total_out_lo32; - err=BZ2_bzCompress(&zi->ci.bstream, BZ_FINISH); - if(err == BZ_STREAM_END) - err = Z_STREAM_END; - - zi->ci.pos_in_buffered_data += (uInt)(zi->ci.bstream.total_out_lo32 - uTotalOutBefore); - } - - if(err == BZ_FINISH_OK) - err = ZIP_OK; -#endif - } - - if (err==Z_STREAM_END) - err=ZIP_OK; /* this is normal */ - - if ((zi->ci.pos_in_buffered_data>0) && (err==ZIP_OK)) - { - if (zip64FlushWriteBuffer(zi)==ZIP_ERRNO) - err = ZIP_ERRNO; - } - - if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) - { - int tmp_err = deflateEnd(&zi->ci.stream); - if (err == ZIP_OK) - err = tmp_err; - zi->ci.stream_initialised = 0; - } -#ifdef HAVE_BZIP2 - else if((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw)) - { - int tmperr = BZ2_bzCompressEnd(&zi->ci.bstream); - if (err==ZIP_OK) - err = tmperr; - zi->ci.stream_initialised = 0; - } -#endif - - if (!zi->ci.raw) - { - crc32 = (uLong)zi->ci.crc32; - uncompressed_size = zi->ci.totalUncompressedData; - } - compressed_size = zi->ci.totalCompressedData; - -# ifndef NOCRYPT - compressed_size += zi->ci.crypt_header_size; -# endif - - // update Current Item crc and sizes, - if(compressed_size >= 0xffffffff || uncompressed_size >= 0xffffffff || zi->ci.pos_local_header >= 0xffffffff) - { - /*version Made by*/ - zip64local_putValue_inmemory(zi->ci.central_header+4,(uLong)45,2); - /*version needed*/ - zip64local_putValue_inmemory(zi->ci.central_header+6,(uLong)45,2); - - } - - zip64local_putValue_inmemory(zi->ci.central_header+16,crc32,4); /*crc*/ - - - if(compressed_size >= 0xffffffff) - zip64local_putValue_inmemory(zi->ci.central_header+20, invalidValue,4); /*compr size*/ - else - zip64local_putValue_inmemory(zi->ci.central_header+20, compressed_size,4); /*compr size*/ - - /// set internal file attributes field - if (zi->ci.stream.data_type == Z_ASCII) - zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)Z_ASCII,2); - - if(uncompressed_size >= 0xffffffff) - zip64local_putValue_inmemory(zi->ci.central_header+24, invalidValue,4); /*uncompr size*/ - else - zip64local_putValue_inmemory(zi->ci.central_header+24, uncompressed_size,4); /*uncompr size*/ - - // Add ZIP64 extra info field for uncompressed size - if(uncompressed_size >= 0xffffffff) - datasize += 8; - - // Add ZIP64 extra info field for compressed size - if(compressed_size >= 0xffffffff) - datasize += 8; - - // Add ZIP64 extra info field for relative offset to local file header of current file - if(zi->ci.pos_local_header >= 0xffffffff) - datasize += 8; - - if(datasize > 0) - { - char* p = NULL; - - if((uLong)(datasize + 4) > zi->ci.size_centralExtraFree) - { - // we can not write more data to the buffer that we have room for. - return ZIP_BADZIPFILE; - } - - p = zi->ci.central_header + zi->ci.size_centralheader; - - // Add Extra Information Header for 'ZIP64 information' - zip64local_putValue_inmemory(p, 0x0001, 2); // HeaderID - p += 2; - zip64local_putValue_inmemory(p, datasize, 2); // DataSize - p += 2; - - if(uncompressed_size >= 0xffffffff) - { - zip64local_putValue_inmemory(p, uncompressed_size, 8); - p += 8; - } - - if(compressed_size >= 0xffffffff) - { - zip64local_putValue_inmemory(p, compressed_size, 8); - p += 8; - } - - if(zi->ci.pos_local_header >= 0xffffffff) - { - zip64local_putValue_inmemory(p, zi->ci.pos_local_header, 8); - p += 8; - } - - // Update how much extra free space we got in the memory buffer - // and increase the centralheader size so the new ZIP64 fields are included - // ( 4 below is the size of HeaderID and DataSize field ) - zi->ci.size_centralExtraFree -= datasize + 4; - zi->ci.size_centralheader += datasize + 4; - - // Update the extra info size field - zi->ci.size_centralExtra += datasize + 4; - zip64local_putValue_inmemory(zi->ci.central_header+30,(uLong)zi->ci.size_centralExtra,2); - } - - if (err==ZIP_OK) - err = add_data_in_datablock(&zi->central_dir, zi->ci.central_header, (uLong)zi->ci.size_centralheader); - - free(zi->ci.central_header); - - if (err==ZIP_OK) - { - // Update the LocalFileHeader with the new values. - - ZPOS64_T cur_pos_inzip = ZTELL64(zi->z_filefunc,zi->filestream); - - if (ZSEEK64(zi->z_filefunc,zi->filestream, zi->ci.pos_local_header + 14,ZLIB_FILEFUNC_SEEK_SET)!=0) - err = ZIP_ERRNO; - - if (err==ZIP_OK) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,crc32,4); /* crc 32, unknown */ - - if(uncompressed_size >= 0xffffffff || compressed_size >= 0xffffffff ) - { - if(zi->ci.pos_zip64extrainfo > 0) - { - // Update the size in the ZIP64 extended field. - if (ZSEEK64(zi->z_filefunc,zi->filestream, zi->ci.pos_zip64extrainfo + 4,ZLIB_FILEFUNC_SEEK_SET)!=0) - err = ZIP_ERRNO; - - if (err==ZIP_OK) /* compressed size, unknown */ - err = zip64local_putValue(&zi->z_filefunc, zi->filestream, uncompressed_size, 8); - - if (err==ZIP_OK) /* uncompressed size, unknown */ - err = zip64local_putValue(&zi->z_filefunc, zi->filestream, compressed_size, 8); - } - else - err = ZIP_BADZIPFILE; // Caller passed zip64 = 0, so no room for zip64 info -> fatal - } - else - { - if (err==ZIP_OK) /* compressed size, unknown */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,compressed_size,4); - - if (err==ZIP_OK) /* uncompressed size, unknown */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,uncompressed_size,4); - } - - if (ZSEEK64(zi->z_filefunc,zi->filestream, cur_pos_inzip,ZLIB_FILEFUNC_SEEK_SET)!=0) - err = ZIP_ERRNO; - } - - zi->number_entry ++; - zi->in_opened_file_inzip = 0; - - return err; -} - -extern int ZEXPORT zipCloseFileInZip (zipFile file) -{ - return zipCloseFileInZipRaw (file,0,0); -} - -int Write_Zip64EndOfCentralDirectoryLocator(zip64_internal* zi, ZPOS64_T zip64eocd_pos_inzip) -{ - int err = ZIP_OK; - ZPOS64_T pos = zip64eocd_pos_inzip - zi->add_position_when_writting_offset; - - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ZIP64ENDLOCHEADERMAGIC,4); - - /*num disks*/ - if (err==ZIP_OK) /* number of the disk with the start of the central directory */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); - - /*relative offset*/ - if (err==ZIP_OK) /* Relative offset to the Zip64EndOfCentralDirectory */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream, pos,8); - - /*total disks*/ /* Do not support spawning of disk so always say 1 here*/ - if (err==ZIP_OK) /* number of the disk with the start of the central directory */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)1,4); - - return err; -} - -int Write_Zip64EndOfCentralDirectoryRecord(zip64_internal* zi, uLong size_centraldir, ZPOS64_T centraldir_pos_inzip) -{ - int err = ZIP_OK; - - uLong Zip64DataSize = 44; - - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ZIP64ENDHEADERMAGIC,4); - - if (err==ZIP_OK) /* size of this 'zip64 end of central directory' */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(ZPOS64_T)Zip64DataSize,8); // why ZPOS64_T of this ? - - if (err==ZIP_OK) /* version made by */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2); - - if (err==ZIP_OK) /* version needed */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2); - - if (err==ZIP_OK) /* number of this disk */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); - - if (err==ZIP_OK) /* number of the disk with the start of the central directory */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); - - if (err==ZIP_OK) /* total number of entries in the central dir on this disk */ - err = zip64local_putValue(&zi->z_filefunc, zi->filestream, zi->number_entry, 8); - - if (err==ZIP_OK) /* total number of entries in the central dir */ - err = zip64local_putValue(&zi->z_filefunc, zi->filestream, zi->number_entry, 8); - - if (err==ZIP_OK) /* size of the central directory */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(ZPOS64_T)size_centraldir,8); - - if (err==ZIP_OK) /* offset of start of central directory with respect to the starting disk number */ - { - ZPOS64_T pos = centraldir_pos_inzip - zi->add_position_when_writting_offset; - err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (ZPOS64_T)pos,8); - } - return err; -} -int Write_EndOfCentralDirectoryRecord(zip64_internal* zi, uLong size_centraldir, ZPOS64_T centraldir_pos_inzip) -{ - int err = ZIP_OK; - - /*signature*/ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ENDHEADERMAGIC,4); - - if (err==ZIP_OK) /* number of this disk */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,2); - - if (err==ZIP_OK) /* number of the disk with the start of the central directory */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,2); - - if (err==ZIP_OK) /* total number of entries in the central dir on this disk */ - { - { - if(zi->number_entry >= 0xFFFF) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xffff,2); // use value in ZIP64 record - else - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->number_entry,2); - } - } - - if (err==ZIP_OK) /* total number of entries in the central dir */ - { - if(zi->number_entry >= 0xFFFF) - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xffff,2); // use value in ZIP64 record - else - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->number_entry,2); - } - - if (err==ZIP_OK) /* size of the central directory */ - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_centraldir,4); - - if (err==ZIP_OK) /* offset of start of central directory with respect to the starting disk number */ - { - ZPOS64_T pos = centraldir_pos_inzip - zi->add_position_when_writting_offset; - if(pos >= 0xffffffff) - { - err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (uLong)0xffffffff,4); - } - else - err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (uLong)(centraldir_pos_inzip - zi->add_position_when_writting_offset),4); - } - - return err; -} - -int Write_GlobalComment(zip64_internal* zi, const char* global_comment) -{ - int err = ZIP_OK; - uInt size_global_comment = 0; - - if(global_comment != NULL) - size_global_comment = (uInt)strlen(global_comment); - - err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_global_comment,2); - - if (err == ZIP_OK && size_global_comment > 0) - { - if (ZWRITE64(zi->z_filefunc,zi->filestream, global_comment, size_global_comment) != size_global_comment) - err = ZIP_ERRNO; - } - return err; -} - -extern int ZEXPORT zipClose (zipFile file, const char* global_comment) -{ - zip64_internal* zi; - int err = 0; - uLong size_centraldir = 0; - ZPOS64_T centraldir_pos_inzip; - ZPOS64_T pos; - - if (file == NULL) - return ZIP_PARAMERROR; - - zi = (zip64_internal*)file; - - if (zi->in_opened_file_inzip == 1) - { - err = zipCloseFileInZip (file); - } - -#ifndef NO_ADDFILEINEXISTINGZIP - if (global_comment==NULL) - global_comment = zi->globalcomment; -#endif - - centraldir_pos_inzip = ZTELL64(zi->z_filefunc,zi->filestream); - - if (err==ZIP_OK) - { - linkedlist_datablock_internal* ldi = zi->central_dir.first_block; - while (ldi!=NULL) - { - if ((err==ZIP_OK) && (ldi->filled_in_this_block>0)) - { - if (ZWRITE64(zi->z_filefunc,zi->filestream, ldi->data, ldi->filled_in_this_block) != ldi->filled_in_this_block) - err = ZIP_ERRNO; - } - - size_centraldir += ldi->filled_in_this_block; - ldi = ldi->next_datablock; - } - } - free_linkedlist(&(zi->central_dir)); - - pos = centraldir_pos_inzip - zi->add_position_when_writting_offset; - if(pos >= 0xffffffff || zi->number_entry > 0xFFFF) - { - ZPOS64_T Zip64EOCDpos = ZTELL64(zi->z_filefunc,zi->filestream); - Write_Zip64EndOfCentralDirectoryRecord(zi, size_centraldir, centraldir_pos_inzip); - - Write_Zip64EndOfCentralDirectoryLocator(zi, Zip64EOCDpos); - } - - if (err==ZIP_OK) - err = Write_EndOfCentralDirectoryRecord(zi, size_centraldir, centraldir_pos_inzip); - - if(err == ZIP_OK) - err = Write_GlobalComment(zi, global_comment); - - if (ZCLOSE64(zi->z_filefunc,zi->filestream) != 0) - if (err == ZIP_OK) - err = ZIP_ERRNO; - -#ifndef NO_ADDFILEINEXISTINGZIP - TRYFREE(zi->globalcomment); -#endif - TRYFREE(zi); - - return err; -} - -extern int ZEXPORT zipRemoveExtraInfoBlock (char* pData, int* dataLen, short sHeader) -{ - char* p = pData; - int size = 0; - char* pNewHeader; - char* pTmp; - short header; - short dataSize; - - int retVal = ZIP_OK; - - if(pData == NULL || *dataLen < 4) - return ZIP_PARAMERROR; - - pNewHeader = (char*)ALLOC(*dataLen); - pTmp = pNewHeader; - - while(p < (pData + *dataLen)) - { - header = *(short*)p; - dataSize = *(((short*)p)+1); - - if( header == sHeader ) // Header found. - { - p += dataSize + 4; // skip it. do not copy to temp buffer - } - else - { - // Extra Info block should not be removed, So copy it to the temp buffer. - memcpy(pTmp, p, dataSize + 4); - p += dataSize + 4; - size += dataSize + 4; - } - - } - - if(size < *dataLen) - { - // clean old extra info block. - memset(pData,0, *dataLen); - - // copy the new extra info block over the old - if(size > 0) - memcpy(pData, pNewHeader, size); - - // set the new extra info size - *dataLen = size; - - retVal = ZIP_OK; - } - else - retVal = ZIP_ERRNO; - - TRYFREE(pNewHeader); - - return retVal; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/zip.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/zip.h deleted file mode 100644 index 8aaebb62..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/minizip/zip.h +++ /dev/null @@ -1,362 +0,0 @@ -/* zip.h -- IO on .zip files using zlib - Version 1.1, February 14h, 2010 - part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html ) - - Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) - - Modifications for Zip64 support - Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) - - For more info read MiniZip_info.txt - - --------------------------------------------------------------------------- - - Condition of use and distribution are the same than zlib : - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - --------------------------------------------------------------------------- - - Changes - - See header of zip.h - -*/ - -#ifndef _zip12_H -#define _zip12_H - -#ifdef __cplusplus -extern "C" { -#endif - -//#define HAVE_BZIP2 - -#ifndef _ZLIB_H -#include "zlib.h" -#endif - -#ifndef _ZLIBIOAPI_H -#include "ioapi.h" -#endif - -#ifdef HAVE_BZIP2 -#include "bzlib.h" -#endif - -#define Z_BZIP2ED 12 - -#if defined(STRICTZIP) || defined(STRICTZIPUNZIP) -/* like the STRICT of WIN32, we define a pointer that cannot be converted - from (void*) without cast */ -typedef struct TagzipFile__ { int unused; } zipFile__; -typedef zipFile__ *zipFile; -#else -typedef voidp zipFile; -#endif - -#define ZIP_OK (0) -#define ZIP_EOF (0) -#define ZIP_ERRNO (Z_ERRNO) -#define ZIP_PARAMERROR (-102) -#define ZIP_BADZIPFILE (-103) -#define ZIP_INTERNALERROR (-104) - -#ifndef DEF_MEM_LEVEL -# if MAX_MEM_LEVEL >= 8 -# define DEF_MEM_LEVEL 8 -# else -# define DEF_MEM_LEVEL MAX_MEM_LEVEL -# endif -#endif -/* default memLevel */ - -/* tm_zip contain date/time info */ -typedef struct tm_zip_s -{ - uInt tm_sec; /* seconds after the minute - [0,59] */ - uInt tm_min; /* minutes after the hour - [0,59] */ - uInt tm_hour; /* hours since midnight - [0,23] */ - uInt tm_mday; /* day of the month - [1,31] */ - uInt tm_mon; /* months since January - [0,11] */ - uInt tm_year; /* years - [1980..2044] */ -} tm_zip; - -typedef struct -{ - tm_zip tmz_date; /* date in understandable format */ - uLong dosDate; /* if dos_date == 0, tmu_date is used */ -/* uLong flag; */ /* general purpose bit flag 2 bytes */ - - uLong internal_fa; /* internal file attributes 2 bytes */ - uLong external_fa; /* external file attributes 4 bytes */ -} zip_fileinfo; - -typedef const char* zipcharpc; - - -#define APPEND_STATUS_CREATE (0) -#define APPEND_STATUS_CREATEAFTER (1) -#define APPEND_STATUS_ADDINZIP (2) - -extern zipFile ZEXPORT zipOpen OF((const char *pathname, int append)); -extern zipFile ZEXPORT zipOpen64 OF((const void *pathname, int append)); -/* - Create a zipfile. - pathname contain on Windows XP a filename like "c:\\zlib\\zlib113.zip" or on - an Unix computer "zlib/zlib113.zip". - if the file pathname exist and append==APPEND_STATUS_CREATEAFTER, the zip - will be created at the end of the file. - (useful if the file contain a self extractor code) - if the file pathname exist and append==APPEND_STATUS_ADDINZIP, we will - add files in existing zip (be sure you don't add file that doesn't exist) - If the zipfile cannot be opened, the return value is NULL. - Else, the return value is a zipFile Handle, usable with other function - of this zip package. -*/ - -/* Note : there is no delete function into a zipfile. - If you want delete file into a zipfile, you must open a zipfile, and create another - Of couse, you can use RAW reading and writing to copy the file you did not want delte -*/ - -extern zipFile ZEXPORT zipOpen2 OF((const char *pathname, - int append, - zipcharpc* globalcomment, - zlib_filefunc_def* pzlib_filefunc_def)); - -extern zipFile ZEXPORT zipOpen2_64 OF((const void *pathname, - int append, - zipcharpc* globalcomment, - zlib_filefunc64_def* pzlib_filefunc_def)); - -extern int ZEXPORT zipOpenNewFileInZip OF((zipFile file, - const char* filename, - const zip_fileinfo* zipfi, - const void* extrafield_local, - uInt size_extrafield_local, - const void* extrafield_global, - uInt size_extrafield_global, - const char* comment, - int method, - int level)); - -extern int ZEXPORT zipOpenNewFileInZip64 OF((zipFile file, - const char* filename, - const zip_fileinfo* zipfi, - const void* extrafield_local, - uInt size_extrafield_local, - const void* extrafield_global, - uInt size_extrafield_global, - const char* comment, - int method, - int level, - int zip64)); - -/* - Open a file in the ZIP for writing. - filename : the filename in zip (if NULL, '-' without quote will be used - *zipfi contain supplemental information - if extrafield_local!=NULL and size_extrafield_local>0, extrafield_local - contains the extrafield data the the local header - if extrafield_global!=NULL and size_extrafield_global>0, extrafield_global - contains the extrafield data the the local header - if comment != NULL, comment contain the comment string - method contain the compression method (0 for store, Z_DEFLATED for deflate) - level contain the level of compression (can be Z_DEFAULT_COMPRESSION) - zip64 is set to 1 if a zip64 extended information block should be added to the local file header. - this MUST be '1' if the uncompressed size is >= 0xffffffff. - -*/ - - -extern int ZEXPORT zipOpenNewFileInZip2 OF((zipFile file, - const char* filename, - const zip_fileinfo* zipfi, - const void* extrafield_local, - uInt size_extrafield_local, - const void* extrafield_global, - uInt size_extrafield_global, - const char* comment, - int method, - int level, - int raw)); - - -extern int ZEXPORT zipOpenNewFileInZip2_64 OF((zipFile file, - const char* filename, - const zip_fileinfo* zipfi, - const void* extrafield_local, - uInt size_extrafield_local, - const void* extrafield_global, - uInt size_extrafield_global, - const char* comment, - int method, - int level, - int raw, - int zip64)); -/* - Same than zipOpenNewFileInZip, except if raw=1, we write raw file - */ - -extern int ZEXPORT zipOpenNewFileInZip3 OF((zipFile file, - const char* filename, - const zip_fileinfo* zipfi, - const void* extrafield_local, - uInt size_extrafield_local, - const void* extrafield_global, - uInt size_extrafield_global, - const char* comment, - int method, - int level, - int raw, - int windowBits, - int memLevel, - int strategy, - const char* password, - uLong crcForCrypting)); - -extern int ZEXPORT zipOpenNewFileInZip3_64 OF((zipFile file, - const char* filename, - const zip_fileinfo* zipfi, - const void* extrafield_local, - uInt size_extrafield_local, - const void* extrafield_global, - uInt size_extrafield_global, - const char* comment, - int method, - int level, - int raw, - int windowBits, - int memLevel, - int strategy, - const char* password, - uLong crcForCrypting, - int zip64 - )); - -/* - Same than zipOpenNewFileInZip2, except - windowBits,memLevel,,strategy : see parameter strategy in deflateInit2 - password : crypting password (NULL for no crypting) - crcForCrypting : crc of file to compress (needed for crypting) - */ - -extern int ZEXPORT zipOpenNewFileInZip4 OF((zipFile file, - const char* filename, - const zip_fileinfo* zipfi, - const void* extrafield_local, - uInt size_extrafield_local, - const void* extrafield_global, - uInt size_extrafield_global, - const char* comment, - int method, - int level, - int raw, - int windowBits, - int memLevel, - int strategy, - const char* password, - uLong crcForCrypting, - uLong versionMadeBy, - uLong flagBase - )); - - -extern int ZEXPORT zipOpenNewFileInZip4_64 OF((zipFile file, - const char* filename, - const zip_fileinfo* zipfi, - const void* extrafield_local, - uInt size_extrafield_local, - const void* extrafield_global, - uInt size_extrafield_global, - const char* comment, - int method, - int level, - int raw, - int windowBits, - int memLevel, - int strategy, - const char* password, - uLong crcForCrypting, - uLong versionMadeBy, - uLong flagBase, - int zip64 - )); -/* - Same than zipOpenNewFileInZip4, except - versionMadeBy : value for Version made by field - flag : value for flag field (compression level info will be added) - */ - - -extern int ZEXPORT zipWriteInFileInZip OF((zipFile file, - const void* buf, - unsigned len)); -/* - Write data in the zipfile -*/ - -extern int ZEXPORT zipCloseFileInZip OF((zipFile file)); -/* - Close the current file in the zipfile -*/ - -extern int ZEXPORT zipCloseFileInZipRaw OF((zipFile file, - uLong uncompressed_size, - uLong crc32)); - -extern int ZEXPORT zipCloseFileInZipRaw64 OF((zipFile file, - ZPOS64_T uncompressed_size, - uLong crc32)); - -/* - Close the current file in the zipfile, for file opened with - parameter raw=1 in zipOpenNewFileInZip2 - uncompressed_size and crc32 are value for the uncompressed size -*/ - -extern int ZEXPORT zipClose OF((zipFile file, - const char* global_comment)); -/* - Close the zipfile -*/ - - -extern int ZEXPORT zipRemoveExtraInfoBlock OF((char* pData, int* dataLen, short sHeader)); -/* - zipRemoveExtraInfoBlock - Added by Mathias Svensson - - Remove extra information block from a extra information data for the local file header or central directory header - - It is needed to remove ZIP64 extra information blocks when before data is written if using RAW mode. - - 0x0001 is the signature header for the ZIP64 extra information blocks - - usage. - Remove ZIP64 Extra information from a central director extra field data - zipRemoveExtraInfoBlock(pCenDirExtraFieldData, &nCenDirExtraFieldDataLen, 0x0001); - - Remove ZIP64 Extra information from a Local File Header extra field data - zipRemoveExtraInfoBlock(pLocalHeaderExtraFieldData, &nLocalHeaderExtraFieldDataLen, 0x0001); -*/ - -#ifdef __cplusplus -} -#endif - -#endif /* _zip64_H */ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/pascal/example.pas b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/pascal/example.pas deleted file mode 100644 index 5518b36a..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/pascal/example.pas +++ /dev/null @@ -1,599 +0,0 @@ -(* example.c -- usage example of the zlib compression library - * Copyright (C) 1995-2003 Jean-loup Gailly. - * For conditions of distribution and use, see copyright notice in zlib.h - * - * Pascal translation - * Copyright (C) 1998 by Jacques Nomssi Nzali. - * For conditions of distribution and use, see copyright notice in readme.txt - * - * Adaptation to the zlibpas interface - * Copyright (C) 2003 by Cosmin Truta. - * For conditions of distribution and use, see copyright notice in readme.txt - *) - -program example; - -{$DEFINE TEST_COMPRESS} -{DO NOT $DEFINE TEST_GZIO} -{$DEFINE TEST_DEFLATE} -{$DEFINE TEST_INFLATE} -{$DEFINE TEST_FLUSH} -{$DEFINE TEST_SYNC} -{$DEFINE TEST_DICT} - -uses SysUtils, zlibpas; - -const TESTFILE = 'foo.gz'; - -(* "hello world" would be more standard, but the repeated "hello" - * stresses the compression code better, sorry... - *) -const hello: PChar = 'hello, hello!'; - -const dictionary: PChar = 'hello'; - -var dictId: LongInt; (* Adler32 value of the dictionary *) - -procedure CHECK_ERR(err: Integer; msg: String); -begin - if err <> Z_OK then - begin - WriteLn(msg, ' error: ', err); - Halt(1); - end; -end; - -procedure EXIT_ERR(const msg: String); -begin - WriteLn('Error: ', msg); - Halt(1); -end; - -(* =========================================================================== - * Test compress and uncompress - *) -{$IFDEF TEST_COMPRESS} -procedure test_compress(compr: Pointer; comprLen: LongInt; - uncompr: Pointer; uncomprLen: LongInt); -var err: Integer; - len: LongInt; -begin - len := StrLen(hello)+1; - - err := compress(compr, comprLen, hello, len); - CHECK_ERR(err, 'compress'); - - StrCopy(PChar(uncompr), 'garbage'); - - err := uncompress(uncompr, uncomprLen, compr, comprLen); - CHECK_ERR(err, 'uncompress'); - - if StrComp(PChar(uncompr), hello) <> 0 then - EXIT_ERR('bad uncompress') - else - WriteLn('uncompress(): ', PChar(uncompr)); -end; -{$ENDIF} - -(* =========================================================================== - * Test read/write of .gz files - *) -{$IFDEF TEST_GZIO} -procedure test_gzio(const fname: PChar; (* compressed file name *) - uncompr: Pointer; - uncomprLen: LongInt); -var err: Integer; - len: Integer; - zfile: gzFile; - pos: LongInt; -begin - len := StrLen(hello)+1; - - zfile := gzopen(fname, 'wb'); - if zfile = NIL then - begin - WriteLn('gzopen error'); - Halt(1); - end; - gzputc(zfile, 'h'); - if gzputs(zfile, 'ello') <> 4 then - begin - WriteLn('gzputs err: ', gzerror(zfile, err)); - Halt(1); - end; - {$IFDEF GZ_FORMAT_STRING} - if gzprintf(zfile, ', %s!', 'hello') <> 8 then - begin - WriteLn('gzprintf err: ', gzerror(zfile, err)); - Halt(1); - end; - {$ELSE} - if gzputs(zfile, ', hello!') <> 8 then - begin - WriteLn('gzputs err: ', gzerror(zfile, err)); - Halt(1); - end; - {$ENDIF} - gzseek(zfile, 1, SEEK_CUR); (* add one zero byte *) - gzclose(zfile); - - zfile := gzopen(fname, 'rb'); - if zfile = NIL then - begin - WriteLn('gzopen error'); - Halt(1); - end; - - StrCopy(PChar(uncompr), 'garbage'); - - if gzread(zfile, uncompr, uncomprLen) <> len then - begin - WriteLn('gzread err: ', gzerror(zfile, err)); - Halt(1); - end; - if StrComp(PChar(uncompr), hello) <> 0 then - begin - WriteLn('bad gzread: ', PChar(uncompr)); - Halt(1); - end - else - WriteLn('gzread(): ', PChar(uncompr)); - - pos := gzseek(zfile, -8, SEEK_CUR); - if (pos <> 6) or (gztell(zfile) <> pos) then - begin - WriteLn('gzseek error, pos=', pos, ', gztell=', gztell(zfile)); - Halt(1); - end; - - if gzgetc(zfile) <> ' ' then - begin - WriteLn('gzgetc error'); - Halt(1); - end; - - if gzungetc(' ', zfile) <> ' ' then - begin - WriteLn('gzungetc error'); - Halt(1); - end; - - gzgets(zfile, PChar(uncompr), uncomprLen); - uncomprLen := StrLen(PChar(uncompr)); - if uncomprLen <> 7 then (* " hello!" *) - begin - WriteLn('gzgets err after gzseek: ', gzerror(zfile, err)); - Halt(1); - end; - if StrComp(PChar(uncompr), hello + 6) <> 0 then - begin - WriteLn('bad gzgets after gzseek'); - Halt(1); - end - else - WriteLn('gzgets() after gzseek: ', PChar(uncompr)); - - gzclose(zfile); -end; -{$ENDIF} - -(* =========================================================================== - * Test deflate with small buffers - *) -{$IFDEF TEST_DEFLATE} -procedure test_deflate(compr: Pointer; comprLen: LongInt); -var c_stream: z_stream; (* compression stream *) - err: Integer; - len: LongInt; -begin - len := StrLen(hello)+1; - - c_stream.zalloc := NIL; - c_stream.zfree := NIL; - c_stream.opaque := NIL; - - err := deflateInit(c_stream, Z_DEFAULT_COMPRESSION); - CHECK_ERR(err, 'deflateInit'); - - c_stream.next_in := hello; - c_stream.next_out := compr; - - while (c_stream.total_in <> len) and - (c_stream.total_out < comprLen) do - begin - c_stream.avail_out := 1; { force small buffers } - c_stream.avail_in := 1; - err := deflate(c_stream, Z_NO_FLUSH); - CHECK_ERR(err, 'deflate'); - end; - - (* Finish the stream, still forcing small buffers: *) - while TRUE do - begin - c_stream.avail_out := 1; - err := deflate(c_stream, Z_FINISH); - if err = Z_STREAM_END then - break; - CHECK_ERR(err, 'deflate'); - end; - - err := deflateEnd(c_stream); - CHECK_ERR(err, 'deflateEnd'); -end; -{$ENDIF} - -(* =========================================================================== - * Test inflate with small buffers - *) -{$IFDEF TEST_INFLATE} -procedure test_inflate(compr: Pointer; comprLen : LongInt; - uncompr: Pointer; uncomprLen : LongInt); -var err: Integer; - d_stream: z_stream; (* decompression stream *) -begin - StrCopy(PChar(uncompr), 'garbage'); - - d_stream.zalloc := NIL; - d_stream.zfree := NIL; - d_stream.opaque := NIL; - - d_stream.next_in := compr; - d_stream.avail_in := 0; - d_stream.next_out := uncompr; - - err := inflateInit(d_stream); - CHECK_ERR(err, 'inflateInit'); - - while (d_stream.total_out < uncomprLen) and - (d_stream.total_in < comprLen) do - begin - d_stream.avail_out := 1; (* force small buffers *) - d_stream.avail_in := 1; - err := inflate(d_stream, Z_NO_FLUSH); - if err = Z_STREAM_END then - break; - CHECK_ERR(err, 'inflate'); - end; - - err := inflateEnd(d_stream); - CHECK_ERR(err, 'inflateEnd'); - - if StrComp(PChar(uncompr), hello) <> 0 then - EXIT_ERR('bad inflate') - else - WriteLn('inflate(): ', PChar(uncompr)); -end; -{$ENDIF} - -(* =========================================================================== - * Test deflate with large buffers and dynamic change of compression level - *) -{$IFDEF TEST_DEFLATE} -procedure test_large_deflate(compr: Pointer; comprLen: LongInt; - uncompr: Pointer; uncomprLen: LongInt); -var c_stream: z_stream; (* compression stream *) - err: Integer; -begin - c_stream.zalloc := NIL; - c_stream.zfree := NIL; - c_stream.opaque := NIL; - - err := deflateInit(c_stream, Z_BEST_SPEED); - CHECK_ERR(err, 'deflateInit'); - - c_stream.next_out := compr; - c_stream.avail_out := Integer(comprLen); - - (* At this point, uncompr is still mostly zeroes, so it should compress - * very well: - *) - c_stream.next_in := uncompr; - c_stream.avail_in := Integer(uncomprLen); - err := deflate(c_stream, Z_NO_FLUSH); - CHECK_ERR(err, 'deflate'); - if c_stream.avail_in <> 0 then - EXIT_ERR('deflate not greedy'); - - (* Feed in already compressed data and switch to no compression: *) - deflateParams(c_stream, Z_NO_COMPRESSION, Z_DEFAULT_STRATEGY); - c_stream.next_in := compr; - c_stream.avail_in := Integer(comprLen div 2); - err := deflate(c_stream, Z_NO_FLUSH); - CHECK_ERR(err, 'deflate'); - - (* Switch back to compressing mode: *) - deflateParams(c_stream, Z_BEST_COMPRESSION, Z_FILTERED); - c_stream.next_in := uncompr; - c_stream.avail_in := Integer(uncomprLen); - err := deflate(c_stream, Z_NO_FLUSH); - CHECK_ERR(err, 'deflate'); - - err := deflate(c_stream, Z_FINISH); - if err <> Z_STREAM_END then - EXIT_ERR('deflate should report Z_STREAM_END'); - - err := deflateEnd(c_stream); - CHECK_ERR(err, 'deflateEnd'); -end; -{$ENDIF} - -(* =========================================================================== - * Test inflate with large buffers - *) -{$IFDEF TEST_INFLATE} -procedure test_large_inflate(compr: Pointer; comprLen: LongInt; - uncompr: Pointer; uncomprLen: LongInt); -var err: Integer; - d_stream: z_stream; (* decompression stream *) -begin - StrCopy(PChar(uncompr), 'garbage'); - - d_stream.zalloc := NIL; - d_stream.zfree := NIL; - d_stream.opaque := NIL; - - d_stream.next_in := compr; - d_stream.avail_in := Integer(comprLen); - - err := inflateInit(d_stream); - CHECK_ERR(err, 'inflateInit'); - - while TRUE do - begin - d_stream.next_out := uncompr; (* discard the output *) - d_stream.avail_out := Integer(uncomprLen); - err := inflate(d_stream, Z_NO_FLUSH); - if err = Z_STREAM_END then - break; - CHECK_ERR(err, 'large inflate'); - end; - - err := inflateEnd(d_stream); - CHECK_ERR(err, 'inflateEnd'); - - if d_stream.total_out <> 2 * uncomprLen + comprLen div 2 then - begin - WriteLn('bad large inflate: ', d_stream.total_out); - Halt(1); - end - else - WriteLn('large_inflate(): OK'); -end; -{$ENDIF} - -(* =========================================================================== - * Test deflate with full flush - *) -{$IFDEF TEST_FLUSH} -procedure test_flush(compr: Pointer; var comprLen : LongInt); -var c_stream: z_stream; (* compression stream *) - err: Integer; - len: Integer; -begin - len := StrLen(hello)+1; - - c_stream.zalloc := NIL; - c_stream.zfree := NIL; - c_stream.opaque := NIL; - - err := deflateInit(c_stream, Z_DEFAULT_COMPRESSION); - CHECK_ERR(err, 'deflateInit'); - - c_stream.next_in := hello; - c_stream.next_out := compr; - c_stream.avail_in := 3; - c_stream.avail_out := Integer(comprLen); - err := deflate(c_stream, Z_FULL_FLUSH); - CHECK_ERR(err, 'deflate'); - - Inc(PByteArray(compr)^[3]); (* force an error in first compressed block *) - c_stream.avail_in := len - 3; - - err := deflate(c_stream, Z_FINISH); - if err <> Z_STREAM_END then - CHECK_ERR(err, 'deflate'); - - err := deflateEnd(c_stream); - CHECK_ERR(err, 'deflateEnd'); - - comprLen := c_stream.total_out; -end; -{$ENDIF} - -(* =========================================================================== - * Test inflateSync() - *) -{$IFDEF TEST_SYNC} -procedure test_sync(compr: Pointer; comprLen: LongInt; - uncompr: Pointer; uncomprLen : LongInt); -var err: Integer; - d_stream: z_stream; (* decompression stream *) -begin - StrCopy(PChar(uncompr), 'garbage'); - - d_stream.zalloc := NIL; - d_stream.zfree := NIL; - d_stream.opaque := NIL; - - d_stream.next_in := compr; - d_stream.avail_in := 2; (* just read the zlib header *) - - err := inflateInit(d_stream); - CHECK_ERR(err, 'inflateInit'); - - d_stream.next_out := uncompr; - d_stream.avail_out := Integer(uncomprLen); - - inflate(d_stream, Z_NO_FLUSH); - CHECK_ERR(err, 'inflate'); - - d_stream.avail_in := Integer(comprLen-2); (* read all compressed data *) - err := inflateSync(d_stream); (* but skip the damaged part *) - CHECK_ERR(err, 'inflateSync'); - - err := inflate(d_stream, Z_FINISH); - if err <> Z_DATA_ERROR then - EXIT_ERR('inflate should report DATA_ERROR'); - (* Because of incorrect adler32 *) - - err := inflateEnd(d_stream); - CHECK_ERR(err, 'inflateEnd'); - - WriteLn('after inflateSync(): hel', PChar(uncompr)); -end; -{$ENDIF} - -(* =========================================================================== - * Test deflate with preset dictionary - *) -{$IFDEF TEST_DICT} -procedure test_dict_deflate(compr: Pointer; comprLen: LongInt); -var c_stream: z_stream; (* compression stream *) - err: Integer; -begin - c_stream.zalloc := NIL; - c_stream.zfree := NIL; - c_stream.opaque := NIL; - - err := deflateInit(c_stream, Z_BEST_COMPRESSION); - CHECK_ERR(err, 'deflateInit'); - - err := deflateSetDictionary(c_stream, dictionary, StrLen(dictionary)); - CHECK_ERR(err, 'deflateSetDictionary'); - - dictId := c_stream.adler; - c_stream.next_out := compr; - c_stream.avail_out := Integer(comprLen); - - c_stream.next_in := hello; - c_stream.avail_in := StrLen(hello)+1; - - err := deflate(c_stream, Z_FINISH); - if err <> Z_STREAM_END then - EXIT_ERR('deflate should report Z_STREAM_END'); - - err := deflateEnd(c_stream); - CHECK_ERR(err, 'deflateEnd'); -end; -{$ENDIF} - -(* =========================================================================== - * Test inflate with a preset dictionary - *) -{$IFDEF TEST_DICT} -procedure test_dict_inflate(compr: Pointer; comprLen: LongInt; - uncompr: Pointer; uncomprLen: LongInt); -var err: Integer; - d_stream: z_stream; (* decompression stream *) -begin - StrCopy(PChar(uncompr), 'garbage'); - - d_stream.zalloc := NIL; - d_stream.zfree := NIL; - d_stream.opaque := NIL; - - d_stream.next_in := compr; - d_stream.avail_in := Integer(comprLen); - - err := inflateInit(d_stream); - CHECK_ERR(err, 'inflateInit'); - - d_stream.next_out := uncompr; - d_stream.avail_out := Integer(uncomprLen); - - while TRUE do - begin - err := inflate(d_stream, Z_NO_FLUSH); - if err = Z_STREAM_END then - break; - if err = Z_NEED_DICT then - begin - if d_stream.adler <> dictId then - EXIT_ERR('unexpected dictionary'); - err := inflateSetDictionary(d_stream, dictionary, StrLen(dictionary)); - end; - CHECK_ERR(err, 'inflate with dict'); - end; - - err := inflateEnd(d_stream); - CHECK_ERR(err, 'inflateEnd'); - - if StrComp(PChar(uncompr), hello) <> 0 then - EXIT_ERR('bad inflate with dict') - else - WriteLn('inflate with dictionary: ', PChar(uncompr)); -end; -{$ENDIF} - -var compr, uncompr: Pointer; - comprLen, uncomprLen: LongInt; - -begin - if zlibVersion^ <> ZLIB_VERSION[1] then - EXIT_ERR('Incompatible zlib version'); - - WriteLn('zlib version: ', zlibVersion); - WriteLn('zlib compile flags: ', Format('0x%x', [zlibCompileFlags])); - - comprLen := 10000 * SizeOf(Integer); (* don't overflow on MSDOS *) - uncomprLen := comprLen; - GetMem(compr, comprLen); - GetMem(uncompr, uncomprLen); - if (compr = NIL) or (uncompr = NIL) then - EXIT_ERR('Out of memory'); - (* compr and uncompr are cleared to avoid reading uninitialized - * data and to ensure that uncompr compresses well. - *) - FillChar(compr^, comprLen, 0); - FillChar(uncompr^, uncomprLen, 0); - - {$IFDEF TEST_COMPRESS} - WriteLn('** Testing compress'); - test_compress(compr, comprLen, uncompr, uncomprLen); - {$ENDIF} - - {$IFDEF TEST_GZIO} - WriteLn('** Testing gzio'); - if ParamCount >= 1 then - test_gzio(ParamStr(1), uncompr, uncomprLen) - else - test_gzio(TESTFILE, uncompr, uncomprLen); - {$ENDIF} - - {$IFDEF TEST_DEFLATE} - WriteLn('** Testing deflate with small buffers'); - test_deflate(compr, comprLen); - {$ENDIF} - {$IFDEF TEST_INFLATE} - WriteLn('** Testing inflate with small buffers'); - test_inflate(compr, comprLen, uncompr, uncomprLen); - {$ENDIF} - - {$IFDEF TEST_DEFLATE} - WriteLn('** Testing deflate with large buffers'); - test_large_deflate(compr, comprLen, uncompr, uncomprLen); - {$ENDIF} - {$IFDEF TEST_INFLATE} - WriteLn('** Testing inflate with large buffers'); - test_large_inflate(compr, comprLen, uncompr, uncomprLen); - {$ENDIF} - - {$IFDEF TEST_FLUSH} - WriteLn('** Testing deflate with full flush'); - test_flush(compr, comprLen); - {$ENDIF} - {$IFDEF TEST_SYNC} - WriteLn('** Testing inflateSync'); - test_sync(compr, comprLen, uncompr, uncomprLen); - {$ENDIF} - comprLen := uncomprLen; - - {$IFDEF TEST_DICT} - WriteLn('** Testing deflate and inflate with preset dictionary'); - test_dict_deflate(compr, comprLen); - test_dict_inflate(compr, comprLen, uncompr, uncomprLen); - {$ENDIF} - - FreeMem(compr, comprLen); - FreeMem(uncompr, uncomprLen); -end. diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/pascal/readme.txt b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/pascal/readme.txt deleted file mode 100644 index 60e87c8a..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/pascal/readme.txt +++ /dev/null @@ -1,76 +0,0 @@ - -This directory contains a Pascal (Delphi, Kylix) interface to the -zlib data compression library. - - -Directory listing -================= - -zlibd32.mak makefile for Borland C++ -example.pas usage example of zlib -zlibpas.pas the Pascal interface to zlib -readme.txt this file - - -Compatibility notes -=================== - -- Although the name "zlib" would have been more normal for the - zlibpas unit, this name is already taken by Borland's ZLib unit. - This is somehow unfortunate, because that unit is not a genuine - interface to the full-fledged zlib functionality, but a suite of - class wrappers around zlib streams. Other essential features, - such as checksums, are missing. - It would have been more appropriate for that unit to have a name - like "ZStreams", or something similar. - -- The C and zlib-supplied types int, uInt, long, uLong, etc. are - translated directly into Pascal types of similar sizes (Integer, - LongInt, etc.), to avoid namespace pollution. In particular, - there is no conversion of unsigned int into a Pascal unsigned - integer. The Word type is non-portable and has the same size - (16 bits) both in a 16-bit and in a 32-bit environment, unlike - Integer. Even if there is a 32-bit Cardinal type, there is no - real need for unsigned int in zlib under a 32-bit environment. - -- Except for the callbacks, the zlib function interfaces are - assuming the calling convention normally used in Pascal - (__pascal for DOS and Windows16, __fastcall for Windows32). - Since the cdecl keyword is used, the old Turbo Pascal does - not work with this interface. - -- The gz* function interfaces are not translated, to avoid - interfacing problems with the C runtime library. Besides, - gzprintf(gzFile file, const char *format, ...) - cannot be translated into Pascal. - - -Legal issues -============ - -The zlibpas interface is: - Copyright (C) 1995-2003 Jean-loup Gailly and Mark Adler. - Copyright (C) 1998 by Bob Dellaca. - Copyright (C) 2003 by Cosmin Truta. - -The example program is: - Copyright (C) 1995-2003 by Jean-loup Gailly. - Copyright (C) 1998,1999,2000 by Jacques Nomssi Nzali. - Copyright (C) 2003 by Cosmin Truta. - - This software is provided 'as-is', without any express or implied - warranty. In no event will the author be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/pascal/zlibd32.mak b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/pascal/zlibd32.mak deleted file mode 100644 index 9bb00b7c..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/pascal/zlibd32.mak +++ /dev/null @@ -1,99 +0,0 @@ -# Makefile for zlib -# For use with Delphi and C++ Builder under Win32 -# Updated for zlib 1.2.x by Cosmin Truta - -# ------------ Borland C++ ------------ - -# This project uses the Delphi (fastcall/register) calling convention: -LOC = -DZEXPORT=__fastcall -DZEXPORTVA=__cdecl - -CC = bcc32 -LD = bcc32 -AR = tlib -# do not use "-pr" in CFLAGS -CFLAGS = -a -d -k- -O2 $(LOC) -LDFLAGS = - - -# variables -ZLIB_LIB = zlib.lib - -OBJ1 = adler32.obj compress.obj crc32.obj deflate.obj gzclose.obj gzlib.obj gzread.obj -OBJ2 = gzwrite.obj infback.obj inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj -OBJP1 = +adler32.obj+compress.obj+crc32.obj+deflate.obj+gzclose.obj+gzlib.obj+gzread.obj -OBJP2 = +gzwrite.obj+infback.obj+inffast.obj+inflate.obj+inftrees.obj+trees.obj+uncompr.obj+zutil.obj - - -# targets -all: $(ZLIB_LIB) example.exe minigzip.exe - -.c.obj: - $(CC) -c $(CFLAGS) $*.c - -adler32.obj: adler32.c zlib.h zconf.h - -compress.obj: compress.c zlib.h zconf.h - -crc32.obj: crc32.c zlib.h zconf.h crc32.h - -deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h - -gzclose.obj: gzclose.c zlib.h zconf.h gzguts.h - -gzlib.obj: gzlib.c zlib.h zconf.h gzguts.h - -gzread.obj: gzread.c zlib.h zconf.h gzguts.h - -gzwrite.obj: gzwrite.c zlib.h zconf.h gzguts.h - -infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h inffixed.h - -inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h - -inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h inffixed.h - -inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h - -trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h - -uncompr.obj: uncompr.c zlib.h zconf.h - -zutil.obj: zutil.c zutil.h zlib.h zconf.h - -example.obj: test/example.c zlib.h zconf.h - -minigzip.obj: test/minigzip.c zlib.h zconf.h - - -# For the sake of the old Borland make, -# the command line is cut to fit in the MS-DOS 128 byte limit: -$(ZLIB_LIB): $(OBJ1) $(OBJ2) - -del $(ZLIB_LIB) - $(AR) $(ZLIB_LIB) $(OBJP1) - $(AR) $(ZLIB_LIB) $(OBJP2) - - -# testing -test: example.exe minigzip.exe - example - echo hello world | minigzip | minigzip -d - -example.exe: example.obj $(ZLIB_LIB) - $(LD) $(LDFLAGS) example.obj $(ZLIB_LIB) - -minigzip.exe: minigzip.obj $(ZLIB_LIB) - $(LD) $(LDFLAGS) minigzip.obj $(ZLIB_LIB) - - -# cleanup -clean: - -del *.obj - -del *.exe - -del *.lib - -del *.tds - -del zlib.bak - -del foo.gz - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/pascal/zlibpas.pas b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/pascal/zlibpas.pas deleted file mode 100644 index 5c9875c1..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/pascal/zlibpas.pas +++ /dev/null @@ -1,276 +0,0 @@ -(* zlibpas -- Pascal interface to the zlib data compression library - * - * Copyright (C) 2003 Cosmin Truta. - * Derived from original sources by Bob Dellaca. - * For conditions of distribution and use, see copyright notice in readme.txt - *) - -unit zlibpas; - -interface - -const - ZLIB_VERSION = '1.2.6'; - ZLIB_VERNUM = $1260; - -type - alloc_func = function(opaque: Pointer; items, size: Integer): Pointer; - cdecl; - free_func = procedure(opaque, address: Pointer); - cdecl; - - in_func = function(opaque: Pointer; var buf: PByte): Integer; - cdecl; - out_func = function(opaque: Pointer; buf: PByte; size: Integer): Integer; - cdecl; - - z_streamp = ^z_stream; - z_stream = packed record - next_in: PChar; (* next input byte *) - avail_in: Integer; (* number of bytes available at next_in *) - total_in: LongInt; (* total nb of input bytes read so far *) - - next_out: PChar; (* next output byte should be put there *) - avail_out: Integer; (* remaining free space at next_out *) - total_out: LongInt; (* total nb of bytes output so far *) - - msg: PChar; (* last error message, NULL if no error *) - state: Pointer; (* not visible by applications *) - - zalloc: alloc_func; (* used to allocate the internal state *) - zfree: free_func; (* used to free the internal state *) - opaque: Pointer; (* private data object passed to zalloc and zfree *) - - data_type: Integer; (* best guess about the data type: ascii or binary *) - adler: LongInt; (* adler32 value of the uncompressed data *) - reserved: LongInt; (* reserved for future use *) - end; - - gz_headerp = ^gz_header; - gz_header = packed record - text: Integer; (* true if compressed data believed to be text *) - time: LongInt; (* modification time *) - xflags: Integer; (* extra flags (not used when writing a gzip file) *) - os: Integer; (* operating system *) - extra: PChar; (* pointer to extra field or Z_NULL if none *) - extra_len: Integer; (* extra field length (valid if extra != Z_NULL) *) - extra_max: Integer; (* space at extra (only when reading header) *) - name: PChar; (* pointer to zero-terminated file name or Z_NULL *) - name_max: Integer; (* space at name (only when reading header) *) - comment: PChar; (* pointer to zero-terminated comment or Z_NULL *) - comm_max: Integer; (* space at comment (only when reading header) *) - hcrc: Integer; (* true if there was or will be a header crc *) - done: Integer; (* true when done reading gzip header *) - end; - -(* constants *) -const - Z_NO_FLUSH = 0; - Z_PARTIAL_FLUSH = 1; - Z_SYNC_FLUSH = 2; - Z_FULL_FLUSH = 3; - Z_FINISH = 4; - Z_BLOCK = 5; - Z_TREES = 6; - - Z_OK = 0; - Z_STREAM_END = 1; - Z_NEED_DICT = 2; - Z_ERRNO = -1; - Z_STREAM_ERROR = -2; - Z_DATA_ERROR = -3; - Z_MEM_ERROR = -4; - Z_BUF_ERROR = -5; - Z_VERSION_ERROR = -6; - - Z_NO_COMPRESSION = 0; - Z_BEST_SPEED = 1; - Z_BEST_COMPRESSION = 9; - Z_DEFAULT_COMPRESSION = -1; - - Z_FILTERED = 1; - Z_HUFFMAN_ONLY = 2; - Z_RLE = 3; - Z_FIXED = 4; - Z_DEFAULT_STRATEGY = 0; - - Z_BINARY = 0; - Z_TEXT = 1; - Z_ASCII = 1; - Z_UNKNOWN = 2; - - Z_DEFLATED = 8; - -(* basic functions *) -function zlibVersion: PChar; -function deflateInit(var strm: z_stream; level: Integer): Integer; -function deflate(var strm: z_stream; flush: Integer): Integer; -function deflateEnd(var strm: z_stream): Integer; -function inflateInit(var strm: z_stream): Integer; -function inflate(var strm: z_stream; flush: Integer): Integer; -function inflateEnd(var strm: z_stream): Integer; - -(* advanced functions *) -function deflateInit2(var strm: z_stream; level, method, windowBits, - memLevel, strategy: Integer): Integer; -function deflateSetDictionary(var strm: z_stream; const dictionary: PChar; - dictLength: Integer): Integer; -function deflateCopy(var dest, source: z_stream): Integer; -function deflateReset(var strm: z_stream): Integer; -function deflateParams(var strm: z_stream; level, strategy: Integer): Integer; -function deflateTune(var strm: z_stream; good_length, max_lazy, nice_length, max_chain: Integer): Integer; -function deflateBound(var strm: z_stream; sourceLen: LongInt): LongInt; -function deflatePending(var strm: z_stream; var pending: Integer; var bits: Integer): Integer; -function deflatePrime(var strm: z_stream; bits, value: Integer): Integer; -function deflateSetHeader(var strm: z_stream; head: gz_header): Integer; -function inflateInit2(var strm: z_stream; windowBits: Integer): Integer; -function inflateSetDictionary(var strm: z_stream; const dictionary: PChar; - dictLength: Integer): Integer; -function inflateSync(var strm: z_stream): Integer; -function inflateCopy(var dest, source: z_stream): Integer; -function inflateReset(var strm: z_stream): Integer; -function inflateReset2(var strm: z_stream; windowBits: Integer): Integer; -function inflatePrime(var strm: z_stream; bits, value: Integer): Integer; -function inflateMark(var strm: z_stream): LongInt; -function inflateGetHeader(var strm: z_stream; var head: gz_header): Integer; -function inflateBackInit(var strm: z_stream; - windowBits: Integer; window: PChar): Integer; -function inflateBack(var strm: z_stream; in_fn: in_func; in_desc: Pointer; - out_fn: out_func; out_desc: Pointer): Integer; -function inflateBackEnd(var strm: z_stream): Integer; -function zlibCompileFlags: LongInt; - -(* utility functions *) -function compress(dest: PChar; var destLen: LongInt; - const source: PChar; sourceLen: LongInt): Integer; -function compress2(dest: PChar; var destLen: LongInt; - const source: PChar; sourceLen: LongInt; - level: Integer): Integer; -function compressBound(sourceLen: LongInt): LongInt; -function uncompress(dest: PChar; var destLen: LongInt; - const source: PChar; sourceLen: LongInt): Integer; - -(* checksum functions *) -function adler32(adler: LongInt; const buf: PChar; len: Integer): LongInt; -function adler32_combine(adler1, adler2, len2: LongInt): LongInt; -function crc32(crc: LongInt; const buf: PChar; len: Integer): LongInt; -function crc32_combine(crc1, crc2, len2: LongInt): LongInt; - -(* various hacks, don't look :) *) -function deflateInit_(var strm: z_stream; level: Integer; - const version: PChar; stream_size: Integer): Integer; -function inflateInit_(var strm: z_stream; const version: PChar; - stream_size: Integer): Integer; -function deflateInit2_(var strm: z_stream; - level, method, windowBits, memLevel, strategy: Integer; - const version: PChar; stream_size: Integer): Integer; -function inflateInit2_(var strm: z_stream; windowBits: Integer; - const version: PChar; stream_size: Integer): Integer; -function inflateBackInit_(var strm: z_stream; - windowBits: Integer; window: PChar; - const version: PChar; stream_size: Integer): Integer; - - -implementation - -{$L adler32.obj} -{$L compress.obj} -{$L crc32.obj} -{$L deflate.obj} -{$L infback.obj} -{$L inffast.obj} -{$L inflate.obj} -{$L inftrees.obj} -{$L trees.obj} -{$L uncompr.obj} -{$L zutil.obj} - -function adler32; external; -function adler32_combine; external; -function compress; external; -function compress2; external; -function compressBound; external; -function crc32; external; -function crc32_combine; external; -function deflate; external; -function deflateBound; external; -function deflateCopy; external; -function deflateEnd; external; -function deflateInit_; external; -function deflateInit2_; external; -function deflateParams; external; -function deflatePending; external; -function deflatePrime; external; -function deflateReset; external; -function deflateSetDictionary; external; -function deflateSetHeader; external; -function deflateTune; external; -function inflate; external; -function inflateBack; external; -function inflateBackEnd; external; -function inflateBackInit_; external; -function inflateCopy; external; -function inflateEnd; external; -function inflateGetHeader; external; -function inflateInit_; external; -function inflateInit2_; external; -function inflateMark; external; -function inflatePrime; external; -function inflateReset; external; -function inflateReset2; external; -function inflateSetDictionary; external; -function inflateSync; external; -function uncompress; external; -function zlibCompileFlags; external; -function zlibVersion; external; - -function deflateInit(var strm: z_stream; level: Integer): Integer; -begin - Result := deflateInit_(strm, level, ZLIB_VERSION, sizeof(z_stream)); -end; - -function deflateInit2(var strm: z_stream; level, method, windowBits, memLevel, - strategy: Integer): Integer; -begin - Result := deflateInit2_(strm, level, method, windowBits, memLevel, strategy, - ZLIB_VERSION, sizeof(z_stream)); -end; - -function inflateInit(var strm: z_stream): Integer; -begin - Result := inflateInit_(strm, ZLIB_VERSION, sizeof(z_stream)); -end; - -function inflateInit2(var strm: z_stream; windowBits: Integer): Integer; -begin - Result := inflateInit2_(strm, windowBits, ZLIB_VERSION, sizeof(z_stream)); -end; - -function inflateBackInit(var strm: z_stream; - windowBits: Integer; window: PChar): Integer; -begin - Result := inflateBackInit_(strm, windowBits, window, - ZLIB_VERSION, sizeof(z_stream)); -end; - -function _malloc(Size: Integer): Pointer; cdecl; -begin - GetMem(Result, Size); -end; - -procedure _free(Block: Pointer); cdecl; -begin - FreeMem(Block); -end; - -procedure _memset(P: Pointer; B: Byte; count: Integer); cdecl; -begin - FillChar(P^, count, B); -end; - -procedure _memcpy(dest, source: Pointer; count: Integer); cdecl; -begin - Move(source^, dest^, count); -end; - -end. diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/puff/Makefile b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/puff/Makefile deleted file mode 100644 index 0e2594c8..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/puff/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -CFLAGS=-O - -puff: puff.o pufftest.o - -puff.o: puff.h - -pufftest.o: puff.h - -test: puff - puff zeros.raw - -puft: puff.c puff.h pufftest.o - cc -fprofile-arcs -ftest-coverage -o puft puff.c pufftest.o - -# puff full coverage test (should say 100%) -cov: puft - @rm -f *.gcov *.gcda - @puft -w zeros.raw 2>&1 | cat > /dev/null - @echo '04' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2 - @echo '00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2 - @echo '00 00 00 00 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 254 - @echo '00 01 00 fe ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2 - @echo '01 01 00 fe ff 0a' | xxd -r -p | puft -f 2>&1 | cat > /dev/null - @echo '02 7e ff ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 246 - @echo '02' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2 - @echo '04 80 49 92 24 49 92 24 0f b4 ff ff c3 04' | xxd -r -p | puft 2> /dev/null || test $$? -eq 2 - @echo '04 80 49 92 24 49 92 24 71 ff ff 93 11 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 249 - @echo '04 c0 81 08 00 00 00 00 20 7f eb 0b 00 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 246 - @echo '0b 00 00' | xxd -r -p | puft -f 2>&1 | cat > /dev/null - @echo '1a 07' | xxd -r -p | puft 2> /dev/null || test $$? -eq 246 - @echo '0c c0 81 00 00 00 00 00 90 ff 6b 04' | xxd -r -p | puft 2> /dev/null || test $$? -eq 245 - @puft -f zeros.raw 2>&1 | cat > /dev/null - @echo 'fc 00 00' | xxd -r -p | puft 2> /dev/null || test $$? -eq 253 - @echo '04 00 fe ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 252 - @echo '04 00 24 49' | xxd -r -p | puft 2> /dev/null || test $$? -eq 251 - @echo '04 80 49 92 24 49 92 24 0f b4 ff ff c3 84' | xxd -r -p | puft 2> /dev/null || test $$? -eq 248 - @echo '04 00 24 e9 ff ff' | xxd -r -p | puft 2> /dev/null || test $$? -eq 250 - @echo '04 00 24 e9 ff 6d' | xxd -r -p | puft 2> /dev/null || test $$? -eq 247 - @gcov -n puff.c - -clean: - rm -f puff puft *.o *.gc* diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/puff/README b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/puff/README deleted file mode 100644 index bbc4cb59..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/puff/README +++ /dev/null @@ -1,63 +0,0 @@ -Puff -- A Simple Inflate -3 Mar 2003 -Mark Adler -madler@alumni.caltech.edu - -What this is -- - -puff.c provides the routine puff() to decompress the deflate data format. It -does so more slowly than zlib, but the code is about one-fifth the size of the -inflate code in zlib, and written to be very easy to read. - -Why I wrote this -- - -puff.c was written to document the deflate format unambiguously, by virtue of -being working C code. It is meant to supplement RFC 1951, which formally -describes the deflate format. I have received many questions on details of the -deflate format, and I hope that reading this code will answer those questions. -puff.c is heavily commented with details of the deflate format, especially -those little nooks and cranies of the format that might not be obvious from a -specification. - -puff.c may also be useful in applications where code size or memory usage is a -very limited resource, and speed is not as important. - -How to use it -- - -Well, most likely you should just be reading puff.c and using zlib for actual -applications, but if you must ... - -Include puff.h in your code, which provides this prototype: - -int puff(unsigned char *dest, /* pointer to destination pointer */ - unsigned long *destlen, /* amount of output space */ - unsigned char *source, /* pointer to source data pointer */ - unsigned long *sourcelen); /* amount of input available */ - -Then you can call puff() to decompress a deflate stream that is in memory in -its entirety at source, to a sufficiently sized block of memory for the -decompressed data at dest. puff() is the only external symbol in puff.c The -only C library functions that puff.c needs are setjmp() and longjmp(), which -are used to simplify error checking in the code to improve readabilty. puff.c -does no memory allocation, and uses less than 2K bytes off of the stack. - -If destlen is not enough space for the uncompressed data, then inflate will -return an error without writing more than destlen bytes. Note that this means -that in order to decompress the deflate data successfully, you need to know -the size of the uncompressed data ahead of time. - -If needed, puff() can determine the size of the uncompressed data with no -output space. This is done by passing dest equal to (unsigned char *)0. Then -the initial value of *destlen is ignored and *destlen is set to the length of -the uncompressed data. So if the size of the uncompressed data is not known, -then two passes of puff() can be used--first to determine the size, and second -to do the actual inflation after allocating the appropriate memory. Not -pretty, but it works. (This is one of the reasons you should be using zlib.) - -The deflate format is self-terminating. If the deflate stream does not end -in *sourcelen bytes, puff() will return an error without reading at or past -endsource. - -On return, *sourcelen is updated to the amount of input data consumed, and -*destlen is updated to the size of the uncompressed data. See the comments -in puff.c for the possible return codes for puff(). diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/puff/puff.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/puff/puff.c deleted file mode 100644 index df8470c9..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/puff/puff.c +++ /dev/null @@ -1,837 +0,0 @@ -/* - * puff.c - * Copyright (C) 2002-2010 Mark Adler - * For conditions of distribution and use, see copyright notice in puff.h - * version 2.2, 25 Apr 2010 - * - * puff.c is a simple inflate written to be an unambiguous way to specify the - * deflate format. It is not written for speed but rather simplicity. As a - * side benefit, this code might actually be useful when small code is more - * important than speed, such as bootstrap applications. For typical deflate - * data, zlib's inflate() is about four times as fast as puff(). zlib's - * inflate compiles to around 20K on my machine, whereas puff.c compiles to - * around 4K on my machine (a PowerPC using GNU cc). If the faster decode() - * function here is used, then puff() is only twice as slow as zlib's - * inflate(). - * - * All dynamically allocated memory comes from the stack. The stack required - * is less than 2K bytes. This code is compatible with 16-bit int's and - * assumes that long's are at least 32 bits. puff.c uses the short data type, - * assumed to be 16 bits, for arrays in order to to conserve memory. The code - * works whether integers are stored big endian or little endian. - * - * In the comments below are "Format notes" that describe the inflate process - * and document some of the less obvious aspects of the format. This source - * code is meant to supplement RFC 1951, which formally describes the deflate - * format: - * - * http://www.zlib.org/rfc-deflate.html - */ - -/* - * Change history: - * - * 1.0 10 Feb 2002 - First version - * 1.1 17 Feb 2002 - Clarifications of some comments and notes - * - Update puff() dest and source pointers on negative - * errors to facilitate debugging deflators - * - Remove longest from struct huffman -- not needed - * - Simplify offs[] index in construct() - * - Add input size and checking, using longjmp() to - * maintain easy readability - * - Use short data type for large arrays - * - Use pointers instead of long to specify source and - * destination sizes to avoid arbitrary 4 GB limits - * 1.2 17 Mar 2002 - Add faster version of decode(), doubles speed (!), - * but leave simple version for readabilty - * - Make sure invalid distances detected if pointers - * are 16 bits - * - Fix fixed codes table error - * - Provide a scanning mode for determining size of - * uncompressed data - * 1.3 20 Mar 2002 - Go back to lengths for puff() parameters [Gailly] - * - Add a puff.h file for the interface - * - Add braces in puff() for else do [Gailly] - * - Use indexes instead of pointers for readability - * 1.4 31 Mar 2002 - Simplify construct() code set check - * - Fix some comments - * - Add FIXLCODES #define - * 1.5 6 Apr 2002 - Minor comment fixes - * 1.6 7 Aug 2002 - Minor format changes - * 1.7 3 Mar 2003 - Added test code for distribution - * - Added zlib-like license - * 1.8 9 Jan 2004 - Added some comments on no distance codes case - * 1.9 21 Feb 2008 - Fix bug on 16-bit integer architectures [Pohland] - * - Catch missing end-of-block symbol error - * 2.0 25 Jul 2008 - Add #define to permit distance too far back - * - Add option in TEST code for puff to write the data - * - Add option in TEST code to skip input bytes - * - Allow TEST code to read from piped stdin - * 2.1 4 Apr 2010 - Avoid variable initialization for happier compilers - * - Avoid unsigned comparisons for even happier compilers - * 2.2 25 Apr 2010 - Fix bug in variable initializations [Oberhumer] - * - Add const where appropriate [Oberhumer] - * - Split if's and ?'s for coverage testing - * - Break out test code to separate file - * - Move NIL to puff.h - * - Allow incomplete code only if single code length is 1 - * - Add full code coverage test to Makefile - */ - -#include /* for setjmp(), longjmp(), and jmp_buf */ -#include "puff.h" /* prototype for puff() */ - -#define local static /* for local function definitions */ - -/* - * Maximums for allocations and loops. It is not useful to change these -- - * they are fixed by the deflate format. - */ -#define MAXBITS 15 /* maximum bits in a code */ -#define MAXLCODES 286 /* maximum number of literal/length codes */ -#define MAXDCODES 30 /* maximum number of distance codes */ -#define MAXCODES (MAXLCODES+MAXDCODES) /* maximum codes lengths to read */ -#define FIXLCODES 288 /* number of fixed literal/length codes */ - -/* input and output state */ -struct state { - /* output state */ - unsigned char *out; /* output buffer */ - unsigned long outlen; /* available space at out */ - unsigned long outcnt; /* bytes written to out so far */ - - /* input state */ - const unsigned char *in; /* input buffer */ - unsigned long inlen; /* available input at in */ - unsigned long incnt; /* bytes read so far */ - int bitbuf; /* bit buffer */ - int bitcnt; /* number of bits in bit buffer */ - - /* input limit error return state for bits() and decode() */ - jmp_buf env; -}; - -/* - * Return need bits from the input stream. This always leaves less than - * eight bits in the buffer. bits() works properly for need == 0. - * - * Format notes: - * - * - Bits are stored in bytes from the least significant bit to the most - * significant bit. Therefore bits are dropped from the bottom of the bit - * buffer, using shift right, and new bytes are appended to the top of the - * bit buffer, using shift left. - */ -local int bits(struct state *s, int need) -{ - long val; /* bit accumulator (can use up to 20 bits) */ - - /* load at least need bits into val */ - val = s->bitbuf; - while (s->bitcnt < need) { - if (s->incnt == s->inlen) - longjmp(s->env, 1); /* out of input */ - val |= (long)(s->in[s->incnt++]) << s->bitcnt; /* load eight bits */ - s->bitcnt += 8; - } - - /* drop need bits and update buffer, always zero to seven bits left */ - s->bitbuf = (int)(val >> need); - s->bitcnt -= need; - - /* return need bits, zeroing the bits above that */ - return (int)(val & ((1L << need) - 1)); -} - -/* - * Process a stored block. - * - * Format notes: - * - * - After the two-bit stored block type (00), the stored block length and - * stored bytes are byte-aligned for fast copying. Therefore any leftover - * bits in the byte that has the last bit of the type, as many as seven, are - * discarded. The value of the discarded bits are not defined and should not - * be checked against any expectation. - * - * - The second inverted copy of the stored block length does not have to be - * checked, but it's probably a good idea to do so anyway. - * - * - A stored block can have zero length. This is sometimes used to byte-align - * subsets of the compressed data for random access or partial recovery. - */ -local int stored(struct state *s) -{ - unsigned len; /* length of stored block */ - - /* discard leftover bits from current byte (assumes s->bitcnt < 8) */ - s->bitbuf = 0; - s->bitcnt = 0; - - /* get length and check against its one's complement */ - if (s->incnt + 4 > s->inlen) - return 2; /* not enough input */ - len = s->in[s->incnt++]; - len |= s->in[s->incnt++] << 8; - if (s->in[s->incnt++] != (~len & 0xff) || - s->in[s->incnt++] != ((~len >> 8) & 0xff)) - return -2; /* didn't match complement! */ - - /* copy len bytes from in to out */ - if (s->incnt + len > s->inlen) - return 2; /* not enough input */ - if (s->out != NIL) { - if (s->outcnt + len > s->outlen) - return 1; /* not enough output space */ - while (len--) - s->out[s->outcnt++] = s->in[s->incnt++]; - } - else { /* just scanning */ - s->outcnt += len; - s->incnt += len; - } - - /* done with a valid stored block */ - return 0; -} - -/* - * Huffman code decoding tables. count[1..MAXBITS] is the number of symbols of - * each length, which for a canonical code are stepped through in order. - * symbol[] are the symbol values in canonical order, where the number of - * entries is the sum of the counts in count[]. The decoding process can be - * seen in the function decode() below. - */ -struct huffman { - short *count; /* number of symbols of each length */ - short *symbol; /* canonically ordered symbols */ -}; - -/* - * Decode a code from the stream s using huffman table h. Return the symbol or - * a negative value if there is an error. If all of the lengths are zero, i.e. - * an empty code, or if the code is incomplete and an invalid code is received, - * then -10 is returned after reading MAXBITS bits. - * - * Format notes: - * - * - The codes as stored in the compressed data are bit-reversed relative to - * a simple integer ordering of codes of the same lengths. Hence below the - * bits are pulled from the compressed data one at a time and used to - * build the code value reversed from what is in the stream in order to - * permit simple integer comparisons for decoding. A table-based decoding - * scheme (as used in zlib) does not need to do this reversal. - * - * - The first code for the shortest length is all zeros. Subsequent codes of - * the same length are simply integer increments of the previous code. When - * moving up a length, a zero bit is appended to the code. For a complete - * code, the last code of the longest length will be all ones. - * - * - Incomplete codes are handled by this decoder, since they are permitted - * in the deflate format. See the format notes for fixed() and dynamic(). - */ -#ifdef SLOW -local int decode(struct state *s, const struct huffman *h) -{ - int len; /* current number of bits in code */ - int code; /* len bits being decoded */ - int first; /* first code of length len */ - int count; /* number of codes of length len */ - int index; /* index of first code of length len in symbol table */ - - code = first = index = 0; - for (len = 1; len <= MAXBITS; len++) { - code |= bits(s, 1); /* get next bit */ - count = h->count[len]; - if (code - count < first) /* if length len, return symbol */ - return h->symbol[index + (code - first)]; - index += count; /* else update for next length */ - first += count; - first <<= 1; - code <<= 1; - } - return -10; /* ran out of codes */ -} - -/* - * A faster version of decode() for real applications of this code. It's not - * as readable, but it makes puff() twice as fast. And it only makes the code - * a few percent larger. - */ -#else /* !SLOW */ -local int decode(struct state *s, const struct huffman *h) -{ - int len; /* current number of bits in code */ - int code; /* len bits being decoded */ - int first; /* first code of length len */ - int count; /* number of codes of length len */ - int index; /* index of first code of length len in symbol table */ - int bitbuf; /* bits from stream */ - int left; /* bits left in next or left to process */ - short *next; /* next number of codes */ - - bitbuf = s->bitbuf; - left = s->bitcnt; - code = first = index = 0; - len = 1; - next = h->count + 1; - while (1) { - while (left--) { - code |= bitbuf & 1; - bitbuf >>= 1; - count = *next++; - if (code - count < first) { /* if length len, return symbol */ - s->bitbuf = bitbuf; - s->bitcnt = (s->bitcnt - len) & 7; - return h->symbol[index + (code - first)]; - } - index += count; /* else update for next length */ - first += count; - first <<= 1; - code <<= 1; - len++; - } - left = (MAXBITS+1) - len; - if (left == 0) - break; - if (s->incnt == s->inlen) - longjmp(s->env, 1); /* out of input */ - bitbuf = s->in[s->incnt++]; - if (left > 8) - left = 8; - } - return -10; /* ran out of codes */ -} -#endif /* SLOW */ - -/* - * Given the list of code lengths length[0..n-1] representing a canonical - * Huffman code for n symbols, construct the tables required to decode those - * codes. Those tables are the number of codes of each length, and the symbols - * sorted by length, retaining their original order within each length. The - * return value is zero for a complete code set, negative for an over- - * subscribed code set, and positive for an incomplete code set. The tables - * can be used if the return value is zero or positive, but they cannot be used - * if the return value is negative. If the return value is zero, it is not - * possible for decode() using that table to return an error--any stream of - * enough bits will resolve to a symbol. If the return value is positive, then - * it is possible for decode() using that table to return an error for received - * codes past the end of the incomplete lengths. - * - * Not used by decode(), but used for error checking, h->count[0] is the number - * of the n symbols not in the code. So n - h->count[0] is the number of - * codes. This is useful for checking for incomplete codes that have more than - * one symbol, which is an error in a dynamic block. - * - * Assumption: for all i in 0..n-1, 0 <= length[i] <= MAXBITS - * This is assured by the construction of the length arrays in dynamic() and - * fixed() and is not verified by construct(). - * - * Format notes: - * - * - Permitted and expected examples of incomplete codes are one of the fixed - * codes and any code with a single symbol which in deflate is coded as one - * bit instead of zero bits. See the format notes for fixed() and dynamic(). - * - * - Within a given code length, the symbols are kept in ascending order for - * the code bits definition. - */ -local int construct(struct huffman *h, const short *length, int n) -{ - int symbol; /* current symbol when stepping through length[] */ - int len; /* current length when stepping through h->count[] */ - int left; /* number of possible codes left of current length */ - short offs[MAXBITS+1]; /* offsets in symbol table for each length */ - - /* count number of codes of each length */ - for (len = 0; len <= MAXBITS; len++) - h->count[len] = 0; - for (symbol = 0; symbol < n; symbol++) - (h->count[length[symbol]])++; /* assumes lengths are within bounds */ - if (h->count[0] == n) /* no codes! */ - return 0; /* complete, but decode() will fail */ - - /* check for an over-subscribed or incomplete set of lengths */ - left = 1; /* one possible code of zero length */ - for (len = 1; len <= MAXBITS; len++) { - left <<= 1; /* one more bit, double codes left */ - left -= h->count[len]; /* deduct count from possible codes */ - if (left < 0) - return left; /* over-subscribed--return negative */ - } /* left > 0 means incomplete */ - - /* generate offsets into symbol table for each length for sorting */ - offs[1] = 0; - for (len = 1; len < MAXBITS; len++) - offs[len + 1] = offs[len] + h->count[len]; - - /* - * put symbols in table sorted by length, by symbol order within each - * length - */ - for (symbol = 0; symbol < n; symbol++) - if (length[symbol] != 0) - h->symbol[offs[length[symbol]]++] = symbol; - - /* return zero for complete set, positive for incomplete set */ - return left; -} - -/* - * Decode literal/length and distance codes until an end-of-block code. - * - * Format notes: - * - * - Compressed data that is after the block type if fixed or after the code - * description if dynamic is a combination of literals and length/distance - * pairs terminated by and end-of-block code. Literals are simply Huffman - * coded bytes. A length/distance pair is a coded length followed by a - * coded distance to represent a string that occurs earlier in the - * uncompressed data that occurs again at the current location. - * - * - Literals, lengths, and the end-of-block code are combined into a single - * code of up to 286 symbols. They are 256 literals (0..255), 29 length - * symbols (257..285), and the end-of-block symbol (256). - * - * - There are 256 possible lengths (3..258), and so 29 symbols are not enough - * to represent all of those. Lengths 3..10 and 258 are in fact represented - * by just a length symbol. Lengths 11..257 are represented as a symbol and - * some number of extra bits that are added as an integer to the base length - * of the length symbol. The number of extra bits is determined by the base - * length symbol. These are in the static arrays below, lens[] for the base - * lengths and lext[] for the corresponding number of extra bits. - * - * - The reason that 258 gets its own symbol is that the longest length is used - * often in highly redundant files. Note that 258 can also be coded as the - * base value 227 plus the maximum extra value of 31. While a good deflate - * should never do this, it is not an error, and should be decoded properly. - * - * - If a length is decoded, including its extra bits if any, then it is - * followed a distance code. There are up to 30 distance symbols. Again - * there are many more possible distances (1..32768), so extra bits are added - * to a base value represented by the symbol. The distances 1..4 get their - * own symbol, but the rest require extra bits. The base distances and - * corresponding number of extra bits are below in the static arrays dist[] - * and dext[]. - * - * - Literal bytes are simply written to the output. A length/distance pair is - * an instruction to copy previously uncompressed bytes to the output. The - * copy is from distance bytes back in the output stream, copying for length - * bytes. - * - * - Distances pointing before the beginning of the output data are not - * permitted. - * - * - Overlapped copies, where the length is greater than the distance, are - * allowed and common. For example, a distance of one and a length of 258 - * simply copies the last byte 258 times. A distance of four and a length of - * twelve copies the last four bytes three times. A simple forward copy - * ignoring whether the length is greater than the distance or not implements - * this correctly. You should not use memcpy() since its behavior is not - * defined for overlapped arrays. You should not use memmove() or bcopy() - * since though their behavior -is- defined for overlapping arrays, it is - * defined to do the wrong thing in this case. - */ -local int codes(struct state *s, - const struct huffman *lencode, - const struct huffman *distcode) -{ - int symbol; /* decoded symbol */ - int len; /* length for copy */ - unsigned dist; /* distance for copy */ - static const short lens[29] = { /* Size base for length codes 257..285 */ - 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, - 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258}; - static const short lext[29] = { /* Extra bits for length codes 257..285 */ - 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, - 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0}; - static const short dists[30] = { /* Offset base for distance codes 0..29 */ - 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, - 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, - 8193, 12289, 16385, 24577}; - static const short dext[30] = { /* Extra bits for distance codes 0..29 */ - 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, - 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, - 12, 12, 13, 13}; - - /* decode literals and length/distance pairs */ - do { - symbol = decode(s, lencode); - if (symbol < 0) - return symbol; /* invalid symbol */ - if (symbol < 256) { /* literal: symbol is the byte */ - /* write out the literal */ - if (s->out != NIL) { - if (s->outcnt == s->outlen) - return 1; - s->out[s->outcnt] = symbol; - } - s->outcnt++; - } - else if (symbol > 256) { /* length */ - /* get and compute length */ - symbol -= 257; - if (symbol >= 29) - return -10; /* invalid fixed code */ - len = lens[symbol] + bits(s, lext[symbol]); - - /* get and check distance */ - symbol = decode(s, distcode); - if (symbol < 0) - return symbol; /* invalid symbol */ - dist = dists[symbol] + bits(s, dext[symbol]); -#ifndef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR - if (dist > s->outcnt) - return -11; /* distance too far back */ -#endif - - /* copy length bytes from distance bytes back */ - if (s->out != NIL) { - if (s->outcnt + len > s->outlen) - return 1; - while (len--) { - s->out[s->outcnt] = -#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR - dist > s->outcnt ? - 0 : -#endif - s->out[s->outcnt - dist]; - s->outcnt++; - } - } - else - s->outcnt += len; - } - } while (symbol != 256); /* end of block symbol */ - - /* done with a valid fixed or dynamic block */ - return 0; -} - -/* - * Process a fixed codes block. - * - * Format notes: - * - * - This block type can be useful for compressing small amounts of data for - * which the size of the code descriptions in a dynamic block exceeds the - * benefit of custom codes for that block. For fixed codes, no bits are - * spent on code descriptions. Instead the code lengths for literal/length - * codes and distance codes are fixed. The specific lengths for each symbol - * can be seen in the "for" loops below. - * - * - The literal/length code is complete, but has two symbols that are invalid - * and should result in an error if received. This cannot be implemented - * simply as an incomplete code since those two symbols are in the "middle" - * of the code. They are eight bits long and the longest literal/length\ - * code is nine bits. Therefore the code must be constructed with those - * symbols, and the invalid symbols must be detected after decoding. - * - * - The fixed distance codes also have two invalid symbols that should result - * in an error if received. Since all of the distance codes are the same - * length, this can be implemented as an incomplete code. Then the invalid - * codes are detected while decoding. - */ -local int fixed(struct state *s) -{ - static int virgin = 1; - static short lencnt[MAXBITS+1], lensym[FIXLCODES]; - static short distcnt[MAXBITS+1], distsym[MAXDCODES]; - static struct huffman lencode, distcode; - - /* build fixed huffman tables if first call (may not be thread safe) */ - if (virgin) { - int symbol; - short lengths[FIXLCODES]; - - /* construct lencode and distcode */ - lencode.count = lencnt; - lencode.symbol = lensym; - distcode.count = distcnt; - distcode.symbol = distsym; - - /* literal/length table */ - for (symbol = 0; symbol < 144; symbol++) - lengths[symbol] = 8; - for (; symbol < 256; symbol++) - lengths[symbol] = 9; - for (; symbol < 280; symbol++) - lengths[symbol] = 7; - for (; symbol < FIXLCODES; symbol++) - lengths[symbol] = 8; - construct(&lencode, lengths, FIXLCODES); - - /* distance table */ - for (symbol = 0; symbol < MAXDCODES; symbol++) - lengths[symbol] = 5; - construct(&distcode, lengths, MAXDCODES); - - /* do this just once */ - virgin = 0; - } - - /* decode data until end-of-block code */ - return codes(s, &lencode, &distcode); -} - -/* - * Process a dynamic codes block. - * - * Format notes: - * - * - A dynamic block starts with a description of the literal/length and - * distance codes for that block. New dynamic blocks allow the compressor to - * rapidly adapt to changing data with new codes optimized for that data. - * - * - The codes used by the deflate format are "canonical", which means that - * the actual bits of the codes are generated in an unambiguous way simply - * from the number of bits in each code. Therefore the code descriptions - * are simply a list of code lengths for each symbol. - * - * - The code lengths are stored in order for the symbols, so lengths are - * provided for each of the literal/length symbols, and for each of the - * distance symbols. - * - * - If a symbol is not used in the block, this is represented by a zero as - * as the code length. This does not mean a zero-length code, but rather - * that no code should be created for this symbol. There is no way in the - * deflate format to represent a zero-length code. - * - * - The maximum number of bits in a code is 15, so the possible lengths for - * any code are 1..15. - * - * - The fact that a length of zero is not permitted for a code has an - * interesting consequence. Normally if only one symbol is used for a given - * code, then in fact that code could be represented with zero bits. However - * in deflate, that code has to be at least one bit. So for example, if - * only a single distance base symbol appears in a block, then it will be - * represented by a single code of length one, in particular one 0 bit. This - * is an incomplete code, since if a 1 bit is received, it has no meaning, - * and should result in an error. So incomplete distance codes of one symbol - * should be permitted, and the receipt of invalid codes should be handled. - * - * - It is also possible to have a single literal/length code, but that code - * must be the end-of-block code, since every dynamic block has one. This - * is not the most efficient way to create an empty block (an empty fixed - * block is fewer bits), but it is allowed by the format. So incomplete - * literal/length codes of one symbol should also be permitted. - * - * - If there are only literal codes and no lengths, then there are no distance - * codes. This is represented by one distance code with zero bits. - * - * - The list of up to 286 length/literal lengths and up to 30 distance lengths - * are themselves compressed using Huffman codes and run-length encoding. In - * the list of code lengths, a 0 symbol means no code, a 1..15 symbol means - * that length, and the symbols 16, 17, and 18 are run-length instructions. - * Each of 16, 17, and 18 are follwed by extra bits to define the length of - * the run. 16 copies the last length 3 to 6 times. 17 represents 3 to 10 - * zero lengths, and 18 represents 11 to 138 zero lengths. Unused symbols - * are common, hence the special coding for zero lengths. - * - * - The symbols for 0..18 are Huffman coded, and so that code must be - * described first. This is simply a sequence of up to 19 three-bit values - * representing no code (0) or the code length for that symbol (1..7). - * - * - A dynamic block starts with three fixed-size counts from which is computed - * the number of literal/length code lengths, the number of distance code - * lengths, and the number of code length code lengths (ok, you come up with - * a better name!) in the code descriptions. For the literal/length and - * distance codes, lengths after those provided are considered zero, i.e. no - * code. The code length code lengths are received in a permuted order (see - * the order[] array below) to make a short code length code length list more - * likely. As it turns out, very short and very long codes are less likely - * to be seen in a dynamic code description, hence what may appear initially - * to be a peculiar ordering. - * - * - Given the number of literal/length code lengths (nlen) and distance code - * lengths (ndist), then they are treated as one long list of nlen + ndist - * code lengths. Therefore run-length coding can and often does cross the - * boundary between the two sets of lengths. - * - * - So to summarize, the code description at the start of a dynamic block is - * three counts for the number of code lengths for the literal/length codes, - * the distance codes, and the code length codes. This is followed by the - * code length code lengths, three bits each. This is used to construct the - * code length code which is used to read the remainder of the lengths. Then - * the literal/length code lengths and distance lengths are read as a single - * set of lengths using the code length codes. Codes are constructed from - * the resulting two sets of lengths, and then finally you can start - * decoding actual compressed data in the block. - * - * - For reference, a "typical" size for the code description in a dynamic - * block is around 80 bytes. - */ -local int dynamic(struct state *s) -{ - int nlen, ndist, ncode; /* number of lengths in descriptor */ - int index; /* index of lengths[] */ - int err; /* construct() return value */ - short lengths[MAXCODES]; /* descriptor code lengths */ - short lencnt[MAXBITS+1], lensym[MAXLCODES]; /* lencode memory */ - short distcnt[MAXBITS+1], distsym[MAXDCODES]; /* distcode memory */ - struct huffman lencode, distcode; /* length and distance codes */ - static const short order[19] = /* permutation of code length codes */ - {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15}; - - /* construct lencode and distcode */ - lencode.count = lencnt; - lencode.symbol = lensym; - distcode.count = distcnt; - distcode.symbol = distsym; - - /* get number of lengths in each table, check lengths */ - nlen = bits(s, 5) + 257; - ndist = bits(s, 5) + 1; - ncode = bits(s, 4) + 4; - if (nlen > MAXLCODES || ndist > MAXDCODES) - return -3; /* bad counts */ - - /* read code length code lengths (really), missing lengths are zero */ - for (index = 0; index < ncode; index++) - lengths[order[index]] = bits(s, 3); - for (; index < 19; index++) - lengths[order[index]] = 0; - - /* build huffman table for code lengths codes (use lencode temporarily) */ - err = construct(&lencode, lengths, 19); - if (err != 0) /* require complete code set here */ - return -4; - - /* read length/literal and distance code length tables */ - index = 0; - while (index < nlen + ndist) { - int symbol; /* decoded value */ - int len; /* last length to repeat */ - - symbol = decode(s, &lencode); - if (symbol < 16) /* length in 0..15 */ - lengths[index++] = symbol; - else { /* repeat instruction */ - len = 0; /* assume repeating zeros */ - if (symbol == 16) { /* repeat last length 3..6 times */ - if (index == 0) - return -5; /* no last length! */ - len = lengths[index - 1]; /* last length */ - symbol = 3 + bits(s, 2); - } - else if (symbol == 17) /* repeat zero 3..10 times */ - symbol = 3 + bits(s, 3); - else /* == 18, repeat zero 11..138 times */ - symbol = 11 + bits(s, 7); - if (index + symbol > nlen + ndist) - return -6; /* too many lengths! */ - while (symbol--) /* repeat last or zero symbol times */ - lengths[index++] = len; - } - } - - /* check for end-of-block code -- there better be one! */ - if (lengths[256] == 0) - return -9; - - /* build huffman table for literal/length codes */ - err = construct(&lencode, lengths, nlen); - if (err && (err < 0 || nlen != lencode.count[0] + lencode.count[1])) - return -7; /* incomplete code ok only for single length 1 code */ - - /* build huffman table for distance codes */ - err = construct(&distcode, lengths + nlen, ndist); - if (err && (err < 0 || ndist != distcode.count[0] + distcode.count[1])) - return -8; /* incomplete code ok only for single length 1 code */ - - /* decode data until end-of-block code */ - return codes(s, &lencode, &distcode); -} - -/* - * Inflate source to dest. On return, destlen and sourcelen are updated to the - * size of the uncompressed data and the size of the deflate data respectively. - * On success, the return value of puff() is zero. If there is an error in the - * source data, i.e. it is not in the deflate format, then a negative value is - * returned. If there is not enough input available or there is not enough - * output space, then a positive error is returned. In that case, destlen and - * sourcelen are not updated to facilitate retrying from the beginning with the - * provision of more input data or more output space. In the case of invalid - * inflate data (a negative error), the dest and source pointers are updated to - * facilitate the debugging of deflators. - * - * puff() also has a mode to determine the size of the uncompressed output with - * no output written. For this dest must be (unsigned char *)0. In this case, - * the input value of *destlen is ignored, and on return *destlen is set to the - * size of the uncompressed output. - * - * The return codes are: - * - * 2: available inflate data did not terminate - * 1: output space exhausted before completing inflate - * 0: successful inflate - * -1: invalid block type (type == 3) - * -2: stored block length did not match one's complement - * -3: dynamic block code description: too many length or distance codes - * -4: dynamic block code description: code lengths codes incomplete - * -5: dynamic block code description: repeat lengths with no first length - * -6: dynamic block code description: repeat more than specified lengths - * -7: dynamic block code description: invalid literal/length code lengths - * -8: dynamic block code description: invalid distance code lengths - * -9: dynamic block code description: missing end-of-block code - * -10: invalid literal/length or distance code in fixed or dynamic block - * -11: distance is too far back in fixed or dynamic block - * - * Format notes: - * - * - Three bits are read for each block to determine the kind of block and - * whether or not it is the last block. Then the block is decoded and the - * process repeated if it was not the last block. - * - * - The leftover bits in the last byte of the deflate data after the last - * block (if it was a fixed or dynamic block) are undefined and have no - * expected values to check. - */ -int puff(unsigned char *dest, /* pointer to destination pointer */ - unsigned long *destlen, /* amount of output space */ - const unsigned char *source, /* pointer to source data pointer */ - unsigned long *sourcelen) /* amount of input available */ -{ - struct state s; /* input/output state */ - int last, type; /* block information */ - int err; /* return value */ - - /* initialize output state */ - s.out = dest; - s.outlen = *destlen; /* ignored if dest is NIL */ - s.outcnt = 0; - - /* initialize input state */ - s.in = source; - s.inlen = *sourcelen; - s.incnt = 0; - s.bitbuf = 0; - s.bitcnt = 0; - - /* return if bits() or decode() tries to read past available input */ - if (setjmp(s.env) != 0) /* if came back here via longjmp() */ - err = 2; /* then skip do-loop, return error */ - else { - /* process blocks until last block or error */ - do { - last = bits(&s, 1); /* one if last block */ - type = bits(&s, 2); /* block type 0..3 */ - err = type == 0 ? - stored(&s) : - (type == 1 ? - fixed(&s) : - (type == 2 ? - dynamic(&s) : - -1)); /* type == 3, invalid */ - if (err != 0) - break; /* return with error */ - } while (!last); - } - - /* update the lengths and return */ - if (err <= 0) { - *destlen = s.outcnt; - *sourcelen = s.incnt; - } - return err; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/puff/puff.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/puff/puff.h deleted file mode 100644 index 6a0080ae..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/puff/puff.h +++ /dev/null @@ -1,35 +0,0 @@ -/* puff.h - Copyright (C) 2002-2010 Mark Adler, all rights reserved - version 2.2, 25 Apr 2010 - - This software is provided 'as-is', without any express or implied - warranty. In no event will the author be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Mark Adler madler@alumni.caltech.edu - */ - - -/* - * See puff.c for purpose and usage. - */ -#ifndef NIL -# define NIL ((unsigned char *)0) /* for no output option */ -#endif - -int puff(unsigned char *dest, /* pointer to destination pointer */ - unsigned long *destlen, /* amount of output space */ - const unsigned char *source, /* pointer to source data pointer */ - unsigned long *sourcelen); /* amount of input available */ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/puff/pufftest.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/puff/pufftest.c deleted file mode 100644 index 76e35f66..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/puff/pufftest.c +++ /dev/null @@ -1,165 +0,0 @@ -/* - * pufftest.c - * Copyright (C) 2002-2010 Mark Adler - * For conditions of distribution and use, see copyright notice in puff.h - * version 2.2, 25 Apr 2010 - */ - -/* Example of how to use puff(). - - Usage: puff [-w] [-f] [-nnn] file - ... | puff [-w] [-f] [-nnn] - - where file is the input file with deflate data, nnn is the number of bytes - of input to skip before inflating (e.g. to skip a zlib or gzip header), and - -w is used to write the decompressed data to stdout. -f is for coverage - testing, and causes pufftest to fail with not enough output space (-f does - a write like -w, so -w is not required). */ - -#include -#include -#include "puff.h" - -#if defined(MSDOS) || defined(OS2) || defined(WIN32) || defined(__CYGWIN__) -# include -# include -# define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY) -#else -# define SET_BINARY_MODE(file) -#endif - -#define local static - -/* Return size times approximately the cube root of 2, keeping the result as 1, - 3, or 5 times a power of 2 -- the result is always > size, until the result - is the maximum value of an unsigned long, where it remains. This is useful - to keep reallocations less than ~33% over the actual data. */ -local size_t bythirds(size_t size) -{ - int n; - size_t m; - - m = size; - for (n = 0; m; n++) - m >>= 1; - if (n < 3) - return size + 1; - n -= 3; - m = size >> n; - m += m == 6 ? 2 : 1; - m <<= n; - return m > size ? m : (size_t)(-1); -} - -/* Read the input file *name, or stdin if name is NULL, into allocated memory. - Reallocate to larger buffers until the entire file is read in. Return a - pointer to the allocated data, or NULL if there was a memory allocation - failure. *len is the number of bytes of data read from the input file (even - if load() returns NULL). If the input file was empty or could not be opened - or read, *len is zero. */ -local void *load(const char *name, size_t *len) -{ - size_t size; - void *buf, *swap; - FILE *in; - - *len = 0; - buf = malloc(size = 4096); - if (buf == NULL) - return NULL; - in = name == NULL ? stdin : fopen(name, "rb"); - if (in != NULL) { - for (;;) { - *len += fread((char *)buf + *len, 1, size - *len, in); - if (*len < size) break; - size = bythirds(size); - if (size == *len || (swap = realloc(buf, size)) == NULL) { - free(buf); - buf = NULL; - break; - } - buf = swap; - } - fclose(in); - } - return buf; -} - -int main(int argc, char **argv) -{ - int ret, put = 0, fail = 0; - unsigned skip = 0; - char *arg, *name = NULL; - unsigned char *source = NULL, *dest; - size_t len = 0; - unsigned long sourcelen, destlen; - - /* process arguments */ - while (arg = *++argv, --argc) - if (arg[0] == '-') { - if (arg[1] == 'w' && arg[2] == 0) - put = 1; - else if (arg[1] == 'f' && arg[2] == 0) - fail = 1, put = 1; - else if (arg[1] >= '0' && arg[1] <= '9') - skip = (unsigned)atoi(arg + 1); - else { - fprintf(stderr, "invalid option %s\n", arg); - return 3; - } - } - else if (name != NULL) { - fprintf(stderr, "only one file name allowed\n"); - return 3; - } - else - name = arg; - source = load(name, &len); - if (source == NULL) { - fprintf(stderr, "memory allocation failure\n"); - return 4; - } - if (len == 0) { - fprintf(stderr, "could not read %s, or it was empty\n", - name == NULL ? "" : name); - free(source); - return 3; - } - if (skip >= len) { - fprintf(stderr, "skip request of %d leaves no input\n", skip); - free(source); - return 3; - } - - /* test inflate data with offset skip */ - len -= skip; - sourcelen = (unsigned long)len; - ret = puff(NIL, &destlen, source + skip, &sourcelen); - if (ret) - fprintf(stderr, "puff() failed with return code %d\n", ret); - else { - fprintf(stderr, "puff() succeeded uncompressing %lu bytes\n", destlen); - if (sourcelen < len) fprintf(stderr, "%lu compressed bytes unused\n", - len - sourcelen); - } - - /* if requested, inflate again and write decompressd data to stdout */ - if (put && ret == 0) { - if (fail) - destlen >>= 1; - dest = malloc(destlen); - if (dest == NULL) { - fprintf(stderr, "memory allocation failure\n"); - free(source); - return 4; - } - puff(dest, &destlen, source + skip, &sourcelen); - SET_BINARY_MODE(stdout); - fwrite(dest, 1, destlen, stdout); - free(dest); - } - - /* clean up */ - free(source); - return ret; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/puff/zeros.raw b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/puff/zeros.raw deleted file mode 100644 index 0a90e76b..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/puff/zeros.raw and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/testzlib/testzlib.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/testzlib/testzlib.c deleted file mode 100644 index 135888eb..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/testzlib/testzlib.c +++ /dev/null @@ -1,275 +0,0 @@ -#include -#include -#include - -#include "zlib.h" - - -void MyDoMinus64(LARGE_INTEGER *R,LARGE_INTEGER A,LARGE_INTEGER B) -{ - R->HighPart = A.HighPart - B.HighPart; - if (A.LowPart >= B.LowPart) - R->LowPart = A.LowPart - B.LowPart; - else - { - R->LowPart = A.LowPart - B.LowPart; - R->HighPart --; - } -} - -#ifdef _M_X64 -// see http://msdn2.microsoft.com/library/twchhe95(en-us,vs.80).aspx for __rdtsc -unsigned __int64 __rdtsc(void); -void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64) -{ - // printf("rdtsc = %I64x\n",__rdtsc()); - pbeginTime64->QuadPart=__rdtsc(); -} - -LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf) -{ - LARGE_INTEGER LIres; - unsigned _int64 res=__rdtsc()-((unsigned _int64)(beginTime64.QuadPart)); - LIres.QuadPart=res; - // printf("rdtsc = %I64x\n",__rdtsc()); - return LIres; -} -#else -#ifdef _M_IX86 -void myGetRDTSC32(LARGE_INTEGER * pbeginTime64) -{ - DWORD dwEdx,dwEax; - _asm - { - rdtsc - mov dwEax,eax - mov dwEdx,edx - } - pbeginTime64->LowPart=dwEax; - pbeginTime64->HighPart=dwEdx; -} - -void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64) -{ - myGetRDTSC32(pbeginTime64); -} - -LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf) -{ - LARGE_INTEGER LIres,endTime64; - myGetRDTSC32(&endTime64); - - LIres.LowPart=LIres.HighPart=0; - MyDoMinus64(&LIres,endTime64,beginTime64); - return LIres; -} -#else -void myGetRDTSC32(LARGE_INTEGER * pbeginTime64) -{ -} - -void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64) -{ -} - -LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf) -{ - LARGE_INTEGER lr; - lr.QuadPart=0; - return lr; -} -#endif -#endif - -void BeginCountPerfCounter(LARGE_INTEGER * pbeginTime64,BOOL fComputeTimeQueryPerf) -{ - if ((!fComputeTimeQueryPerf) || (!QueryPerformanceCounter(pbeginTime64))) - { - pbeginTime64->LowPart = GetTickCount(); - pbeginTime64->HighPart = 0; - } -} - -DWORD GetMsecSincePerfCounter(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf) -{ - LARGE_INTEGER endTime64,ticksPerSecond,ticks; - DWORDLONG ticksShifted,tickSecShifted; - DWORD dwLog=16+0; - DWORD dwRet; - if ((!fComputeTimeQueryPerf) || (!QueryPerformanceCounter(&endTime64))) - dwRet = (GetTickCount() - beginTime64.LowPart)*1; - else - { - MyDoMinus64(&ticks,endTime64,beginTime64); - QueryPerformanceFrequency(&ticksPerSecond); - - - { - ticksShifted = Int64ShrlMod32(*(DWORDLONG*)&ticks,dwLog); - tickSecShifted = Int64ShrlMod32(*(DWORDLONG*)&ticksPerSecond,dwLog); - - } - - dwRet = (DWORD)((((DWORD)ticksShifted)*1000)/(DWORD)(tickSecShifted)); - dwRet *=1; - } - return dwRet; -} - -int ReadFileMemory(const char* filename,long* plFileSize,void** pFilePtr) -{ - FILE* stream; - void* ptr; - int retVal=1; - stream=fopen(filename, "rb"); - if (stream==NULL) - return 0; - - fseek(stream,0,SEEK_END); - - *plFileSize=ftell(stream); - fseek(stream,0,SEEK_SET); - ptr=malloc((*plFileSize)+1); - if (ptr==NULL) - retVal=0; - else - { - if (fread(ptr, 1, *plFileSize,stream) != (*plFileSize)) - retVal=0; - } - fclose(stream); - *pFilePtr=ptr; - return retVal; -} - -int main(int argc, char *argv[]) -{ - int BlockSizeCompress=0x8000; - int BlockSizeUncompress=0x8000; - int cprLevel=Z_DEFAULT_COMPRESSION ; - long lFileSize; - unsigned char* FilePtr; - long lBufferSizeCpr; - long lBufferSizeUncpr; - long lCompressedSize=0; - unsigned char* CprPtr; - unsigned char* UncprPtr; - long lSizeCpr,lSizeUncpr; - DWORD dwGetTick,dwMsecQP; - LARGE_INTEGER li_qp,li_rdtsc,dwResRdtsc; - - if (argc<=1) - { - printf("run TestZlib [BlockSizeCompress] [BlockSizeUncompress] [compres. level]\n"); - return 0; - } - - if (ReadFileMemory(argv[1],&lFileSize,&FilePtr)==0) - { - printf("error reading %s\n",argv[1]); - return 1; - } - else printf("file %s read, %u bytes\n",argv[1],lFileSize); - - if (argc>=3) - BlockSizeCompress=atol(argv[2]); - - if (argc>=4) - BlockSizeUncompress=atol(argv[3]); - - if (argc>=5) - cprLevel=(int)atol(argv[4]); - - lBufferSizeCpr = lFileSize + (lFileSize/0x10) + 0x200; - lBufferSizeUncpr = lBufferSizeCpr; - - CprPtr=(unsigned char*)malloc(lBufferSizeCpr + BlockSizeCompress); - - BeginCountPerfCounter(&li_qp,TRUE); - dwGetTick=GetTickCount(); - BeginCountRdtsc(&li_rdtsc); - { - z_stream zcpr; - int ret=Z_OK; - long lOrigToDo = lFileSize; - long lOrigDone = 0; - int step=0; - memset(&zcpr,0,sizeof(z_stream)); - deflateInit(&zcpr,cprLevel); - - zcpr.next_in = FilePtr; - zcpr.next_out = CprPtr; - - - do - { - long all_read_before = zcpr.total_in; - zcpr.avail_in = min(lOrigToDo,BlockSizeCompress); - zcpr.avail_out = BlockSizeCompress; - ret=deflate(&zcpr,(zcpr.avail_in==lOrigToDo) ? Z_FINISH : Z_SYNC_FLUSH); - lOrigDone += (zcpr.total_in-all_read_before); - lOrigToDo -= (zcpr.total_in-all_read_before); - step++; - } while (ret==Z_OK); - - lSizeCpr=zcpr.total_out; - deflateEnd(&zcpr); - dwGetTick=GetTickCount()-dwGetTick; - dwMsecQP=GetMsecSincePerfCounter(li_qp,TRUE); - dwResRdtsc=GetResRdtsc(li_rdtsc,TRUE); - printf("total compress size = %u, in %u step\n",lSizeCpr,step); - printf("time = %u msec = %f sec\n",dwGetTick,dwGetTick/(double)1000.); - printf("defcpr time QP = %u msec = %f sec\n",dwMsecQP,dwMsecQP/(double)1000.); - printf("defcpr result rdtsc = %I64x\n\n",dwResRdtsc.QuadPart); - } - - CprPtr=(unsigned char*)realloc(CprPtr,lSizeCpr); - UncprPtr=(unsigned char*)malloc(lBufferSizeUncpr + BlockSizeUncompress); - - BeginCountPerfCounter(&li_qp,TRUE); - dwGetTick=GetTickCount(); - BeginCountRdtsc(&li_rdtsc); - { - z_stream zcpr; - int ret=Z_OK; - long lOrigToDo = lSizeCpr; - long lOrigDone = 0; - int step=0; - memset(&zcpr,0,sizeof(z_stream)); - inflateInit(&zcpr); - - zcpr.next_in = CprPtr; - zcpr.next_out = UncprPtr; - - - do - { - long all_read_before = zcpr.total_in; - zcpr.avail_in = min(lOrigToDo,BlockSizeUncompress); - zcpr.avail_out = BlockSizeUncompress; - ret=inflate(&zcpr,Z_SYNC_FLUSH); - lOrigDone += (zcpr.total_in-all_read_before); - lOrigToDo -= (zcpr.total_in-all_read_before); - step++; - } while (ret==Z_OK); - - lSizeUncpr=zcpr.total_out; - inflateEnd(&zcpr); - dwGetTick=GetTickCount()-dwGetTick; - dwMsecQP=GetMsecSincePerfCounter(li_qp,TRUE); - dwResRdtsc=GetResRdtsc(li_rdtsc,TRUE); - printf("total uncompress size = %u, in %u step\n",lSizeUncpr,step); - printf("time = %u msec = %f sec\n",dwGetTick,dwGetTick/(double)1000.); - printf("uncpr time QP = %u msec = %f sec\n",dwMsecQP,dwMsecQP/(double)1000.); - printf("uncpr result rdtsc = %I64x\n\n",dwResRdtsc.QuadPart); - } - - if (lSizeUncpr==lFileSize) - { - if (memcmp(FilePtr,UncprPtr,lFileSize)==0) - printf("compare ok\n"); - - } - - return 0; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/testzlib/testzlib.txt b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/testzlib/testzlib.txt deleted file mode 100644 index 62258f14..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/testzlib/testzlib.txt +++ /dev/null @@ -1,10 +0,0 @@ -To build testzLib with Visual Studio 2005: - -copy to a directory file from : -- root of zLib tree -- contrib/testzlib -- contrib/masmx86 -- contrib/masmx64 -- contrib/vstudio/vc7 - -and open testzlib8.sln \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/untgz/Makefile b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/untgz/Makefile deleted file mode 100644 index b54266fb..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/untgz/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -CC=cc -CFLAGS=-g - -untgz: untgz.o ../../libz.a - $(CC) $(CFLAGS) -o untgz untgz.o -L../.. -lz - -untgz.o: untgz.c ../../zlib.h - $(CC) $(CFLAGS) -c -I../.. untgz.c - -../../libz.a: - cd ../..; ./configure; make - -clean: - rm -f untgz untgz.o *~ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/untgz/Makefile.msc b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/untgz/Makefile.msc deleted file mode 100644 index 77b86022..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/untgz/Makefile.msc +++ /dev/null @@ -1,17 +0,0 @@ -CC=cl -CFLAGS=-MD - -untgz.exe: untgz.obj ..\..\zlib.lib - $(CC) $(CFLAGS) untgz.obj ..\..\zlib.lib - -untgz.obj: untgz.c ..\..\zlib.h - $(CC) $(CFLAGS) -c -I..\.. untgz.c - -..\..\zlib.lib: - cd ..\.. - $(MAKE) -f win32\makefile.msc - cd contrib\untgz - -clean: - -del untgz.obj - -del untgz.exe diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/untgz/untgz.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/untgz/untgz.c deleted file mode 100644 index 2c391e59..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/untgz/untgz.c +++ /dev/null @@ -1,674 +0,0 @@ -/* - * untgz.c -- Display contents and extract files from a gzip'd TAR file - * - * written by Pedro A. Aranda Gutierrez - * adaptation to Unix by Jean-loup Gailly - * various fixes by Cosmin Truta - */ - -#include -#include -#include -#include -#include - -#include "zlib.h" - -#ifdef unix -# include -#else -# include -# include -#endif - -#ifdef WIN32 -#include -# ifndef F_OK -# define F_OK 0 -# endif -# define mkdir(dirname,mode) _mkdir(dirname) -# ifdef _MSC_VER -# define access(path,mode) _access(path,mode) -# define chmod(path,mode) _chmod(path,mode) -# define strdup(str) _strdup(str) -# endif -#else -# include -#endif - - -/* values used in typeflag field */ - -#define REGTYPE '0' /* regular file */ -#define AREGTYPE '\0' /* regular file */ -#define LNKTYPE '1' /* link */ -#define SYMTYPE '2' /* reserved */ -#define CHRTYPE '3' /* character special */ -#define BLKTYPE '4' /* block special */ -#define DIRTYPE '5' /* directory */ -#define FIFOTYPE '6' /* FIFO special */ -#define CONTTYPE '7' /* reserved */ - -/* GNU tar extensions */ - -#define GNUTYPE_DUMPDIR 'D' /* file names from dumped directory */ -#define GNUTYPE_LONGLINK 'K' /* long link name */ -#define GNUTYPE_LONGNAME 'L' /* long file name */ -#define GNUTYPE_MULTIVOL 'M' /* continuation of file from another volume */ -#define GNUTYPE_NAMES 'N' /* file name that does not fit into main hdr */ -#define GNUTYPE_SPARSE 'S' /* sparse file */ -#define GNUTYPE_VOLHDR 'V' /* tape/volume header */ - - -/* tar header */ - -#define BLOCKSIZE 512 -#define SHORTNAMESIZE 100 - -struct tar_header -{ /* byte offset */ - char name[100]; /* 0 */ - char mode[8]; /* 100 */ - char uid[8]; /* 108 */ - char gid[8]; /* 116 */ - char size[12]; /* 124 */ - char mtime[12]; /* 136 */ - char chksum[8]; /* 148 */ - char typeflag; /* 156 */ - char linkname[100]; /* 157 */ - char magic[6]; /* 257 */ - char version[2]; /* 263 */ - char uname[32]; /* 265 */ - char gname[32]; /* 297 */ - char devmajor[8]; /* 329 */ - char devminor[8]; /* 337 */ - char prefix[155]; /* 345 */ - /* 500 */ -}; - -union tar_buffer -{ - char buffer[BLOCKSIZE]; - struct tar_header header; -}; - -struct attr_item -{ - struct attr_item *next; - char *fname; - int mode; - time_t time; -}; - -enum { TGZ_EXTRACT, TGZ_LIST, TGZ_INVALID }; - -char *TGZfname OF((const char *)); -void TGZnotfound OF((const char *)); - -int getoct OF((char *, int)); -char *strtime OF((time_t *)); -int setfiletime OF((char *, time_t)); -void push_attr OF((struct attr_item **, char *, int, time_t)); -void restore_attr OF((struct attr_item **)); - -int ExprMatch OF((char *, char *)); - -int makedir OF((char *)); -int matchname OF((int, int, char **, char *)); - -void error OF((const char *)); -int tar OF((gzFile, int, int, int, char **)); - -void help OF((int)); -int main OF((int, char **)); - -char *prog; - -const char *TGZsuffix[] = { "\0", ".tar", ".tar.gz", ".taz", ".tgz", NULL }; - -/* return the file name of the TGZ archive */ -/* or NULL if it does not exist */ - -char *TGZfname (const char *arcname) -{ - static char buffer[1024]; - int origlen,i; - - strcpy(buffer,arcname); - origlen = strlen(buffer); - - for (i=0; TGZsuffix[i]; i++) - { - strcpy(buffer+origlen,TGZsuffix[i]); - if (access(buffer,F_OK) == 0) - return buffer; - } - return NULL; -} - - -/* error message for the filename */ - -void TGZnotfound (const char *arcname) -{ - int i; - - fprintf(stderr,"%s: Couldn't find ",prog); - for (i=0;TGZsuffix[i];i++) - fprintf(stderr,(TGZsuffix[i+1]) ? "%s%s, " : "or %s%s\n", - arcname, - TGZsuffix[i]); - exit(1); -} - - -/* convert octal digits to int */ -/* on error return -1 */ - -int getoct (char *p,int width) -{ - int result = 0; - char c; - - while (width--) - { - c = *p++; - if (c == 0) - break; - if (c == ' ') - continue; - if (c < '0' || c > '7') - return -1; - result = result * 8 + (c - '0'); - } - return result; -} - - -/* convert time_t to string */ -/* use the "YYYY/MM/DD hh:mm:ss" format */ - -char *strtime (time_t *t) -{ - struct tm *local; - static char result[32]; - - local = localtime(t); - sprintf(result,"%4d/%02d/%02d %02d:%02d:%02d", - local->tm_year+1900, local->tm_mon+1, local->tm_mday, - local->tm_hour, local->tm_min, local->tm_sec); - return result; -} - - -/* set file time */ - -int setfiletime (char *fname,time_t ftime) -{ -#ifdef WIN32 - static int isWinNT = -1; - SYSTEMTIME st; - FILETIME locft, modft; - struct tm *loctm; - HANDLE hFile; - int result; - - loctm = localtime(&ftime); - if (loctm == NULL) - return -1; - - st.wYear = (WORD)loctm->tm_year + 1900; - st.wMonth = (WORD)loctm->tm_mon + 1; - st.wDayOfWeek = (WORD)loctm->tm_wday; - st.wDay = (WORD)loctm->tm_mday; - st.wHour = (WORD)loctm->tm_hour; - st.wMinute = (WORD)loctm->tm_min; - st.wSecond = (WORD)loctm->tm_sec; - st.wMilliseconds = 0; - if (!SystemTimeToFileTime(&st, &locft) || - !LocalFileTimeToFileTime(&locft, &modft)) - return -1; - - if (isWinNT < 0) - isWinNT = (GetVersion() < 0x80000000) ? 1 : 0; - hFile = CreateFile(fname, GENERIC_WRITE, 0, NULL, OPEN_EXISTING, - (isWinNT ? FILE_FLAG_BACKUP_SEMANTICS : 0), - NULL); - if (hFile == INVALID_HANDLE_VALUE) - return -1; - result = SetFileTime(hFile, NULL, NULL, &modft) ? 0 : -1; - CloseHandle(hFile); - return result; -#else - struct utimbuf settime; - - settime.actime = settime.modtime = ftime; - return utime(fname,&settime); -#endif -} - - -/* push file attributes */ - -void push_attr(struct attr_item **list,char *fname,int mode,time_t time) -{ - struct attr_item *item; - - item = (struct attr_item *)malloc(sizeof(struct attr_item)); - if (item == NULL) - error("Out of memory"); - item->fname = strdup(fname); - item->mode = mode; - item->time = time; - item->next = *list; - *list = item; -} - - -/* restore file attributes */ - -void restore_attr(struct attr_item **list) -{ - struct attr_item *item, *prev; - - for (item = *list; item != NULL; ) - { - setfiletime(item->fname,item->time); - chmod(item->fname,item->mode); - prev = item; - item = item->next; - free(prev); - } - *list = NULL; -} - - -/* match regular expression */ - -#define ISSPECIAL(c) (((c) == '*') || ((c) == '/')) - -int ExprMatch (char *string,char *expr) -{ - while (1) - { - if (ISSPECIAL(*expr)) - { - if (*expr == '/') - { - if (*string != '\\' && *string != '/') - return 0; - string ++; expr++; - } - else if (*expr == '*') - { - if (*expr ++ == 0) - return 1; - while (*++string != *expr) - if (*string == 0) - return 0; - } - } - else - { - if (*string != *expr) - return 0; - if (*expr++ == 0) - return 1; - string++; - } - } -} - - -/* recursive mkdir */ -/* abort on ENOENT; ignore other errors like "directory already exists" */ -/* return 1 if OK */ -/* 0 on error */ - -int makedir (char *newdir) -{ - char *buffer = strdup(newdir); - char *p; - int len = strlen(buffer); - - if (len <= 0) { - free(buffer); - return 0; - } - if (buffer[len-1] == '/') { - buffer[len-1] = '\0'; - } - if (mkdir(buffer, 0755) == 0) - { - free(buffer); - return 1; - } - - p = buffer+1; - while (1) - { - char hold; - - while(*p && *p != '\\' && *p != '/') - p++; - hold = *p; - *p = 0; - if ((mkdir(buffer, 0755) == -1) && (errno == ENOENT)) - { - fprintf(stderr,"%s: Couldn't create directory %s\n",prog,buffer); - free(buffer); - return 0; - } - if (hold == 0) - break; - *p++ = hold; - } - free(buffer); - return 1; -} - - -int matchname (int arg,int argc,char **argv,char *fname) -{ - if (arg == argc) /* no arguments given (untgz tgzarchive) */ - return 1; - - while (arg < argc) - if (ExprMatch(fname,argv[arg++])) - return 1; - - return 0; /* ignore this for the moment being */ -} - - -/* tar file list or extract */ - -int tar (gzFile in,int action,int arg,int argc,char **argv) -{ - union tar_buffer buffer; - int len; - int err; - int getheader = 1; - int remaining = 0; - FILE *outfile = NULL; - char fname[BLOCKSIZE]; - int tarmode; - time_t tartime; - struct attr_item *attributes = NULL; - - if (action == TGZ_LIST) - printf(" date time size file\n" - " ---------- -------- --------- -------------------------------------\n"); - while (1) - { - len = gzread(in, &buffer, BLOCKSIZE); - if (len < 0) - error(gzerror(in, &err)); - /* - * Always expect complete blocks to process - * the tar information. - */ - if (len != BLOCKSIZE) - { - action = TGZ_INVALID; /* force error exit */ - remaining = 0; /* force I/O cleanup */ - } - - /* - * If we have to get a tar header - */ - if (getheader >= 1) - { - /* - * if we met the end of the tar - * or the end-of-tar block, - * we are done - */ - if (len == 0 || buffer.header.name[0] == 0) - break; - - tarmode = getoct(buffer.header.mode,8); - tartime = (time_t)getoct(buffer.header.mtime,12); - if (tarmode == -1 || tartime == (time_t)-1) - { - buffer.header.name[0] = 0; - action = TGZ_INVALID; - } - - if (getheader == 1) - { - strncpy(fname,buffer.header.name,SHORTNAMESIZE); - if (fname[SHORTNAMESIZE-1] != 0) - fname[SHORTNAMESIZE] = 0; - } - else - { - /* - * The file name is longer than SHORTNAMESIZE - */ - if (strncmp(fname,buffer.header.name,SHORTNAMESIZE-1) != 0) - error("bad long name"); - getheader = 1; - } - - /* - * Act according to the type flag - */ - switch (buffer.header.typeflag) - { - case DIRTYPE: - if (action == TGZ_LIST) - printf(" %s %s\n",strtime(&tartime),fname); - if (action == TGZ_EXTRACT) - { - makedir(fname); - push_attr(&attributes,fname,tarmode,tartime); - } - break; - case REGTYPE: - case AREGTYPE: - remaining = getoct(buffer.header.size,12); - if (remaining == -1) - { - action = TGZ_INVALID; - break; - } - if (action == TGZ_LIST) - printf(" %s %9d %s\n",strtime(&tartime),remaining,fname); - else if (action == TGZ_EXTRACT) - { - if (matchname(arg,argc,argv,fname)) - { - outfile = fopen(fname,"wb"); - if (outfile == NULL) { - /* try creating directory */ - char *p = strrchr(fname, '/'); - if (p != NULL) { - *p = '\0'; - makedir(fname); - *p = '/'; - outfile = fopen(fname,"wb"); - } - } - if (outfile != NULL) - printf("Extracting %s\n",fname); - else - fprintf(stderr, "%s: Couldn't create %s",prog,fname); - } - else - outfile = NULL; - } - getheader = 0; - break; - case GNUTYPE_LONGLINK: - case GNUTYPE_LONGNAME: - remaining = getoct(buffer.header.size,12); - if (remaining < 0 || remaining >= BLOCKSIZE) - { - action = TGZ_INVALID; - break; - } - len = gzread(in, fname, BLOCKSIZE); - if (len < 0) - error(gzerror(in, &err)); - if (fname[BLOCKSIZE-1] != 0 || (int)strlen(fname) > remaining) - { - action = TGZ_INVALID; - break; - } - getheader = 2; - break; - default: - if (action == TGZ_LIST) - printf(" %s <---> %s\n",strtime(&tartime),fname); - break; - } - } - else - { - unsigned int bytes = (remaining > BLOCKSIZE) ? BLOCKSIZE : remaining; - - if (outfile != NULL) - { - if (fwrite(&buffer,sizeof(char),bytes,outfile) != bytes) - { - fprintf(stderr, - "%s: Error writing %s -- skipping\n",prog,fname); - fclose(outfile); - outfile = NULL; - remove(fname); - } - } - remaining -= bytes; - } - - if (remaining == 0) - { - getheader = 1; - if (outfile != NULL) - { - fclose(outfile); - outfile = NULL; - if (action != TGZ_INVALID) - push_attr(&attributes,fname,tarmode,tartime); - } - } - - /* - * Abandon if errors are found - */ - if (action == TGZ_INVALID) - { - error("broken archive"); - break; - } - } - - /* - * Restore file modes and time stamps - */ - restore_attr(&attributes); - - if (gzclose(in) != Z_OK) - error("failed gzclose"); - - return 0; -} - - -/* ============================================================ */ - -void help(int exitval) -{ - printf("untgz version 0.2.1\n" - " using zlib version %s\n\n", - zlibVersion()); - printf("Usage: untgz file.tgz extract all files\n" - " untgz file.tgz fname ... extract selected files\n" - " untgz -l file.tgz list archive contents\n" - " untgz -h display this help\n"); - exit(exitval); -} - -void error(const char *msg) -{ - fprintf(stderr, "%s: %s\n", prog, msg); - exit(1); -} - - -/* ============================================================ */ - -#if defined(WIN32) && defined(__GNUC__) -int _CRT_glob = 0; /* disable argument globbing in MinGW */ -#endif - -int main(int argc,char **argv) -{ - int action = TGZ_EXTRACT; - int arg = 1; - char *TGZfile; - gzFile *f; - - prog = strrchr(argv[0],'\\'); - if (prog == NULL) - { - prog = strrchr(argv[0],'/'); - if (prog == NULL) - { - prog = strrchr(argv[0],':'); - if (prog == NULL) - prog = argv[0]; - else - prog++; - } - else - prog++; - } - else - prog++; - - if (argc == 1) - help(0); - - if (strcmp(argv[arg],"-l") == 0) - { - action = TGZ_LIST; - if (argc == ++arg) - help(0); - } - else if (strcmp(argv[arg],"-h") == 0) - { - help(0); - } - - if ((TGZfile = TGZfname(argv[arg])) == NULL) - TGZnotfound(argv[arg]); - - ++arg; - if ((action == TGZ_LIST) && (arg != argc)) - help(1); - -/* - * Process the TGZ file - */ - switch(action) - { - case TGZ_LIST: - case TGZ_EXTRACT: - f = gzopen(TGZfile,"rb"); - if (f == NULL) - { - fprintf(stderr,"%s: Couldn't gzopen %s\n",prog,TGZfile); - return 1; - } - exit(tar(f, action, arg, argc, argv)); - break; - - default: - error("Unknown option"); - exit(1); - } - - return 0; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/readme.txt b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/readme.txt deleted file mode 100644 index 904888ba..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/readme.txt +++ /dev/null @@ -1,60 +0,0 @@ -Building instructions for the DLL versions of Zlib 1.2.4 -======================================================== - -This directory contains projects that build zlib and minizip using -Microsoft Visual C++ 9.0/10.0, and Visual C++ . - -You don't need to build these projects yourself. You can download the -binaries from: - http://www.winimage.com/zLibDll - -More information can be found at this site. - -first compile assembly code by running -bld_ml64.bat in contrib\masmx64 -bld_ml32.bat in contrib\masmx86 - - - - -Build instructions for Visual Studio 2008 (32 bits or 64 bits) --------------------------------------------------------------- -- Uncompress current zlib, including all contrib/* files -- Open contrib\vstudio\vc9\zlibvc.sln with Microsoft Visual C++ 2008.0 -- Or run: vcbuild /rebuild contrib\vstudio\vc9\zlibvc.sln "Release|Win32" - -Build instructions for Visual Studio 2010 (32 bits or 64 bits) --------------------------------------------------------------- -- Uncompress current zlib, including all contrib/* files -- Open contrib\vstudio\vc10\zlibvc.sln with Microsoft Visual C++ 2010.0 - - -Important ---------- -- To use zlibwapi.dll in your application, you must define the - macro ZLIB_WINAPI when compiling your application's source files. - - -Additional notes ----------------- -- This DLL, named zlibwapi.dll, is compatible to the old zlib.dll built - by Gilles Vollant from the zlib 1.1.x sources, and distributed at - http://www.winimage.com/zLibDll - It uses the WINAPI calling convention for the exported functions, and - includes the minizip functionality. If your application needs that - particular build of zlib.dll, you can rename zlibwapi.dll to zlib.dll. - -- The new DLL was renamed because there exist several incompatible - versions of zlib.dll on the Internet. - -- There is also an official DLL build of zlib, named zlib1.dll. This one - is exporting the functions using the CDECL convention. See the file - win32\DLL_FAQ.txt found in this zlib distribution. - -- There used to be a ZLIB_DLL macro in zlib 1.1.x, but now this symbol - has a slightly different effect. To avoid compatibility problems, do - not define it here. - - -Gilles Vollant -info@winimage.com diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/binaries/win32/FMITest.dll b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/binaries/win32/FMITest.dll deleted file mode 100644 index 34c4c132..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/binaries/win32/FMITest.dll and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/binaries/win32/FMITest.lib b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/binaries/win32/FMITest.lib deleted file mode 100644 index cc21c8a8..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/binaries/win32/FMITest.lib and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/binaries/win32/libexpat-1.dll b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/binaries/win32/libexpat-1.dll deleted file mode 100644 index ead838f9..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/binaries/win32/libexpat-1.dll and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/ipch/miniunz-ae96d03a/miniunz-1ea97ea8.ipch b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/ipch/miniunz-ae96d03a/miniunz-1ea97ea8.ipch deleted file mode 100644 index c1f0eb5e..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/ipch/miniunz-ae96d03a/miniunz-1ea97ea8.ipch and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/ipch/miniunz-ae96d03a/miniunz-4fa944e2.ipch b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/ipch/miniunz-ae96d03a/miniunz-4fa944e2.ipch deleted file mode 100644 index b144d1c4..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/ipch/miniunz-ae96d03a/miniunz-4fa944e2.ipch and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/ipch/zlibstat-fd05f03d/zlibstat-6627d20f.ipch b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/ipch/zlibstat-fd05f03d/zlibstat-6627d20f.ipch deleted file mode 100644 index cc6580d3..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/ipch/zlibstat-fd05f03d/zlibstat-6627d20f.ipch and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/ipch/zlibvc-dcd7951a/zlibvc-eeaab30c.ipch b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/ipch/zlibvc-dcd7951a/zlibvc-eeaab30c.ipch deleted file mode 100644 index 44db3c3f..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/ipch/zlibvc-dcd7951a/zlibvc-eeaab30c.ipch and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/miniunz.vcxproj b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/miniunz.vcxproj deleted file mode 100644 index c34cd847..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/miniunz.vcxproj +++ /dev/null @@ -1,317 +0,0 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {C52F9E7B-498A-42BE-8DB4-85A15694382A} - Win32Proj - - - - DynamicLibrary - MultiByte - - - DynamicLibrary - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - $(SolutionDir)$(Configuration)\ - x86\MiniUnzip$(Configuration)\Tmp\ - true - false - $(SolutionDir)$(Configuration)\ - x86\MiniUnzip$(Configuration)\Tmp\ - false - false - x64\MiniUnzip$(Configuration)\ - x64\MiniUnzip$(Configuration)\Tmp\ - true - false - ia64\MiniUnzip$(Configuration)\ - ia64\MiniUnzip$(Configuration)\Tmp\ - true - false - x64\MiniUnzip$(Configuration)\ - x64\MiniUnzip$(Configuration)\Tmp\ - false - false - ia64\MiniUnzip$(Configuration)\ - ia64\MiniUnzip$(Configuration)\Tmp\ - false - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - $(ProjectDir)..\..\minizip;$(ProjectDir);$(IncludePath) - $(ProjectDir);$(LibraryPath) - $(ProjectDir);$(IncludePath) - - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - EXTRACT_DLL;WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - false - Default - MultiThreadedDebug - false - NotUsing - $(IntDir) - Level3 - EditAndContinue - - - - - - - $(OutDir)zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)$(TargetName)$(TargetExt) - true - $(OutDir)miniunz.pdb - Console - false - - - MachineX86 - $(OutDir)miniunz.lib - true - $(OutDir)miniunz.map - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - EXTRACT_DLL;WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - $(OutDir)zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)$(TargetName)$(TargetExt) - true - Console - true - true - false - - - MachineX86 - - - - - X64 - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - $(OutDir)miniunz.pdb - Console - MachineX64 - - - - - Itanium - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - $(OutDir)miniunz.pdb - Console - MachineIA64 - - - - - X64 - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - Console - true - true - MachineX64 - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - Console - true - true - MachineIA64 - - - - - - - - - - - - \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/miniunz.vcxproj.filters b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/miniunz.vcxproj.filters deleted file mode 100644 index f65bad9c..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/miniunz.vcxproj.filters +++ /dev/null @@ -1,27 +0,0 @@ - - - - - {048af943-022b-4db6-beeb-a54c34774ee2} - cpp;c;cxx;def;odl;idl;hpj;bat;asm - - - {c1d600d2-888f-4aea-b73e-8b0dd9befa0c} - h;hpp;hxx;hm;inl;inc - - - {0844199a-966b-4f19-81db-1e0125e141b9} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe - - - - - Source Files - - - - - Header Files - - - \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/miniunz.vcxproj.user b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/miniunz.vcxproj.user deleted file mode 100644 index 16768a52..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/miniunz.vcxproj.user +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - WindowsLocalDebugger - - \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/minizip.vcxproj b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/minizip.vcxproj deleted file mode 100644 index 917e1565..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/minizip.vcxproj +++ /dev/null @@ -1,307 +0,0 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B} - Win32Proj - - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\MiniZip$(Configuration)\ - x86\MiniZip$(Configuration)\Tmp\ - true - false - x86\MiniZip$(Configuration)\ - x86\MiniZip$(Configuration)\Tmp\ - false - x64\$(Configuration)\ - x64\$(Configuration)\ - true - false - ia64\$(Configuration)\ - ia64\$(Configuration)\ - true - false - x64\$(Configuration)\ - x64\$(Configuration)\ - false - ia64\$(Configuration)\ - ia64\$(Configuration)\ - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebug - false - - - $(IntDir) - Level3 - EditAndContinue - - - x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - $(OutDir)minizip.pdb - Console - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - Console - true - true - false - - - MachineX86 - - - - - X64 - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - $(OutDir)minizip.pdb - Console - MachineX64 - - - - - Itanium - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - $(OutDir)minizip.pdb - Console - MachineIA64 - - - - - X64 - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - Console - true - true - MachineX64 - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - Console - true - true - MachineIA64 - - - - - - - - {8fd826f8-3739-44e6-8cc8-997122e53b8d} - - - - - - \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/minizip.vcxproj.filters b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/minizip.vcxproj.filters deleted file mode 100644 index dd73cd31..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/minizip.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {c0419b40-bf50-40da-b153-ff74215b79de} - cpp;c;cxx;def;odl;idl;hpj;bat;asm - - - {bb87b070-735b-478e-92ce-7383abb2f36c} - h;hpp;hxx;hm;inl;inc - - - {f46ab6a6-548f-43cb-ae96-681abb5bd5db} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe - - - - - Source Files - - - \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/minizip.vcxproj.user b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/minizip.vcxproj.user deleted file mode 100644 index 695b5c78..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/minizip.vcxproj.user +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/modelDescription.xml b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/modelDescription.xml deleted file mode 100644 index 4f29967e..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/modelDescription.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/sources/FMITest.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/sources/FMITest.c deleted file mode 100644 index 7f8b8c03..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/sources/FMITest.c +++ /dev/null @@ -1,361 +0,0 @@ -/* Simulation code for FMITest generated by the OpenModelica Compiler 1.8.1+ (r11690). */ - -#include "openmodelica.h" -#include "openmodelica_func.h" -#include "simulation_data.h" -#include "simulation_runtime.h" -#include "omc_error.h" - -#include -#include - -#include "FMITest_functions.h" - -#include "_FMITest.h" -#include "FMITest_functions.c" -/* dummy VARINFO and FILEINFO */ -const FILE_INFO dummyFILE_INFO = {"",-1,-1,-1,-1,1}; -const VAR_INFO dummyVAR_INFO = {-1,"","",(FILE_INFO){"",-1,-1,-1,-1,1}}; -#ifdef __cplusplus -extern "C" { -#endif -#ifdef _OMC_MEASURE_TIME -int measure_time_flag = 1; -#else -int measure_time_flag = 0; -#endif - -void setupDataStruc(DATA *data) -{ - ASSERT(data,"Error while initialize Data"); - data->modelData.modelName = "FMITest"; - data->modelData.modelFilePrefix = "FMITest"; - data->modelData.modelDir = ""; - data->modelData.modelGUID = "{2aa0bc83-3303-405c-9eaa-75319018664c}"; - - data->modelData.nStates = 1; - data->modelData.nVariablesReal = 2*1+1; - data->modelData.nVariablesInteger = 0; - data->modelData.nVariablesBoolean = 0; - data->modelData.nVariablesString = 0; - data->modelData.nParametersReal = 1; - data->modelData.nParametersInteger = 0; - data->modelData.nParametersBoolean = 0; - data->modelData.nParametersString = 0; - data->modelData.nInputVars = 0; - data->modelData.nOutputVars = 0; - data->modelData.nJacobians = 4; - data->modelData.nHelpVars = 0; - - data->modelData.nAliasReal = 1; - data->modelData.nAliasInteger = 0; - data->modelData.nAliasBoolean = 0; - data->modelData.nAliasString = 0; - - data->modelData.nZeroCrossings = 1; - data->modelData.nSamples = 0; - data->modelData.nInitEquations = 0; - data->modelData.nResiduals = 1; - data->modelData.nExtObjs = 0; - data->modelData.nFunctions = 0; - data->modelData.nEquations = 4; - - data->modelData.nDelayExpressions = 0; - -} - -void setupDataStruc2(DATA *data) -{ - const struct FUNCTION_INFO funcInfo[1] = {{-1,"",omc_dummyFileInfo}}; - memcpy(data->modelData.functionNames, &funcInfo, data->modelData.nFunctions*sizeof(FUNCTION_INFO)); - - const VAR_INFO** equationInfo_cref1 = (const VAR_INFO**)calloc(1,sizeof(VAR_INFO*)); - equationInfo_cref1[0] = &$Pvalve__varInfo; - const VAR_INFO** equationInfo_cref3 = (const VAR_INFO**)calloc(1,sizeof(VAR_INFO*)); - equationInfo_cref3[0] = &$P$DER$Pstock__varInfo; - const struct EQUATION_INFO equationInfo[4] = { - {1003,"SES_ALGORITHM 0", 0, NULL}, - {1004,"SES_SIMPLE_ASSIGN 1",1,equationInfo_cref1}, - {1005,"SES_ALGORITHM 2", 0, NULL}, - {1006,"SES_SIMPLE_ASSIGN 3",1,equationInfo_cref3} - }; - const int n_omc_equationInfo_reverse_prof_index = 0; - const int omc_equationInfo_reverse_prof_index[] = { - - }; - memcpy(data->modelData.equationInfo, &equationInfo, data->modelData.nEquations*sizeof(EQUATION_INFO)); - - data->modelData.nProfileBlocks = n_omc_equationInfo_reverse_prof_index; - data->modelData.equationInfo_reverse_prof_index = (int*) malloc(data->modelData.nProfileBlocks*sizeof(int)); - memcpy(data->modelData.equationInfo_reverse_prof_index, omc_equationInfo_reverse_prof_index, data->modelData.nProfileBlocks*sizeof(int)); -} - -/* Has to be performed after _init.xml file has been read */ -void callExternalObjectConstructors(DATA *data) -{ - state mem_state; - mem_state = get_memory_state(); - /* data->simulationInfo.extObjs = NULL; */ -} - -void callExternalObjectDestructors(DATA *data) -{ - if (data->simulationInfo.extObjs) { - free(data->simulationInfo.extObjs); - data->simulationInfo.extObjs = 0; - } -} - - -int input_function(DATA *data) -{ - return 0; -} - -int output_function(DATA *data) -{ - return 0; -} - -/* Initializes the raw time events of the simulation using the now - calcualted parameters. */ -void function_sampleInit(DATA *data) -{ -} - -int function_updateSample(DATA *data) -{ - state mem_state; - - mem_state = get_memory_state(); - restore_memory_state(mem_state); - - return 0; -} - -int function_storeDelayed(DATA *data) -{ - state mem_state; - - mem_state = get_memory_state(); - restore_memory_state(mem_state); - - return 0; -} - -int updateBoundStartValues(DATA *data) -{ - - - DEBUG_INFO(LOG_INIT, "updating start-values:"); - - return 0; -} - -int initial_residual(DATA *data, double $P$_lambda, double* initialResiduals) -{ - int i = 0; - state mem_state; - - mem_state = get_memory_state(); - DEBUG_INFO(LOG_RES_INIT, "updating initial_residuals:"); - initialResiduals[i++] = ((1.0 - $P$_lambda) * ($Pstock - $P$START$Pstock)); - DEBUG_INFO_AL2(LOG_RES_INIT, " residual[%d] : (1.0 - $_lambda) * (stock - $_start(stock)) = %f", i, initialResiduals[i-1]); - restore_memory_state(mem_state); - - return 0; -} - -int updateBoundParameters(DATA *data) -{ - state mem_state; - - mem_state = get_memory_state(); - restore_memory_state(mem_state); - - return 0; -} - - -void eqFunction_0(DATA *data) { - modelica_boolean tmp0; - modelica_boolean tmp1; - /*#modelicaLine [FMITest.mo:7:2-7:56]*/ - RELATIONTOZC(tmp0, $Pstock, 4.9999, 0,GreaterEq,>=); - RELATIONTOZC(tmp1, $Ppar, 0.0, -1,Greater,>); - $Pvalve = ((tmp0 && tmp1)?0.0:$Ppar); - /*#endModelicaLine*/ -} - - -void eqFunction_1(DATA *data) { - /*#modelicaLine [FMITest.mo:9:2-9:20]*/ - $P$DER$Pstock = $Pvalve; - /*#endModelicaLine*/ -} - -static void functionODE_system0(DATA *data,int omc_thread_number) -{ - eqFunction_0(data); - eqFunction_1(data); -} -static void (*functionODE_systems[1])(DATA *, int) = { - functionODE_system0 -}; - -void function_initMemoryState() -{ - push_memory_states(1); -} - -int functionODE(DATA *data) -{ - int id,th_id; - state mem_state; /* We need to have separate memory pools for separate systems... */ - mem_state = get_memory_state(); - for (id=0; id<1; id++) { - th_id = omp_get_thread_num(); - functionODE_systems[id](data,th_id); - } - restore_memory_state(mem_state); - - return 0; -} -#include -const char *_omc_force_solver=_OMC_FORCE_SOLVER; -const int inline_work_states_ndims=_OMC_SOLVER_WORK_STATES_NDIMS; -int functionODE_inline(DATA* data, double stepSize) -{ - return 0; -} - -/* for continuous time variables */ -int functionAlgebraics(DATA *data) -{ - state mem_state; - - mem_state = get_memory_state(); - restore_memory_state(mem_state); - - return 0; -} - - -void eqFunction_2(DATA *data) { - modelica_boolean tmp2; - modelica_boolean tmp3; - /*#modelicaLine [FMITest.mo:7:2-7:56]*/ - SAVEZEROCROSS(tmp2, $Pstock, 4.9999, 0,GreaterEq,>=); - SAVEZEROCROSS(tmp3, $Ppar, 0.0, -1,Greater,>); - $Pvalve = ((tmp2 && tmp3)?0.0:$Ppar); - /*#endModelicaLine*/ -} - - -void eqFunction_3(DATA *data) { - /*#modelicaLine [FMITest.mo:9:2-9:20]*/ - $P$DER$Pstock = $Pvalve; - /*#endModelicaLine*/ -} - -int functionDAE(DATA *data, int *needToIterate) -{ - state mem_state; - *needToIterate = 0; - - mem_state = get_memory_state(); - eqFunction_2(data); - eqFunction_3(data); - restore_memory_state(mem_state); - - return 0; -} - -int function_onlyZeroCrossings(DATA *data, double *gout,double *t) -{ - state mem_state; - - mem_state = get_memory_state(); - ZEROCROSSING(0, GreaterEq($Pstock, 4.9999)); - restore_memory_state(mem_state); - - return 0; -} - -int checkForDiscreteChanges(DATA *data) -{ - int needToIterate = 0; - - - return needToIterate; -} - -/* function to check assert after a step is done */ -int checkForAsserts(DATA *data) -{ - - - return 0; -} - - int initialAnalyticJacobianA(DATA* data){ - return 1; - } - - int initialAnalyticJacobianB(DATA* data){ - return 1; - } - - int initialAnalyticJacobianC(DATA* data){ - return 1; - } - - int initialAnalyticJacobianD(DATA* data){ - return 1; - } - int functionJacA(DATA* data, double* jac){ - return 0; - } - - int functionJacB(DATA* data, double* jac){ - return 0; - } - - int functionJacC(DATA* data, double* jac){ - return 0; - } - - int functionJacD(DATA* data, double* jac){ - return 0; - } - -const char *linear_model_frame = - "model linear_FMITest\n parameter Integer n = 1; // states \n parameter Integer k = 0; // top-level inputs \n parameter Integer l = 0; // top-level outputs \n" - " parameter Real x0[1] = {%s};\n" - " parameter Real u0[0] = {%s};\n" - " parameter Real A[1,1] = [%s];\n" - " parameter Real B[1,0] = zeros(1,0);%s\n" - " parameter Real C[0,1] = zeros(0,1);%s\n" - " parameter Real D[0,0] = zeros(0,0);%s\n" - " Real x[1](start=x0);\n" - " input Real u[0];\n" - " output Real y[0];\n" - "\n Real x_Pstock = x[1];\n \n" - "equation\n der(x) = A * x + B * u;\n y = C * x + D * u;\nend linear_FMITest;\n" -; - -#ifdef __cplusplus -} -#endif - -/* forward the main in the simulation runtime */ -extern int _main_SimulationRuntime(int argc, char**argv, DATA *data); - -/* call the simulation runtime main from our main! */ -int main(int argc, char**argv) -{ - DATA data; - setupDataStruc(&data); - return _main_SimulationRuntime(argc, argv, &data); -} - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/sources/FMITest_FMU.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/sources/FMITest_FMU.c deleted file mode 100644 index 7f6ceabb..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/sources/FMITest_FMU.c +++ /dev/null @@ -1,152 +0,0 @@ - -// define class name and unique id -#define MODEL_IDENTIFIER FMITest -#define MODEL_GUID "{2aa0bc83-3303-405c-9eaa-75319018664c}" - -// include fmu header files, typedefs and macros -#include -#include -#include -#include "openmodelica.h" -#include "openmodelica_func.h" -#include "simulation_data.h" -#include "omc_error.h" -#include "fmiModelTypes.h" -#include "fmiModelFunctions.h" -#include "FMITest_functions.h" -#include "initialization.h" -#include "events.h" -#include "fmu_model_interface.h" - -#ifdef __cplusplus -extern "C" { -#endif - -void setStartValues(ModelInstance *comp); -void setDefaultStartValues(ModelInstance *comp); -void eventUpdate(ModelInstance* comp, fmiEventInfo* eventInfo); -fmiReal getReal(ModelInstance* comp, const fmiValueReference vr); -fmiStatus setReal(ModelInstance* comp, const fmiValueReference vr, const fmiReal value); -fmiInteger getInteger(ModelInstance* comp, const fmiValueReference vr); -fmiStatus setInteger(ModelInstance* comp, const fmiValueReference vr, const fmiInteger value); -fmiBoolean getBoolean(ModelInstance* comp, const fmiValueReference vr); -fmiStatus setBoolean(ModelInstance* comp, const fmiValueReference vr, const fmiBoolean value); -fmiString getString(ModelInstance* comp, const fmiValueReference vr); -fmiStatus setExternalFunction(ModelInstance* c, const fmiValueReference vr, const void* value); - -// define model size -#define NUMBER_OF_STATES 1 -#define NUMBER_OF_EVENT_INDICATORS 1 -#define NUMBER_OF_REALS 5 -#define NUMBER_OF_INTEGERS 0 -#define NUMBER_OF_STRINGS 0 -#define NUMBER_OF_BOOLEANS 0 -#define NUMBER_OF_EXTERNALFUNCTIONS 0 - -// define variable data for model -#define $Pstock_ 0 -#define $P$DER$Pstock_ 1 -#define $Pvalve_ 2 -#define $Ppar_ 3 -#define $Pvalve2_ 4 - - -// define initial state vector as vector of value references -#define STATES { $Pstock_ } -#define STATESDERIVATIVES { $P$DER$Pstock_ } - - -// implementation of the Model Exchange functions -#include "fmu_model_interface.c" - -// Set values for all variables that define a start value -void setDefaultStartValues(ModelInstance *comp) { - -comp->fmuData->modelData.realVarsData[0].attribute.start = 0.0; -comp->fmuData->modelData.realParameterData[0].attribute.start = 4.0; -} -// Set values for all variables that define a start value -void setStartValues(ModelInstance *comp) { - - comp->fmuData->modelData.realVarsData[0].attribute.start = comp->fmuData->localData[0]->realVars[0]; - comp->fmuData->modelData.realVarsData[1].attribute.start = comp->fmuData->localData[0]->realVars[1]; - comp->fmuData->modelData.realVarsData[2].attribute.start = comp->fmuData->localData[0]->realVars[2]; -comp->fmuData->modelData.realParameterData[0].attribute.start = comp->fmuData->simulationInfo.realParameter[0]; -} -// Used to set the next time event, if any. -void eventUpdate(ModelInstance* comp, fmiEventInfo* eventInfo) { -} - -fmiReal getReal(ModelInstance* comp, const fmiValueReference vr) { - switch (vr) { - case $Pstock_ : return comp->fmuData->localData[0]->realVars[0]; break; - case $P$DER$Pstock_ : return comp->fmuData->localData[0]->realVars[1]; break; - case $Pvalve_ : return comp->fmuData->localData[0]->realVars[2]; break; - case $Ppar_ : return comp->fmuData->simulationInfo.realParameter[0]; break; - case $Pvalve2_ : return getReal(comp, $Pvalve_); break; - default: - return fmiError; - } -} - -fmiStatus setReal(ModelInstance* comp, const fmiValueReference vr, const fmiReal value) { - switch (vr) { - case $Pstock_ : comp->fmuData->localData[0]->realVars[0]=value; break; - case $P$DER$Pstock_ : comp->fmuData->localData[0]->realVars[1]=value; break; - case $Pvalve_ : comp->fmuData->localData[0]->realVars[2]=value; break; - case $Ppar_ : comp->fmuData->simulationInfo.realParameter[0]=value; break; - case $Pvalve2_ : return setReal(comp, $Pvalve_, value); break; - default: - return fmiError; - } - return fmiOK; -} - -fmiInteger getInteger(ModelInstance* comp, const fmiValueReference vr) { - switch (vr) { - default: - return 0; - } -} -fmiStatus setInteger(ModelInstance* comp, const fmiValueReference vr, const fmiInteger value) { - switch (vr) { - default: - return fmiError; - } - return fmiOK; -} -fmiBoolean getBoolean(ModelInstance* comp, const fmiValueReference vr) { - switch (vr) { - default: - return 0; - } -} - -fmiStatus setBoolean(ModelInstance* comp, const fmiValueReference vr, const fmiBoolean value) { - switch (vr) { - default: - return fmiError; - } - return fmiOK; -} - -fmiString getString(ModelInstance* comp, const fmiValueReference vr) { - switch (vr) { - default: - return 0; - } -} - -fmiStatus setExternalFunction(ModelInstance* c, const fmiValueReference vr, const void* value){ - switch (vr) { - default: - return fmiError; - } - return fmiOK; -} - - -#ifdef __cplusplus -} -#endif - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/sources/FMITest_functions.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/sources/FMITest_functions.c deleted file mode 100644 index 2d7eacf5..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/sources/FMITest_functions.c +++ /dev/null @@ -1,16 +0,0 @@ -#include "FMITest_functions.h" -#ifdef __cplusplus -extern "C" { -#endif - -#define _OMC_LIT0_data "'p" -static const size_t _OMC_LIT0_strlen = 2; -static const char _OMC_LIT0[3] = _OMC_LIT0_data; -#define _OMC_LIT1_data "'p/s" -static const size_t _OMC_LIT1_strlen = 4; -static const char _OMC_LIT1[5] = _OMC_LIT1_data; - -#ifdef __cplusplus -} -#endif - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/sources/FMITest_functions.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/sources/FMITest_functions.h deleted file mode 100644 index 66c8a413..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/sources/FMITest_functions.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef FMITest__H -#define FMITest__H -#define omp_get_thread_num() 0 -#include "modelica.h" -#include -#include -#include -#include "simulation_runtime.h" -#ifdef __cplusplus -extern "C" { -#endif -#ifdef __cplusplus -} -#endif -#endif - - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/sources/FMITest_records.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/sources/FMITest_records.c deleted file mode 100644 index 8b85f1d6..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/sources/FMITest_records.c +++ /dev/null @@ -1,3 +0,0 @@ -/* Additional record code for FMITest generated by the OpenModelica Compiler 1.8.1+ (r11690). */ -#include "meta_modelica.h" - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/sources/_FMITest.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/sources/_FMITest.h deleted file mode 100644 index 67c6b940..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/sources/_FMITest.h +++ /dev/null @@ -1,34 +0,0 @@ -/* Simulation code for FMITest generated by the OpenModelica Compiler 1.8.1+ (r11690). */ -#define time data->localData[0]->timeValue - -/* States */ -#define _$Pstock(i) data->localData[i]->realVars[0] -#define $Pstock _$Pstock(0) -#define $P$PRE$Pstock data->simulationInfo.realVarsPre[0] -#define $P$START$Pstock data->modelData.realVarsData[0].attribute.start -#define $Pstock__varInfo data->modelData.realVarsData[0].info -/* StatesDerivatives */ -#define _$P$DER$Pstock(i) data->localData[i]->realVars[1] -#define $P$DER$Pstock _$P$DER$Pstock(0) -#define $P$PRE$P$DER$Pstock data->simulationInfo.realVarsPre[1] -#define $P$START$P$DER$Pstock data->modelData.realVarsData[1].attribute.start -#define $P$DER$Pstock__varInfo data->modelData.realVarsData[1].info -/* Algebraic Vars */ -#define _$Pvalve(i) data->localData[i]->realVars[2] -#define $Pvalve _$Pvalve(0) -#define $P$PRE$Pvalve data->simulationInfo.realVarsPre[2] -#define $P$START$Pvalve data->modelData.realVarsData[2].attribute.start -#define $Pvalve__varInfo data->modelData.realVarsData[2].info -/* Algebraic Parameter */ -#define $Ppar data->simulationInfo.realParameter[0] -#define $P$START$Ppar data->modelData.realParameterData[0].attribute.start -#define $Ppar__varInfo data->modelData.realParameterData[0].info -/* External Objects */ -/* Algebraic Integer Vars */ -/* Algebraic Integer Parameter */ -/* Algebraic Boolean Vars */ -/* Algebraic Boolean Parameters */ -/* Algebraic String Variables */ -/* Algebraic String Parameter */ -/* Jacobian Variables */ - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/testzlib.vcxproj b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/testzlib.vcxproj deleted file mode 100644 index 9088d176..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/testzlib.vcxproj +++ /dev/null @@ -1,420 +0,0 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - ReleaseWithoutAsm - Itanium - - - ReleaseWithoutAsm - Win32 - - - ReleaseWithoutAsm - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B} - testzlib - Win32Proj - - - - Application - MultiByte - true - - - Application - MultiByte - true - - - Application - MultiByte - - - Application - MultiByte - true - - - Application - MultiByte - true - - - Application - MultiByte - - - Application - true - - - Application - true - - - Application - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\TestZlib$(Configuration)\ - x86\TestZlib$(Configuration)\Tmp\ - true - false - x86\TestZlib$(Configuration)\ - x86\TestZlib$(Configuration)\Tmp\ - false - false - x86\TestZlib$(Configuration)\ - x86\TestZlib$(Configuration)\Tmp\ - false - false - x64\TestZlib$(Configuration)\ - x64\TestZlib$(Configuration)\Tmp\ - false - ia64\TestZlib$(Configuration)\ - ia64\TestZlib$(Configuration)\Tmp\ - true - false - x64\TestZlib$(Configuration)\ - x64\TestZlib$(Configuration)\Tmp\ - false - ia64\TestZlib$(Configuration)\ - ia64\TestZlib$(Configuration)\Tmp\ - false - false - x64\TestZlib$(Configuration)\ - x64\TestZlib$(Configuration)\Tmp\ - false - ia64\TestZlib$(Configuration)\ - ia64\TestZlib$(Configuration)\Tmp\ - false - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..;%(AdditionalIncludeDirectories) - ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebug - false - - - AssemblyAndSourceCode - $(IntDir) - Level3 - EditAndContinue - - - ..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies) - $(OutDir)testzlib.exe - true - $(OutDir)testzlib.pdb - Console - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - $(OutDir)testzlib.exe - true - Console - true - true - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;%(AdditionalIncludeDirectories) - ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - ..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies) - $(OutDir)testzlib.exe - true - Console - true - true - false - - - MachineX86 - - - - - ..\..\..;%(AdditionalIncludeDirectories) - ASMV;ASMINF;WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - Default - MultiThreadedDebugDLL - false - $(IntDir) - - - ..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies) - - - - - Itanium - - - Disabled - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - AssemblyAndSourceCode - $(IntDir) - Level3 - ProgramDatabase - - - $(OutDir)testzlib.exe - true - $(OutDir)testzlib.pdb - Console - MachineIA64 - - - - - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - Default - MultiThreadedDLL - false - $(IntDir) - - - %(AdditionalDependencies) - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - $(OutDir)testzlib.exe - true - Console - true - true - MachineIA64 - - - - - ..\..\..;%(AdditionalIncludeDirectories) - ASMV;ASMINF;WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - Default - MultiThreadedDLL - false - $(IntDir) - - - ..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies) - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - $(OutDir)testzlib.exe - true - Console - true - true - MachineIA64 - - - - - - - - - - true - true - true - true - true - true - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/testzlib.vcxproj.filters b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/testzlib.vcxproj.filters deleted file mode 100644 index 249daa89..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/testzlib.vcxproj.filters +++ /dev/null @@ -1,58 +0,0 @@ - - - - - {c1f6a2e3-5da5-4955-8653-310d3efe05a9} - cpp;c;cxx;def;odl;idl;hpj;bat;asm - - - {c2aaffdc-2c95-4d6f-8466-4bec5890af2c} - h;hpp;hxx;hm;inl;inc - - - {c274fe07-05f2-461c-964b-f6341e4e7eb5} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/testzlib.vcxproj.user b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/testzlib.vcxproj.user deleted file mode 100644 index 695b5c78..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/testzlib.vcxproj.user +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/testzlibdll.vcxproj b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/testzlibdll.vcxproj deleted file mode 100644 index 2d628158..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/testzlibdll.vcxproj +++ /dev/null @@ -1,310 +0,0 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {C52F9E7B-498A-42BE-8DB4-85A15694366A} - Win32Proj - - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\TestZlibDll$(Configuration)\ - x86\TestZlibDll$(Configuration)\Tmp\ - true - false - x86\TestZlibDll$(Configuration)\ - x86\TestZlibDll$(Configuration)\Tmp\ - false - false - x64\TestZlibDll$(Configuration)\ - x64\TestZlibDll$(Configuration)\Tmp\ - true - false - ia64\TestZlibDll$(Configuration)\ - ia64\TestZlibDll$(Configuration)\Tmp\ - true - false - x64\TestZlibDll$(Configuration)\ - x64\TestZlibDll$(Configuration)\Tmp\ - false - false - ia64\TestZlibDll$(Configuration)\ - ia64\TestZlibDll$(Configuration)\Tmp\ - false - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebug - false - - - $(IntDir) - Level3 - EditAndContinue - - - x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlib.exe - true - $(OutDir)testzlib.pdb - Console - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlib.exe - true - Console - true - true - false - - - MachineX86 - - - - - X64 - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlib.exe - true - $(OutDir)testzlib.pdb - Console - MachineX64 - - - - - Itanium - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlib.exe - true - $(OutDir)testzlib.pdb - Console - MachineIA64 - - - - - X64 - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlib.exe - true - Console - true - true - MachineX64 - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlib.exe - true - Console - true - true - MachineIA64 - - - - - - - - {8fd826f8-3739-44e6-8cc8-997122e53b8d} - - - - - - \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/testzlibdll.vcxproj.filters b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/testzlibdll.vcxproj.filters deleted file mode 100644 index 53a8693b..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/testzlibdll.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {fa61a89f-93fc-4c89-b29e-36224b7592f4} - cpp;c;cxx;def;odl;idl;hpj;bat;asm - - - {d4b85da0-2ba2-4934-b57f-e2584e3848ee} - h;hpp;hxx;hm;inl;inc - - - {e573e075-00bd-4a7d-bd67-a8cc9bfc5aca} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe - - - - - Source Files - - - \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/testzlibdll.vcxproj.user b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/testzlibdll.vcxproj.user deleted file mode 100644 index 695b5c78..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/testzlibdll.vcxproj.user +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/CL.read.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/CL.read.1.tlog deleted file mode 100644 index 61d18cf9..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/CL.read.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/CL.write.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/CL.write.1.tlog deleted file mode 100644 index b3e764b6..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/CL.write.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/ResolveAssemblyReference.cache b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/ResolveAssemblyReference.cache deleted file mode 100644 index 5af2b479..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/ResolveAssemblyReference.cache and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/cl.command.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/cl.command.1.tlog deleted file mode 100644 index 4aff67ba..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/cl.command.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/link.command.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/link.command.1.tlog deleted file mode 100644 index 370a5cdc..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/link.command.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/link.read.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/link.read.1.tlog deleted file mode 100644 index 4d4e4d0b..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/link.read.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/link.write.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/link.write.1.tlog deleted file mode 100644 index eb49cd26..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/link.write.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/miniunz.lastbuildstate b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/miniunz.lastbuildstate deleted file mode 100644 index a3cdaa76..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/miniunz.lastbuildstate +++ /dev/null @@ -1,2 +0,0 @@ -#v4.0:v100 -Debug|Win32|D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\| diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/miniunz.write.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/miniunz.write.1.tlog deleted file mode 100644 index 5ee56129..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/miniunz.write.1.tlog +++ /dev/null @@ -1,10 +0,0 @@ -^D:\zlib-1.2.6\contrib\vstudio\vc10\miniunz.vcxproj -D:\Visual Studio\FMUSimulator\Debug\miniunz.lib -D:\Visual Studio\FMUSimulator\Debug\miniunz.lib -D:\Visual Studio\FMUSimulator\Debug\miniunz.exp -D:\Visual Studio\FMUSimulator\Debug\miniunz.exp -^D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\zlib-1.2.6\contrib\vstudio\vc10\miniunz.vcxproj -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Debug\miniunz.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Debug\miniunz.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Debug\miniunz.exp -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Debug\miniunz.exp diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/vc100.idb b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/vc100.idb deleted file mode 100644 index aef04b73..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/vc100.idb and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/vc100.pdb b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/vc100.pdb deleted file mode 100644 index d3c4fa1c..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/Tmp/vc100.pdb and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/miniunz.exe b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/miniunz.exe deleted file mode 100644 index efc2beb6..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/miniunz.exe and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/zlibwapi.dll b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/zlibwapi.dll deleted file mode 100644 index 66f2d17f..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/zlibwapi.dll and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/zlibwapi.ilk b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/zlibwapi.ilk deleted file mode 100644 index f3a777dc..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipDebug/zlibwapi.ilk and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/CL.read.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/CL.read.1.tlog deleted file mode 100644 index 2f1ba066..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/CL.read.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/CL.write.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/CL.write.1.tlog deleted file mode 100644 index 23cafa01..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/CL.write.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/cl.command.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/cl.command.1.tlog deleted file mode 100644 index 8f958781..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/cl.command.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/link.command.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/link.command.1.tlog deleted file mode 100644 index ae816c16..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/link.command.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/link.read.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/link.read.1.tlog deleted file mode 100644 index 95ede789..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/link.read.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/link.write.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/link.write.1.tlog deleted file mode 100644 index 359bf4bc..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/link.write.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/miniunz.lastbuildstate b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/miniunz.lastbuildstate deleted file mode 100644 index 78f6c206..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/miniunz.lastbuildstate +++ /dev/null @@ -1,2 +0,0 @@ -#v4.0:v100 -Release|Win32|D:\FMU\FMUSolution\| diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/miniunz.write.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/miniunz.write.1.tlog deleted file mode 100644 index 52338563..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/miniunz.write.1.tlog +++ /dev/null @@ -1,30 +0,0 @@ -^D:\zlib-1.2.6\contrib\vstudio\vc10\miniunz.vcxproj -D:\Visual Studio\FMUSimulator\Release\miniunz.lib -D:\Visual Studio\FMUSimulator\Release\miniunz.lib -D:\Visual Studio\FMUSimulator\Release\miniunz.exp -D:\Visual Studio\FMUSimulator\Release\miniunz.exp -^D:\zlib-1.2.6\contrib\vstudio\vc10\miniunz.vcxproj -D:\Visual Studio\FMUSimulator\Release\miniunz.lib -D:\Visual Studio\FMUSimulator\Release\miniunz.lib -D:\Visual Studio\FMUSimulator\Release\miniunz.exp -D:\Visual Studio\FMUSimulator\Release\miniunz.exp -^D:\zlib-1.2.6\contrib\vstudio\vc10\miniunz.vcxproj -D:\Visual Studio\FMUSimulator\Release\miniunz.lib -D:\Visual Studio\FMUSimulator\Release\miniunz.lib -D:\Visual Studio\FMUSimulator\Release\miniunz.exp -D:\Visual Studio\FMUSimulator\Release\miniunz.exp -^D:\zlib-1.2.6\contrib\vstudio\vc10\miniunz.vcxproj -D:\Visual Studio\FMUSimulator\Release\miniunz.lib -D:\Visual Studio\FMUSimulator\Release\miniunz.lib -D:\Visual Studio\FMUSimulator\Release\miniunz.exp -D:\Visual Studio\FMUSimulator\Release\miniunz.exp -^D:\FMU\FMUSolution\zlib-1.2.6\contrib\vstudio\vc10\miniunz.vcxproj -D:\FMU\FMUSolution\Release\miniunz.lib -D:\FMU\FMUSolution\Release\miniunz.lib -D:\FMU\FMUSolution\Release\miniunz.exp -D:\FMU\FMUSolution\Release\miniunz.exp -^D:\FMU\FMUSolution\zlib-1.2.6\contrib\vstudio\vc10\miniunz.vcxproj -D:\FMU\FMUSolution\Release\miniunz.lib -D:\FMU\FMUSolution\Release\miniunz.lib -D:\FMU\FMUSolution\Release\miniunz.exp -D:\FMU\FMUSolution\Release\miniunz.exp diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/vc100.pdb b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/vc100.pdb deleted file mode 100644 index 659d5e29..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/Tmp/vc100.pdb and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/miniunz.dll b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/miniunz.dll deleted file mode 100644 index 4530ad66..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/miniunz.dll and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/miniunz.exe b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/miniunz.exe deleted file mode 100644 index 00dc9c1e..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/miniunz.exe and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/miniunz.pdb b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/miniunz.pdb deleted file mode 100644 index 823baf6e..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/MiniUnzipRelease/miniunz.pdb and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/CL.read.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/CL.read.1.tlog deleted file mode 100644 index b65bf6a2..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/CL.read.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/CL.write.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/CL.write.1.tlog deleted file mode 100644 index e3305628..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/CL.write.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/cl.command.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/cl.command.1.tlog deleted file mode 100644 index 2d7e5c11..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/cl.command.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/link-cvtres.read.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/link-cvtres.read.1.tlog deleted file mode 100644 index 46b134b1..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/link-cvtres.read.1.tlog +++ /dev/null @@ -1 +0,0 @@ -ÿþ \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/link-cvtres.write.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/link-cvtres.write.1.tlog deleted file mode 100644 index 46b134b1..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/link-cvtres.write.1.tlog +++ /dev/null @@ -1 +0,0 @@ -ÿþ \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/link.command.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/link.command.1.tlog deleted file mode 100644 index 219c7575..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/link.command.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/link.read.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/link.read.1.tlog deleted file mode 100644 index 55262adb..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/link.read.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/link.write.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/link.write.1.tlog deleted file mode 100644 index 79205471..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/link.write.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/rc.command.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/rc.command.1.tlog deleted file mode 100644 index cccc9f4d..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/rc.command.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/rc.read.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/rc.read.1.tlog deleted file mode 100644 index bab28518..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/rc.read.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/rc.write.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/rc.write.1.tlog deleted file mode 100644 index ee3e5106..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/rc.write.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/zlib.res b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/zlib.res deleted file mode 100644 index ba2ab479..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/zlib.res and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/zlibvc.lastbuildstate b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/zlibvc.lastbuildstate deleted file mode 100644 index a3cdaa76..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/zlibvc.lastbuildstate +++ /dev/null @@ -1,2 +0,0 @@ -#v4.0:v100 -Debug|Win32|D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\| diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/zlibvc.write.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/zlibvc.write.1.tlog deleted file mode 100644 index 96c89504..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/Tmp/zlibvc.write.1.tlog +++ /dev/null @@ -1,6 +0,0 @@ -^D:\zlib-1.2.6\contrib\vstudio\vc10\zlibvc.vcxproj -D:\Visual Studio\FMUSimulator\Debug\zlibwapi.lib -D:\Visual Studio\FMUSimulator\Debug\zlibwapi.exp -^D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\zlib-1.2.6\contrib\vstudio\vc10\zlibvc.vcxproj -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Debug\zlibwapi.lib -D:\Workspaces\Sysdyn\org.simantics.modelica\FMUSolution\Debug\zlibwapi.exp diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/vc100.idb b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/vc100.idb deleted file mode 100644 index af48bf3e..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/vc100.idb and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/zlibvc.dll b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/zlibvc.dll deleted file mode 100644 index 8c531818..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/zlibvc.dll and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/zlibvc.ilk b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/zlibvc.ilk deleted file mode 100644 index d2670d6e..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/zlibvc.ilk and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/zlibwapi.dll b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/zlibwapi.dll deleted file mode 100644 index 80d1827e..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/zlibwapi.dll and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/zlibwapi.ilk b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/zlibwapi.ilk deleted file mode 100644 index e29928a8..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/zlibwapi.ilk and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/zlibwapi.map b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/zlibwapi.map deleted file mode 100644 index d97b69ee..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/zlibwapi.map +++ /dev/null @@ -1,2424 +0,0 @@ - zlibvc - - Timestamp is 4f8bb01a (Mon Apr 16 08:37:30 2012) - - Preferred load address is 10000000 - - Start Length Name Class - 0001:00000000 00036721H .textbss DATA - 0002:00000000 000701aaH .text CODE - 0002:000701b0 0000112fH .text$x CODE - 0003:00000000 00000104H .CRT$XCA DATA - 0003:00000104 00000104H .CRT$XCZ DATA - 0003:00000208 00000104H .CRT$XIA DATA - 0003:0000030c 00000113H .CRT$XIC DATA - 0003:00000420 00000104H .CRT$XIZ DATA - 0003:00000524 00000104H .CRT$XPA DATA - 0003:00000628 00000109H .CRT$XPX DATA - 0003:00000734 00000104H .CRT$XPXA DATA - 0003:00000838 00000104H .CRT$XPZ DATA - 0003:0000093c 00000104H .CRT$XTA DATA - 0003:00000a40 00000104H .CRT$XTZ DATA - 0003:00000b50 00012b04H .rdata DATA - 0003:00013654 0000016aH .rdata$debug DATA - 0003:000137c0 0000032fH .rdata$r DATA - 0003:00013af0 00000104H .rtc$IAA DATA - 0003:00013bf4 00000104H .rtc$IZZ DATA - 0003:00013cf8 00000104H .rtc$TAA DATA - 0003:00013dfc 00000104H .rtc$TZZ DATA - 0003:00013f00 00000f3aH .xdata$x DATA - 0003:00014e40 00000f72H .edata DATA - 0004:00000000 0000150dH .data DATA - 0004:00001520 00002578H .bss DATA - 0005:00000000 00000014H .idata$2 DATA - 0005:00000014 00000014H .idata$3 DATA - 0005:00000028 000001b4H .idata$4 DATA - 0005:000001dc 000001b4H .idata$5 DATA - 0005:00000390 00000790H .idata$6 DATA - 0006:00000000 00000169H .rsrc$01 DATA - 0006:00000170 000004d3H .rsrc$02 DATA - - Address Publics by Value Rva+Base Lib:Object - - 0000:00000000 ___safe_se_handler_count 00000000 - 0000:00000000 ___safe_se_handler_table 00000000 - 0000:00000000 __except_list 00000000 - 0000:00000000 ___ImageBase 10000000 - 0001:00000000 __enc$textbss$begin 10001000 - 0001:00036721 __enc$textbss$end 10037721 - 0002:00002a20 _longest_match 1003aa20 f match686.obj - 0002:00002c08 _match_init 1003ac08 f match686.obj - 0002:00002d90 _inflate_fast 1003ad90 f inffas32.obj - 0002:00003610 _adler32@12 1003b610 f adler32.obj - 0002:00003bc0 _adler32_combine@12 1003bbc0 f adler32.obj - 0002:00003d40 _adler32_combine64@16 1003bd40 f adler32.obj - 0002:00003d80 _compress2@20 1003bd80 f compress.obj - 0002:00003e80 _compress@16 1003be80 f compress.obj - 0002:00003ec0 _compressBound@4 1003bec0 f compress.obj - 0002:00003f00 _get_crc_table@0 1003bf00 f crc32.obj - 0002:00003f20 _crc32@12 1003bf20 f crc32.obj - 0002:00004c20 _crc32_combine@12 1003cc20 f crc32.obj - 0002:00004f10 _crc32_combine64@16 1003cf10 f crc32.obj - 0002:00004f50 _deflateInit_@16 1003cf50 f deflate.obj - 0002:00004f90 _deflateInit2_@32 1003cf90 f deflate.obj - 0002:000053a0 _deflateSetDictionary@12 1003d3a0 f deflate.obj - 0002:000056b0 _deflateResetKeep@4 1003d6b0 f deflate.obj - 0002:000057f0 _deflateReset@4 1003d7f0 f deflate.obj - 0002:00005840 _deflateSetHeader@8 1003d840 f deflate.obj - 0002:000058a0 _deflatePending@12 1003d8a0 f deflate.obj - 0002:00005910 _deflatePrime@12 1003d910 f deflate.obj - 0002:00005a30 _deflateParams@12 1003da30 f deflate.obj - 0002:00005bb0 _deflateTune@20 1003dbb0 f deflate.obj - 0002:00005c30 _deflateBound@8 1003dc30 f deflate.obj - 0002:00005e10 _deflate@8 1003de10 f deflate.obj - 0002:00007220 _deflateEnd@4 1003f220 f deflate.obj - 0002:000073b0 _deflateCopy@8 1003f3b0 f deflate.obj - 0002:00009be0 _gzclose@4 10041be0 f gzclose.obj - 0002:00009c50 _gzopen@8 10041c50 f gzlib.obj - 0002:0000a180 _gzopen64@8 10042180 f gzlib.obj - 0002:0000a1b0 _gzdopen@8 100421b0 f gzlib.obj - 0002:0000a240 _gzbuffer@8 10042240 f gzlib.obj - 0002:0000a2c0 _gzrewind@4 100422c0 f gzlib.obj - 0002:0000a360 _gzseek64@16 10042360 f gzlib.obj - 0002:0000a700 _gzseek@12 10042700 f gzlib.obj - 0002:0000a770 _gztell64@4 10042770 f gzlib.obj - 0002:0000a810 _gztell@4 10042810 f gzlib.obj - 0002:0000a870 _gzoffset64@4 10042870 f gzlib.obj - 0002:0000a940 _gzoffset@4 10042940 f gzlib.obj - 0002:0000a9a0 _gzeof@4 100429a0 f gzlib.obj - 0002:0000aa20 _gzerror@8 10042a20 f gzlib.obj - 0002:0000aab0 _gzclearerr@4 10042ab0 f gzlib.obj - 0002:0000ab40 _gz_error 10042b40 f gzlib.obj - 0002:0000ac90 _gzread@12 10042c90 f gzread.obj - 0002:0000b7b0 _gzgetc_@4 100437b0 f gzread.obj - 0002:0000b8b0 _gzgetc@4 100438b0 f gzread.obj - 0002:0000b8e0 _gzungetc@8 100438e0 f gzread.obj - 0002:0000bb20 _gzgets@12 10043b20 f gzread.obj - 0002:0000bd30 _gzdirect@4 10043d30 f gzread.obj - 0002:0000bda0 _gzclose_r@4 10043da0 f gzread.obj - 0002:0000bec0 _gzwrite@12 10043ec0 f gzwrite.obj - 0002:0000c670 _gzputc@8 10044670 f gzwrite.obj - 0002:0000c7d0 _gzputs@8 100447d0 f gzwrite.obj - 0002:0000c840 _gzprintf 10044840 f gzwrite.obj - 0002:0000c9f0 _gzflush@8 100449f0 f gzwrite.obj - 0002:0000cac0 _gzsetparams@12 10044ac0 f gzwrite.obj - 0002:0000cbf0 _gzclose_w@4 10044bf0 f gzwrite.obj - 0002:0000cd50 _gzflags@0 10044d50 f gzwrite.obj - 0002:0000cd70 _inflateBackInit_@20 10044d70 f infback.obj - 0002:0000cec0 _inflateBack@20 10044ec0 f infback.obj - 0002:0000e790 _inflateBackEnd@4 10046790 f infback.obj - 0002:0000e800 _inflateResetKeep@4 10046800 f inflate.obj - 0002:0000e940 _inflateReset@4 10046940 f inflate.obj - 0002:0000e9b0 _inflateReset2@8 100469b0 f inflate.obj - 0002:0000eac0 _inflateInit2_@16 10046ac0 f inflate.obj - 0002:0000ec00 _inflateInit_@12 10046c00 f inflate.obj - 0002:0000ec30 _inflatePrime@12 10046c30 f inflate.obj - 0002:0000ed00 _inflate@8 10046d00 f inflate.obj - 0002:00011820 _inflateEnd@4 10049820 f inflate.obj - 0002:000118d0 _inflateSetDictionary@12 100498d0 f inflate.obj - 0002:00011a10 _inflateGetHeader@8 10049a10 f inflate.obj - 0002:00011a80 _inflateSync@4 10049a80 f inflate.obj - 0002:00011d30 _inflateSyncPoint@4 10049d30 f inflate.obj - 0002:00011da0 _inflateCopy@8 10049da0 f inflate.obj - 0002:00011fe0 _inflateUndermine@8 10049fe0 f inflate.obj - 0002:00012050 _inflateMark@4 1004a050 f inflate.obj - 0002:000120f0 _inflate_table 1004a0f0 f inftrees.obj - 0002:00012820 _call_zopen64 1004a820 f ioapi.obj - 0002:00012890 _call_zseek64 1004a890 f ioapi.obj - 0002:00012940 _call_ztell64 1004a940 f ioapi.obj - 0002:000129c0 _fill_zlib_filefunc64_32_def_from_filefunc32 1004a9c0 f ioapi.obj - 0002:00012a80 _fill_fopen_filefunc 1004aa80 f ioapi.obj - 0002:00012d50 _fill_fopen64_filefunc 1004ad50 f ioapi.obj - 0002:00012f50 _win32_open64_file_func 1004af50 f iowin32.obj - 0002:00013120 _win32_open64_file_funcA 1004b120 f iowin32.obj - 0002:000131b0 _win32_open64_file_funcW 1004b1b0 f iowin32.obj - 0002:00013240 _win32_open_file_func 1004b240 f iowin32.obj - 0002:000132d0 _win32_read_file_func 1004b2d0 f iowin32.obj - 0002:00013360 _win32_write_file_func 1004b360 f iowin32.obj - 0002:000133f0 _win32_tell_file_func 1004b3f0 f iowin32.obj - 0002:00013480 _win32_tell64_file_func 1004b480 f iowin32.obj - 0002:00013550 _win32_seek_file_func 1004b550 f iowin32.obj - 0002:00013640 _win32_seek64_file_func 1004b640 f iowin32.obj - 0002:00013740 _win32_close_file_func 1004b740 f iowin32.obj - 0002:000137a0 _win32_error_file_func 1004b7a0 f iowin32.obj - 0002:000137e0 _fill_win32_filefunc 1004b7e0 f iowin32.obj - 0002:00013860 _fill_win32_filefunc64 1004b860 f iowin32.obj - 0002:000138e0 _fill_win32_filefunc64A 1004b8e0 f iowin32.obj - 0002:00013960 _fill_win32_filefunc64W 1004b960 f iowin32.obj - 0002:000139e0 __tr_init 1004b9e0 f trees.obj - 0002:00013bd0 __tr_stored_block 1004bbd0 f trees.obj - 0002:00013d60 __tr_flush_bits 1004bd60 f trees.obj - 0002:00013d90 __tr_align 1004bd90 f trees.obj - 0002:00014080 __tr_flush_block 1004c080 f trees.obj - 0002:00016700 __tr_tally 1004e700 f trees.obj - 0002:00017750 _uncompress@16 1004f750 f uncompr.obj - 0002:00017850 _unzStringFileNameCompare@12 1004f850 f unzip.obj - 0002:000179a0 _unzOpen2@8 1004f9a0 f unzip.obj - 0002:00018d90 _unzOpen2_64@8 10050d90 f unzip.obj - 0002:00018e00 _unzOpen@4 10050e00 f unzip.obj - 0002:00018e30 _unzOpen64@4 10050e30 f unzip.obj - 0002:00018e60 _unzClose@4 10050e60 f unzip.obj - 0002:00018ee0 _unzGetGlobalInfo64@8 10050ee0 f unzip.obj - 0002:00018f40 _unzGetGlobalInfo@8 10050f40 f unzip.obj - 0002:00018f90 _unzGetCurrentFileInfo64@32 10050f90 f unzip.obj - 0002:000199a0 _unzGetCurrentFileInfo@32 100519a0 f unzip.obj - 0002:00019ae0 _unzGoToFirstFile@4 10051ae0 f unzip.obj - 0002:00019ba0 _unzGoToNextFile@4 10051ba0 f unzip.obj - 0002:00019d20 _unzLocateFile@12 10051d20 f unzip.obj - 0002:00019ee0 _unzGetFilePos64@8 10051ee0 f unzip.obj - 0002:00019f70 _unzGetFilePos@8 10051f70 f unzip.obj - 0002:00019fc0 _unzGoToFilePos64@8 10051fc0 f unzip.obj - 0002:0001a080 _unzGoToFilePos@8 10052080 f unzip.obj - 0002:0001a0e0 _unzOpenCurrentFile3@20 100520e0 f unzip.obj - 0002:0001a960 _unzOpenCurrentFile@4 10052960 f unzip.obj - 0002:0001a990 _unzOpenCurrentFilePassword@8 10052990 f unzip.obj - 0002:0001a9c0 _unzOpenCurrentFile2@16 100529c0 f unzip.obj - 0002:0001aa00 _unzGetCurrentFileZStreamPos64@4 10052a00 f unzip.obj - 0002:0001aa70 _unzReadCurrentFile@12 10052a70 f unzip.obj - 0002:0001b0a0 _unztell@4 100530a0 f unzip.obj - 0002:0001b100 _unztell64@4 10053100 f unzip.obj - 0002:0001b160 _unzeof@4 10053160 f unzip.obj - 0002:0001b1e0 _unzGetLocalExtrafield@12 100531e0 f unzip.obj - 0002:0001b340 _unzCloseCurrentFile@4 10053340 f unzip.obj - 0002:0001b460 _unzGetGlobalComment@12 10053460 f unzip.obj - 0002:0001b560 _unzGetOffset64@4 10053560 f unzip.obj - 0002:0001b630 _unzGetOffset@4 10053630 f unzip.obj - 0002:0001b670 _unzSetOffset64@12 10053670 f unzip.obj - 0002:0001b720 _unzSetOffset@8 10053720 f unzip.obj - 0002:0001b750 _LoadCentralDirectoryRecord 10053750 f zip.obj - 0002:0001cce0 _zipOpen3@16 10054ce0 f zip.obj - 0002:0001cf60 _zipOpen2@16 10054f60 f zip.obj - 0002:0001cfd0 _zipOpen2_64@16 10054fd0 f zip.obj - 0002:0001d050 _zipOpen@8 10055050 f zip.obj - 0002:0001d080 _zipOpen64@8 10055080 f zip.obj - 0002:0001d0b0 _Write_LocalFileHeader 100550b0 f zip.obj - 0002:0001d600 _zipOpenNewFileInZip4_64@76 10055600 f zip.obj - 0002:0001e480 _zipOpenNewFileInZip4@72 10056480 f zip.obj - 0002:0001e500 _zipOpenNewFileInZip3@64 10056500 f zip.obj - 0002:0001e580 _zipOpenNewFileInZip3_64@68 10056580 f zip.obj - 0002:0001e600 _zipOpenNewFileInZip2@44 10056600 f zip.obj - 0002:0001e670 _zipOpenNewFileInZip2_64@48 10056670 f zip.obj - 0002:0001e6e0 _zipOpenNewFileInZip64@44 100566e0 f zip.obj - 0002:0001e750 _zipOpenNewFileInZip@40 10056750 f zip.obj - 0002:0001e7c0 _zipWriteInFileInZip@12 100567c0 f zip.obj - 0002:0001ebe0 _zipCloseFileInZipRaw@12 10056be0 f zip.obj - 0002:0001ec10 _zipCloseFileInZipRaw64@16 10056c10 f zip.obj - 0002:0001f4e0 _zipCloseFileInZip@4 100574e0 f zip.obj - 0002:0001f510 _Write_Zip64EndOfCentralDirectoryLocator 10057510 f zip.obj - 0002:0001f600 _Write_Zip64EndOfCentralDirectoryRecord 10057600 f zip.obj - 0002:0001f820 _Write_EndOfCentralDirectoryRecord 10057820 f zip.obj - 0002:0001faa0 _Write_GlobalComment 10057aa0 f zip.obj - 0002:0001fb60 _zipClose@8 10057b60 f zip.obj - 0002:0001fea0 _zipRemoveExtraInfoBlock@12 10057ea0 f zip.obj - 0002:00020020 _zlibVersion@0 10058020 f zutil.obj - 0002:00020040 _zlibCompileFlags@0 10058040 f zutil.obj - 0002:000201c0 _zError@4 100581c0 f zutil.obj - 0002:000201f0 _zcalloc 100581f0 f zutil.obj - 0002:00020230 _zcfree 10058230 f zutil.obj - 0002:00020254 _CreateFileA@28 10058254 f kernel32:KERNEL32.dll - 0002:0002025a _CloseHandle@4 1005825a f kernel32:KERNEL32.dll - 0002:00020260 _CreateFileW@28 10058260 f kernel32:KERNEL32.dll - 0002:00020266 _GetLastError@0 10058266 f kernel32:KERNEL32.dll - 0002:0002026c _ReadFile@20 1005826c f kernel32:KERNEL32.dll - 0002:00020272 _WriteFile@20 10058272 f kernel32:KERNEL32.dll - 0002:00020278 _SetFilePointer@16 10058278 f kernel32:KERNEL32.dll - 0002:00020280 __allrem 10058280 f LIBCMTD:llrem.obj - 0002:00020360 __allshr 10058360 f LIBCMTD:llshr.obj - 0002:00020390 _memset 10058390 f LIBCMTD:memset.obj - 0002:00020430 _memcpy 10058430 f LIBCMTD:memcpy.obj - 0002:00020870 __lseeki64 10058870 f LIBCMTD:lseeki64.obj - 0002:00020b50 __lseeki64_nolock 10058b50 f LIBCMTD:lseeki64.obj - 0002:00020c80 _strcpy 10058c80 f LIBCMTD:strcat.obj - 0002:00020c90 _strcat 10058c90 f LIBCMTD:strcat.obj - 0002:00020dc0 _strlen 10058dc0 f LIBCMTD:strlen.obj - 0002:00020e70 _free 10058e70 f LIBCMTD:dbgfree.obj - 0002:00020e90 _malloc 10058e90 f LIBCMTD:dbgmalloc.obj - 0002:00020ed0 _sprintf 10058ed0 f LIBCMTD:sprintf.obj - 0002:000210d0 __sprintf_l 100590d0 f LIBCMTD:sprintf.obj - 0002:00021110 _sprintf_s 10059110 f LIBCMTD:sprintf.obj - 0002:00021150 __sprintf_s_l 10059150 f LIBCMTD:sprintf.obj - 0002:00021190 __snprintf_s 10059190 f LIBCMTD:sprintf.obj - 0002:000211d0 __snprintf_s_l 100591d0 f LIBCMTD:sprintf.obj - 0002:00021210 __sprintf_p 10059210 f LIBCMTD:sprintf.obj - 0002:00021250 __sprintf_p_l 10059250 f LIBCMTD:sprintf.obj - 0002:00021290 __scprintf 10059290 f LIBCMTD:sprintf.obj - 0002:000212c0 __scprintf_p 100592c0 f LIBCMTD:sprintf.obj - 0002:000212f0 __scprintf_l 100592f0 f LIBCMTD:sprintf.obj - 0002:00021320 __scprintf_p_l 10059320 f LIBCMTD:sprintf.obj - 0002:00021350 _strerror 10059350 f LIBCMTD:strerror.obj - 0002:00021420 __invoke_watson_if_error 10059420 f i LIBCMTD:strerror.obj - 0002:00021460 __get_sys_err_msg 10059460 f i LIBCMTD:strerror.obj - 0002:000214b0 _strerror_s 100594b0 f LIBCMTD:strerror.obj - 0002:00021620 __dosmaperr 10059620 f LIBCMTD:dosmap.obj - 0002:00021660 __get_errno_from_oserr 10059660 f LIBCMTD:dosmap.obj - 0002:00021700 __set_errno 10059700 f LIBCMTD:dosmap.obj - 0002:00021740 __get_errno 10059740 f LIBCMTD:dosmap.obj - 0002:000217e0 __set_doserrno 100597e0 f LIBCMTD:dosmap.obj - 0002:00021820 __get_doserrno 10059820 f LIBCMTD:dosmap.obj - 0002:000218c0 __errno 100598c0 f LIBCMTD:dosmap.obj - 0002:000218f0 ___doserrno 100598f0 f LIBCMTD:dosmap.obj - 0002:00021920 _memmove 10059920 f LIBCMTD:memmove.obj - 0002:00021d60 _memchr 10059d60 f LIBCMTD:memchr.obj - 0002:00021e40 __fsopen 10059e40 f LIBCMTD:fopen.obj - 0002:000220d0 _fopen 1005a0d0 f LIBCMTD:fopen.obj - 0002:000220f0 _fopen_s 1005a0f0 f LIBCMTD:fopen.obj - 0002:000221c0 _fread_s 1005a1c0 f LIBCMTD:fread.obj - 0002:00022340 __fread_nolock_s 1005a340 f LIBCMTD:fread.obj - 0002:00022a90 _fread 1005aa90 f LIBCMTD:fread.obj - 0002:00022ac0 __fread_nolock 1005aac0 f LIBCMTD:fread.obj - 0002:00022af0 _fwrite 1005aaf0 f LIBCMTD:fwrite.obj - 0002:00022c40 __fwrite_nolock 1005ac40 f LIBCMTD:fwrite.obj - 0002:00023100 _ftell 1005b100 f LIBCMTD:ftell.obj - 0002:00023220 __ftell_nolock 1005b220 f LIBCMTD:ftell.obj - 0002:000235a0 _fseek 1005b5a0 f LIBCMTD:fseek.obj - 0002:00023770 __fseek_nolock 1005b770 f LIBCMTD:fseek.obj - 0002:00023890 _fclose 1005b890 f LIBCMTD:fclose.obj - 0002:000239e0 __fclose_nolock 1005b9e0 f LIBCMTD:fclose.obj - 0002:00023b20 _feof 1005bb20 f LIBCMTD:feoferr.obj - 0002:00023bb0 _ferror 1005bbb0 f LIBCMTD:feoferr.obj - 0002:00023c40 __ftelli64 1005bc40 f LIBCMTD:ftelli64.obj - 0002:00023d70 __ftelli64_nolock 1005bd70 f LIBCMTD:ftelli64.obj - 0002:00024460 __fseeki64 1005c460 f LIBCMTD:fseeki64.obj - 0002:00024630 __fseeki64_nolock 1005c630 f LIBCMTD:fseeki64.obj - 0002:000247c0 _strcmp 1005c7c0 f LIBCMTD:strcmp.obj - 0002:00024870 __allshl 1005c870 f LIBCMTD:llshl.obj - 0002:000248a0 __allmul 1005c8a0 f LIBCMTD:llmul.obj - 0002:000248f0 __aulldiv 1005c8f0 f LIBCMTD:ulldiv.obj - 0002:00024980 __aullshr 1005c980 f LIBCMTD:ullshr.obj - 0002:000249b0 __alloca_probe 1005c9b0 LIBCMTD:chkstk.obj - 0002:000249b0 __chkstk 1005c9b0 f LIBCMTD:chkstk.obj - 0002:000249f0 _srand 1005c9f0 f LIBCMTD:rand.obj - 0002:00024a10 _rand 1005ca10 f LIBCMTD:rand.obj - 0002:00024a60 __time64 1005ca60 f LIBCMTD:time64.obj - 0002:00024b00 __CRT_INIT@12 1005cb00 f LIBCMTD:dllcrt0.obj - 0002:00024da0 __DllMainCRTStartup@12 1005cda0 f LIBCMTD:dllcrt0.obj - 0002:00025000 __VEC_memzero 1005d000 f LIBCMTD:p4_memset.obj - 0002:000250f0 ___sse2_available_init 1005d0f0 f LIBCMTD:cpu_disp.obj - 0002:00025110 __VEC_memcpy 1005d110 f LIBCMTD:p4_memcpy.obj - 0002:00025260 __alloc_osfhnd 1005d260 f LIBCMTD:osfinfo.obj - 0002:000255c0 __set_osfhnd 1005d5c0 f LIBCMTD:osfinfo.obj - 0002:000256c0 __free_osfhnd 1005d6c0 f LIBCMTD:osfinfo.obj - 0002:000257e0 __get_osfhandle 1005d7e0 f LIBCMTD:osfinfo.obj - 0002:000259a0 __open_osfhandle 1005d9a0 f LIBCMTD:osfinfo.obj - 0002:00025c60 ___lock_fhandle 1005dc60 f LIBCMTD:osfinfo.obj - 0002:00025da0 __unlock_fhandle 1005dda0 f LIBCMTD:osfinfo.obj - 0002:00025de0 __ioinit 1005dde0 f LIBCMTD:ioinit.obj - 0002:00026300 __ioterm 1005e300 f LIBCMTD:ioinit.obj - 0002:000263d0 __initp_misc_invarg 1005e3d0 f LIBCMTD:invarg.obj - 0002:000263f0 __invalid_parameter 1005e3f0 f LIBCMTD:invarg.obj - 0002:00026460 __invoke_watson 1005e460 f LIBCMTD:invarg.obj - 0002:000264a0 __call_reportfault 1005e4a0 f LIBCMTD:invarg.obj - 0002:00026650 __set_invalid_parameter_handler 1005e650 f LIBCMTD:invarg.obj - 0002:000266a0 __get_invalid_parameter_handler 1005e6a0 f LIBCMTD:invarg.obj - 0002:000266e0 ?_invalid_parameter@@YAXPBG00II@Z 1005e6e0 f LIBCMTD:invarg.obj - 0002:00026710 ?_invoke_watson@@YAXPBG00II@Z 1005e710 f LIBCMTD:invarg.obj - 0002:00026740 __CrtSetReportHookW2 1005e740 f LIBCMTD:dbgrptw.obj - 0002:00026b30 __CrtDbgReportW 1005eb30 f LIBCMTD:dbgrptw.obj - 0002:00026b80 __CrtDbgReportWV 1005eb80 f i LIBCMTD:dbgrptw.obj - 0002:00026bb0 ___crtMessageWindowW 1005ebb0 f LIBCMTD:dbgrptw.obj - 0002:000270b0 __invoke_watson_if_oneof 1005f0b0 f i LIBCMTD:dbgrptw.obj - 0002:00027100 ?_CrtDbgReportW@@YAHHPBGH00ZZ 1005f100 f LIBCMTD:dbgrptw.obj - 0002:00027150 __except_handler4 1005f150 f LIBCMTD:chandler4.obj - 0002:00027400 __malloc_dbg 1005f400 f LIBCMTD:dbgheap.obj - 0002:00027440 __nh_malloc 1005f440 f LIBCMTD:dbgheap.obj - 0002:00027470 __nh_malloc_dbg 1005f470 f LIBCMTD:dbgheap.obj - 0002:00027570 __heap_alloc 1005f570 f LIBCMTD:dbgheap.obj - 0002:00027a40 __heap_alloc_dbg 1005fa40 f LIBCMTD:dbgheap.obj - 0002:00027ab0 __calloc_dbg_impl 1005fab0 f LIBCMTD:dbgheap.obj - 0002:00027b50 __calloc_dbg 1005fb50 f LIBCMTD:dbgheap.obj - 0002:00027bc0 __recalloc 1005fbc0 f LIBCMTD:dbgheap.obj - 0002:00027c00 __realloc_dbg 1005fc00 f LIBCMTD:dbgheap.obj - 0002:00028440 __recalloc_dbg 10060440 f LIBCMTD:dbgheap.obj - 0002:00028520 __expand 10060520 f LIBCMTD:dbgheap.obj - 0002:00028550 __expand_dbg 10060550 f LIBCMTD:dbgheap.obj - 0002:000286a0 __free_nolock 100606a0 f LIBCMTD:dbgheap.obj - 0002:000286c0 __free_dbg 100606c0 f LIBCMTD:dbgheap.obj - 0002:00028760 __free_dbg_nolock 10060760 f LIBCMTD:dbgheap.obj - 0002:00028d80 __msize 10060d80 f LIBCMTD:dbgheap.obj - 0002:00028da0 __msize_dbg 10060da0 f LIBCMTD:dbgheap.obj - 0002:00029000 __CrtSetBreakAlloc 10061000 f LIBCMTD:dbgheap.obj - 0002:00029030 __CrtSetDbgBlockType 10061030 f LIBCMTD:dbgheap.obj - 0002:00029150 __CrtSetAllocHook 10061150 f LIBCMTD:dbgheap.obj - 0002:00029180 __CrtGetAllocHook 10061180 f LIBCMTD:dbgheap.obj - 0002:000291e0 __CrtCheckMemory 100611e0 f LIBCMTD:dbgheap.obj - 0002:00029750 __CrtSetDbgFlag 10061750 f LIBCMTD:dbgheap.obj - 0002:000298f0 __CrtDoForAllClientObjects 100618f0 f LIBCMTD:dbgheap.obj - 0002:00029a60 __CrtIsValidPointer 10061a60 f LIBCMTD:dbgheap.obj - 0002:00029a80 __CrtIsValidHeapPointer 10061a80 f LIBCMTD:dbgheap.obj - 0002:00029ae0 __CrtIsMemoryBlock 10061ae0 f LIBCMTD:dbgheap.obj - 0002:00029cb0 __CrtReportBlockType 10061cb0 f LIBCMTD:dbgheap.obj - 0002:00029cf0 __CrtSetDumpClient 10061cf0 f LIBCMTD:dbgheap.obj - 0002:00029d20 __CrtGetDumpClient 10061d20 f LIBCMTD:dbgheap.obj - 0002:00029d30 __CrtMemCheckpoint 10061d30 f LIBCMTD:dbgheap.obj - 0002:00029fd0 __CrtMemDifference 10061fd0 f LIBCMTD:dbgheap.obj - 0002:0002a270 __CrtMemDumpAllObjectsSince 10062270 f LIBCMTD:dbgheap.obj - 0002:0002a2c0 ??0_LocaleUpdate@@QAE@PAUlocaleinfo_struct@@@Z 100622c0 f i LIBCMTD:dbgheap.obj - 0002:0002a3d0 ??1_LocaleUpdate@@QAE@XZ 100623d0 f i LIBCMTD:dbgheap.obj - 0002:0002a410 ?GetLocaleT@_LocaleUpdate@@QAEPAUlocaleinfo_struct@@XZ 10062410 f i LIBCMTD:dbgheap.obj - 0002:0002aa10 __CrtDumpMemoryLeaks 10062a10 f LIBCMTD:dbgheap.obj - 0002:0002aab0 __CrtMemDumpStatistics 10062ab0 f LIBCMTD:dbgheap.obj - 0002:0002ac00 __aligned_malloc 10062c00 f LIBCMTD:dbgheap.obj - 0002:0002ac30 __aligned_malloc_dbg 10062c30 f LIBCMTD:dbgheap.obj - 0002:0002ac60 __aligned_realloc 10062c60 f LIBCMTD:dbgheap.obj - 0002:0002ac90 __aligned_recalloc 10062c90 f LIBCMTD:dbgheap.obj - 0002:0002acc0 __aligned_realloc_dbg 10062cc0 f LIBCMTD:dbgheap.obj - 0002:0002acf0 __aligned_recalloc_dbg 10062cf0 f LIBCMTD:dbgheap.obj - 0002:0002ad30 __aligned_offset_malloc 10062d30 f LIBCMTD:dbgheap.obj - 0002:0002ad60 __aligned_offset_malloc_dbg 10062d60 f LIBCMTD:dbgheap.obj - 0002:0002af90 __aligned_offset_realloc 10062f90 f LIBCMTD:dbgheap.obj - 0002:0002afc0 __aligned_offset_recalloc 10062fc0 f LIBCMTD:dbgheap.obj - 0002:0002aff0 __aligned_offset_realloc_dbg 10062ff0 f LIBCMTD:dbgheap.obj - 0002:0002b3a0 __aligned_offset_recalloc_dbg 100633a0 f LIBCMTD:dbgheap.obj - 0002:0002b490 __aligned_free 10063490 f LIBCMTD:dbgheap.obj - 0002:0002b4b0 __aligned_free_dbg 100634b0 f LIBCMTD:dbgheap.obj - 0002:0002b590 __CrtSetDebugFillThreshold 10063590 f LIBCMTD:dbgheap.obj - 0002:0002b5c0 __CrtSetCheckCount 100635c0 f LIBCMTD:dbgheap.obj - 0002:0002b5e0 __CrtGetCheckCount 100635e0 f LIBCMTD:dbgheap.obj - 0002:0002b5f0 __aligned_msize 100635f0 f LIBCMTD:dbgheap.obj - 0002:0002b620 __aligned_msize_dbg 10063620 f LIBCMTD:dbgheap.obj - 0002:0002b770 __flsbuf 10063770 f LIBCMTD:_flsbuf.obj - 0002:0002bae0 __output_l 10063ae0 f LIBCMTD:output.obj - 0002:0002d420 _get_int_arg 10065420 f i LIBCMTD:output.obj - 0002:0002d450 _get_int64_arg 10065450 f i LIBCMTD:output.obj - 0002:0002d480 _get_short_arg 10065480 f i LIBCMTD:output.obj - 0002:0002d4b0 __vsprintf_l 100654b0 f LIBCMTD:vsprintf.obj - 0002:0002d6b0 _vsprintf 100656b0 f LIBCMTD:vsprintf.obj - 0002:0002d6e0 __vscprintf_helper 100656e0 f LIBCMTD:vsprintf.obj - 0002:0002d7f0 __vscprintf 100657f0 f LIBCMTD:vsprintf.obj - 0002:0002d820 __vscprintf_l 10065820 f LIBCMTD:vsprintf.obj - 0002:0002d850 __vscprintf_p 10065850 f LIBCMTD:vsprintf.obj - 0002:0002d880 __vscprintf_p_l 10065880 f LIBCMTD:vsprintf.obj - 0002:0002d8b0 __vsnprintf_helper 100658b0 f LIBCMTD:vsnprnc.obj - 0002:0002db10 __vsnprintf_c 10065b10 f LIBCMTD:vsnprnc.obj - 0002:0002db70 __vsnprintf_c_l 10065b70 f LIBCMTD:vsnprnc.obj - 0002:0002dbd0 __vsprintf_s_l 10065bd0 f LIBCMTD:vsnprnc.obj - 0002:0002ded0 _vsprintf_s 10065ed0 f LIBCMTD:vsnprnc.obj - 0002:0002df00 __vsnprintf_s_l 10065f00 f LIBCMTD:vsnprnc.obj - 0002:0002e380 __vsnprintf_s 10066380 f LIBCMTD:vsnprnc.obj - 0002:0002e3b0 __vsprintf_p 100663b0 f LIBCMTD:vsnprnc.obj - 0002:0002e410 __vsprintf_p_l 10066410 f LIBCMTD:vsnprnc.obj - 0002:0002e470 _strcpy_s 10066470 f LIBCMTD:strcpy_s.obj - 0002:0002e800 __encoded_null 10066800 f LIBCMTD:tidtable.obj - 0002:0002e820 ___crtTlsAlloc@4 10066820 f LIBCMTD:tidtable.obj - 0002:0002e840 ___fls_getvalue@4 10066840 f LIBCMTD:tidtable.obj - 0002:0002e870 ___get_flsindex 10066870 f LIBCMTD:tidtable.obj - 0002:0002e880 ___set_flsgetvalue 10066880 f LIBCMTD:tidtable.obj - 0002:0002e8e0 ___fls_setvalue@8 100668e0 f LIBCMTD:tidtable.obj - 0002:0002e910 __mtinit 10066910 f LIBCMTD:tidtable.obj - 0002:0002eb90 __mtterm 10066b90 f LIBCMTD:tidtable.obj - 0002:0002ec00 __initptd 10066c00 f LIBCMTD:tidtable.obj - 0002:0002ed70 __getptd_noexit 10066d70 f LIBCMTD:tidtable.obj - 0002:0002ee60 __getptd 10066e60 f LIBCMTD:tidtable.obj - 0002:0002ee90 __freefls@4 10066e90 f LIBCMTD:tidtable.obj - 0002:0002f120 __freeptd 10067120 f LIBCMTD:tidtable.obj - 0002:0002f1c0 ___threadid 100671c0 f LIBCMTD:tidtable.obj - 0002:0002f1d0 ___threadhandle 100671d0 f LIBCMTD:tidtable.obj - 0002:0002f1e0 ___sys_nerr 100671e0 f LIBCMTD:syserr.obj - 0002:0002f1f0 ___sys_errlist 100671f0 f LIBCMTD:syserr.obj - 0002:0002f200 _strncpy_s 10067200 f LIBCMTD:strncpy_s.obj - 0002:0002f6f0 __vsnprintf_l 100676f0 f LIBCMTD:vsnprint.obj - 0002:0002f920 _vsnprintf 10067920 f LIBCMTD:vsnprint.obj - 0002:0002f920 __vsnprintf 10067920 f LIBCMTD:vsnprint.obj - 0002:0002f950 ___iob_func 10067950 f LIBCMTD:_file.obj - 0002:0002f960 ___initstdio 10067960 f LIBCMTD:_file.obj - 0002:0002fb00 ___endstdio 10067b00 f LIBCMTD:_file.obj - 0002:0002fb40 __lock_file 10067b40 f LIBCMTD:_file.obj - 0002:0002fbb0 __lock_file2 10067bb0 f LIBCMTD:_file.obj - 0002:0002fc00 __unlock_file 10067c00 f LIBCMTD:_file.obj - 0002:0002fc70 __unlock_file2 10067c70 f LIBCMTD:_file.obj - 0002:0002fcc0 __openfile 10067cc0 f LIBCMTD:_open.obj - 0002:00030670 __getstream 10068670 f LIBCMTD:stream.obj - 0002:00030970 __local_unwind4 10068970 f LIBCMTD:exsup4.obj - 0002:00030a46 __seh_longjmp_unwind4@4 10068a46 f LIBCMTD:exsup4.obj - 0002:00030a62 @_EH4_CallFilterFunc@8 10068a62 f LIBCMTD:exsup4.obj - 0002:00030a79 @_EH4_TransferToHandler@8 10068a79 f LIBCMTD:exsup4.obj - 0002:00030a92 @_EH4_GlobalUnwind2@8 10068a92 f LIBCMTD:exsup4.obj - 0002:00030aab @_EH4_LocalUnwind@16 10068aab f LIBCMTD:exsup4.obj - 0002:00030b20 __filbuf 10068b20 f LIBCMTD:_filbuf.obj - 0002:00030e00 __read 10068e00 f LIBCMTD:read.obj - 0002:00030e00 _read 10068e00 f LIBCMTD:read.obj - 0002:00031140 __read_nolock 10069140 f LIBCMTD:read.obj - 0002:00032460 __fileno 1006a460 f LIBCMTD:fileno.obj - 0002:000324f0 _memcpy_s 1006a4f0 f LIBCMTD:memcpy_s.obj - 0002:000326e0 _write 1006a6e0 f LIBCMTD:write.obj - 0002:000326e0 __write 1006a6e0 f LIBCMTD:write.obj - 0002:00032990 __write_nolock 1006a990 f LIBCMTD:write.obj - 0002:000337a0 _fflush 1006b7a0 f LIBCMTD:fflush.obj - 0002:00033860 __fflush_nolock 1006b860 f LIBCMTD:fflush.obj - 0002:000338d0 __flush 1006b8d0 f LIBCMTD:fflush.obj - 0002:000339c0 __flushall 1006b9c0 f LIBCMTD:fflush.obj - 0002:00033bf0 __lseek 1006bbf0 f LIBCMTD:lseek.obj - 0002:00033ea0 __lseek_nolock 1006bea0 f LIBCMTD:lseek.obj - 0002:00033fb0 __close 1006bfb0 f LIBCMTD:close.obj - 0002:00033fb0 _close 1006bfb0 f LIBCMTD:close.obj - 0002:00034250 __close_nolock 1006c250 f LIBCMTD:close.obj - 0002:00034350 __freebuf 1006c350 f LIBCMTD:_freebuf.obj - 0002:00034400 @__security_check_cookie@4 1006c400 f LIBCMTD:secchk.obj - 0002:00034420 __cinit 1006c420 f LIBCMTD:crt0dat.obj - 0002:000344f0 _exit 1006c4f0 f LIBCMTD:crt0dat.obj - 0002:00034510 __exit 1006c510 f LIBCMTD:crt0dat.obj - 0002:00034530 __cexit 1006c530 f LIBCMTD:crt0dat.obj - 0002:00034550 __c_exit 1006c550 f LIBCMTD:crt0dat.obj - 0002:00034570 __amsg_exit 1006c570 f LIBCMTD:crt0dat.obj - 0002:000345a0 ___freeCrtMemory 1006c5a0 f LIBCMTD:crt0dat.obj - 0002:000349b0 ___crtCorExitProcess 1006c9b0 f LIBCMTD:crt0dat.obj - 0002:00034a00 ___crtExitProcess 1006ca00 f LIBCMTD:crt0dat.obj - 0002:00034a30 __lockexit 1006ca30 f LIBCMTD:crt0dat.obj - 0002:00034a50 __unlockexit 1006ca50 f LIBCMTD:crt0dat.obj - 0002:00034a70 __init_pointers 1006ca70 f LIBCMTD:crt0dat.obj - 0002:00034b20 __initterm_e 1006cb20 f LIBCMTD:crt0dat.obj - 0002:00034b70 __get_wpgmptr 1006cb70 f LIBCMTD:crt0dat.obj - 0002:00034ca0 __get_pgmptr 1006cca0 f LIBCMTD:crt0dat.obj - 0002:00034dd0 __setenvp 1006cdd0 f LIBCMTD:stdenvp.obj - 0002:00034fe0 __setargv 1006cfe0 f LIBCMTD:stdargv.obj - 0002:00035140 __set_pgmptr 1006d140 f i LIBCMTD:stdargv.obj - 0002:000355a0 ___crtGetEnvironmentStringsA 1006d5a0 f LIBCMTD:a_env.obj - 0002:000356e0 __RTC_Initialize 1006d6e0 f LIBCMTD:_initsect_.obj - 0002:00035710 __RTC_Terminate 1006d710 f LIBCMTD:_initsect_.obj - 0002:00035740 __heap_init 1006d740 f LIBCMTD:heapinit.obj - 0002:00035790 __heap_term 1006d790 f LIBCMTD:heapinit.obj - 0002:000357c0 __get_heap_handle 1006d7c0 f LIBCMTD:heapinit.obj - 0002:00035800 ___security_init_cookie 1006d800 f LIBCMTD:gs_support.obj - 0002:00035920 ___CppXcptFilter 1006d920 f LIBCMTD:winxfltr.obj - 0002:00035950 __XcptFilter 1006d950 f LIBCMTD:winxfltr.obj - 0002:00035c40 _DllMain@12 1006dc40 f LIBCMTD:dllmain.obj - 0002:00035c60 __mtinitlocks 1006dc60 f LIBCMTD:mlock.obj - 0002:00035d10 __mtdeletelocks 1006dd10 f LIBCMTD:mlock.obj - 0002:00035e00 __mtinitlocknum 1006de00 f LIBCMTD:mlock.obj - 0002:00035fa0 __lock 1006dfa0 f LIBCMTD:mlock.obj - 0002:00035ff0 __unlock 1006dff0 f LIBCMTD:mlock.obj - 0002:00036010 __lockerr_exit 1006e010 f LIBCMTD:mlock.obj - 0002:00036040 __CrtDefaultAllocHook 1006e040 f LIBCMTD:dbghook.obj - 0002:00036050 __crt_debugger_hook 1006e050 f LIBCMTD:dbghook.obj - 0002:00036070 __CrtDbgBreak 1006e070 f LIBCMTD:dbgrptt.obj - 0002:00036080 __CrtSetReportMode 1006e080 f LIBCMTD:dbgrptt.obj - 0002:00036210 __CrtSetReportFile 1006e210 f LIBCMTD:dbgrptt.obj - 0002:00036340 __CrtSetReportHook 1006e340 f LIBCMTD:dbgrptt.obj - 0002:00036370 __CrtGetReportHook 1006e370 f LIBCMTD:dbgrptt.obj - 0002:00036380 __VCrtDbgReportA 1006e380 f LIBCMTD:dbgrptt.obj - 0002:00036db0 __VCrtDbgReportW 1006edb0 f LIBCMTD:dbgrptt.obj - 0002:00037930 __initp_misc_winsig 1006f930 f LIBCMTD:winsig.obj - 0002:00037970 _signal 1006f970 f LIBCMTD:winsig.obj - 0002:00037f20 _raise 1006ff20 f LIBCMTD:winsig.obj - 0002:00038370 ___get_sigabrt 10070370 f LIBCMTD:winsig.obj - 0002:00038390 ___fpecode 10070390 f LIBCMTD:winsig.obj - 0002:000383b0 ___pxcptinfoptrs 100703b0 f LIBCMTD:winsig.obj - 0002:000383d0 ___crtMessageBoxW 100703d0 f LIBCMTD:crtmboxw.obj - 0002:00038680 __swprintf 10070680 f LIBCMTD:swprintf.obj - 0002:00038900 ___swprintf_l 10070900 f LIBCMTD:swprintf.obj - 0002:00038940 _swprintf_s 10070940 f LIBCMTD:swprintf.obj - 0002:00038980 __snwprintf_s 10070980 f LIBCMTD:swprintf.obj - 0002:000389c0 __swprintf_p 100709c0 f LIBCMTD:swprintf.obj - 0002:00038a00 __swprintf_s_l 10070a00 f LIBCMTD:swprintf.obj - 0002:00038a40 __snwprintf_s_l 10070a40 f LIBCMTD:swprintf.obj - 0002:00038a80 __swprintf_p_l 10070a80 f LIBCMTD:swprintf.obj - 0002:00038ac0 __scwprintf 10070ac0 f LIBCMTD:swprintf.obj - 0002:00038af0 __scwprintf_p 10070af0 f LIBCMTD:swprintf.obj - 0002:00038b20 __scwprintf_l 10070b20 f LIBCMTD:swprintf.obj - 0002:00038b50 __scwprintf_p_l 10070b50 f LIBCMTD:swprintf.obj - 0002:00038b80 _wcslen 10070b80 f LIBCMTD:wcslen.obj - 0002:00038bc0 _wcscpy_s 10070bc0 f LIBCMTD:wcscpy_s.obj - 0002:00038f60 __ValidateImageBase 10070f60 f LIBCMTD:pesect.obj - 0002:00038fe0 __FindPESection 10070fe0 f LIBCMTD:pesect.obj - 0002:00039080 __IsNonwritableInCurrentImage 10071080 f LIBCMTD:pesect.obj - 0002:000391e0 __initp_heap_handler 100711e0 f LIBCMTD:handler.obj - 0002:00039200 ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z 10071200 f LIBCMTD:handler.obj - 0002:00039250 ?_set_new_handler@@YAP6AHI@ZH@Z 10071250 f LIBCMTD:handler.obj - 0002:000392a0 ?_query_new_handler@@YAP6AHI@ZXZ 100712a0 f LIBCMTD:handler.obj - 0002:000392c0 __callnewh 100712c0 f LIBCMTD:handler.obj - 0002:00039310 __malloc_base 10071310 f LIBCMTD:malloc.obj - 0002:000393c0 __heap_alloc_base 100713c0 f i LIBCMTD:malloc.obj - 0002:00039430 __CrtSetReportHook2 10071430 f LIBCMTD:dbgrpt.obj - 0002:00039820 __CrtDbgReport 10071820 f LIBCMTD:dbgrpt.obj - 0002:00039870 __CrtDbgReportV 10071870 f i LIBCMTD:dbgrpt.obj - 0002:000398a0 ___crtMessageWindowA 100718a0 f LIBCMTD:dbgrpt.obj - 0002:00039da0 __expand_base 10071da0 f LIBCMTD:expand.obj - 0002:00039f50 __realloc_base 10071f50 f LIBCMTD:realloc.obj - 0002:0003a090 __free_base 10072090 f LIBCMTD:free.obj - 0002:0003a100 __heapchk 10072100 f LIBCMTD:heapchk.obj - 0002:0003a140 __heapset 10072140 f LIBCMTD:heapchk.obj - 0002:0003a150 ___updatetmbcinfo 10072150 f LIBCMTD:mbctype.obj - 0002:0003a2a0 __setmbcp 100722a0 f LIBCMTD:mbctype.obj - 0002:0003a730 __setmbcp_nolock 10072730 f LIBCMTD:mbctype.obj - 0002:0003b110 __getmbcp 10073110 f LIBCMTD:mbctype.obj - 0002:0003b1a0 ___initmbctable 100731a0 f LIBCMTD:mbctype.obj - 0002:0003b1d0 ___addlocaleref 100731d0 f LIBCMTD:localref.obj - 0002:0003b340 ___removelocaleref 10073340 f LIBCMTD:localref.obj - 0002:0003b4c0 ___freetlocinfo 100734c0 f LIBCMTD:localref.obj - 0002:0003b860 __updatetlocinfoEx_nolock 10073860 f LIBCMTD:localref.obj - 0002:0003b900 ___updatetlocinfo 10073900 f LIBCMTD:localref.obj - 0002:0003ba00 __chvalidator 10073a00 f LIBCMTD:isctype.obj - 0002:0003ba60 __chvalidator_l 10073a60 f LIBCMTD:isctype.obj - 0002:0003bb40 __isctype_l 10073b40 f LIBCMTD:isctype.obj - 0002:0003bca0 __isctype 10073ca0 f LIBCMTD:isctype.obj - 0002:0003bcf0 __getbuf 10073cf0 f LIBCMTD:_getbuf.obj - 0002:0003bdf0 __isatty 10073df0 f LIBCMTD:isatty.obj - 0002:0003bee0 __initp_misc_cfltcvt_tab 10073ee0 f LIBCMTD:cmiscdat.obj - 0002:0003bf30 _printf 10073f30 f LIBCMTD:printf.obj - 0002:0003c0c0 __printf_l 100740c0 f LIBCMTD:printf.obj - 0002:0003c0f0 __printf_s_l 100740f0 f LIBCMTD:printf.obj - 0002:0003c120 _printf_s 10074120 f LIBCMTD:printf.obj - 0002:0003c150 __printf_p_l 10074150 f LIBCMTD:printf.obj - 0002:0003c180 __printf_p 10074180 f LIBCMTD:printf.obj - 0002:0003c1b0 __set_printf_count_output 100741b0 f LIBCMTD:printf.obj - 0002:0003c210 __get_printf_count_output 10074210 f LIBCMTD:printf.obj - 0002:0003c240 __wctomb_s_l 10074240 f LIBCMTD:wctomb.obj - 0002:0003c600 _wctomb_s 10074600 f LIBCMTD:wctomb.obj - 0002:0003c630 __wctomb_l 10074630 f LIBCMTD:wctomb.obj - 0002:0003c6d0 _wctomb 100746d0 f LIBCMTD:wctomb.obj - 0002:0003c730 __isleadbyte_l 10074730 f i LIBCMTD:_wctype.obj - 0002:0003c790 _isleadbyte 10074790 f i LIBCMTD:_wctype.obj - 0002:0003c7b0 __iswalpha_l 100747b0 f i LIBCMTD:_wctype.obj - 0002:0003c7d0 _iswalpha 100747d0 f i LIBCMTD:_wctype.obj - 0002:0003c7f0 __iswupper_l 100747f0 f i LIBCMTD:_wctype.obj - 0002:0003c810 _iswupper 10074810 f i LIBCMTD:_wctype.obj - 0002:0003c830 __iswlower_l 10074830 f i LIBCMTD:_wctype.obj - 0002:0003c850 _iswlower 10074850 f i LIBCMTD:_wctype.obj - 0002:0003c870 __iswdigit_l 10074870 f i LIBCMTD:_wctype.obj - 0002:0003c890 _iswdigit 10074890 f i LIBCMTD:_wctype.obj - 0002:0003c8b0 __iswxdigit_l 100748b0 f i LIBCMTD:_wctype.obj - 0002:0003c8d0 _iswxdigit 100748d0 f i LIBCMTD:_wctype.obj - 0002:0003c8f0 __iswspace_l 100748f0 f i LIBCMTD:_wctype.obj - 0002:0003c910 _iswspace 10074910 f i LIBCMTD:_wctype.obj - 0002:0003c930 __iswpunct_l 10074930 f i LIBCMTD:_wctype.obj - 0002:0003c950 _iswpunct 10074950 f i LIBCMTD:_wctype.obj - 0002:0003c970 __iswalnum_l 10074970 f i LIBCMTD:_wctype.obj - 0002:0003c990 _iswalnum 10074990 f i LIBCMTD:_wctype.obj - 0002:0003c9b0 __iswprint_l 100749b0 f i LIBCMTD:_wctype.obj - 0002:0003c9d0 _iswprint 100749d0 f i LIBCMTD:_wctype.obj - 0002:0003c9f0 __iswgraph_l 100749f0 f i LIBCMTD:_wctype.obj - 0002:0003ca10 _iswgraph 10074a10 f i LIBCMTD:_wctype.obj - 0002:0003ca30 __iswcntrl_l 10074a30 f i LIBCMTD:_wctype.obj - 0002:0003ca50 _iswcntrl 10074a50 f i LIBCMTD:_wctype.obj - 0002:0003ca70 _iswascii 10074a70 f i LIBCMTD:_wctype.obj - 0002:0003ca90 __iswcsym_l 10074a90 f i LIBCMTD:_wctype.obj - 0002:0003cae0 ___iswcsym 10074ae0 f i LIBCMTD:_wctype.obj - 0002:0003cb30 __iswcsymf_l 10074b30 f i LIBCMTD:_wctype.obj - 0002:0003cb80 ___iswcsymf 10074b80 f i LIBCMTD:_wctype.obj - 0002:0003cbd0 __aullrem 10074bd0 f LIBCMTD:ullrem.obj - 0002:0003cc70 __validate_param_reuseA 10074c70 f LIBCMTD:outputp.obj - 0002:0003cf80 __output_p_l 10074f80 f LIBCMTD:outputp.obj - 0002:00041a30 _get_crtdouble_arg 10079a30 f i LIBCMTD:outputp.obj - 0002:00041a60 __output_s_l 10079a60 f LIBCMTD:outputs.obj - 0002:00043550 __fcloseall 1007b550 f LIBCMTD:closeall.obj - 0002:000436d0 _open 1007b6d0 f LIBCMTD:open.obj - 0002:000436d0 __open 1007b6d0 f LIBCMTD:open.obj - 0002:000438b0 __sopen_helper 1007b8b0 f LIBCMTD:open.obj - 0002:00044fa0 __sopen 1007cfa0 f LIBCMTD:open.obj - 0002:00045030 __sopen_s 1007d030 f LIBCMTD:open.obj - 0002:00045060 __mbsnbicmp_l 1007d060 f LIBCMTD:mbsnbicm.obj - 0002:00045630 __mbsnbicmp 1007d630 f LIBCMTD:mbsnbicm.obj - 0002:00045660 __mbsnbcmp_l 1007d660 f LIBCMTD:mbsnbcmp.obj - 0002:00045a00 __mbsnbcmp 1007da00 f LIBCMTD:mbsnbcmp.obj - 0002:00045a30 __global_unwind2 1007da30 f LIBCMTD:exsup.obj - 0002:00045a95 __local_unwind2 1007da95 f LIBCMTD:exsup.obj - 0002:00045b19 __abnormal_termination 1007db19 f LIBCMTD:exsup.obj - 0002:00045b3c __NLG_Notify1 1007db3c f LIBCMTD:exsup.obj - 0002:00045b45 __NLG_Notify 1007db45 f LIBCMTD:exsup.obj - 0002:00045b5c __NLG_Dispatch2 1007db5c LIBCMTD:exsup.obj - 0002:00045b5c __NLG_Dispatch 1007db5c LIBCMTD:exsup.obj - 0002:00045b64 __NLG_Call 1007db64 f LIBCMTD:exsup.obj - 0002:00045b66 __NLG_Return2 1007db66 LIBCMTD:exsup.obj - 0002:00045bc0 __putwch 1007dbc0 f LIBCMTD:putwch.obj - 0002:00045c70 __putwch_nolock 1007dc70 f LIBCMTD:putwch.obj - 0002:00045ce0 __mbtowc_l 1007dce0 f LIBCMTD:mbtowc.obj - 0002:00045f80 _mbtowc 1007df80 f LIBCMTD:mbtowc.obj - 0002:00045fb0 __commit 1007dfb0 f LIBCMTD:commit.obj - 0002:00046250 ___report_gsfailure 1007e250 f LIBCMTD:gs_report.obj - 0002:000463b0 __onexit 1007e3b0 f LIBCMTD:onexit.obj - 0002:000465f0 _atexit 1007e5f0 f LIBCMTD:onexit.obj - 0002:00046620 ___onexitinit 1007e620 f LIBCMTD:onexit.obj - 0002:00046690 __FF_MSGBANNER 1007e690 f LIBCMTD:crt0msg.obj - 0002:000466f0 __GET_RTERRMSG 1007e6f0 f LIBCMTD:crt0msg.obj - 0002:00046750 __NMSG_WRITE 1007e750 f LIBCMTD:crt0msg.obj - 0002:00046b50 __initp_eh_hooks 1007eb50 f LIBCMTD:hooks.obj - 0002:00046b70 ?terminate@@YAXXZ 1007eb70 f LIBCMTD:hooks.obj - 0002:00046c10 ?unexpected@@YAXXZ 1007ec10 f LIBCMTD:hooks.obj - 0002:00046c40 ?_inconsistency@@YAXXZ 1007ec40 f LIBCMTD:hooks.obj - 0002:00046cf0 __initp_misc_rand_s 1007ecf0 f LIBCMTD:rand_s.obj - 0002:00046d10 _rand_s 1007ed10 f LIBCMTD:rand_s.obj - 0002:00046fb0 ___getlocaleinfo 1007efb0 f LIBCMTD:inithelp.obj - 0002:00047340 __initp_misc_purevirt 1007f340 f LIBCMTD:inithelp.obj - 0002:00047360 __ismbbkalnum_l 1007f360 f LIBCMTD:ismbbyte.obj - 0002:00047390 __ismbbkalnum 1007f390 f LIBCMTD:ismbbyte.obj - 0002:000473b0 __ismbbkprint_l 1007f3b0 f LIBCMTD:ismbbyte.obj - 0002:000473e0 __ismbbkprint 1007f3e0 f LIBCMTD:ismbbyte.obj - 0002:00047400 __ismbbkpunct_l 1007f400 f LIBCMTD:ismbbyte.obj - 0002:00047430 __ismbbkpunct 1007f430 f LIBCMTD:ismbbyte.obj - 0002:00047450 __ismbbalnum_l 1007f450 f LIBCMTD:ismbbyte.obj - 0002:00047480 __ismbbalnum 1007f480 f LIBCMTD:ismbbyte.obj - 0002:000474b0 __ismbbalpha_l 1007f4b0 f LIBCMTD:ismbbyte.obj - 0002:000474e0 __ismbbalpha 1007f4e0 f LIBCMTD:ismbbyte.obj - 0002:00047510 __ismbbgraph_l 1007f510 f LIBCMTD:ismbbyte.obj - 0002:00047540 __ismbbgraph 1007f540 f LIBCMTD:ismbbyte.obj - 0002:00047570 __ismbbprint_l 1007f570 f LIBCMTD:ismbbyte.obj - 0002:000475a0 __ismbbprint 1007f5a0 f LIBCMTD:ismbbyte.obj - 0002:000475d0 __ismbbpunct_l 1007f5d0 f LIBCMTD:ismbbyte.obj - 0002:00047600 __ismbbpunct 1007f600 f LIBCMTD:ismbbyte.obj - 0002:00047620 __ismbblead_l 1007f620 f LIBCMTD:ismbbyte.obj - 0002:00047650 __ismbblead 1007f650 f LIBCMTD:ismbbyte.obj - 0002:00047670 __ismbbtrail_l 1007f670 f LIBCMTD:ismbbyte.obj - 0002:000476a0 __ismbbtrail 1007f6a0 f LIBCMTD:ismbbyte.obj - 0002:000476c0 __ismbbkana_l 1007f6c0 f LIBCMTD:ismbbyte.obj - 0002:00047750 __ismbbkana 1007f750 f LIBCMTD:ismbbyte.obj - 0002:00047870 __mbstowcs_l_helper 1007f870 f LIBCMTD:mbstowcs.obj - 0002:00047ca0 __mbstowcs_l 1007fca0 f LIBCMTD:mbstowcs.obj - 0002:00047cd0 _mbstowcs 1007fcd0 f LIBCMTD:mbstowcs.obj - 0002:00047d30 __mbstowcs_s_l 1007fd30 f LIBCMTD:mbstowcs.obj - 0002:00048190 _mbstowcs_s 10080190 f LIBCMTD:mbstowcs.obj - 0002:000481c0 _strcat_s 100801c0 f LIBCMTD:strcat_s.obj - 0002:00048690 __itoa_s 10080690 f LIBCMTD:xtoas.obj - 0002:00048b40 __ltoa_s 10080b40 f LIBCMTD:xtoas.obj - 0002:00048b90 __ultoa_s 10080b90 f LIBCMTD:xtoas.obj - 0002:00048bc0 __i64toa_s 10080bc0 f LIBCMTD:xtoas.obj - 0002:000490c0 __ui64toa_s 100810c0 f LIBCMTD:xtoas.obj - 0002:000490f0 __wcstombs_l_helper 100810f0 f LIBCMTD:wcstombs.obj - 0002:00049790 __wcstombs_l 10081790 f LIBCMTD:wcstombs.obj - 0002:000497c0 _wcstombs 100817c0 f LIBCMTD:wcstombs.obj - 0002:000497f0 __wcstombs_s_l 100817f0 f LIBCMTD:wcstombs.obj - 0002:00049be0 _wcstombs_s 10081be0 f LIBCMTD:wcstombs.obj - 0002:00049c10 _wcscat_s 10081c10 f LIBCMTD:wcscat_s.obj - 0002:0004a0f0 __vswprintf_helper 100820f0 f LIBCMTD:vswprnc.obj - 0002:0004a3e0 __vswprintf_c 100823e0 f LIBCMTD:vswprnc.obj - 0002:0004a440 __vswprintf_c_l 10082440 f LIBCMTD:vswprnc.obj - 0002:0004a4a0 __vswprintf_s_l 100824a0 f LIBCMTD:vswprnc.obj - 0002:0004a7a0 _vswprintf_s 100827a0 f LIBCMTD:vswprnc.obj - 0002:0004a7d0 __vsnwprintf_s_l 100827d0 f LIBCMTD:vswprnc.obj - 0002:0004ac70 __vsnwprintf_s 10082c70 f LIBCMTD:vswprnc.obj - 0002:0004aca0 __vswprintf_p 10082ca0 f LIBCMTD:vswprnc.obj - 0002:0004ad00 __vswprintf_p_l 10082d00 f LIBCMTD:vswprnc.obj - 0002:0004ad60 __itow_s 10082d60 f LIBCMTD:xtows.obj - 0002:0004b230 __ltow_s 10083230 f LIBCMTD:xtows.obj - 0002:0004b280 __ultow_s 10083280 f LIBCMTD:xtows.obj - 0002:0004b2b0 __i64tow_s 100832b0 f LIBCMTD:xtows.obj - 0002:0004b7d0 __ui64tow_s 100837d0 f LIBCMTD:xtows.obj - 0002:0004b800 __woutput_l 10083800 f LIBCMTD:woutput.obj - 0002:0004ce50 __vswprintf_l 10084e50 f LIBCMTD:vswprint.obj - 0002:0004d0c0 __vswprintf 100850c0 f LIBCMTD:vswprint.obj - 0002:0004d0f0 ___vswprintf_l 100850f0 f LIBCMTD:vswprint.obj - 0002:0004d120 __vscwprintf_helper 10085120 f LIBCMTD:vswprint.obj - 0002:0004d230 __vscwprintf 10085230 f LIBCMTD:vswprint.obj - 0002:0004d260 __vscwprintf_l 10085260 f LIBCMTD:vswprint.obj - 0002:0004d290 __vscwprintf_p 10085290 f LIBCMTD:vswprint.obj - 0002:0004d2c0 __vscwprintf_p_l 100852c0 f LIBCMTD:vswprint.obj - 0002:0004d2f0 ___crtMessageBoxA 100852f0 f LIBCMTD:crtmbox.obj - 0002:0004d5a0 ?_JumpToContinuation@@YGXPAXPAUEHRegistrationNode@@@Z 100855a0 f LIBCMTD:_trnsctrl_.obj - 0002:0004d5f0 ?_CallMemberFunction0@@YGXPAX0@Z 100855f0 f LIBCMTD:_trnsctrl_.obj - 0002:0004d600 ?_CallMemberFunction1@@YGXPAX00@Z 10085600 f LIBCMTD:_trnsctrl_.obj - 0002:0004d610 ?_CallMemberFunction2@@YGXPAX00H@Z 10085610 f LIBCMTD:_trnsctrl_.obj - 0002:0004d620 ?_UnwindNestedFrames@@YGXPAUEHRegistrationNode@@PAUEHExceptionRecord@@@Z 10085620 f LIBCMTD:_trnsctrl_.obj - 0002:0004d690 ___CxxFrameHandler 10085690 f LIBCMTD:_trnsctrl_.obj - 0002:0004d6e0 ___CxxFrameHandler3 100856e0 f LIBCMTD:_trnsctrl_.obj - 0002:0004d730 ___CxxFrameHandler2 10085730 f LIBCMTD:_trnsctrl_.obj - 0002:0004d780 ___CxxLongjmpUnwind@4 10085780 f LIBCMTD:_trnsctrl_.obj - 0002:0004d7c0 ?_CallCatchBlock2@@YAPAXPAUEHRegistrationNode@@PBU_s_FuncInfo@@PAXHK@Z 100857c0 f LIBCMTD:_trnsctrl_.obj - 0002:0004d8b0 ?_CallSETranslator@@YAHPAUEHExceptionRecord@@PAUEHRegistrationNode@@PAX2PBU_s_FuncInfo@@H1@Z 100858b0 f LIBCMTD:_trnsctrl_.obj - 0002:0004dac0 ?_GetRangeOfTrysToCheck@@YAPBU_s_TryBlockMapEntry@@PBU_s_FuncInfo@@HHPAI1@Z 10085ac0 f LIBCMTD:_trnsctrl_.obj - 0002:0004db60 __CreateFrameInfo 10085b60 f LIBCMTD:_trnsctrl_.obj - 0002:0004dba0 __IsExceptionObjectToBeDestroyed 10085ba0 f LIBCMTD:_trnsctrl_.obj - 0002:0004dbe0 __FindAndUnlinkFrame 10085be0 f LIBCMTD:_trnsctrl_.obj - 0002:0004dc50 ___crtLCMapStringA 10085c50 f LIBCMTD:a_map.obj - 0002:0004e000 __MarkAllocaS 10086000 f i LIBCMTD:a_map.obj - 0002:0004e030 __freea 10086030 f i LIBCMTD:a_map.obj - 0002:0004e110 ___crtGetStringTypeA 10086110 f LIBCMTD:a_str.obj - 0002:0004e2d0 ___init_time 100862d0 f LIBCMTD:inittime.obj - 0002:0004f340 ___free_lc_time 10087340 f LIBCMTD:inittime.obj - 0002:0004fb50 ___init_numeric 10087b50 f LIBCMTD:initnum.obj - 0002:0004fff0 ___free_lconv_num 10087ff0 f LIBCMTD:initnum.obj - 0002:000500d0 ___init_monetary 100880d0 f LIBCMTD:initmon.obj - 0002:00050830 ___free_lconv_mon 10088830 f LIBCMTD:initmon.obj - 0002:00050a40 _localeconv 10088a40 f LIBCMTD:lconv.obj - 0002:00050aa0 ___pwctype_func 10088aa0 f LIBCMTD:ctype.obj - 0002:00050ab0 ___pctype_func 10088ab0 f LIBCMTD:ctype.obj - 0002:00050b10 ____setlc_active_func 10088b10 f LIBCMTD:setlocal.obj - 0002:00050b20 ____unguarded_readlc_active_add_func 10088b20 f LIBCMTD:setlocal.obj - 0002:00050b30 __configthreadlocale 10088b30 f LIBCMTD:setlocal.obj - 0002:00050c80 __locterm 10088c80 f LIBCMTD:setlocal.obj - 0002:00050d40 __free_locale 10088d40 f LIBCMTD:setlocal.obj - 0002:00050ed0 ___free_locale 10088ed0 f LIBCMTD:setlocal.obj - 0002:00050ef0 __create_locale 10088ef0 f LIBCMTD:setlocal.obj - 0002:000511b0 ___create_locale 100891b0 f LIBCMTD:setlocal.obj - 0002:000511d0 __get_current_locale 100891d0 f LIBCMTD:setlocal.obj - 0002:00051330 ___get_current_locale 10089330 f LIBCMTD:setlocal.obj - 0002:00051340 _setlocale 10089340 f LIBCMTD:setlocal.obj - 0002:000525a0 __expandlocale 1008a5a0 f LIBCMTD:setlocal.obj - 0002:000528f0 ___init_dummy 1008a8f0 f LIBCMTD:setlocal.obj - 0002:00052900 __strcats 1008a900 f LIBCMTD:setlocal.obj - 0002:000529a0 ___lc_strtolc 1008a9a0 f LIBCMTD:setlocal.obj - 0002:00052c20 ___lc_lctostr 1008ac20 f LIBCMTD:setlocal.obj - 0002:00052ce0 __fptrap 1008ace0 f LIBCMTD:crt0fp.obj - 0002:00052d00 __stbuf 1008ad00 f LIBCMTD:_sftbuf.obj - 0002:00052eb0 __ftbuf 1008aeb0 f LIBCMTD:_sftbuf.obj - 0002:00052f60 _vprintf_helper 1008af60 f LIBCMTD:vprintf.obj - 0002:000530c0 __vprintf_l 1008b0c0 f LIBCMTD:vprintf.obj - 0002:000530f0 __vprintf_s_l 1008b0f0 f LIBCMTD:vprintf.obj - 0002:00053120 __vprintf_p_l 1008b120 f LIBCMTD:vprintf.obj - 0002:00053150 _vprintf 1008b150 f LIBCMTD:vprintf.obj - 0002:00053180 _vprintf_s 1008b180 f LIBCMTD:vprintf.obj - 0002:000531b0 __vprintf_p 1008b1b0 f LIBCMTD:vprintf.obj - 0002:000531e0 ___init_ctype 1008b1e0 f LIBCMTD:initctyp.obj - 0002:00053900 ____mb_cur_max_func 1008b900 f LIBCMTD:initctyp.obj - 0002:00053960 ____mb_cur_max_l_func 1008b960 f LIBCMTD:initctyp.obj - 0002:000539a0 ____lc_codepage_func 1008b9a0 f LIBCMTD:initctyp.obj - 0002:00053a00 ____lc_collate_cp_func 1008ba00 f LIBCMTD:initctyp.obj - 0002:00053a60 ____lc_handle_func 1008ba60 f LIBCMTD:initctyp.obj - 0002:00053ac0 __iswctype_l 1008bac0 f LIBCMTD:iswctype.obj - 0002:00053ae0 _iswctype 1008bae0 f LIBCMTD:iswctype.obj - 0002:00053b60 _is_wctype 1008bb60 f LIBCMTD:iswctype.obj - 0002:00053b80 _strtol 1008bb80 f LIBCMTD:strtol.obj - 0002:00054200 __strtol_l 1008c200 f LIBCMTD:strtol.obj - 0002:00054230 _strtoul 1008c230 f LIBCMTD:strtol.obj - 0002:00054290 __strtoul_l 1008c290 f LIBCMTD:strtol.obj - 0002:000542c0 __chsize_s 1008c2c0 f LIBCMTD:chsize.obj - 0002:00054600 __chsize_nolock 1008c600 f LIBCMTD:chsize.obj - 0002:00054940 __chsize 1008c940 f LIBCMTD:chsize.obj - 0002:00054970 __setmode 1008c970 f LIBCMTD:setmode.obj - 0002:00054ca0 __setmode_nolock 1008cca0 f LIBCMTD:setmode.obj - 0002:00054fa0 __set_fmode 1008cfa0 f LIBCMTD:setmode.obj - 0002:00055080 __get_fmode 1008d080 f LIBCMTD:setmode.obj - 0002:00055120 __strnicmp_l 1008d120 f LIBCMTD:strnicmp.obj - 0002:000553f0 __strnicmp 1008d3f0 f LIBCMTD:strnicmp.obj - 0002:000555e0 _strncmp 1008d5e0 f LIBCMTD:strncmp.obj - 0002:000557b0 ___initconout 1008d7b0 f LIBCMTD:initcon.obj - 0002:000557e0 ___termconout 1008d7e0 f LIBCMTD:initcon.obj - 0002:00055810 __set_error_mode 1008d810 f LIBCMTD:errmode.obj - 0002:00055900 ___set_app_type 1008d900 f LIBCMTD:errmode.obj - 0002:00055920 _wcsncpy_s 1008d920 f LIBCMTD:wcsncpy_s.obj - 0002:00055e30 _abort 1008de30 f LIBCMTD:abort.obj - 0002:00055eb0 __set_abort_behavior 1008deb0 f LIBCMTD:abort.obj - 0002:00055ef0 ___crtGetLocaleInfoA 1008def0 f LIBCMTD:a_loc.obj - 0002:000560a0 __woutput_s_l 1008e0a0 f LIBCMTD:woutputs.obj - 0002:000578a0 __validate_param_reuseW 1008f8a0 f LIBCMTD:woutputp.obj - 0002:00057bb0 __woutput_p_l 1008fbb0 f LIBCMTD:woutputp.obj - 0002:0005c0f0 _fputwc 100940f0 f LIBCMTD:fputwc.obj - 0002:0005c230 __fputwc_nolock 10094230 f LIBCMTD:fputwc.obj - 0002:0005c5e0 _putwc 100945e0 f LIBCMTD:fputwc.obj - 0002:0005c600 ___InternalCxxFrameHandler 10094600 f LIBCMTD:frame.obj - 0002:0005cd70 ??0bad_exception@std@@QAE@PBD@Z 10094d70 f i LIBCMTD:frame.obj - 0002:0005cda0 ??1bad_exception@std@@UAE@XZ 10094da0 f i LIBCMTD:frame.obj - 0002:0005cdd0 ??_Gbad_exception@std@@UAEPAXI@Z 10094dd0 f i LIBCMTD:frame.obj - 0002:0005cdd0 ??_Ebad_exception@std@@UAEPAXI@Z 10094dd0 f i LIBCMTD:frame.obj - 0002:0005ce10 ??0bad_exception@std@@QAE@ABV01@@Z 10094e10 f i LIBCMTD:frame.obj - 0002:0005d030 ___TypeMatch 10095030 f LIBCMTD:frame.obj - 0002:0005d110 ___FrameUnwindFilter 10095110 f LIBCMTD:frame.obj - 0002:0005d1b0 ___FrameUnwindToState 100951b0 f LIBCMTD:frame.obj - 0002:0005d840 ___BuildCatchObjectHelper 10095840 f LIBCMTD:frame.obj - 0002:0005db50 ___BuildCatchObject 10095b50 f LIBCMTD:frame.obj - 0002:0005dca0 ___DestructExceptionObject 10095ca0 f LIBCMTD:frame.obj - 0002:0005dd80 ___AdjustPointer 10095d80 f LIBCMTD:frame.obj - 0002:0005dde0 ?__uncaught_exception@@YA_NXZ 10095de0 f LIBCMTD:frame.obj - 0002:0005de00 ___CxxExceptionFilter 10095e00 f LIBCMTD:frame.obj - 0002:0005e070 ___CxxRegisterExceptionObject 10096070 f LIBCMTD:frame.obj - 0002:0005e1f0 ___CxxDetectRethrow 100961f0 f LIBCMTD:frame.obj - 0002:0005e2a0 ___CxxUnregisterExceptionObject 100962a0 f LIBCMTD:frame.obj - 0002:0005e480 ___CxxQueryExceptionSize 10096480 f LIBCMTD:frame.obj - 0002:0005e490 ___CxxCallUnwindDtor 10096490 f LIBCMTD:frame.obj - 0002:0005e530 ___CxxCallUnwindDelDtor 10096530 f LIBCMTD:frame.obj - 0002:0005e5d0 ___CxxCallUnwindStdDelDtor 100965d0 f LIBCMTD:frame.obj - 0002:0005e670 ___CxxCallUnwindVecDtor 10096670 f LIBCMTD:frame.obj - 0002:0005e940 ?_is_exception_typeof@@YAHABVtype_info@@PAU_EXCEPTION_POINTERS@@@Z 10096940 f LIBCMTD:frame.obj - 0002:0005ea50 __CallSettingFrame@12 10096a50 f LIBCMTD:lowhelpr.obj - 0002:0005ea77 __NLG_Return 10096a77 LIBCMTD:lowhelpr.obj - 0002:0005eab0 ___init_collate 10096ab0 f LIBCMTD:initcoll.obj - 0002:0005eac0 _strcspn 10096ac0 f LIBCMTD:strcspn.obj - 0002:0005eb20 _strpbrk 10096b20 f LIBCMTD:strpbrk.obj - 0002:0005eb70 _memcmp 10096b70 f LIBCMTD:memcmp.obj - 0002:0005f890 ___get_qualified_locale 10097890 f LIBCMTD:getqloc.obj - 0002:00060a60 __tolower 10098a60 f LIBCMTD:tolower.obj - 0002:00060a70 __tolower_l 10098a70 f LIBCMTD:tolower.obj - 0002:00060cc0 _tolower 10098cc0 f LIBCMTD:tolower.obj - 0002:00060d20 ___ascii_strnicmp 10098d20 f LIBCMTD:_strnicm.obj - 0002:00060da0 _wcstol 10098da0 f LIBCMTD:wcstol.obj - 0002:00061260 __wcstol_l 10099260 f LIBCMTD:wcstol.obj - 0002:00061290 _wcstoul 10099290 f LIBCMTD:wcstol.obj - 0002:000612c0 __wcstoul_l 100992c0 f LIBCMTD:wcstol.obj - 0002:000612f0 __flswbuf 100992f0 f LIBCMTD:_flswbuf.obj - 0002:00061680 ?_ValidateRead@@YAHPBXI@Z 10099680 f LIBCMTD:validate.obj - 0002:000616b0 ?_ValidateWrite@@YAHPAXI@Z 100996b0 f LIBCMTD:validate.obj - 0002:000616e0 ?_ValidateExecute@@YAHP6GHXZ@Z 100996e0 f LIBCMTD:validate.obj - 0002:00061710 __CxxThrowException@8 10099710 f LIBCMTD:throw.obj - 0002:00061780 ?name@type_info@@QBEPBDPAU__type_info_node@@@Z 10099780 f LIBCMTD:typinfo.obj - 0002:000617b0 ??1type_info@@UAE@XZ 100997b0 f LIBCMTD:typinfo.obj - 0002:000617e0 ??_Etype_info@@UAEPAXI@Z 100997e0 f i LIBCMTD:typinfo.obj - 0002:000617e0 ??_Gtype_info@@UAEPAXI@Z 100997e0 f i LIBCMTD:typinfo.obj - 0002:00061820 ?_name_internal_method@type_info@@QBEPBDPAU__type_info_node@@@Z 10099820 f LIBCMTD:typinfo.obj - 0002:00061850 ?_type_info_dtor_internal_method@type_info@@QAEXXZ 10099850 f LIBCMTD:typinfo.obj - 0002:00061870 ??8type_info@@QBE_NABV0@@Z 10099870 f LIBCMTD:typinfo.obj - 0002:000618b0 ??9type_info@@QBE_NABV0@@Z 100998b0 f LIBCMTD:typinfo.obj - 0002:000618f0 ?before@type_info@@QBEHABV1@@Z 100998f0 f LIBCMTD:typinfo.obj - 0002:00061930 ?raw_name@type_info@@QBEPBDXZ 10099930 f LIBCMTD:typinfo.obj - 0002:00061950 ??0type_info@@AAE@ABV0@@Z 10099950 f LIBCMTD:typinfo.obj - 0002:00061980 ??4type_info@@AAEAAV0@ABV0@@Z 10099980 f LIBCMTD:typinfo.obj - 0002:000619a0 ??0exception@std@@QAE@XZ 100999a0 f LIBCMTD:stdexcpt.obj - 0002:000619e0 ??_Gexception@std@@UAEPAXI@Z 100999e0 f i LIBCMTD:stdexcpt.obj - 0002:000619e0 ??_Eexception@std@@UAEPAXI@Z 100999e0 f i LIBCMTD:stdexcpt.obj - 0002:00061a20 ??0exception@std@@QAE@ABQBD@Z 10099a20 f LIBCMTD:stdexcpt.obj - 0002:00061a70 ??0exception@std@@QAE@ABQBDH@Z 10099a70 f LIBCMTD:stdexcpt.obj - 0002:00061ab0 ??0exception@std@@QAE@ABV01@@Z 10099ab0 f LIBCMTD:stdexcpt.obj - 0002:00061b00 ??4exception@std@@QAEAAV01@ABV01@@Z 10099b00 f LIBCMTD:stdexcpt.obj - 0002:00061b60 ??1exception@std@@UAE@XZ 10099b60 f LIBCMTD:stdexcpt.obj - 0002:00061b90 ?what@exception@std@@UBEPBDXZ 10099b90 f LIBCMTD:stdexcpt.obj - 0002:00061bd0 ?_Copy_str@exception@std@@AAEXPBD@Z 10099bd0 f LIBCMTD:stdexcpt.obj - 0002:00061c50 ?_Tidy@exception@std@@AAEXXZ 10099c50 f LIBCMTD:stdexcpt.obj - 0002:00061ca0 ??0bad_cast@std@@QAE@PBD@Z 10099ca0 f LIBCMTD:stdexcpt.obj - 0002:00061cd0 ??_Gbad_cast@std@@UAEPAXI@Z 10099cd0 f i LIBCMTD:stdexcpt.obj - 0002:00061cd0 ??_Ebad_cast@std@@UAEPAXI@Z 10099cd0 f i LIBCMTD:stdexcpt.obj - 0002:00061d10 ??0bad_cast@std@@QAE@ABV01@@Z 10099d10 f LIBCMTD:stdexcpt.obj - 0002:00061d40 ??1bad_cast@std@@UAE@XZ 10099d40 f LIBCMTD:stdexcpt.obj - 0002:00061d70 ??0bad_typeid@std@@QAE@PBD@Z 10099d70 f LIBCMTD:stdexcpt.obj - 0002:00061da0 ??_Gbad_typeid@std@@UAEPAXI@Z 10099da0 f i LIBCMTD:stdexcpt.obj - 0002:00061da0 ??_Ebad_typeid@std@@UAEPAXI@Z 10099da0 f i LIBCMTD:stdexcpt.obj - 0002:00061de0 ??0bad_typeid@std@@QAE@ABV01@@Z 10099de0 f LIBCMTD:stdexcpt.obj - 0002:00061e10 ??1bad_typeid@std@@UAE@XZ 10099e10 f LIBCMTD:stdexcpt.obj - 0002:00061e40 ??0__non_rtti_object@std@@QAE@PBD@Z 10099e40 f LIBCMTD:stdexcpt.obj - 0002:00061e70 ??_G__non_rtti_object@std@@UAEPAXI@Z 10099e70 f i LIBCMTD:stdexcpt.obj - 0002:00061e70 ??_E__non_rtti_object@std@@UAEPAXI@Z 10099e70 f i LIBCMTD:stdexcpt.obj - 0002:00061eb0 ??0__non_rtti_object@std@@QAE@ABV01@@Z 10099eb0 f LIBCMTD:stdexcpt.obj - 0002:00061ee0 ??1__non_rtti_object@std@@UAE@XZ 10099ee0 f LIBCMTD:stdexcpt.obj - 0002:00061f10 ??3@YAXPAX@Z 10099f10 f LIBCMTD:dbgdel.obj - 0002:00062030 __stricmp_l 1009a030 f LIBCMTD:stricmp.obj - 0002:00062240 ___ascii_stricmp 1009a240 f LIBCMTD:stricmp.obj - 0002:000622d0 __stricmp 1009a2d0 f LIBCMTD:stricmp.obj - 0002:00062420 _atol 1009a420 f LIBCMTD:atox.obj - 0002:00062440 __atol_l 1009a440 f LIBCMTD:atox.obj - 0002:00062470 _atoi 1009a470 f LIBCMTD:atox.obj - 0002:00062490 __atoi_l 1009a490 f LIBCMTD:atox.obj - 0002:000624b0 __atoi64 1009a4b0 f LIBCMTD:atox.obj - 0002:000624d0 __atoi64_l 1009a4d0 f LIBCMTD:atox.obj - 0002:00062500 __wchartodigit 1009a500 f LIBCMTD:wchtodig.obj - 0002:000628f0 ?_Type_info_dtor@type_info@@CAXPAV1@@Z 1009a8f0 f LIBCMTD:typname.obj - 0002:00062a40 ?_Name_base@type_info@@CAPBDPBV1@PAU__type_info_node@@@Z 1009aa40 f LIBCMTD:typname.obj - 0002:00062c50 ?_Type_info_dtor_internal@type_info@@CAXPAV1@@Z 1009ac50 f LIBCMTD:typname.obj - 0002:00062da0 ___unDNameHelper 1009ada0 f LIBCMTD:typname.obj - 0002:00062df0 ?_Name_base_internal@type_info@@CAPBDPBV1@PAU__type_info_node@@@Z 1009adf0 f LIBCMTD:typname.obj - 0002:00063020 ___clean_type_info_names_internal 1009b020 f LIBCMTD:typname.obj - 0002:00063100 __strtoi64 1009b100 f LIBCMTD:strtoq.obj - 0002:000637d0 __strtoi64_l 1009b7d0 f LIBCMTD:strtoq.obj - 0002:00063800 __strtoui64 1009b800 f LIBCMTD:strtoq.obj - 0002:00063860 __strtoui64_l 1009b860 f LIBCMTD:strtoq.obj - 0002:00063890 ___unDName 1009b890 f LIBCMTD:undname.obj - 0002:000639a0 ?Constructor@_HeapManager@@QAEXP6APAXI@ZP6AXPAX@Z@Z 1009b9a0 f i LIBCMTD:undname.obj - 0002:000639f0 ?Destructor@_HeapManager@@QAEXXZ 1009b9f0 f i LIBCMTD:undname.obj - 0002:00063a50 ___unDNameEx 1009ba50 f LIBCMTD:undname.obj - 0002:00063b60 ??0UnDecorator@@QAE@PADPBDHP6APADJ@ZK@Z 1009bb60 f i LIBCMTD:undname.obj - 0002:00063c20 ??BUnDecorator@@QAEPADXZ 1009bc20 f i LIBCMTD:undname.obj - 0002:00063ee0 ?dbGetString@DName@@QBEPADXZ 1009bee0 f LIBCMTD:undname.obj - 0002:00063f10 ?getDecoratedName@UnDecorator@@CA?AVDName@@XZ 1009bf10 f LIBCMTD:undname.obj - 0002:000642f0 ?getSymbolName@UnDecorator@@CA?AVDName@@XZ 1009c2f0 f i LIBCMTD:undname.obj - 0002:00064380 ?getZName@UnDecorator@@CA?AVDName@@_N0@Z 1009c380 f LIBCMTD:undname.obj - 0002:000646d0 ?getOperatorName@UnDecorator@@CA?AVDName@@_NPA_N@Z 1009c6d0 f i LIBCMTD:undname.obj - 0002:00065290 ?getStringEncoding@UnDecorator@@CA?AVDName@@PADH@Z 1009d290 f LIBCMTD:undname.obj - 0002:000653d0 ?getScope@UnDecorator@@CA?AVDName@@XZ 1009d3d0 f LIBCMTD:undname.obj - 0002:000658a0 ?getSignedDimension@UnDecorator@@CA?AVDName@@XZ 1009d8a0 f LIBCMTD:undname.obj - 0002:00065940 ?getDimension@UnDecorator@@CA?AVDName@@_N@Z 1009d940 f LIBCMTD:undname.obj - 0002:00065ca0 ?getNumberOfDimensions@UnDecorator@@CAHXZ 1009dca0 f LIBCMTD:undname.obj - 0002:00065de0 ?getTemplateName@UnDecorator@@CA?AVDName@@_N@Z 1009dde0 f LIBCMTD:undname.obj - 0002:00066010 ?getTemplateArgumentList@UnDecorator@@CA?AVDName@@XZ 1009e010 f LIBCMTD:undname.obj - 0002:00066330 ?getTemplateConstant@UnDecorator@@CA?AVDName@@XZ 1009e330 f LIBCMTD:undname.obj - 0002:000668e0 ?composeDeclaration@UnDecorator@@CA?AVDName@@ABV2@@Z 1009e8e0 f i LIBCMTD:undname.obj - 0002:00068450 ?getTypeEncoding@UnDecorator@@CAHXZ 100a0450 f i LIBCMTD:undname.obj - 0002:00069120 ?getBasedType@UnDecorator@@CA?AVDName@@XZ 100a1120 f LIBCMTD:undname.obj - 0002:00069210 ?getScopedName@UnDecorator@@CA?AVDName@@XZ 100a1210 f LIBCMTD:undname.obj - 0002:00069370 ?getCallingConvention@UnDecorator@@CA?AVDName@@XZ 100a1370 f LIBCMTD:undname.obj - 0002:00069540 ?getReturnType@UnDecorator@@CA?AVDName@@PAV2@@Z 100a1540 f LIBCMTD:undname.obj - 0002:000695a0 ?getDataType@UnDecorator@@CA?AVDName@@PAV2@@Z 100a15a0 f LIBCMTD:undname.obj - 0002:00069700 ?getPrimaryDataType@UnDecorator@@CA?AVDName@@ABV2@@Z 100a1700 f LIBCMTD:undname.obj - 0002:00069b80 ?getArgumentTypes@UnDecorator@@CA?AVDName@@XZ 100a1b80 f LIBCMTD:undname.obj - 0002:00069d30 ?getArgumentList@UnDecorator@@CA?AVDName@@XZ 100a1d30 f LIBCMTD:undname.obj - 0002:00069ed0 ?getThrowTypes@UnDecorator@@CA?AVDName@@XZ 100a1ed0 f LIBCMTD:undname.obj - 0002:00069fb0 ?getBasicDataType@UnDecorator@@CA?AVDName@@ABV2@@Z 100a1fb0 f LIBCMTD:undname.obj - 0002:0006a6e0 ?getECSUDataType@UnDecorator@@CA?AVDName@@XZ 100a26e0 f LIBCMTD:undname.obj - 0002:0006a930 ?getECSUName@UnDecorator@@CA?AVDName@@XZ 100a2930 f i LIBCMTD:undname.obj - 0002:0006a950 ?getEnumType@UnDecorator@@CA?AVDName@@XZ 100a2950 f i LIBCMTD:undname.obj - 0002:0006aaf0 ?getFunctionIndirectType@UnDecorator@@CA?AVDName@@ABV2@@Z 100a2af0 f LIBCMTD:undname.obj - 0002:0006b040 ?getPtrRefType@UnDecorator@@CA?AVDName@@ABV2@0PBD@Z 100a3040 f LIBCMTD:undname.obj - 0002:0006b200 ?getExtendedDataIndirectType@UnDecorator@@CA?AVDName@@AAPBDAA_NH@Z 100a3200 f LIBCMTD:undname.obj - 0002:0006b4b0 ?getDataIndirectType@UnDecorator@@CA?AVDName@@ABV2@PBD0H@Z 100a34b0 f LIBCMTD:undname.obj - 0002:0006bd70 ?getPtrRefDataType@UnDecorator@@CA?AVDName@@ABV2@H@Z 100a3d70 f i LIBCMTD:undname.obj - 0002:0006bf00 ?getArrayType@UnDecorator@@CA?AVDName@@ABV2@@Z 100a3f00 f i LIBCMTD:undname.obj - 0002:0006c1c0 ?getLexicalFrame@UnDecorator@@CA?AVDName@@XZ 100a41c0 f i LIBCMTD:undname.obj - 0002:0006c210 ?getThisType@UnDecorator@@CA?AVDName@@XZ 100a4210 f i LIBCMTD:undname.obj - 0002:0006c260 ?getPointerType@UnDecorator@@CA?AVDName@@ABV2@0@Z 100a4260 f i LIBCMTD:undname.obj - 0002:0006c2a0 ?getPointerTypeArray@UnDecorator@@CA?AVDName@@ABV2@0@Z 100a42a0 f i LIBCMTD:undname.obj - 0002:0006c2e0 ?getReferenceType@UnDecorator@@CA?AVDName@@ABV2@0PBD@Z 100a42e0 f i LIBCMTD:undname.obj - 0002:0006c310 ?getDisplacement@UnDecorator@@CA?AVDName@@XZ 100a4310 f i LIBCMTD:undname.obj - 0002:0006c330 ?getCallIndex@UnDecorator@@CA?AVDName@@XZ 100a4330 f i LIBCMTD:undname.obj - 0002:0006c350 ?getGuardNumber@UnDecorator@@CA?AVDName@@XZ 100a4350 f i LIBCMTD:undname.obj - 0002:0006c370 ?getVbTableType@UnDecorator@@CA?AVDName@@ABV2@@Z 100a4370 f i LIBCMTD:undname.obj - 0002:0006c390 ?getVCallThunkType@UnDecorator@@CA?AVDName@@XZ 100a4390 f i LIBCMTD:undname.obj - 0002:0006c410 ?getVfTableType@UnDecorator@@CA?AVDName@@ABV2@@Z 100a4410 f i LIBCMTD:undname.obj - 0002:0006c640 ?getStorageConvention@UnDecorator@@CA?AVDName@@XZ 100a4640 f i LIBCMTD:undname.obj - 0002:0006c660 ?getDataIndirectType@UnDecorator@@CA?AVDName@@XZ 100a4660 f i LIBCMTD:undname.obj - 0002:0006c6b0 ?getVdispMapType@UnDecorator@@CA?AVDName@@ABV2@@Z 100a46b0 f i LIBCMTD:undname.obj - 0002:0006c740 ?getExternalDataType@UnDecorator@@CA?AVDName@@ABV2@@Z 100a4740 f i LIBCMTD:undname.obj - 0002:0006c800 ?doMSKeywords@UnDecorator@@SAHXZ 100a4800 f i LIBCMTD:undname.obj - 0002:0006c820 ?doPtr64@UnDecorator@@SAHXZ 100a4820 f i LIBCMTD:undname.obj - 0002:0006c840 ?doFunctionReturns@UnDecorator@@SAHXZ 100a4840 f i LIBCMTD:undname.obj - 0002:0006c860 ?doAllocationModel@UnDecorator@@SAHXZ 100a4860 f i LIBCMTD:undname.obj - 0002:0006c880 ?doAllocationLanguage@UnDecorator@@SAHXZ 100a4880 f i LIBCMTD:undname.obj - 0002:0006c8a0 ?doThisTypes@UnDecorator@@SAHXZ 100a48a0 f i LIBCMTD:undname.obj - 0002:0006c8c0 ?doAccessSpecifiers@UnDecorator@@SAHXZ 100a48c0 f i LIBCMTD:undname.obj - 0002:0006c8e0 ?doThrowTypes@UnDecorator@@SAHXZ 100a48e0 f i LIBCMTD:undname.obj - 0002:0006c900 ?doMemberTypes@UnDecorator@@SAHXZ 100a4900 f i LIBCMTD:undname.obj - 0002:0006c920 ?doNameOnly@UnDecorator@@SAHXZ 100a4920 f i LIBCMTD:undname.obj - 0002:0006c940 ?doTypeOnly@UnDecorator@@SAHXZ 100a4940 f i LIBCMTD:undname.obj - 0002:0006c960 ?haveTemplateParameters@UnDecorator@@SAHXZ 100a4960 f i LIBCMTD:undname.obj - 0002:0006c980 ?doEcsu@UnDecorator@@SAHXZ 100a4980 f i LIBCMTD:undname.obj - 0002:0006c9a0 ?doEllipsis@UnDecorator@@SAHXZ 100a49a0 f i LIBCMTD:undname.obj - 0002:0006c9c0 ?UScore@UnDecorator@@SAPBDW4Tokens@@@Z 100a49c0 f LIBCMTD:undname.obj - 0002:0006ca00 ?doUnderScore@UnDecorator@@SAHXZ 100a4a00 f i LIBCMTD:undname.obj - 0002:0006ca20 ??2@YAPAXIAAV_HeapManager@@H@Z 100a4a20 f i LIBCMTD:undname.obj - 0002:0006ca40 ?getMemory@_HeapManager@@QAEPAXIH@Z 100a4a40 f LIBCMTD:undname.obj - 0002:0006cb90 ??0Block@_HeapManager@@QAE@XZ 100a4b90 f i LIBCMTD:undname.obj - 0002:0006cbb0 ??H@YA?AVDName@@DABV0@@Z 100a4bb0 f i LIBCMTD:undname.obj - 0002:0006cbf0 ??H@YA?AVDName@@W4DNameStatus@@ABV0@@Z 100a4bf0 f i LIBCMTD:undname.obj - 0002:0006cc30 ??H@YA?AVDName@@PBDABV0@@Z 100a4c30 f i LIBCMTD:undname.obj - 0002:0006cc70 ??0DName@@QAE@XZ 100a4c70 f i LIBCMTD:undname.obj - 0002:0006cd60 ??0DName@@QAE@D@Z 100a4d60 f LIBCMTD:undname.obj - 0002:0006ce70 ??0DName@@QAE@ABV0@@Z 100a4e70 f i LIBCMTD:undname.obj - 0002:0006cea0 ??0DName@@QAE@PAV0@@Z 100a4ea0 f LIBCMTD:undname.obj - 0002:0006d020 ??0DName@@QAE@PBD@Z 100a5020 f LIBCMTD:undname.obj - 0002:0006d150 ??0DName@@QAE@AAPBDD@Z 100a5150 f LIBCMTD:undname.obj - 0002:0006d4c0 ?doNoIdentCharCheck@UnDecorator@@SAHXZ 100a54c0 f i LIBCMTD:undname.obj - 0002:0006d4e0 ??0DName@@QAE@_K@Z 100a54e0 f LIBCMTD:undname.obj - 0002:0006d670 ??0DName@@QAE@_J@Z 100a5670 f LIBCMTD:undname.obj - 0002:0006d850 ??0DName@@QAE@W4DNameStatus@@@Z 100a5850 f LIBCMTD:undname.obj - 0002:0006d9b0 ?isValid@DName@@QBEHXZ 100a59b0 f i LIBCMTD:undname.obj - 0002:0006d9e0 ?isEmpty@DName@@QBEHXZ 100a59e0 f i LIBCMTD:undname.obj - 0002:0006da00 ?status@DName@@QBE?AW4DNameStatus@@XZ 100a5a00 f i LIBCMTD:undname.obj - 0002:0006da20 ?setPtrRef@DName@@QAEAAV1@XZ 100a5a20 f i LIBCMTD:undname.obj - 0002:0006da50 ?isPtrRef@DName@@QBEHXZ 100a5a50 f i LIBCMTD:undname.obj - 0002:0006da70 ?isUDC@DName@@QBEHXZ 100a5a70 f i LIBCMTD:undname.obj - 0002:0006dac0 ?setIsUDC@DName@@QAEXXZ 100a5ac0 f i LIBCMTD:undname.obj - 0002:0006db00 ?isUDTThunk@DName@@QBEHXZ 100a5b00 f i LIBCMTD:undname.obj - 0002:0006db50 ?setIsArray@DName@@QAEXXZ 100a5b50 f i LIBCMTD:undname.obj - 0002:0006db80 ?isArray@DName@@QBEHXZ 100a5b80 f i LIBCMTD:undname.obj - 0002:0006dba0 ?isNoTE@DName@@QBEHXZ 100a5ba0 f i LIBCMTD:undname.obj - 0002:0006dbc0 ?setIsNoTE@DName@@QAEXXZ 100a5bc0 f i LIBCMTD:undname.obj - 0002:0006dbf0 ?isPinPtr@DName@@QBEHXZ 100a5bf0 f i LIBCMTD:undname.obj - 0002:0006dc10 ?setIsPinPtr@DName@@QAEXXZ 100a5c10 f i LIBCMTD:undname.obj - 0002:0006dc40 ?isComArray@DName@@QBEHXZ 100a5c40 f i LIBCMTD:undname.obj - 0002:0006dc60 ?setIsComArray@DName@@QAEXXZ 100a5c60 f i LIBCMTD:undname.obj - 0002:0006dc90 ?isVCallThunk@DName@@QBEHXZ 100a5c90 f i LIBCMTD:undname.obj - 0002:0006dcb0 ?setIsVCallThunk@DName@@QAEXXZ 100a5cb0 f i LIBCMTD:undname.obj - 0002:0006dce0 ?length@DName@@QBEHXZ 100a5ce0 f i LIBCMTD:undname.obj - 0002:0006dd20 ?getLastChar@DName@@QBEDXZ 100a5d20 f i LIBCMTD:undname.obj - 0002:0006dd60 ?getString@DName@@QBEPADPADH@Z 100a5d60 f i LIBCMTD:undname.obj - 0002:0006de10 ?getString@DName@@QBEPADPAD0@Z 100a5e10 f i LIBCMTD:undname.obj - 0002:0006de60 ??HDName@@QBE?AV0@D@Z 100a5e60 f LIBCMTD:undname.obj - 0002:0006deb0 ??HDName@@QBE?AV0@PBD@Z 100a5eb0 f LIBCMTD:undname.obj - 0002:0006df00 ??HDName@@QBE?AV0@ABV0@@Z 100a5f00 f LIBCMTD:undname.obj - 0002:0006df50 ??HDName@@QBE?AV0@PAV0@@Z 100a5f50 f LIBCMTD:undname.obj - 0002:0006dfa0 ??HDName@@QBE?AV0@W4DNameStatus@@@Z 100a5fa0 f LIBCMTD:undname.obj - 0002:0006dff0 ?append@DName@@AAEXPAVDNameNode@@@Z 100a5ff0 f LIBCMTD:undname.obj - 0002:0006e0a0 ??YDName@@QAEAAV0@D@Z 100a60a0 f LIBCMTD:undname.obj - 0002:0006e150 ??YDName@@QAEAAV0@PBD@Z 100a6150 f LIBCMTD:undname.obj - 0002:0006e210 ??YDName@@QAEAAV0@ABV0@@Z 100a6210 f LIBCMTD:undname.obj - 0002:0006e290 ??YDName@@QAEAAV0@PAV0@@Z 100a6290 f LIBCMTD:undname.obj - 0002:0006e370 ??YDName@@QAEAAV0@W4DNameStatus@@@Z 100a6370 f LIBCMTD:undname.obj - 0002:0006e3f0 ??_5DName@@QAEAAV0@ABV0@@Z 100a63f0 f LIBCMTD:undname.obj - 0002:0006e460 ??4DName@@QAEAAV0@D@Z 100a6460 f i LIBCMTD:undname.obj - 0002:0006e570 ??4DName@@QAEAAV0@PBD@Z 100a6570 f LIBCMTD:undname.obj - 0002:0006e680 ??4DName@@QAEAAV0@ABV0@@Z 100a6680 f LIBCMTD:undname.obj - 0002:0006e6b0 ??4DName@@QAEAAV0@PAV0@@Z 100a66b0 f LIBCMTD:undname.obj - 0002:0006e830 ??4DName@@QAEAAV0@W4DNameStatus@@@Z 100a6830 f LIBCMTD:undname.obj - 0002:0006e970 ?doPchar@DName@@AAEXPBDH@Z 100a6970 f LIBCMTD:undname.obj - 0002:0006eb00 ?isFull@Replicator@@QBEHXZ 100a6b00 f i LIBCMTD:undname.obj - 0002:0006eb20 ??0Replicator@@QAE@XZ 100a6b20 f i LIBCMTD:undname.obj - 0002:0006eb40 ??YReplicator@@QAEAAV0@ABVDName@@@Z 100a6b40 f LIBCMTD:undname.obj - 0002:0006ebf0 ??AReplicator@@QBE?AVDName@@H@Z 100a6bf0 f LIBCMTD:undname.obj - 0002:0006ec70 ??0DNameNode@@IAE@XZ 100a6c70 f LIBCMTD:undname.obj - 0002:0006ec90 ??0charNode@@QAE@D@Z 100a6c90 f LIBCMTD:undname.obj - 0002:0006ecd0 ?length@charNode@@UBEHXZ 100a6cd0 f i LIBCMTD:undname.obj - 0002:0006ecf0 ?getLastChar@charNode@@UBEDXZ 100a6cf0 f i LIBCMTD:undname.obj - 0002:0006ed10 ?getString@charNode@@UBEPADPAD0@Z 100a6d10 f i LIBCMTD:undname.obj - 0002:0006ed50 ??0pcharNode@@QAE@PBDH@Z 100a6d50 f LIBCMTD:undname.obj - 0002:0006ee10 ?length@pcharNode@@UBEHXZ 100a6e10 f i LIBCMTD:undname.obj - 0002:0006ee30 ?getLastChar@pcharNode@@UBEDXZ 100a6e30 f i LIBCMTD:undname.obj - 0002:0006ee80 ?getString@pcharNode@@UBEPADPAD0@Z 100a6e80 f i LIBCMTD:undname.obj - 0002:0006eec0 ?getStringHelper@@YAPADPAD00H@Z 100a6ec0 f i LIBCMTD:undname.obj - 0002:0006ef10 ??0pDNameNode@@QAE@PAVDName@@@Z 100a6f10 f LIBCMTD:undname.obj - 0002:0006ef90 ?length@pDNameNode@@UBEHXZ 100a6f90 f i LIBCMTD:undname.obj - 0002:0006efd0 ?getLastChar@pDNameNode@@UBEDXZ 100a6fd0 f i LIBCMTD:undname.obj - 0002:0006f010 ?getString@pDNameNode@@UBEPADPAD0@Z 100a7010 f i LIBCMTD:undname.obj - 0002:0006f060 ??0DNameStatusNode@@AAE@W4DNameStatus@@@Z 100a7060 f LIBCMTD:undname.obj - 0002:0006f0c0 ?length@DNameStatusNode@@UBEHXZ 100a70c0 f i LIBCMTD:undname.obj - 0002:0006f0e0 ?getLastChar@DNameStatusNode@@UBEDXZ 100a70e0 f i LIBCMTD:undname.obj - 0002:0006f110 ?getString@DNameStatusNode@@UBEPADPAD0@Z 100a7110 f i LIBCMTD:undname.obj - 0002:0006f160 ?make@DNameStatusNode@@SAPAV1@W4DNameStatus@@@Z 100a7160 f i LIBCMTD:undname.obj - 0002:0006f240 ??0pairNode@@QAE@PAVDNameNode@@0@Z 100a7240 f LIBCMTD:undname.obj - 0002:0006f290 ?length@pairNode@@UBEHXZ 100a7290 f i LIBCMTD:undname.obj - 0002:0006f2f0 ?getLastChar@pairNode@@UBEDXZ 100a72f0 f i LIBCMTD:undname.obj - 0002:0006f350 ?getString@pairNode@@UBEPADPAD0@Z 100a7350 f i LIBCMTD:undname.obj - 0002:0006f4d0 __purecall 100a74d0 f LIBCMTD:purevirt.obj - 0002:0006f520 __set_purecall_handler 100a7520 f LIBCMTD:purevirt.obj - 0002:0006f560 __get_purecall_handler 100a7560 f LIBCMTD:purevirt.obj - 0002:0006f578 _GetSystemTimeAsFileTime@4 100a7578 f kernel32:KERNEL32.dll - 0002:0006f57e _GetCurrentThreadId@0 100a757e f kernel32:KERNEL32.dll - 0002:0006f584 _DecodePointer@4 100a7584 f kernel32:KERNEL32.dll - 0002:0006f58a _GetCommandLineA@0 100a758a f kernel32:KERNEL32.dll - 0002:0006f590 _IsProcessorFeaturePresent@4 100a7590 f kernel32:KERNEL32.dll - 0002:0006f596 _LeaveCriticalSection@4 100a7596 f kernel32:KERNEL32.dll - 0002:0006f59c _EnterCriticalSection@4 100a759c f kernel32:KERNEL32.dll - 0002:0006f5a2 _InitializeCriticalSectionAndSpinCount@8 100a75a2 f kernel32:KERNEL32.dll - 0002:0006f5a8 _SetStdHandle@8 100a75a8 f kernel32:KERNEL32.dll - 0002:0006f5ae _GetFileType@4 100a75ae f kernel32:KERNEL32.dll - 0002:0006f5b4 _SetHandleCount@4 100a75b4 f kernel32:KERNEL32.dll - 0002:0006f5ba _GetStdHandle@4 100a75ba f kernel32:KERNEL32.dll - 0002:0006f5c0 _GetStartupInfoW@4 100a75c0 f kernel32:KERNEL32.dll - 0002:0006f5c6 _DeleteCriticalSection@4 100a75c6 f kernel32:KERNEL32.dll - 0002:0006f5cc _TerminateProcess@8 100a75cc f kernel32:KERNEL32.dll - 0002:0006f5d2 _GetCurrentProcess@0 100a75d2 f kernel32:KERNEL32.dll - 0002:0006f5d8 _UnhandledExceptionFilter@4 100a75d8 f kernel32:KERNEL32.dll - 0002:0006f5de _SetUnhandledExceptionFilter@4 100a75de f kernel32:KERNEL32.dll - 0002:0006f5e4 _IsDebuggerPresent@0 100a75e4 f kernel32:KERNEL32.dll - 0002:0006f5ea _EncodePointer@4 100a75ea f kernel32:KERNEL32.dll - 0002:0006f5f0 _GetModuleFileNameW@12 100a75f0 f kernel32:KERNEL32.dll - 0002:0006f5f6 _HeapValidate@12 100a75f6 f kernel32:KERNEL32.dll - 0002:0006f5fc _IsBadReadPtr@8 100a75fc f kernel32:KERNEL32.dll - 0002:0006f602 _TlsAlloc@0 100a7602 f kernel32:KERNEL32.dll - 0002:0006f608 _TlsGetValue@4 100a7608 f kernel32:KERNEL32.dll - 0002:0006f60e _TlsSetValue@8 100a760e f kernel32:KERNEL32.dll - 0002:0006f614 _TlsFree@4 100a7614 f kernel32:KERNEL32.dll - 0002:0006f61a _GetProcAddress@8 100a761a f kernel32:KERNEL32.dll - 0002:0006f620 _GetModuleHandleW@4 100a7620 f kernel32:KERNEL32.dll - 0002:0006f626 _InterlockedIncrement@4 100a7626 f kernel32:KERNEL32.dll - 0002:0006f62c _SetLastError@4 100a762c f kernel32:KERNEL32.dll - 0002:0006f632 _InterlockedDecrement@4 100a7632 f kernel32:KERNEL32.dll - 0002:0006f638 _GetCurrentThread@0 100a7638 f kernel32:KERNEL32.dll - 0002:0006f63e _RtlUnwind@16 100a763e f kernel32:KERNEL32.dll - 0002:0006f644 _MultiByteToWideChar@24 100a7644 f kernel32:KERNEL32.dll - 0002:0006f64a _WideCharToMultiByte@32 100a764a f kernel32:KERNEL32.dll - 0002:0006f650 _GetConsoleCP@0 100a7650 f kernel32:KERNEL32.dll - 0002:0006f656 _GetConsoleMode@8 100a7656 f kernel32:KERNEL32.dll - 0002:0006f65c _ExitProcess@4 100a765c f kernel32:KERNEL32.dll - 0002:0006f662 _GetModuleFileNameA@12 100a7662 f kernel32:KERNEL32.dll - 0002:0006f668 _FreeEnvironmentStringsW@4 100a7668 f kernel32:KERNEL32.dll - 0002:0006f66e _GetEnvironmentStringsW@0 100a766e f kernel32:KERNEL32.dll - 0002:0006f674 _HeapCreate@12 100a7674 f kernel32:KERNEL32.dll - 0002:0006f67a _HeapDestroy@4 100a767a f kernel32:KERNEL32.dll - 0002:0006f680 _QueryPerformanceCounter@4 100a7680 f kernel32:KERNEL32.dll - 0002:0006f686 _GetTickCount@0 100a7686 f kernel32:KERNEL32.dll - 0002:0006f68c _GetCurrentProcessId@0 100a768c f kernel32:KERNEL32.dll - 0002:0006f692 _FatalAppExitA@8 100a7692 f kernel32:KERNEL32.dll - 0002:0006f698 _OutputDebugStringA@4 100a7698 f kernel32:KERNEL32.dll - 0002:0006f69e _WriteConsoleW@20 100a769e f kernel32:KERNEL32.dll - 0002:0006f6a4 _OutputDebugStringW@4 100a76a4 f kernel32:KERNEL32.dll - 0002:0006f6aa _SetConsoleCtrlHandler@8 100a76aa f kernel32:KERNEL32.dll - 0002:0006f6b0 _LoadLibraryW@4 100a76b0 f kernel32:KERNEL32.dll - 0002:0006f6b6 _HeapAlloc@12 100a76b6 f kernel32:KERNEL32.dll - 0002:0006f6bc _HeapReAlloc@16 100a76bc f kernel32:KERNEL32.dll - 0002:0006f6c2 _HeapSize@12 100a76c2 f kernel32:KERNEL32.dll - 0002:0006f6c8 _HeapQueryInformation@20 100a76c8 f kernel32:KERNEL32.dll - 0002:0006f6ce _HeapFree@12 100a76ce f kernel32:KERNEL32.dll - 0002:0006f6d4 _GetACP@0 100a76d4 f kernel32:KERNEL32.dll - 0002:0006f6da _GetOEMCP@0 100a76da f kernel32:KERNEL32.dll - 0002:0006f6e0 _GetCPInfo@8 100a76e0 f kernel32:KERNEL32.dll - 0002:0006f6e6 _IsValidCodePage@4 100a76e6 f kernel32:KERNEL32.dll - 0002:0006f6ec _FlushFileBuffers@4 100a76ec f kernel32:KERNEL32.dll - 0002:0006f6f2 _FreeLibrary@4 100a76f2 f kernel32:KERNEL32.dll - 0002:0006f6f8 _InterlockedExchange@8 100a76f8 f kernel32:KERNEL32.dll - 0002:0006f6fe _GetLocaleInfoW@16 100a76fe f kernel32:KERNEL32.dll - 0002:0006f704 _LCMapStringW@24 100a7704 f kernel32:KERNEL32.dll - 0002:0006f70a _GetStringTypeW@16 100a770a f kernel32:KERNEL32.dll - 0002:0006f710 _SetEndOfFile@4 100a7710 f kernel32:KERNEL32.dll - 0002:0006f716 _GetProcessHeap@0 100a7716 f kernel32:KERNEL32.dll - 0002:0006f71c _GetLocaleInfoA@16 100a771c f kernel32:KERNEL32.dll - 0002:0006f722 _IsValidLocale@8 100a7722 f kernel32:KERNEL32.dll - 0002:0006f728 _EnumSystemLocalesA@8 100a7728 f kernel32:KERNEL32.dll - 0002:0006f72e _GetUserDefaultLCID@0 100a772e f kernel32:KERNEL32.dll - 0002:0006f734 _RaiseException@16 100a7734 f kernel32:KERNEL32.dll - 0003:00000000 ___xc_a 100aa000 LIBCMTD:crt0init.obj - 0003:00000104 ___xc_z 100aa104 LIBCMTD:crt0init.obj - 0003:00000208 ___xi_a 100aa208 LIBCMTD:crt0init.obj - 0003:00000420 ___xi_z 100aa420 LIBCMTD:crt0init.obj - 0003:00000524 ___xp_a 100aa524 LIBCMTD:crt0init.obj - 0003:00000838 ___xp_z 100aa838 LIBCMTD:crt0init.obj - 0003:0000093c ___xt_a 100aa93c LIBCMTD:crt0init.obj - 0003:00000a40 ___xt_z 100aaa40 LIBCMTD:crt0init.obj - 0003:00000b6c ??_C@_05BOAHNBIE@1?42?46?$AA@ 100aab6c compress.obj - 0003:000031e0 _deflate_copyright 100ad1e0 deflate.obj - 0003:000032d0 ??_C@_07EBNKNFJN@?$DMfd?3?$CFd?$DO?$AA@ 100ad2d0 gzlib.obj - 0003:000032d9 ??_C@_00CNPNBAHC@?$AA@ 100ad2d9 gzlib.obj - 0003:000032dc ??_C@_02LMMGGCAJ@?3?5?$AA@ 100ad2dc gzlib.obj - 0003:000032e0 ??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ 100ad2e0 gzlib.obj - 0003:000032f0 ??_C@_0CF@MLPJFDMM@requested?5length?5does?5not?5fit?5in@ 100ad2f0 gzread.obj - 0003:0000331c ??_C@_0BG@HCKBMIHF@compressed?5data?5error?$AA@ 100ad31c gzread.obj - 0003:00003338 ??_C@_0CH@CPOLIEKA@internal?5error?3?5inflate?5stream?5c@ 100ad338 gzread.obj - 0003:00003368 ??_C@_0BH@CFIIDOJD@unexpected?5end?5of?5file?$AA@ 100ad368 gzread.obj - 0003:00003384 ??_C@_0BP@IIKIGMCC@out?5of?5room?5to?5push?5characters?$AA@ 100ad384 gzread.obj - 0003:000033ac ??_C@_0CH@DEEGAHIB@internal?5error?3?5deflate?5stream?5c@ 100ad3ac gzwrite.obj - 0003:00003e40 ??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@ 100ade40 infback.obj - 0003:00003e64 ??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@ 100ade64 infback.obj - 0003:00003e80 ??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@ 100ade80 infback.obj - 0003:00003ea4 ??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@ 100adea4 infback.obj - 0003:00003ec0 ??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@ 100adec0 infback.obj - 0003:00003ee4 ??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@ 100adee4 infback.obj - 0003:00003f10 ??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@ 100adf10 infback.obj - 0003:00003f30 ??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@ 100adf30 infback.obj - 0003:00003f50 ??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@ 100adf50 infback.obj - 0003:00003f7c ??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@ 100adf7c infback.obj - 0003:00003fa0 ??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@ 100adfa0 infback.obj - 0003:00004a18 ??_C@_0BH@FGKKJGOC@incorrect?5length?5check?$AA@ 100aea18 inflate.obj - 0003:00004a34 ??_C@_0BF@MEIGEHBE@incorrect?5data?5check?$AA@ 100aea34 inflate.obj - 0003:00004a50 ??_C@_0BE@GONKLEPM@header?5crc?5mismatch?$AA@ 100aea50 inflate.obj - 0003:00004a68 ??_C@_0BJ@BLBBCOMO@unknown?5header?5flags?5set?$AA@ 100aea68 inflate.obj - 0003:00004a88 ??_C@_0BE@EMOGCLGO@invalid?5window?5size?$AA@ 100aea88 inflate.obj - 0003:00004aa0 ??_C@_0BL@IHKGDAEE@unknown?5compression?5method?$AA@ 100aeaa0 inflate.obj - 0003:00004ac0 ??_C@_0BH@LIBMMIGA@incorrect?5header?5check?$AA@ 100aeac0 inflate.obj - 0003:00004ae0 _inflate_copyright 100aeae0 inftrees.obj - 0003:00004c4c ??_C@_02GMLFBBN@wb?$AA@ 100aec4c ioapi.obj - 0003:00004c50 ??_C@_03HMFOOINA@r?$CLb?$AA@ 100aec50 ioapi.obj - 0003:00004c54 ??_C@_02JDPG@rb?$AA@ 100aec54 ioapi.obj - 0003:000052a0 __dist_code 100af2a0 trees.obj - 0003:000054a0 __length_code 100af4a0 trees.obj - 0003:000058a0 _unz_copyright 100af8a0 unzip.obj - 0003:00005908 _zip_copyright 100af908 zip.obj - 0003:00005968 ??_C@_01JOAMLHOP@?9?$AA@ 100af968 zip.obj - 0003:0000596c ??_C@_0BF@CJFPCCEG@incompatible?5version?$AA@ 100af96c zutil.obj - 0003:00005988 ??_C@_0N@DFPGLBGC@buffer?5error?$AA@ 100af988 zutil.obj - 0003:00005998 ??_C@_0BE@OGGJBMCE@insufficient?5memory?$AA@ 100af998 zutil.obj - 0003:000059b0 ??_C@_0L@HAHMBNLP@data?5error?$AA@ 100af9b0 zutil.obj - 0003:000059c0 ??_C@_0N@MKKNPMJD@stream?5error?$AA@ 100af9c0 zutil.obj - 0003:000059d0 ??_C@_0L@KIJFAKBJ@file?5error?$AA@ 100af9d0 zutil.obj - 0003:000059e0 ??_C@_0L@FNAOCBOG@stream?5end?$AA@ 100af9e0 zutil.obj - 0003:000059f0 ??_C@_0BA@MOKMMFOD@need?5dictionary?$AA@ 100af9f0 zutil.obj - 0003:00005a04 _z_errmsg 100afa04 zutil.obj - 0003:00005a38 ??_C@_1JE@ECKHFIFP@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAd?$AAe?$AAs?$AAc?$AAr?$AAi?$AAp?$AAt?$AAo?$AAr?$AA?4?$AA?5?$AAF?$AAi?$AAl?$AAe?$AA?5@ 100afa38 LIBCMTD:lseeki64.obj - 0003:00005aec ??_C@_1CM@OKGMMMDH@?$AA?$CI?$AA_?$AAo?$AAs?$AAf?$AAi?$AAl?$AAe?$AA?$CI?$AAf?$AAh?$AA?$CJ?$AA?5?$AA?$CG?$AA?5?$AAF?$AAO?$AAP?$AAE?$AAN?$AA?$CJ?$AA?$AA@ 100afaec LIBCMTD:lseeki64.obj - 0003:00005b20 ??_C@_1BE@KHFBJMNM@?$AA_?$AAl?$AAs?$AAe?$AAe?$AAk?$AAi?$AA6?$AA4?$AA?$AA@ 100afb20 LIBCMTD:lseeki64.obj - 0003:00005b38 ??_C@_1GE@MINKPNPH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100afb38 LIBCMTD:lseeki64.obj - 0003:00005bb0 ??_C@_1FO@LPCLHKGE@?$AA?$CI?$AAf?$AAh?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AAu?$AAn?$AAs?$AAi?$AAg?$AAn?$AAe?$AAd?$AA?$CJ?$AAf?$AAh?$AA?5?$AA?$DM?$AA?5?$AA?$CI?$AAu?$AAn?$AAs?$AAi@ 100afbb0 LIBCMTD:lseeki64.obj - 0003:00005c20 ?ProcessDetach@NativeDll@@@0IB 100afc20 LIBCMTD:dbgfree.obj - 0003:00005c24 ?ProcessAttach@NativeDll@@@0IB 100afc24 LIBCMTD:dbgfree.obj - 0003:00005c28 ?ThreadAttach@NativeDll@@@0IB 100afc28 LIBCMTD:dbgfree.obj - 0003:00005c2c ?ThreadDetach@NativeDll@@@0IB 100afc2c LIBCMTD:dbgfree.obj - 0003:00005c30 ?ProcessVerifier@NativeDll@@@0IB 100afc30 LIBCMTD:dbgfree.obj - 0003:00005c34 ??_C@_1CC@OLIJCKA@?$AA?$CI?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100afc34 LIBCMTD:sprintf.obj - 0003:00005c5c ??_C@_1BA@KBJJGFFE@?$AAs?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA?$AA@ 100afc5c LIBCMTD:sprintf.obj - 0003:00005c70 ??_C@_1GC@BMNPEKNN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100afc70 LIBCMTD:sprintf.obj - 0003:00005ce8 ??_C@_1CC@MGIEJOME@?$AA?$CI?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100afce8 LIBCMTD:sprintf.obj - 0003:00005d10 ??_C@_1GM@HFLCJPGH@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAe?$AAr?$AAr?$AAm?$AAs?$AAg?$AA?0?$AA?5?$AA?$CI?$AA9?$AA4?$AA?$CL?$AA3?$AA8?$AA?$CL?$AA2?$AA?$CJ?$AA?0?$AA?5?$AA_?$AAg?$AAe?$AAt@ 100afd10 LIBCMTD:strerror.obj - 0003:00005d94 ??_C@_1BC@CPPAPMCG@?$AAs?$AAt?$AAr?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AA@ 100afd94 LIBCMTD:strerror.obj - 0003:00005db0 ??_C@_1GE@IMODLDCP@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100afdb0 LIBCMTD:strerror.obj - 0003:00005e28 ??_C@_0DC@PHLJOGAJ@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100afe28 LIBCMTD:strerror.obj - 0003:00005e68 ??_C@_0EA@FCLIIPNN@Visual?5C?$CL?$CL?5CRT?3?5Not?5enough?5memor@ 100afe68 LIBCMTD:strerror.obj - 0003:00005eb8 ??_C@_1JI@GAHGOJMC@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?0?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAT?$AAC?$AAh?$AAa?$AAr?$AAs?$AA?0?$AA?5@ 100afeb8 LIBCMTD:strerror.obj - 0003:00005f70 ??_C@_1CC@JNJFIMGE@?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAT?$AAC?$AAh?$AAa?$AAr?$AAs?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 100aff70 LIBCMTD:strerror.obj - 0003:00005f98 ??_C@_1BG@CLIBDOC@?$AAs?$AAt?$AAr?$AAe?$AAr?$AAr?$AAo?$AAr?$AA_?$AAs?$AA?$AA@ 100aff98 LIBCMTD:strerror.obj - 0003:00005fb4 ??_C@_1BO@PNINNIGK@?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100affb4 LIBCMTD:strerror.obj - 0003:00005fd8 ??_C@_1BG@KCMPBBDK@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAe?$AAr?$AAr?$AAn?$AAo?$AA?$AA@ 100affd8 LIBCMTD:dosmap.obj - 0003:00005ff8 ??_C@_1GA@MFGIMPNL@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100afff8 LIBCMTD:dosmap.obj - 0003:0000606c ??_C@_1BO@LKEBEKJP@?$AAp?$AAV?$AAa?$AAl?$AAu?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b006c LIBCMTD:dosmap.obj - 0003:00006090 ??_C@_1BM@INIPHHDD@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAd?$AAo?$AAs?$AAe?$AAr?$AAr?$AAn?$AAo?$AA?$AA@ 100b0090 LIBCMTD:dosmap.obj - 0003:000060b4 ??_C@_1CI@HBNALCBB@?$AA?$CI?$AA?$CK?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA_?$AAT?$AA?$CI?$AA?8?$AA?2?$AA0?$AA?8?$AA?$CJ?$AA?$CJ?$AA?$AA@ 100b00b4 LIBCMTD:fopen.obj - 0003:000060e4 ??_C@_1BO@MJMKAKCJ@?$AA?$CI?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100b00e4 LIBCMTD:fopen.obj - 0003:00006108 ??_C@_1BA@HNEAFMNL@?$AA_?$AAf?$AAs?$AAo?$AAp?$AAe?$AAn?$AA?$AA@ 100b0108 LIBCMTD:fopen.obj - 0003:00006120 ??_C@_1FO@NCADDBOO@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b0120 LIBCMTD:fopen.obj - 0003:00006190 ??_C@_1BO@CLGIAEOJ@?$AA?$CI?$AAf?$AAi?$AAl?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100b0190 LIBCMTD:fopen.obj - 0003:000061b4 ??_C@_1BA@PBGKCCAP@?$AAf?$AAo?$AAp?$AAe?$AAn?$AA_?$AAs?$AA?$AA@ 100b01b4 LIBCMTD:fopen.obj - 0003:000061c8 ??_C@_1CA@LLJLFCDN@?$AA?$CI?$AAp?$AAf?$AAi?$AAl?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100b01c8 LIBCMTD:fopen.obj - 0003:000061f0 ??_C@_1BA@CMLCEIGG@?$AAf?$AAr?$AAe?$AAa?$AAd?$AA_?$AAs?$AA?$AA@ 100b01f0 LIBCMTD:fread.obj - 0003:00006208 ??_C@_1FO@PNLFLIH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b0208 LIBCMTD:fread.obj - 0003:00006278 ??_C@_1CC@FADMNIL@?$AA?$CI?$AAs?$AAt?$AAr?$AAe?$AAa?$AAm?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100b0278 LIBCMTD:fread.obj - 0003:000062a0 ??_C@_1DA@DKEFLDMG@?$AA?$CI?$AA?$CC?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AAt?$AAo?$AAo?$AA?5?$AAs?$AAm?$AAa?$AAl?$AAl?$AA?$CC?$AA?0?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 100b02a0 LIBCMTD:fread.obj - 0003:000062e0 ??_C@_1LG@DCNDJCHK@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAc?$AAo?$AAn?$AAs?$AAi?$AAs?$AAt?$AAe?$AAn?$AAt?$AA?5?$AAS?$AAt?$AAr?$AAe?$AAa?$AAm?$AA?5?$AAC?$AAo?$AAu?$AAn?$AAt?$AA?4?$AA?5?$AAF?$AAl?$AAu@ 100b02e0 LIBCMTD:fread.obj - 0003:000063c0 ??_C@_1EA@FAMECDND@?$AAn?$AAu?$AAm?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA?$CI?$AAS?$AAI?$AAZ?$AAE?$AA_?$AAM?$AAA?$AAX?$AA?5?$AA?1?$AA?5?$AAe?$AAl?$AAe?$AAm?$AAe?$AAn?$AAt?$AAS?$AAi?$AAz?$AAe?$AA?$CJ?$AA?$AA@ 100b03c0 LIBCMTD:fread.obj - 0003:0000640c ??_C@_1CA@IDPOGFL@?$AA_?$AAf?$AAr?$AAe?$AAa?$AAd?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA_?$AAs?$AA?$AA@ 100b040c LIBCMTD:fread.obj - 0003:00006434 ??_C@_1CC@CGFEEBMC@?$AA?$CI?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100b0434 LIBCMTD:fread.obj - 0003:0000645c ??_C@_1O@KLNKIMAP@?$AAf?$AAw?$AAr?$AAi?$AAt?$AAe?$AA?$AA@ 100b045c LIBCMTD:fwrite.obj - 0003:00006470 ??_C@_1GA@DOFNKKGD@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b0470 LIBCMTD:fwrite.obj - 0003:000064e4 ??_C@_1DC@FHEPNAPF@?$AAn?$AAu?$AAm?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA?$CI?$AAS?$AAI?$AAZ?$AAE?$AA_?$AAM?$AAA?$AAX?$AA?5?$AA?1?$AA?5?$AAs?$AAi?$AAz?$AAe?$AA?$CJ?$AA?$AA@ 100b04e4 LIBCMTD:fwrite.obj - 0003:00006520 ??_C@_1BO@JGPKCBCE@?$AA_?$AAf?$AAw?$AAr?$AAi?$AAt?$AAe?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 100b0520 LIBCMTD:fwrite.obj - 0003:00006544 ??_C@_1M@CKCKPMNP@?$AAf?$AAt?$AAe?$AAl?$AAl?$AA?$AA@ 100b0544 LIBCMTD:ftell.obj - 0003:00006558 ??_C@_1FO@NBACIADE@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b0558 LIBCMTD:ftell.obj - 0003:000065c8 ??_C@_1BM@EPIDANEK@?$AA_?$AAf?$AAt?$AAe?$AAl?$AAl?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 100b05c8 LIBCMTD:ftell.obj - 0003:000065ec ??_C@_1BM@JMKHIAHP@?$AA?$CI?$AAs?$AAt?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100b05ec LIBCMTD:ftell.obj - 0003:00006610 ??_C@_1IO@PMHBOLJK@?$AA?$CI?$AA?$CI?$AAw?$AAh?$AAe?$AAn?$AAc?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAS?$AAE?$AAE?$AAK?$AA_?$AAS?$AAE?$AAT?$AA?$CJ?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CI?$AAw?$AAh?$AAe?$AAn?$AAc?$AAe@ 100b0610 LIBCMTD:fseek.obj - 0003:000066bc ??_C@_1M@HCCOIONH@?$AAf?$AAs?$AAe?$AAe?$AAk?$AA?$AA@ 100b06bc LIBCMTD:fseek.obj - 0003:000066d0 ??_C@_1FO@ECBPAICH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b06d0 LIBCMTD:fseek.obj - 0003:00006740 ??_C@_1O@EGMJNCOI@?$AAf?$AAc?$AAl?$AAo?$AAs?$AAe?$AA?$AA@ 100b0740 LIBCMTD:fclose.obj - 0003:00006750 ??_C@_1GA@KMIDAPAP@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b0750 LIBCMTD:fclose.obj - 0003:000067c4 ??_C@_1BO@JINCABEC@?$AA_?$AAf?$AAc?$AAl?$AAo?$AAs?$AAe?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 100b07c4 LIBCMTD:fclose.obj - 0003:000067e8 ??_C@_19LPGIFIDB@?$AAf?$AAe?$AAo?$AAf?$AA?$AA@ 100b07e8 LIBCMTD:feoferr.obj - 0003:000067f8 ??_C@_1GC@CAEOCPLB@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b07f8 LIBCMTD:feoferr.obj - 0003:00006870 ??_C@_1O@MOPHEPGP@?$AAf?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AA@ 100b0870 LIBCMTD:feoferr.obj - 0003:00006880 ??_C@_1BE@DHFIIAMO@?$AA_?$AAf?$AAt?$AAe?$AAl?$AAl?$AAi?$AA6?$AA4?$AA?$AA@ 100b0880 LIBCMTD:ftelli64.obj - 0003:00006898 ??_C@_1GE@GDLBAPK@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b0898 LIBCMTD:ftelli64.obj - 0003:00006910 ??_C@_1BI@MFCLPIBM@?$AAs?$AAt?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b0910 LIBCMTD:ftelli64.obj - 0003:0000692c ??_C@_1BE@LFNEFJFD@?$AA_?$AAf?$AAs?$AAe?$AAe?$AAk?$AAi?$AA6?$AA4?$AA?$AA@ 100b092c LIBCMTD:fseeki64.obj - 0003:00006948 ??_C@_1GE@FPMJBCHH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b0948 LIBCMTD:fseeki64.obj - 0003:000069c0 __pRawDllMain 100b09c0 LIBCMTD:dllcrt0.obj - 0003:000069c0 __pDefaultRawDllMain 100b09c0 LIBCMTD:dllcrt0.obj - 0003:000069c4 ??_C@_0DB@OLNOAEGF@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b09c4 LIBCMTD:dllcrt0.obj - 0003:00006a00 ??_C@_0DB@KIKNCIEC@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b0a00 LIBCMTD:osfinfo.obj - 0003:00006a3c ??_C@_1BO@EMBOBGKE@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAo?$AAs?$AAf?$AAh?$AAa?$AAn?$AAd?$AAl?$AAe?$AA?$AA@ 100b0a3c LIBCMTD:osfinfo.obj - 0003:00006a60 ??_C@_1GC@MLKLDJJG@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b0a60 LIBCMTD:osfinfo.obj - 0003:00006ad8 ??_C@_0DA@NBLAKPEL@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b0ad8 LIBCMTD:ioinit.obj - 0003:00006b14 ??_C@_17LGKOMLJ@?$AA?4?$AA?4?$AA?4?$AA?$AA@ 100b0b14 LIBCMTD:dbgrptw.obj - 0003:00006b20 ??_C@_1CC@CGHMNGDG@?$AAA?$AAs?$AAs?$AAe?$AAr?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?$AA@ 100b0b20 LIBCMTD:dbgrptw.obj - 0003:00006b48 ??_C@_1M@ILHOPKA@?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?$AA@ 100b0b48 LIBCMTD:dbgrptw.obj - 0003:00006b58 ??_C@_1BA@GLMCNLEM@?$AAW?$AAa?$AAr?$AAn?$AAi?$AAn?$AAg?$AA?$AA@ 100b0b58 LIBCMTD:dbgrptw.obj - 0003:00006b7c ??_C@_0DA@PCCBBBID@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b0b7c LIBCMTD:dbgrptw.obj - 0003:00006bb8 ??_C@_1FI@PHIAFFHM@?$AA?$CI?$AA?$CC?$AAT?$AAh?$AAe?$AA?5?$AAh?$AAo?$AAo?$AAk?$AA?5?$AAf?$AAu?$AAn?$AAc?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAi?$AAs?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAi?$AAn?$AA?5?$AAt?$AAh@ 100b0bb8 LIBCMTD:dbgrptw.obj - 0003:00006c24 ??_C@_1CG@JBJEFOCM@?$AAp?$AAf?$AAn?$AAN?$AAe?$AAw?$AAH?$AAo?$AAo?$AAk?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b0c24 LIBCMTD:dbgrptw.obj - 0003:00006c54 ??_C@_1CI@IIHEAKEI@?$AA_?$AAC?$AAr?$AAt?$AAS?$AAe?$AAt?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AAH?$AAo?$AAo?$AAk?$AAW?$AA2?$AA?$AA@ 100b0c54 LIBCMTD:dbgrptw.obj - 0003:00006c88 ??_C@_1GA@IBJGKIFE@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b0c88 LIBCMTD:dbgrptw.obj - 0003:00006d00 ??_C@_1HI@OFEHGPPC@?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAC?$AAR?$AAT?$AA_?$AAR?$AAP?$AAT?$AAH?$AAO?$AAO?$AAK?$AA_?$AAI?$AAN?$AAS?$AAT?$AAA?$AAL?$AAL?$AA?5?$AA?$HM?$AA?$HM?$AA?5@ 100b0d00 LIBCMTD:dbgrptw.obj - 0003:00006d90 ??_C@_1EG@PEOEAKBB@?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa?$AAl?$AA?5?$AAC?$AA?$CL?$AA?$CL?$AA?5?$AAD?$AAe?$AAb?$AAu?$AAg?$AA?5?$AAL?$AAi?$AAb?$AAr?$AAa@ 100b0d90 LIBCMTD:dbgrptw.obj - 0003:00006de8 ??_C@_1FG@BBOLDHGF@?$AA_?$AAC?$AAr?$AAt?$AAD?$AAb?$AAg?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AA?3?$AA?5?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAt?$AAo?$AAo?$AA?5?$AAl?$AAo?$AAn?$AAg?$AA?5?$AAo@ 100b0de8 LIBCMTD:dbgrptw.obj - 0003:00006e50 ??_C@_1JI@EACPGHID@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAL?$AA?$CC?$AA_@ 100b0e50 LIBCMTD:dbgrptw.obj - 0003:00006f08 ??_C@_1BI@KALLJECN@?$AA?$CI?$AA?$CK?$AA_?$AAe?$AAr?$AAr?$AAn?$AAo?$AA?$CI?$AA?$CJ?$AA?$CJ?$AA?$AA@ 100b0f08 LIBCMTD:dbgrptw.obj - 0003:00006f28 ??_C@_1KK@MEFMPOLM@?$AAD?$AAe?$AAb?$AAu?$AAg?$AA?5?$AA?$CF?$AAs?$AA?$CB?$AA?6?$AA?6?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?3?$AA?5?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs?$AA?$CF?$AAs@ 100b0f28 LIBCMTD:dbgrptw.obj - 0003:00006ff4 ??_C@_1BE@CGCJKGHI@?$AA?6?$AAM?$AAo?$AAd?$AAu?$AAl?$AAe?$AA?3?$AA?5?$AA?$AA@ 100b0ff4 LIBCMTD:dbgrptw.obj - 0003:0000700c ??_C@_1BA@LNHECFIM@?$AA?6?$AAF?$AAi?$AAl?$AAe?$AA?3?$AA?5?$AA?$AA@ 100b100c LIBCMTD:dbgrptw.obj - 0003:00007020 ??_C@_1BA@GLLGCPCK@?$AA?6?$AAL?$AAi?$AAn?$AAe?$AA?3?$AA?5?$AA?$AA@ 100b1020 LIBCMTD:dbgrptw.obj - 0003:00007034 ??_C@_15IABLJNFO@?$AA?6?$AA?6?$AA?$AA@ 100b1034 LIBCMTD:dbgrptw.obj - 0003:0000703c ??_C@_1BK@PEDCIPMA@?$AAE?$AAx?$AAp?$AAr?$AAe?$AAs?$AAs?$AAi?$AAo?$AAn?$AA?3?$AA?5?$AA?$AA@ 100b103c LIBCMTD:dbgrptw.obj - 0003:0000705c ??_C@_11LOCGONAA@?$AA?$AA@ 100b105c LIBCMTD:dbgrptw.obj - 0003:00007060 ??_C@_1OG@PMPPFHAF@?$AA?6?$AA?6?$AAF?$AAo?$AAr?$AA?5?$AAi?$AAn?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAo?$AAn?$AA?5?$AAh?$AAo?$AAw?$AA?5?$AAy?$AAo?$AAu?$AAr?$AA?5?$AAp?$AAr@ 100b1060 LIBCMTD:dbgrptw.obj - 0003:00007178 ??_C@_1NO@LECLLHOL@?$AAm?$AAe?$AAm?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAS?$AAh?$AAo?$AAr?$AAt?$AAP?$AAr?$AAo?$AAg?$AAN?$AAa?$AAm?$AAe?$AA?0?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf@ 100b1178 LIBCMTD:dbgrptw.obj - 0003:00007284 ??_C@_1CO@EAEJAADC@?$AA?$DM?$AAp?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAn?$AAa?$AAm?$AAe?$AA?5?$AAu?$AAn?$AAk?$AAn?$AAo?$AAw?$AAn?$AA?$DO?$AA?$AA@ 100b1284 LIBCMTD:dbgrptw.obj - 0003:000072c0 ??_C@_1GI@DEDNNLCI@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAE?$AAx?$AAe?$AAN?$AAa?$AAm?$AAe?$AA?0?$AA?5?$AA2?$AA6?$AA0?$AA?0?$AA?5?$AAL?$AA?$CC?$AA?$DM?$AAp?$AAr?$AAo?$AAg@ 100b12c0 LIBCMTD:dbgrptw.obj - 0003:0000733c ??_C@_1CI@PGJIFDEK@?$AA_?$AA_?$AAc?$AAr?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AAW?$AAi?$AAn?$AAd?$AAo?$AAw?$AAW?$AA?$AA@ 100b133c LIBCMTD:dbgrptw.obj - 0003:0000736c ??_C@_06PJIGMIJB@Client?$AA@ 100b136c LIBCMTD:dbgheap.obj - 0003:00007374 ??_C@_06KMEJCCGM@Ignore?$AA@ 100b1374 LIBCMTD:dbgheap.obj - 0003:0000737c ??_C@_03OGPFLFLO@CRT?$AA@ 100b137c LIBCMTD:dbgheap.obj - 0003:00007380 ??_C@_06EFAGIKOH@Normal?$AA@ 100b1380 LIBCMTD:dbgheap.obj - 0003:00007388 ??_C@_04HJMOFLDF@Free?$AA@ 100b1388 LIBCMTD:dbgheap.obj - 0003:000073a8 ??_C@_0DC@JEMAGEKG@Error?3?5memory?5allocation?3?5bad?5me@ 100b13a8 LIBCMTD:dbgheap.obj - 0003:000073e4 ??_C@_0CF@BICKFLAF@Invalid?5allocation?5size?3?5?$CFIu?5byt@ 100b13e4 LIBCMTD:dbgheap.obj - 0003:00007410 ??_C@_02DKCKIIND@?$CFs?$AA@ 100b1410 LIBCMTD:dbgheap.obj - 0003:00007414 ??_C@_0CB@CCLOLAHO@Client?5hook?5allocation?5failure?4?6@ 100b1414 LIBCMTD:dbgheap.obj - 0003:0000743c ??_C@_0DF@BBEGIFEK@Client?5hook?5allocation?5failure?5a@ 100b143c LIBCMTD:dbgheap.obj - 0003:00007480 ??_C@_1GC@DNJKKEAA@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b1480 LIBCMTD:dbgheap.obj - 0003:000074f8 ??_C@_1CE@LJFEPPMP@?$AA_?$AAC?$AAr?$AAt?$AAC?$AAh?$AAe?$AAc?$AAk?$AAM?$AAe?$AAm?$AAo?$AAr?$AAy?$AA?$CI?$AA?$CJ?$AA?$AA@ 100b14f8 LIBCMTD:dbgheap.obj - 0003:00007524 ??_C@_1DE@KOOKLFBB@?$AA_?$AAp?$AAF?$AAi?$AAr?$AAs?$AAt?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAp?$AAO?$AAl?$AAd?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 100b1524 LIBCMTD:dbgheap.obj - 0003:00007564 ??_C@_1DC@GEFKNOOL@?$AA_?$AAp?$AAL?$AAa?$AAs?$AAt?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAp?$AAO?$AAl?$AAd?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 100b1564 LIBCMTD:dbgheap.obj - 0003:000075a0 ??_C@_1GE@PCKLOLAO@?$AAf?$AAR?$AAe?$AAa?$AAl?$AAl?$AAo?$AAc?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CI?$AA?$CB?$AAf?$AAR?$AAe?$AAa?$AAl?$AAl?$AAo?$AAc?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAp?$AAN?$AAe?$AAw?$AAB?$AAl@ 100b15a0 LIBCMTD:dbgheap.obj - 0003:00007618 ??_C@_0DA@HFBKENN@Error?3?5possible?5heap?5corruption?5@ 100b1618 LIBCMTD:dbgheap.obj - 0003:00007658 ??_C@_1IK@DCPKDGNH@?$AAp?$AAO?$AAl?$AAd?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?9?$AA?$DO?$AAn?$AAL?$AAi?$AAn?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAI?$AAG?$AAN?$AAO?$AAR?$AAE?$AA_?$AAL?$AAI?$AAN?$AAE?$AA?5@ 100b1658 LIBCMTD:dbgheap.obj - 0003:00007700 ??_C@_1EE@GFOPCECE@?$AA_?$AAC?$AAr?$AAt?$AAI?$AAs?$AAV?$AAa?$AAl?$AAi?$AAd?$AAH?$AAe?$AAa?$AAp?$AAP?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?$CI?$AAp?$AAU?$AAs?$AAe?$AAr?$AAD?$AAa?$AAt?$AAa@ 100b1700 LIBCMTD:dbgheap.obj - 0003:00007758 ??_C@_0EM@LGFLMAGJ@The?5Block?5at?50x?$CFp?5was?5allocated?5@ 100b1758 LIBCMTD:dbgheap.obj - 0003:000077b8 ??_C@_0FA@EFEIGJKG@Error?3?5memory?5allocation?3?5bad?5me@ 100b17b8 LIBCMTD:dbgheap.obj - 0003:00007818 ??_C@_0ED@GPCPBAGP@Invalid?5allocation?5size?3?5?$CFIu?5byt@ 100b1818 LIBCMTD:dbgheap.obj - 0003:00007868 ??_C@_0CE@DOFMDOL@Client?5hook?5re?9allocation?5failur@ 100b1868 LIBCMTD:dbgheap.obj - 0003:00007894 ??_C@_0DI@KKJPDPGM@Client?5hook?5re?9allocation?5failur@ 100b1894 LIBCMTD:dbgheap.obj - 0003:000078d8 ??_C@_1BI@HAPNGHDP@?$AA_?$AAe?$AAx?$AAp?$AAa?$AAn?$AAd?$AA_?$AAd?$AAb?$AAg?$AA?$AA@ 100b18d8 LIBCMTD:dbgheap.obj - 0003:000078f4 ??_C@_1CE@CJACEFBA@?$AAp?$AAU?$AAs?$AAe?$AAr?$AAD?$AAa?$AAt?$AAa?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b18f4 LIBCMTD:dbgheap.obj - 0003:00007920 ??_C@_1CM@MMAADDMD@?$AA_?$AAp?$AAF?$AAi?$AAr?$AAs?$AAt?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAp?$AAH?$AAe?$AAa?$AAd?$AA?$AA@ 100b1920 LIBCMTD:dbgheap.obj - 0003:00007954 ??_C@_1CK@DMAGEMBG@?$AA_?$AAp?$AAL?$AAa?$AAs?$AAt?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAp?$AAH?$AAe?$AAa?$AAd?$AA?$AA@ 100b1954 LIBCMTD:dbgheap.obj - 0003:00007988 ??_C@_1DM@ODCJIDCP@?$AAp?$AAH?$AAe?$AAa?$AAd?$AA?9?$AA?$DO?$AAn?$AAB?$AAl?$AAo?$AAc?$AAk?$AAU?$AAs?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAn?$AAB?$AAl?$AAo?$AAc?$AAk?$AAU?$AAs?$AAe?$AA?$AA@ 100b1988 LIBCMTD:dbgheap.obj - 0003:000079d0 ??_C@_1HK@HPCBMDFG@?$AAp?$AAH?$AAe?$AAa?$AAd?$AA?9?$AA?$DO?$AAn?$AAL?$AAi?$AAn?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAI?$AAG?$AAN?$AAO?$AAR?$AAE?$AA_?$AAL?$AAI?$AAN?$AAE?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAp@ 100b19d0 LIBCMTD:dbgheap.obj - 0003:00007a68 ??_C@_0IG@LEMBDCJK@HEAP?5CORRUPTION?5DETECTED?3?5after?5@ 100b1a68 LIBCMTD:dbgheap.obj - 0003:00007b08 ??_C@_0KE@MBMNHHHN@HEAP?5CORRUPTION?5DETECTED?3?5after?5@ 100b1b08 LIBCMTD:dbgheap.obj - 0003:00007bd0 ??_C@_0IK@PJCGLBOB@HEAP?5CORRUPTION?5DETECTED?3?5before@ 100b1bd0 LIBCMTD:dbgheap.obj - 0003:00007c78 ??_C@_0KI@JGFOHMEB@HEAP?5CORRUPTION?5DETECTED?3?5before@ 100b1c78 LIBCMTD:dbgheap.obj - 0003:00007d48 ??_C@_1EO@LHDAJOCM@?$AA_?$AAB?$AAL?$AAO?$AAC?$AAK?$AA_?$AAT?$AAY?$AAP?$AAE?$AA_?$AAI?$AAS?$AA_?$AAV?$AAA?$AAL?$AAI?$AAD?$AA?$CI?$AAp?$AAH?$AAe?$AAa?$AAd?$AA?9?$AA?$DO?$AAn?$AAB?$AAl?$AAo@ 100b1d48 LIBCMTD:dbgheap.obj - 0003:00007da8 ??_C@_0BL@KEIPLFAC@Client?5hook?5free?5failure?4?6?$AA@ 100b1da8 LIBCMTD:dbgheap.obj - 0003:00007dc8 ??_C@_0EJ@HEIBCIMJ@The?5Block?5at?50x?$CFp?5was?5allocated?5@ 100b1dc8 LIBCMTD:dbgheap.obj - 0003:00007e20 ??_C@_1BG@MBKOGDLD@?$AA_?$AAm?$AAs?$AAi?$AAz?$AAe?$AA_?$AAd?$AAb?$AAg?$AA?$AA@ 100b1e20 LIBCMTD:dbgheap.obj - 0003:00007e3c ??_C@_0CI@JMLBEDHJ@?$CFhs?5located?5at?50x?$CFp?5is?5?$CFIu?5bytes@ 100b1e3c LIBCMTD:dbgheap.obj - 0003:00007e70 ??_C@_0EG@DGJMPDBH@?$CFhs?5located?5at?50x?$CFp?5is?5?$CFIu?5bytes@ 100b1e70 LIBCMTD:dbgheap.obj - 0003:00007ec8 ??_C@_0IC@BBJIOOJH@HEAP?5CORRUPTION?5DETECTED?3?5on?5top@ 100b1ec8 LIBCMTD:dbgheap.obj - 0003:00007f68 ??_C@_0KA@IHNJJKPL@HEAP?5CORRUPTION?5DETECTED?3?5on?5top@ 100b1f68 LIBCMTD:dbgheap.obj - 0003:00008028 ??_C@_07OHKEFPKJ@DAMAGED?$AA@ 100b2028 LIBCMTD:dbgheap.obj - 0003:00008034 ??_C@_0CL@HNNNMKMJ@_heapchk?5fails?5with?5unknown?5retu@ 100b2034 LIBCMTD:dbgheap.obj - 0003:00008068 ??_C@_0CC@MFFCHFHO@_heapchk?5fails?5with?5_HEAPBADPTR?4@ 100b2068 LIBCMTD:dbgheap.obj - 0003:00008090 ??_C@_0CC@MJGLGBDG@_heapchk?5fails?5with?5_HEAPBADEND?4@ 100b2090 LIBCMTD:dbgheap.obj - 0003:000080b8 ??_C@_0CD@CPKEAPBD@_heapchk?5fails?5with?5_HEAPBADNODE@ 100b20b8 LIBCMTD:dbgheap.obj - 0003:000080e4 ??_C@_0CE@MKKHMBMK@_heapchk?5fails?5with?5_HEAPBADBEGI@ 100b20e4 LIBCMTD:dbgheap.obj - 0003:00008110 ??_C@_1BO@GJFDNMNF@?$AA_?$AAC?$AAr?$AAt?$AAS?$AAe?$AAt?$AAD?$AAb?$AAg?$AAF?$AAl?$AAa?$AAg?$AA?$AA@ 100b2110 LIBCMTD:dbgheap.obj - 0003:00008138 ??_C@_1BHO@NNANJNF@?$AA?$CI?$AAf?$AAN?$AAe?$AAw?$AAB?$AAi?$AAt?$AAs?$AA?$DN?$AA?$DN?$AA_?$AAC?$AAR?$AAT?$AAD?$AAB?$AAG?$AA_?$AAR?$AAE?$AAP?$AAO?$AAR?$AAT?$AA_?$AAF?$AAL?$AAA?$AAG?$AA?$CJ?$AA?5@ 100b2138 LIBCMTD:dbgheap.obj - 0003:00008304 ??_C@_1DE@GJCKCKEC@?$AA_?$AAC?$AAr?$AAt?$AAD?$AAo?$AAF?$AAo?$AAr?$AAA?$AAl?$AAl?$AAC?$AAl?$AAi?$AAe?$AAn?$AAt?$AAO?$AAb?$AAj?$AAe?$AAc?$AAt?$AAs?$AA?$AA@ 100b2304 LIBCMTD:dbgheap.obj - 0003:00008344 ??_C@_1BI@CJGCEEDL@?$AAp?$AAf?$AAn?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b2344 LIBCMTD:dbgheap.obj - 0003:00008360 ??_C@_0CB@EAAIGELO@Bad?5memory?5block?5found?5at?50x?$CFp?4?6@ 100b2360 LIBCMTD:dbgheap.obj - 0003:00008388 ??_C@_0DP@LEFMFBOD@Bad?5memory?5block?5found?5at?50x?$CFp?4?6@ 100b2388 LIBCMTD:dbgheap.obj - 0003:000083d4 ??_C@_1CE@NJJKELF@?$AA_?$AAC?$AAr?$AAt?$AAM?$AAe?$AAm?$AAC?$AAh?$AAe?$AAc?$AAk?$AAp?$AAo?$AAi?$AAn?$AAt?$AA?$AA@ 100b23d4 LIBCMTD:dbgheap.obj - 0003:00008400 ??_C@_1BM@MIMANDHC@?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b2400 LIBCMTD:dbgheap.obj - 0003:00008424 ??_C@_1CC@DFPEDFBP@?$AAn?$AAe?$AAw?$AAS?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b2424 LIBCMTD:dbgheap.obj - 0003:0000844c ??_C@_1CC@DHPFEMMN@?$AAo?$AAl?$AAd?$AAS?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b244c LIBCMTD:dbgheap.obj - 0003:00008474 ??_C@_1CE@PDIENACM@?$AA_?$AAC?$AAr?$AAt?$AAM?$AAe?$AAm?$AAD?$AAi?$AAf?$AAf?$AAe?$AAr?$AAe?$AAn?$AAc?$AAe?$AA?$AA@ 100b2474 LIBCMTD:dbgheap.obj - 0003:000084a0 ??_C@_0BH@GFGKJDCO@Object?5dump?5complete?4?6?$AA@ 100b24a0 LIBCMTD:dbgheap.obj - 0003:000084bc ??_C@_0DA@MDLBNIBM@crt?5block?5at?50x?$CFp?0?5subtype?5?$CFx?0?5?$CF@ 100b24bc LIBCMTD:dbgheap.obj - 0003:000084f8 ??_C@_0CH@FAGDDGPN@normal?5block?5at?50x?$CFp?0?5?$CFIu?5bytes?5@ 100b24f8 LIBCMTD:dbgheap.obj - 0003:00008528 ??_C@_0DD@GHNAAKBB@client?5block?5at?50x?$CFp?0?5subtype?5?$CFx@ 100b2528 LIBCMTD:dbgheap.obj - 0003:00008568 ??_C@_06PKLGBFGM@?$HL?$CFld?$HN?5?$AA@ 100b2568 LIBCMTD:dbgheap.obj - 0003:00008570 ??_C@_0L@JMEFFCCJ@?$CFhs?$CI?$CFd?$CJ?5?3?5?$AA@ 100b2570 LIBCMTD:dbgheap.obj - 0003:00008580 ??_C@_0BE@OIEFNFL@?$CDFile?5Error?$CD?$CI?$CFd?$CJ?5?3?5?$AA@ 100b2580 LIBCMTD:dbgheap.obj - 0003:00008598 ??_C@_0BE@KCIPKCIA@Dumping?5objects?5?9?$DO?6?$AA@ 100b2598 LIBCMTD:dbgheap.obj - 0003:000085b0 ??_C@_0BA@HJBKCELP@?5Data?3?5?$DM?$CFs?$DO?5?$CFs?6?$AA@ 100b25b0 LIBCMTD:dbgheap.obj - 0003:000085c4 ??_C@_1CG@LPFIACGM@?$AA_?$AAp?$AAr?$AAi?$AAn?$AAt?$AAM?$AAe?$AAm?$AAB?$AAl?$AAo?$AAc?$AAk?$AAD?$AAa?$AAt?$AAa?$AA?$AA@ 100b25c4 LIBCMTD:dbgheap.obj - 0003:000085f4 ??_C@_05MKKEDADM@?$CF?42X?5?$AA@ 100b25f4 LIBCMTD:dbgheap.obj - 0003:000085fc ??_C@_0BI@JBFPOEJA@Detected?5memory?5leaks?$CB?6?$AA@ 100b25fc LIBCMTD:dbgheap.obj - 0003:00008618 ??_C@_0BP@DEDHGGGI@Total?5allocations?3?5?$CFId?5bytes?4?6?$AA@ 100b2618 LIBCMTD:dbgheap.obj - 0003:00008640 ??_C@_0CB@BLHDAFNE@Largest?5number?5used?3?5?$CFId?5bytes?4?6@ 100b2640 LIBCMTD:dbgheap.obj - 0003:00008668 ??_C@_0BO@DACNIABB@?$CFId?5bytes?5in?5?$CFId?5?$CFhs?5Blocks?4?6?$AA@ 100b2668 LIBCMTD:dbgheap.obj - 0003:0000868c ??_C@_1CM@MPNIBKGK@?$AA_?$AAC?$AAr?$AAt?$AAM?$AAe?$AAm?$AAD?$AAu?$AAm?$AAp?$AAS?$AAt?$AAa?$AAt?$AAi?$AAs?$AAt?$AAi?$AAc?$AAs?$AA?$AA@ 100b268c LIBCMTD:dbgheap.obj - 0003:000086c0 ??_C@_1DK@LFLKFPDA@?$AAo?$AAf?$AAf?$AAs?$AAe?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAo?$AAf?$AAf?$AAs?$AAe?$AAt?$AA?5?$AA?$DM?$AA?5?$AAs?$AAi?$AAz?$AAe?$AA?$AA@ 100b26c0 LIBCMTD:dbgheap.obj - 0003:00008708 ??_C@_1DG@DONCJBBJ@?$AA_?$AAa?$AAl?$AAi?$AAg?$AAn?$AAe?$AAd?$AA_?$AAo?$AAf?$AAf?$AAs?$AAe?$AAt?$AA_?$AAm?$AAa?$AAl?$AAl?$AAo?$AAc?$AA_?$AAd?$AAb?$AAg?$AA?$AA@ 100b2708 LIBCMTD:dbgheap.obj - 0003:00008748 ??_C@_1CE@NPMGPNNP@?$AAI?$AAS?$AA_?$AA2?$AA_?$AAP?$AAO?$AAW?$AA_?$AAN?$AA?$CI?$AAa?$AAl?$AAi?$AAg?$AAn?$AA?$CJ?$AA?$AA@ 100b2748 LIBCMTD:dbgheap.obj - 0003:00008774 ??_C@_1DI@NINIKFFK@?$AA_?$AAa?$AAl?$AAi?$AAg?$AAn?$AAe?$AAd?$AA_?$AAo?$AAf?$AAf?$AAs?$AAe?$AAt?$AA_?$AAr?$AAe?$AAa?$AAl?$AAl?$AAo?$AAc?$AA_?$AAd?$AAb?$AAg?$AA?$AA@ 100b2774 LIBCMTD:dbgheap.obj - 0003:000087b8 ??_C@_0DL@PGHMMKNE@Damage?5before?50x?$CFp?5which?5was?5all@ 100b27b8 LIBCMTD:dbgheap.obj - 0003:00008800 ??_C@_0EI@NDNJMAJK@The?5block?5at?50x?$CFp?5was?5not?5alloca@ 100b2800 LIBCMTD:dbgheap.obj - 0003:00008858 ??_C@_0EF@PGELACII@The?5block?5at?50x?$CFp?5was?5not?5alloca@ 100b2858 LIBCMTD:dbgheap.obj - 0003:000088ac ??_C@_1CG@CEGMHIMN@?$AA_?$AAa?$AAl?$AAi?$AAg?$AAn?$AAe?$AAd?$AA_?$AAm?$AAs?$AAi?$AAz?$AAe?$AA_?$AAd?$AAb?$AAg?$AA?$AA@ 100b28ac LIBCMTD:dbgheap.obj - 0003:000088dc ??_C@_1CC@MOBIKHH@?$AAm?$AAe?$AAm?$AAb?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b28dc LIBCMTD:dbgheap.obj - 0003:00008908 ??_C@_1HO@MLMGPAFH@?$AA?$CI?$AA?$CC?$AAi?$AAn?$AAc?$AAo?$AAn?$AAs?$AAi?$AAs?$AAt?$AAe?$AAn?$AAt?$AA?5?$AAI?$AAO?$AAB?$AA?5?$AAf?$AAi?$AAe?$AAl?$AAd?$AAs?$AA?$CC?$AA?0?$AA?5?$AAs?$AAt?$AAr?$AAe@ 100b2908 LIBCMTD:_flsbuf.obj - 0003:000089a0 ??_C@_1GC@GNCCMPNN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b29a0 LIBCMTD:_flsbuf.obj - 0003:00008a18 ??_C@_1O@CEDCILHN@?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AA?$CJ?$AA?$AA@ 100b2a18 LIBCMTD:output.obj - 0003:00008a28 ??_C@_06OJHGLDPL@?$CInull?$CJ?$AA@ 100b2a28 LIBCMTD:output.obj - 0003:00008a30 ___lookuptable 100b2a30 LIBCMTD:output.obj - 0003:00008a9c ??_C@_0DA@NFBEBPEE@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b2a9c LIBCMTD:output.obj - 0003:00008ad8 ??_C@_1EK@PNGFDECN@?$AA?$CI?$AA?$CC?$AA?8?$AAn?$AA?8?$AA?5?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA?5?$AAs?$AAp?$AAe?$AAc?$AAi?$AAf?$AAi?$AAe?$AAr?$AA?5?$AAd?$AAi?$AAs?$AAa?$AAb?$AAl?$AAe?$AAd?$AA?$CC@ 100b2ad8 LIBCMTD:output.obj - 0003:00008b30 ??_C@_1CC@IFFHEMNF@?$AA?$CI?$AAc?$AAh?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AA_?$AAT?$AA?$CI?$AA?8?$AA?2?$AA0?$AA?8?$AA?$CJ?$AA?$CJ?$AA?$AA@ 100b2b30 LIBCMTD:output.obj - 0003:00008b58 ??_C@_1BAA@ODEGEDCK@?$AA?$CI?$AA?5?$AA?$CI?$AA_?$AAS?$AAt?$AAr?$AAe?$AAa?$AAm?$AA?9?$AA?$DO?$AA_?$AAf?$AAl?$AAa?$AAg?$AA?5?$AA?$CG?$AA?5?$AA_?$AAI?$AAO?$AAS?$AAT?$AAR?$AAG?$AA?$CJ?$AA?5?$AA?$HM?$AA?$HM?$AA?5@ 100b2b58 LIBCMTD:output.obj - 0003:00008c8c ??_C@_1BE@IONLIDNC@?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAl?$AA?$AA@ 100b2c8c LIBCMTD:output.obj - 0003:00008ca8 ??_C@_1GA@HHFOFBLN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b2ca8 LIBCMTD:output.obj - 0003:00008d1c ??_C@_1BI@IGILPKD@?$AA_?$AAv?$AAs?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAl?$AA?$AA@ 100b2d1c LIBCMTD:vsprintf.obj - 0003:00008d38 ??_C@_1GE@DPADKNCG@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b2d38 LIBCMTD:vsprintf.obj - 0003:00008db0 ??_C@_1CE@HMKDJHB@?$AA_?$AAv?$AAs?$AAc?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 100b2db0 LIBCMTD:vsprintf.obj - 0003:00008de0 ??_C@_1EC@FABAOFFO@?$AA?$CI?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?$CJ?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CI?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ@ 100b2de0 LIBCMTD:vsnprnc.obj - 0003:00008e30 ??_C@_1CE@PCFPEIFI@?$AA_?$AAv?$AAs?$AAn?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 100b2e30 LIBCMTD:vsnprnc.obj - 0003:00008e5c ??_C@_1DA@HPBFKMEB@?$AA?$CI?$AA?$CC?$AAB?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AAt?$AAo?$AAo?$AA?5?$AAs?$AAm?$AAa?$AAl?$AAl?$AA?$CC?$AA?0?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 100b2e5c LIBCMTD:vsnprnc.obj - 0003:00008e98 ??_C@_1EE@OKCKIGFK@?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$DO?$AA?5@ 100b2e98 LIBCMTD:vsnprnc.obj - 0003:00008eec ??_C@_1BM@BLJALHEF@?$AA_?$AAv?$AAs?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 100b2eec LIBCMTD:vsnprnc.obj - 0003:00008f10 ??_C@_1BO@MLMCMBKN@?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b2f10 LIBCMTD:vsnprnc.obj - 0003:00008f34 ??_C@_1BO@MMPELNIM@?$AA_?$AAv?$AAs?$AAn?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 100b2f34 LIBCMTD:vsnprnc.obj - 0003:00008f58 ??_C@_1DM@MADKGDLO@?$AA?$CI?$AAL?$AA?$CC?$AAB?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AAi?$AAs?$AA?5?$AAt?$AAo?$AAo?$AA?5?$AAs?$AAm?$AAa?$AAl?$AAl?$AA?$CC?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 100b2f58 LIBCMTD:strcpy_s.obj - 0003:00008fa0 ??_C@_1CI@HCPHDDLE@?$AAB?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?5?$AAi?$AAs?$AA?5?$AAt?$AAo?$AAo?$AA?5?$AAs?$AAm?$AAa?$AAl?$AAl?$AA?$AA@ 100b2fa0 LIBCMTD:strcpy_s.obj - 0003:00008fd0 ??_C@_1CG@OFBJMIGJ@?$AA?$CI?$AA?$CI?$AA?$CI?$AA_?$AAS?$AAr?$AAc?$AA?$CJ?$AA?$CJ?$AA?$CJ?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b2fd0 LIBCMTD:strcpy_s.obj - 0003:00009000 ??_C@_1BC@CFJEPFGF@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$AA@ 100b3000 LIBCMTD:strcpy_s.obj - 0003:00009018 ??_C@_1GI@BGBNCIMA@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b3018 LIBCMTD:strcpy_s.obj - 0003:00009098 ??_C@_1FC@NCPEPIBI@?$AA?$CI?$AA?$CI?$AA_?$AAD?$AAs?$AAt?$AA?$CJ?$AA?$CJ?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AA?$CI?$AA_?$AAS?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt@ 100b3098 LIBCMTD:strcpy_s.obj - 0003:000090fc ??_C@_0DC@LMJHGCKC@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b30fc LIBCMTD:tidtable.obj - 0003:00009138 ??_C@_07PEJMOBNF@FlsFree?$AA@ 100b3138 LIBCMTD:tidtable.obj - 0003:00009144 ??_C@_0M@JCPCPOEF@FlsSetValue?$AA@ 100b3144 LIBCMTD:tidtable.obj - 0003:00009154 ??_C@_0M@GDNOONDI@FlsGetValue?$AA@ 100b3154 LIBCMTD:tidtable.obj - 0003:00009164 ??_C@_08KNHFBNJ@FlsAlloc?$AA@ 100b3164 LIBCMTD:tidtable.obj - 0003:00009170 ??_C@_1BK@DBDEIDLH@?$AAK?$AAE?$AAR?$AAN?$AAE?$AAL?$AA3?$AA2?$AA?4?$AAD?$AAL?$AAL?$AA?$AA@ 100b3170 LIBCMTD:tidtable.obj - 0003:00009190 ??_C@_0BG@KLEAJEFJ@Illegal?5byte?5sequence?$AA@ 100b3190 LIBCMTD:syserr.obj - 0003:000091ac ??_C@_0BE@ICMCHPHH@Directory?5not?5empty?$AA@ 100b31ac LIBCMTD:syserr.obj - 0003:000091c4 ??_C@_0BJ@IHEHINLI@Function?5not?5implemented?$AA@ 100b31c4 LIBCMTD:syserr.obj - 0003:000091e4 ??_C@_0BD@CLHBCGPB@No?5locks?5available?$AA@ 100b31e4 LIBCMTD:syserr.obj - 0003:000091fc ??_C@_0BC@BEDIHIDK@Filename?5too?5long?$AA@ 100b31fc LIBCMTD:syserr.obj - 0003:00009214 ??_C@_0BK@JAEBMJJM@Resource?5deadlock?5avoided?$AA@ 100b3214 LIBCMTD:syserr.obj - 0003:00009234 ??_C@_0BB@FCBJFCAJ@Result?5too?5large?$AA@ 100b3234 LIBCMTD:syserr.obj - 0003:00009248 ??_C@_0N@MMJPGLJK@Domain?5error?$AA@ 100b3248 LIBCMTD:syserr.obj - 0003:00009258 ??_C@_0M@LHEPIIOM@Broken?5pipe?$AA@ 100b3258 LIBCMTD:syserr.obj - 0003:00009268 ??_C@_0P@PKCJJLLM@Too?5many?5links?$AA@ 100b3268 LIBCMTD:syserr.obj - 0003:0000927c ??_C@_0BG@DDBFNKBH@Read?9only?5file?5system?$AA@ 100b327c LIBCMTD:syserr.obj - 0003:00009298 ??_C@_0N@FEHLOILP@Invalid?5seek?$AA@ 100b3298 LIBCMTD:syserr.obj - 0003:000092a8 ??_C@_0BI@FEALHKLD@No?5space?5left?5on?5device?$AA@ 100b32a8 LIBCMTD:syserr.obj - 0003:000092c4 ??_C@_0P@LFMMIPAE@File?5too?5large?$AA@ 100b32c4 LIBCMTD:syserr.obj - 0003:000092d8 ??_C@_0CE@ONOKNLPF@Inappropriate?5I?1O?5control?5operat@ 100b32d8 LIBCMTD:syserr.obj - 0003:00009304 ??_C@_0BE@INBJMKGG@Too?5many?5open?5files?$AA@ 100b3304 LIBCMTD:syserr.obj - 0003:0000931c ??_C@_0BO@IIFBODJE@Too?5many?5open?5files?5in?5system?$AA@ 100b331c LIBCMTD:syserr.obj - 0003:00009340 ??_C@_0BB@HMGGCEBG@Invalid?5argument?$AA@ 100b3340 LIBCMTD:syserr.obj - 0003:00009354 ??_C@_0P@NDHGCGKE@Is?5a?5directory?$AA@ 100b3354 LIBCMTD:syserr.obj - 0003:00009368 ??_C@_0BA@CJBACOOL@Not?5a?5directory?$AA@ 100b3368 LIBCMTD:syserr.obj - 0003:0000937c ??_C@_0P@NLEIANHE@No?5such?5device?$AA@ 100b337c LIBCMTD:syserr.obj - 0003:00009390 ??_C@_0O@OAMDNOCP@Improper?5link?$AA@ 100b3390 LIBCMTD:syserr.obj - 0003:000093a0 ??_C@_0M@NAAJNNGH@File?5exists?$AA@ 100b33a0 LIBCMTD:syserr.obj - 0003:000093b0 ??_C@_0BA@BIBLIOEK@Resource?5device?$AA@ 100b33b0 LIBCMTD:syserr.obj - 0003:000093c4 ??_C@_0O@NIPGCINC@Unknown?5error?$AA@ 100b33c4 LIBCMTD:syserr.obj - 0003:000093d4 ??_C@_0M@LOEHLCJD@Bad?5address?$AA@ 100b33d4 LIBCMTD:syserr.obj - 0003:000093e4 ??_C@_0BC@HFNFNKAI@Permission?5denied?$AA@ 100b33e4 LIBCMTD:syserr.obj - 0003:000093fc ??_C@_0BB@IMDKMPFB@Not?5enough?5space?$AA@ 100b33fc LIBCMTD:syserr.obj - 0003:00009410 ??_C@_0CB@EPFKGNAK@Resource?5temporarily?5unavailable@ 100b3410 LIBCMTD:syserr.obj - 0003:00009438 ??_C@_0BD@LOHELEP@No?5child?5processes?$AA@ 100b3438 LIBCMTD:syserr.obj - 0003:00009450 ??_C@_0BE@NFGDDCEF@Bad?5file?5descriptor?$AA@ 100b3450 LIBCMTD:syserr.obj - 0003:00009468 ??_C@_0BC@HKPNECK@Exec?5format?5error?$AA@ 100b3468 LIBCMTD:syserr.obj - 0003:00009480 ??_C@_0BC@MFFGCDFL@Arg?5list?5too?5long?$AA@ 100b3480 LIBCMTD:syserr.obj - 0003:00009498 ??_C@_0BK@DPKMCKJ@No?5such?5device?5or?5address?$AA@ 100b3498 LIBCMTD:syserr.obj - 0003:000094b8 ??_C@_0BD@KKNFOBBD@Input?1output?5error?$AA@ 100b34b8 LIBCMTD:syserr.obj - 0003:000094d0 ??_C@_0BK@FJBOAFDK@Interrupted?5function?5call?$AA@ 100b34d0 LIBCMTD:syserr.obj - 0003:000094f0 ??_C@_0BA@FKIAIBGA@No?5such?5process?$AA@ 100b34f0 LIBCMTD:syserr.obj - 0003:00009504 ??_C@_0BK@FMDHKPNF@No?5such?5file?5or?5directory?$AA@ 100b3504 LIBCMTD:syserr.obj - 0003:00009524 ??_C@_0BI@BJFCGOHL@Operation?5not?5permitted?$AA@ 100b3524 LIBCMTD:syserr.obj - 0003:00009540 ??_C@_08INEPGKHH@No?5error?$AA@ 100b3540 LIBCMTD:syserr.obj - 0003:0000954c ??_C@_1BE@NDMJHJJG@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$AA@ 100b354c LIBCMTD:strncpy_s.obj - 0003:00009568 ??_C@_1GK@PAJJBKJF@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b3568 LIBCMTD:strncpy_s.obj - 0003:000095e8 ??_C@_1BK@FHMHFMNL@?$AA_?$AAv?$AAs?$AAn?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAl?$AA?$AA@ 100b35e8 LIBCMTD:vsnprint.obj - 0003:00009608 ??_C@_0CP@BNKDODJJ@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b3608 LIBCMTD:_file.obj - 0003:00009668 ??_C@_1CI@KEDPFCAL@?$AA?$CI?$AA?$CK?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAT?$AA?$CI?$AA?8?$AA?2?$AA0?$AA?8?$AA?$CJ?$AA?$CJ?$AA?$AA@ 100b3668 LIBCMTD:_open.obj - 0003:00009698 ??_C@_1BE@DONHJJKE@?$AA_?$AAo?$AAp?$AAe?$AAn?$AAf?$AAi?$AAl?$AAe?$AA?$AA@ 100b3698 LIBCMTD:_open.obj - 0003:000096b0 ??_C@_1DK@PKMJBLLN@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAo?$AAp?$AAe?$AAn?$AA?5?$AAm?$AAo?$AAd?$AAe?$AA?$CC?$AA?0?$AA0?$AA?$CJ?$AA?$AA@ 100b36b0 LIBCMTD:_open.obj - 0003:000096f8 ??_C@_1BK@HGLMNMEC@?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b36f8 LIBCMTD:_open.obj - 0003:00009718 ??_C@_1FO@POGAHKND@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b3718 LIBCMTD:_open.obj - 0003:00009788 ??_C@_1CC@JBMDNKJP@?$AAf?$AAi?$AAl?$AAe?$AAn?$AAa?$AAm?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b3788 LIBCMTD:_open.obj - 0003:000097b0 ??_C@_0DA@NLPACBPK@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b37b0 LIBCMTD:stream.obj - 0003:000097ec ??_C@_1BA@IIKEPOGH@?$AA_?$AAf?$AAi?$AAl?$AAb?$AAu?$AAf?$AA?$AA@ 100b37ec LIBCMTD:_filbuf.obj - 0003:00009800 ??_C@_1GC@CHFNJKFB@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b3800 LIBCMTD:_filbuf.obj - 0003:00009878 ??_C@_1CC@HBLPFNKH@?$AA?$CI?$AAc?$AAn?$AAt?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAI?$AAN?$AAT?$AA_?$AAM?$AAA?$AAX?$AA?$CJ?$AA?$AA@ 100b3878 LIBCMTD:read.obj - 0003:000098a0 ??_C@_1M@NHJOLLDM@?$AA_?$AAr?$AAe?$AAa?$AAd?$AA?$AA@ 100b38a0 LIBCMTD:read.obj - 0003:000098b0 ??_C@_1FM@NGICBHLO@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b38b0 LIBCMTD:read.obj - 0003:00009920 ??_C@_0CO@CEGKNHEH@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b3920 LIBCMTD:read.obj - 0003:00009958 ??_C@_1CC@EEOLPHGO@?$AA?$CI?$AA?$CI?$AAc?$AAn?$AAt?$AA?5?$AA?$CG?$AA?5?$AA1?$AA?$CJ?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 100b3958 LIBCMTD:read.obj - 0003:00009980 ??_C@_1CG@OHLJHGGK@?$AA?$CI?$AAi?$AAn?$AAp?$AAu?$AAt?$AAb?$AAu?$AAf?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100b3980 LIBCMTD:read.obj - 0003:000099b0 ??_C@_1BK@JJBHNDKJ@?$AA_?$AAr?$AAe?$AAa?$AAd?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 100b39b0 LIBCMTD:read.obj - 0003:000099d0 ??_C@_1BA@JGHIEKKM@?$AA_?$AAf?$AAi?$AAl?$AAe?$AAn?$AAo?$AA?$AA@ 100b39d0 LIBCMTD:fileno.obj - 0003:000099e8 ??_C@_1GA@PBJHELNC@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b39e8 LIBCMTD:fileno.obj - 0003:00009a5c ??_C@_1CK@DDKKOLAN@?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?$AA@ 100b3a5c LIBCMTD:memcpy_s.obj - 0003:00009a90 ??_C@_1BI@DCHLDCPP@?$AAs?$AAr?$AAc?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b3a90 LIBCMTD:memcpy_s.obj - 0003:00009aac ??_C@_1BC@GKHDJMGB@?$AAm?$AAe?$AAm?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$AA@ 100b3aac LIBCMTD:memcpy_s.obj - 0003:00009ac8 ??_C@_1GE@NEOPGGBM@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b3ac8 LIBCMTD:memcpy_s.obj - 0003:00009b40 ??_C@_1BI@GKKCBDMD@?$AAd?$AAs?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b3b40 LIBCMTD:memcpy_s.obj - 0003:00009b5c ??_C@_1O@KOFKDHPL@?$AA_?$AAw?$AAr?$AAi?$AAt?$AAe?$AA?$AA@ 100b3b5c LIBCMTD:write.obj - 0003:00009b70 ??_C@_1FO@EPLDPDDL@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b3b70 LIBCMTD:write.obj - 0003:00009be0 ??_C@_1DI@CNMHHHLG@?$AAi?$AAs?$AAl?$AAe?$AAa?$AAd?$AAb?$AAy?$AAt?$AAe?$AA?$CI?$AA_?$AAd?$AAb?$AAc?$AAs?$AAB?$AAu?$AAf?$AAf?$AAe?$AAr?$AA?$CI?$AAf?$AAh?$AA?$CJ?$AA?$CJ?$AA?$AA@ 100b3be0 LIBCMTD:write.obj - 0003:00009c24 ??_C@_1BM@NCANHCIP@?$AA_?$AAw?$AAr?$AAi?$AAt?$AAe?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 100b3c24 LIBCMTD:write.obj - 0003:00009c48 ??_C@_1BM@KFJLMBPG@?$AA?$CI?$AAb?$AAu?$AAf?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100b3c48 LIBCMTD:write.obj - 0003:00009c6c ??_C@_1O@EDOIKGHF@?$AA_?$AAl?$AAs?$AAe?$AAe?$AAk?$AA?$AA@ 100b3c6c LIBCMTD:lseek.obj - 0003:00009c80 ??_C@_1FO@LGKMLCAL@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b3c80 LIBCMTD:lseek.obj - 0003:00009cf0 ??_C@_1DM@LMLOLGJ@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAd?$AAe?$AAs?$AAc?$AAr?$AAi?$AAp?$AAt?$AAo?$AAr?$AA?$CC?$AA?0?$AA0?$AA?$CJ?$AA?$AA@ 100b3cf0 LIBCMTD:lseek.obj - 0003:00009d38 ??_C@_1O@EDEJGJBM@?$AA_?$AAc?$AAl?$AAo?$AAs?$AAe?$AA?$AA@ 100b3d38 LIBCMTD:close.obj - 0003:00009d48 ??_C@_1FO@NNGNFGFH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b3d48 LIBCMTD:close.obj - 0003:00009db8 ??_C@_1GE@MIMBMOF@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b3db8 LIBCMTD:_freebuf.obj - 0003:00009e30 ??_C@_1BO@KIJENGPH@?$AAs?$AAt?$AAr?$AAe?$AAa?$AAm?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b3e30 LIBCMTD:_freebuf.obj - 0003:00009e54 ??_C@_0P@MIGLKIOC@CorExitProcess?$AA@ 100b3e54 LIBCMTD:crt0dat.obj - 0003:00009e68 ??_C@_1BI@BGOHAHKC@?$AAm?$AAs?$AAc?$AAo?$AAr?$AAe?$AAe?$AA?4?$AAd?$AAl?$AAl?$AA?$AA@ 100b3e68 LIBCMTD:crt0dat.obj - 0003:00009e84 ??_C@_1CC@CDIPMFPD@?$AA_?$AAw?$AAp?$AAg?$AAm?$AAp?$AAt?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b3e84 LIBCMTD:crt0dat.obj - 0003:00009eac ??_C@_1BK@PNLDCCDP@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAw?$AAp?$AAg?$AAm?$AAp?$AAt?$AAr?$AA?$AA@ 100b3eac LIBCMTD:crt0dat.obj - 0003:00009ed0 ??_C@_1GC@DGCPEDNJ@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b3ed0 LIBCMTD:crt0dat.obj - 0003:00009f48 ??_C@_1CA@BBNAFCKO@?$AA_?$AAp?$AAg?$AAm?$AAp?$AAt?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b3f48 LIBCMTD:crt0dat.obj - 0003:00009f70 ??_C@_1BI@COAAPHJK@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAp?$AAg?$AAm?$AAp?$AAt?$AAr?$AA?$AA@ 100b3f70 LIBCMTD:crt0dat.obj - 0003:00009f8c ??_C@_1DE@MMOGFGHF@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AA?$CK?$AAe?$AAn?$AAv?$AA?0?$AA?5?$AAc?$AAc?$AAh?$AAa?$AAr?$AAs?$AA?0?$AA?5?$AAp?$AA?$CJ?$AA?$AA@ 100b3f8c LIBCMTD:stdenvp.obj - 0003:00009fcc ??_C@_1BC@GHMCNHHL@?$AA_?$AAs?$AAe?$AAt?$AAe?$AAn?$AAv?$AAp?$AA?$AA@ 100b3fcc LIBCMTD:stdenvp.obj - 0003:00009fe8 ??_C@_1GC@DGBFLDBN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b3fe8 LIBCMTD:stdenvp.obj - 0003:0000a060 ??_C@_0DB@BMEBJJKP@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b4060 LIBCMTD:stdenvp.obj - 0003:0000a09c ??_C@_0DB@OEPBJOLC@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b409c LIBCMTD:stdargv.obj - 0003:0000a0d8 ??_C@_0CP@PPLBCJDN@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b40d8 LIBCMTD:a_env.obj - 0003:0000a110 ??_C@_1GE@JDDMFOID@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b4110 LIBCMTD:heapinit.obj - 0003:0000a188 ??_C@_1BC@DENNNKIM@?$AA_?$AAc?$AAr?$AAt?$AAh?$AAe?$AAa?$AAp?$AA?$AA@ 100b4188 LIBCMTD:heapinit.obj - 0003:0000a1a0 __XcptActTab 100b41a0 LIBCMTD:winxfltr.obj - 0003:0000a230 __First_FPE_Indx 100b4230 LIBCMTD:winxfltr.obj - 0003:0000a234 __Num_FPE 100b4234 LIBCMTD:winxfltr.obj - 0003:0000a238 __XcptActTabSize 100b4238 LIBCMTD:winxfltr.obj - 0003:0000a23c __XcptActTabCount 100b423c LIBCMTD:winxfltr.obj - 0003:0000a260 ??_C@_0CP@MKONOLCI@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b4260 LIBCMTD:mlock.obj - 0003:0000a298 ??_C@_1NK@LOFHIHFC@?$AAf?$AAM?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAC?$AAR?$AAT?$AAD?$AAB?$AAG?$AA_?$AAR?$AAE?$AAP?$AAO?$AAR?$AAT?$AA_?$AAM?$AAO?$AAD?$AAE?$AA?5?$AA?$HM?$AA?$HM?$AA?5@ 100b4298 LIBCMTD:dbgrptt.obj - 0003:0000a3a0 ??_C@_1CE@FIHIECNJ@?$AA_?$AAC?$AAr?$AAt?$AAS?$AAe?$AAt?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AAM?$AAo?$AAd?$AAe?$AA?$AA@ 100b43a0 LIBCMTD:dbgrptt.obj - 0003:0000a3d0 ??_C@_1GC@FIGJJMEN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b43d0 LIBCMTD:dbgrptt.obj - 0003:0000a448 ??_C@_1FA@IFFFOLDJ@?$AAn?$AAR?$AAp?$AAt?$AAT?$AAy?$AAp?$AAe?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAn?$AAR?$AAp?$AAt?$AAT?$AAy?$AAp?$AAe?$AA?5?$AA?$DM?$AA?5?$AA_?$AAC?$AAR?$AAT@ 100b4448 LIBCMTD:dbgrptt.obj - 0003:0000a4a8 ??_C@_1CE@IKKEDCME@?$AA_?$AAC?$AAr?$AAt?$AAS?$AAe?$AAt?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AAF?$AAi?$AAl?$AAe?$AA?$AA@ 100b44a8 LIBCMTD:dbgrptt.obj - 0003:0000a4d8 ??_C@_1HO@PJOFIKFE@?$AA_?$AAC?$AAr?$AAt?$AAD?$AAb?$AAg?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AA?3?$AA?5?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAt?$AAo?$AAo?$AA?5?$AAl?$AAo?$AAn?$AAg?$AA?5?$AAo@ 100b44d8 LIBCMTD:dbgrptt.obj - 0003:0000a570 ??_C@_1MC@IGEECMDB@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA2?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAL?$AA?$CC@ 100b4570 LIBCMTD:dbgrptt.obj - 0003:0000a658 ??_C@_1IM@OOKIFKOH@?$AAe?$AA?5?$AA?$DN?$AA?5?$AAm?$AAb?$AAs?$AAt?$AAo?$AAw?$AAc?$AAs?$AA_?$AAs?$AA?$CI?$AA?$CG?$AAr?$AAe?$AAt?$AA?0?$AA?5?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg@ 100b4658 LIBCMTD:dbgrptt.obj - 0003:0000a700 ??_C@_1FI@IBIOIHEG@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz?$AAL@ 100b4700 LIBCMTD:dbgrptt.obj - 0003:0000a770 ??_C@_1JG@CPKCIOEE@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AA?$CC?$AA_?$AAC@ 100b4770 LIBCMTD:dbgrptt.obj - 0003:0000a824 ??_C@_0M@IPILFDFN@?$CFs?$CI?$CFd?$CJ?5?3?5?$CFs?$AA@ 100b4824 LIBCMTD:dbgrptt.obj - 0003:0000a838 ??_C@_1EI@LDHJEDO@?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AA?$CC?$AA?2@ 100b4838 LIBCMTD:dbgrptt.obj - 0003:0000a890 ??_C@_01LIIJDEN@?$AN?$AA@ 100b4890 LIBCMTD:dbgrptt.obj - 0003:0000a898 ??_C@_1EI@CACDLAFK@?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AA?$CC?$AA?2@ 100b4898 LIBCMTD:dbgrptt.obj - 0003:0000a8f0 ??_C@_1FK@NPGBPOFO@?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz@ 100b48f0 LIBCMTD:dbgrptt.obj - 0003:0000a960 ??_C@_1KK@GIGAEDMO@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz@ 100b4960 LIBCMTD:dbgrptt.obj - 0003:0000aa2c ??_C@_0BC@LAIDCHCH@Assertion?5failed?$CB?$AA@ 100b4a2c LIBCMTD:dbgrptt.obj - 0003:0000aa44 ??_C@_0BD@CAENFOHP@Assertion?5failed?3?5?$AA@ 100b4a44 LIBCMTD:dbgrptt.obj - 0003:0000aa5c ??_C@_0CL@EACFGMNB@_CrtDbgReport?3?5String?5too?5long?5o@ 100b4a5c LIBCMTD:dbgrptt.obj - 0003:0000aa90 ??_C@_1JI@GAALPGBM@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAU?$AAs?$AAe?$AAr?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AA?$CC?$AA_@ 100b4a90 LIBCMTD:dbgrptt.obj - 0003:0000ab48 ??_C@_01EEMJAFIK@?6?$AA@ 100b4b48 LIBCMTD:dbgrptt.obj - 0003:0000ab4c ??_C@_07BHGABMGB@?0?5Line?5?$AA@ 100b4b4c LIBCMTD:dbgrptt.obj - 0003:0000ab58 ??_C@_0P@DFJNDPOP@?$DMfile?5unknown?$DO?$AA@ 100b4b58 LIBCMTD:dbgrptt.obj - 0003:0000ab6c ??_C@_0CG@BNGLOCEO@Second?5Chance?5Assertion?5Failed?3?5@ 100b4b6c LIBCMTD:dbgrptt.obj - 0003:0000aba0 ??_C@_1FA@JPHJBHEM@?$AA_?$AAi?$AAt?$AAo?$AAa?$AA_?$AAs?$AA?$CI?$AAn?$AAL?$AAi?$AAn?$AAe?$AA?0?$AA?5?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0@ 100b4ba0 LIBCMTD:dbgrptt.obj - 0003:0000ac00 ??_C@_1CA@KHJHLKA@?$AA_?$AAV?$AAC?$AAr?$AAt?$AAD?$AAb?$AAg?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AAA?$AA?$AA@ 100b4c00 LIBCMTD:dbgrptt.obj - 0003:0000ac28 ??_C@_1IE@CPGKIAGP@?$AAw?$AAc?$AAs?$AAt?$AAo?$AAm?$AAb?$AAs?$AA_?$AAs?$AA?$CI?$AA?$CG?$AAr?$AAe?$AAt?$AA?0?$AA?5?$AAs?$AAz?$AAa?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5@ 100b4c28 LIBCMTD:dbgrptt.obj - 0003:0000acc8 ??_C@_0DP@GNPEPHJD@_CrtDbgReport?3?5String?5too?5long?5o@ 100b4cc8 LIBCMTD:dbgrptt.obj - 0003:0000ad18 ??_C@_1MA@LBAMNNOB@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA2?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AA?$CC?$AA_@ 100b4d18 LIBCMTD:dbgrptt.obj - 0003:0000ae00 ??_C@_1JC@EOAPFDLN@?$AAw?$AAc?$AAs?$AAt?$AAo?$AAm?$AAb?$AAs?$AA_?$AAs?$AA?$CI?$AA?$CI?$AA?$CI?$AAv?$AAo?$AAi?$AAd?$AA?5?$AA?$CK?$AA?$CJ?$AA0?$AA?$CJ?$AA?0?$AA?5?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs@ 100b4e00 LIBCMTD:dbgrptt.obj - 0003:0000aeb0 ??_C@_1FI@DBAIJPJE@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAO?$AAu?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz?$AAL@ 100b4eb0 LIBCMTD:dbgrptt.obj - 0003:0000af1c ??_C@_1BI@JIDBEPIG@?$AA?$CF?$AAs?$AA?$CI?$AA?$CF?$AAd?$AA?$CJ?$AA?5?$AA?3?$AA?5?$AA?$CF?$AAs?$AA?$AA@ 100b4f1c LIBCMTD:dbgrptt.obj - 0003:0000af38 ??_C@_1EK@PHCBEDKB@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAL?$AA?$CC@ 100b4f38 LIBCMTD:dbgrptt.obj - 0003:0000af90 ??_C@_13CMNBPIDO@?$AA?$AN?$AA?$AA@ 100b4f90 LIBCMTD:dbgrptt.obj - 0003:0000af98 ??_C@_1EK@NMDFGHMF@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAL?$AA?$CC@ 100b4f98 LIBCMTD:dbgrptt.obj - 0003:0000aff0 ??_C@_1FK@HPADHBBD@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz@ 100b4ff0 LIBCMTD:dbgrptt.obj - 0003:0000b060 ??_C@_1KO@DGAHENCH@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAs?$AAz@ 100b5060 LIBCMTD:dbgrptt.obj - 0003:0000b130 ??_C@_1CE@OJBNHDMO@?$AAA?$AAs?$AAs?$AAe?$AAr?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?$CB?$AA?$AA@ 100b5130 LIBCMTD:dbgrptt.obj - 0003:0000b15c ??_C@_1CG@FFFGGODN@?$AAA?$AAs?$AAs?$AAe?$AAr?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAf?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?3?$AA?5?$AA?$AA@ 100b515c LIBCMTD:dbgrptt.obj - 0003:0000b190 ??_C@_1JK@KHFABAEO@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAU?$AAs?$AAe?$AAr?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0?$AA9?$AA6?$AA?0?$AA?5?$AAL?$AA?$CC@ 100b5190 LIBCMTD:dbgrptt.obj - 0003:0000b248 ??_C@_13LBAGMAIH@?$AA?6?$AA?$AA@ 100b5248 LIBCMTD:dbgrptt.obj - 0003:0000b24c ??_C@_1BA@ELMMDCFC@?$AA?0?$AA?5?$AAL?$AAi?$AAn?$AAe?$AA?5?$AA?$AA@ 100b524c LIBCMTD:dbgrptt.obj - 0003:0000b260 ??_C@_1BO@OCHMLCAG@?$AA?$DM?$AAf?$AAi?$AAl?$AAe?$AA?5?$AAu?$AAn?$AAk?$AAn?$AAo?$AAw?$AAn?$AA?$DO?$AA?$AA@ 100b5260 LIBCMTD:dbgrptt.obj - 0003:0000b288 ??_C@_1EM@MJFLEDMB@?$AAS?$AAe?$AAc?$AAo?$AAn?$AAd?$AA?5?$AAC?$AAh?$AAa?$AAn?$AAc?$AAe?$AA?5?$AAA?$AAs?$AAs?$AAe?$AAr?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?3?$AA?5@ 100b5288 LIBCMTD:dbgrptt.obj - 0003:0000b2e8 ??_C@_1FA@CNLLOMHI@?$AA_?$AAi?$AAt?$AAo?$AAw?$AA_?$AAs?$AA?$CI?$AAn?$AAL?$AAi?$AAn?$AAe?$AA?0?$AA?5?$AAs?$AAz?$AAL?$AAi?$AAn?$AAe?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA4?$AA0@ 100b52e8 LIBCMTD:dbgrptt.obj - 0003:0000b348 ??_C@_1CA@HPALHDOD@?$AA_?$AAV?$AAC?$AAr?$AAt?$AAD?$AAb?$AAg?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AAW?$AA?$AA@ 100b5348 LIBCMTD:dbgrptt.obj - 0003:0000b370 ??_C@_1O@EJLDHPPL@?$AAs?$AAi?$AAg?$AAn?$AAa?$AAl?$AA?$AA@ 100b5370 LIBCMTD:winsig.obj - 0003:0000b380 ??_C@_1GA@DBECNFG@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b5380 LIBCMTD:winsig.obj - 0003:0000b3f4 ??_C@_1DO@MLNEDKGB@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAs?$AAi?$AAg?$AAn?$AAa?$AAl?$AA?5?$AAo?$AAr?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$CC?$AA?0?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 100b53f4 LIBCMTD:winsig.obj - 0003:0000b440 ??_C@_0DA@ELJOOIJF@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b5440 LIBCMTD:winsig.obj - 0003:0000b47c ??_C@_1M@DMJEIKHL@?$AAr?$AAa?$AAi?$AAs?$AAe?$AA?$AA@ 100b547c LIBCMTD:winsig.obj - 0003:0000b48c ??_C@_0BI@DFKBFLJE@GetProcessWindowStation?$AA@ 100b548c LIBCMTD:crtmboxw.obj - 0003:0000b4a8 ??_C@_0BK@DEKFELLI@GetUserObjectInformationW?$AA@ 100b54a8 LIBCMTD:crtmboxw.obj - 0003:0000b4c8 ??_C@_0BD@HHGDFDBJ@GetLastActivePopup?$AA@ 100b54c8 LIBCMTD:crtmboxw.obj - 0003:0000b4e0 ??_C@_0BA@HNOPNCHB@GetActiveWindow?$AA@ 100b54e0 LIBCMTD:crtmboxw.obj - 0003:0000b4f4 ??_C@_0M@DLDCCGNP@MessageBoxW?$AA@ 100b54f4 LIBCMTD:crtmboxw.obj - 0003:0000b504 ??_C@_1BG@GOEBHBDC@?$AAU?$AAS?$AAE?$AAR?$AA3?$AA2?$AA?4?$AAD?$AAL?$AAL?$AA?$AA@ 100b5504 LIBCMTD:crtmboxw.obj - 0003:0000b520 ??_C@_1BE@BMIJMLDD@?$AA_?$AAs?$AAw?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA?$AA@ 100b5520 LIBCMTD:swprintf.obj - 0003:0000b538 ??_C@_1GE@DKGHLBLP@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b5538 LIBCMTD:swprintf.obj - 0003:0000b5b0 ??_C@_1BC@KIONAFPO@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$AA@ 100b55b0 LIBCMTD:wcscpy_s.obj - 0003:0000b5c8 ??_C@_1FC@PFMLEHKI@?$AA?$CI?$AA?$CI?$AA_?$AAD?$AAs?$AAt?$AA?$CJ?$AA?$CJ?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AA?$CI?$AA_?$AAS?$AAi?$AAz?$AAe?$AAI?$AAn?$AAW?$AAo?$AAr@ 100b55c8 LIBCMTD:wcscpy_s.obj - 0003:0000b630 ??_C@_1GG@CDHAPCGF@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b5630 LIBCMTD:handler.obj - 0003:0000b6ac ??_C@_1BC@JLLICHIC@?$AAp?$AAn?$AAh?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?$AA@ 100b56ac LIBCMTD:handler.obj - 0003:0000b6c4 ??_C@_03KHICJKCI@?4?4?4?$AA@ 100b56c4 LIBCMTD:dbgrpt.obj - 0003:0000b6c8 ??_C@_0BB@NAGLCMLI@Assertion?5Failed?$AA@ 100b56c8 LIBCMTD:dbgrpt.obj - 0003:0000b6dc ??_C@_05NAOIJFC@Error?$AA@ 100b56dc LIBCMTD:dbgrpt.obj - 0003:0000b6e4 ??_C@_07KGMMFLDN@Warning?$AA@ 100b56e4 LIBCMTD:dbgrpt.obj - 0003:0000b700 ??_C@_1CG@GNMJDMIO@?$AA_?$AAC?$AAr?$AAt?$AAS?$AAe?$AAt?$AAR?$AAe?$AAp?$AAo?$AAr?$AAt?$AAH?$AAo?$AAo?$AAk?$AA2?$AA?$AA@ 100b5700 LIBCMTD:dbgrpt.obj - 0003:0000b730 ??_C@_0CD@EBCGLDDL@Microsoft?5Visual?5C?$CL?$CL?5Debug?5Libra@ 100b5730 LIBCMTD:dbgrpt.obj - 0003:0000b760 ??_C@_0FF@CCONDJCB@Debug?5?$CFs?$CB?6?6Program?3?5?$CFs?$CFs?$CFs?$CFs?$CFs?$CFs@ 100b5760 LIBCMTD:dbgrpt.obj - 0003:0000b7c8 ??_C@_09OFBFHMBK@?6Module?3?5?$AA@ 100b57c8 LIBCMTD:dbgrpt.obj - 0003:0000b7d4 ??_C@_07OPHPPLBG@?6File?3?5?$AA@ 100b57d4 LIBCMTD:dbgrpt.obj - 0003:0000b7e0 ??_C@_07DBMPPHDI@?6Line?3?5?$AA@ 100b57e0 LIBCMTD:dbgrpt.obj - 0003:0000b7ec ??_C@_02PHMGELLB@?6?6?$AA@ 100b57ec LIBCMTD:dbgrpt.obj - 0003:0000b7f0 ??_C@_0N@MEECIJGN@Expression?3?5?$AA@ 100b57f0 LIBCMTD:dbgrpt.obj - 0003:0000b800 ??_C@_0HD@GNBNFCCL@?6?6For?5information?5on?5how?5your?5pr@ 100b5800 LIBCMTD:dbgrpt.obj - 0003:0000b88c ??_C@_0BH@DNAGHKFM@?$DMprogram?5name?5unknown?$DO?$AA@ 100b588c LIBCMTD:dbgrpt.obj - 0003:0000b8a8 ??_C@_1GG@DLDHOIGE@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAs?$AAz?$AAE?$AAx?$AAe?$AAN?$AAa?$AAm?$AAe?$AA?0?$AA?5?$AA2?$AA6?$AA0?$AA?0?$AA?5?$AA?$CC?$AA?$DM?$AAp?$AAr?$AAo?$AAg?$AAr@ 100b58a8 LIBCMTD:dbgrpt.obj - 0003:0000b924 ??_C@_1CI@IDOKFLAJ@?$AA_?$AA_?$AAc?$AAr?$AAt?$AAM?$AAe?$AAs?$AAs?$AAa?$AAg?$AAe?$AAW?$AAi?$AAn?$AAd?$AAo?$AAw?$AAA?$AA?$AA@ 100b5924 LIBCMTD:dbgrpt.obj - 0003:0000b954 ??_C@_1BK@JMCGJOCC@?$AA_?$AAe?$AAx?$AAp?$AAa?$AAn?$AAd?$AA_?$AAb?$AAa?$AAs?$AAe?$AA?$AA@ 100b5954 LIBCMTD:expand.obj - 0003:0000b978 ??_C@_1GA@EBHFLDNH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b5978 LIBCMTD:expand.obj - 0003:0000b9ec ??_C@_1BO@KFIJIAEA@?$AAp?$AAB?$AAl?$AAo?$AAc?$AAk?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b59ec LIBCMTD:expand.obj - 0003:0000ba10 ??_C@_0DB@MHMEONEC@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b5a10 LIBCMTD:mbctype.obj - 0003:0000ba50 ??_C@_1GE@HMAALBPJ@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b5a50 LIBCMTD:localref.obj - 0003:0000bac8 ??_C@_1BKC@GGIENNAK@?$AA?$CI?$AA?$CI?$AAp?$AAt?$AAl?$AAo?$AAc?$AAi?$AA?9?$AA?$DO?$AAl?$AAc?$AA_?$AAc?$AAa?$AAt?$AAe?$AAg?$AAo?$AAr?$AAy?$AA?$FL?$AAc?$AAa?$AAt?$AAe?$AAg?$AAo?$AAr?$AAy?$AA?$FN?$AA?4@ 100b5ac8 LIBCMTD:localref.obj - 0003:0000bcc0 ??_C@_1BC@GDGBMEMK@?$AAH?$AAH?$AA?3?$AAm?$AAm?$AA?3?$AAs?$AAs?$AA?$AA@ 100b5cc0 LIBCMTD:nlsdata2.obj - 0003:0000bcd8 ??_C@_1CI@KNAKOEBC@?$AAd?$AAd?$AAd?$AAd?$AA?0?$AA?5?$AAM?$AAM?$AAM?$AAM?$AA?5?$AAd?$AAd?$AA?0?$AA?5?$AAy?$AAy?$AAy?$AAy?$AA?$AA@ 100b5cd8 LIBCMTD:nlsdata2.obj - 0003:0000bd08 ??_C@_1BC@IEBCMHCM@?$AAM?$AAM?$AA?1?$AAd?$AAd?$AA?1?$AAy?$AAy?$AA?$AA@ 100b5d08 LIBCMTD:nlsdata2.obj - 0003:0000bd20 ??_C@_15CLMNNGEL@?$AAP?$AAM?$AA?$AA@ 100b5d20 LIBCMTD:nlsdata2.obj - 0003:0000bd28 ??_C@_15ODEHAHHF@?$AAA?$AAM?$AA?$AA@ 100b5d28 LIBCMTD:nlsdata2.obj - 0003:0000bd30 ??_C@_1BC@FEMKIFH@?$AAD?$AAe?$AAc?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@ 100b5d30 LIBCMTD:nlsdata2.obj - 0003:0000bd48 ??_C@_1BC@BGLIFPF@?$AAN?$AAo?$AAv?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@ 100b5d48 LIBCMTD:nlsdata2.obj - 0003:0000bd60 ??_C@_1BA@EPANDLNG@?$AAO?$AAc?$AAt?$AAo?$AAb?$AAe?$AAr?$AA?$AA@ 100b5d60 LIBCMTD:nlsdata2.obj - 0003:0000bd74 ??_C@_1BE@DKAAMBJL@?$AAS?$AAe?$AAp?$AAt?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@ 100b5d74 LIBCMTD:nlsdata2.obj - 0003:0000bd8c ??_C@_1O@PAHLKOAC@?$AAA?$AAu?$AAg?$AAu?$AAs?$AAt?$AA?$AA@ 100b5d8c LIBCMTD:nlsdata2.obj - 0003:0000bd9c ??_C@_19BIFMLPCD@?$AAJ?$AAu?$AAl?$AAy?$AA?$AA@ 100b5d9c LIBCMTD:nlsdata2.obj - 0003:0000bda8 ??_C@_19EPFLPGAP@?$AAJ?$AAu?$AAn?$AAe?$AA?$AA@ 100b5da8 LIBCMTD:nlsdata2.obj - 0003:0000bdb4 ??_C@_1M@GJNLMHFD@?$AAA?$AAp?$AAr?$AAi?$AAl?$AA?$AA@ 100b5db4 LIBCMTD:nlsdata2.obj - 0003:0000bdc4 ??_C@_1M@IKEENEDF@?$AAM?$AAa?$AAr?$AAc?$AAh?$AA?$AA@ 100b5dc4 LIBCMTD:nlsdata2.obj - 0003:0000bdd4 ??_C@_1BC@JGDDFFAM@?$AAF?$AAe?$AAb?$AAr?$AAu?$AAa?$AAr?$AAy?$AA?$AA@ 100b5dd4 LIBCMTD:nlsdata2.obj - 0003:0000bdec ??_C@_1BA@EFMEIEBA@?$AAJ?$AAa?$AAn?$AAu?$AAa?$AAr?$AAy?$AA?$AA@ 100b5dec LIBCMTD:nlsdata2.obj - 0003:0000be00 ??_C@_17EGKACKIF@?$AAD?$AAe?$AAc?$AA?$AA@ 100b5e00 LIBCMTD:nlsdata2.obj - 0003:0000be0c ??_C@_17BBDMLCIG@?$AAN?$AAo?$AAv?$AA?$AA@ 100b5e0c LIBCMTD:nlsdata2.obj - 0003:0000be18 ??_C@_17FNLKOI@?$AAO?$AAc?$AAt?$AA?$AA@ 100b5e18 LIBCMTD:nlsdata2.obj - 0003:0000be24 ??_C@_17HCHCOKMG@?$AAS?$AAe?$AAp?$AA?$AA@ 100b5e24 LIBCMTD:nlsdata2.obj - 0003:0000be30 ??_C@_17ICPELBCN@?$AAA?$AAu?$AAg?$AA?$AA@ 100b5e30 LIBCMTD:nlsdata2.obj - 0003:0000be3c ??_C@_17IJPCKHK@?$AAJ?$AAu?$AAl?$AA?$AA@ 100b5e3c LIBCMTD:nlsdata2.obj - 0003:0000be48 ??_C@_17KCJGOCPB@?$AAJ?$AAu?$AAn?$AA?$AA@ 100b5e48 LIBCMTD:nlsdata2.obj - 0003:0000be54 ??_C@_17PNNKMEED@?$AAM?$AAa?$AAy?$AA?$AA@ 100b5e54 LIBCMTD:nlsdata2.obj - 0003:0000be60 ??_C@_17LFPOIHDD@?$AAA?$AAp?$AAr?$AA?$AA@ 100b5e60 LIBCMTD:nlsdata2.obj - 0003:0000be6c ??_C@_17CKNLEDEC@?$AAM?$AAa?$AAr?$AA?$AA@ 100b5e6c LIBCMTD:nlsdata2.obj - 0003:0000be78 ??_C@_17LMDJEKJN@?$AAF?$AAe?$AAb?$AA?$AA@ 100b5e78 LIBCMTD:nlsdata2.obj - 0003:0000be84 ??_C@_17DKNBKCHM@?$AAJ?$AAa?$AAn?$AA?$AA@ 100b5e84 LIBCMTD:nlsdata2.obj - 0003:0000be90 ??_C@_1BC@ENMNNPAJ@?$AAS?$AAa?$AAt?$AAu?$AAr?$AAd?$AAa?$AAy?$AA?$AA@ 100b5e90 LIBCMTD:nlsdata2.obj - 0003:0000bea8 ??_C@_1O@PDICJHAG@?$AAF?$AAr?$AAi?$AAd?$AAa?$AAy?$AA?$AA@ 100b5ea8 LIBCMTD:nlsdata2.obj - 0003:0000beb8 ??_C@_1BC@HHMNLIHE@?$AAT?$AAh?$AAu?$AAr?$AAs?$AAd?$AAa?$AAy?$AA?$AA@ 100b5eb8 LIBCMTD:nlsdata2.obj - 0003:0000bed0 ??_C@_1BE@EBOGMDOH@?$AAW?$AAe?$AAd?$AAn?$AAe?$AAs?$AAd?$AAa?$AAy?$AA?$AA@ 100b5ed0 LIBCMTD:nlsdata2.obj - 0003:0000bee8 ??_C@_1BA@ENFBFFEK@?$AAT?$AAu?$AAe?$AAs?$AAd?$AAa?$AAy?$AA?$AA@ 100b5ee8 LIBCMTD:nlsdata2.obj - 0003:0000befc ??_C@_1O@MMNBFLIA@?$AAM?$AAo?$AAn?$AAd?$AAa?$AAy?$AA?$AA@ 100b5efc LIBCMTD:nlsdata2.obj - 0003:0000bf0c ??_C@_1O@IHNHDHPB@?$AAS?$AAu?$AAn?$AAd?$AAa?$AAy?$AA?$AA@ 100b5f0c LIBCMTD:nlsdata2.obj - 0003:0000bf1c ??_C@_17GGIBDPIH@?$AAS?$AAa?$AAt?$AA?$AA@ 100b5f1c LIBCMTD:nlsdata2.obj - 0003:0000bf28 ??_C@_17HFOLPPLP@?$AAF?$AAr?$AAi?$AA?$AA@ 100b5f28 LIBCMTD:nlsdata2.obj - 0003:0000bf34 ??_C@_17PDPHAADD@?$AAT?$AAh?$AAu?$AA?$AA@ 100b5f34 LIBCMTD:nlsdata2.obj - 0003:0000bf40 ??_C@_17CJEDCEPE@?$AAW?$AAe?$AAd?$AA?$AA@ 100b5f40 LIBCMTD:nlsdata2.obj - 0003:0000bf4c ??_C@_17BMKGEGOJ@?$AAT?$AAu?$AAe?$AA?$AA@ 100b5f4c LIBCMTD:nlsdata2.obj - 0003:0000bf58 ??_C@_17KBOMKBF@?$AAM?$AAo?$AAn?$AA?$AA@ 100b5f58 LIBCMTD:nlsdata2.obj - 0003:0000bf64 ??_C@_17MBGCMIPB@?$AAS?$AAu?$AAn?$AA?$AA@ 100b5f64 LIBCMTD:nlsdata2.obj - 0003:0000bf70 ??_C@_08JCCMCCIL@HH?3mm?3ss?$AA@ 100b5f70 LIBCMTD:nlsdata2.obj - 0003:0000bf7c ??_C@_0BE@CKGJFCPC@dddd?0?5MMMM?5dd?0?5yyyy?$AA@ 100b5f7c LIBCMTD:nlsdata2.obj - 0003:0000bf94 ??_C@_08BPBNCDIB@MM?1dd?1yy?$AA@ 100b5f94 LIBCMTD:nlsdata2.obj - 0003:0000bfa0 ??_C@_02CJNFDJBF@PM?$AA@ 100b5fa0 LIBCMTD:nlsdata2.obj - 0003:0000bfa4 ??_C@_02DEDBPAFC@AM?$AA@ 100b5fa4 LIBCMTD:nlsdata2.obj - 0003:0000bfa8 ??_C@_08EDHMEBNP@December?$AA@ 100b5fa8 LIBCMTD:nlsdata2.obj - 0003:0000bfb4 ??_C@_08HCHEGEOA@November?$AA@ 100b5fb4 LIBCMTD:nlsdata2.obj - 0003:0000bfc0 ??_C@_07JJNFCEND@October?$AA@ 100b5fc0 LIBCMTD:nlsdata2.obj - 0003:0000bfcc ??_C@_09BHHEALKD@September?$AA@ 100b5fcc LIBCMTD:nlsdata2.obj - 0003:0000bfd8 ??_C@_06LBBHFDDG@August?$AA@ 100b5fd8 LIBCMTD:nlsdata2.obj - 0003:0000bfe0 ??_C@_04MIEPOIFP@July?$AA@ 100b5fe0 LIBCMTD:nlsdata2.obj - 0003:0000bfe8 ??_C@_04CNLMGBGM@June?$AA@ 100b5fe8 LIBCMTD:nlsdata2.obj - 0003:0000bff0 ??_C@_05DMJDNLEJ@April?$AA@ 100b5ff0 LIBCMTD:nlsdata2.obj - 0003:0000bff8 ??_C@_05HPCKOFNC@March?$AA@ 100b5ff8 LIBCMTD:nlsdata2.obj - 0003:0000c000 ??_C@_08GNJGEPFN@February?$AA@ 100b6000 LIBCMTD:nlsdata2.obj - 0003:0000c00c ??_C@_07CGJPFGJA@January?$AA@ 100b600c LIBCMTD:nlsdata2.obj - 0003:0000c018 ??_C@_03MKABNOCG@Dec?$AA@ 100b6018 LIBCMTD:nlsdata2.obj - 0003:0000c01c ??_C@_03JPJOFNIA@Nov?$AA@ 100b601c LIBCMTD:nlsdata2.obj - 0003:0000c020 ??_C@_03BMAOKBAD@Oct?$AA@ 100b6020 LIBCMTD:nlsdata2.obj - 0003:0000c024 ??_C@_03GGCAPAJC@Sep?$AA@ 100b6024 LIBCMTD:nlsdata2.obj - 0003:0000c028 ??_C@_03IFJFEIGA@Aug?$AA@ 100b6028 LIBCMTD:nlsdata2.obj - 0003:0000c02c ??_C@_03LBGABGKK@Jul?$AA@ 100b602c LIBCMTD:nlsdata2.obj - 0003:0000c030 ??_C@_03IDFGHECI@Jun?$AA@ 100b6030 LIBCMTD:nlsdata2.obj - 0003:0000c034 ??_C@_03CNMDKL@May?$AA@ 100b6034 LIBCMTD:nlsdata2.obj - 0003:0000c038 ??_C@_03LEOLGMJP@Apr?$AA@ 100b6038 LIBCMTD:nlsdata2.obj - 0003:0000c03c ??_C@_03ODNJBKGA@Mar?$AA@ 100b603c LIBCMTD:nlsdata2.obj - 0003:0000c040 ??_C@_03HJBDCHOM@Feb?$AA@ 100b6040 LIBCMTD:nlsdata2.obj - 0003:0000c044 ??_C@_03JIHJHPIE@Jan?$AA@ 100b6044 LIBCMTD:nlsdata2.obj - 0003:0000c048 ??_C@_08INBOOONO@Saturday?$AA@ 100b6048 LIBCMTD:nlsdata2.obj - 0003:0000c054 ??_C@_06JECMNKMI@Friday?$AA@ 100b6054 LIBCMTD:nlsdata2.obj - 0003:0000c05c ??_C@_08HACCIKIA@Thursday?$AA@ 100b605c LIBCMTD:nlsdata2.obj - 0003:0000c068 ??_C@_09DLIGFAKA@Wednesday?$AA@ 100b6068 LIBCMTD:nlsdata2.obj - 0003:0000c074 ??_C@_07BAAGCFCM@Tuesday?$AA@ 100b6074 LIBCMTD:nlsdata2.obj - 0003:0000c080 ??_C@_06JLEDEDGH@Monday?$AA@ 100b6080 LIBCMTD:nlsdata2.obj - 0003:0000c088 ??_C@_06OOPIFAJ@Sunday?$AA@ 100b6088 LIBCMTD:nlsdata2.obj - 0003:0000c090 ??_C@_03FEFJNEK@Sat?$AA@ 100b6090 LIBCMTD:nlsdata2.obj - 0003:0000c094 ??_C@_03IDIOELNC@Fri?$AA@ 100b6094 LIBCMTD:nlsdata2.obj - 0003:0000c098 ??_C@_03IOFIKPDN@Thu?$AA@ 100b6098 LIBCMTD:nlsdata2.obj - 0003:0000c09c ??_C@_03MHOMLAJA@Wed?$AA@ 100b609c LIBCMTD:nlsdata2.obj - 0003:0000c0a0 ??_C@_03NAGEINEP@Tue?$AA@ 100b60a0 LIBCMTD:nlsdata2.obj - 0003:0000c0a4 ??_C@_03PDAGKDH@Mon?$AA@ 100b60a4 LIBCMTD:nlsdata2.obj - 0003:0000c0a8 ??_C@_03KOEHGMDN@Sun?$AA@ 100b60a8 LIBCMTD:nlsdata2.obj - 0003:0000c0b0 ??_C@_1GC@CHGJNMHG@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b60b0 LIBCMTD:isctype.obj - 0003:0000c128 ??_C@_1DC@BPLPALML@?$AA?$CI?$AAu?$AAn?$AAs?$AAi?$AAg?$AAn?$AAe?$AAd?$AA?$CJ?$AA?$CI?$AAc?$AA?5?$AA?$CL?$AA?5?$AA1?$AA?$CJ?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA2?$AA5?$AA6?$AA?$AA@ 100b6128 LIBCMTD:isctype.obj - 0003:0000c164 ??_C@_0DB@JEHOCBEJ@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b6164 LIBCMTD:_getbuf.obj - 0003:0000c1a0 ??_C@_1GC@DKMGNNCC@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b61a0 LIBCMTD:_getbuf.obj - 0003:0000c218 ??_C@_1BA@LEBDGIHM@?$AA_?$AAi?$AAs?$AAa?$AAt?$AAt?$AAy?$AA?$AA@ 100b6218 LIBCMTD:isatty.obj - 0003:0000c230 ??_C@_1GA@LPGDJDEN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b6230 LIBCMTD:isatty.obj - 0003:0000c2a4 ??_C@_1O@GKDHFACN@?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA?$AA@ 100b62a4 LIBCMTD:printf.obj - 0003:0000c2b8 ??_C@_1GA@LHEGHOAF@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b62b8 LIBCMTD:printf.obj - 0003:0000c32c ??_C@_1CA@CBMNPEO@?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 100b632c LIBCMTD:wctomb.obj - 0003:0000c354 ??_C@_1BI@IEADNOHF@?$AA_?$AAw?$AAc?$AAt?$AAo?$AAm?$AAb?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 100b6354 LIBCMTD:wctomb.obj - 0003:0000c370 ??_C@_1GA@LDLHPOO@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b6370 LIBCMTD:wctomb.obj - 0003:0000c3e4 ??_C@_1CO@HFMIILNF@?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAI?$AAN?$AAT?$AA_?$AAM?$AAA?$AAX?$AA?$AA@ 100b63e4 LIBCMTD:wctomb.obj - 0003:0000c420 ??_C@_1FK@BCPANIEK@?$AA?$CI?$AA?$CC?$AAM?$AAi?$AAs?$AAs?$AAi?$AAn?$AAg?$AA?5?$AAp?$AAo?$AAs?$AAi?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAi?$AAn?$AA?5?$AAt?$AAh?$AAe?$AA?5?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt@ 100b6420 LIBCMTD:outputp.obj - 0003:0000c490 ??_C@_1FK@LNCFKALM@?$AA?$CI?$AA?$CI?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAS?$AAT?$AA_?$AAN?$AAO?$AAR?$AAM?$AAA?$AAL?$AA?$CJ?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CI?$AAs?$AAt?$AAa?$AAt?$AAe?$AA?5@ 100b6490 LIBCMTD:outputp.obj - 0003:0000c500 ??_C@_1JC@OACKELNN@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 100b6500 LIBCMTD:outputp.obj - 0003:0000c5b0 ??_C@_1IK@NBGDDCBN@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 100b65b0 LIBCMTD:outputp.obj - 0003:0000c658 ??_C@_1DG@GOHGNKHE@?$AAp?$AAa?$AAs?$AAs?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAF?$AAO?$AAR?$AAM?$AAA?$AAT?$AA_?$AAO?$AAU?$AAT?$AAP?$AAU?$AAT?$AA_?$AAP?$AAA?$AAS?$AAS?$AA?$AA@ 100b6658 LIBCMTD:outputp.obj - 0003:0000c698 ??_C@_1IM@DNGHAPLB@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 100b6698 LIBCMTD:outputp.obj - 0003:0000c740 ??_C@_1IG@HJIMKDHC@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 100b6740 LIBCMTD:outputp.obj - 0003:0000c7e0 ??_C@_1IG@FDCPLALG@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 100b67e0 LIBCMTD:outputp.obj - 0003:0000c880 ??_C@_1IK@MHEDJAMK@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 100b6880 LIBCMTD:outputp.obj - 0003:0000c928 ??_C@_1EM@BNPHBBIA@?$AA?$CI?$AA?$CI?$AAt?$AAy?$AAp?$AAe?$AA_?$AAp?$AAo?$AAs?$AA?$DO?$AA?$DN?$AA0?$AA?$CJ?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AAt?$AAy?$AAp?$AAe?$AA_?$AAp?$AAo?$AAs?$AA?$DM?$AA_?$AAA?$AAR?$AAG@ 100b6928 LIBCMTD:outputp.obj - 0003:0000c988 ??_C@_1IK@EIEPDKHJ@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 100b6988 LIBCMTD:outputp.obj - 0003:0000ca30 ??_C@_1JG@JBJBOCFB@?$AA?$CI?$AA?$CI?$AAp?$AAr?$AAe?$AAc?$AAi?$AAs?$AA_?$AAp?$AAo?$AAs?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?$CJ?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AA?$CK?$AAe?$AAn?$AAd?$AA_?$AAp?$AAo?$AAs?$AA?5@ 100b6a30 LIBCMTD:outputp.obj - 0003:0000cae8 ??_C@_1II@PIPIMLPF@?$AA_?$AAt?$AAv?$AAa?$AAl?$AAi?$AAd?$AAa?$AAt?$AAe?$AA_?$AAp?$AAa?$AAr?$AAa?$AAm?$AA_?$AAr?$AAe?$AAu?$AAs?$AAe?$AA?$CI?$AA?$CG?$AAp?$AAo?$AAs?$AA_?$AAv?$AAa?$AAl?$AAu@ 100b6ae8 LIBCMTD:outputp.obj - 0003:0000cb90 ??_C@_1JE@NMBHOLFI@?$AA?$CI?$AA?$CI?$AAw?$AAi?$AAd?$AAt?$AAh?$AA_?$AAp?$AAo?$AAs?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?$CJ?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AA?$CK?$AAe?$AAn?$AAd?$AA_?$AAp?$AAo?$AAs?$AA?5?$AA?$DN@ 100b6b90 LIBCMTD:outputp.obj - 0003:0000cc48 ??_C@_1EE@DMAIGNBG@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAc?$AAo?$AAr?$AAr?$AAe?$AAc?$AAt?$AA?5?$AAf?$AAo?$AAr?$AAm?$AAa?$AAt?$AA?5?$AAs?$AAp?$AAe?$AAc?$AAi?$AAf?$AAi?$AAe?$AAr?$AA?$CC?$AA?0?$AA?5?$AA0@ 100b6c48 LIBCMTD:outputp.obj - 0003:0000cca0 ??_C@_1JC@PFJNKEIO@?$AA?$CI?$AA?$CI?$AAt?$AAy?$AAp?$AAe?$AA_?$AAp?$AAo?$AAs?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?$CJ?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AA?$CK?$AAe?$AAn?$AAd?$AA_?$AAp?$AAo?$AAs?$AA?5?$AA?$DN?$AA?$DN@ 100b6ca0 LIBCMTD:outputp.obj - 0003:0000cd50 ??_C@_1BI@KANOLAMF@?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AA_?$AAl?$AA?$AA@ 100b6d50 LIBCMTD:outputp.obj - 0003:0000cd70 ___lookuptable_s 100b6d70 LIBCMTD:outputs.obj - 0003:0000cddc ??_C@_1BI@COFBLHCG@?$AA_?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 100b6ddc LIBCMTD:outputs.obj - 0003:0000cdf8 ??_C@_1M@MFLJCMFJ@?$AA_?$AAo?$AAp?$AAe?$AAn?$AA?$AA@ 100b6df8 LIBCMTD:open.obj - 0003:0000ce08 ??_C@_1FM@LFKHNNH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b6e08 LIBCMTD:open.obj - 0003:0000ce78 ??_C@_1BO@DPAOGEII@?$AA?$CI?$AAp?$AAa?$AAt?$AAh?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100b6e78 LIBCMTD:open.obj - 0003:0000cea0 ??_C@_1FG@NFINBJCM@?$AA?$CI?$AA?$CI?$AAp?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$CG?$AA?5?$AA?$CI?$AA?$HO?$AA?$CI?$AA_?$AAS?$AA_?$AAI?$AAR?$AAE?$AAA?$AAD?$AA?5?$AA?$HM?$AA?5?$AA_?$AAS?$AA_?$AAI?$AAW?$AAR?$AAI?$AAT@ 100b6ea0 LIBCMTD:open.obj - 0003:0000cf08 ??_C@_1BM@IOBAMMHO@?$AA_?$AAs?$AAo?$AAp?$AAe?$AAn?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 100b6f08 LIBCMTD:open.obj - 0003:0000cf2c ??_C@_1BM@PGEEHLHE@?$AA?$CI?$AAp?$AAf?$AAh?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100b6f2c LIBCMTD:open.obj - 0003:0000cf50 ??_C@_1IA@IENOJNJF@?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CC?$AAO?$AAn?$AAl?$AAy?$AA?5?$AAU?$AAT?$AAF?$AA?9?$AA1?$AA6?$AA?5?$AAl?$AAi?$AAt?$AAt?$AAl?$AAe?$AA?5?$AAe?$AAn?$AAd?$AAi?$AAa?$AAn?$AA?5@ 100b6f50 LIBCMTD:open.obj - 0003:0000cfec ??_C@_1CM@IDLMKMPG@?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CC?$AAI?$AAn?$AAt?$AAe?$AAr?$AAn?$AAa?$AAl?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?$CC?$AA?$AA@ 100b6fec LIBCMTD:open.obj - 0003:0000d020 ??_C@_1HM@GJANBLHJ@?$AA?$CI?$AAo?$AAf?$AAl?$AAa?$AAg?$AA?5?$AA?$CG?$AA?5?$AA?$CI?$AA_?$AAO?$AA_?$AAT?$AAE?$AAX?$AAT?$AA?5?$AA?$HM?$AA?5?$AA_?$AAO?$AA_?$AAW?$AAT?$AAE?$AAX?$AAT?$AA?5?$AA?$HM?$AA?5?$AA_@ 100b7020 LIBCMTD:open.obj - 0003:0000d0b4 ??_C@_1DO@PJLMOANO@?$AA?$CI?$AA?5?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAs?$AAh?$AAa?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAf?$AAl?$AAa?$AAg?$AA?$CC?$AA?5?$AA?0?$AA?5?$AA0?$AA?5?$AA?$CJ?$AA?$AA@ 100b70b4 LIBCMTD:open.obj - 0003:0000d100 ??_C@_1DI@DGKIFCCE@?$AA?$CI?$AA?5?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAo?$AAp?$AAe?$AAn?$AA?5?$AAf?$AAl?$AAa?$AAg?$AA?$CC?$AA?5?$AA?0?$AA?5?$AA0?$AA?5?$AA?$CJ?$AA?$AA@ 100b7100 LIBCMTD:open.obj - 0003:0000d144 ??_C@_1CG@ICBEBDJJ@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAf?$AAm?$AAo?$AAd?$AAe?$AA?$CI?$AA?$CG?$AAf?$AAm?$AAo?$AAd?$AAe?$AA?$CJ?$AA?$AA@ 100b7144 LIBCMTD:open.obj - 0003:0000d174 ??_C@_1BO@JOPFMPGH@?$AA_?$AAt?$AAs?$AAo?$AAp?$AAe?$AAn?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 100b7174 LIBCMTD:open.obj - 0003:0000d198 ??_C@_1BG@GBJNMPFA@?$AAs?$AA2?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b7198 LIBCMTD:mbsnbicm.obj - 0003:0000d1b4 ??_C@_1BK@GEJONGBG@?$AA_?$AAm?$AAb?$AAs?$AAn?$AAb?$AAi?$AAc?$AAm?$AAp?$AA_?$AAl?$AA?$AA@ 100b71b4 LIBCMTD:mbsnbicm.obj - 0003:0000d1d8 ??_C@_1GE@JLFFJINF@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b71d8 LIBCMTD:mbsnbicm.obj - 0003:0000d250 ??_C@_1BG@MODEICJK@?$AAs?$AA1?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b7250 LIBCMTD:mbsnbicm.obj - 0003:0000d26c ??_C@_1BI@LPHOHGHI@?$AA_?$AAm?$AAb?$AAs?$AAn?$AAb?$AAc?$AAm?$AAp?$AA_?$AAl?$AA?$AA@ 100b726c LIBCMTD:mbsnbcmp.obj - 0003:0000d288 ??_C@_1GE@IIBFGEPN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b7288 LIBCMTD:mbsnbcmp.obj - 0003:0000d300 ??_C@_1GA@GFFDGGFH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b7300 LIBCMTD:mbtowc.obj - 0003:0000d378 ??_C@_1NC@EINCOKCO@?$AA_?$AAl?$AAo?$AAc?$AA_?$AAu?$AAp?$AAd?$AAa?$AAt?$AAe?$AA?4?$AAG?$AAe?$AAt?$AAL?$AAo?$AAc?$AAa?$AAl?$AAe?$AAT?$AA?$CI?$AA?$CJ?$AA?9?$AA?$DO?$AAl?$AAo?$AAc?$AAi?$AAn?$AAf@ 100b7378 LIBCMTD:mbtowc.obj - 0003:0000d474 ??_C@_1DG@LNNHNFHJ@?$AA?$CI?$AA_?$AAo?$AAs?$AAf?$AAi?$AAl?$AAe?$AA?$CI?$AAf?$AAi?$AAl?$AAe?$AAd?$AAe?$AAs?$AA?$CJ?$AA?5?$AA?$CG?$AA?5?$AAF?$AAO?$AAP?$AAE?$AAN?$AA?$CJ?$AA?$AA@ 100b7474 LIBCMTD:commit.obj - 0003:0000d4b4 ??_C@_1BA@FLNMBBIM@?$AA_?$AAc?$AAo?$AAm?$AAm?$AAi?$AAt?$AA?$AA@ 100b74b4 LIBCMTD:commit.obj - 0003:0000d4c8 ??_C@_1GA@BOPCOCFN@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b74c8 LIBCMTD:commit.obj - 0003:0000d540 ??_C@_1HC@KFLBHHBC@?$AA?$CI?$AAf?$AAi?$AAl?$AAe?$AAd?$AAe?$AAs?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA?$CI?$AAu?$AAn?$AAs?$AAi?$AAg?$AAn?$AAe?$AAd?$AA?$CJ?$AAf?$AAi?$AAl?$AAe?$AAd@ 100b7540 LIBCMTD:commit.obj - 0003:0000d5d4 ??_C@_0DA@HMCPFNKN@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b75d4 LIBCMTD:onexit.obj - 0003:0000d610 ??_C@_1BO@BKOMIGKJ@?$AAr?$AAu?$AAn?$AAt?$AAi?$AAm?$AAe?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?5?$AA?$AA@ 100b7610 LIBCMTD:crt0msg.obj - 0003:0000d634 ??_C@_15JNBOKNOG@?$AA?$AN?$AA?6?$AA?$AA@ 100b7634 LIBCMTD:crt0msg.obj - 0003:0000d63c ??_C@_1BM@JBBEPPHI@?$AAT?$AAL?$AAO?$AAS?$AAS?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AN?$AA?6?$AA?$AA@ 100b763c LIBCMTD:crt0msg.obj - 0003:0000d660 ??_C@_1BK@KMOMNAAI@?$AAS?$AAI?$AAN?$AAG?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AN?$AA?6?$AA?$AA@ 100b7660 LIBCMTD:crt0msg.obj - 0003:0000d680 ??_C@_1BO@BFCDCGC@?$AAD?$AAO?$AAM?$AAA?$AAI?$AAN?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AN?$AA?6?$AA?$AA@ 100b7680 LIBCMTD:crt0msg.obj - 0003:0000d6a8 ??_C@_1BOO@KGEDBGAJ@?$AAR?$AA6?$AA0?$AA3?$AA3?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAA?$AAt?$AAt?$AAe?$AAm?$AAp?$AAt?$AA?5?$AAt?$AAo?$AA?5?$AAu?$AAs?$AAe?$AA?5?$AAM?$AAS?$AAI?$AAL?$AA?5?$AAc?$AAo?$AAd@ 100b76a8 LIBCMTD:crt0msg.obj - 0003:0000d8f8 ??_C@_1GG@GOPILAJP@?$AAR?$AA6?$AA0?$AA3?$AA2?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAl?$AAo@ 100b78f8 LIBCMTD:crt0msg.obj - 0003:0000d978 ??_C@_1MG@ENCOOIDF@?$AAR?$AA6?$AA0?$AA3?$AA1?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAA?$AAt?$AAt?$AAe?$AAm?$AAp?$AAt?$AA?5?$AAt?$AAo?$AA?5?$AAi?$AAn?$AAi?$AAt?$AAi?$AAa?$AAl?$AAi?$AAz?$AAe?$AA?5?$AAt@ 100b7978 LIBCMTD:crt0msg.obj - 0003:0000da68 ??_C@_1DO@BMFCDCD@?$AAR?$AA6?$AA0?$AA3?$AA0?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAC?$AAR?$AAT?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAi?$AAn?$AAi?$AAt?$AAi?$AAa?$AAl?$AAi?$AAz?$AAe?$AAd?$AA?$AN?$AA?6?$AA?$AA@ 100b7a68 LIBCMTD:crt0msg.obj - 0003:0000dab8 ??_C@_1EK@HHFLMAOL@?$AAR?$AA6?$AA0?$AA2?$AA8?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAu?$AAn?$AAa?$AAb?$AAl?$AAe?$AA?5?$AAt?$AAo?$AA?5?$AAi?$AAn?$AAi?$AAt?$AAi?$AAa?$AAl?$AAi?$AAz?$AAe?$AA?5?$AAh?$AAe@ 100b7ab8 LIBCMTD:crt0msg.obj - 0003:0000db10 ??_C@_1GK@MFGOKLAG@?$AAR?$AA6?$AA0?$AA2?$AA7?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAl?$AAo@ 100b7b10 LIBCMTD:crt0msg.obj - 0003:0000db90 ??_C@_1GK@MCAAGJMO@?$AAR?$AA6?$AA0?$AA2?$AA6?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAs?$AAt@ 100b7b90 LIBCMTD:crt0msg.obj - 0003:0000dc10 ??_C@_1EM@MAADIHMB@?$AAR?$AA6?$AA0?$AA2?$AA5?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAp?$AAu?$AAr?$AAe?$AA?5?$AAv?$AAi?$AAr?$AAt?$AAu?$AAa?$AAl?$AA?5?$AAf?$AAu?$AAn?$AAc?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAc@ 100b7c10 LIBCMTD:crt0msg.obj - 0003:0000dc70 ??_C@_1GK@FHCKBEFA@?$AAR?$AA6?$AA0?$AA2?$AA4?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA_?$AAo@ 100b7c70 LIBCMTD:crt0msg.obj - 0003:0000dcf0 ??_C@_1FC@ECHBIFBC@?$AAR?$AA6?$AA0?$AA1?$AA9?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAu?$AAn?$AAa?$AAb?$AAl?$AAe?$AA?5?$AAt?$AAo?$AA?5?$AAo?$AAp?$AAe?$AAn?$AA?5?$AAc?$AAo?$AAn?$AAs?$AAo?$AAl?$AAe?$AA?5@ 100b7cf0 LIBCMTD:crt0msg.obj - 0003:0000dd58 ??_C@_1EC@JIBHAOPH@?$AAR?$AA6?$AA0?$AA1?$AA8?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAu?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAh?$AAe?$AAa?$AAp?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AN?$AA?6@ 100b7d58 LIBCMTD:crt0msg.obj - 0003:0000dda8 ??_C@_1FK@BEOGODMC@?$AAR?$AA6?$AA0?$AA1?$AA7?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAu?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAm?$AAu?$AAl?$AAt?$AAi?$AAt?$AAh?$AAr?$AAe?$AAa?$AAd?$AA?5@ 100b7da8 LIBCMTD:crt0msg.obj - 0003:0000de18 ??_C@_1FI@LOGNIKDM@?$AAR?$AA6?$AA0?$AA1?$AA6?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAt?$AAh@ 100b7e18 LIBCMTD:crt0msg.obj - 0003:0000de88 ??_C@_1EG@BEHAGFJD@?$AAR?$AA6?$AA0?$AA1?$AA0?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAa?$AAb?$AAo?$AAr?$AAt?$AA?$CI?$AA?$CJ?$AA?5?$AAh?$AAa?$AAs?$AA?5?$AAb?$AAe?$AAe?$AAn?$AA?5?$AAc?$AAa?$AAl?$AAl?$AAe?$AAd@ 100b7e88 LIBCMTD:crt0msg.obj - 0003:0000dee0 ??_C@_1FI@HONFMGBI@?$AAR?$AA6?$AA0?$AA0?$AA9?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAe?$AAn@ 100b7ee0 LIBCMTD:crt0msg.obj - 0003:0000df50 ??_C@_1FE@LLNEDJMD@?$AAR?$AA6?$AA0?$AA0?$AA8?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAa?$AAr@ 100b7f50 LIBCMTD:crt0msg.obj - 0003:0000dfb8 ??_C@_1FK@PGACCAFB@?$AAR?$AA6?$AA0?$AA0?$AA2?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAf?$AAl?$AAo?$AAa?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AA?5@ 100b7fb8 LIBCMTD:crt0msg.obj - 0003:0000e100 ??_C@_1EK@MBDPDCGA@?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa?$AAl?$AA?5?$AAC?$AA?$CL?$AA?$CL?$AA?5?$AAR?$AAu?$AAn?$AAt?$AAi?$AAm?$AAe?$AA?5?$AAL?$AAi?$AAb@ 100b8100 LIBCMTD:crt0msg.obj - 0003:0000e158 ??_C@_1IG@NMONDPP@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAm?$AAs?$AAg?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf?$AA?$CI?$AAo?$AAu?$AAt?$AAm?$AAs?$AAg?$AA?$CJ@ 100b8158 LIBCMTD:crt0msg.obj - 0003:0000e1f8 ??_C@_1IA@DCJGKHFO@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAm?$AAs?$AAg?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf?$AA?$CI?$AAo?$AAu?$AAt?$AAm?$AAs?$AAg?$AA?$CJ@ 100b81f8 LIBCMTD:crt0msg.obj - 0003:0000e298 ??_C@_1HI@FLHKGEBE@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAp?$AAc?$AAh?$AA?0?$AA?5?$AAp?$AAr?$AAo?$AAg?$AAn?$AAa?$AAm?$AAe?$AA_?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?9?$AA?5?$AA?$CI@ 100b8298 LIBCMTD:crt0msg.obj - 0003:0000e328 ??_C@_1HK@FJJNAABO@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAp?$AAr?$AAo?$AAg?$AAn?$AAa?$AAm?$AAe?$AA?0?$AA?5?$AAp?$AAr?$AAo?$AAg?$AAn?$AAa?$AAm?$AAe?$AA_?$AAs?$AAi?$AAz?$AAe@ 100b8328 LIBCMTD:crt0msg.obj - 0003:0000e3bc ??_C@_1DE@JNGNBFGO@?$AAR?$AAu?$AAn?$AAt?$AAi?$AAm?$AAe?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?$CB?$AA?6?$AA?6?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?3?$AA?5?$AA?$AA@ 100b83bc LIBCMTD:crt0msg.obj - 0003:0000e400 ??_C@_1KO@BKLCKNFL@?$AAw?$AAc?$AAs?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAm?$AAs?$AAg?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf?$AA?$CI?$AAo?$AAu?$AAt?$AAm?$AAs?$AAg?$AA?$CJ@ 100b8400 LIBCMTD:crt0msg.obj - 0003:0000e4d0 ??_C@_1BI@EAHMBMEC@?$AA_?$AAN?$AAM?$AAS?$AAG?$AA_?$AAW?$AAR?$AAI?$AAT?$AAE?$AA?$AA@ 100b84d0 LIBCMTD:crt0msg.obj - 0003:0000e4f0 ??_C@_1GC@HKOJBOFF@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b84f0 LIBCMTD:crt0msg.obj - 0003:0000e568 ??_C@_0BC@JEAENNKH@SystemFunction036?$AA@ 100b8568 LIBCMTD:rand_s.obj - 0003:0000e580 ??_C@_1GA@EBEDGGGB@?$AA?$CI?$AA?$CC?$AAr?$AAa?$AAn?$AAd?$AA_?$AAs?$AA?5?$AAi?$AAs?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAa?$AAv?$AAa?$AAi?$AAl?$AAa?$AAb?$AAl?$AAe?$AA?5?$AAo?$AAn?$AA?5?$AAt?$AAh?$AAi@ 100b8580 LIBCMTD:rand_s.obj - 0003:0000e5f4 ??_C@_1BK@GAEMIDIL@?$AAA?$AAD?$AAV?$AAA?$AAP?$AAI?$AA3?$AA2?$AA?4?$AAD?$AAL?$AAL?$AA?$AA@ 100b85f4 LIBCMTD:rand_s.obj - 0003:0000e614 ??_C@_1O@IJGPPOGF@?$AAr?$AAa?$AAn?$AAd?$AA_?$AAs?$AA?$AA@ 100b8614 LIBCMTD:rand_s.obj - 0003:0000e628 ??_C@_1GA@HBGBBKCD@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b8628 LIBCMTD:rand_s.obj - 0003:0000e69c ??_C@_1CK@GFDNDKK@?$AA_?$AAR?$AAa?$AAn?$AAd?$AAo?$AAm?$AAV?$AAa?$AAl?$AAu?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b869c LIBCMTD:rand_s.obj - 0003:0000e6d0 ??_C@_1GO@NGIGJNHH@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AA?$CK?$AAs?$AAt?$AAr?$AAa?$AAd?$AAd?$AAr?$AAe?$AAs?$AAs?$AA?0?$AA?5?$AAo?$AAu?$AAt?$AAs?$AAi?$AAz?$AAe?$AA?0?$AA?5@ 100b86d0 LIBCMTD:inithelp.obj - 0003:0000e754 ??_C@_1CA@KHHCPEI@?$AA_?$AA_?$AAg?$AAe?$AAt?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AAi?$AAn?$AAf?$AAo?$AA?$AA@ 100b8754 LIBCMTD:inithelp.obj - 0003:0000e780 ??_C@_1GE@PLPIMDHG@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b8780 LIBCMTD:inithelp.obj - 0003:0000e7f8 ??_C@_0DC@CFDMMFIG@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b87f8 LIBCMTD:inithelp.obj - 0003:0000e834 ??_C@_1CG@JEHFHLNG@?$AA_?$AAm?$AAb?$AAs?$AAt?$AAo?$AAw?$AAc?$AAs?$AA_?$AAl?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 100b8834 LIBCMTD:mbstowcs.obj - 0003:0000e868 ??_C@_1GE@LCCDHBMH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b8868 LIBCMTD:mbstowcs.obj - 0003:0000e8e0 ??_C@_1BE@EEKACIGI@?$AAs?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b88e0 LIBCMTD:mbstowcs.obj - 0003:0000e8f8 ??_C@_1CO@JNPEPJAL@?$AAr?$AAe?$AAt?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAW?$AAo?$AAr?$AAd?$AAs?$AA?$AA@ 100b88f8 LIBCMTD:mbstowcs.obj - 0003:0000e930 ??_C@_1CM@LLECFMFH@?$AAb?$AAu?$AAf?$AAf?$AAe?$AAr?$AAS?$AAi?$AAz?$AAe?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAI?$AAN?$AAT?$AA_?$AAM?$AAA?$AAX?$AA?$AA@ 100b8930 LIBCMTD:mbstowcs.obj - 0003:0000e964 ??_C@_1BM@PHENIGHD@?$AA_?$AAm?$AAb?$AAs?$AAt?$AAo?$AAw?$AAc?$AAs?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 100b8964 LIBCMTD:mbstowcs.obj - 0003:0000e988 ??_C@_1JA@JKDFMOPO@?$AA?$CI?$AAp?$AAw?$AAc?$AAs?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAW?$AAo?$AAr?$AAd?$AAs?$AA?5?$AA?$DN?$AA?$DN?$AA?5@ 100b8988 LIBCMTD:mbstowcs.obj - 0003:0000ea38 ??_C@_1FA@MJKDNFFB@?$AA?$CI?$AAL?$AA?$CC?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAi?$AAs?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAt?$AAe?$AAd@ 100b8a38 LIBCMTD:strcat_s.obj - 0003:0000ea98 ??_C@_1DM@FHLMIEG@?$AAS?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AAi?$AAs?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAn?$AAu?$AAl?$AAl?$AA?5?$AAt?$AAe?$AAr?$AAm?$AAi?$AAn?$AAa?$AAt?$AAe?$AAd?$AA?$AA@ 100b8a98 LIBCMTD:strcat_s.obj - 0003:0000eae0 ??_C@_1BC@HGPNAKGC@?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$AA@ 100b8ae0 LIBCMTD:strcat_s.obj - 0003:0000eaf8 ??_C@_1GI@NOKGIAGA@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b8af8 LIBCMTD:strcat_s.obj - 0003:0000eb74 ??_C@_1CM@HABGDNLJ@?$AAl?$AAe?$AAn?$AAg?$AAt?$AAh?$AA?5?$AA?$DM?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAT?$AAC?$AAh?$AAa?$AAr?$AAs?$AA?$AA@ 100b8b74 LIBCMTD:xtoas.obj - 0003:0000eba8 ??_C@_1DE@PCJGDBBD@?$AA2?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAr?$AAa?$AAd?$AAi?$AAx?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAr?$AAa?$AAd?$AAi?$AAx?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA3?$AA6?$AA?$AA@ 100b8ba8 LIBCMTD:xtoas.obj - 0003:0000ebe8 ??_C@_1FA@MKGGAGEI@?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAT?$AAC?$AAh?$AAa?$AAr?$AAs?$AA?5?$AA?$DO?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA_?$AAt?$AA?$CJ?$AA?$CI?$AAi?$AAs?$AA_?$AAn?$AAe?$AAg?$AA?5?$AA?$DP@ 100b8be8 LIBCMTD:xtoas.obj - 0003:0000ec48 ??_C@_1O@GIMBNLEI@?$AAx?$AAt?$AAo?$AAa?$AA_?$AAs?$AA?$AA@ 100b8c48 LIBCMTD:xtoas.obj - 0003:0000ec58 ??_C@_1FM@MFCBFCGB@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b8c58 LIBCMTD:xtoas.obj - 0003:0000ecc8 ??_C@_1BI@ICGGMGLK@?$AAb?$AAu?$AAf?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b8cc8 LIBCMTD:xtoas.obj - 0003:0000ece4 ??_C@_1BC@MJJNBNFN@?$AAx?$AA6?$AA4?$AAt?$AAo?$AAa?$AA_?$AAs?$AA?$AA@ 100b8ce4 LIBCMTD:xtoas.obj - 0003:0000ecfc ??_C@_1CG@LLJCAOHF@?$AA_?$AAw?$AAc?$AAs?$AAt?$AAo?$AAm?$AAb?$AAs?$AA_?$AAl?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 100b8cfc LIBCMTD:wcstombs.obj - 0003:0000ed30 ??_C@_1GE@OAENIBOD@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b8d30 LIBCMTD:wcstombs.obj - 0003:0000eda8 ??_C@_1BK@OIBENBPM@?$AAp?$AAw?$AAc?$AAs?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100b8da8 LIBCMTD:wcstombs.obj - 0003:0000edc8 ??_C@_1CM@KEOGBFLI@?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$DO?$AA?5?$AAr?$AAe?$AAt?$AAs?$AAi?$AAz?$AAe?$AA?$AA@ 100b8dc8 LIBCMTD:wcstombs.obj - 0003:0000edfc ??_C@_1BM@BDMCLLDL@?$AA_?$AAw?$AAc?$AAs?$AAt?$AAo?$AAm?$AAb?$AAs?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 100b8dfc LIBCMTD:wcstombs.obj - 0003:0000ee20 ??_C@_1IM@MFGKHGBP@?$AA?$CI?$AAd?$AAs?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$CJ@ 100b8e20 LIBCMTD:wcstombs.obj - 0003:0000eec8 ??_C@_1BC@PLIEPKPJ@?$AAw?$AAc?$AAs?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$AA@ 100b8ec8 LIBCMTD:wcscat_s.obj - 0003:0000eee0 ??_C@_1CE@IGKFIJFD@?$AA_?$AAv?$AAs?$AAw?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 100b8ee0 LIBCMTD:vswprnc.obj - 0003:0000ef10 ??_C@_1GE@KINELFI@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b8f10 LIBCMTD:vswprnc.obj - 0003:0000ef88 ??_C@_1EE@MPCHJFGP@?$AAs?$AAt?$AAr?$AAi?$AAn?$AAg?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAW?$AAo?$AAr?$AAd?$AAs?$AA?5?$AA?$DO?$AA?5@ 100b8f88 LIBCMTD:vswprnc.obj - 0003:0000efdc ??_C@_1BO@OALHJLCI@?$AA_?$AAv?$AAs?$AAw?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 100b8fdc LIBCMTD:vswprnc.obj - 0003:0000f000 ??_C@_1CA@BKFKMJFF@?$AA_?$AAv?$AAs?$AAn?$AAw?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 100b9000 LIBCMTD:vswprnc.obj - 0003:0000f028 ??_C@_1O@NCBFODOE@?$AAx?$AAt?$AAo?$AAw?$AA_?$AAs?$AA?$AA@ 100b9028 LIBCMTD:xtows.obj - 0003:0000f038 ??_C@_1BC@HDEJCFPB@?$AAx?$AA6?$AA4?$AAt?$AAo?$AAw?$AA_?$AAs?$AA?$AA@ 100b9038 LIBCMTD:xtows.obj - 0003:0000f050 ??_C@_1BG@BBCDFOMA@?$AA_?$AAw?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAl?$AA?$AA@ 100b9050 LIBCMTD:woutput.obj - 0003:0000f06c ??_C@_1BK@EPLNBKAK@?$AA_?$AAv?$AAs?$AAw?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAl?$AA?$AA@ 100b906c LIBCMTD:vswprint.obj - 0003:0000f08c ??_C@_1CG@IMMIEPNA@?$AA_?$AAv?$AAs?$AAc?$AAw?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 100b908c LIBCMTD:vswprint.obj - 0003:0000f0bc ??_C@_0BK@CIDNPOGP@GetUserObjectInformationA?$AA@ 100b90bc LIBCMTD:crtmbox.obj - 0003:0000f0dc ??_C@_0M@CHKKJDAI@MessageBoxA?$AA@ 100b90dc LIBCMTD:crtmbox.obj - 0003:0000f0f0 ??_C@_1GA@INJGGEBC@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b90f0 LIBCMTD:a_map.obj - 0003:0000f168 ??_C@_1FE@KNPCCODH@?$AA?$CI?$AA?$CC?$AAC?$AAo?$AAr?$AAr?$AAu?$AAp?$AAt?$AAe?$AAd?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AAe?$AAr?$AA?5?$AAp?$AAa?$AAs?$AAs?$AAe?$AAd?$AA?5?$AAt?$AAo?$AA?5?$AA_?$AAf@ 100b9168 LIBCMTD:a_map.obj - 0003:0000f1d0 ??_C@_1GE@GJCMHHMH@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b91d0 LIBCMTD:inittime.obj - 0003:0000f248 ??_C@_1EE@FDHCFDHN@?$AAp?$AAl?$AAo?$AAc?$AAi?$AA?9?$AA?$DO?$AAl?$AAc?$AA_?$AAt?$AAi?$AAm?$AAe?$AA_?$AAc?$AAu?$AAr?$AAr?$AA?9?$AA?$DO?$AAr?$AAe?$AAf?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5@ 100b9248 LIBCMTD:inittime.obj - 0003:0000f29c ??_C@_0DC@KICHHNFK@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b929c LIBCMTD:inittime.obj - 0003:0000f2d8 ??_C@_1GC@EDJOCBCL@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b92d8 LIBCMTD:initnum.obj - 0003:0000f350 ??_C@_1DM@IFKAINNE@?$AAp?$AAl?$AAo?$AAc?$AAi?$AA?9?$AA?$DO?$AAl?$AAc?$AAo?$AAn?$AAv?$AA_?$AAn?$AAu?$AAm?$AA_?$AAr?$AAe?$AAf?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 100b9350 LIBCMTD:initnum.obj - 0003:0000f398 ??_C@_0DB@KKFMDHFI@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b9398 LIBCMTD:initnum.obj - 0003:0000f3d8 ??_C@_1GC@IKADOFBJ@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b93d8 LIBCMTD:initmon.obj - 0003:0000f450 ??_C@_1DM@GKAPAMDO@?$AAp?$AAl?$AAo?$AAc?$AAi?$AA?9?$AA?$DO?$AAl?$AAc?$AAo?$AAn?$AAv?$AA_?$AAm?$AAo?$AAn?$AA_?$AAr?$AAe?$AAf?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 100b9450 LIBCMTD:initmon.obj - 0003:0000f498 ??_C@_0DB@BECNGFDL@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100b9498 LIBCMTD:initmon.obj - 0003:0000f4d8 ___newctype 100b94d8 LIBCMTD:ctype.obj - 0003:0000f7d8 __wctype 100b97d8 LIBCMTD:ctype.obj - 0003:0000f9e0 ___newclmap 100b99e0 LIBCMTD:ctype.obj - 0003:0000fb60 ___newcumap 100b9b60 LIBCMTD:ctype.obj - 0003:0000fe7c ??_C@_07LCBHPJJN@LC_TIME?$AA@ 100b9e7c LIBCMTD:setlocal.obj - 0003:0000fe88 ??_C@_0L@DLHIECNL@LC_NUMERIC?$AA@ 100b9e88 LIBCMTD:setlocal.obj - 0003:0000fe98 ??_C@_0M@MIENIKLA@LC_MONETARY?$AA@ 100b9e98 LIBCMTD:setlocal.obj - 0003:0000fea8 ??_C@_08EADHIDAD@LC_CTYPE?$AA@ 100b9ea8 LIBCMTD:setlocal.obj - 0003:0000feb4 ??_C@_0L@KFJHEKIK@LC_COLLATE?$AA@ 100b9eb4 LIBCMTD:setlocal.obj - 0003:0000fec4 ??_C@_06NEFDFEKB@LC_ALL?$AA@ 100b9ec4 LIBCMTD:setlocal.obj - 0003:0000fed0 ___lc_category 100b9ed0 LIBCMTD:setlocal.obj - 0003:0000ffc0 ??_C@_1CI@FGIONOJM@?$AA_?$AAc?$AAo?$AAn?$AAf?$AAi?$AAg?$AAt?$AAh?$AAr?$AAe?$AAa?$AAd?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?$AA@ 100b9fc0 LIBCMTD:setlocal.obj - 0003:0000fff0 ??_C@_1GE@OLEIGPBJ@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100b9ff0 LIBCMTD:setlocal.obj - 0003:00010068 ??_C@_1GA@LDEGDKD@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAp?$AAa?$AAr?$AAa?$AAm?$AAe?$AAt?$AAe?$AAr?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA_?$AAc?$AAo?$AAn?$AAf?$AAi?$AAg?$AAt@ 100ba068 LIBCMTD:setlocal.obj - 0003:000100dc ??_C@_0DC@JCPFNMID@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100ba0dc LIBCMTD:setlocal.obj - 0003:00010118 ??_C@_1BE@DBJGBOJC@?$AAs?$AAe?$AAt?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?$AA@ 100ba118 LIBCMTD:setlocal.obj - 0003:00010130 ??_C@_1FG@OHLFEKMC@?$AAL?$AAC?$AA_?$AAM?$AAI?$AAN?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AA_?$AAc?$AAa?$AAt?$AAe?$AAg?$AAo?$AAr?$AAy?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AA_?$AAc?$AAa?$AAt?$AAe?$AAg?$AAo?$AAr?$AAy@ 100ba130 LIBCMTD:setlocal.obj - 0003:00010198 ??_C@_1IA@PFIKKKFB@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAl?$AAc?$AAt?$AAe?$AAm?$AAp?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf?$AA?$CI?$AAl?$AAc?$AAt?$AAe?$AAm?$AAp@ 100ba198 LIBCMTD:setlocal.obj - 0003:00010234 ??_C@_1CE@OFNHIOO@?$AA_?$AAs?$AAe?$AAt?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA_?$AAn?$AAo?$AAl?$AAo?$AAc?$AAk?$AA?$AA@ 100ba234 LIBCMTD:setlocal.obj - 0003:00010260 ??_C@_01ICJEACDI@?$DL?$AA@ 100ba260 LIBCMTD:setlocal.obj - 0003:00010264 ??_C@_02BALPLPBG@?$DN?$DL?$AA@ 100ba264 LIBCMTD:setlocal.obj - 0003:00010268 ??_C@_1GO@JALHLJEH@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAp?$AAc?$AAh?$AA?5?$AA?$CL?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAo?$AAf?$AA?$CI?$AAi?$AAn?$AAt?$AA?$CJ?$AA?0?$AA?5?$AAc?$AAc?$AAh?$AA?5@ 100ba268 LIBCMTD:setlocal.obj - 0003:000102ec ??_C@_1CG@IEFIICPK@?$AA_?$AAs?$AAe?$AAt?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA_?$AAs?$AAe?$AAt?$AA_?$AAc?$AAa?$AAt?$AA?$AA@ 100ba2ec LIBCMTD:setlocal.obj - 0003:0001031c ??_C@_1DA@GDKKLCLM@?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAp?$AAc?$AAh?$AA?0?$AA?5?$AAc?$AAc?$AAh?$AA?0?$AA?5?$AA?$CC?$AA?$DL?$AA?$CC?$AA?$CJ?$AA?$AA@ 100ba31c LIBCMTD:setlocal.obj - 0003:00010358 ??_C@_1CG@NNFIJLDA@?$AA_?$AAs?$AAe?$AAt?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA_?$AAg?$AAe?$AAt?$AA_?$AAa?$AAl?$AAl?$AA?$AA@ 100ba358 LIBCMTD:setlocal.obj - 0003:00010388 ??_C@_01NEMOKFLO@?$DN?$AA@ 100ba388 LIBCMTD:setlocal.obj - 0003:00010390 ??_C@_1FA@MHAOOIBO@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?0?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAC?$AAh?$AAa?$AAr?$AAs?$AA?0?$AA?5?$AAc?$AAa@ 100ba390 LIBCMTD:setlocal.obj - 0003:000103f0 ??_C@_1IA@ONNFOEDA@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAc?$AAa?$AAc?$AAh?$AAe?$AAi?$AAn?$AA?0?$AA?5?$AAc?$AAa?$AAc?$AAh?$AAe?$AAi?$AAn?$AAS?$AAi?$AAz?$AAe?$AA?0?$AA?5@ 100ba3f0 LIBCMTD:setlocal.obj - 0003:0001048c ??_C@_01GFHCPBMG@C?$AA@ 100ba48c LIBCMTD:setlocal.obj - 0003:00010490 ??_C@_1EG@MOMHKOD@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA?0?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAC?$AAh?$AAa?$AAr?$AAs?$AA?0?$AA?5?$AA?$CC?$AAC@ 100ba490 LIBCMTD:setlocal.obj - 0003:000104e4 ??_C@_1BM@OIIBLEFG@?$AA_?$AAe?$AAx?$AAp?$AAa?$AAn?$AAd?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?$AA@ 100ba4e4 LIBCMTD:setlocal.obj - 0003:00010508 ??_C@_1BGM@IJDLABMC@?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AA_?$AAs?$AA?$CI?$AAo?$AAu?$AAt?$AAs?$AAt?$AAr?$AA?0?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?0?$AA?5?$AA?$CI?$AA?5@ 100ba508 LIBCMTD:setlocal.obj - 0003:000106bc ??_C@_1BC@PIABMDIP@?$AA_?$AAs?$AAt?$AAr?$AAc?$AAa?$AAt?$AAs?$AA?$AA@ 100ba6bc LIBCMTD:setlocal.obj - 0003:000106d8 ??_C@_1MM@NOPMGFHF@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAn?$AAa?$AAm?$AAe?$AAs?$AA?9?$AA?$DO?$AAs?$AAz?$AAC?$AAo?$AAd?$AAe?$AAP?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi@ 100ba6d8 LIBCMTD:setlocal.obj - 0003:000107d0 ??_C@_1MG@PHNILIAG@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAn?$AAa?$AAm?$AAe?$AAs?$AA?9?$AA?$DO?$AAs?$AAz?$AAC?$AAo?$AAu?$AAn?$AAt?$AAr?$AAy?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi?$AAz@ 100ba7d0 LIBCMTD:setlocal.obj - 0003:000108c0 ??_C@_1MM@BFEECMAF@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAn?$AAa?$AAm?$AAe?$AAs?$AA?9?$AA?$DO?$AAs?$AAz?$AAL?$AAa?$AAn?$AAg?$AAu?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi@ 100ba8c0 LIBCMTD:setlocal.obj - 0003:000109b4 ??_C@_03EGDHDPFD@_?4?0?$AA@ 100ba9b4 LIBCMTD:setlocal.obj - 0003:000109b8 ??_C@_1NG@FMOPGKGG@?$AAs?$AAt?$AAr?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAn?$AAa?$AAm?$AAe?$AAs?$AA?9?$AA?$DO?$AAs?$AAz?$AAC?$AAo?$AAd?$AAe?$AAP?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA?$CI?$AAs?$AAi@ 100ba9b8 LIBCMTD:setlocal.obj - 0003:00010ab8 ??_C@_1BK@CBMMLAGJ@?$AA_?$AA_?$AAl?$AAc?$AA_?$AAs?$AAt?$AAr?$AAt?$AAo?$AAl?$AAc?$AA?$AA@ 100baab8 LIBCMTD:setlocal.obj - 0003:00010ad8 ??_C@_01LFCBOECM@?4?$AA@ 100baad8 LIBCMTD:setlocal.obj - 0003:00010adc ??_C@_01IDAFKMJL@_?$AA@ 100baadc LIBCMTD:setlocal.obj - 0003:00010ae0 ??_C@_1HC@IBDBLKCB@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?0?$AA?5?$AAs?$AAi?$AAz?$AAe?$AAI?$AAn?$AAB?$AAy?$AAt?$AAe?$AAs?$AA?0?$AA?5?$AA?$CI?$AAc@ 100baae0 LIBCMTD:setlocal.obj - 0003:00010b68 ??_C@_1BK@FGDJDEPG@?$AA_?$AA_?$AAl?$AAc?$AA_?$AAl?$AAc?$AAt?$AAo?$AAs?$AAt?$AAr?$AA?$AA@ 100bab68 LIBCMTD:setlocal.obj - 0003:00010b88 ??_C@_0DB@OLNNDFNH@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100bab88 LIBCMTD:_sftbuf.obj - 0003:00010bc8 ??_C@_1GC@DGAFOCMO@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100babc8 LIBCMTD:_sftbuf.obj - 0003:00010c40 ??_C@_1CO@KCKAACMI@?$AAf?$AAl?$AAa?$AAg?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AAf?$AAl?$AAa?$AAg?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA1?$AA?$AA@ 100bac40 LIBCMTD:_sftbuf.obj - 0003:00010c78 ??_C@_1BO@JGFPDJCP@?$AAv?$AAp?$AAr?$AAi?$AAn?$AAt?$AAf?$AA_?$AAh?$AAe?$AAl?$AAp?$AAe?$AAr?$AA?$AA@ 100bac78 LIBCMTD:vprintf.obj - 0003:00010ca0 ??_C@_1GC@DHFFJKMC@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100baca0 LIBCMTD:vprintf.obj - 0003:00010d18 ??_C@_1DG@NMBGBDM@?$AAp?$AAl?$AAo?$AAc?$AAi?$AA?9?$AA?$DO?$AAc?$AAt?$AAy?$AAp?$AAe?$AA1?$AA_?$AAr?$AAe?$AAf?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DO?$AA?5?$AA0?$AA?$AA@ 100bad18 LIBCMTD:initctyp.obj - 0003:00010d58 ??_C@_1GE@OCPKBDKE@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bad58 LIBCMTD:initctyp.obj - 0003:00010dd0 ??_C@_0DC@EHLBFILA@f?3?2dd?2vctools?2crt_bld?2self_x86?2c@ 100badd0 LIBCMTD:initctyp.obj - 0003:00010e10 ??_C@_1FE@CEHLKAHD@?$AAi?$AAb?$AAa?$AAs?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA0?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CI?$AA2?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAi?$AAb?$AAa?$AAs?$AAe?$AA?5?$AA?$CG?$AA?$CG?$AA?5?$AAi?$AAb?$AAa@ 100bae10 LIBCMTD:strtol.obj - 0003:00010e74 ??_C@_1BA@LOLAMAJG@?$AAs?$AAt?$AAr?$AAt?$AAo?$AAx?$AAl?$AA?$AA@ 100bae74 LIBCMTD:strtol.obj - 0003:00010e88 ??_C@_1GA@IPHKKOEI@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bae88 LIBCMTD:strtol.obj - 0003:00010efc ??_C@_1BK@LAOAACLJ@?$AAn?$AAp?$AAt?$AAr?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100baefc LIBCMTD:strtol.obj - 0003:00010f1c ??_C@_1BI@GALBKMKE@?$AA?$CI?$AAs?$AAi?$AAz?$AAe?$AA?5?$AA?$DO?$AA?$DN?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 100baf1c LIBCMTD:chsize.obj - 0003:00010f38 ??_C@_1BE@MAFDNGED@?$AA_?$AAc?$AAh?$AAs?$AAi?$AAz?$AAe?$AA_?$AAs?$AA?$AA@ 100baf38 LIBCMTD:chsize.obj - 0003:00010f50 ??_C@_1GA@DBKMEDOF@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100baf50 LIBCMTD:chsize.obj - 0003:00010fc4 ??_C@_1BC@JBGGJDCM@?$AA_?$AAs?$AAe?$AAt?$AAm?$AAo?$AAd?$AAe?$AA?$AA@ 100bafc4 LIBCMTD:setmode.obj - 0003:00010fe0 ??_C@_1GC@KODPFLLJ@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bafe0 LIBCMTD:setmode.obj - 0003:00011058 ??_C@_1OA@HGPJIFPM@?$AA?$CI?$AA?$CI?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAO?$AA_?$AAT?$AAE?$AAX?$AAT?$AA?$CJ?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CI?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_@ 100bb058 LIBCMTD:setmode.obj - 0003:00011164 ??_C@_1BG@IEEHLOCL@?$AA_?$AAs?$AAe?$AAt?$AA_?$AAf?$AAm?$AAo?$AAd?$AAe?$AA?$AA@ 100bb164 LIBCMTD:setmode.obj - 0003:00011180 ??_C@_1IC@NDCJMLB@?$AA?$CI?$AA?$CI?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_?$AAO?$AA_?$AAT?$AAE?$AAX?$AAT?$AA?$CJ?$AA?5?$AA?$HM?$AA?$HM?$AA?5?$AA?$CI?$AAm?$AAo?$AAd?$AAe?$AA?5?$AA?$DN?$AA?$DN?$AA?5?$AA_@ 100bb180 LIBCMTD:setmode.obj - 0003:0001121c ??_C@_1BG@CKGMPOFH@?$AA_?$AAg?$AAe?$AAt?$AA_?$AAf?$AAm?$AAo?$AAd?$AAe?$AA?$AA@ 100bb21c LIBCMTD:setmode.obj - 0003:00011238 ??_C@_1CA@GPIGPPFN@?$AA?$CI?$AAp?$AAM?$AAo?$AAd?$AAe?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$CJ?$AA?$AA@ 100bb238 LIBCMTD:setmode.obj - 0003:00011260 ??_C@_1CC@JLPHKJPH@?$AAc?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DM?$AA?$DN?$AA?5?$AAI?$AAN?$AAT?$AA_?$AAM?$AAA?$AAX?$AA?$AA@ 100bb260 LIBCMTD:strnicmp.obj - 0003:00011288 ??_C@_1BI@BJLEPLEF@?$AA_?$AAs?$AAt?$AAr?$AAn?$AAi?$AAc?$AAm?$AAp?$AA_?$AAl?$AA?$AA@ 100bb288 LIBCMTD:strnicmp.obj - 0003:000112a8 ??_C@_1GE@CONPOJMA@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bb2a8 LIBCMTD:strnicmp.obj - 0003:00011320 ??_C@_1BE@BHJDFFNA@?$AA_?$AAs?$AAt?$AAr?$AAn?$AAi?$AAc?$AAm?$AAp?$AA?$AA@ 100bb320 LIBCMTD:strnicmp.obj - 0003:00011338 ??_C@_1BA@BALFACEM@?$AAC?$AAO?$AAN?$AAO?$AAU?$AAT?$AA$?$AA?$AA@ 100bb338 LIBCMTD:initcon.obj - 0003:0001134c ??_C@_1CA@LFDHAMEM@?$AA_?$AAs?$AAe?$AAt?$AA_?$AAe?$AAr?$AAr?$AAo?$AAr?$AA_?$AAm?$AAo?$AAd?$AAe?$AA?$AA@ 100bb34c LIBCMTD:errmode.obj - 0003:00011378 ??_C@_1GC@FGMGFCNB@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bb378 LIBCMTD:errmode.obj - 0003:000113f0 ??_C@_1DE@BCNCAIK@?$AA?$CI?$AA?$CC?$AAI?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA_?$AAm?$AAo?$AAd?$AAe?$AA?$CC?$AA?0?$AA?5?$AA0?$AA?$CJ?$AA?$AA@ 100bb3f0 LIBCMTD:errmode.obj - 0003:00011430 ??_C@_1BE@PMMBFFCC@?$AAw?$AAc?$AAs?$AAn?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$AA@ 100bb430 LIBCMTD:wcsncpy_s.obj - 0003:00011448 ??_C@_1BK@ONMFGLDB@?$AA_?$AAw?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAs?$AA_?$AAl?$AA?$AA@ 100bb448 LIBCMTD:woutputs.obj - 0003:00011468 ??_C@_1BK@GDEKGMNC@?$AA_?$AAw?$AAo?$AAu?$AAt?$AAp?$AAu?$AAt?$AA_?$AAp?$AA_?$AAl?$AA?$AA@ 100bb468 LIBCMTD:woutputp.obj - 0003:00011488 ??_C@_1O@HJNPHHHB@?$AAf?$AAp?$AAu?$AAt?$AAw?$AAc?$AA?$AA@ 100bb488 LIBCMTD:fputwc.obj - 0003:00011498 ??_C@_1GA@BJIGKGEA@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bb498 LIBCMTD:fputwc.obj - 0003:0001150c __pDestructExceptionObject 100bb50c LIBCMTD:frame.obj - 0003:00011510 ??_C@_0O@DPKOEFFH@bad?5exception?$AA@ 100bb510 LIBCMTD:frame.obj - 0003:00011524 ??_7bad_exception@std@@6B@ 100bb524 LIBCMTD:frame.obj - 0003:00011530 ??_C@_0O@FMJNFNKE@united?9states?$AA@ 100bb530 LIBCMTD:getqloc.obj - 0003:00011540 ??_C@_0P@NDHFFKCA@united?9kingdom?$AA@ 100bb540 LIBCMTD:getqloc.obj - 0003:00011554 ??_C@_0BC@HHDADLGF@trinidad?5?$CG?5tobago?$AA@ 100bb554 LIBCMTD:getqloc.obj - 0003:0001156c ??_C@_0M@IOAEBDAC@south?9korea?$AA@ 100bb56c LIBCMTD:getqloc.obj - 0003:0001157c ??_C@_0N@FIELFKIJ@south?9africa?$AA@ 100bb57c LIBCMTD:getqloc.obj - 0003:0001158c ??_C@_0M@OPNDHCMC@south?5korea?$AA@ 100bb58c LIBCMTD:getqloc.obj - 0003:0001159c ??_C@_0N@MDEOEPFI@south?5africa?$AA@ 100bb59c LIBCMTD:getqloc.obj - 0003:000115ac ??_C@_06FKAPCJLB@slovak?$AA@ 100bb5ac LIBCMTD:getqloc.obj - 0003:000115b4 ??_C@_0M@EFJANOAL@puerto?9rico?$AA@ 100bb5b4 LIBCMTD:getqloc.obj - 0003:000115c4 ??_C@_08PGOJKDAI@pr?9china?$AA@ 100bb5c4 LIBCMTD:getqloc.obj - 0003:000115d0 ??_C@_08JHDOMCMI@pr?5china?$AA@ 100bb5d0 LIBCMTD:getqloc.obj - 0003:000115dc ??_C@_02JHCHFBLL@nz?$AA@ 100bb5dc LIBCMTD:getqloc.obj - 0003:000115e0 ??_C@_0M@LINHDHKP@new?9zealand?$AA@ 100bb5e0 LIBCMTD:getqloc.obj - 0003:000115f0 ??_C@_09IIIPPBDB@hong?9kong?$AA@ 100bb5f0 LIBCMTD:getqloc.obj - 0003:000115fc ??_C@_07HJLCKBG@holland?$AA@ 100bb5fc LIBCMTD:getqloc.obj - 0003:00011608 ??_C@_0O@LEHGMHAG@great?5britain?$AA@ 100bb608 LIBCMTD:getqloc.obj - 0003:00011618 ??_C@_07FACOMELA@england?$AA@ 100bb618 LIBCMTD:getqloc.obj - 0003:00011624 ??_C@_05JIHCEICB@czech?$AA@ 100bb624 LIBCMTD:getqloc.obj - 0003:0001162c ??_C@_05BBJOBLGB@china?$AA@ 100bb62c LIBCMTD:getqloc.obj - 0003:00011634 ??_C@_07GPKPHICP@britain?$AA@ 100bb634 LIBCMTD:getqloc.obj - 0003:00011640 ??_C@_07MHIPBHMG@america?$AA@ 100bb640 LIBCMTD:getqloc.obj - 0003:0001164c ??_C@_03KIALPMKC@usa?$AA@ 100bb64c LIBCMTD:getqloc.obj - 0003:00011650 ??_C@_02FGJGKGGD@us?$AA@ 100bb650 LIBCMTD:getqloc.obj - 0003:00011654 ??_C@_02NEINDODK@uk?$AA@ 100bb654 LIBCMTD:getqloc.obj - 0003:00011658 ??_C@_05JMPCFJFJ@swiss?$AA@ 100bb658 LIBCMTD:getqloc.obj - 0003:00011660 ??_C@_0BA@HLOCPIOD@swedish?9finland?$AA@ 100bb660 LIBCMTD:getqloc.obj - 0003:00011674 ??_C@_0BC@PKCNIABK@spanish?9venezuela?$AA@ 100bb674 LIBCMTD:getqloc.obj - 0003:0001168c ??_C@_0BA@GBHHMIJI@spanish?9uruguay?$AA@ 100bb68c LIBCMTD:getqloc.obj - 0003:000116a0 ??_C@_0BE@BHDOHPMC@spanish?9puerto?5rico?$AA@ 100bb6a0 LIBCMTD:getqloc.obj - 0003:000116b8 ??_C@_0N@KMOIDGGN@spanish?9peru?$AA@ 100bb6b8 LIBCMTD:getqloc.obj - 0003:000116c8 ??_C@_0BB@HMHLPGPH@spanish?9paraguay?$AA@ 100bb6c8 LIBCMTD:getqloc.obj - 0003:000116dc ??_C@_0P@MCPKNGFD@spanish?9panama?$AA@ 100bb6dc LIBCMTD:getqloc.obj - 0003:000116f0 ??_C@_0BC@IHOHGAIL@spanish?9nicaragua?$AA@ 100bb6f0 LIBCMTD:getqloc.obj - 0003:00011708 ??_C@_0P@KLMJDNFJ@spanish?9modern?$AA@ 100bb708 LIBCMTD:getqloc.obj - 0003:0001171c ??_C@_0BA@BPAPGBCM@spanish?9mexican?$AA@ 100bb71c LIBCMTD:getqloc.obj - 0003:00011730 ??_C@_0BB@PDECHHHE@spanish?9honduras?$AA@ 100bb730 LIBCMTD:getqloc.obj - 0003:00011744 ??_C@_0BC@KLHKFGDB@spanish?9guatemala?$AA@ 100bb744 LIBCMTD:getqloc.obj - 0003:0001175c ??_C@_0BE@MFOOKJAI@spanish?9el?5salvador?$AA@ 100bb75c LIBCMTD:getqloc.obj - 0003:00011774 ??_C@_0BA@FCOKFPFC@spanish?9ecuador?$AA@ 100bb774 LIBCMTD:getqloc.obj - 0003:00011788 ??_C@_0BL@PLMGIMOO@spanish?9dominican?5republic?$AA@ 100bb788 LIBCMTD:getqloc.obj - 0003:000117a8 ??_C@_0BD@HLGDNMHB@spanish?9costa?5rica?$AA@ 100bb7a8 LIBCMTD:getqloc.obj - 0003:000117c0 ??_C@_0BB@PKCBKCPE@spanish?9colombia?$AA@ 100bb7c0 LIBCMTD:getqloc.obj - 0003:000117d4 ??_C@_0O@MCBIJGNE@spanish?9chile?$AA@ 100bb7d4 LIBCMTD:getqloc.obj - 0003:000117e4 ??_C@_0BA@BEFEIGJJ@spanish?9bolivia?$AA@ 100bb7e4 LIBCMTD:getqloc.obj - 0003:000117f8 ??_C@_0BC@EMECMPD@spanish?9argentina?$AA@ 100bb7f8 LIBCMTD:getqloc.obj - 0003:00011810 ??_C@_0BF@EALFLENP@portuguese?9brazilian?$AA@ 100bb810 LIBCMTD:getqloc.obj - 0003:0001182c ??_C@_0BC@HBLEBLNN@norwegian?9nynorsk?$AA@ 100bb82c LIBCMTD:getqloc.obj - 0003:00011844 ??_C@_0BB@HMACDDCK@norwegian?9bokmal?$AA@ 100bb844 LIBCMTD:getqloc.obj - 0003:00011858 ??_C@_09BAFFPPHE@norwegian?$AA@ 100bb858 LIBCMTD:getqloc.obj - 0003:00011864 ??_C@_0O@EAJFJDFG@italian?9swiss?$AA@ 100bb864 LIBCMTD:getqloc.obj - 0003:00011874 ??_C@_0O@CNOMPGD@irish?9english?$AA@ 100bb874 LIBCMTD:getqloc.obj - 0003:00011884 ??_C@_0N@EDHBGCKG@german?9swiss?$AA@ 100bb884 LIBCMTD:getqloc.obj - 0003:00011894 ??_C@_0BC@JACMHNBP@german?9luxembourg?$AA@ 100bb894 LIBCMTD:getqloc.obj - 0003:000118ac ??_C@_0BE@HBGMGFEG@german?9lichtenstein?$AA@ 100bb8ac LIBCMTD:getqloc.obj - 0003:000118c4 ??_C@_0BA@HKKBIBKL@german?9austrian?$AA@ 100bb8c4 LIBCMTD:getqloc.obj - 0003:000118d8 ??_C@_0N@GCAEPEBK@french?9swiss?$AA@ 100bb8d8 LIBCMTD:getqloc.obj - 0003:000118e8 ??_C@_0BC@DJFJJCK@french?9luxembourg?$AA@ 100bb8e8 LIBCMTD:getqloc.obj - 0003:00011900 ??_C@_0BA@NNCEDFIC@french?9canadian?$AA@ 100bb900 LIBCMTD:getqloc.obj - 0003:00011914 ??_C@_0P@CMPOCLM@french?9belgian?$AA@ 100bb914 LIBCMTD:getqloc.obj - 0003:00011928 ??_C@_0M@GHHDJOK@english?9usa?$AA@ 100bb928 LIBCMTD:getqloc.obj - 0003:00011938 ??_C@_0L@PLDJKEIL@english?9us?$AA@ 100bb938 LIBCMTD:getqloc.obj - 0003:00011948 ??_C@_0L@HJCCDMNC@english?9uk?$AA@ 100bb948 LIBCMTD:getqloc.obj - 0003:00011958 ??_C@_0BK@CKLIAGJB@english?9trinidad?5y?5tobago?$AA@ 100bb958 LIBCMTD:getqloc.obj - 0003:00011978 ??_C@_0BF@JMJMGNNF@english?9south?5africa?$AA@ 100bb978 LIBCMTD:getqloc.obj - 0003:00011994 ??_C@_0L@DKIIFDFD@english?9nz?$AA@ 100bb994 LIBCMTD:getqloc.obj - 0003:000119a4 ??_C@_0BA@ONHGJCLH@english?9jamaica?$AA@ 100bb9a4 LIBCMTD:getqloc.obj - 0003:000119b8 ??_C@_0M@HJBGHOPO@english?9ire?$AA@ 100bb9b8 LIBCMTD:getqloc.obj - 0003:000119c8 ??_C@_0BC@LFEKMIFB@english?9caribbean?$AA@ 100bb9c8 LIBCMTD:getqloc.obj - 0003:000119e0 ??_C@_0M@OLDPFKHI@english?9can?$AA@ 100bb9e0 LIBCMTD:getqloc.obj - 0003:000119f0 ??_C@_0P@OMDEHBMP@english?9belize?$AA@ 100bb9f0 LIBCMTD:getqloc.obj - 0003:00011a04 ??_C@_0M@KFHFPFED@english?9aus?$AA@ 100bba04 LIBCMTD:getqloc.obj - 0003:00011a14 ??_C@_0BB@MNMBKDFE@english?9american?$AA@ 100bba14 LIBCMTD:getqloc.obj - 0003:00011a28 ??_C@_0O@KIDLNNBA@dutch?9belgian?$AA@ 100bba28 LIBCMTD:getqloc.obj - 0003:00011a38 ??_C@_0BE@JBKABBMH@chinese?9traditional?$AA@ 100bba38 LIBCMTD:getqloc.obj - 0003:00011a50 ??_C@_0BC@MJJMPKCG@chinese?9singapore?$AA@ 100bba50 LIBCMTD:getqloc.obj - 0003:00011a68 ??_C@_0BD@FDKADDCP@chinese?9simplified?$AA@ 100bba68 LIBCMTD:getqloc.obj - 0003:00011a80 ??_C@_0BB@DBEFDDME@chinese?9hongkong?$AA@ 100bba80 LIBCMTD:getqloc.obj - 0003:00011a94 ??_C@_07DHNMFMCI@chinese?$AA@ 100bba94 LIBCMTD:getqloc.obj - 0003:00011aa0 ??_C@_03FNDDCHI@chi?$AA@ 100bbaa0 LIBCMTD:getqloc.obj - 0003:00011aa4 ??_C@_03BMMIADDJ@chh?$AA@ 100bbaa4 LIBCMTD:getqloc.obj - 0003:00011aa8 ??_C@_08OAIPJDGI@canadian?$AA@ 100bbaa8 LIBCMTD:getqloc.obj - 0003:00011ab4 ??_C@_07HBPMNPNJ@belgian?$AA@ 100bbab4 LIBCMTD:getqloc.obj - 0003:00011ac0 ??_C@_0L@OEKOPBEL@australian?$AA@ 100bbac0 LIBCMTD:getqloc.obj - 0003:00011ad0 ??_C@_0BB@MEIMBEDG@american?9english?$AA@ 100bbad0 LIBCMTD:getqloc.obj - 0003:00011ae4 ??_C@_0BB@DFMDPDGB@american?5english?$AA@ 100bbae4 LIBCMTD:getqloc.obj - 0003:00011af8 ??_C@_08IJLOKOLL@american?$AA@ 100bbaf8 LIBCMTD:getqloc.obj - 0003:00011b08 ___rg_language 100bbb08 LIBCMTD:getqloc.obj - 0003:00011d78 ___rg_country 100bbd78 LIBCMTD:getqloc.obj - 0003:00011e54 ___rglangidNotDefault 100bbe54 LIBCMTD:getqloc.obj - 0003:00011e6c ??_C@_0BC@NFIEMBLL@Norwegian?9Nynorsk?$AA@ 100bbe6c LIBCMTD:getqloc.obj - 0003:00011e88 ??_C@_1OM@OECHDGCF@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?$CI?$AAl?$AAp?$AAO?$AAu?$AAt?$AAS?$AAt?$AAr?$AA?9?$AA?$DO?$AAs?$AAz?$AAL?$AAa?$AAn?$AAg?$AAu?$AAa?$AAg?$AAe?$AA?0?$AA?5?$AA?$CI@ 100bbe88 LIBCMTD:getqloc.obj - 0003:00011fa4 ??_C@_1CO@NJACLALJ@?$AA_?$AA_?$AAg?$AAe?$AAt?$AA_?$AAq?$AAu?$AAa?$AAl?$AAi?$AAf?$AAi?$AAe?$AAd?$AA_?$AAl?$AAo?$AAc?$AAa?$AAl?$AAe?$AA?$AA@ 100bbfa4 LIBCMTD:getqloc.obj - 0003:00011fe0 ??_C@_1GC@FECJGAE@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bbfe0 LIBCMTD:getqloc.obj - 0003:00012058 ??_C@_03NFKLAGEF@OCP?$AA@ 100bc058 LIBCMTD:getqloc.obj - 0003:0001205c ??_C@_03DFHEHBHG@ACP?$AA@ 100bc05c LIBCMTD:getqloc.obj - 0003:00012060 ??_C@_1BA@PCFLFGNC@?$AAw?$AAc?$AAs?$AAt?$AAo?$AAx?$AAl?$AA?$AA@ 100bc060 LIBCMTD:wcstol.obj - 0003:00012078 ??_C@_1GA@CADFOND@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bc078 LIBCMTD:wcstol.obj - 0003:00012118 ??_7type_info@@6B@ 100bc118 LIBCMTD:typinfo.obj - 0003:00012124 ??_7exception@std@@6B@ 100bc124 LIBCMTD:stdexcpt.obj - 0003:00012130 ??_C@_0BC@EOODALEL@Unknown?5exception?$AA@ 100bc130 LIBCMTD:stdexcpt.obj - 0003:0001214c ??_7bad_cast@std@@6B@ 100bc14c LIBCMTD:stdexcpt.obj - 0003:0001215c ??_7bad_typeid@std@@6B@ 100bc15c LIBCMTD:stdexcpt.obj - 0003:0001216c ??_7__non_rtti_object@std@@6B@ 100bc16c LIBCMTD:stdexcpt.obj - 0003:00012178 ??_C@_1GE@BDAODJCD@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bc178 LIBCMTD:dbgdel.obj - 0003:000121f0 ??_C@_1BG@GLLONOEH@?$AA_?$AAs?$AAt?$AAr?$AAi?$AAc?$AAm?$AAp?$AA_?$AAl?$AA?$AA@ 100bc1f0 LIBCMTD:stricmp.obj - 0003:00012210 ??_C@_1GC@OILHAOLL@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bc210 LIBCMTD:stricmp.obj - 0003:00012288 ??_C@_1BC@JLGKKIIG@?$AA_?$AAs?$AAt?$AAr?$AAi?$AAc?$AAm?$AAp?$AA?$AA@ 100bc288 LIBCMTD:stricmp.obj - 0003:000122a0 ??_C@_1HG@KNCBMCDD@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bc2a0 LIBCMTD:typname.obj - 0003:00012330 ??_C@_1CK@GELGGBDK@?$AAp?$AAN?$AAo?$AAd?$AAe?$AA?9?$AA?$DO?$AA_?$AAN?$AAe?$AAx?$AAt?$AA?5?$AA?$CB?$AA?$DN?$AA?5?$AAN?$AAU?$AAL?$AAL?$AA?$AA@ 100bc330 LIBCMTD:typname.obj - 0003:00012368 ??_C@_1JK@NAFNEPGC@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?5?$AA?$CI?$AA?$CI?$AAc?$AAh?$AAa?$AAr?$AA?5?$AA?$CK?$AA?$CJ?$AA?$CI?$AA?$CI?$AAt?$AAy?$AAp?$AAe?$AA_?$AAi?$AAn?$AAf?$AAo?$AA?5?$AA?$CK?$AA?$CJ@ 100bc368 LIBCMTD:typname.obj - 0003:00012420 ??_C@_1CM@OOICDMK@?$AAt?$AAy?$AAp?$AAe?$AA_?$AAi?$AAn?$AAf?$AAo?$AA?3?$AA?3?$AA_?$AAN?$AAa?$AAm?$AAe?$AA_?$AAb?$AAa?$AAs?$AAe?$AA?$AA@ 100bc420 LIBCMTD:typname.obj - 0003:00012458 ??_C@_1GI@EAJKJPED@?$AAs?$AAt?$AAr?$AAc?$AAp?$AAy?$AA_?$AAs?$AA?5?$AA?$CI?$AAp?$AAT?$AAm?$AAp?$AAT?$AAy?$AAp?$AAe?$AAN?$AAa?$AAm?$AAe?$AA?0?$AA?5?$AAl?$AAe?$AAn?$AA?$CL?$AA2?$AA?0?$AA?5?$AA?$CI@ 100bc458 LIBCMTD:typname.obj - 0003:000124d4 ??_C@_1DO@OJJLFJPE@?$AAt?$AAy?$AAp?$AAe?$AA_?$AAi?$AAn?$AAf?$AAo?$AA?3?$AA?3?$AA_?$AAN?$AAa?$AAm?$AAe?$AA_?$AAb?$AAa?$AAs?$AAe?$AA_?$AAi?$AAn?$AAt?$AAe?$AAr?$AAn?$AAa?$AAl?$AA?$AA@ 100bc4d4 LIBCMTD:typname.obj - 0003:00012520 ??_C@_1BA@BMMDEPNE@?$AAs?$AAt?$AAr?$AAt?$AAo?$AAx?$AAq?$AA?$AA@ 100bc520 LIBCMTD:strtoq.obj - 0003:00012538 ??_C@_1GA@GIMEIKLC@?$AAf?$AA?3?$AA?2?$AAd?$AAd?$AA?2?$AAv?$AAc?$AAt?$AAo?$AAo?$AAl?$AAs?$AA?2?$AAc?$AAr?$AAt?$AA_?$AAb?$AAl?$AAd?$AA?2?$AAs?$AAe?$AAl?$AAf?$AA_?$AAx?$AA8?$AA6?$AA?2?$AAc@ 100bc538 LIBCMTD:strtoq.obj - 0003:000125ac ??_C@_0BK@CFCOFLF@?5Complete?5Object?5Locator?8?$AA@ 100bc5ac LIBCMTD:undname.obj - 0003:000125cc ??_C@_0BN@MECKDCOJ@?5Class?5Hierarchy?5Descriptor?8?$AA@ 100bc5cc LIBCMTD:undname.obj - 0003:000125f0 ??_C@_0BD@LGICGFMM@?5Base?5Class?5Array?8?$AA@ 100bc5f0 LIBCMTD:undname.obj - 0003:00012608 ??_C@_0BM@LDKODKLH@?5Base?5Class?5Descriptor?5at?5?$CI?$AA@ 100bc608 LIBCMTD:undname.obj - 0003:0001262c ??_C@_0BC@DAFEJGAK@?5Type?5Descriptor?8?$AA@ 100bc62c LIBCMTD:undname.obj - 0003:00012644 ??_C@_0BM@PMGGMLDN@?$GAlocal?5static?5thread?5guard?8?$AA@ 100bc644 LIBCMTD:undname.obj - 0003:00012668 ??_C@_0CL@FGIJHLCE@?$GAmanaged?5vector?5copy?5constructor@ 100bc668 LIBCMTD:undname.obj - 0003:0001269c ??_C@_0CJ@GJELGAMM@?$GAvector?5vbase?5copy?5constructor?5i@ 100bc69c LIBCMTD:undname.obj - 0003:000126d0 ??_C@_0CD@CGAJBKEJ@?$GAvector?5copy?5constructor?5iterato@ 100bc6d0 LIBCMTD:undname.obj - 0003:000126fc ??_C@_0CB@PDBIFEP@?$GAdynamic?5atexit?5destructor?5for?5?8@ 100bc6fc LIBCMTD:undname.obj - 0003:00012724 ??_C@_0BL@CLIPGLGB@?$GAdynamic?5initializer?5for?5?8?$AA@ 100bc724 LIBCMTD:undname.obj - 0003:00012744 ??_C@_0CM@FCBBDIGB@?$GAeh?5vector?5vbase?5copy?5constructo@ 100bc744 LIBCMTD:undname.obj - 0003:00012778 ??_C@_0CG@HLDDJMAG@?$GAeh?5vector?5copy?5constructor?5iter@ 100bc778 LIBCMTD:undname.obj - 0003:000127a8 ??_C@_0CF@IMGKMJNO@?$GAmanaged?5vector?5destructor?5itera@ 100bc7a8 LIBCMTD:undname.obj - 0003:000127d4 ??_C@_0CG@CFDHKGGD@?$GAmanaged?5vector?5constructor?5iter@ 100bc7d4 LIBCMTD:undname.obj - 0003:00012804 ??_C@_0BN@CKNJLHMB@?$GAplacement?5delete?$FL?$FN?5closure?8?$AA@ 100bc804 LIBCMTD:undname.obj - 0003:00012828 ??_C@_0BL@CNOONJFP@?$GAplacement?5delete?5closure?8?$AA@ 100bc828 LIBCMTD:undname.obj - 0003:00012848 ??_C@_0P@HJKNJFNN@?$GAomni?5callsig?8?$AA@ 100bc848 LIBCMTD:undname.obj - 0003:0001285c ??_C@_09LBNFPBCA@?5delete?$FL?$FN?$AA@ 100bc85c LIBCMTD:undname.obj - 0003:00012868 ??_C@_06FHBGPFGH@?5new?$FL?$FN?$AA@ 100bc868 LIBCMTD:undname.obj - 0003:00012870 ??_C@_0CE@IIHCMGGL@?$GAlocal?5vftable?5constructor?5closu@ 100bc870 LIBCMTD:undname.obj - 0003:0001289c ??_C@_0BA@KKLDJDLB@?$GAlocal?5vftable?8?$AA@ 100bc89c LIBCMTD:undname.obj - 0003:000128b0 ??_C@_05KHLCHHI@?$GARTTI?$AA@ 100bc8b0 LIBCMTD:undname.obj - 0003:000128b8 ??_C@_03KLGMFNMG@?$GAEH?$AA@ 100bc8b8 LIBCMTD:undname.obj - 0003:000128bc ??_C@_0BA@KBCDOMBN@?$GAudt?5returning?8?$AA@ 100bc8bc LIBCMTD:undname.obj - 0003:000128d0 ??_C@_0BL@LLKPOHJI@?$GAcopy?5constructor?5closure?8?$AA@ 100bc8d0 LIBCMTD:undname.obj - 0003:000128f0 ??_C@_0CH@OOJPLCPH@?$GAeh?5vector?5vbase?5constructor?5ite@ 100bc8f0 LIBCMTD:undname.obj - 0003:00012920 ??_C@_0CA@GCEOPDGL@?$GAeh?5vector?5destructor?5iterator?8?$AA@ 100bc920 LIBCMTD:undname.obj - 0003:00012948 ??_C@_0CB@JONCMFFK@?$GAeh?5vector?5constructor?5iterator?8@ 100bc948 LIBCMTD:undname.obj - 0003:00012970 ??_C@_0BL@NILFHHPC@?$GAvirtual?5displacement?5map?8?$AA@ 100bc970 LIBCMTD:undname.obj - 0003:00012990 ??_C@_0CE@IKBNEHA@?$GAvector?5vbase?5constructor?5iterat@ 100bc990 LIBCMTD:undname.obj - 0003:000129bc ??_C@_0BN@LFPFMEDL@?$GAvector?5destructor?5iterator?8?$AA@ 100bc9bc LIBCMTD:undname.obj - 0003:000129e0 ??_C@_0BO@PFGOCPJJ@?$GAvector?5constructor?5iterator?8?$AA@ 100bc9e0 LIBCMTD:undname.obj - 0003:00012a04 ??_C@_0BN@IMDCHIKM@?$GAscalar?5deleting?5destructor?8?$AA@ 100bca04 LIBCMTD:undname.obj - 0003:00012a28 ??_C@_0BO@OBMKPJIG@?$GAdefault?5constructor?5closure?8?$AA@ 100bca28 LIBCMTD:undname.obj - 0003:00012a4c ??_C@_0BN@DEGPLNFK@?$GAvector?5deleting?5destructor?8?$AA@ 100bca4c LIBCMTD:undname.obj - 0003:00012a70 ??_C@_0BD@JDLKDPAB@?$GAvbase?5destructor?8?$AA@ 100bca70 LIBCMTD:undname.obj - 0003:00012a88 ??_C@_08OBABFOLI@?$GAstring?8?$AA@ 100bca88 LIBCMTD:undname.obj - 0003:00012a94 ??_C@_0BF@KDPPACIK@?$GAlocal?5static?5guard?8?$AA@ 100bca94 LIBCMTD:undname.obj - 0003:00012ab0 ??_C@_08LLFFHHDJ@?$GAtypeof?8?$AA@ 100bcab0 LIBCMTD:undname.obj - 0003:00012abc ??_C@_07FEEIOKP@?$GAvcall?8?$AA@ 100bcabc LIBCMTD:undname.obj - 0003:00012ac8 ??_C@_09BLBHBJP@?$GAvbtable?8?$AA@ 100bcac8 LIBCMTD:undname.obj - 0003:00012ad4 ??_C@_09IFPLHPGF@?$GAvftable?8?$AA@ 100bcad4 LIBCMTD:undname.obj - 0003:00012ae0 ??_C@_02MHEGNOJ@?$FO?$DN?$AA@ 100bcae0 LIBCMTD:undname.obj - 0003:00012ae4 ??_C@_02DHLNPPGH@?$HM?$DN?$AA@ 100bcae4 LIBCMTD:undname.obj - 0003:00012ae8 ??_C@_02FGJGFEAB@?$CG?$DN?$AA@ 100bcae8 LIBCMTD:undname.obj - 0003:00012aec ??_C@_03CDNPDDLA@?$DM?$DM?$DN?$AA@ 100bcaec LIBCMTD:undname.obj - 0003:00012af0 ??_C@_03IKFCCPFF@?$DO?$DO?$DN?$AA@ 100bcaf0 LIBCMTD:undname.obj - 0003:00012af4 ??_C@_02FENAOKFI@?$CF?$DN?$AA@ 100bcaf4 LIBCMTD:undname.obj - 0003:00012af8 ??_C@_02FJEHGPIO@?1?$DN?$AA@ 100bcaf8 LIBCMTD:undname.obj - 0003:00012afc ??_C@_02FKMDLLOA@?9?$DN?$AA@ 100bcafc LIBCMTD:undname.obj - 0003:00012b00 ??_C@_02FOEOMHFC@?$CL?$DN?$AA@ 100bcb00 LIBCMTD:undname.obj - 0003:00012b04 ??_C@_02FPIMKNGF@?$CK?$DN?$AA@ 100bcb04 LIBCMTD:undname.obj - 0003:00012b08 ??_C@_02NONPIBCD@?$HM?$HM?$AA@ 100bcb08 LIBCMTD:undname.obj - 0003:00012b0c ??_C@_02PPKAJPJL@?$CG?$CG?$AA@ 100bcb0c LIBCMTD:undname.obj - 0003:00012b10 ??_C@_01DNKMNLPK@?$HM?$AA@ 100bcb10 LIBCMTD:undname.obj - 0003:00012b14 ??_C@_01JKBOJNNK@?$FO?$AA@ 100bcb14 LIBCMTD:undname.obj - 0003:00012b18 ??_C@_01PJKLJHI@?$HO?$AA@ 100bcb18 LIBCMTD:undname.obj - 0003:00012b1c ??_C@_02HCKGKOFO@?$CI?$CJ?$AA@ 100bcb1c LIBCMTD:undname.obj - 0003:00012b20 ??_C@_01IHBHIGKO@?0?$AA@ 100bcb20 LIBCMTD:undname.obj - 0003:00012b24 ??_C@_02EEKDKGMJ@?$DO?$DN?$AA@ 100bcb24 LIBCMTD:undname.obj - 0003:00012b28 ??_C@_01PPODPGHN@?$DO?$AA@ 100bcb28 LIBCMTD:undname.obj - 0003:00012b2c ??_C@_02EHCHHCKH@?$DM?$DN?$AA@ 100bcb2c LIBCMTD:undname.obj - 0003:00012b30 ??_C@_01MNNFJEPP@?$DM?$AA@ 100bcb30 LIBCMTD:undname.obj - 0003:00012b34 ??_C@_01FGNFDNOH@?$CF?$AA@ 100bcb34 LIBCMTD:undname.obj - 0003:00012b38 ??_C@_01KMDKNFGN@?1?$AA@ 100bcb38 LIBCMTD:undname.obj - 0003:00012b3c ??_C@_03MNHNFDLC@?9?$DO?$CK?$AA@ 100bcb3c LIBCMTD:undname.obj - 0003:00012b40 ??_C@_01HNPIGOCE@?$CG?$AA@ 100bcb40 LIBCMTD:undname.obj - 0003:00012b44 ??_C@_01MIFGBAGJ@?$CL?$AA@ 100bcb44 LIBCMTD:undname.obj - 0003:00012b48 ??_C@_02BAABKJLB@?9?9?$AA@ 100bcb48 LIBCMTD:undname.obj - 0003:00012b4c ??_C@_02ECNGHCIF@?$CL?$CL?$AA@ 100bcb4c LIBCMTD:undname.obj - 0003:00012b50 ??_C@_01NBENCBCI@?$CK?$AA@ 100bcb50 LIBCMTD:undname.obj - 0003:00012b54 ??_C@_02HBOOOICD@?9?$DO?$AA@ 100bcb54 LIBCMTD:undname.obj - 0003:00012b58 ??_C@_08LHJFAFGD@operator?$AA@ 100bcb58 LIBCMTD:undname.obj - 0003:00012b64 ??_C@_02GPECMEKF@?$FL?$FN?$AA@ 100bcb64 LIBCMTD:undname.obj - 0003:00012b68 ??_C@_02FDNJECIE@?$CB?$DN?$AA@ 100bcb68 LIBCMTD:undname.obj - 0003:00012b6c ??_C@_02EGOFBIJA@?$DN?$DN?$AA@ 100bcb6c LIBCMTD:undname.obj - 0003:00012b70 ??_C@_01DCLJPIOD@?$CB?$AA@ 100bcb70 LIBCMTD:undname.obj - 0003:00012b74 ??_C@_02FODMEDOG@?$DM?$DM?$AA@ 100bcb74 LIBCMTD:undname.obj - 0003:00012b78 ??_C@_02GPIOPFAK@?$DO?$DO?$AA@ 100bcb78 LIBCMTD:undname.obj - 0003:00012b7c ??_C@_07FPCDHGMM@?5delete?$AA@ 100bcb7c LIBCMTD:undname.obj - 0003:00012b88 ??_C@_04NIHEBCM@?5new?$AA@ 100bcb88 LIBCMTD:undname.obj - 0003:00012b90 ??_C@_0M@GFIIJFMG@__unaligned?$AA@ 100bcb90 LIBCMTD:undname.obj - 0003:00012ba0 ??_C@_0L@PILCLIHE@__restrict?$AA@ 100bcba0 LIBCMTD:undname.obj - 0003:00012bb0 ??_C@_07JOMMBBKO@__ptr64?$AA@ 100bcbb0 LIBCMTD:undname.obj - 0003:00012bbc ??_C@_06GHPCKEAG@__eabi?$AA@ 100bcbbc LIBCMTD:undname.obj - 0003:00012bc4 ??_C@_09HIJEGCPM@__clrcall?$AA@ 100bcbc4 LIBCMTD:undname.obj - 0003:00012bd0 ??_C@_0L@JMKHOMEK@__fastcall?$AA@ 100bcbd0 LIBCMTD:undname.obj - 0003:00012be0 ??_C@_0L@NPHFGOKO@__thiscall?$AA@ 100bcbe0 LIBCMTD:undname.obj - 0003:00012bf0 ??_C@_09IFJBGAPI@__stdcall?$AA@ 100bcbf0 LIBCMTD:undname.obj - 0003:00012bfc ??_C@_08GHMPAG@__pascal?$AA@ 100bcbfc LIBCMTD:undname.obj - 0003:00012c08 ??_C@_07KOLFKCDI@__cdecl?$AA@ 100bcc08 LIBCMTD:undname.obj - 0003:00012c14 ??_C@_08EHJDFFNH@__based?$CI?$AA@ 100bcc14 LIBCMTD:undname.obj - 0003:00012df4 ??_C@_04HEJADOOB@CV?3?5?$AA@ 100bcdf4 LIBCMTD:undname.obj - 0003:00012dfc ??_C@_02MOLJINC@?3?3?$AA@ 100bcdfc LIBCMTD:undname.obj - 0003:00012e00 ??_C@_01GEODFPGF@?8?$AA@ 100bce00 LIBCMTD:undname.obj - 0003:00012e04 ??_C@_01NLNLIGKH@?$GA?$AA@ 100bce04 LIBCMTD:undname.obj - 0003:00012e08 ??_C@_0O@KHGCOMHP@generic?9type?9?$AA@ 100bce08 LIBCMTD:undname.obj - 0003:00012e18 ??_C@_0BE@JAEOCHPE@template?9parameter?9?$AA@ 100bce18 LIBCMTD:undname.obj - 0003:00012e30 ??_C@_02OHHJMEON@?8?8?$AA@ 100bce30 LIBCMTD:undname.obj - 0003:00012e34 ??_C@_0BG@JNJLAMPM@?$GAanonymous?5namespace?8?$AA@ 100bce34 LIBCMTD:undname.obj - 0003:00012e50 ??_C@_0BN@IBLMMFAP@?$GAnon?9type?9template?9parameter?$AA@ 100bce50 LIBCMTD:undname.obj - 0003:00012e74 ??_C@_0BE@EODMJLIF@?$GAtemplate?9parameter?$AA@ 100bce74 LIBCMTD:undname.obj - 0003:00012e8c ??_C@_04GKJNKENE@void?$AA@ 100bce8c LIBCMTD:undname.obj - 0003:00012e94 ??_C@_04HIBGFPH@NULL?$AA@ 100bce94 LIBCMTD:undname.obj - 0003:00012e9c ??_C@_0M@DHNBOJMP@extern?5?$CCC?$CC?5?$AA@ 100bce9c LIBCMTD:undname.obj - 0003:00012eac ??_C@_08KJLFOPNE@?$FLthunk?$FN?3?$AA@ 100bceac LIBCMTD:undname.obj - 0003:00012eb8 ??_C@_08GPDDCMKI@public?3?5?$AA@ 100bceb8 LIBCMTD:undname.obj - 0003:00012ec4 ??_C@_0M@GAIFPFIP@protected?3?5?$AA@ 100bcec4 LIBCMTD:undname.obj - 0003:00012ed4 ??_C@_09LAPHOOG@private?3?5?$AA@ 100bced4 LIBCMTD:undname.obj - 0003:00012ee0 ??_C@_08NIEOINHE@virtual?5?$AA@ 100bcee0 LIBCMTD:undname.obj - 0003:00012eec ??_C@_07PGOEDBHP@static?5?$AA@ 100bceec LIBCMTD:undname.obj - 0003:00012ef8 ??_C@_0DA@HGFJFBBE@?$GAtemplate?5static?5data?5member?5des@ 100bcef8 LIBCMTD:undname.obj - 0003:00012f34 ??_C@_0DB@ILEFOCIJ@?$GAtemplate?5static?5data?5member?5con@ 100bcf34 LIBCMTD:undname.obj - 0003:00012f70 ??_C@_0CB@KJDOOODE@?$GAlocal?5static?5destructor?5helper?8@ 100bcf70 LIBCMTD:undname.obj - 0003:00012f98 ??_C@_0L@HNGCOGAE@?$GAadjustor?$HL?$AA@ 100bcf98 LIBCMTD:undname.obj - 0003:00012fa8 ??_C@_0L@GHPFDFH@?$GAvtordisp?$HL?$AA@ 100bcfa8 LIBCMTD:undname.obj - 0003:00012fb8 ??_C@_0N@CBHHHENL@?$GAvtordispex?$HL?$AA@ 100bcfb8 LIBCMTD:undname.obj - 0003:00012fc8 ??_C@_01CLKCMJKC@?5?$AA@ 100bcfc8 LIBCMTD:undname.obj - 0003:00012fcc ??_C@_02IGFCGPIL@?$HN?8?$AA@ 100bcfcc LIBCMTD:undname.obj - 0003:00012fd0 ??_C@_03OPGICMGF@?$HN?8?5?$AA@ 100bcfd0 LIBCMTD:undname.obj - 0003:00012fd4 ??_C@_02KCKGHPCA@?$CJ?5?$AA@ 100bcfd4 LIBCMTD:undname.obj - 0003:00012fd8 ??_C@_05BEFAKPML@void?5?$AA@ 100bcfd8 LIBCMTD:undname.obj - 0003:00012fe0 ??_C@_0P@GCOCNKDM@std?3?3nullptr_t?$AA@ 100bcfe0 LIBCMTD:undname.obj - 0003:00012ff4 ??_C@_08PABEKFH@volatile?$AA@ 100bcff4 LIBCMTD:undname.obj - 0003:00013000 ??_C@_0M@ELJOJFFH@?0?$DMellipsis?$DO?$AA@ 100bd000 LIBCMTD:undname.obj - 0003:00013010 ??_C@_04EENFHACM@?0?4?4?4?$AA@ 100bd010 LIBCMTD:undname.obj - 0003:00013018 ??_C@_0L@EGPHHEKN@?$DMellipsis?$DO?$AA@ 100bd018 LIBCMTD:undname.obj - 0003:00013028 ??_C@_07HDJPLPEK@?5throw?$CI?$AA@ 100bd028 LIBCMTD:undname.obj - 0003:00013034 ??_C@_09EFNPDFFP@?5volatile?$AA@ 100bd034 LIBCMTD:undname.obj - 0003:00013040 ??_C@_05BNCCCJPP@const?$AA@ 100bd040 LIBCMTD:undname.obj - 0003:00013048 ??_C@_07EDHNAJHC@signed?5?$AA@ 100bd048 LIBCMTD:undname.obj - 0003:00013054 ??_C@_09EBBEKKIH@unsigned?5?$AA@ 100bd054 LIBCMTD:undname.obj - 0003:00013060 ??_C@_07NFANNNEC@UNKNOWN?$AA@ 100bd060 LIBCMTD:undname.obj - 0003:0001306c ??_C@_06GCICPBLB@__w64?5?$AA@ 100bd06c LIBCMTD:undname.obj - 0003:00013074 ??_C@_07CLGGIAMF@wchar_t?$AA@ 100bd074 LIBCMTD:undname.obj - 0003:00013080 ??_C@_09EEKGDCPH@?$DMunknown?$DO?$AA@ 100bd080 LIBCMTD:undname.obj - 0003:0001308c ??_C@_08GAHOLHEO@__int128?$AA@ 100bd08c LIBCMTD:undname.obj - 0003:00013098 ??_C@_07LFCOJCAC@__int64?$AA@ 100bd098 LIBCMTD:undname.obj - 0003:000130a4 ??_C@_07OFLPPHGP@__int32?$AA@ 100bd0a4 LIBCMTD:undname.obj - 0003:000130b0 ??_C@_07ICFHOGAF@__int16?$AA@ 100bd0b0 LIBCMTD:undname.obj - 0003:000130bc ??_C@_06EBGKOKIG@__int8?$AA@ 100bd0bc LIBCMTD:undname.obj - 0003:000130c4 ??_C@_04DDKJGDCM@bool?$AA@ 100bd0c4 LIBCMTD:undname.obj - 0003:000130cc ??_C@_06BNJCAIGJ@double?$AA@ 100bd0cc LIBCMTD:undname.obj - 0003:000130d4 ??_C@_05CJIMAING@long?5?$AA@ 100bd0d4 LIBCMTD:undname.obj - 0003:000130dc ??_C@_05KNFBNCOH@float?$AA@ 100bd0dc LIBCMTD:undname.obj - 0003:000130e4 ??_C@_04GOKPGOLB@long?$AA@ 100bd0e4 LIBCMTD:undname.obj - 0003:000130ec ??_C@_03JBIPMCLC@int?$AA@ 100bd0ec LIBCMTD:undname.obj - 0003:000130f0 ??_C@_05BFKKPKCG@short?$AA@ 100bd0f0 LIBCMTD:undname.obj - 0003:000130f8 ??_C@_04ENMBGAPA@char?$AA@ 100bd0f8 LIBCMTD:undname.obj - 0003:00013100 ??_C@_05LJGMCFOG@enum?5?$AA@ 100bd100 LIBCMTD:undname.obj - 0003:00013108 ??_C@_0N@DLIEFKNA@cointerface?5?$AA@ 100bd108 LIBCMTD:undname.obj - 0003:00013118 ??_C@_08KOFANOFK@coclass?5?$AA@ 100bd118 LIBCMTD:undname.obj - 0003:00013124 ??_C@_06LJBABKPM@class?5?$AA@ 100bd124 LIBCMTD:undname.obj - 0003:0001312c ??_C@_07DIBCDNGL@struct?5?$AA@ 100bd12c LIBCMTD:undname.obj - 0003:00013138 ??_C@_06MOJHIBMG@union?5?$AA@ 100bd138 LIBCMTD:undname.obj - 0003:00013140 ??_C@_0P@GCIFDJCJ@?$GAunknown?5ecsu?8?$AA@ 100bd140 LIBCMTD:undname.obj - 0003:00013154 ??_C@_04LAHKHJMA@int?5?$AA@ 100bd154 LIBCMTD:undname.obj - 0003:0001315c ??_C@_06EHJMALKF@short?5?$AA@ 100bd15c LIBCMTD:undname.obj - 0003:00013164 ??_C@_05CIHEBHNO@char?5?$AA@ 100bd164 LIBCMTD:undname.obj - 0003:0001316c ??_C@_06LIJLOJAG@const?5?$AA@ 100bd16c LIBCMTD:undname.obj - 0003:00013174 ??_C@_09GAIEOBLP@volatile?5?$AA@ 100bd174 LIBCMTD:undname.obj - 0003:00013180 ??_C@_0O@GKABPPIF@cli?3?3pin_ptr?$DM?$AA@ 100bd180 LIBCMTD:undname.obj - 0003:00013190 ??_C@_0M@EALIELKG@cli?3?3array?$DM?$AA@ 100bd190 LIBCMTD:undname.obj - 0003:000131a0 ??_C@_02GOGNNPBN@?$CJ?$FL?$AA@ 100bd1a0 LIBCMTD:undname.obj - 0003:000131a4 ??_C@_06EEGAIFAK@?$HLflat?$HN?$AA@ 100bd1a4 LIBCMTD:undname.obj - 0003:000131ac ??_C@_02MDINNEEG@s?5?$AA@ 100bd1ac LIBCMTD:undname.obj - 0003:000131b0 ??_C@_05JIBOFOHK@?$HLfor?5?$AA@ 100bd1b0 LIBCMTD:undname.obj - 0003:000131b8 ??_7DNameNode@@6B@ 100bd1b8 LIBCMTD:undname.obj - 0003:000131c8 ??_7charNode@@6B@ 100bd1c8 LIBCMTD:undname.obj - 0003:000131d8 ??_7pcharNode@@6B@ 100bd1d8 LIBCMTD:undname.obj - 0003:000131e8 ??_7pDNameNode@@6B@ 100bd1e8 LIBCMTD:undname.obj - 0003:000131f8 ??_7DNameStatusNode@@6B@ 100bd1f8 LIBCMTD:undname.obj - 0003:00013208 ??_C@_04OKOHEJBO@?5?$DP?$DP?5?$AA@ 100bd208 LIBCMTD:undname.obj - 0003:00013210 ??_7pairNode@@6B@ 100bd210 LIBCMTD:undname.obj - 0003:000137c0 ??_R4bad_exception@std@@6B@ 100bd7c0 LIBCMTD:frame.obj - 0003:000137d8 ??_R3bad_exception@std@@8 100bd7d8 LIBCMTD:frame.obj - 0003:000137ec ??_R2bad_exception@std@@8 100bd7ec LIBCMTD:frame.obj - 0003:000137f8 ??_R1A@?0A@EA@bad_exception@std@@8 100bd7f8 LIBCMTD:frame.obj - 0003:0001381c ??_R1A@?0A@EA@exception@std@@8 100bd81c LIBCMTD:frame.obj - 0003:00013840 ??_R3exception@std@@8 100bd840 LIBCMTD:frame.obj - 0003:00013854 ??_R2exception@std@@8 100bd854 LIBCMTD:frame.obj - 0003:0001385c ??_R4type_info@@6B@ 100bd85c LIBCMTD:typinfo.obj - 0003:00013874 ??_R3type_info@@8 100bd874 LIBCMTD:typinfo.obj - 0003:00013888 ??_R2type_info@@8 100bd888 LIBCMTD:typinfo.obj - 0003:00013890 ??_R1A@?0A@EA@type_info@@8 100bd890 LIBCMTD:typinfo.obj - 0003:000138b4 ??_R4exception@std@@6B@ 100bd8b4 LIBCMTD:stdexcpt.obj - 0003:000138cc ??_R4bad_cast@std@@6B@ 100bd8cc LIBCMTD:stdexcpt.obj - 0003:000138e4 ??_R3bad_cast@std@@8 100bd8e4 LIBCMTD:stdexcpt.obj - 0003:000138f8 ??_R2bad_cast@std@@8 100bd8f8 LIBCMTD:stdexcpt.obj - 0003:00013904 ??_R1A@?0A@EA@bad_cast@std@@8 100bd904 LIBCMTD:stdexcpt.obj - 0003:00013928 ??_R4bad_typeid@std@@6B@ 100bd928 LIBCMTD:stdexcpt.obj - 0003:00013940 ??_R3bad_typeid@std@@8 100bd940 LIBCMTD:stdexcpt.obj - 0003:00013954 ??_R2bad_typeid@std@@8 100bd954 LIBCMTD:stdexcpt.obj - 0003:00013960 ??_R1A@?0A@EA@bad_typeid@std@@8 100bd960 LIBCMTD:stdexcpt.obj - 0003:00013984 ??_R4__non_rtti_object@std@@6B@ 100bd984 LIBCMTD:stdexcpt.obj - 0003:0001399c ??_R3__non_rtti_object@std@@8 100bd99c LIBCMTD:stdexcpt.obj - 0003:000139b0 ??_R2__non_rtti_object@std@@8 100bd9b0 LIBCMTD:stdexcpt.obj - 0003:000139c0 ??_R1A@?0A@EA@__non_rtti_object@std@@8 100bd9c0 LIBCMTD:stdexcpt.obj - 0003:00013af0 ___rtc_iaa 100bdaf0 LIBCMTD:_initsect_.obj - 0003:00013bf4 ___rtc_izz 100bdbf4 LIBCMTD:_initsect_.obj - 0003:00013cf8 ___rtc_taa 100bdcf8 LIBCMTD:_initsect_.obj - 0003:00013dfc ___rtc_tzz 100bddfc LIBCMTD:_initsect_.obj - 0003:00014850 __TI2?AVbad_exception@std@@ 100be850 LIBCMTD:frame.obj - 0003:00014864 __CTA2?AVbad_exception@std@@ 100be864 LIBCMTD:frame.obj - 0003:00014874 __CT??_R0?AVbad_exception@std@@@8??0bad_exception@std@@QAE@ABV01@@Z12 100be874 LIBCMTD:frame.obj - 0003:00014894 __CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12 100be894 LIBCMTD:frame.obj - 0004:00000210 ___badioinfo 100c0210 LIBCMTD:ioinit.obj - 0004:00000260 ___security_cookie 100c0260 LIBCMTD:gs_cookie.obj - 0004:00000264 ___security_cookie_complement 100c0264 LIBCMTD:gs_cookie.obj - 0004:00000268 __crtDbgFlag 100c0268 LIBCMTD:dbgheap.obj - 0004:0000026c ___crtDebugFillThreshold 100c026c LIBCMTD:dbgheap.obj - 0004:00000274 __crtBreakAlloc 100c0274 LIBCMTD:dbgheap.obj - 0004:00000280 ___nullstring 100c0280 LIBCMTD:output.obj - 0004:00000284 ___wnullstring 100c0284 LIBCMTD:output.obj - 0004:0000028c ___flsindex 100c028c LIBCMTD:tidtable.obj - 0004:00000290 ___getvalueindex 100c0290 LIBCMTD:tidtable.obj - 0004:00000298 __sys_errlist 100c0298 LIBCMTD:syserr.obj - 0004:00000348 __sys_nerr 100c0348 LIBCMTD:syserr.obj - 0004:00000370 __iob 100c0370 LIBCMTD:_file.obj - 0004:00000670 __lookuptrailbytes 100c0670 LIBCMTD:read.obj - 0004:00000904 __pfnAllocHook 100c0904 LIBCMTD:dbghook.obj - 0004:00000908 __crtAssertBusy 100c0908 LIBCMTD:dbgrptt.obj - 0004:0000090c __CrtDbgMode 100c090c LIBCMTD:dbgrptt.obj - 0004:00000918 __CrtDbgFile 100c0918 LIBCMTD:dbgrptt.obj - 0004:00000930 ___initialmbcinfo 100c0930 LIBCMTD:mbctype.obj - 0004:00000b50 __mbctype 100c0b50 LIBCMTD:mbctype.obj - 0004:00000c58 __mbcasemap 100c0c58 LIBCMTD:mbctype.obj - 0004:00000d58 ___ptmbcinfo 100c0d58 LIBCMTD:mbctype.obj - 0004:00000f58 ___globallocalestatus 100c0f58 LIBCMTD:glstatus.obj - 0004:00000f5c ___clocalestr 100c0f5c LIBCMTD:nlsdata2.obj - 0004:00000f60 ___lc_time_c 100c0f60 LIBCMTD:nlsdata2.obj - 0004:00001110 ___initiallocinfo 100c1110 LIBCMTD:nlsdata2.obj - 0004:00001214 ___ptlocinfo 100c1214 LIBCMTD:nlsdata2.obj - 0004:00001218 ___initiallocalestructinfo 100c1218 LIBCMTD:nlsdata2.obj - 0004:00001224 __cfltcvt_tab 100c1224 LIBCMTD:cmiscdat.obj - 0004:00001260 __NLG_Destination 100c1260 LIBCMTD:exsup.obj - 0004:00001278 ___lconv_static_decimal 100c1278 LIBCMTD:lconv.obj - 0004:0000127c ___lconv_static_W_decimal 100c127c LIBCMTD:lconv.obj - 0004:00001280 ___lconv_c 100c1280 LIBCMTD:lconv.obj - 0004:000012d0 ___lconv 100c12d0 LIBCMTD:lconv.obj - 0004:000012e8 __pctype 100c12e8 LIBCMTD:ctype.obj - 0004:000012ec __pwctype 100c12ec LIBCMTD:ctype.obj - 0004:000012f8 __confh 100c12f8 LIBCMTD:initcon.obj - 0004:000012fc ___abort_behavior 100c12fc LIBCMTD:abort.obj - 0004:00001300 ??_R0?AVbad_exception@std@@@8 100c1300 LIBCMTD:frame.obj - 0004:00001328 ??_R0?AVexception@std@@@8 100c1328 LIBCMTD:frame.obj - 0004:00001350 ___mb_cur_max 100c1350 LIBCMTD:nlsdata1.obj - 0004:00001354 ___decimal_point 100c1354 LIBCMTD:nlsdata1.obj - 0004:00001358 ___decimal_point_length 100c1358 LIBCMTD:nlsdata1.obj - 0004:00001360 ??_R0?AVtype_info@@@8 100c1360 LIBCMTD:typinfo.obj - 0004:0000137c ??_R0?AVbad_cast@std@@@8 100c137c LIBCMTD:stdexcpt.obj - 0004:0000139c ??_R0?AVbad_typeid@std@@@8 100c139c LIBCMTD:stdexcpt.obj - 0004:000013c0 ??_R0?AV__non_rtti_object@std@@@8 100c13c0 LIBCMTD:stdexcpt.obj - 0004:00001528 __aenvptr 100c1528 LIBCMTD:dllcrt0.obj - 0004:0000152c __wenvptr 100c152c LIBCMTD:dllcrt0.obj - 0004:00001530 ___error_mode 100c1530 LIBCMTD:dllcrt0.obj - 0004:00001534 ___app_type 100c1534 LIBCMTD:dllcrt0.obj - 0004:0000153c ___pInvalidArgHandler 100c153c LIBCMTD:invarg.obj - 0004:00001554 ?_pfnDumpClient@@3P6AXPAXI@ZA 100c1554 LIBCMTD:dbgheap.obj - 0004:0000155c ___crtDebugCheckCount 100c155c LIBCMTD:dbgheap.obj - 0004:0000156c __newmode 100c156c LIBCMTD:_newmode.obj - 0004:00001570 _gpFlsAlloc 100c1570 LIBCMTD:tidtable.obj - 0004:00001574 _gpFlsGetValue 100c1574 LIBCMTD:tidtable.obj - 0004:00001578 _gpFlsSetValue 100c1578 LIBCMTD:tidtable.obj - 0004:0000157c _gpFlsFree 100c157c LIBCMTD:tidtable.obj - 0004:00001584 __cflush 100c1584 LIBCMTD:_file.obj - 0004:00001588 __umaskval 100c1588 LIBCMTD:crt0dat.obj - 0004:0000158c ___argc 100c158c LIBCMTD:crt0dat.obj - 0004:00001590 ___argv 100c1590 LIBCMTD:crt0dat.obj - 0004:00001594 ___wargv 100c1594 LIBCMTD:crt0dat.obj - 0004:00001598 __environ 100c1598 LIBCMTD:crt0dat.obj - 0004:0000159c ___initenv 100c159c LIBCMTD:crt0dat.obj - 0004:000015a0 __wenviron 100c15a0 LIBCMTD:crt0dat.obj - 0004:000015a4 ___winitenv 100c15a4 LIBCMTD:crt0dat.obj - 0004:000015a8 __pgmptr 100c15a8 LIBCMTD:crt0dat.obj - 0004:000015ac __wpgmptr 100c15ac LIBCMTD:crt0dat.obj - 0004:000015b0 __exitflag 100c15b0 LIBCMTD:crt0dat.obj - 0004:000015b4 __C_Termination_Done 100c15b4 LIBCMTD:crt0dat.obj - 0004:000015b8 __C_Exit_Done 100c15b8 LIBCMTD:crt0dat.obj - 0004:0000170c __crtheap 100c170c LIBCMTD:heapinit.obj - 0004:000018f0 ?_pnhHeap@@3P6AHI@ZA 100c18f0 LIBCMTD:handler.obj - 0004:000018f8 ___mbulinfo 100c18f8 LIBCMTD:mbctype.obj - 0004:00001904 ___mbcodepage 100c1904 LIBCMTD:mbctype.obj - 0004:00001908 ___ismbcodepage 100c1908 LIBCMTD:mbctype.obj - 0004:0000190c ___mblcid 100c190c LIBCMTD:mbctype.obj - 0004:0000191c __commode 100c191c LIBCMTD:ncommode.obj - 0004:0000244c ?__pInconsistency@@3P6AXXZA 100c244c LIBCMTD:hooks.obj - 0004:00002454 ___pPurecall 100c2454 LIBCMTD:inithelp.obj - 0004:00002470 ___lconv_static_null 100c2470 LIBCMTD:lconv.obj - 0004:00002474 ___lconv_static_W_null 100c2474 LIBCMTD:lconv.obj - 0004:00002478 ___locale_changed 100c2478 LIBCMTD:setlocal.obj - 0004:0000247c __stdbuf 100c247c LIBCMTD:_sftbuf.obj - 0004:00002488 __fmode 100c2488 LIBCMTD:txtmode.obj - 0004:000024ac ?pArgList@UnDecorator@@0PAVReplicator@@A 100c24ac LIBCMTD:undname.obj - 0004:000024b0 ?pZNameList@UnDecorator@@0PAVReplicator@@A 100c24b0 LIBCMTD:undname.obj - 0004:000024b4 ?pTemplateArgList@UnDecorator@@0PAVReplicator@@A 100c24b4 LIBCMTD:undname.obj - 0004:000024b8 ?gName@UnDecorator@@0PBDB 100c24b8 LIBCMTD:undname.obj - 0004:000024bc ?name@UnDecorator@@0PBDB 100c24bc LIBCMTD:undname.obj - 0004:000024c0 ?outputString@UnDecorator@@0PADA 100c24c0 LIBCMTD:undname.obj - 0004:000024c4 ?maxStringLength@UnDecorator@@0HA 100c24c4 LIBCMTD:undname.obj - 0004:000024c8 ?disableFlags@UnDecorator@@0KA 100c24c8 LIBCMTD:undname.obj - 0004:000024cc ?m_pGetParameter@UnDecorator@@0P6APADJ@ZA 100c24cc LIBCMTD:undname.obj - 0004:000024d0 ?fExplicitTemplateParams@UnDecorator@@0_NA 100c24d0 LIBCMTD:undname.obj - 0004:000024d1 ?fGetTemplateArgumentList@UnDecorator@@0_NA 100c24d1 LIBCMTD:undname.obj - 0004:00002540 ?nodes@?1??make@DNameStatusNode@@SAPAV2@W4DNameStatus@@@Z@4PAV2@A 100c2540 LIBCMTD:undname.obj - 0004:0000257c ??_B?1??make@DNameStatusNode@@SAPAV1@W4DNameStatus@@@Z@51 100c257c LIBCMTD:undname.obj - 0004:00002580 ___setlc_active 100c2580 - 0004:00002590 ___unguarded_readlc_active 100c2590 - 0004:00002594 __pfnReportHook 100c2594 - 0004:000025a4 __pReportHookListW 100c25a4 - 0004:000025a8 __pReportHookList 100c25a8 - 0004:000025ac __debugger_hook_dummy 100c25ac - 0004:000025b8 ___env_initialized 100c25b8 - 0004:000025c8 ___onexitend 100c25c8 - 0004:000025cc ___onexitbegin 100c25cc - 0004:000025d0 ___mbctype_initialized 100c25d0 - 0004:000025d4 __FPinit 100c25d4 - 0004:000025d8 ___dyn_tls_init_callback 100c25d8 - 0004:000025dc ___piob 100c25dc - 0004:00002920 __bufin 100c2920 - 0004:00003920 __nstream 100c3920 - 0004:00003924 __nhandle 100c3924 - 0004:00003980 ___pioinfo 100c3980 - 0004:00003a80 ___sse2_available 100c3a80 - 0004:00003a8c __acmdln 100c3a8c - 0005:00000000 __IMPORT_DESCRIPTOR_KERNEL32 100c4000 kernel32:KERNEL32.dll - 0005:00000014 __NULL_IMPORT_DESCRIPTOR 100c4014 kernel32:KERNEL32.dll - 0005:000001dc __imp__CreateFileA@28 100c41dc kernel32:KERNEL32.dll - 0005:000001e0 __imp__CloseHandle@4 100c41e0 kernel32:KERNEL32.dll - 0005:000001e4 __imp__CreateFileW@28 100c41e4 kernel32:KERNEL32.dll - 0005:000001e8 __imp__GetLastError@0 100c41e8 kernel32:KERNEL32.dll - 0005:000001ec __imp__ReadFile@20 100c41ec kernel32:KERNEL32.dll - 0005:000001f0 __imp__WriteFile@20 100c41f0 kernel32:KERNEL32.dll - 0005:000001f4 __imp__SetFilePointer@16 100c41f4 kernel32:KERNEL32.dll - 0005:000001f8 __imp__GetSystemTimeAsFileTime@4 100c41f8 kernel32:KERNEL32.dll - 0005:000001fc __imp__GetCurrentThreadId@0 100c41fc kernel32:KERNEL32.dll - 0005:00000200 __imp__DecodePointer@4 100c4200 kernel32:KERNEL32.dll - 0005:00000204 __imp__GetCommandLineA@0 100c4204 kernel32:KERNEL32.dll - 0005:00000208 __imp__IsProcessorFeaturePresent@4 100c4208 kernel32:KERNEL32.dll - 0005:0000020c __imp__LeaveCriticalSection@4 100c420c kernel32:KERNEL32.dll - 0005:00000210 __imp__EnterCriticalSection@4 100c4210 kernel32:KERNEL32.dll - 0005:00000214 __imp__InitializeCriticalSectionAndSpinCount@8 100c4214 kernel32:KERNEL32.dll - 0005:00000218 __imp__SetStdHandle@8 100c4218 kernel32:KERNEL32.dll - 0005:0000021c __imp__GetFileType@4 100c421c kernel32:KERNEL32.dll - 0005:00000220 __imp__SetHandleCount@4 100c4220 kernel32:KERNEL32.dll - 0005:00000224 __imp__GetStdHandle@4 100c4224 kernel32:KERNEL32.dll - 0005:00000228 __imp__GetStartupInfoW@4 100c4228 kernel32:KERNEL32.dll - 0005:0000022c __imp__DeleteCriticalSection@4 100c422c kernel32:KERNEL32.dll - 0005:00000230 __imp__TerminateProcess@8 100c4230 kernel32:KERNEL32.dll - 0005:00000234 __imp__GetCurrentProcess@0 100c4234 kernel32:KERNEL32.dll - 0005:00000238 __imp__UnhandledExceptionFilter@4 100c4238 kernel32:KERNEL32.dll - 0005:0000023c __imp__SetUnhandledExceptionFilter@4 100c423c kernel32:KERNEL32.dll - 0005:00000240 __imp__IsDebuggerPresent@0 100c4240 kernel32:KERNEL32.dll - 0005:00000244 __imp__EncodePointer@4 100c4244 kernel32:KERNEL32.dll - 0005:00000248 __imp__GetModuleFileNameW@12 100c4248 kernel32:KERNEL32.dll - 0005:0000024c __imp__HeapValidate@12 100c424c kernel32:KERNEL32.dll - 0005:00000250 __imp__IsBadReadPtr@8 100c4250 kernel32:KERNEL32.dll - 0005:00000254 __imp__TlsAlloc@0 100c4254 kernel32:KERNEL32.dll - 0005:00000258 __imp__TlsGetValue@4 100c4258 kernel32:KERNEL32.dll - 0005:0000025c __imp__TlsSetValue@8 100c425c kernel32:KERNEL32.dll - 0005:00000260 __imp__TlsFree@4 100c4260 kernel32:KERNEL32.dll - 0005:00000264 __imp__GetProcAddress@8 100c4264 kernel32:KERNEL32.dll - 0005:00000268 __imp__GetModuleHandleW@4 100c4268 kernel32:KERNEL32.dll - 0005:0000026c __imp__InterlockedIncrement@4 100c426c kernel32:KERNEL32.dll - 0005:00000270 __imp__SetLastError@4 100c4270 kernel32:KERNEL32.dll - 0005:00000274 __imp__InterlockedDecrement@4 100c4274 kernel32:KERNEL32.dll - 0005:00000278 __imp__GetCurrentThread@0 100c4278 kernel32:KERNEL32.dll - 0005:0000027c __imp__RtlUnwind@16 100c427c kernel32:KERNEL32.dll - 0005:00000280 __imp__MultiByteToWideChar@24 100c4280 kernel32:KERNEL32.dll - 0005:00000284 __imp__WideCharToMultiByte@32 100c4284 kernel32:KERNEL32.dll - 0005:00000288 __imp__GetConsoleCP@0 100c4288 kernel32:KERNEL32.dll - 0005:0000028c __imp__GetConsoleMode@8 100c428c kernel32:KERNEL32.dll - 0005:00000290 __imp__ExitProcess@4 100c4290 kernel32:KERNEL32.dll - 0005:00000294 __imp__GetModuleFileNameA@12 100c4294 kernel32:KERNEL32.dll - 0005:00000298 __imp__FreeEnvironmentStringsW@4 100c4298 kernel32:KERNEL32.dll - 0005:0000029c __imp__GetEnvironmentStringsW@0 100c429c kernel32:KERNEL32.dll - 0005:000002a0 __imp__HeapCreate@12 100c42a0 kernel32:KERNEL32.dll - 0005:000002a4 __imp__HeapDestroy@4 100c42a4 kernel32:KERNEL32.dll - 0005:000002a8 __imp__QueryPerformanceCounter@4 100c42a8 kernel32:KERNEL32.dll - 0005:000002ac __imp__GetTickCount@0 100c42ac kernel32:KERNEL32.dll - 0005:000002b0 __imp__GetCurrentProcessId@0 100c42b0 kernel32:KERNEL32.dll - 0005:000002b4 __imp__FatalAppExitA@8 100c42b4 kernel32:KERNEL32.dll - 0005:000002b8 __imp__OutputDebugStringA@4 100c42b8 kernel32:KERNEL32.dll - 0005:000002bc __imp__WriteConsoleW@20 100c42bc kernel32:KERNEL32.dll - 0005:000002c0 __imp__OutputDebugStringW@4 100c42c0 kernel32:KERNEL32.dll - 0005:000002c4 __imp__SetConsoleCtrlHandler@8 100c42c4 kernel32:KERNEL32.dll - 0005:000002c8 __imp__LoadLibraryW@4 100c42c8 kernel32:KERNEL32.dll - 0005:000002cc __imp__HeapAlloc@12 100c42cc kernel32:KERNEL32.dll - 0005:000002d0 __imp__HeapReAlloc@16 100c42d0 kernel32:KERNEL32.dll - 0005:000002d4 __imp__HeapSize@12 100c42d4 kernel32:KERNEL32.dll - 0005:000002d8 __imp__HeapQueryInformation@20 100c42d8 kernel32:KERNEL32.dll - 0005:000002dc __imp__HeapFree@12 100c42dc kernel32:KERNEL32.dll - 0005:000002e0 __imp__GetACP@0 100c42e0 kernel32:KERNEL32.dll - 0005:000002e4 __imp__GetOEMCP@0 100c42e4 kernel32:KERNEL32.dll - 0005:000002e8 __imp__GetCPInfo@8 100c42e8 kernel32:KERNEL32.dll - 0005:000002ec __imp__IsValidCodePage@4 100c42ec kernel32:KERNEL32.dll - 0005:000002f0 __imp__FlushFileBuffers@4 100c42f0 kernel32:KERNEL32.dll - 0005:000002f4 __imp__FreeLibrary@4 100c42f4 kernel32:KERNEL32.dll - 0005:000002f8 __imp__InterlockedExchange@8 100c42f8 kernel32:KERNEL32.dll - 0005:000002fc __imp__GetLocaleInfoW@16 100c42fc kernel32:KERNEL32.dll - 0005:00000300 __imp__LCMapStringW@24 100c4300 kernel32:KERNEL32.dll - 0005:00000304 __imp__GetStringTypeW@16 100c4304 kernel32:KERNEL32.dll - 0005:00000308 __imp__SetEndOfFile@4 100c4308 kernel32:KERNEL32.dll - 0005:0000030c __imp__GetProcessHeap@0 100c430c kernel32:KERNEL32.dll - 0005:00000310 __imp__GetLocaleInfoA@16 100c4310 kernel32:KERNEL32.dll - 0005:00000314 __imp__IsValidLocale@8 100c4314 kernel32:KERNEL32.dll - 0005:00000318 __imp__EnumSystemLocalesA@8 100c4318 kernel32:KERNEL32.dll - 0005:0000031c __imp__GetUserDefaultLCID@0 100c431c kernel32:KERNEL32.dll - 0005:00000320 __imp__RaiseException@16 100c4320 kernel32:KERNEL32.dll - 0005:00000324 \177KERNEL32_NULL_THUNK_DATA 100c4324 kernel32:KERNEL32.dll - - entry point at 0002:00000b54 - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/zlibwapi.pdb b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/zlibwapi.pdb deleted file mode 100644 index 0446ee0d..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllDebug/zlibwapi.pdb and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/CL.read.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/CL.read.1.tlog deleted file mode 100644 index b825e433..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/CL.read.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/CL.write.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/CL.write.1.tlog deleted file mode 100644 index 4da07577..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/CL.write.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/adler32.cod b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/adler32.cod deleted file mode 100644 index d949d12e..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/adler32.cod +++ /dev/null @@ -1,615 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.30319.01 - - TITLE D:\FMU\FMUSolution\zlib-1.2.6\adler32.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -EXTRN __alldiv:PROC -; Function compile flags: /Ogtp -; File d:\fmu\fmusolution\zlib-1.2.6\adler32.c -; COMDAT _adler32_combine_ -_TEXT SEGMENT -_len2$ = 8 ; size = 8 -_sum1$ = 12 ; size = 4 -_adler32_combine_ PROC ; COMDAT -; _adler1$ = ecx -; _adler2$ = eax - -; 140 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - 00004 56 push esi - 00005 8b d8 mov ebx, eax - -; 141 : unsigned long sum1; -; 142 : unsigned long sum2; -; 143 : unsigned rem; -; 144 : -; 145 : /* for negative len, return invalid adler32 as a clue for debugging */ -; 146 : if (len2 < 0) - - 00007 8b 45 0c mov eax, DWORD PTR _len2$[ebp+4] - 0000a 57 push edi - 0000b 8b 7d 08 mov edi, DWORD PTR _len2$[ebp] - 0000e 8b f1 mov esi, ecx - 00010 85 c0 test eax, eax - 00012 7f 0e jg SHORT $LN5@adler32_co - 00014 7c 04 jl SHORT $LN8@adler32_co - 00016 85 ff test edi, edi - 00018 73 08 jae SHORT $LN5@adler32_co -$LN8@adler32_co: - 0001a 5f pop edi - 0001b 5e pop esi - -; 147 : return 0xffffffffUL; - - 0001c 83 c8 ff or eax, -1 - 0001f 5b pop ebx - -; 162 : } - - 00020 5d pop ebp - 00021 c3 ret 0 -$LN5@adler32_co: - -; 148 : -; 149 : /* the derivation of this formula is left as an exercise for the reader */ -; 150 : MOD63(len2); /* assumes len2 >= 0 */ - - 00022 6a 00 push 0 - 00024 68 f1 ff 00 00 push 65521 ; 0000fff1H - 00029 50 push eax - 0002a 57 push edi - 0002b e8 00 00 00 00 call __alldiv - 00030 69 c0 f1 ff 00 - 00 imul eax, 65521 ; 0000fff1H - 00036 2b f8 sub edi, eax - -; 151 : rem = (unsigned)len2; -; 152 : sum1 = adler1 & 0xffff; - - 00038 0f b7 c6 movzx eax, si - -; 153 : sum2 = rem * sum1; - - 0003b 8b c8 mov ecx, eax - 0003d 0f af cf imul ecx, edi - -; 154 : MOD(sum2); -; 155 : sum1 += (adler2 & 0xffff) + BASE - 1; - - 00040 0f b7 d3 movzx edx, bx - 00043 8d 84 10 f0 ff - 00 00 lea eax, DWORD PTR [eax+edx+65520] - 0004a 89 45 0c mov DWORD PTR _sum1$[ebp], eax - 0004d b8 71 80 07 80 mov eax, -2146992015 ; 80078071H - 00052 f7 e1 mul ecx - 00054 c1 ea 0f shr edx, 15 ; 0000000fH - -; 156 : sum2 += ((adler1 >> 16) & 0xffff) + ((adler2 >> 16) & 0xffff) + BASE - rem; - - 00057 69 d2 f1 ff 00 - 00 imul edx, 65521 ; 0000fff1H - 0005d c1 ee 10 shr esi, 16 ; 00000010H - 00060 2b f2 sub esi, edx - -; 157 : if (sum1 >= BASE) sum1 -= BASE; - - 00062 8b 55 0c mov edx, DWORD PTR _sum1$[ebp] - 00065 c1 eb 10 shr ebx, 16 ; 00000010H - 00068 03 f3 add esi, ebx - 0006a 2b f7 sub esi, edi - 0006c 8d 8c 31 f1 ff - 00 00 lea ecx, DWORD PTR [ecx+esi+65521] - 00073 81 fa f1 ff 00 - 00 cmp edx, 65521 ; 0000fff1H - 00079 72 14 jb SHORT $LN3@adler32_co - 0007b 81 ea f1 ff 00 - 00 sub edx, 65521 ; 0000fff1H - -; 158 : if (sum1 >= BASE) sum1 -= BASE; - - 00081 81 fa f1 ff 00 - 00 cmp edx, 65521 ; 0000fff1H - 00087 72 06 jb SHORT $LN3@adler32_co - 00089 81 ea f1 ff 00 - 00 sub edx, 65521 ; 0000fff1H -$LN3@adler32_co: - -; 159 : if (sum2 >= (BASE << 1)) sum2 -= (BASE << 1); - - 0008f 81 f9 e2 ff 01 - 00 cmp ecx, 131042 ; 0001ffe2H - 00095 72 06 jb SHORT $LN2@adler32_co - 00097 81 e9 e2 ff 01 - 00 sub ecx, 131042 ; 0001ffe2H -$LN2@adler32_co: - -; 160 : if (sum2 >= BASE) sum2 -= BASE; - - 0009d 81 f9 f1 ff 00 - 00 cmp ecx, 65521 ; 0000fff1H - 000a3 72 06 jb SHORT $LN1@adler32_co - 000a5 81 e9 f1 ff 00 - 00 sub ecx, 65521 ; 0000fff1H -$LN1@adler32_co: - 000ab 5f pop edi - -; 161 : return sum1 | (sum2 << 16); - - 000ac 8b c1 mov eax, ecx - 000ae c1 e0 10 shl eax, 16 ; 00000010H - 000b1 5e pop esi - 000b2 0b c2 or eax, edx - 000b4 5b pop ebx - -; 162 : } - - 000b5 5d pop ebp - 000b6 c3 ret 0 -_adler32_combine_ ENDP -_TEXT ENDS -PUBLIC _adler32@12 -; Function compile flags: /Ogtp -; COMDAT _adler32@12 -_TEXT SEGMENT -_adler$ = 8 ; size = 4 -tv884 = 12 ; size = 4 -_buf$ = 12 ; size = 4 -_len$ = 16 ; size = 4 -_adler32@12 PROC ; COMDAT - -; 69 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 70 : unsigned long sum2; -; 71 : unsigned n; -; 72 : -; 73 : /* split Adler-32 into component sums */ -; 74 : sum2 = (adler >> 16) & 0xffff; - - 00003 8b 4d 08 mov ecx, DWORD PTR _adler$[ebp] - 00006 53 push ebx - -; 75 : adler &= 0xffff; -; 76 : -; 77 : /* in case user likes doing a byte at a time, keep it fast */ -; 78 : if (len == 1) { - - 00007 8b 5d 10 mov ebx, DWORD PTR _len$[ebp] - 0000a 57 push edi - 0000b 8b f9 mov edi, ecx - 0000d c1 ef 10 shr edi, 16 ; 00000010H - 00010 81 e1 ff ff 00 - 00 and ecx, 65535 ; 0000ffffH - 00016 83 fb 01 cmp ebx, 1 - 00019 75 33 jne SHORT $LN18@adler32 - -; 79 : adler += buf[0]; - - 0001b 8b 45 0c mov eax, DWORD PTR _buf$[ebp] - 0001e 0f b6 10 movzx edx, BYTE PTR [eax] - 00021 03 ca add ecx, edx - -; 80 : if (adler >= BASE) - - 00023 81 f9 f1 ff 00 - 00 cmp ecx, 65521 ; 0000fff1H - 00029 72 06 jb SHORT $LN17@adler32 - -; 81 : adler -= BASE; - - 0002b 81 e9 f1 ff 00 - 00 sub ecx, 65521 ; 0000fff1H -$LN17@adler32: - -; 82 : sum2 += adler; - - 00031 03 f9 add edi, ecx - -; 83 : if (sum2 >= BASE) - - 00033 81 ff f1 ff 00 - 00 cmp edi, 65521 ; 0000fff1H - 00039 72 06 jb SHORT $LN16@adler32 - -; 84 : sum2 -= BASE; - - 0003b 81 ef f1 ff 00 - 00 sub edi, 65521 ; 0000fff1H -$LN16@adler32: - -; 85 : return adler | (sum2 << 16); - - 00041 8b c7 mov eax, edi - 00043 c1 e0 10 shl eax, 16 ; 00000010H - 00046 5f pop edi - 00047 0b c1 or eax, ecx - 00049 5b pop ebx - -; 133 : } - - 0004a 5d pop ebp - 0004b c2 0c 00 ret 12 ; 0000000cH -$LN18@adler32: - 0004e 56 push esi - -; 86 : } -; 87 : -; 88 : /* initial Adler-32 value (deferred check for len == 1 speed) */ -; 89 : if (buf == Z_NULL) - - 0004f 8b 75 0c mov esi, DWORD PTR _buf$[ebp] - 00052 85 f6 test esi, esi - 00054 75 0a jne SHORT $LN15@adler32 - -; 90 : return 1L; - - 00056 8d 46 01 lea eax, DWORD PTR [esi+1] - 00059 5e pop esi - 0005a 5f pop edi - 0005b 5b pop ebx - -; 133 : } - - 0005c 5d pop ebp - 0005d c2 0c 00 ret 12 ; 0000000cH -$LN15@adler32: - -; 91 : -; 92 : /* in case short lengths are provided, keep it somewhat fast */ -; 93 : if (len < 16) { - - 00060 83 fb 10 cmp ebx, 16 ; 00000010H - 00063 73 43 jae SHORT $LN22@adler32 - -; 94 : while (len--) { - - 00065 85 db test ebx, ebx - 00067 74 12 je SHORT $LN26@adler32 - 00069 8d a4 24 00 00 - 00 00 npad 7 -$LL13@adler32: - -; 95 : adler += *buf++; - - 00070 0f b6 06 movzx eax, BYTE PTR [esi] - 00073 03 c8 add ecx, eax - 00075 46 inc esi - -; 96 : sum2 += adler; - - 00076 03 f9 add edi, ecx - 00078 4b dec ebx - 00079 75 f5 jne SHORT $LL13@adler32 -$LN26@adler32: - -; 97 : } -; 98 : if (adler >= BASE) - - 0007b 81 f9 f1 ff 00 - 00 cmp ecx, 65521 ; 0000fff1H - 00081 72 06 jb SHORT $LN11@adler32 - -; 99 : adler -= BASE; - - 00083 81 e9 f1 ff 00 - 00 sub ecx, 65521 ; 0000fff1H -$LN11@adler32: - -; 100 : MOD28(sum2); /* only added so many BASE's */ - - 00089 b8 71 80 07 80 mov eax, -2146992015 ; 80078071H - 0008e f7 e7 mul edi - 00090 c1 ea 0f shr edx, 15 ; 0000000fH - -; 101 : return adler | (sum2 << 16); - - 00093 8b c2 mov eax, edx - 00095 c1 e0 04 shl eax, 4 - 00098 2b c2 sub eax, edx - 0009a 03 c7 add eax, edi - 0009c 5e pop esi - -; 129 : } -; 130 : -; 131 : /* return recombined sums */ -; 132 : return adler | (sum2 << 16); - - 0009d c1 e0 10 shl eax, 16 ; 00000010H - 000a0 5f pop edi - 000a1 0b c1 or eax, ecx - 000a3 5b pop ebx - -; 133 : } - - 000a4 5d pop ebp - 000a5 c2 0c 00 ret 12 ; 0000000cH -$LN22@adler32: - -; 102 : } -; 103 : -; 104 : /* do length NMAX blocks -- requires just one modulo operation */ -; 105 : while (len >= NMAX) { - - 000a8 81 fb b0 15 00 - 00 cmp ebx, 5552 ; 000015b0H - 000ae 0f 82 d2 00 00 - 00 jb $LN9@adler32 - 000b4 b8 af a9 6e 5e mov eax, 1584310703 ; 5e6ea9afH - 000b9 f7 e3 mul ebx - 000bb c1 ea 0b shr edx, 11 ; 0000000bH - 000be 89 55 0c mov DWORD PTR tv884[ebp], edx -$LL10@adler32: - -; 106 : len -= NMAX; - - 000c1 81 eb b0 15 00 - 00 sub ebx, 5552 ; 000015b0H - -; 107 : n = NMAX / 16; /* NMAX is divisible by 16 */ - - 000c7 b8 5b 01 00 00 mov eax, 347 ; 0000015bH - 000cc 8d 64 24 00 npad 4 -$LL8@adler32: - -; 108 : do { -; 109 : DO16(buf); /* 16 sums unrolled */ - - 000d0 0f b6 16 movzx edx, BYTE PTR [esi] - 000d3 03 ca add ecx, edx - 000d5 0f b6 56 01 movzx edx, BYTE PTR [esi+1] - 000d9 03 f9 add edi, ecx - 000db 03 ca add ecx, edx - 000dd 0f b6 56 02 movzx edx, BYTE PTR [esi+2] - 000e1 03 f9 add edi, ecx - 000e3 03 ca add ecx, edx - 000e5 0f b6 56 03 movzx edx, BYTE PTR [esi+3] - 000e9 03 f9 add edi, ecx - 000eb 03 ca add ecx, edx - 000ed 0f b6 56 04 movzx edx, BYTE PTR [esi+4] - 000f1 03 f9 add edi, ecx - 000f3 03 ca add ecx, edx - 000f5 0f b6 56 05 movzx edx, BYTE PTR [esi+5] - 000f9 03 f9 add edi, ecx - 000fb 03 ca add ecx, edx - 000fd 0f b6 56 06 movzx edx, BYTE PTR [esi+6] - 00101 03 f9 add edi, ecx - 00103 03 ca add ecx, edx - 00105 0f b6 56 07 movzx edx, BYTE PTR [esi+7] - 00109 03 f9 add edi, ecx - 0010b 03 ca add ecx, edx - 0010d 0f b6 56 08 movzx edx, BYTE PTR [esi+8] - 00111 03 f9 add edi, ecx - 00113 03 ca add ecx, edx - 00115 0f b6 56 09 movzx edx, BYTE PTR [esi+9] - 00119 03 f9 add edi, ecx - 0011b 03 ca add ecx, edx - 0011d 0f b6 56 0a movzx edx, BYTE PTR [esi+10] - 00121 03 f9 add edi, ecx - 00123 03 ca add ecx, edx - 00125 0f b6 56 0b movzx edx, BYTE PTR [esi+11] - 00129 03 f9 add edi, ecx - 0012b 03 ca add ecx, edx - 0012d 0f b6 56 0c movzx edx, BYTE PTR [esi+12] - 00131 03 f9 add edi, ecx - 00133 03 ca add ecx, edx - 00135 0f b6 56 0d movzx edx, BYTE PTR [esi+13] - 00139 03 f9 add edi, ecx - 0013b 03 ca add ecx, edx - 0013d 0f b6 56 0e movzx edx, BYTE PTR [esi+14] - 00141 03 f9 add edi, ecx - 00143 03 ca add ecx, edx - 00145 0f b6 56 0f movzx edx, BYTE PTR [esi+15] - 00149 03 f9 add edi, ecx - 0014b 03 ca add ecx, edx - 0014d 03 f9 add edi, ecx - -; 110 : buf += 16; - - 0014f 83 c6 10 add esi, 16 ; 00000010H - -; 111 : } while (--n); - - 00152 48 dec eax - 00153 0f 85 77 ff ff - ff jne $LL8@adler32 - -; 112 : MOD(adler); - - 00159 b8 71 80 07 80 mov eax, -2146992015 ; 80078071H - 0015e f7 e1 mul ecx - 00160 c1 ea 0f shr edx, 15 ; 0000000fH - 00163 69 d2 0f 00 ff - ff imul edx, -65521 ; ffff000fH - 00169 03 ca add ecx, edx - -; 113 : MOD(sum2); - - 0016b b8 71 80 07 80 mov eax, -2146992015 ; 80078071H - 00170 f7 e7 mul edi - 00172 c1 ea 0f shr edx, 15 ; 0000000fH - 00175 69 d2 0f 00 ff - ff imul edx, -65521 ; ffff000fH - 0017b 03 fa add edi, edx - 0017d ff 4d 0c dec DWORD PTR tv884[ebp] - 00180 0f 85 3b ff ff - ff jne $LL10@adler32 -$LN9@adler32: - -; 114 : } -; 115 : -; 116 : /* do remaining bytes (less than NMAX, still just one modulo) */ -; 117 : if (len) { /* avoid modulos if none remaining */ - - 00186 85 db test ebx, ebx - 00188 0f 84 d1 00 00 - 00 je $LN5@adler32 - -; 118 : while (len >= 16) { - - 0018e 83 fb 10 cmp ebx, 16 ; 00000010H - 00191 0f 82 95 00 00 - 00 jb $LN32@adler32 - 00197 8b c3 mov eax, ebx - 00199 c1 e8 04 shr eax, 4 - 0019c 8d 64 24 00 npad 4 -$LL4@adler32: - -; 119 : len -= 16; -; 120 : DO16(buf); - - 001a0 0f b6 16 movzx edx, BYTE PTR [esi] - 001a3 03 ca add ecx, edx - 001a5 0f b6 56 01 movzx edx, BYTE PTR [esi+1] - 001a9 03 f9 add edi, ecx - 001ab 03 ca add ecx, edx - 001ad 0f b6 56 02 movzx edx, BYTE PTR [esi+2] - 001b1 03 f9 add edi, ecx - 001b3 03 ca add ecx, edx - 001b5 0f b6 56 03 movzx edx, BYTE PTR [esi+3] - 001b9 03 f9 add edi, ecx - 001bb 03 ca add ecx, edx - 001bd 0f b6 56 04 movzx edx, BYTE PTR [esi+4] - 001c1 03 f9 add edi, ecx - 001c3 03 ca add ecx, edx - 001c5 0f b6 56 05 movzx edx, BYTE PTR [esi+5] - 001c9 03 f9 add edi, ecx - 001cb 03 ca add ecx, edx - 001cd 0f b6 56 06 movzx edx, BYTE PTR [esi+6] - 001d1 03 f9 add edi, ecx - 001d3 03 ca add ecx, edx - 001d5 0f b6 56 07 movzx edx, BYTE PTR [esi+7] - 001d9 03 f9 add edi, ecx - 001db 03 ca add ecx, edx - 001dd 0f b6 56 08 movzx edx, BYTE PTR [esi+8] - 001e1 03 f9 add edi, ecx - 001e3 03 ca add ecx, edx - 001e5 0f b6 56 09 movzx edx, BYTE PTR [esi+9] - 001e9 03 f9 add edi, ecx - 001eb 03 ca add ecx, edx - 001ed 0f b6 56 0a movzx edx, BYTE PTR [esi+10] - 001f1 03 f9 add edi, ecx - 001f3 03 ca add ecx, edx - 001f5 0f b6 56 0b movzx edx, BYTE PTR [esi+11] - 001f9 03 f9 add edi, ecx - 001fb 03 ca add ecx, edx - 001fd 0f b6 56 0c movzx edx, BYTE PTR [esi+12] - 00201 03 f9 add edi, ecx - 00203 03 ca add ecx, edx - 00205 0f b6 56 0d movzx edx, BYTE PTR [esi+13] - 00209 03 f9 add edi, ecx - 0020b 03 ca add ecx, edx - 0020d 0f b6 56 0e movzx edx, BYTE PTR [esi+14] - 00211 03 f9 add edi, ecx - 00213 03 ca add ecx, edx - 00215 0f b6 56 0f movzx edx, BYTE PTR [esi+15] - 00219 03 f9 add edi, ecx - 0021b 03 ca add ecx, edx - 0021d 83 eb 10 sub ebx, 16 ; 00000010H - 00220 03 f9 add edi, ecx - -; 121 : buf += 16; - - 00222 83 c6 10 add esi, 16 ; 00000010H - 00225 48 dec eax - 00226 0f 85 74 ff ff - ff jne $LL4@adler32 -$LN32@adler32: - -; 122 : } -; 123 : while (len--) { - - 0022c 85 db test ebx, ebx - 0022e 74 0b je SHORT $LN30@adler32 -$LL2@adler32: - -; 124 : adler += *buf++; - - 00230 0f b6 06 movzx eax, BYTE PTR [esi] - 00233 03 c8 add ecx, eax - 00235 46 inc esi - -; 125 : sum2 += adler; - - 00236 03 f9 add edi, ecx - 00238 4b dec ebx - 00239 75 f5 jne SHORT $LL2@adler32 -$LN30@adler32: - -; 126 : } -; 127 : MOD(adler); - - 0023b b8 71 80 07 80 mov eax, -2146992015 ; 80078071H - 00240 f7 e1 mul ecx - 00242 c1 ea 0f shr edx, 15 ; 0000000fH - 00245 69 d2 0f 00 ff - ff imul edx, -65521 ; ffff000fH - 0024b 03 ca add ecx, edx - -; 128 : MOD(sum2); - - 0024d b8 71 80 07 80 mov eax, -2146992015 ; 80078071H - 00252 f7 e7 mul edi - 00254 c1 ea 0f shr edx, 15 ; 0000000fH - 00257 69 d2 0f 00 ff - ff imul edx, -65521 ; ffff000fH - 0025d 03 fa add edi, edx -$LN5@adler32: - -; 129 : } -; 130 : -; 131 : /* return recombined sums */ -; 132 : return adler | (sum2 << 16); - - 0025f 8b c7 mov eax, edi - 00261 5e pop esi - 00262 c1 e0 10 shl eax, 16 ; 00000010H - 00265 5f pop edi - 00266 0b c1 or eax, ecx - 00268 5b pop ebx - -; 133 : } - - 00269 5d pop ebp - 0026a c2 0c 00 ret 12 ; 0000000cH -_adler32@12 ENDP -PUBLIC _adler32_combine@12 -; Function compile flags: /Ogtp -; COMDAT _adler32_combine@12 -_TEXT SEGMENT -_adler1$ = 8 ; size = 4 -_adler2$ = 12 ; size = 4 -_len2$ = 16 ; size = 4 -_adler32_combine@12 PROC ; COMDAT - -; 169 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 170 : return adler32_combine_(adler1, adler2, len2); - - 00003 8b 45 10 mov eax, DWORD PTR _len2$[ebp] - 00006 8b 4d 08 mov ecx, DWORD PTR _adler1$[ebp] - 00009 99 cdq - 0000a 52 push edx - 0000b 50 push eax - 0000c 8b 45 0c mov eax, DWORD PTR _adler2$[ebp] - 0000f e8 00 00 00 00 call _adler32_combine_ - 00014 83 c4 08 add esp, 8 - -; 171 : } - - 00017 5d pop ebp - 00018 c2 0c 00 ret 12 ; 0000000cH -_adler32_combine@12 ENDP -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/cl.command.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/cl.command.1.tlog deleted file mode 100644 index e64f284e..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/cl.command.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/compress.cod b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/compress.cod deleted file mode 100644 index 5d507f9b..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/compress.cod +++ /dev/null @@ -1,213 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.30319.01 - - TITLE D:\FMU\FMUSolution\zlib-1.2.6\compress.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC ??_C@_05BOAHNBIE@1?42?46?$AA@ ; `string' -; COMDAT ??_C@_05BOAHNBIE@1?42?46?$AA@ -CONST SEGMENT -??_C@_05BOAHNBIE@1?42?46?$AA@ DB '1.2.6', 00H ; `string' -PUBLIC _compressBound@4 -; Function compile flags: /Ogtp -; File d:\fmu\fmusolution\zlib-1.2.6\compress.c -; COMDAT _compressBound@4 -_TEXT SEGMENT -_sourceLen$ = 8 ; size = 4 -_compressBound@4 PROC ; COMDAT - -; 77 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 78 : return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) + -; 79 : (sourceLen >> 25) + 13; - - 00003 8b 45 08 mov eax, DWORD PTR _sourceLen$[ebp] - 00006 8b d0 mov edx, eax - 00008 8b c8 mov ecx, eax - 0000a c1 ea 0e shr edx, 14 ; 0000000eH - 0000d 03 d0 add edx, eax - 0000f c1 e9 19 shr ecx, 25 ; 00000019H - 00012 c1 e8 0c shr eax, 12 ; 0000000cH - 00015 03 d1 add edx, ecx - 00017 8d 44 10 0d lea eax, DWORD PTR [eax+edx+13] - -; 80 : } - - 0001b 5d pop ebp - 0001c c2 04 00 ret 4 -_compressBound@4 ENDP -PUBLIC _compress2@20 -; Function compile flags: /Ogtp -; COMDAT _compress2@20 -_TEXT SEGMENT -_stream$ = -56 ; size = 56 -_dest$ = 8 ; size = 4 -_destLen$ = 12 ; size = 4 -_source$ = 16 ; size = 4 -_sourceLen$ = 20 ; size = 4 -_level$ = 24 ; size = 4 -_compress2@20 PROC ; COMDAT - -; 28 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 83 ec 38 sub esp, 56 ; 00000038H - -; 29 : z_stream stream; -; 30 : int err; -; 31 : -; 32 : stream.next_in = (Bytef*)source; -; 33 : stream.avail_in = (uInt)sourceLen; - - 00009 8b 4d 14 mov ecx, DWORD PTR _sourceLen$[ebp] - -; 34 : #ifdef MAXSEG_64K -; 35 : /* Check for source > 64K on 16-bit machine: */ -; 36 : if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR; -; 37 : #endif -; 38 : stream.next_out = dest; - - 0000c 8b 55 08 mov edx, DWORD PTR _dest$[ebp] - 0000f 8b 45 10 mov eax, DWORD PTR _source$[ebp] - 00012 53 push ebx - -; 39 : stream.avail_out = (uInt)*destLen; - - 00013 8b 5d 0c mov ebx, DWORD PTR _destLen$[ebp] - 00016 56 push esi - -; 40 : if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR; -; 41 : -; 42 : stream.zalloc = (alloc_func)0; -; 43 : stream.zfree = (free_func)0; -; 44 : stream.opaque = (voidpf)0; -; 45 : -; 46 : err = deflateInit(&stream, level); - - 00017 6a 38 push 56 ; 00000038H - 00019 89 4c 24 10 mov DWORD PTR _stream$[esp+72], ecx - 0001d 8b 4d 18 mov ecx, DWORD PTR _level$[ebp] - 00020 68 00 00 00 00 push OFFSET ??_C@_05BOAHNBIE@1?42?46?$AA@ - 00025 89 54 24 1c mov DWORD PTR _stream$[esp+84], edx - 00029 89 44 24 10 mov DWORD PTR _stream$[esp+72], eax - 0002d 8b 03 mov eax, DWORD PTR [ebx] - 0002f 51 push ecx - 00030 8d 54 24 14 lea edx, DWORD PTR _stream$[esp+76] - 00034 52 push edx - 00035 89 44 24 28 mov DWORD PTR _stream$[esp+96], eax - 00039 c7 44 24 38 00 - 00 00 00 mov DWORD PTR _stream$[esp+112], 0 - 00041 c7 44 24 3c 00 - 00 00 00 mov DWORD PTR _stream$[esp+116], 0 - 00049 c7 44 24 40 00 - 00 00 00 mov DWORD PTR _stream$[esp+120], 0 - 00051 e8 00 00 00 00 call _deflateInit_@16 - -; 47 : if (err != Z_OK) return err; - - 00056 85 c0 test eax, eax - 00058 75 40 jne SHORT $LN4@compress2 - -; 48 : -; 49 : err = deflate(&stream, Z_FINISH); - - 0005a 6a 04 push 4 - 0005c 8d 44 24 0c lea eax, DWORD PTR _stream$[esp+68] - 00060 50 push eax - 00061 e8 00 00 00 00 call _deflate@8 - 00066 8b f0 mov esi, eax - -; 50 : if (err != Z_STREAM_END) { - - 00068 83 fe 01 cmp esi, 1 - 0006b 74 1d je SHORT $LN1@compress2 - -; 51 : deflateEnd(&stream); - - 0006d 8d 4c 24 08 lea ecx, DWORD PTR _stream$[esp+64] - 00071 51 push ecx - 00072 e8 00 00 00 00 call _deflateEnd@4 - -; 52 : return err == Z_OK ? Z_BUF_ERROR : err; - - 00077 b8 fb ff ff ff mov eax, -5 ; fffffffbH - 0007c 85 f6 test esi, esi - 0007e 74 1a je SHORT $LN4@compress2 - 00080 8b c6 mov eax, esi - -; 57 : return err; -; 58 : } - - 00082 5e pop esi - 00083 5b pop ebx - 00084 8b e5 mov esp, ebp - 00086 5d pop ebp - 00087 c2 14 00 ret 20 ; 00000014H -$LN1@compress2: - -; 53 : } -; 54 : *destLen = stream.total_out; - - 0008a 8b 54 24 1c mov edx, DWORD PTR _stream$[esp+84] - -; 55 : -; 56 : err = deflateEnd(&stream); - - 0008e 8d 44 24 08 lea eax, DWORD PTR _stream$[esp+64] - 00092 50 push eax - 00093 89 13 mov DWORD PTR [ebx], edx - 00095 e8 00 00 00 00 call _deflateEnd@4 -$LN4@compress2: - -; 57 : return err; -; 58 : } - - 0009a 5e pop esi - 0009b 5b pop ebx - 0009c 8b e5 mov esp, ebp - 0009e 5d pop ebp - 0009f c2 14 00 ret 20 ; 00000014H -_compress2@20 ENDP -PUBLIC _compress@16 -; Function compile flags: /Ogtp -; COMDAT _compress@16 -_TEXT SEGMENT -_dest$ = 8 ; size = 4 -_destLen$ = 12 ; size = 4 -_source$ = 16 ; size = 4 -_sourceLen$ = 20 ; size = 4 -_compress@16 PROC ; COMDAT - -; 67 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 68 : return compress2(dest, destLen, source, sourceLen, Z_DEFAULT_COMPRESSION); - - 00003 8b 45 14 mov eax, DWORD PTR _sourceLen$[ebp] - 00006 8b 4d 10 mov ecx, DWORD PTR _source$[ebp] - 00009 8b 55 0c mov edx, DWORD PTR _destLen$[ebp] - 0000c 6a ff push -1 - 0000e 50 push eax - 0000f 8b 45 08 mov eax, DWORD PTR _dest$[ebp] - 00012 51 push ecx - 00013 52 push edx - 00014 50 push eax - 00015 e8 00 00 00 00 call _compress2@20 - -; 69 : } - - 0001a 5d pop ebp - 0001b c2 10 00 ret 16 ; 00000010H -_compress@16 ENDP -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/crc32.cod b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/crc32.cod deleted file mode 100644 index c64a3d10..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/crc32.cod +++ /dev/null @@ -1,3158 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.30319.01 - - TITLE D:\FMU\FMUSolution\zlib-1.2.6\crc32.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - - ORG $+2 -_crc_table DD 00H - DD 077073096H - DD 0ee0e612cH - DD 0990951baH - DD 076dc419H - DD 0706af48fH - DD 0e963a535H - DD 09e6495a3H - DD 0edb8832H - DD 079dcb8a4H - DD 0e0d5e91eH - DD 097d2d988H - DD 09b64c2bH - DD 07eb17cbdH - DD 0e7b82d07H - DD 090bf1d91H - DD 01db71064H - DD 06ab020f2H - DD 0f3b97148H - DD 084be41deH - DD 01adad47dH - DD 06ddde4ebH - DD 0f4d4b551H - DD 083d385c7H - DD 0136c9856H - DD 0646ba8c0H - DD 0fd62f97aH - DD 08a65c9ecH - DD 014015c4fH - DD 063066cd9H - DD 0fa0f3d63H - DD 08d080df5H - DD 03b6e20c8H - DD 04c69105eH - DD 0d56041e4H - DD 0a2677172H - DD 03c03e4d1H - DD 04b04d447H - DD 0d20d85fdH - DD 0a50ab56bH - DD 035b5a8faH - DD 042b2986cH - DD 0dbbbc9d6H - DD 0acbcf940H - DD 032d86ce3H - DD 045df5c75H - DD 0dcd60dcfH - DD 0abd13d59H - DD 026d930acH - DD 051de003aH - DD 0c8d75180H - DD 0bfd06116H - DD 021b4f4b5H - DD 056b3c423H - DD 0cfba9599H - DD 0b8bda50fH - DD 02802b89eH - DD 05f058808H - DD 0c60cd9b2H - DD 0b10be924H - DD 02f6f7c87H - DD 058684c11H - DD 0c1611dabH - DD 0b6662d3dH - DD 076dc4190H - DD 01db7106H - DD 098d220bcH - DD 0efd5102aH - DD 071b18589H - DD 06b6b51fH - DD 09fbfe4a5H - DD 0e8b8d433H - DD 07807c9a2H - DD 0f00f934H - DD 09609a88eH - DD 0e10e9818H - DD 07f6a0dbbH - DD 086d3d2dH - DD 091646c97H - DD 0e6635c01H - DD 06b6b51f4H - DD 01c6c6162H - DD 0856530d8H - DD 0f262004eH - DD 06c0695edH - DD 01b01a57bH - DD 08208f4c1H - DD 0f50fc457H - DD 065b0d9c6H - DD 012b7e950H - DD 08bbeb8eaH - DD 0fcb9887cH - DD 062dd1ddfH - DD 015da2d49H - DD 08cd37cf3H - DD 0fbd44c65H - DD 04db26158H - DD 03ab551ceH - DD 0a3bc0074H - DD 0d4bb30e2H - DD 04adfa541H - DD 03dd895d7H - DD 0a4d1c46dH - DD 0d3d6f4fbH - DD 04369e96aH - DD 0346ed9fcH - DD 0ad678846H - DD 0da60b8d0H - DD 044042d73H - DD 033031de5H - DD 0aa0a4c5fH - DD 0dd0d7cc9H - DD 05005713cH - DD 0270241aaH - DD 0be0b1010H - DD 0c90c2086H - DD 05768b525H - DD 0206f85b3H - DD 0b966d409H - DD 0ce61e49fH - DD 05edef90eH - DD 029d9c998H - DD 0b0d09822H - DD 0c7d7a8b4H - DD 059b33d17H - DD 02eb40d81H - DD 0b7bd5c3bH - DD 0c0ba6cadH - DD 0edb88320H - DD 09abfb3b6H - DD 03b6e20cH - DD 074b1d29aH - DD 0ead54739H - DD 09dd277afH - DD 04db2615H - DD 073dc1683H - DD 0e3630b12H - DD 094643b84H - DD 0d6d6a3eH - DD 07a6a5aa8H - DD 0e40ecf0bH - DD 09309ff9dH - DD 0a00ae27H - DD 07d079eb1H - DD 0f00f9344H - DD 08708a3d2H - DD 01e01f268H - DD 06906c2feH - DD 0f762575dH - DD 0806567cbH - DD 0196c3671H - DD 06e6b06e7H - DD 0fed41b76H - DD 089d32be0H - DD 010da7a5aH - DD 067dd4accH - DD 0f9b9df6fH - DD 08ebeeff9H - DD 017b7be43H - DD 060b08ed5H - DD 0d6d6a3e8H - DD 0a1d1937eH - DD 038d8c2c4H - DD 04fdff252H - DD 0d1bb67f1H - DD 0a6bc5767H - DD 03fb506ddH - DD 048b2364bH - DD 0d80d2bdaH - DD 0af0a1b4cH - DD 036034af6H - DD 041047a60H - DD 0df60efc3H - DD 0a867df55H - DD 0316e8eefH - DD 04669be79H - DD 0cb61b38cH - DD 0bc66831aH - DD 0256fd2a0H - DD 05268e236H - DD 0cc0c7795H - DD 0bb0b4703H - DD 0220216b9H - DD 05505262fH - DD 0c5ba3bbeH - DD 0b2bd0b28H - DD 02bb45a92H - DD 05cb36a04H - DD 0c2d7ffa7H - DD 0b5d0cf31H - DD 02cd99e8bH - DD 05bdeae1dH - DD 09b64c2b0H - DD 0ec63f226H - DD 0756aa39cH - DD 026d930aH - DD 09c0906a9H - DD 0eb0e363fH - DD 072076785H - DD 05005713H - DD 095bf4a82H - DD 0e2b87a14H - DD 07bb12baeH - DD 0cb61b38H - DD 092d28e9bH - DD 0e5d5be0dH - DD 07cdcefb7H - DD 0bdbdf21H - DD 086d3d2d4H - DD 0f1d4e242H - DD 068ddb3f8H - DD 01fda836eH - DD 081be16cdH - DD 0f6b9265bH - DD 06fb077e1H - DD 018b74777H - DD 088085ae6H - DD 0ff0f6a70H - DD 066063bcaH - DD 011010b5cH - DD 08f659effH - DD 0f862ae69H - DD 0616bffd3H - DD 0166ccf45H - DD 0a00ae278H - DD 0d70dd2eeH - DD 04e048354H - DD 03903b3c2H - DD 0a7672661H - DD 0d06016f7H - DD 04969474dH - DD 03e6e77dbH - DD 0aed16a4aH - DD 0d9d65adcH - DD 040df0b66H - DD 037d83bf0H - DD 0a9bcae53H - DD 0debb9ec5H - DD 047b2cf7fH - DD 030b5ffe9H - DD 0bdbdf21cH - DD 0cabac28aH - DD 053b39330H - DD 024b4a3a6H - DD 0bad03605H - DD 0cdd70693H - DD 054de5729H - DD 023d967bfH - DD 0b3667a2eH - DD 0c4614ab8H - DD 05d681b02H - DD 02a6f2b94H - DD 0b40bbe37H - DD 0c30c8ea1H - DD 05a05df1bH - DD 02d02ef8dH - DD 00H - DD 0191b3141H - DD 032366282H - DD 02b2d53c3H - DD 0646cc504H - DD 07d77f445H - DD 0565aa786H - DD 04f4196c7H - DD 0c8d98a08H - DD 0d1c2bb49H - DD 0faefe88aH - DD 0e3f4d9cbH - DD 0acb54f0cH - DD 0b5ae7e4dH - DD 09e832d8eH - DD 087981ccfH - DD 04ac21251H - DD 053d92310H - DD 078f470d3H - DD 061ef4192H - DD 02eaed755H - DD 037b5e614H - DD 01c98b5d7H - DD 05838496H - DD 0821b9859H - DD 09b00a918H - DD 0b02dfadbH - DD 0a936cb9aH - DD 0e6775d5dH - DD 0ff6c6c1cH - DD 0d4413fdfH - DD 0cd5a0e9eH - DD 0958424a2H - DD 08c9f15e3H - DD 0a7b24620H - DD 0bea97761H - DD 0f1e8e1a6H - DD 0e8f3d0e7H - DD 0c3de8324H - DD 0dac5b265H - DD 05d5daeaaH - DD 044469febH - DD 06f6bcc28H - DD 07670fd69H - DD 039316baeH - DD 0202a5aefH - DD 0b07092cH - DD 0121c386dH - DD 0df4636f3H - DD 0c65d07b2H - DD 0ed705471H - DD 0f46b6530H - DD 0bb2af3f7H - DD 0a231c2b6H - DD 0891c9175H - DD 09007a034H - DD 0179fbcfbH - DD 0e848dbaH - DD 025a9de79H - DD 03cb2ef38H - DD 073f379ffH - DD 06ae848beH - DD 041c51b7dH - DD 058de2a3cH - DD 0f0794f05H - DD 0e9627e44H - DD 0c24f2d87H - DD 0db541cc6H - DD 094158a01H - DD 08d0ebb40H - DD 0a623e883H - DD 0bf38d9c2H - DD 038a0c50dH - DD 021bbf44cH - DD 0a96a78fH - DD 0138d96ceH - DD 05ccc0009H - DD 045d73148H - DD 06efa628bH - DD 077e153caH - DD 0babb5d54H - DD 0a3a06c15H - DD 0888d3fd6H - DD 091960e97H - DD 0ded79850H - DD 0c7cca911H - DD 0ece1fad2H - DD 0f5facb93H - DD 07262d75cH - DD 06b79e61dH - DD 04054b5deH - DD 0594f849fH - DD 0160e1258H - DD 0f152319H - DD 0243870daH - DD 03d23419bH - DD 065fd6ba7H - DD 07ce65ae6H - DD 057cb0925H - DD 04ed03864H - DD 0191aea3H - DD 0188a9fe2H - DD 033a7cc21H - DD 02abcfd60H - DD 0ad24e1afH - DD 0b43fd0eeH - DD 09f12832dH - DD 08609b26cH - DD 0c94824abH - DD 0d05315eaH - DD 0fb7e4629H - DD 0e2657768H - DD 02f3f79f6H - DD 0362448b7H - DD 01d091b74H - DD 04122a35H - DD 04b53bcf2H - DD 052488db3H - DD 07965de70H - DD 0607eef31H - DD 0e7e6f3feH - DD 0fefdc2bfH - DD 0d5d0917cH - DD 0cccba03dH - DD 0838a36faH - DD 09a9107bbH - DD 0b1bc5478H - DD 0a8a76539H - DD 03b83984bH - DD 02298a90aH - DD 09b5fac9H - DD 010aecb88H - DD 05fef5d4fH - DD 046f46c0eH - DD 06dd93fcdH - DD 074c20e8cH - DD 0f35a1243H - DD 0ea412302H - DD 0c16c70c1H - DD 0d8774180H - DD 09736d747H - DD 08e2de606H - DD 0a500b5c5H - DD 0bc1b8484H - DD 071418a1aH - DD 0685abb5bH - DD 04377e898H - DD 05a6cd9d9H - DD 0152d4f1eH - DD 0c367e5fH - DD 0271b2d9cH - DD 03e001cddH - DD 0b9980012H - DD 0a0833153H - DD 08bae6290H - DD 092b553d1H - DD 0ddf4c516H - DD 0c4eff457H - DD 0efc2a794H - DD 0f6d996d5H - DD 0ae07bce9H - DD 0b71c8da8H - DD 09c31de6bH - DD 0852aef2aH - DD 0ca6b79edH - DD 0d37048acH - DD 0f85d1b6fH - DD 0e1462a2eH - DD 066de36e1H - DD 07fc507a0H - DD 054e85463H - DD 04df36522H - DD 02b2f3e5H - DD 01ba9c2a4H - DD 030849167H - DD 0299fa026H - DD 0e4c5aeb8H - DD 0fdde9ff9H - DD 0d6f3cc3aH - DD 0cfe8fd7bH - DD 080a96bbcH - DD 099b25afdH - DD 0b29f093eH - DD 0ab84387fH - DD 02c1c24b0H - DD 0350715f1H - DD 01e2a4632H - DD 07317773H - DD 04870e1b4H - DD 0516bd0f5H - DD 07a468336H - DD 0635db277H - DD 0cbfad74eH - DD 0d2e1e60fH - DD 0f9ccb5ccH - DD 0e0d7848dH - DD 0af96124aH - DD 0b68d230bH - DD 09da070c8H - DD 084bb4189H - DD 03235d46H - DD 01a386c07H - DD 031153fc4H - DD 0280e0e85H - DD 0674f9842H - DD 07e54a903H - DD 05579fac0H - DD 04c62cb81H - DD 08138c51fH - DD 09823f45eH - DD 0b30ea79dH - DD 0aa1596dcH - DD 0e554001bH - DD 0fc4f315aH - DD 0d7626299H - DD 0ce7953d8H - DD 049e14f17H - DD 050fa7e56H - DD 07bd72d95H - DD 062cc1cd4H - DD 02d8d8a13H - DD 03496bb52H - DD 01fbbe891H - DD 06a0d9d0H - DD 05e7ef3ecH - DD 04765c2adH - DD 06c48916eH - DD 07553a02fH - DD 03a1236e8H - DD 0230907a9H - DD 0824546aH - DD 0113f652bH - DD 096a779e4H - DD 08fbc48a5H - DD 0a4911b66H - DD 0bd8a2a27H - DD 0f2cbbce0H - DD 0ebd08da1H - DD 0c0fdde62H - DD 0d9e6ef23H - DD 014bce1bdH - DD 0da7d0fcH - DD 0268a833fH - DD 03f91b27eH - DD 070d024b9H - DD 069cb15f8H - DD 042e6463bH - DD 05bfd777aH - DD 0dc656bb5H - DD 0c57e5af4H - DD 0ee530937H - DD 0f7483876H - DD 0b809aeb1H - DD 0a1129ff0H - DD 08a3fcc33H - DD 09324fd72H - DD 00H - DD 01c26a37H - DD 0384d46eH - DD 0246be59H - DD 0709a8dcH - DD 06cbc2ebH - DD 048d7cb2H - DD 054f1685H - DD 0e1351b8H - DD 0fd13b8fH - DD 0d9785d6H - DD 0c55efe1H - DD 091af964H - DD 08d89353H - DD 0a9e2d0aH - DD 0b5c473dH - DD 01c26a370H - DD 01de4c947H - DD 01fa2771eH - DD 01e601d29H - DD 01b2f0bacH - DD 01aed619bH - DD 018abdfc2H - DD 01969b5f5H - DD 01235f2c8H - DD 013f798ffH - DD 011b126a6H - DD 010734c91H - DD 0153c5a14H - DD 014fe3023H - DD 016b88e7aH - DD 0177ae44dH - DD 0384d46e0H - DD 0398f2cd7H - DD 03bc9928eH - DD 03a0bf8b9H - DD 03f44ee3cH - DD 03e86840bH - DD 03cc03a52H - DD 03d025065H - DD 0365e1758H - DD 0379c7d6fH - DD 035dac336H - DD 03418a901H - DD 03157bf84H - DD 03095d5b3H - DD 032d36beaH - DD 0331101ddH - DD 0246be590H - DD 025a98fa7H - DD 027ef31feH - DD 0262d5bc9H - DD 023624d4cH - DD 022a0277bH - DD 020e69922H - DD 02124f315H - DD 02a78b428H - DD 02bbade1fH - DD 029fc6046H - DD 0283e0a71H - DD 02d711cf4H - DD 02cb376c3H - DD 02ef5c89aH - DD 02f37a2adH - DD 0709a8dc0H - DD 07158e7f7H - DD 0731e59aeH - DD 072dc3399H - DD 07793251cH - DD 076514f2bH - DD 07417f172H - DD 075d59b45H - DD 07e89dc78H - DD 07f4bb64fH - DD 07d0d0816H - DD 07ccf6221H - DD 0798074a4H - DD 078421e93H - DD 07a04a0caH - DD 07bc6cafdH - DD 06cbc2eb0H - DD 06d7e4487H - DD 06f38fadeH - DD 06efa90e9H - DD 06bb5866cH - DD 06a77ec5bH - DD 068315202H - DD 069f33835H - DD 062af7f08H - DD 0636d153fH - DD 0612bab66H - DD 060e9c151H - DD 065a6d7d4H - DD 06464bde3H - DD 0662203baH - DD 067e0698dH - DD 048d7cb20H - DD 04915a117H - DD 04b531f4eH - DD 04a917579H - DD 04fde63fcH - DD 04e1c09cbH - DD 04c5ab792H - DD 04d98dda5H - DD 046c49a98H - DD 04706f0afH - DD 045404ef6H - DD 0448224c1H - DD 041cd3244H - DD 0400f5873H - DD 04249e62aH - DD 0438b8c1dH - DD 054f16850H - DD 055330267H - DD 05775bc3eH - DD 056b7d609H - DD 053f8c08cH - DD 0523aaabbH - DD 0507c14e2H - DD 051be7ed5H - DD 05ae239e8H - DD 05b2053dfH - DD 05966ed86H - DD 058a487b1H - DD 05deb9134H - DD 05c29fb03H - DD 05e6f455aH - DD 05fad2f6dH - DD 0e1351b80H - DD 0e0f771b7H - DD 0e2b1cfeeH - DD 0e373a5d9H - DD 0e63cb35cH - DD 0e7fed96bH - DD 0e5b86732H - DD 0e47a0d05H - DD 0ef264a38H - DD 0eee4200fH - DD 0eca29e56H - DD 0ed60f461H - DD 0e82fe2e4H - DD 0e9ed88d3H - DD 0ebab368aH - DD 0ea695cbdH - DD 0fd13b8f0H - DD 0fcd1d2c7H - DD 0fe976c9eH - DD 0ff5506a9H - DD 0fa1a102cH - DD 0fbd87a1bH - DD 0f99ec442H - DD 0f85cae75H - DD 0f300e948H - DD 0f2c2837fH - DD 0f0843d26H - DD 0f1465711H - DD 0f4094194H - DD 0f5cb2ba3H - DD 0f78d95faH - DD 0f64fffcdH - DD 0d9785d60H - DD 0d8ba3757H - DD 0dafc890eH - DD 0db3ee339H - DD 0de71f5bcH - DD 0dfb39f8bH - DD 0ddf521d2H - DD 0dc374be5H - DD 0d76b0cd8H - DD 0d6a966efH - DD 0d4efd8b6H - DD 0d52db281H - DD 0d062a404H - DD 0d1a0ce33H - DD 0d3e6706aH - DD 0d2241a5dH - DD 0c55efe10H - DD 0c49c9427H - DD 0c6da2a7eH - DD 0c7184049H - DD 0c25756ccH - DD 0c3953cfbH - DD 0c1d382a2H - DD 0c011e895H - DD 0cb4dafa8H - DD 0ca8fc59fH - DD 0c8c97bc6H - DD 0c90b11f1H - DD 0cc440774H - DD 0cd866d43H - DD 0cfc0d31aH - DD 0ce02b92dH - DD 091af9640H - DD 0906dfc77H - DD 0922b422eH - DD 093e92819H - DD 096a63e9cH - DD 0976454abH - DD 09522eaf2H - DD 094e080c5H - DD 09fbcc7f8H - DD 09e7eadcfH - DD 09c381396H - DD 09dfa79a1H - DD 098b56f24H - DD 099770513H - DD 09b31bb4aH - DD 09af3d17dH - DD 08d893530H - DD 08c4b5f07H - DD 08e0de15eH - DD 08fcf8b69H - DD 08a809decH - DD 08b42f7dbH - DD 089044982H - DD 088c623b5H - DD 0839a6488H - DD 082580ebfH - DD 0801eb0e6H - DD 081dcdad1H - DD 08493cc54H - DD 08551a663H - DD 08717183aH - DD 086d5720dH - DD 0a9e2d0a0H - DD 0a820ba97H - DD 0aa6604ceH - DD 0aba46ef9H - DD 0aeeb787cH - DD 0af29124bH - DD 0ad6fac12H - DD 0acadc625H - DD 0a7f18118H - DD 0a633eb2fH - DD 0a4755576H - DD 0a5b73f41H - DD 0a0f829c4H - DD 0a13a43f3H - DD 0a37cfdaaH - DD 0a2be979dH - DD 0b5c473d0H - DD 0b40619e7H - DD 0b640a7beH - DD 0b782cd89H - DD 0b2cddb0cH - DD 0b30fb13bH - DD 0b1490f62H - DD 0b08b6555H - DD 0bbd72268H - DD 0ba15485fH - DD 0b853f606H - DD 0b9919c31H - DD 0bcde8ab4H - DD 0bd1ce083H - DD 0bf5a5edaH - DD 0be9834edH - DD 00H - DD 0b8bc6765H - DD 0aa09c88bH - DD 012b5afeeH - DD 08f629757H - DD 037def032H - DD 0256b5fdcH - DD 09dd738b9H - DD 0c5b428efH - DD 07d084f8aH - DD 06fbde064H - DD 0d7018701H - DD 04ad6bfb8H - DD 0f26ad8ddH - DD 0e0df7733H - DD 058631056H - DD 05019579fH - DD 0e8a530faH - DD 0fa109f14H - DD 042acf871H - DD 0df7bc0c8H - DD 067c7a7adH - DD 075720843H - DD 0cdce6f26H - DD 095ad7f70H - DD 02d111815H - DD 03fa4b7fbH - DD 08718d09eH - DD 01acfe827H - DD 0a2738f42H - DD 0b0c620acH - DD 087a47c9H - DD 0a032af3eH - DD 0188ec85bH - DD 0a3b67b5H - DD 0b28700d0H - DD 02f503869H - DD 097ec5f0cH - DD 08559f0e2H - DD 03de59787H - DD 0658687d1H - DD 0dd3ae0b4H - DD 0cf8f4f5aH - DD 07733283fH - DD 0eae41086H - DD 0525877e3H - DD 040edd80dH - DD 0f851bf68H - DD 0f02bf8a1H - DD 048979fc4H - DD 05a22302aH - DD 0e29e574fH - DD 07f496ff6H - DD 0c7f50893H - DD 0d540a77dH - DD 06dfcc018H - DD 0359fd04eH - DD 08d23b72bH - DD 09f9618c5H - DD 0272a7fa0H - DD 0bafd4719H - DD 0241207cH - DD 010f48f92H - DD 0a848e8f7H - DD 09b14583dH - DD 023a83f58H - DD 0311d90b6H - DD 089a1f7d3H - DD 01476cf6aH - DD 0accaa80fH - DD 0be7f07e1H - DD 06c36084H - DD 05ea070d2H - DD 0e61c17b7H - DD 0f4a9b859H - DD 04c15df3cH - DD 0d1c2e785H - DD 0697e80e0H - DD 07bcb2f0eH - DD 0c377486bH - DD 0cb0d0fa2H - DD 073b168c7H - DD 06104c729H - DD 0d9b8a04cH - DD 0446f98f5H - DD 0fcd3ff90H - DD 0ee66507eH - DD 056da371bH - DD 0eb9274dH - DD 0b6054028H - DD 0a4b0efc6H - DD 01c0c88a3H - DD 081dbb01aH - DD 03967d77fH - DD 02bd27891H - DD 0936e1ff4H - DD 03b26f703H - DD 0839a9066H - DD 0912f3f88H - DD 0299358edH - DD 0b4446054H - DD 0cf80731H - DD 01e4da8dfH - DD 0a6f1cfbaH - DD 0fe92dfecH - DD 0462eb889H - DD 0549b1767H - DD 0ec277002H - DD 071f048bbH - DD 0c94c2fdeH - DD 0dbf98030H - DD 06345e755H - DD 06b3fa09cH - DD 0d383c7f9H - DD 0c1366817H - DD 0798a0f72H - DD 0e45d37cbH - DD 05ce150aeH - DD 04e54ff40H - DD 0f6e89825H - DD 0ae8b8873H - DD 01637ef16H - DD 048240f8H - DD 0bc3e279dH - DD 021e91f24H - DD 099557841H - DD 08be0d7afH - DD 0335cb0caH - DD 0ed59b63bH - DD 055e5d15eH - DD 047507eb0H - DD 0ffec19d5H - DD 0623b216cH - DD 0da874609H - DD 0c832e9e7H - DD 0708e8e82H - DD 028ed9ed4H - DD 09051f9b1H - DD 082e4565fH - DD 03a58313aH - DD 0a78f0983H - DD 01f336ee6H - DD 0d86c108H - DD 0b53aa66dH - DD 0bd40e1a4H - DD 05fc86c1H - DD 01749292fH - DD 0aff54e4aH - DD 0322276f3H - DD 08a9e1196H - DD 0982bbe78H - DD 02097d91dH - DD 078f4c94bH - DD 0c048ae2eH - DD 0d2fd01c0H - DD 06a4166a5H - DD 0f7965e1cH - DD 04f2a3979H - DD 05d9f9697H - DD 0e523f1f2H - DD 04d6b1905H - DD 0f5d77e60H - DD 0e762d18eH - DD 05fdeb6ebH - DD 0c2098e52H - DD 07ab5e937H - DD 0680046d9H - DD 0d0bc21bcH - DD 088df31eaH - DD 03063568fH - DD 022d6f961H - DD 09a6a9e04H - DD 07bda6bdH - DD 0bf01c1d8H - DD 0adb46e36H - DD 015080953H - DD 01d724e9aH - DD 0a5ce29ffH - DD 0b77b8611H - DD 0fc7e174H - DD 09210d9cdH - DD 02aacbea8H - DD 038191146H - DD 080a57623H - DD 0d8c66675H - DD 0607a0110H - DD 072cfaefeH - DD 0ca73c99bH - DD 057a4f122H - DD 0ef189647H - DD 0fdad39a9H - DD 045115eccH - DD 0764dee06H - DD 0cef18963H - DD 0dc44268dH - DD 064f841e8H - DD 0f92f7951H - DD 041931e34H - DD 05326b1daH - DD 0eb9ad6bfH - DD 0b3f9c6e9H - DD 0b45a18cH - DD 019f00e62H - DD 0a14c6907H - DD 03c9b51beH - DD 0842736dbH - DD 096929935H - DD 02e2efe50H - DD 02654b999H - DD 09ee8defcH - DD 08c5d7112H - DD 034e11677H - DD 0a9362eceH - DD 0118a49abH - DD 033fe645H - DD 0bb838120H - DD 0e3e09176H - DD 05b5cf613H - DD 049e959fdH - DD 0f1553e98H - DD 06c820621H - DD 0d43e6144H - DD 0c68bceaaH - DD 07e37a9cfH - DD 0d67f4138H - DD 06ec3265dH - DD 07c7689b3H - DD 0c4caeed6H - DD 0591dd66fH - DD 0e1a1b10aH - DD 0f3141ee4H - DD 04ba87981H - DD 013cb69d7H - DD 0ab770eb2H - DD 0b9c2a15cH - DD 017ec639H - DD 09ca9fe80H - DD 0241599e5H - DD 036a0360bH - DD 08e1c516eH - DD 0866616a7H - DD 03eda71c2H - DD 02c6fde2cH - DD 094d3b949H - DD 090481f0H - DD 0b1b8e695H - DD 0a30d497bH - DD 01bb12e1eH - DD 043d23e48H - DD 0fb6e592dH - DD 0e9dbf6c3H - DD 0516791a6H - DD 0ccb0a91fH - DD 0740cce7aH - DD 066b96194H - DD 0de0506f1H - DD 00H - DD 096300777H - DD 02c610eeeH - DD 0ba510999H - DD 019c46d07H - DD 08ff46a70H - DD 035a563e9H - DD 0a395649eH - DD 03288db0eH - DD 0a4b8dc79H - DD 01ee9d5e0H - DD 088d9d297H - DD 02b4cb609H - DD 0bd7cb17eH - DD 072db8e7H - DD 0911dbf90H - DD 06410b71dH - DD 0f220b06aH - DD 04871b9f3H - DD 0de41be84H - DD 07dd4da1aH - DD 0ebe4dd6dH - DD 051b5d4f4H - DD 0c785d383H - DD 056986c13H - DD 0c0a86b64H - DD 07af962fdH - DD 0ecc9658aH - DD 04f5c0114H - DD 0d96c0663H - DD 0633d0ffaH - DD 0f50d088dH - DD 0c8206e3bH - DD 05e10694cH - DD 0e44160d5H - DD 0727167a2H - DD 0d1e4033cH - DD 047d4044bH - DD 0fd850dd2H - DD 06bb50aa5H - DD 0faa8b535H - DD 06c98b242H - DD 0d6c9bbdbH - DD 040f9bcacH - DD 0e36cd832H - DD 0755cdf45H - DD 0cf0dd6dcH - DD 0593dd1abH - DD 0ac30d926H - DD 03a00de51H - DD 08051d7c8H - DD 01661d0bfH - DD 0b5f4b421H - DD 023c4b356H - DD 09995bacfH - DD 0fa5bdb8H - DD 09eb80228H - DD 0888055fH - DD 0b2d90cc6H - DD 024e90bb1H - DD 0877c6f2fH - DD 0114c6858H - DD 0ab1d61c1H - DD 03d2d66b6H - DD 09041dc76H - DD 0671db01H - DD 0bc20d298H - DD 02a10d5efH - DD 08985b171H - DD 01fb5b606H - DD 0a5e4bf9fH - DD 033d4b8e8H - DD 0a2c90778H - DD 034f9000fH - DD 08ea80996H - DD 018980ee1H - DD 0bb0d6a7fH - DD 02d3d6d08H - DD 0976c6491H - DD 015c63e6H - DD 0f4516b6bH - DD 062616c1cH - DD 0d8306585H - DD 04e0062f2H - DD 0ed95066cH - DD 07ba5011bH - DD 0c1f40882H - DD 057c40ff5H - DD 0c6d9b065H - DD 050e9b712H - DD 0eab8be8bH - DD 07c88b9fcH - DD 0df1ddd62H - DD 0492dda15H - DD 0f37cd38cH - DD 0654cd4fbH - DD 05861b24dH - DD 0ce51b53aH - DD 07400bca3H - DD 0e230bbd4H - DD 041a5df4aH - DD 0d795d83dH - DD 06dc4d1a4H - DD 0fbf4d6d3H - DD 06ae96943H - DD 0fcd96e34H - DD 0468867adH - DD 0d0b860daH - DD 0732d0444H - DD 0e51d0333H - DD 05f4c0aaaH - DD 0c97c0dddH - DD 03c710550H - DD 0aa410227H - DD 010100bbeH - DD 086200cc9H - DD 025b56857H - DD 0b3856f20H - DD 09d466b9H - DD 09fe461ceH - DD 0ef9de5eH - DD 098c9d929H - DD 02298d0b0H - DD 0b4a8d7c7H - DD 0173db359H - DD 0810db42eH - DD 03b5cbdb7H - DD 0ad6cbac0H - DD 02083b8edH - DD 0b6b3bf9aH - DD 0ce2b603H - DD 09ad2b174H - DD 03947d5eaH - DD 0af77d29dH - DD 01526db04H - DD 08316dc73H - DD 0120b63e3H - DD 0843b6494H - DD 03e6a6d0dH - DD 0a85a6a7aH - DD 0bcf0ee4H - DD 09dff0993H - DD 027ae000aH - DD 0b19e077dH - DD 044930ff0H - DD 0d2a30887H - DD 068f2011eH - DD 0fec20669H - DD 05d5762f7H - DD 0cb676580H - DD 071366c19H - DD 0e7066b6eH - DD 0761bd4feH - DD 0e02bd389H - DD 05a7ada10H - DD 0cc4add67H - DD 06fdfb9f9H - DD 0f9efbe8eH - DD 043beb717H - DD 0d58eb060H - DD 0e8a3d6d6H - DD 07e93d1a1H - DD 0c4c2d838H - DD 052f2df4fH - DD 0f167bbd1H - DD 06757bca6H - DD 0dd06b53fH - DD 04b36b248H - DD 0da2b0dd8H - DD 04c1b0aafH - DD 0f64a0336H - DD 0607a0441H - DD 0c3ef60dfH - DD 055df67a8H - DD 0ef8e6e31H - DD 079be6946H - DD 08cb361cbH - DD 01a8366bcH - DD 0a0d26f25H - DD 036e26852H - DD 095770cccH - DD 03470bbbH - DD 0b9160222H - DD 02f260555H - DD 0be3bbac5H - DD 0280bbdb2H - DD 0925ab42bH - DD 046ab35cH - DD 0a7ffd7c2H - DD 031cfd0b5H - DD 08b9ed92cH - DD 01daede5bH - DD 0b0c2649bH - DD 026f263ecH - DD 09ca36a75H - DD 0a936d02H - DD 0a906099cH - DD 03f360eebH - DD 085670772H - DD 013570005H - DD 0824abf95H - DD 0147ab8e2H - DD 0ae2bb17bH - DD 0381bb60cH - DD 09b8ed292H - DD 0dbed5e5H - DD 0b7efdc7cH - DD 021dfdb0bH - DD 0d4d2d386H - DD 042e2d4f1H - DD 0f8b3dd68H - DD 06e83da1fH - DD 0cd16be81H - DD 05b26b9f6H - DD 0e177b06fH - DD 07747b718H - DD 0e65a0888H - DD 0706a0fffH - DD 0ca3b0666H - DD 05c0b0111H - DD 0ff9e658fH - DD 069ae62f8H - DD 0d3ff6b61H - DD 045cf6c16H - DD 078e20aa0H - DD 0eed20dd7H - DD 05483044eH - DD 0c2b30339H - DD 0612667a7H - DD 0f71660d0H - DD 04d476949H - DD 0db776e3eH - DD 04a6ad1aeH - DD 0dc5ad6d9H - DD 0660bdf40H - DD 0f03bd837H - DD 053aebca9H - DD 0c59ebbdeH - DD 07fcfb247H - DD 0e9ffb530H - DD 01cf2bdbdH - DD 08ac2bacaH - DD 03093b353H - DD 0a6a3b424H - DD 0536d0baH - DD 09306d7cdH - DD 02957de54H - DD 0bf67d923H - DD 02e7a66b3H - DD 0b84a61c4H - DD 021b685dH - DD 0942b6f2aH - DD 037be0bb4H - DD 0a18e0cc3H - DD 01bdf055aH - DD 08def022dH - DD 00H - DD 041311b19H - DD 082623632H - DD 0c3532d2bH - DD 04c56c64H - DD 045f4777dH - DD 086a75a56H - DD 0c796414fH - DD 088ad9c8H - DD 049bbc2d1H - DD 08ae8effaH - DD 0cbd9f4e3H - DD 0c4fb5acH - DD 04d7eaeb5H - DD 08e2d839eH - DD 0cf1c9887H - DD 05112c24aH - DD 01023d953H - DD 0d370f478H - DD 09241ef61H - DD 055d7ae2eH - DD 014e6b537H - DD 0d7b5981cH - DD 096848305H - DD 059981b82H - DD 018a9009bH - DD 0dbfa2db0H - DD 09acb36a9H - DD 05d5d77e6H - DD 01c6c6cffH - DD 0df3f41d4H - DD 09e0e5acdH - DD 0a2248495H - DD 0e3159f8cH - DD 02046b2a7H - DD 06177a9beH - DD 0a6e1e8f1H - DD 0e7d0f3e8H - DD 02483dec3H - DD 065b2c5daH - DD 0aaae5d5dH - DD 0eb9f4644H - DD 028cc6b6fH - DD 069fd7076H - DD 0ae6b3139H - DD 0ef5a2a20H - DD 02c09070bH - DD 06d381c12H - DD 0f33646dfH - DD 0b2075dc6H - DD 0715470edH - DD 030656bf4H - DD 0f7f32abbH - DD 0b6c231a2H - DD 075911c89H - DD 034a00790H - DD 0fbbc9f17H - DD 0ba8d840eH - DD 079dea925H - DD 038efb23cH - DD 0ff79f373H - DD 0be48e86aH - DD 07d1bc541H - DD 03c2ade58H - DD 054f79f0H - DD 0447e62e9H - DD 0872d4fc2H - DD 0c61c54dbH - DD 018a1594H - DD 040bb0e8dH - DD 083e823a6H - DD 0c2d938bfH - DD 0dc5a038H - DD 04cf4bb21H - DD 08fa7960aH - DD 0ce968d13H - DD 0900cc5cH - DD 04831d745H - DD 08b62fa6eH - DD 0ca53e177H - DD 0545dbbbaH - DD 0156ca0a3H - DD 0d63f8d88H - DD 0970e9691H - DD 05098d7deH - DD 011a9ccc7H - DD 0d2fae1ecH - DD 093cbfaf5H - DD 05cd76272H - DD 01de6796bH - DD 0deb55440H - DD 09f844f59H - DD 058120e16H - DD 01923150fH - DD 0da703824H - DD 09b41233dH - DD 0a76bfd65H - DD 0e65ae67cH - DD 02509cb57H - DD 06438d04eH - DD 0a3ae9101H - DD 0e29f8a18H - DD 021cca733H - DD 060fdbc2aH - DD 0afe124adH - DD 0eed03fb4H - DD 02d83129fH - DD 06cb20986H - DD 0ab2448c9H - DD 0ea1553d0H - DD 029467efbH - DD 0687765e2H - DD 0f6793f2fH - DD 0b7482436H - DD 0741b091dH - DD 0352a1204H - DD 0f2bc534bH - DD 0b38d4852H - DD 070de6579H - DD 031ef7e60H - DD 0fef3e6e7H - DD 0bfc2fdfeH - DD 07c91d0d5H - DD 03da0cbccH - DD 0fa368a83H - DD 0bb07919aH - DD 07854bcb1H - DD 03965a7a8H - DD 04b98833bH - DD 0aa99822H - DD 0c9fab509H - DD 088cbae10H - DD 04f5def5fH - DD 0e6cf446H - DD 0cd3fd96dH - DD 08c0ec274H - DD 043125af3H - DD 022341eaH - DD 0c1706cc1H - DD 0804177d8H - DD 047d73697H - DD 06e62d8eH - DD 0c5b500a5H - DD 084841bbcH - DD 01a8a4171H - DD 05bbb5a68H - DD 098e87743H - DD 0d9d96c5aH - DD 01e4f2d15H - DD 05f7e360cH - DD 09c2d1b27H - DD 0dd1c003eH - DD 0120098b9H - DD 0533183a0H - DD 09062ae8bH - DD 0d153b592H - DD 016c5f4ddH - DD 057f4efc4H - DD 094a7c2efH - DD 0d596d9f6H - DD 0e9bc07aeH - DD 0a88d1cb7H - DD 06bde319cH - DD 02aef2a85H - DD 0ed796bcaH - DD 0ac4870d3H - DD 06f1b5df8H - DD 02e2a46e1H - DD 0e136de66H - DD 0a007c57fH - DD 06354e854H - DD 02265f34dH - DD 0e5f3b202H - DD 0a4c2a91bH - DD 067918430H - DD 026a09f29H - DD 0b8aec5e4H - DD 0f99fdefdH - DD 03accf3d6H - DD 07bfde8cfH - DD 0bc6ba980H - DD 0fd5ab299H - DD 03e099fb2H - DD 07f3884abH - DD 0b0241c2cH - DD 0f1150735H - DD 032462a1eH - DD 073773107H - DD 0b4e17048H - DD 0f5d06b51H - DD 03683467aH - DD 077b25d63H - DD 04ed7facbH - DD 0fe6e1d2H - DD 0ccb5ccf9H - DD 08d84d7e0H - DD 04a1296afH - DD 0b238db6H - DD 0c870a09dH - DD 08941bb84H - DD 0465d2303H - DD 076c381aH - DD 0c43f1531H - DD 0850e0e28H - DD 042984f67H - DD 03a9547eH - DD 0c0fa7955H - DD 081cb624cH - DD 01fc53881H - DD 05ef42398H - DD 09da70eb3H - DD 0dc9615aaH - DD 01b0054e5H - DD 05a314ffcH - DD 0996262d7H - DD 0d85379ceH - DD 0174fe149H - DD 0567efa50H - DD 0952dd77bH - DD 0d41ccc62H - DD 0138a8d2dH - DD 052bb9634H - DD 091e8bb1fH - DD 0d0d9a006H - DD 0ecf37e5eH - DD 0adc26547H - DD 06e91486cH - DD 02fa05375H - DD 0e836123aH - DD 0a9070923H - DD 06a542408H - DD 02b653f11H - DD 0e479a796H - DD 0a548bc8fH - DD 0661b91a4H - DD 0272a8abdH - DD 0e0bccbf2H - DD 0a18dd0ebH - DD 062defdc0H - DD 023efe6d9H - DD 0bde1bc14H - DD 0fcd0a70dH - DD 03f838a26H - DD 07eb2913fH - DD 0b924d070H - DD 0f815cb69H - DD 03b46e642H - DD 07a77fd5bH - DD 0b56b65dcH - DD 0f45a7ec5H - DD 0370953eeH - DD 0763848f7H - DD 0b1ae09b8H - DD 0f09f12a1H - DD 033cc3f8aH - DD 072fd2493H - DD 00H - DD 0376ac201H - DD 06ed48403H - DD 059be4602H - DD 0dca80907H - DD 0ebc2cb06H - DD 0b27c8d04H - DD 085164f05H - DD 0b851130eH - DD 08f3bd10fH - DD 0d685970dH - DD 0e1ef550cH - DD 064f91a09H - DD 05393d808H - DD 0a2d9e0aH - DD 03d475c0bH - DD 070a3261cH - DD 047c9e41dH - DD 01e77a21fH - DD 0291d601eH - DD 0ac0b2f1bH - DD 09b61ed1aH - DD 0c2dfab18H - DD 0f5b56919H - DD 0c8f23512H - DD 0ff98f713H - DD 0a626b111H - DD 0914c7310H - DD 0145a3c15H - DD 02330fe14H - DD 07a8eb816H - DD 04de47a17H - DD 0e0464d38H - DD 0d72c8f39H - DD 08e92c93bH - DD 0b9f80b3aH - DD 03cee443fH - DD 0b84863eH - DD 0523ac03cH - DD 06550023dH - DD 058175e36H - DD 06f7d9c37H - DD 036c3da35H - DD 01a91834H - DD 084bf5731H - DD 0b3d59530H - DD 0ea6bd332H - DD 0dd011133H - DD 090e56b24H - DD 0a78fa925H - DD 0fe31ef27H - DD 0c95b2d26H - DD 04c4d6223H - DD 07b27a022H - DD 02299e620H - DD 015f32421H - DD 028b4782aH - DD 01fdeba2bH - DD 04660fc29H - DD 0710a3e28H - DD 0f41c712dH - DD 0c376b32cH - DD 09ac8f52eH - DD 0ada2372fH - DD 0c08d9a70H - DD 0f7e75871H - DD 0ae591e73H - DD 09933dc72H - DD 01c259377H - DD 02b4f5176H - DD 072f11774H - DD 0459bd575H - DD 078dc897eH - DD 04fb64b7fH - DD 016080d7dH - DD 02162cf7cH - DD 0a4748079H - DD 0931e4278H - DD 0caa0047aH - DD 0fdcac67bH - DD 0b02ebc6cH - DD 087447e6dH - DD 0defa386fH - DD 0e990fa6eH - DD 06c86b56bH - DD 05bec776aH - DD 02523168H - DD 03538f369H - DD 087faf62H - DD 03f156d63H - DD 066ab2b61H - DD 051c1e960H - DD 0d4d7a665H - DD 0e3bd6464H - DD 0ba032266H - DD 08d69e067H - DD 020cbd748H - DD 017a11549H - DD 04e1f534bH - DD 07975914aH - DD 0fc63de4fH - DD 0cb091c4eH - DD 092b75a4cH - DD 0a5dd984dH - DD 0989ac446H - DD 0aff00647H - DD 0f64e4045H - DD 0c1248244H - DD 04432cd41H - DD 073580f40H - DD 02ae64942H - DD 01d8c8b43H - DD 05068f154H - DD 067023355H - DD 03ebc7557H - DD 09d6b756H - DD 08cc0f853H - DD 0bbaa3a52H - DD 0e2147c50H - DD 0d57ebe51H - DD 0e839e25aH - DD 0df53205bH - DD 086ed6659H - DD 0b187a458H - DD 03491eb5dH - DD 03fb295cH - DD 05a456f5eH - DD 06d2fad5fH - DD 0801b35e1H - DD 0b771f7e0H - DD 0eecfb1e2H - DD 0d9a573e3H - DD 05cb33ce6H - DD 06bd9fee7H - DD 03267b8e5H - DD 050d7ae4H - DD 0384a26efH - DD 0f20e4eeH - DD 0569ea2ecH - DD 061f460edH - DD 0e4e22fe8H - DD 0d388ede9H - DD 08a36abebH - DD 0bd5c69eaH - DD 0f0b813fdH - DD 0c7d2d1fcH - DD 09e6c97feH - DD 0a90655ffH - DD 02c101afaH - DD 01b7ad8fbH - DD 042c49ef9H - DD 075ae5cf8H - DD 048e900f3H - DD 07f83c2f2H - DD 0263d84f0H - DD 0115746f1H - DD 0944109f4H - DD 0a32bcbf5H - DD 0fa958df7H - DD 0cdff4ff6H - DD 0605d78d9H - DD 05737bad8H - DD 0e89fcdaH - DD 039e33edbH - DD 0bcf571deH - DD 08b9fb3dfH - DD 0d221f5ddH - DD 0e54b37dcH - DD 0d80c6bd7H - DD 0ef66a9d6H - DD 0b6d8efd4H - DD 081b22dd5H - DD 04a462d0H - DD 033cea0d1H - DD 06a70e6d3H - DD 05d1a24d2H - DD 010fe5ec5H - DD 027949cc4H - DD 07e2adac6H - DD 0494018c7H - DD 0cc5657c2H - DD 0fb3c95c3H - DD 0a282d3c1H - DD 095e811c0H - DD 0a8af4dcbH - DD 09fc58fcaH - DD 0c67bc9c8H - DD 0f1110bc9H - DD 0740744ccH - DD 0436d86cdH - DD 01ad3c0cfH - DD 02db902ceH - DD 04096af91H - DD 077fc6d90H - DD 02e422b92H - DD 01928e993H - DD 09c3ea696H - DD 0ab546497H - DD 0f2ea2295H - DD 0c580e094H - DD 0f8c7bc9fH - DD 0cfad7e9eH - DD 09613389cH - DD 0a179fa9dH - DD 0246fb598H - DD 013057799H - DD 04abb319bH - DD 07dd1f39aH - DD 03035898dH - DD 075f4b8cH - DD 05ee10d8eH - DD 0698bcf8fH - DD 0ec9d808aH - DD 0dbf7428bH - DD 082490489H - DD 0b523c688H - DD 088649a83H - DD 0bf0e5882H - DD 0e6b01e80H - DD 0d1dadc81H - DD 054cc9384H - DD 063a65185H - DD 03a181787H - DD 0d72d586H - DD 0a0d0e2a9H - DD 097ba20a8H - DD 0ce0466aaH - DD 0f96ea4abH - DD 07c78ebaeH - DD 04b1229afH - DD 012ac6fadH - DD 025c6adacH - DD 01881f1a7H - DD 02feb33a6H - DD 0765575a4H - DD 0413fb7a5H - DD 0c429f8a0H - DD 0f3433aa1H - DD 0aafd7ca3H - DD 09d97bea2H - DD 0d073c4b5H - DD 0e71906b4H - DD 0bea740b6H - DD 089cd82b7H - DD 0cdbcdb2H - DD 03bb10fb3H - DD 0620f49b1H - DD 055658bb0H - DD 06822d7bbH - DD 05f4815baH - DD 06f653b8H - DD 0319c91b9H - DD 0b48adebcH - DD 083e01cbdH - DD 0da5e5abfH - DD 0ed3498beH - DD 00H - DD 06567bcb8H - DD 08bc809aaH - DD 0eeafb512H - DD 05797628fH - DD 032f0de37H - DD 0dc5f6b25H - DD 0b938d79dH - DD 0ef28b4c5H - DD 08a4f087dH - DD 064e0bd6fH - DD 018701d7H - DD 0b8bfd64aH - DD 0ddd86af2H - DD 03377dfe0H - DD 056106358H - DD 09f571950H - DD 0fa30a5e8H - DD 0149f10faH - DD 071f8ac42H - DD 0c8c07bdfH - DD 0ada7c767H - DD 043087275H - DD 0266fcecdH - DD 0707fad95H - DD 01518112dH - DD 0fbb7a43fH - DD 09ed01887H - DD 027e8cf1aH - DD 0428f73a2H - DD 0ac20c6b0H - DD 0c9477a08H - DD 03eaf32a0H - DD 05bc88e18H - DD 0b5673b0aH - DD 0d00087b2H - DD 06938502fH - DD 0c5fec97H - DD 0e2f05985H - DD 08797e53dH - DD 0d1878665H - DD 0b4e03addH - DD 05a4f8fcfH - DD 03f283377H - DD 08610e4eaH - DD 0e3775852H - DD 0dd8ed40H - DD 068bf51f8H - DD 0a1f82bf0H - DD 0c49f9748H - DD 02a30225aH - DD 04f579ee2H - DD 0f66f497fH - DD 09308f5c7H - DD 07da740d5H - DD 018c0fc6dH - DD 04ed09f35H - DD 02bb7238dH - DD 0c518969fH - DD 0a07f2a27H - DD 01947fdbaH - DD 07c204102H - DD 0928ff410H - DD 0f7e848a8H - DD 03d58149bH - DD 0583fa823H - DD 0b6901d31H - DD 0d3f7a189H - DD 06acf7614H - DD 0fa8caacH - DD 0e1077fbeH - DD 08460c306H - DD 0d270a05eH - DD 0b7171ce6H - DD 059b8a9f4H - DD 03cdf154cH - DD 085e7c2d1H - DD 0e0807e69H - DD 0e2fcb7bH - DD 06b4877c3H - DD 0a20f0dcbH - DD 0c768b173H - DD 029c70461H - DD 04ca0b8d9H - DD 0f5986f44H - DD 090ffd3fcH - DD 07e5066eeH - DD 01b37da56H - DD 04d27b90eH - DD 0284005b6H - DD 0c6efb0a4H - DD 0a3880c1cH - DD 01ab0db81H - DD 07fd76739H - DD 09178d22bH - DD 0f41f6e93H - DD 03f7263bH - DD 066909a83H - DD 0883f2f91H - DD 0ed589329H - DD 0546044b4H - DD 03107f80cH - DD 0dfa84d1eH - DD 0bacff1a6H - DD 0ecdf92feH - DD 089b82e46H - DD 067179b54H - DD 027027ecH - DD 0bb48f071H - DD 0de2f4cc9H - DD 03080f9dbH - DD 055e74563H - DD 09ca03f6bH - DD 0f9c783d3H - DD 0176836c1H - DD 0720f8a79H - DD 0cb375de4H - DD 0ae50e15cH - DD 040ff544eH - DD 02598e8f6H - DD 073888baeH - DD 016ef3716H - DD 0f8408204H - DD 09d273ebcH - DD 0241fe921H - DD 041785599H - DD 0afd7e08bH - DD 0cab05c33H - DD 03bb659edH - DD 05ed1e555H - DD 0b07e5047H - DD 0d519ecffH - DD 06c213b62H - DD 094687daH - DD 0e7e932c8H - DD 0828e8e70H - DD 0d49eed28H - DD 0b1f95190H - DD 05f56e482H - DD 03a31583aH - DD 083098fa7H - DD 0e66e331fH - DD 08c1860dH - DD 06da63ab5H - DD 0a4e140bdH - DD 0c186fc05H - DD 02f294917H - DD 04a4ef5afH - DD 0f3762232H - DD 096119e8aH - DD 078be2b98H - DD 01dd99720H - DD 04bc9f478H - DD 02eae48c0H - DD 0c001fdd2H - DD 0a566416aH - DD 01c5e96f7H - DD 079392a4fH - DD 097969f5dH - DD 0f2f123e5H - DD 05196b4dH - DD 0607ed7f5H - DD 08ed162e7H - DD 0ebb6de5fH - DD 0528e09c2H - DD 037e9b57aH - DD 0d9460068H - DD 0bc21bcd0H - DD 0ea31df88H - DD 08f566330H - DD 061f9d622H - DD 049e6a9aH - DD 0bda6bd07H - DD 0d8c101bfH - DD 0366eb4adH - DD 053090815H - DD 09a4e721dH - DD 0ff29cea5H - DD 011867bb7H - DD 074e1c70fH - DD 0cdd91092H - DD 0a8beac2aH - DD 046111938H - DD 02376a580H - DD 07566c6d8H - DD 010017a60H - DD 0feaecf72H - DD 09bc973caH - DD 022f1a457H - DD 0479618efH - DD 0a939adfdH - DD 0cc5e1145H - DD 06ee4d76H - DD 06389f1ceH - DD 08d2644dcH - DD 0e841f864H - DD 051792ff9H - DD 0341e9341H - DD 0dab12653H - DD 0bfd69aebH - DD 0e9c6f9b3H - DD 08ca1450bH - DD 0620ef019H - DD 07694ca1H - DD 0be519b3cH - DD 0db362784H - DD 035999296H - DD 050fe2e2eH - DD 099b95426H - DD 0fcdee89eH - DD 012715d8cH - DD 07716e134H - DD 0ce2e36a9H - DD 0ab498a11H - DD 045e63f03H - DD 0208183bbH - DD 07691e0e3H - DD 013f65c5bH - DD 0fd59e949H - DD 0983e55f1H - DD 02106826cH - DD 044613ed4H - DD 0aace8bc6H - DD 0cfa9377eH - DD 038417fd6H - DD 05d26c36eH - DD 0b389767cH - DD 0d6eecac4H - DD 06fd61d59H - DD 0ab1a1e1H - DD 0e41e14f3H - DD 08179a84bH - DD 0d769cb13H - DD 0b20e77abH - DD 05ca1c2b9H - DD 039c67e01H - DD 080fea99cH - DD 0e5991524H - DD 0b36a036H - DD 06e511c8eH - DD 0a7166686H - DD 0c271da3eH - DD 02cde6f2cH - DD 049b9d394H - DD 0f0810409H - DD 095e6b8b1H - DD 07b490da3H - DD 01e2eb11bH - DD 0483ed243H - DD 02d596efbH - DD 0c3f6dbe9H - DD 0a6916751H - DD 01fa9b0ccH - DD 07ace0c74H - DD 09461b966H - DD 0f10605deH -; Function compile flags: /Ogtp -; File d:\fmu\fmusolution\zlib-1.2.6\crc32.c -; COMDAT _gf2_matrix_times -_TEXT SEGMENT -_gf2_matrix_times PROC ; COMDAT -; _mat$ = edx -; _vec$ = ecx - -; 353 : unsigned long sum; -; 354 : -; 355 : sum = 0; - - 00000 33 c0 xor eax, eax - -; 356 : while (vec) { - - 00002 85 c9 test ecx, ecx - 00004 74 0e je SHORT $LN2@gf2_matrix -$LL3@gf2_matrix: - -; 357 : if (vec & 1) - - 00006 f6 c1 01 test cl, 1 - 00009 74 02 je SHORT $LN1@gf2_matrix - -; 358 : sum ^= *mat; - - 0000b 33 02 xor eax, DWORD PTR [edx] -$LN1@gf2_matrix: - -; 359 : vec >>= 1; -; 360 : mat++; - - 0000d 83 c2 04 add edx, 4 - 00010 d1 e9 shr ecx, 1 - 00012 75 f2 jne SHORT $LL3@gf2_matrix -$LN2@gf2_matrix: - -; 361 : } -; 362 : return sum; -; 363 : } - - 00014 c3 ret 0 -_gf2_matrix_times ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _crc32_big -_TEXT SEGMENT -_crc32_big PROC ; COMDAT -; _crc$ = eax -; _buf$ = ecx -; _len$ = edx - -; 313 : { - - 00000 56 push esi - 00001 8b f2 mov esi, edx - 00003 57 push edi - -; 314 : register u4 c; -; 315 : register const u4 FAR *buf4; -; 316 : -; 317 : c = REV((u4)crc); - - 00004 8b d0 mov edx, eax - 00006 81 e2 00 ff 00 - 00 and edx, 65280 ; 0000ff00H - -; 318 : c = ~c; - - 0000c 8b f8 mov edi, eax - 0000e c1 e7 10 shl edi, 16 ; 00000010H - 00011 03 d7 add edx, edi - 00013 8b f8 mov edi, eax - 00015 c1 e2 08 shl edx, 8 - 00018 c1 ef 08 shr edi, 8 - 0001b 81 e7 00 ff 00 - 00 and edi, 65280 ; 0000ff00H - 00021 03 d7 add edx, edi - 00023 c1 e8 18 shr eax, 24 ; 00000018H - 00026 03 d0 add edx, eax - 00028 f7 d2 not edx - -; 319 : while (len && ((ptrdiff_t)buf & 3)) { - - 0002a 85 f6 test esi, esi - 0002c 74 1f je SHORT $LN9@crc32_big - 0002e 8b ff npad 2 -$LL10@crc32_big: - 00030 f6 c1 03 test cl, 3 - 00033 74 18 je SHORT $LN9@crc32_big - -; 320 : c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8); - - 00035 0f b6 39 movzx edi, BYTE PTR [ecx] - 00038 8b c2 mov eax, edx - 0003a c1 e8 18 shr eax, 24 ; 00000018H - 0003d 33 c7 xor eax, edi - 0003f c1 e2 08 shl edx, 8 - 00042 33 14 85 00 10 - 00 00 xor edx, DWORD PTR _crc_table[eax*4+4096] - 00049 41 inc ecx - -; 321 : len--; - - 0004a 4e dec esi - 0004b 75 e3 jne SHORT $LL10@crc32_big -$LN9@crc32_big: - 0004d 53 push ebx - -; 322 : } -; 323 : -; 324 : buf4 = (const u4 FAR *)(const void FAR *)buf; -; 325 : buf4--; - - 0004e 8d 41 fc lea eax, DWORD PTR [ecx-4] - -; 326 : while (len >= 32) { - - 00051 83 fe 20 cmp esi, 32 ; 00000020H - 00054 0f 82 12 02 00 - 00 jb $LN15@crc32_big - -; 322 : } -; 323 : -; 324 : buf4 = (const u4 FAR *)(const void FAR *)buf; -; 325 : buf4--; - - 0005a 8b fe mov edi, esi - 0005c c1 ef 05 shr edi, 5 - 0005f 90 npad 1 -$LL8@crc32_big: - -; 327 : DOBIG32; - - 00060 33 50 04 xor edx, DWORD PTR [eax+4] - 00063 8b ca mov ecx, edx - 00065 c1 e9 10 shr ecx, 16 ; 00000010H - 00068 8b da mov ebx, edx - 0006a c1 eb 08 shr ebx, 8 - 0006d 81 e3 ff 00 00 - 00 and ebx, 255 ; 000000ffH - 00073 81 e1 ff 00 00 - 00 and ecx, 255 ; 000000ffH - 00079 8b 0c 8d 00 18 - 00 00 mov ecx, DWORD PTR _crc_table[ecx*4+6144] - 00080 33 0c 9d 00 14 - 00 00 xor ecx, DWORD PTR _crc_table[ebx*4+5120] - 00087 8b da mov ebx, edx - 00089 c1 eb 18 shr ebx, 24 ; 00000018H - 0008c 33 0c 9d 00 1c - 00 00 xor ecx, DWORD PTR _crc_table[ebx*4+7168] - 00093 81 e2 ff 00 00 - 00 and edx, 255 ; 000000ffH - 00099 33 0c 95 00 10 - 00 00 xor ecx, DWORD PTR _crc_table[edx*4+4096] - 000a0 33 48 08 xor ecx, DWORD PTR [eax+8] - 000a3 8b d1 mov edx, ecx - 000a5 c1 ea 10 shr edx, 16 ; 00000010H - 000a8 81 e2 ff 00 00 - 00 and edx, 255 ; 000000ffH - 000ae 8b 14 95 00 18 - 00 00 mov edx, DWORD PTR _crc_table[edx*4+6144] - 000b5 8b d9 mov ebx, ecx - 000b7 c1 eb 08 shr ebx, 8 - 000ba 81 e3 ff 00 00 - 00 and ebx, 255 ; 000000ffH - 000c0 33 14 9d 00 14 - 00 00 xor edx, DWORD PTR _crc_table[ebx*4+5120] - 000c7 8b d9 mov ebx, ecx - 000c9 c1 eb 18 shr ebx, 24 ; 00000018H - 000cc 33 14 9d 00 1c - 00 00 xor edx, DWORD PTR _crc_table[ebx*4+7168] - 000d3 81 e1 ff 00 00 - 00 and ecx, 255 ; 000000ffH - 000d9 33 14 8d 00 10 - 00 00 xor edx, DWORD PTR _crc_table[ecx*4+4096] - 000e0 33 50 0c xor edx, DWORD PTR [eax+12] - 000e3 8b ca mov ecx, edx - 000e5 c1 e9 10 shr ecx, 16 ; 00000010H - 000e8 8b da mov ebx, edx - 000ea c1 eb 08 shr ebx, 8 - 000ed 81 e3 ff 00 00 - 00 and ebx, 255 ; 000000ffH - 000f3 81 e1 ff 00 00 - 00 and ecx, 255 ; 000000ffH - 000f9 8b 0c 8d 00 18 - 00 00 mov ecx, DWORD PTR _crc_table[ecx*4+6144] - 00100 33 0c 9d 00 14 - 00 00 xor ecx, DWORD PTR _crc_table[ebx*4+5120] - 00107 8b da mov ebx, edx - 00109 c1 eb 18 shr ebx, 24 ; 00000018H - 0010c 33 0c 9d 00 1c - 00 00 xor ecx, DWORD PTR _crc_table[ebx*4+7168] - 00113 81 e2 ff 00 00 - 00 and edx, 255 ; 000000ffH - 00119 33 0c 95 00 10 - 00 00 xor ecx, DWORD PTR _crc_table[edx*4+4096] - 00120 33 48 10 xor ecx, DWORD PTR [eax+16] - 00123 8b d1 mov edx, ecx - 00125 c1 ea 10 shr edx, 16 ; 00000010H - 00128 81 e2 ff 00 00 - 00 and edx, 255 ; 000000ffH - 0012e 8b 14 95 00 18 - 00 00 mov edx, DWORD PTR _crc_table[edx*4+6144] - 00135 8b d9 mov ebx, ecx - 00137 c1 eb 08 shr ebx, 8 - 0013a 81 e3 ff 00 00 - 00 and ebx, 255 ; 000000ffH - 00140 33 14 9d 00 14 - 00 00 xor edx, DWORD PTR _crc_table[ebx*4+5120] - 00147 8b d9 mov ebx, ecx - 00149 c1 eb 18 shr ebx, 24 ; 00000018H - 0014c 33 14 9d 00 1c - 00 00 xor edx, DWORD PTR _crc_table[ebx*4+7168] - 00153 81 e1 ff 00 00 - 00 and ecx, 255 ; 000000ffH - 00159 33 14 8d 00 10 - 00 00 xor edx, DWORD PTR _crc_table[ecx*4+4096] - 00160 33 50 14 xor edx, DWORD PTR [eax+20] - 00163 8b ca mov ecx, edx - 00165 c1 e9 10 shr ecx, 16 ; 00000010H - 00168 8b da mov ebx, edx - 0016a c1 eb 08 shr ebx, 8 - 0016d 81 e1 ff 00 00 - 00 and ecx, 255 ; 000000ffH - 00173 8b 0c 8d 00 18 - 00 00 mov ecx, DWORD PTR _crc_table[ecx*4+6144] - 0017a 81 e3 ff 00 00 - 00 and ebx, 255 ; 000000ffH - 00180 33 0c 9d 00 14 - 00 00 xor ecx, DWORD PTR _crc_table[ebx*4+5120] - 00187 8b da mov ebx, edx - 00189 c1 eb 18 shr ebx, 24 ; 00000018H - 0018c 33 0c 9d 00 1c - 00 00 xor ecx, DWORD PTR _crc_table[ebx*4+7168] - 00193 81 e2 ff 00 00 - 00 and edx, 255 ; 000000ffH - 00199 33 0c 95 00 10 - 00 00 xor ecx, DWORD PTR _crc_table[edx*4+4096] - 001a0 33 48 18 xor ecx, DWORD PTR [eax+24] - 001a3 8b d1 mov edx, ecx - 001a5 c1 ea 10 shr edx, 16 ; 00000010H - 001a8 81 e2 ff 00 00 - 00 and edx, 255 ; 000000ffH - 001ae 8b 14 95 00 18 - 00 00 mov edx, DWORD PTR _crc_table[edx*4+6144] - 001b5 8b d9 mov ebx, ecx - 001b7 c1 eb 08 shr ebx, 8 - 001ba 81 e3 ff 00 00 - 00 and ebx, 255 ; 000000ffH - 001c0 33 14 9d 00 14 - 00 00 xor edx, DWORD PTR _crc_table[ebx*4+5120] - 001c7 8b d9 mov ebx, ecx - 001c9 c1 eb 18 shr ebx, 24 ; 00000018H - 001cc 33 14 9d 00 1c - 00 00 xor edx, DWORD PTR _crc_table[ebx*4+7168] - 001d3 81 e1 ff 00 00 - 00 and ecx, 255 ; 000000ffH - 001d9 33 14 8d 00 10 - 00 00 xor edx, DWORD PTR _crc_table[ecx*4+4096] - 001e0 83 c0 20 add eax, 32 ; 00000020H - 001e3 33 50 fc xor edx, DWORD PTR [eax-4] - -; 328 : len -= 32; - - 001e6 83 ee 20 sub esi, 32 ; 00000020H - 001e9 8b ca mov ecx, edx - 001eb 8b da mov ebx, edx - 001ed c1 e9 10 shr ecx, 16 ; 00000010H - 001f0 c1 eb 08 shr ebx, 8 - 001f3 81 e1 ff 00 00 - 00 and ecx, 255 ; 000000ffH - 001f9 8b 0c 8d 00 18 - 00 00 mov ecx, DWORD PTR _crc_table[ecx*4+6144] - 00200 81 e3 ff 00 00 - 00 and ebx, 255 ; 000000ffH - 00206 33 0c 9d 00 14 - 00 00 xor ecx, DWORD PTR _crc_table[ebx*4+5120] - 0020d 8b da mov ebx, edx - 0020f c1 eb 18 shr ebx, 24 ; 00000018H - 00212 33 0c 9d 00 1c - 00 00 xor ecx, DWORD PTR _crc_table[ebx*4+7168] - 00219 81 e2 ff 00 00 - 00 and edx, 255 ; 000000ffH - 0021f 33 0c 95 00 10 - 00 00 xor ecx, DWORD PTR _crc_table[edx*4+4096] - 00226 33 08 xor ecx, DWORD PTR [eax] - 00228 8b d1 mov edx, ecx - 0022a c1 ea 10 shr edx, 16 ; 00000010H - 0022d 81 e2 ff 00 00 - 00 and edx, 255 ; 000000ffH - 00233 8b 14 95 00 18 - 00 00 mov edx, DWORD PTR _crc_table[edx*4+6144] - 0023a 8b d9 mov ebx, ecx - 0023c c1 eb 08 shr ebx, 8 - 0023f 81 e3 ff 00 00 - 00 and ebx, 255 ; 000000ffH - 00245 33 14 9d 00 14 - 00 00 xor edx, DWORD PTR _crc_table[ebx*4+5120] - 0024c 8b d9 mov ebx, ecx - 0024e c1 eb 18 shr ebx, 24 ; 00000018H - 00251 33 14 9d 00 1c - 00 00 xor edx, DWORD PTR _crc_table[ebx*4+7168] - 00258 81 e1 ff 00 00 - 00 and ecx, 255 ; 000000ffH - 0025e 33 14 8d 00 10 - 00 00 xor edx, DWORD PTR _crc_table[ecx*4+4096] - 00265 4f dec edi - 00266 0f 85 f4 fd ff - ff jne $LL8@crc32_big -$LN15@crc32_big: - -; 329 : } -; 330 : while (len >= 4) { - - 0026c 83 fe 04 cmp esi, 4 - 0026f 72 50 jb SHORT $LN5@crc32_big - 00271 8b ce mov ecx, esi - 00273 c1 e9 02 shr ecx, 2 -$LL6@crc32_big: - -; 331 : DOBIG4; - - 00276 33 50 04 xor edx, DWORD PTR [eax+4] - 00279 83 c0 04 add eax, 4 - 0027c 8b fa mov edi, edx - 0027e c1 ef 10 shr edi, 16 ; 00000010H - 00281 81 e7 ff 00 00 - 00 and edi, 255 ; 000000ffH - 00287 8b 3c bd 00 18 - 00 00 mov edi, DWORD PTR _crc_table[edi*4+6144] - 0028e 8b da mov ebx, edx - 00290 c1 eb 08 shr ebx, 8 - 00293 81 e3 ff 00 00 - 00 and ebx, 255 ; 000000ffH - 00299 33 3c 9d 00 14 - 00 00 xor edi, DWORD PTR _crc_table[ebx*4+5120] - 002a0 8b da mov ebx, edx - 002a2 c1 eb 18 shr ebx, 24 ; 00000018H - 002a5 33 3c 9d 00 1c - 00 00 xor edi, DWORD PTR _crc_table[ebx*4+7168] - 002ac 81 e2 ff 00 00 - 00 and edx, 255 ; 000000ffH - 002b2 33 3c 95 00 10 - 00 00 xor edi, DWORD PTR _crc_table[edx*4+4096] - -; 332 : len -= 4; - - 002b9 83 ee 04 sub esi, 4 - 002bc 49 dec ecx - 002bd 8b d7 mov edx, edi - 002bf 75 b5 jne SHORT $LL6@crc32_big -$LN5@crc32_big: - -; 333 : } -; 334 : buf4++; - - 002c1 83 c0 04 add eax, 4 - 002c4 5b pop ebx - -; 335 : buf = (const unsigned char FAR *)buf4; -; 336 : -; 337 : if (len) do { - - 002c5 85 f6 test esi, esi - 002c7 74 1f je SHORT $LN1@crc32_big - 002c9 8d a4 24 00 00 - 00 00 npad 7 -$LL3@crc32_big: - -; 338 : c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8); - - 002d0 0f b6 38 movzx edi, BYTE PTR [eax] - 002d3 8b ca mov ecx, edx - 002d5 c1 e9 18 shr ecx, 24 ; 00000018H - 002d8 33 cf xor ecx, edi - 002da c1 e2 08 shl edx, 8 - 002dd 33 14 8d 00 10 - 00 00 xor edx, DWORD PTR _crc_table[ecx*4+4096] - 002e4 40 inc eax - -; 339 : } while (--len); - - 002e5 4e dec esi - 002e6 75 e8 jne SHORT $LL3@crc32_big -$LN1@crc32_big: - -; 340 : c = ~c; - - 002e8 f7 d2 not edx - -; 341 : return (unsigned long)(REV(c)); - - 002ea 8b c2 mov eax, edx - 002ec 25 00 ff 00 00 and eax, 65280 ; 0000ff00H - 002f1 8b ca mov ecx, edx - 002f3 c1 e1 10 shl ecx, 16 ; 00000010H - 002f6 03 c1 add eax, ecx - 002f8 8b ca mov ecx, edx - 002fa c1 e9 08 shr ecx, 8 - 002fd c1 e0 08 shl eax, 8 - 00300 81 e1 00 ff 00 - 00 and ecx, 65280 ; 0000ff00H - 00306 03 c1 add eax, ecx - 00308 c1 ea 18 shr edx, 24 ; 00000018H - 0030b 5f pop edi - 0030c 03 c2 add eax, edx - 0030e 5e pop esi - -; 342 : } - - 0030f c3 ret 0 -_crc32_big ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _crc32_little -_TEXT SEGMENT -_crc32_little PROC ; COMDAT -; _crc$ = eax -; _buf$ = ecx -; _len$ = edx - -; 273 : { - - 00000 56 push esi - 00001 8b f2 mov esi, edx - -; 274 : register u4 c; -; 275 : register const u4 FAR *buf4; -; 276 : -; 277 : c = (u4)crc; -; 278 : c = ~c; - - 00003 f7 d0 not eax - -; 279 : while (len && ((ptrdiff_t)buf & 3)) { - - 00005 85 f6 test esi, esi - 00007 74 25 je SHORT $LN9@crc32_litt - 00009 8d a4 24 00 00 - 00 00 npad 7 -$LL10@crc32_litt: - 00010 f6 c1 03 test cl, 3 - 00013 74 19 je SHORT $LN9@crc32_litt - -; 280 : c = crc_table[0][(c ^ *buf++) & 0xff] ^ (c >> 8); - - 00015 0f b6 11 movzx edx, BYTE PTR [ecx] - 00018 33 d0 xor edx, eax - 0001a 81 e2 ff 00 00 - 00 and edx, 255 ; 000000ffH - 00020 c1 e8 08 shr eax, 8 - 00023 33 04 95 00 00 - 00 00 xor eax, DWORD PTR _crc_table[edx*4] - 0002a 41 inc ecx - -; 281 : len--; - - 0002b 4e dec esi - 0002c 75 e2 jne SHORT $LL10@crc32_litt -$LN9@crc32_litt: - 0002e 53 push ebx - 0002f 57 push edi - -; 285 : while (len >= 32) { - - 00030 83 fe 20 cmp esi, 32 ; 00000020H - 00033 0f 82 0b 02 00 - 00 jb $LN15@crc32_litt - -; 282 : } -; 283 : -; 284 : buf4 = (const u4 FAR *)(const void FAR *)buf; - - 00039 8b fe mov edi, esi - 0003b c1 ef 05 shr edi, 5 - 0003e 8b ff npad 2 -$LL8@crc32_litt: - -; 286 : DOLIT32; - - 00040 33 01 xor eax, DWORD PTR [ecx] - 00042 8b d0 mov edx, eax - 00044 c1 ea 10 shr edx, 16 ; 00000010H - 00047 8b d8 mov ebx, eax - 00049 c1 eb 08 shr ebx, 8 - 0004c 81 e3 ff 00 00 - 00 and ebx, 255 ; 000000ffH - 00052 81 e2 ff 00 00 - 00 and edx, 255 ; 000000ffH - 00058 8b 14 95 00 04 - 00 00 mov edx, DWORD PTR _crc_table[edx*4+1024] - 0005f 33 14 9d 00 08 - 00 00 xor edx, DWORD PTR _crc_table[ebx*4+2048] - 00066 8b d8 mov ebx, eax - 00068 c1 eb 18 shr ebx, 24 ; 00000018H - 0006b 33 14 9d 00 00 - 00 00 xor edx, DWORD PTR _crc_table[ebx*4] - 00072 25 ff 00 00 00 and eax, 255 ; 000000ffH - 00077 33 14 85 00 0c - 00 00 xor edx, DWORD PTR _crc_table[eax*4+3072] - 0007e 33 51 04 xor edx, DWORD PTR [ecx+4] - 00081 8b c2 mov eax, edx - 00083 c1 e8 10 shr eax, 16 ; 00000010H - 00086 25 ff 00 00 00 and eax, 255 ; 000000ffH - 0008b 8b 04 85 00 04 - 00 00 mov eax, DWORD PTR _crc_table[eax*4+1024] - 00092 8b da mov ebx, edx - 00094 c1 eb 08 shr ebx, 8 - 00097 81 e3 ff 00 00 - 00 and ebx, 255 ; 000000ffH - 0009d 33 04 9d 00 08 - 00 00 xor eax, DWORD PTR _crc_table[ebx*4+2048] - 000a4 8b da mov ebx, edx - 000a6 c1 eb 18 shr ebx, 24 ; 00000018H - 000a9 33 04 9d 00 00 - 00 00 xor eax, DWORD PTR _crc_table[ebx*4] - 000b0 81 e2 ff 00 00 - 00 and edx, 255 ; 000000ffH - 000b6 33 04 95 00 0c - 00 00 xor eax, DWORD PTR _crc_table[edx*4+3072] - 000bd 33 41 08 xor eax, DWORD PTR [ecx+8] - 000c0 8b d0 mov edx, eax - 000c2 c1 ea 10 shr edx, 16 ; 00000010H - 000c5 8b d8 mov ebx, eax - 000c7 c1 eb 08 shr ebx, 8 - 000ca 81 e3 ff 00 00 - 00 and ebx, 255 ; 000000ffH - 000d0 81 e2 ff 00 00 - 00 and edx, 255 ; 000000ffH - 000d6 8b 14 95 00 04 - 00 00 mov edx, DWORD PTR _crc_table[edx*4+1024] - 000dd 33 14 9d 00 08 - 00 00 xor edx, DWORD PTR _crc_table[ebx*4+2048] - 000e4 8b d8 mov ebx, eax - 000e6 c1 eb 18 shr ebx, 24 ; 00000018H - 000e9 33 14 9d 00 00 - 00 00 xor edx, DWORD PTR _crc_table[ebx*4] - 000f0 25 ff 00 00 00 and eax, 255 ; 000000ffH - 000f5 33 14 85 00 0c - 00 00 xor edx, DWORD PTR _crc_table[eax*4+3072] - 000fc 33 51 0c xor edx, DWORD PTR [ecx+12] - 000ff 8b c2 mov eax, edx - 00101 c1 e8 10 shr eax, 16 ; 00000010H - 00104 25 ff 00 00 00 and eax, 255 ; 000000ffH - 00109 8b 04 85 00 04 - 00 00 mov eax, DWORD PTR _crc_table[eax*4+1024] - 00110 8b da mov ebx, edx - 00112 c1 eb 08 shr ebx, 8 - 00115 81 e3 ff 00 00 - 00 and ebx, 255 ; 000000ffH - 0011b 33 04 9d 00 08 - 00 00 xor eax, DWORD PTR _crc_table[ebx*4+2048] - 00122 8b da mov ebx, edx - 00124 c1 eb 18 shr ebx, 24 ; 00000018H - 00127 33 04 9d 00 00 - 00 00 xor eax, DWORD PTR _crc_table[ebx*4] - 0012e 81 e2 ff 00 00 - 00 and edx, 255 ; 000000ffH - 00134 33 04 95 00 0c - 00 00 xor eax, DWORD PTR _crc_table[edx*4+3072] - 0013b 33 41 10 xor eax, DWORD PTR [ecx+16] - 0013e 8b d0 mov edx, eax - 00140 c1 ea 10 shr edx, 16 ; 00000010H - 00143 8b d8 mov ebx, eax - 00145 c1 eb 08 shr ebx, 8 - 00148 81 e2 ff 00 00 - 00 and edx, 255 ; 000000ffH - 0014e 8b 14 95 00 04 - 00 00 mov edx, DWORD PTR _crc_table[edx*4+1024] - 00155 81 e3 ff 00 00 - 00 and ebx, 255 ; 000000ffH - 0015b 33 14 9d 00 08 - 00 00 xor edx, DWORD PTR _crc_table[ebx*4+2048] - 00162 8b d8 mov ebx, eax - 00164 c1 eb 18 shr ebx, 24 ; 00000018H - 00167 33 14 9d 00 00 - 00 00 xor edx, DWORD PTR _crc_table[ebx*4] - 0016e 25 ff 00 00 00 and eax, 255 ; 000000ffH - 00173 33 14 85 00 0c - 00 00 xor edx, DWORD PTR _crc_table[eax*4+3072] - 0017a 33 51 14 xor edx, DWORD PTR [ecx+20] - 0017d 8b c2 mov eax, edx - 0017f c1 e8 10 shr eax, 16 ; 00000010H - 00182 25 ff 00 00 00 and eax, 255 ; 000000ffH - 00187 8b 04 85 00 04 - 00 00 mov eax, DWORD PTR _crc_table[eax*4+1024] - 0018e 8b da mov ebx, edx - 00190 c1 eb 08 shr ebx, 8 - 00193 81 e3 ff 00 00 - 00 and ebx, 255 ; 000000ffH - 00199 33 04 9d 00 08 - 00 00 xor eax, DWORD PTR _crc_table[ebx*4+2048] - 001a0 8b da mov ebx, edx - 001a2 c1 eb 18 shr ebx, 24 ; 00000018H - 001a5 33 04 9d 00 00 - 00 00 xor eax, DWORD PTR _crc_table[ebx*4] - 001ac 81 e2 ff 00 00 - 00 and edx, 255 ; 000000ffH - 001b2 33 04 95 00 0c - 00 00 xor eax, DWORD PTR _crc_table[edx*4+3072] - 001b9 83 c1 20 add ecx, 32 ; 00000020H - 001bc 33 41 f8 xor eax, DWORD PTR [ecx-8] - -; 287 : len -= 32; - - 001bf 83 ee 20 sub esi, 32 ; 00000020H - 001c2 8b d0 mov edx, eax - 001c4 8b d8 mov ebx, eax - 001c6 c1 ea 10 shr edx, 16 ; 00000010H - 001c9 c1 eb 08 shr ebx, 8 - 001cc 81 e2 ff 00 00 - 00 and edx, 255 ; 000000ffH - 001d2 8b 14 95 00 04 - 00 00 mov edx, DWORD PTR _crc_table[edx*4+1024] - 001d9 81 e3 ff 00 00 - 00 and ebx, 255 ; 000000ffH - 001df 33 14 9d 00 08 - 00 00 xor edx, DWORD PTR _crc_table[ebx*4+2048] - 001e6 8b d8 mov ebx, eax - 001e8 c1 eb 18 shr ebx, 24 ; 00000018H - 001eb 33 14 9d 00 00 - 00 00 xor edx, DWORD PTR _crc_table[ebx*4] - 001f2 25 ff 00 00 00 and eax, 255 ; 000000ffH - 001f7 33 14 85 00 0c - 00 00 xor edx, DWORD PTR _crc_table[eax*4+3072] - 001fe 33 51 fc xor edx, DWORD PTR [ecx-4] - 00201 8b c2 mov eax, edx - 00203 c1 e8 10 shr eax, 16 ; 00000010H - 00206 25 ff 00 00 00 and eax, 255 ; 000000ffH - 0020b 8b 04 85 00 04 - 00 00 mov eax, DWORD PTR _crc_table[eax*4+1024] - 00212 8b da mov ebx, edx - 00214 c1 eb 08 shr ebx, 8 - 00217 81 e3 ff 00 00 - 00 and ebx, 255 ; 000000ffH - 0021d 33 04 9d 00 08 - 00 00 xor eax, DWORD PTR _crc_table[ebx*4+2048] - 00224 8b da mov ebx, edx - 00226 c1 eb 18 shr ebx, 24 ; 00000018H - 00229 33 04 9d 00 00 - 00 00 xor eax, DWORD PTR _crc_table[ebx*4] - 00230 81 e2 ff 00 00 - 00 and edx, 255 ; 000000ffH - 00236 33 04 95 00 0c - 00 00 xor eax, DWORD PTR _crc_table[edx*4+3072] - 0023d 4f dec edi - 0023e 0f 85 fc fd ff - ff jne $LL8@crc32_litt -$LN15@crc32_litt: - -; 288 : } -; 289 : while (len >= 4) { - - 00244 83 fe 04 cmp esi, 4 - 00247 72 50 jb SHORT $LN5@crc32_litt - 00249 8b d6 mov edx, esi - 0024b c1 ea 02 shr edx, 2 - 0024e 8b ff npad 2 -$LL6@crc32_litt: - -; 290 : DOLIT4; - - 00250 33 01 xor eax, DWORD PTR [ecx] - 00252 83 c1 04 add ecx, 4 - 00255 8b f8 mov edi, eax - 00257 c1 ef 10 shr edi, 16 ; 00000010H - 0025a 81 e7 ff 00 00 - 00 and edi, 255 ; 000000ffH - 00260 8b 3c bd 00 04 - 00 00 mov edi, DWORD PTR _crc_table[edi*4+1024] - 00267 8b d8 mov ebx, eax - 00269 c1 eb 08 shr ebx, 8 - 0026c 81 e3 ff 00 00 - 00 and ebx, 255 ; 000000ffH - 00272 33 3c 9d 00 08 - 00 00 xor edi, DWORD PTR _crc_table[ebx*4+2048] - 00279 8b d8 mov ebx, eax - 0027b c1 eb 18 shr ebx, 24 ; 00000018H - 0027e 33 3c 9d 00 00 - 00 00 xor edi, DWORD PTR _crc_table[ebx*4] - 00285 25 ff 00 00 00 and eax, 255 ; 000000ffH - 0028a 33 3c 85 00 0c - 00 00 xor edi, DWORD PTR _crc_table[eax*4+3072] - -; 291 : len -= 4; - - 00291 83 ee 04 sub esi, 4 - 00294 4a dec edx - 00295 8b c7 mov eax, edi - 00297 75 b7 jne SHORT $LL6@crc32_litt -$LN5@crc32_litt: - 00299 5f pop edi - 0029a 5b pop ebx - -; 292 : } -; 293 : buf = (const unsigned char FAR *)buf4; -; 294 : -; 295 : if (len) do { - - 0029b 85 f6 test esi, esi - 0029d 74 1a je SHORT $LN1@crc32_litt - 0029f 90 npad 1 -$LL3@crc32_litt: - -; 296 : c = crc_table[0][(c ^ *buf++) & 0xff] ^ (c >> 8); - - 002a0 0f b6 11 movzx edx, BYTE PTR [ecx] - 002a3 33 d0 xor edx, eax - 002a5 81 e2 ff 00 00 - 00 and edx, 255 ; 000000ffH - 002ab c1 e8 08 shr eax, 8 - 002ae 33 04 95 00 00 - 00 00 xor eax, DWORD PTR _crc_table[edx*4] - 002b5 41 inc ecx - -; 297 : } while (--len); - - 002b6 4e dec esi - 002b7 75 e7 jne SHORT $LL3@crc32_litt -$LN1@crc32_litt: - -; 298 : c = ~c; - - 002b9 f7 d0 not eax - 002bb 5e pop esi - -; 299 : return (unsigned long)c; -; 300 : } - - 002bc c3 ret 0 -_crc32_little ENDP -_TEXT ENDS -PUBLIC _crc32@12 -; Function compile flags: /Ogtp -; COMDAT _crc32@12 -_TEXT SEGMENT -_crc$ = 8 ; size = 4 -_buf$ = 12 ; size = 4 -_len$ = 16 ; size = 4 -_crc32@12 PROC ; COMDAT - -; 230 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 231 : if (buf == Z_NULL) return 0UL; - - 00003 8b 4d 0c mov ecx, DWORD PTR _buf$[ebp] - 00006 85 c9 test ecx, ecx - 00008 75 06 jne SHORT $LN10@crc32 - 0000a 33 c0 xor eax, eax - -; 245 : else -; 246 : return crc32_big(crc, buf, len); -; 247 : } -; 248 : #endif /* BYFOUR */ -; 249 : crc = crc ^ 0xffffffffUL; -; 250 : while (len >= 8) { -; 251 : DO8; -; 252 : len -= 8; -; 253 : } -; 254 : if (len) do { -; 255 : DO1; -; 256 : } while (--len); -; 257 : return crc ^ 0xffffffffUL; -; 258 : } - - 0000c 5d pop ebp - 0000d c2 0c 00 ret 12 ; 0000000cH -$LN10@crc32: - -; 232 : -; 233 : #ifdef DYNAMIC_CRC_TABLE -; 234 : if (crc_table_empty) -; 235 : make_crc_table(); -; 236 : #endif /* DYNAMIC_CRC_TABLE */ -; 237 : -; 238 : #ifdef BYFOUR -; 239 : if (sizeof(void *) == sizeof(ptrdiff_t)) { -; 240 : u4 endian; -; 241 : -; 242 : endian = 1; -; 243 : if (*((unsigned char *)(&endian))) -; 244 : return crc32_little(crc, buf, len); - - 00010 8b 55 10 mov edx, DWORD PTR _len$[ebp] - 00013 8b 45 08 mov eax, DWORD PTR _crc$[ebp] - 00016 e8 00 00 00 00 call _crc32_little - -; 245 : else -; 246 : return crc32_big(crc, buf, len); -; 247 : } -; 248 : #endif /* BYFOUR */ -; 249 : crc = crc ^ 0xffffffffUL; -; 250 : while (len >= 8) { -; 251 : DO8; -; 252 : len -= 8; -; 253 : } -; 254 : if (len) do { -; 255 : DO1; -; 256 : } while (--len); -; 257 : return crc ^ 0xffffffffUL; -; 258 : } - - 0001b 5d pop ebp - 0001c c2 0c 00 ret 12 ; 0000000cH -_crc32@12 ENDP -_TEXT ENDS -PUBLIC _get_crc_table@0 -; Function compile flags: /Ogtp -; COMDAT _get_crc_table@0 -_TEXT SEGMENT -_get_crc_table@0 PROC ; COMDAT - -; 214 : #ifdef DYNAMIC_CRC_TABLE -; 215 : if (crc_table_empty) -; 216 : make_crc_table(); -; 217 : #endif /* DYNAMIC_CRC_TABLE */ -; 218 : return (const unsigned long FAR *)crc_table; - - 00000 b8 00 00 00 00 mov eax, OFFSET _crc_table - -; 219 : } - - 00005 c3 ret 0 -_get_crc_table@0 ENDP -; Function compile flags: /Ogtp -; COMDAT _gf2_matrix_square -_TEXT SEGMENT -_mat$ = 8 ; size = 4 -_gf2_matrix_square PROC ; COMDAT -; _square$ = eax - -; 369 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - 00004 56 push esi - 00005 57 push edi - -; 370 : int n; -; 371 : -; 372 : for (n = 0; n < GF2_DIM; n++) - - 00006 8b 7d 08 mov edi, DWORD PTR _mat$[ebp] - 00009 8b f0 mov esi, eax - 0000b 2b fe sub edi, esi - 0000d bb 20 00 00 00 mov ebx, 32 ; 00000020H -$LL8@gf2_matrix@2: - -; 373 : square[n] = gf2_matrix_times(mat, mat[n]); - - 00012 8b 0c 37 mov ecx, DWORD PTR [edi+esi] - 00015 8b 55 08 mov edx, DWORD PTR _mat$[ebp] - 00018 e8 00 00 00 00 call _gf2_matrix_times - 0001d 89 06 mov DWORD PTR [esi], eax - 0001f 83 c6 04 add esi, 4 - 00022 4b dec ebx - 00023 75 ed jne SHORT $LL8@gf2_matrix@2 - 00025 5f pop edi - 00026 5e pop esi - 00027 5b pop ebx - -; 374 : } - - 00028 5d pop ebp - 00029 c3 ret 0 -_gf2_matrix_square ENDP -; Function compile flags: /Ogtp -; COMDAT _crc32_combine_ -_TEXT SEGMENT -_even$ = -256 ; size = 128 -_odd$ = -128 ; size = 128 -_crc2$ = 8 ; size = 4 -_len2$ = 12 ; size = 8 -_crc32_combine_ PROC ; COMDAT -; _crc1$ = eax - -; 381 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 81 ec 00 01 00 - 00 sub esp, 256 ; 00000100H - 00009 53 push ebx - 0000a 56 push esi - -; 382 : int n; -; 383 : unsigned long row; -; 384 : unsigned long even[GF2_DIM]; /* even-power-of-two zeros operator */ -; 385 : unsigned long odd[GF2_DIM]; /* odd-power-of-two zeros operator */ -; 386 : -; 387 : /* degenerate case (also disallow negative lengths) */ -; 388 : if (len2 <= 0) - - 0000b 8b 75 10 mov esi, DWORD PTR _len2$[ebp+4] - 0000e 57 push edi - 0000f 8b 7d 0c mov edi, DWORD PTR _len2$[ebp] - 00012 8b d8 mov ebx, eax - 00014 85 f6 test esi, esi - 00016 7f 0e jg SHORT $LN10@crc32_comb - 00018 0f 8c b5 00 00 - 00 jl $LN11@crc32_comb - 0001e 85 ff test edi, edi - -; 389 : return crc1; - - 00020 0f 84 ad 00 00 - 00 je $LN11@crc32_comb -$LN10@crc32_comb: - -; 390 : -; 391 : /* put operator for one zero bit in odd */ -; 392 : odd[0] = 0xedb88320UL; /* CRC-32 polynomial */ -; 393 : row = 1; - - 00026 b9 01 00 00 00 mov ecx, 1 - 0002b c7 45 80 20 83 - b8 ed mov DWORD PTR _odd$[ebp], -306674912 ; edb88320H - -; 394 : for (n = 1; n < GF2_DIM; n++) { - - 00032 8b c1 mov eax, ecx -$LL9@crc32_comb: - -; 395 : odd[n] = row; - - 00034 89 4c 85 80 mov DWORD PTR _odd$[ebp+eax*4], ecx - 00038 40 inc eax - -; 396 : row <<= 1; - - 00039 03 c9 add ecx, ecx - 0003b 83 f8 20 cmp eax, 32 ; 00000020H - 0003e 7c f4 jl SHORT $LL9@crc32_comb - -; 397 : } -; 398 : -; 399 : /* put operator for two zero bits in even */ -; 400 : gf2_matrix_square(even, odd); - - 00040 8d 45 80 lea eax, DWORD PTR _odd$[ebp] - 00043 50 push eax - 00044 8d 85 00 ff ff - ff lea eax, DWORD PTR _even$[ebp] - 0004a e8 00 00 00 00 call _gf2_matrix_square - -; 401 : -; 402 : /* put operator for four zero bits in odd */ -; 403 : gf2_matrix_square(odd, even); - - 0004f 8d 8d 00 ff ff - ff lea ecx, DWORD PTR _even$[ebp] - 00055 51 push ecx - 00056 8d 45 80 lea eax, DWORD PTR _odd$[ebp] - 00059 e8 00 00 00 00 call _gf2_matrix_square - 0005e 83 c4 08 add esp, 8 -$LL6@crc32_comb: - -; 404 : -; 405 : /* apply len2 zeros to crc1 (first square will put the operator for one -; 406 : zero byte, eight zero bits, in even) */ -; 407 : do { -; 408 : /* apply zeros operator for this bit of len2 */ -; 409 : gf2_matrix_square(even, odd); - - 00061 8d 55 80 lea edx, DWORD PTR _odd$[ebp] - 00064 52 push edx - 00065 8d 85 00 ff ff - ff lea eax, DWORD PTR _even$[ebp] - 0006b e8 00 00 00 00 call _gf2_matrix_square - -; 410 : if (len2 & 1) - - 00070 8b c7 mov eax, edi - 00072 83 e0 01 and eax, 1 - 00075 33 c9 xor ecx, ecx - 00077 83 c4 04 add esp, 4 - 0007a 0b c1 or eax, ecx - 0007c 74 0f je SHORT $LN3@crc32_comb - -; 411 : crc1 = gf2_matrix_times(even, crc1); - - 0007e 8b cb mov ecx, ebx - 00080 8d 95 00 ff ff - ff lea edx, DWORD PTR _even$[ebp] - 00086 e8 00 00 00 00 call _gf2_matrix_times - 0008b 8b d8 mov ebx, eax -$LN3@crc32_comb: - -; 412 : len2 >>= 1; - - 0008d 0f ac f7 01 shrd edi, esi, 1 - 00091 d1 fe sar esi, 1 - -; 413 : -; 414 : /* if no more bits set, then done */ -; 415 : if (len2 == 0) - - 00093 8b c7 mov eax, edi - 00095 0b c6 or eax, esi - 00097 74 35 je SHORT $LN4@crc32_comb - -; 416 : break; -; 417 : -; 418 : /* another iteration of the loop with odd and even swapped */ -; 419 : gf2_matrix_square(odd, even); - - 00099 8d 8d 00 ff ff - ff lea ecx, DWORD PTR _even$[ebp] - 0009f 51 push ecx - 000a0 8d 45 80 lea eax, DWORD PTR _odd$[ebp] - 000a3 e8 00 00 00 00 call _gf2_matrix_square - -; 420 : if (len2 & 1) - - 000a8 8b c7 mov eax, edi - 000aa 83 e0 01 and eax, 1 - 000ad 33 c9 xor ecx, ecx - 000af 83 c4 04 add esp, 4 - 000b2 0b c1 or eax, ecx - 000b4 74 0c je SHORT $LN1@crc32_comb - -; 421 : crc1 = gf2_matrix_times(odd, crc1); - - 000b6 8b cb mov ecx, ebx - 000b8 8d 55 80 lea edx, DWORD PTR _odd$[ebp] - 000bb e8 00 00 00 00 call _gf2_matrix_times - 000c0 8b d8 mov ebx, eax -$LN1@crc32_comb: - -; 422 : len2 >>= 1; - - 000c2 0f ac f7 01 shrd edi, esi, 1 - 000c6 d1 fe sar esi, 1 - -; 423 : -; 424 : /* if no more bits set, then done */ -; 425 : } while (len2 != 0); - - 000c8 8b d7 mov edx, edi - 000ca 0b d6 or edx, esi - 000cc 75 93 jne SHORT $LL6@crc32_comb -$LN4@crc32_comb: - -; 426 : -; 427 : /* return combined crc */ -; 428 : crc1 ^= crc2; - - 000ce 8b c3 mov eax, ebx - 000d0 33 45 08 xor eax, DWORD PTR _crc2$[ebp] -$LN11@crc32_comb: - 000d3 5f pop edi - 000d4 5e pop esi - 000d5 5b pop ebx - -; 429 : return crc1; -; 430 : } - - 000d6 8b e5 mov esp, ebp - 000d8 5d pop ebp - 000d9 c3 ret 0 -_crc32_combine_ ENDP -PUBLIC _crc32_combine@12 -; Function compile flags: /Ogtp -; COMDAT _crc32_combine@12 -_TEXT SEGMENT -_crc1$ = 8 ; size = 4 -_crc2$ = 12 ; size = 4 -_len2$ = 16 ; size = 4 -_crc32_combine@12 PROC ; COMDAT - -; 437 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 438 : return crc32_combine_(crc1, crc2, len2); - - 00003 8b 45 10 mov eax, DWORD PTR _len2$[ebp] - 00006 99 cdq - 00007 52 push edx - 00008 50 push eax - 00009 8b 45 0c mov eax, DWORD PTR _crc2$[ebp] - 0000c 50 push eax - 0000d 8b 45 08 mov eax, DWORD PTR _crc1$[ebp] - 00010 e8 00 00 00 00 call _crc32_combine_ - 00015 83 c4 0c add esp, 12 ; 0000000cH - -; 439 : } - - 00018 5d pop ebp - 00019 c2 0c 00 ret 12 ; 0000000cH -_crc32_combine@12 ENDP -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/deflate.cod b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/deflate.cod deleted file mode 100644 index 4d72add4..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/deflate.cod +++ /dev/null @@ -1,6565 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.30319.01 - - TITLE D:\FMU\FMUSolution\zlib-1.2.6\deflate.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC _deflate_copyright -EXTRN _match_init:PROC -EXTRN _longest_match:PROC - ORG $+2 -_deflate_copyright DB ' deflate 1.2.6 Copyright 1995-2012 Jean-loup Gaill' - DB 'y and Mark Adler ', 00H - ORG $+4 -_configuration_table DW 00H - DW 00H - DW 00H - DW 00H - DD FLAT:_deflate_stored - DW 04H - DW 04H - DW 08H - DW 04H - DD FLAT:_deflate_fast - DW 04H - DW 05H - DW 010H - DW 08H - DD FLAT:_deflate_fast - DW 04H - DW 06H - DW 020H - DW 020H - DD FLAT:_deflate_fast - DW 04H - DW 04H - DW 010H - DW 010H - DD FLAT:_deflate_slow - DW 08H - DW 010H - DW 020H - DW 020H - DD FLAT:_deflate_slow - DW 08H - DW 010H - DW 080H - DW 080H - DD FLAT:_deflate_slow - DW 08H - DW 020H - DW 080H - DW 0100H - DD FLAT:_deflate_slow - DW 020H - DW 080H - DW 0102H - DW 0400H - DD FLAT:_deflate_slow - DW 020H - DW 0102H - DW 0102H - DW 01000H - DD FLAT:_deflate_slow -?my_version@?1??deflateInit2_@@9@9 DB '1.2.6', 00H ; `deflateInit2_'::`2'::my_version -; Function compile flags: /Ogtp -; File d:\fmu\fmusolution\zlib-1.2.6\deflate.c -; COMDAT _lm_init -_TEXT SEGMENT -_lm_init PROC ; COMDAT -; _s$ = esi - -; 1107 : s->window_size = (ulg)2L*s->w_size; - - 00000 8b 46 2c mov eax, DWORD PTR [esi+44] - -; 1108 : -; 1109 : CLEAR_HASH(s); - - 00003 8b 4e 4c mov ecx, DWORD PTR [esi+76] - 00006 8b 56 44 mov edx, DWORD PTR [esi+68] - 00009 03 c0 add eax, eax - 0000b 89 46 3c mov DWORD PTR [esi+60], eax - 0000e 33 c0 xor eax, eax - 00010 66 89 44 4a fe mov WORD PTR [edx+ecx*2-2], ax - 00015 8b 4e 4c mov ecx, DWORD PTR [esi+76] - 00018 8b 46 44 mov eax, DWORD PTR [esi+68] - 0001b 57 push edi - 0001c 8d 54 09 fe lea edx, DWORD PTR [ecx+ecx-2] - 00020 52 push edx - 00021 33 ff xor edi, edi - 00023 57 push edi - 00024 50 push eax - 00025 e8 00 00 00 00 call _memset - -; 1110 : -; 1111 : /* Set the default configuration parameters: -; 1112 : */ -; 1113 : s->max_lazy_match = configuration_table[s->level].max_lazy; - - 0002a 8b 86 84 00 00 - 00 mov eax, DWORD PTR [esi+132] - 00030 8d 04 40 lea eax, DWORD PTR [eax+eax*2] - 00033 03 c0 add eax, eax - 00035 0f b7 8c 00 02 - 00 00 00 movzx ecx, WORD PTR _configuration_table[eax+eax+2] - 0003d 83 c4 0c add esp, 12 ; 0000000cH - 00040 03 c0 add eax, eax - 00042 89 8e 80 00 00 - 00 mov DWORD PTR [esi+128], ecx - -; 1114 : s->good_match = configuration_table[s->level].good_length; - - 00048 0f b7 90 00 00 - 00 00 movzx edx, WORD PTR _configuration_table[eax] - 0004f 89 96 8c 00 00 - 00 mov DWORD PTR [esi+140], edx - -; 1115 : s->nice_match = configuration_table[s->level].nice_length; - - 00055 0f b7 88 04 00 - 00 00 movzx ecx, WORD PTR _configuration_table[eax+4] - 0005c 89 8e 90 00 00 - 00 mov DWORD PTR [esi+144], ecx - -; 1116 : s->max_chain_length = configuration_table[s->level].max_chain; - - 00062 0f b7 90 06 00 - 00 00 movzx edx, WORD PTR _configuration_table[eax+6] - -; 1117 : -; 1118 : s->strstart = 0; -; 1119 : s->block_start = 0L; -; 1120 : s->lookahead = 0; -; 1121 : s->insert = 0; -; 1122 : s->match_length = s->prev_length = MIN_MATCH-1; - - 00069 b8 02 00 00 00 mov eax, 2 - 0006e 89 7e 6c mov DWORD PTR [esi+108], edi - 00071 89 7e 5c mov DWORD PTR [esi+92], edi - 00074 89 7e 74 mov DWORD PTR [esi+116], edi - 00077 89 be b4 16 00 - 00 mov DWORD PTR [esi+5812], edi - -; 1123 : s->match_available = 0; - - 0007d 89 7e 68 mov DWORD PTR [esi+104], edi - -; 1124 : s->ins_h = 0; - - 00080 89 7e 48 mov DWORD PTR [esi+72], edi - 00083 89 56 7c mov DWORD PTR [esi+124], edx - 00086 89 46 78 mov DWORD PTR [esi+120], eax - 00089 89 46 60 mov DWORD PTR [esi+96], eax - 0008c 5f pop edi - -; 1125 : #ifndef FASTEST -; 1126 : #ifdef ASMV -; 1127 : match_init(); /* initialize the asm code */ - - 0008d e9 00 00 00 00 jmp _match_init -_lm_init ENDP -_TEXT ENDS -PUBLIC _deflateEnd@4 -; Function compile flags: /Ogtp -; COMDAT _deflateEnd@4 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_deflateEnd@4 PROC ; COMDAT - -; 979 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 980 : int status; -; 981 : -; 982 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00004 8b 75 08 mov esi, DWORD PTR _strm$[ebp] - 00007 85 f6 test esi, esi - 00009 0f 84 c2 00 00 - 00 je $LN6@deflateEnd - 0000f 8b 46 1c mov eax, DWORD PTR [esi+28] - 00012 85 c0 test eax, eax - 00014 0f 84 b7 00 00 - 00 je $LN6@deflateEnd - -; 983 : -; 984 : status = strm->state->status; - - 0001a 57 push edi - 0001b 8b 78 04 mov edi, DWORD PTR [eax+4] - -; 985 : if (status != INIT_STATE && -; 986 : status != EXTRA_STATE && -; 987 : status != NAME_STATE && -; 988 : status != COMMENT_STATE && -; 989 : status != HCRC_STATE && -; 990 : status != BUSY_STATE && -; 991 : status != FINISH_STATE) { - - 0001e 83 ff 2a cmp edi, 42 ; 0000002aH - 00021 74 2c je SHORT $LN5@deflateEnd - 00023 83 ff 45 cmp edi, 69 ; 00000045H - 00026 74 27 je SHORT $LN5@deflateEnd - 00028 83 ff 49 cmp edi, 73 ; 00000049H - 0002b 74 22 je SHORT $LN5@deflateEnd - 0002d 83 ff 5b cmp edi, 91 ; 0000005bH - 00030 74 1d je SHORT $LN5@deflateEnd - 00032 83 ff 67 cmp edi, 103 ; 00000067H - 00035 74 18 je SHORT $LN5@deflateEnd - 00037 83 ff 71 cmp edi, 113 ; 00000071H - 0003a 74 13 je SHORT $LN5@deflateEnd - 0003c 81 ff 9a 02 00 - 00 cmp edi, 666 ; 0000029aH - 00042 74 0b je SHORT $LN5@deflateEnd - -; 992 : return Z_STREAM_ERROR; - - 00044 5f pop edi - 00045 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 0004a 5e pop esi - -; 1005 : } - - 0004b 5d pop ebp - 0004c c2 04 00 ret 4 -$LN5@deflateEnd: - -; 993 : } -; 994 : -; 995 : /* Deallocate in reverse order of allocations: */ -; 996 : TRY_FREE(strm, strm->state->pending_buf); - - 0004f 8b 40 08 mov eax, DWORD PTR [eax+8] - 00052 85 c0 test eax, eax - 00054 74 0d je SHORT $LN4@deflateEnd - 00056 8b 4e 24 mov ecx, DWORD PTR [esi+36] - 00059 50 push eax - 0005a 8b 46 28 mov eax, DWORD PTR [esi+40] - 0005d 50 push eax - 0005e ff d1 call ecx - 00060 83 c4 08 add esp, 8 -$LN4@deflateEnd: - -; 997 : TRY_FREE(strm, strm->state->head); - - 00063 8b 56 1c mov edx, DWORD PTR [esi+28] - 00066 8b 42 44 mov eax, DWORD PTR [edx+68] - 00069 85 c0 test eax, eax - 0006b 74 0d je SHORT $LN3@deflateEnd - 0006d 8b 4e 24 mov ecx, DWORD PTR [esi+36] - 00070 50 push eax - 00071 8b 46 28 mov eax, DWORD PTR [esi+40] - 00074 50 push eax - 00075 ff d1 call ecx - 00077 83 c4 08 add esp, 8 -$LN3@deflateEnd: - -; 998 : TRY_FREE(strm, strm->state->prev); - - 0007a 8b 56 1c mov edx, DWORD PTR [esi+28] - 0007d 8b 42 40 mov eax, DWORD PTR [edx+64] - 00080 85 c0 test eax, eax - 00082 74 0d je SHORT $LN2@deflateEnd - 00084 8b 4e 24 mov ecx, DWORD PTR [esi+36] - 00087 50 push eax - 00088 8b 46 28 mov eax, DWORD PTR [esi+40] - 0008b 50 push eax - 0008c ff d1 call ecx - 0008e 83 c4 08 add esp, 8 -$LN2@deflateEnd: - -; 999 : TRY_FREE(strm, strm->state->window); - - 00091 8b 56 1c mov edx, DWORD PTR [esi+28] - 00094 8b 42 38 mov eax, DWORD PTR [edx+56] - 00097 85 c0 test eax, eax - 00099 74 0d je SHORT $LN1@deflateEnd - 0009b 8b 4e 24 mov ecx, DWORD PTR [esi+36] - 0009e 50 push eax - 0009f 8b 46 28 mov eax, DWORD PTR [esi+40] - 000a2 50 push eax - 000a3 ff d1 call ecx - 000a5 83 c4 08 add esp, 8 -$LN1@deflateEnd: - -; 1000 : -; 1001 : ZFREE(strm, strm->state); - - 000a8 8b 56 1c mov edx, DWORD PTR [esi+28] - 000ab 8b 46 28 mov eax, DWORD PTR [esi+40] - 000ae 8b 4e 24 mov ecx, DWORD PTR [esi+36] - 000b1 52 push edx - 000b2 50 push eax - 000b3 ff d1 call ecx - 000b5 83 c4 08 add esp, 8 - -; 1002 : strm->state = Z_NULL; -; 1003 : -; 1004 : return status == BUSY_STATE ? Z_DATA_ERROR : Z_OK; - - 000b8 33 c0 xor eax, eax - 000ba 83 ff 71 cmp edi, 113 ; 00000071H - 000bd 0f 95 c0 setne al - 000c0 5f pop edi - 000c1 c7 46 1c 00 00 - 00 00 mov DWORD PTR [esi+28], 0 - 000c8 5e pop esi - 000c9 48 dec eax - 000ca 83 e0 fd and eax, -3 ; fffffffdH - -; 1005 : } - - 000cd 5d pop ebp - 000ce c2 04 00 ret 4 -$LN6@deflateEnd: - -; 980 : int status; -; 981 : -; 982 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 000d1 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 000d6 5e pop esi - -; 1005 : } - - 000d7 5d pop ebp - 000d8 c2 04 00 ret 4 -_deflateEnd@4 ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _flush_pending -_TEXT SEGMENT -_flush_pending PROC ; COMDAT -; _strm$ = edi - -; 642 : { - - 00000 53 push ebx - -; 643 : unsigned len; -; 644 : deflate_state *s = strm->state; - - 00001 8b 5f 1c mov ebx, DWORD PTR [edi+28] - 00004 56 push esi - -; 645 : -; 646 : _tr_flush_bits(s); - - 00005 8b c3 mov eax, ebx - 00007 e8 00 00 00 00 call __tr_flush_bits - -; 647 : len = s->pending; - - 0000c 8b 73 14 mov esi, DWORD PTR [ebx+20] - -; 648 : if (len > strm->avail_out) len = strm->avail_out; - - 0000f 8b 47 10 mov eax, DWORD PTR [edi+16] - 00012 3b f0 cmp esi, eax - 00014 76 02 jbe SHORT $LN3@flush_pend - 00016 8b f0 mov esi, eax -$LN3@flush_pend: - -; 649 : if (len == 0) return; - - 00018 85 f6 test esi, esi - 0001a 74 28 je SHORT $LN1@flush_pend - -; 650 : -; 651 : zmemcpy(strm->next_out, s->pending_out, len); - - 0001c 8b 43 10 mov eax, DWORD PTR [ebx+16] - 0001f 8b 4f 0c mov ecx, DWORD PTR [edi+12] - 00022 56 push esi - 00023 50 push eax - 00024 51 push ecx - 00025 e8 00 00 00 00 call _memcpy - -; 652 : strm->next_out += len; - - 0002a 01 77 0c add DWORD PTR [edi+12], esi - -; 653 : s->pending_out += len; - - 0002d 01 73 10 add DWORD PTR [ebx+16], esi - -; 654 : strm->total_out += len; - - 00030 01 77 14 add DWORD PTR [edi+20], esi - -; 655 : strm->avail_out -= len; - - 00033 29 77 10 sub DWORD PTR [edi+16], esi - 00036 83 c4 0c add esp, 12 ; 0000000cH - -; 656 : s->pending -= len; - - 00039 29 73 14 sub DWORD PTR [ebx+20], esi - -; 657 : if (s->pending == 0) { - - 0003c 75 06 jne SHORT $LN1@flush_pend - -; 658 : s->pending_out = s->pending_buf; - - 0003e 8b 53 08 mov edx, DWORD PTR [ebx+8] - 00041 89 53 10 mov DWORD PTR [ebx+16], edx -$LN1@flush_pend: - -; 659 : } -; 660 : } - - 00044 5e pop esi - 00045 5b pop ebx - 00046 c3 ret 0 -_flush_pending ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _putShortMSB -_TEXT SEGMENT -_putShortMSB PROC ; COMDAT -; _s$ = eax -; _b$ = ecx - -; 629 : { - - 00000 56 push esi - -; 630 : put_byte(s, (Byte)(b >> 8)); - - 00001 8b 70 08 mov esi, DWORD PTR [eax+8] - 00004 57 push edi - 00005 8b 78 14 mov edi, DWORD PTR [eax+20] - 00008 8b d1 mov edx, ecx - 0000a c1 ea 08 shr edx, 8 - 0000d 88 14 3e mov BYTE PTR [esi+edi], dl - -; 631 : put_byte(s, (Byte)(b & 0xff)); - - 00010 8b 78 08 mov edi, DWORD PTR [eax+8] - 00013 be 01 00 00 00 mov esi, 1 - 00018 01 70 14 add DWORD PTR [eax+20], esi - 0001b 8b 50 14 mov edx, DWORD PTR [eax+20] - 0001e 88 0c 3a mov BYTE PTR [edx+edi], cl - 00021 01 70 14 add DWORD PTR [eax+20], esi - 00024 5f pop edi - 00025 5e pop esi - -; 632 : } - - 00026 c3 ret 0 -_putShortMSB ENDP -_TEXT ENDS -PUBLIC _deflateBound@8 -; Function compile flags: /Ogtp -; COMDAT _deflateBound@8 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_complen$ = 12 ; size = 4 -_sourceLen$ = 12 ; size = 4 -_deflateBound@8 PROC ; COMDAT - -; 567 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 568 : deflate_state *s; -; 569 : uLong complen, wraplen; -; 570 : Bytef *str; -; 571 : -; 572 : /* conservative upper bound for compressed data */ -; 573 : complen = sourceLen + -; 574 : ((sourceLen + 7) >> 3) + ((sourceLen + 63) >> 6) + 5; - - 00003 8b 55 0c mov edx, DWORD PTR _sourceLen$[ebp] - 00006 8d 42 3f lea eax, DWORD PTR [edx+63] - 00009 c1 e8 06 shr eax, 6 - 0000c 8d 4a 07 lea ecx, DWORD PTR [edx+7] - 0000f 03 c2 add eax, edx - 00011 c1 e9 03 shr ecx, 3 - 00014 8d 4c 01 05 lea ecx, DWORD PTR [ecx+eax+5] - -; 575 : -; 576 : /* if can't get parameters, return conservative bound plus zlib wrapper */ -; 577 : if (strm == Z_NULL || strm->state == Z_NULL) - - 00018 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 0001b 57 push edi - 0001c 89 4d 0c mov DWORD PTR _complen$[ebp], ecx - 0001f 85 c0 test eax, eax - 00021 0f 84 ac 00 00 - 00 je $LN20@deflateBou - 00027 8b 78 1c mov edi, DWORD PTR [eax+28] - 0002a 85 ff test edi, edi - 0002c 0f 84 a1 00 00 - 00 je $LN20@deflateBou - -; 579 : -; 580 : /* compute wrapper length */ -; 581 : s = strm->state; -; 582 : switch (s->wrap) { - - 00032 8b 47 18 mov eax, DWORD PTR [edi+24] - 00035 83 e8 00 sub eax, 0 - 00038 56 push esi - 00039 74 5f je SHORT $LN17@deflateBou - 0003b 48 dec eax - 0003c 74 4d je SHORT $LN16@deflateBou - 0003e 48 dec eax - 0003f 74 07 je SHORT $LN15@deflateBou - -; 608 : default: /* for compiler happiness */ -; 609 : wraplen = 6; - - 00041 b8 06 00 00 00 mov eax, 6 - 00046 eb 54 jmp SHORT $LN28@deflateBou -$LN15@deflateBou: - -; 589 : case 2: /* gzip wrapper */ -; 590 : wraplen = 18; -; 591 : if (s->gzhead != Z_NULL) { /* user-supplied gzip header */ - - 00048 8b 77 1c mov esi, DWORD PTR [edi+28] - 0004b b8 12 00 00 00 mov eax, 18 ; 00000012H - 00050 85 f6 test esi, esi - 00052 74 48 je SHORT $LN28@deflateBou - -; 592 : if (s->gzhead->extra != Z_NULL) - - 00054 83 7e 10 00 cmp DWORD PTR [esi+16], 0 - 00058 74 06 je SHORT $LN13@deflateBou - -; 593 : wraplen += 2 + s->gzhead->extra_len; - - 0005a 8b 46 14 mov eax, DWORD PTR [esi+20] - 0005d 83 c0 14 add eax, 20 ; 00000014H -$LN13@deflateBou: - -; 594 : str = s->gzhead->name; - - 00060 8b 4e 1c mov ecx, DWORD PTR [esi+28] - 00063 53 push ebx - -; 595 : if (str != Z_NULL) - - 00064 85 c9 test ecx, ecx - 00066 74 08 je SHORT $LN9@deflateBou -$LL11@deflateBou: - -; 596 : do { -; 597 : wraplen++; -; 598 : } while (*str++); - - 00068 8a 19 mov bl, BYTE PTR [ecx] - 0006a 40 inc eax - 0006b 41 inc ecx - 0006c 84 db test bl, bl - 0006e 75 f8 jne SHORT $LL11@deflateBou -$LN9@deflateBou: - -; 599 : str = s->gzhead->comment; - - 00070 8b 4e 24 mov ecx, DWORD PTR [esi+36] - -; 600 : if (str != Z_NULL) - - 00073 85 c9 test ecx, ecx - 00075 74 08 je SHORT $LN5@deflateBou -$LL7@deflateBou: - -; 601 : do { -; 602 : wraplen++; -; 603 : } while (*str++); - - 00077 8a 19 mov bl, BYTE PTR [ecx] - 00079 40 inc eax - 0007a 41 inc ecx - 0007b 84 db test bl, bl - 0007d 75 f8 jne SHORT $LL7@deflateBou -$LN5@deflateBou: - -; 604 : if (s->gzhead->hcrc) - - 0007f 83 7e 2c 00 cmp DWORD PTR [esi+44], 0 - 00083 5b pop ebx - 00084 74 16 je SHORT $LN28@deflateBou - -; 605 : wraplen += 2; - - 00086 83 c0 02 add eax, 2 - -; 606 : } -; 607 : break; - - 00089 eb 11 jmp SHORT $LN28@deflateBou -$LN16@deflateBou: - -; 585 : break; -; 586 : case 1: /* zlib wrapper */ -; 587 : wraplen = 6 + (s->strstart ? 4 : 0); - - 0008b 8b 47 6c mov eax, DWORD PTR [edi+108] - 0008e f7 d8 neg eax - 00090 1b c0 sbb eax, eax - 00092 83 e0 04 and eax, 4 - 00095 83 c0 06 add eax, 6 - -; 588 : break; - - 00098 eb 02 jmp SHORT $LN28@deflateBou -$LN17@deflateBou: - -; 583 : case 0: /* raw deflate */ -; 584 : wraplen = 0; - - 0009a 33 c0 xor eax, eax -$LN28@deflateBou: - -; 610 : } -; 611 : -; 612 : /* if not default parameters, return conservative bound */ -; 613 : if (s->w_bits != 15 || s->hash_bits != 8 + 7) - - 0009c b9 0f 00 00 00 mov ecx, 15 ; 0000000fH - 000a1 39 4f 30 cmp DWORD PTR [edi+48], ecx - 000a4 75 24 jne SHORT $LN1@deflateBou - 000a6 39 4f 50 cmp DWORD PTR [edi+80], ecx - 000a9 75 1f jne SHORT $LN1@deflateBou - -; 615 : -; 616 : /* default settings: return tight bound for that case */ -; 617 : return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) + -; 618 : (sourceLen >> 25) + 13 - 6 + wraplen; - - 000ab 8b f2 mov esi, edx - 000ad c1 ee 0e shr esi, 14 ; 0000000eH - 000b0 03 f0 add esi, eax - 000b2 8b ca mov ecx, edx - 000b4 c1 e9 19 shr ecx, 25 ; 00000019H - 000b7 8b c2 mov eax, edx - 000b9 c1 e8 0c shr eax, 12 ; 0000000cH - 000bc 03 f1 add esi, ecx - 000be 03 c6 add eax, esi - 000c0 5e pop esi - 000c1 8d 44 10 07 lea eax, DWORD PTR [eax+edx+7] - 000c5 5f pop edi - -; 619 : } - - 000c6 5d pop ebp - 000c7 c2 08 00 ret 8 -$LN1@deflateBou: - -; 614 : return complen + wraplen; - - 000ca 03 45 0c add eax, DWORD PTR _complen$[ebp] - 000cd 5e pop esi - 000ce 5f pop edi - -; 619 : } - - 000cf 5d pop ebp - 000d0 c2 08 00 ret 8 -$LN20@deflateBou: - -; 578 : return complen + 6; - - 000d3 8d 41 06 lea eax, DWORD PTR [ecx+6] - 000d6 5f pop edi - -; 619 : } - - 000d7 5d pop ebp - 000d8 c2 08 00 ret 8 -_deflateBound@8 ENDP -_TEXT ENDS -PUBLIC _deflateTune@20 -; Function compile flags: /Ogtp -; COMDAT _deflateTune@20 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_good_length$ = 12 ; size = 4 -_max_lazy$ = 16 ; size = 4 -_nice_length$ = 20 ; size = 4 -_max_chain$ = 24 ; size = 4 -_deflateTune@20 PROC ; COMDAT - -; 535 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 536 : deflate_state *s; -; 537 : -; 538 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00003 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00006 85 c0 test eax, eax - 00008 74 2e je SHORT $LN1@deflateTun - 0000a 8b 40 1c mov eax, DWORD PTR [eax+28] - 0000d 85 c0 test eax, eax - 0000f 74 27 je SHORT $LN1@deflateTun - -; 539 : s = strm->state; -; 540 : s->good_match = good_length; - - 00011 8b 4d 0c mov ecx, DWORD PTR _good_length$[ebp] - -; 541 : s->max_lazy_match = max_lazy; - - 00014 8b 55 10 mov edx, DWORD PTR _max_lazy$[ebp] - 00017 89 88 8c 00 00 - 00 mov DWORD PTR [eax+140], ecx - -; 542 : s->nice_match = nice_length; - - 0001d 8b 4d 14 mov ecx, DWORD PTR _nice_length$[ebp] - 00020 89 90 80 00 00 - 00 mov DWORD PTR [eax+128], edx - -; 543 : s->max_chain_length = max_chain; - - 00026 8b 55 18 mov edx, DWORD PTR _max_chain$[ebp] - 00029 89 88 90 00 00 - 00 mov DWORD PTR [eax+144], ecx - 0002f 89 50 7c mov DWORD PTR [eax+124], edx - -; 544 : return Z_OK; - - 00032 33 c0 xor eax, eax - -; 545 : } - - 00034 5d pop ebp - 00035 c2 14 00 ret 20 ; 00000014H -$LN1@deflateTun: - -; 536 : deflate_state *s; -; 537 : -; 538 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00038 b8 fe ff ff ff mov eax, -2 ; fffffffeH - -; 545 : } - - 0003d 5d pop ebp - 0003e c2 14 00 ret 20 ; 00000014H -_deflateTune@20 ENDP -_TEXT ENDS -PUBLIC _deflatePrime@12 -; Function compile flags: /Ogtp -; COMDAT _deflatePrime@12 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_bits$ = 12 ; size = 4 -_value$ = 16 ; size = 4 -_deflatePrime@12 PROC ; COMDAT - -; 468 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 469 : deflate_state *s; -; 470 : int put; -; 471 : -; 472 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00003 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00006 85 c0 test eax, eax - 00008 74 74 je SHORT $LN6@deflatePri - 0000a 8b 40 1c mov eax, DWORD PTR [eax+28] - 0000d 85 c0 test eax, eax - 0000f 74 6d je SHORT $LN6@deflatePri - -; 473 : s = strm->state; -; 474 : if ((Bytef *)(s->d_buf) < s->pending_out + ((Buf_size + 7) >> 3)) - - 00011 8b 48 10 mov ecx, DWORD PTR [eax+16] - 00014 83 c1 02 add ecx, 2 - 00017 39 88 a4 16 00 - 00 cmp DWORD PTR [eax+5796], ecx - 0001d 73 09 jae SHORT $LN10@deflatePri - -; 475 : return Z_BUF_ERROR; - - 0001f b8 fb ff ff ff mov eax, -5 ; fffffffbH - -; 487 : } - - 00024 5d pop ebp - 00025 c2 0c 00 ret 12 ; 0000000cH -$LN10@deflatePri: - 00028 53 push ebx - 00029 56 push esi - 0002a 57 push edi - -; 475 : return Z_BUF_ERROR; - - 0002b 8b 7d 0c mov edi, DWORD PTR _bits$[ebp] - 0002e 8b ff npad 2 -$LL4@deflatePri: - -; 476 : do { -; 477 : put = Buf_size - s->bi_valid; - - 00030 8b 90 bc 16 00 - 00 mov edx, DWORD PTR [eax+5820] - 00036 be 10 00 00 00 mov esi, 16 ; 00000010H - 0003b 2b f2 sub esi, edx - -; 478 : if (put > bits) - - 0003d 3b f7 cmp esi, edi - 0003f 7e 02 jle SHORT $LN1@deflatePri - -; 479 : put = bits; - - 00041 8b f7 mov esi, edi -$LN1@deflatePri: - -; 480 : s->bi_buf |= (ush)((value & ((1 << put) - 1)) << s->bi_valid); - - 00043 8b ce mov ecx, esi - 00045 bb 01 00 00 00 mov ebx, 1 - 0004a 66 d3 e3 shl bx, cl - 0004d 8b ca mov ecx, edx - -; 481 : s->bi_valid += put; - - 0004f 03 d6 add edx, esi - 00051 89 90 bc 16 00 - 00 mov DWORD PTR [eax+5820], edx - 00057 66 4b dec bx - 00059 66 23 5d 10 and bx, WORD PTR _value$[ebp] - 0005d 66 d3 e3 shl bx, cl - 00060 66 09 98 b8 16 - 00 00 or WORD PTR [eax+5816], bx - -; 482 : _tr_flush_bits(s); - - 00067 e8 00 00 00 00 call __tr_flush_bits - -; 483 : value >>= put; - - 0006c 8b ce mov ecx, esi - 0006e d3 7d 10 sar DWORD PTR _value$[ebp], cl - -; 484 : bits -= put; - - 00071 2b fe sub edi, esi - -; 485 : } while (bits); - - 00073 75 bb jne SHORT $LL4@deflatePri - -; 486 : return Z_OK; - - 00075 5f pop edi - 00076 5e pop esi - 00077 33 c0 xor eax, eax - 00079 5b pop ebx - -; 487 : } - - 0007a 5d pop ebp - 0007b c2 0c 00 ret 12 ; 0000000cH -$LN6@deflatePri: - -; 469 : deflate_state *s; -; 470 : int put; -; 471 : -; 472 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 0007e b8 fe ff ff ff mov eax, -2 ; fffffffeH - -; 487 : } - - 00083 5d pop ebp - 00084 c2 0c 00 ret 12 ; 0000000cH -_deflatePrime@12 ENDP -_TEXT ENDS -PUBLIC _deflatePending@12 -; Function compile flags: /Ogtp -; COMDAT _deflatePending@12 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_pending$ = 12 ; size = 4 -_bits$ = 16 ; size = 4 -_deflatePending@12 PROC ; COMDAT - -; 454 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 455 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00003 8b 55 08 mov edx, DWORD PTR _strm$[ebp] - 00006 85 d2 test edx, edx - 00008 74 2b je SHORT $LN3@deflatePen - 0000a 8b 42 1c mov eax, DWORD PTR [edx+28] - 0000d 85 c0 test eax, eax - 0000f 74 24 je SHORT $LN3@deflatePen - -; 456 : if (pending != Z_NULL) - - 00011 8b 4d 0c mov ecx, DWORD PTR _pending$[ebp] - 00014 85 c9 test ecx, ecx - 00016 74 05 je SHORT $LN2@deflatePen - -; 457 : *pending = strm->state->pending; - - 00018 8b 40 14 mov eax, DWORD PTR [eax+20] - 0001b 89 01 mov DWORD PTR [ecx], eax -$LN2@deflatePen: - -; 458 : if (bits != Z_NULL) - - 0001d 8b 45 10 mov eax, DWORD PTR _bits$[ebp] - 00020 85 c0 test eax, eax - 00022 74 0b je SHORT $LN1@deflatePen - -; 459 : *bits = strm->state->bi_valid; - - 00024 8b 4a 1c mov ecx, DWORD PTR [edx+28] - 00027 8b 91 bc 16 00 - 00 mov edx, DWORD PTR [ecx+5820] - 0002d 89 10 mov DWORD PTR [eax], edx -$LN1@deflatePen: - -; 460 : return Z_OK; - - 0002f 33 c0 xor eax, eax - -; 461 : } - - 00031 5d pop ebp - 00032 c2 0c 00 ret 12 ; 0000000cH -$LN3@deflatePen: - -; 455 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00035 b8 fe ff ff ff mov eax, -2 ; fffffffeH - -; 461 : } - - 0003a 5d pop ebp - 0003b c2 0c 00 ret 12 ; 0000000cH -_deflatePending@12 ENDP -_TEXT ENDS -PUBLIC _deflateSetHeader@8 -; Function compile flags: /Ogtp -; COMDAT _deflateSetHeader@8 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_head$ = 12 ; size = 4 -_deflateSetHeader@8 PROC ; COMDAT - -; 442 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 443 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00003 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00006 85 c0 test eax, eax - 00008 74 19 je SHORT $LN2@deflateSet - 0000a 8b 40 1c mov eax, DWORD PTR [eax+28] - 0000d 85 c0 test eax, eax - 0000f 74 12 je SHORT $LN2@deflateSet - -; 444 : if (strm->state->wrap != 2) return Z_STREAM_ERROR; - - 00011 83 78 18 02 cmp DWORD PTR [eax+24], 2 - 00015 75 0c jne SHORT $LN2@deflateSet - -; 445 : strm->state->gzhead = head; - - 00017 8b 4d 0c mov ecx, DWORD PTR _head$[ebp] - 0001a 89 48 1c mov DWORD PTR [eax+28], ecx - -; 446 : return Z_OK; - - 0001d 33 c0 xor eax, eax - -; 447 : } - - 0001f 5d pop ebp - 00020 c2 08 00 ret 8 -$LN2@deflateSet: - -; 443 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00023 b8 fe ff ff ff mov eax, -2 ; fffffffeH - -; 447 : } - - 00028 5d pop ebp - 00029 c2 08 00 ret 8 -_deflateSetHeader@8 ENDP -; Function compile flags: /Ogtp -; COMDAT _read_buf -_TEXT SEGMENT -_read_buf PROC ; COMDAT -; _strm$ = esi -; _buf$ = ebx -; _size$ = ecx - -; 1079 : unsigned len = strm->avail_in; - - 00000 8b 46 04 mov eax, DWORD PTR [esi+4] - 00003 57 push edi - 00004 8b f8 mov edi, eax - -; 1080 : -; 1081 : if (len > size) len = size; - - 00006 3b f9 cmp edi, ecx - 00008 76 02 jbe SHORT $LN5@read_buf - 0000a 8b f9 mov edi, ecx -$LN5@read_buf: - -; 1082 : if (len == 0) return 0; - - 0000c 85 ff test edi, edi - 0000e 75 04 jne SHORT $LN4@read_buf - 00010 33 c0 xor eax, eax - 00012 5f pop edi - -; 1099 : } - - 00013 c3 ret 0 -$LN4@read_buf: - -; 1083 : -; 1084 : strm->avail_in -= len; - - 00014 2b c7 sub eax, edi - 00016 89 46 04 mov DWORD PTR [esi+4], eax - -; 1085 : -; 1086 : zmemcpy(buf, strm->next_in, len); - - 00019 8b 06 mov eax, DWORD PTR [esi] - 0001b 57 push edi - 0001c 50 push eax - 0001d 53 push ebx - 0001e e8 00 00 00 00 call _memcpy - -; 1087 : if (strm->state->wrap == 1) { - - 00023 8b 4e 1c mov ecx, DWORD PTR [esi+28] - 00026 8b 41 18 mov eax, DWORD PTR [ecx+24] - 00029 83 c4 0c add esp, 12 ; 0000000cH - 0002c 83 f8 01 cmp eax, 1 - 0002f 75 17 jne SHORT $LN3@read_buf - -; 1088 : strm->adler = adler32(strm->adler, buf, len); - - 00031 8b 56 30 mov edx, DWORD PTR [esi+48] - 00034 57 push edi - 00035 53 push ebx - 00036 52 push edx - 00037 e8 00 00 00 00 call _adler32@12 - -; 1093 : } -; 1094 : #endif -; 1095 : strm->next_in += len; - - 0003c 01 3e add DWORD PTR [esi], edi - -; 1096 : strm->total_in += len; - - 0003e 01 7e 08 add DWORD PTR [esi+8], edi - 00041 89 46 30 mov DWORD PTR [esi+48], eax - -; 1097 : -; 1098 : return (int)len; - - 00044 8b c7 mov eax, edi - 00046 5f pop edi - -; 1099 : } - - 00047 c3 ret 0 -$LN3@read_buf: - -; 1089 : } -; 1090 : #ifdef GZIP -; 1091 : else if (strm->state->wrap == 2) { - - 00048 83 f8 02 cmp eax, 2 - 0004b 75 0e jne SHORT $LN1@read_buf - -; 1092 : strm->adler = crc32(strm->adler, buf, len); - - 0004d 8b 46 30 mov eax, DWORD PTR [esi+48] - 00050 57 push edi - 00051 53 push ebx - 00052 50 push eax - 00053 e8 00 00 00 00 call _crc32@12 - 00058 89 46 30 mov DWORD PTR [esi+48], eax -$LN1@read_buf: - -; 1093 : } -; 1094 : #endif -; 1095 : strm->next_in += len; - - 0005b 01 3e add DWORD PTR [esi], edi - -; 1096 : strm->total_in += len; - - 0005d 01 7e 08 add DWORD PTR [esi+8], edi - -; 1097 : -; 1098 : return (int)len; - - 00060 8b c7 mov eax, edi - 00062 5f pop edi - -; 1099 : } - - 00063 c3 ret 0 -_read_buf ENDP -_TEXT ENDS -PUBLIC _deflateCopy@8 -; Function compile flags: /Ogtp -; COMDAT _deflateCopy@8 -_TEXT SEGMENT -_dest$ = 8 ; size = 4 -tv260 = 12 ; size = 4 -_overlay$ = 12 ; size = 4 -_source$ = 12 ; size = 4 -_deflateCopy@8 PROC ; COMDAT - -; 1015 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - 00004 56 push esi - -; 1016 : #ifdef MAXSEG_64K -; 1017 : return Z_STREAM_ERROR; -; 1018 : #else -; 1019 : deflate_state *ds; -; 1020 : deflate_state *ss; -; 1021 : ushf *overlay; -; 1022 : -; 1023 : -; 1024 : if (source == Z_NULL || dest == Z_NULL || source->state == Z_NULL) { - - 00005 8b 75 0c mov esi, DWORD PTR _source$[ebp] - 00008 85 f6 test esi, esi - 0000a 0f 84 84 01 00 - 00 je $LN4@deflateCop - 00010 8b 5d 08 mov ebx, DWORD PTR _dest$[ebp] - 00013 85 db test ebx, ebx - 00015 0f 84 79 01 00 - 00 je $LN4@deflateCop - 0001b 8b 46 1c mov eax, DWORD PTR [esi+28] - 0001e 89 45 0c mov DWORD PTR tv260[ebp], eax - 00021 85 c0 test eax, eax - 00023 0f 84 6b 01 00 - 00 je $LN4@deflateCop - -; 1026 : } -; 1027 : -; 1028 : ss = source->state; -; 1029 : -; 1030 : zmemcpy((voidpf)dest, (voidpf)source, sizeof(z_stream)); - - 00029 57 push edi - 0002a b9 0e 00 00 00 mov ecx, 14 ; 0000000eH - 0002f 8b fb mov edi, ebx - 00031 f3 a5 rep movsd - -; 1031 : -; 1032 : ds = (deflate_state *) ZALLOC(dest, 1, sizeof(deflate_state)); - - 00033 8b 43 28 mov eax, DWORD PTR [ebx+40] - 00036 8b 4b 20 mov ecx, DWORD PTR [ebx+32] - 00039 68 c4 16 00 00 push 5828 ; 000016c4H - 0003e 6a 01 push 1 - 00040 50 push eax - 00041 ff d1 call ecx - 00043 8b f0 mov esi, eax - 00045 83 c4 0c add esp, 12 ; 0000000cH - -; 1033 : if (ds == Z_NULL) return Z_MEM_ERROR; - - 00048 85 f6 test esi, esi - 0004a 0f 84 38 01 00 - 00 je $LN9@deflateCop - -; 1034 : dest->state = (struct internal_state FAR *) ds; -; 1035 : zmemcpy((voidpf)ds, (voidpf)ss, sizeof(deflate_state)); - - 00050 8b 7d 0c mov edi, DWORD PTR tv260[ebp] - 00053 68 c4 16 00 00 push 5828 ; 000016c4H - 00058 57 push edi - 00059 56 push esi - 0005a 89 73 1c mov DWORD PTR [ebx+28], esi - 0005d e8 00 00 00 00 call _memcpy - -; 1036 : ds->strm = dest; -; 1037 : -; 1038 : ds->window = (Bytef *) ZALLOC(dest, ds->w_size, 2*sizeof(Byte)); - - 00062 8b 56 2c mov edx, DWORD PTR [esi+44] - 00065 89 1e mov DWORD PTR [esi], ebx - 00067 8b 43 28 mov eax, DWORD PTR [ebx+40] - 0006a 8b 4b 20 mov ecx, DWORD PTR [ebx+32] - 0006d 6a 02 push 2 - 0006f 52 push edx - 00070 50 push eax - 00071 ff d1 call ecx - -; 1039 : ds->prev = (Posf *) ZALLOC(dest, ds->w_size, sizeof(Pos)); - - 00073 8b 56 2c mov edx, DWORD PTR [esi+44] - 00076 89 46 38 mov DWORD PTR [esi+56], eax - 00079 8b 43 28 mov eax, DWORD PTR [ebx+40] - 0007c 8b 4b 20 mov ecx, DWORD PTR [ebx+32] - 0007f 6a 02 push 2 - 00081 52 push edx - 00082 50 push eax - 00083 ff d1 call ecx - -; 1040 : ds->head = (Posf *) ZALLOC(dest, ds->hash_size, sizeof(Pos)); - - 00085 8b 56 4c mov edx, DWORD PTR [esi+76] - 00088 89 46 40 mov DWORD PTR [esi+64], eax - 0008b 8b 43 28 mov eax, DWORD PTR [ebx+40] - 0008e 8b 4b 20 mov ecx, DWORD PTR [ebx+32] - 00091 6a 02 push 2 - 00093 52 push edx - 00094 50 push eax - 00095 ff d1 call ecx - -; 1041 : overlay = (ushf *) ZALLOC(dest, ds->lit_bufsize, sizeof(ush)+2); - - 00097 8b 96 9c 16 00 - 00 mov edx, DWORD PTR [esi+5788] - 0009d 89 46 44 mov DWORD PTR [esi+68], eax - 000a0 8b 43 28 mov eax, DWORD PTR [ebx+40] - 000a3 8b 4b 20 mov ecx, DWORD PTR [ebx+32] - 000a6 6a 04 push 4 - 000a8 52 push edx - 000a9 50 push eax - 000aa ff d1 call ecx - -; 1042 : ds->pending_buf = (uchf *) overlay; -; 1043 : -; 1044 : if (ds->window == Z_NULL || ds->prev == Z_NULL || ds->head == Z_NULL || -; 1045 : ds->pending_buf == Z_NULL) { - - 000ac 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 000af 83 c4 3c add esp, 60 ; 0000003cH - 000b2 89 45 0c mov DWORD PTR _overlay$[ebp], eax - 000b5 89 46 08 mov DWORD PTR [esi+8], eax - 000b8 85 c9 test ecx, ecx - 000ba 0f 84 c2 00 00 - 00 je $LN1@deflateCop - 000c0 83 7e 40 00 cmp DWORD PTR [esi+64], 0 - 000c4 0f 84 b8 00 00 - 00 je $LN1@deflateCop - 000ca 83 7e 44 00 cmp DWORD PTR [esi+68], 0 - 000ce 0f 84 ae 00 00 - 00 je $LN1@deflateCop - 000d4 85 c0 test eax, eax - 000d6 0f 84 a6 00 00 - 00 je $LN1@deflateCop - -; 1048 : } -; 1049 : /* following zmemcpy do not work for 16-bit MSDOS */ -; 1050 : zmemcpy(ds->window, ss->window, ds->w_size * 2 * sizeof(Byte)); - - 000dc 8b 56 2c mov edx, DWORD PTR [esi+44] - 000df 8b 47 38 mov eax, DWORD PTR [edi+56] - 000e2 03 d2 add edx, edx - 000e4 52 push edx - 000e5 50 push eax - 000e6 51 push ecx - 000e7 e8 00 00 00 00 call _memcpy - -; 1051 : zmemcpy((voidpf)ds->prev, (voidpf)ss->prev, ds->w_size * sizeof(Pos)); - - 000ec 8b 4e 2c mov ecx, DWORD PTR [esi+44] - 000ef 8b 57 40 mov edx, DWORD PTR [edi+64] - 000f2 8b 46 40 mov eax, DWORD PTR [esi+64] - 000f5 03 c9 add ecx, ecx - 000f7 51 push ecx - 000f8 52 push edx - 000f9 50 push eax - 000fa e8 00 00 00 00 call _memcpy - -; 1052 : zmemcpy((voidpf)ds->head, (voidpf)ss->head, ds->hash_size * sizeof(Pos)); - - 000ff 8b 4e 4c mov ecx, DWORD PTR [esi+76] - 00102 8b 57 44 mov edx, DWORD PTR [edi+68] - 00105 8b 46 44 mov eax, DWORD PTR [esi+68] - 00108 03 c9 add ecx, ecx - 0010a 51 push ecx - 0010b 52 push edx - 0010c 50 push eax - 0010d e8 00 00 00 00 call _memcpy - -; 1053 : zmemcpy(ds->pending_buf, ss->pending_buf, (uInt)ds->pending_buf_size); - - 00112 8b 4e 0c mov ecx, DWORD PTR [esi+12] - 00115 8b 57 08 mov edx, DWORD PTR [edi+8] - 00118 8b 46 08 mov eax, DWORD PTR [esi+8] - 0011b 51 push ecx - 0011c 52 push edx - 0011d 50 push eax - 0011e e8 00 00 00 00 call _memcpy - -; 1054 : -; 1055 : ds->pending_out = ds->pending_buf + (ss->pending_out - ss->pending_buf); - - 00123 8b 57 10 mov edx, DWORD PTR [edi+16] - 00126 2b 57 08 sub edx, DWORD PTR [edi+8] - 00129 8b 4e 08 mov ecx, DWORD PTR [esi+8] - -; 1056 : ds->d_buf = overlay + ds->lit_bufsize/sizeof(ush); - - 0012c 8b 86 9c 16 00 - 00 mov eax, DWORD PTR [esi+5788] - 00132 8b 7d 0c mov edi, DWORD PTR _overlay$[ebp] - 00135 03 d1 add edx, ecx - 00137 89 56 10 mov DWORD PTR [esi+16], edx - 0013a 8b d0 mov edx, eax - -; 1057 : ds->l_buf = ds->pending_buf + (1+sizeof(ush))*ds->lit_bufsize; - - 0013c 8d 0c 41 lea ecx, DWORD PTR [ecx+eax*2] - 0013f d1 ea shr edx, 1 - 00141 03 c8 add ecx, eax - 00143 8d 14 57 lea edx, DWORD PTR [edi+edx*2] - 00146 83 c4 30 add esp, 48 ; 00000030H - 00149 89 96 a4 16 00 - 00 mov DWORD PTR [esi+5796], edx - 0014f 89 8e 98 16 00 - 00 mov DWORD PTR [esi+5784], ecx - -; 1058 : -; 1059 : ds->l_desc.dyn_tree = ds->dyn_ltree; -; 1060 : ds->d_desc.dyn_tree = ds->dyn_dtree; - - 00155 8d 86 88 09 00 - 00 lea eax, DWORD PTR [esi+2440] - 0015b 8d 96 94 00 00 - 00 lea edx, DWORD PTR [esi+148] - -; 1061 : ds->bl_desc.dyn_tree = ds->bl_tree; - - 00161 8d 8e 7c 0a 00 - 00 lea ecx, DWORD PTR [esi+2684] - 00167 5f pop edi - 00168 89 86 24 0b 00 - 00 mov DWORD PTR [esi+2852], eax - 0016e 89 96 18 0b 00 - 00 mov DWORD PTR [esi+2840], edx - 00174 89 8e 30 0b 00 - 00 mov DWORD PTR [esi+2864], ecx - 0017a 5e pop esi - -; 1062 : -; 1063 : return Z_OK; - - 0017b 33 c0 xor eax, eax - 0017d 5b pop ebx - -; 1064 : #endif /* MAXSEG_64K */ -; 1065 : } - - 0017e 5d pop ebp - 0017f c2 08 00 ret 8 -$LN1@deflateCop: - -; 1046 : deflateEnd (dest); - - 00182 53 push ebx - 00183 e8 00 00 00 00 call _deflateEnd@4 -$LN9@deflateCop: - -; 1047 : return Z_MEM_ERROR; - - 00188 5f pop edi - 00189 5e pop esi - 0018a b8 fc ff ff ff mov eax, -4 ; fffffffcH - 0018f 5b pop ebx - -; 1064 : #endif /* MAXSEG_64K */ -; 1065 : } - - 00190 5d pop ebp - 00191 c2 08 00 ret 8 -$LN4@deflateCop: - 00194 5e pop esi - -; 1025 : return Z_STREAM_ERROR; - - 00195 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 0019a 5b pop ebx - -; 1064 : #endif /* MAXSEG_64K */ -; 1065 : } - - 0019b 5d pop ebp - 0019c c2 08 00 ret 8 -_deflateCopy@8 ENDP -_TEXT ENDS -PUBLIC _deflateResetKeep@4 -; Function compile flags: /Ogtp -; COMDAT _deflateResetKeep@4 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_deflateResetKeep@4 PROC ; COMDAT - -; 394 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - 00004 56 push esi - 00005 57 push edi - -; 395 : deflate_state *s; -; 396 : -; 397 : if (strm == Z_NULL || strm->state == Z_NULL || -; 398 : strm->zalloc == (alloc_func)0 || strm->zfree == (free_func)0) { - - 00006 8b 7d 08 mov edi, DWORD PTR _strm$[ebp] - 00009 33 db xor ebx, ebx - 0000b 3b fb cmp edi, ebx - 0000d 0f 84 86 00 00 - 00 je $LN2@deflateRes - 00013 8b 77 1c mov esi, DWORD PTR [edi+28] - 00016 3b f3 cmp esi, ebx - 00018 74 7f je SHORT $LN2@deflateRes - 0001a 39 5f 20 cmp DWORD PTR [edi+32], ebx - 0001d 74 7a je SHORT $LN2@deflateRes - 0001f 39 5f 24 cmp DWORD PTR [edi+36], ebx - 00022 74 75 je SHORT $LN2@deflateRes - -; 400 : } -; 401 : -; 402 : strm->total_in = strm->total_out = 0; - - 00024 89 5f 14 mov DWORD PTR [edi+20], ebx - 00027 89 5f 08 mov DWORD PTR [edi+8], ebx - -; 403 : strm->msg = Z_NULL; /* use zfree if we ever allocate msg dynamically */ - - 0002a 89 5f 18 mov DWORD PTR [edi+24], ebx - -; 404 : strm->data_type = Z_UNKNOWN; - - 0002d c7 47 2c 02 00 - 00 00 mov DWORD PTR [edi+44], 2 - -; 405 : -; 406 : s = (deflate_state *)strm->state; -; 407 : s->pending = 0; -; 408 : s->pending_out = s->pending_buf; - - 00034 8b 46 08 mov eax, DWORD PTR [esi+8] - 00037 89 46 10 mov DWORD PTR [esi+16], eax - -; 409 : -; 410 : if (s->wrap < 0) { - - 0003a 8b 46 18 mov eax, DWORD PTR [esi+24] - 0003d 89 5e 14 mov DWORD PTR [esi+20], ebx - 00040 3b c3 cmp eax, ebx - 00042 7d 05 jge SHORT $LN1@deflateRes - -; 411 : s->wrap = -s->wrap; /* was made negative by deflate(..., Z_FINISH); */ - - 00044 f7 d8 neg eax - 00046 89 46 18 mov DWORD PTR [esi+24], eax -$LN1@deflateRes: - -; 412 : } -; 413 : s->status = s->wrap ? INIT_STATE : BUSY_STATE; - - 00049 8b 46 18 mov eax, DWORD PTR [esi+24] - 0004c 8b c8 mov ecx, eax - 0004e f7 d9 neg ecx - 00050 1b c9 sbb ecx, ecx - 00052 83 e1 b9 and ecx, -71 ; ffffffb9H - -; 414 : strm->adler = -; 415 : #ifdef GZIP -; 416 : s->wrap == 2 ? crc32(0L, Z_NULL, 0) : -; 417 : #endif -; 418 : adler32(0L, Z_NULL, 0); - - 00055 53 push ebx - 00056 83 c1 71 add ecx, 113 ; 00000071H - 00059 53 push ebx - 0005a 89 4e 04 mov DWORD PTR [esi+4], ecx - 0005d 53 push ebx - 0005e 83 f8 02 cmp eax, 2 - 00061 75 1b jne SHORT $LN6@deflateRes - 00063 e8 00 00 00 00 call _crc32@12 - 00068 89 47 30 mov DWORD PTR [edi+48], eax - -; 419 : s->last_flush = Z_NO_FLUSH; -; 420 : -; 421 : _tr_init(s); - - 0006b 8b d6 mov edx, esi - 0006d 89 5e 28 mov DWORD PTR [esi+40], ebx - 00070 e8 00 00 00 00 call __tr_init - 00075 5f pop edi - 00076 5e pop esi - -; 422 : -; 423 : return Z_OK; - - 00077 33 c0 xor eax, eax - 00079 5b pop ebx - -; 424 : } - - 0007a 5d pop ebp - 0007b c2 04 00 ret 4 -$LN6@deflateRes: - -; 414 : strm->adler = -; 415 : #ifdef GZIP -; 416 : s->wrap == 2 ? crc32(0L, Z_NULL, 0) : -; 417 : #endif -; 418 : adler32(0L, Z_NULL, 0); - - 0007e e8 00 00 00 00 call _adler32@12 - 00083 89 47 30 mov DWORD PTR [edi+48], eax - -; 419 : s->last_flush = Z_NO_FLUSH; -; 420 : -; 421 : _tr_init(s); - - 00086 8b d6 mov edx, esi - 00088 89 5e 28 mov DWORD PTR [esi+40], ebx - 0008b e8 00 00 00 00 call __tr_init - 00090 5f pop edi - 00091 5e pop esi - -; 422 : -; 423 : return Z_OK; - - 00092 33 c0 xor eax, eax - 00094 5b pop ebx - -; 424 : } - - 00095 5d pop ebp - 00096 c2 04 00 ret 4 -$LN2@deflateRes: - 00099 5f pop edi - 0009a 5e pop esi - -; 399 : return Z_STREAM_ERROR; - - 0009b b8 fe ff ff ff mov eax, -2 ; fffffffeH - 000a0 5b pop ebx - -; 424 : } - - 000a1 5d pop ebp - 000a2 c2 04 00 ret 4 -_deflateResetKeep@4 ENDP -; Function compile flags: /Ogtp -; COMDAT _fill_window -_TEXT SEGMENT -_wsize$ = -4 ; size = 4 -_fill_window PROC ; COMDAT -; _s$ = edi - -; 1390 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - -; 1391 : register unsigned n, m; -; 1392 : register Posf *p; -; 1393 : unsigned more; /* Amount of free space at the end of the window. */ -; 1394 : uInt wsize = s->w_size; - - 00005 8b 5f 2c mov ebx, DWORD PTR [edi+44] - 00008 56 push esi - 00009 89 5d fc mov DWORD PTR _wsize$[ebp], ebx - 0000c eb 05 jmp SHORT $LN26@fill_windo - 0000e 8b ff npad 2 -$LL39@fill_windo: - 00010 8b 5d fc mov ebx, DWORD PTR _wsize$[ebp] -$LN26@fill_windo: - -; 1395 : -; 1396 : Assert(s->lookahead < MIN_LOOKAHEAD, "already enough lookahead"); -; 1397 : -; 1398 : do { -; 1399 : more = (unsigned)(s->window_size -(ulg)s->lookahead -(ulg)s->strstart); - - 00013 8b 77 3c mov esi, DWORD PTR [edi+60] - 00016 2b 77 74 sub esi, DWORD PTR [edi+116] - 00019 8b 47 6c mov eax, DWORD PTR [edi+108] - -; 1400 : -; 1401 : /* Deal with !@#$% 64K limit: */ -; 1402 : if (sizeof(int) <= 2) { -; 1403 : if (more == 0 && s->strstart == 0 && s->lookahead == 0) { -; 1404 : more = wsize; -; 1405 : -; 1406 : } else if (more == (unsigned)(-1)) { -; 1407 : /* Very unlikely, but possible on 16 bit machine if -; 1408 : * strstart == 0 && lookahead == 1 (input done a byte at time) -; 1409 : */ -; 1410 : more--; -; 1411 : } -; 1412 : } -; 1413 : -; 1414 : /* If the window is almost full and there is insufficient lookahead, -; 1415 : * move the upper half to the lower one to make room in the upper half. -; 1416 : */ -; 1417 : if (s->strstart >= wsize+MAX_DIST(s)) { - - 0001c 8b 4f 2c mov ecx, DWORD PTR [edi+44] - 0001f 8d 94 0b fa fe - ff ff lea edx, DWORD PTR [ebx+ecx-262] - 00026 2b f0 sub esi, eax - 00028 3b c2 cmp eax, edx - 0002a 72 5d jb SHORT $LN19@fill_windo - -; 1418 : -; 1419 : zmemcpy(s->window, s->window+wsize, (unsigned)wsize); - - 0002c 8b 47 38 mov eax, DWORD PTR [edi+56] - 0002f 53 push ebx - 00030 8d 0c 18 lea ecx, DWORD PTR [eax+ebx] - 00033 51 push ecx - 00034 50 push eax - 00035 e8 00 00 00 00 call _memcpy - -; 1420 : s->match_start -= wsize; -; 1421 : s->strstart -= wsize; /* we now have strstart >= MAX_DIST */ -; 1422 : s->block_start -= (long) wsize; -; 1423 : -; 1424 : /* Slide the hash table (could be avoided with 32 bit values -; 1425 : at the expense of memory usage). We slide even when level == 0 -; 1426 : to keep the hash table consistent if we switch back to level > 0 -; 1427 : later. (Using level 0 permanently is not an optimal usage of -; 1428 : zlib, so we don't care about this pathological case.) -; 1429 : */ -; 1430 : n = s->hash_size; - - 0003a 8b 57 4c mov edx, DWORD PTR [edi+76] - -; 1431 : p = &s->head[n]; - - 0003d 8b 47 44 mov eax, DWORD PTR [edi+68] - 00040 29 5f 70 sub DWORD PTR [edi+112], ebx - 00043 29 5f 6c sub DWORD PTR [edi+108], ebx - 00046 83 c4 0c add esp, 12 ; 0000000cH - 00049 29 5f 5c sub DWORD PTR [edi+92], ebx - 0004c 8d 0c 50 lea ecx, DWORD PTR [eax+edx*2] - 0004f 90 npad 1 -$LL18@fill_windo: - -; 1432 : do { -; 1433 : m = *--p; - - 00050 0f b7 41 fe movzx eax, WORD PTR [ecx-2] - 00054 83 e9 02 sub ecx, 2 - -; 1434 : *p = (Pos)(m >= wsize ? m-wsize : NIL); - - 00057 3b c3 cmp eax, ebx - 00059 72 04 jb SHORT $LN29@fill_windo - 0005b 2b c3 sub eax, ebx - 0005d eb 02 jmp SHORT $LN30@fill_windo -$LN29@fill_windo: - 0005f 33 c0 xor eax, eax -$LN30@fill_windo: - -; 1435 : } while (--n); - - 00061 4a dec edx - 00062 66 89 01 mov WORD PTR [ecx], ax - 00065 75 e9 jne SHORT $LL18@fill_windo - -; 1436 : -; 1437 : n = wsize; -; 1438 : #ifndef FASTEST -; 1439 : p = &s->prev[n]; - - 00067 8b 4f 40 mov ecx, DWORD PTR [edi+64] - 0006a 8b d3 mov edx, ebx - 0006c 8d 0c 59 lea ecx, DWORD PTR [ecx+ebx*2] - 0006f 90 npad 1 -$LL15@fill_windo: - -; 1440 : do { -; 1441 : m = *--p; - - 00070 0f b7 41 fe movzx eax, WORD PTR [ecx-2] - 00074 83 e9 02 sub ecx, 2 - -; 1442 : *p = (Pos)(m >= wsize ? m-wsize : NIL); - - 00077 3b c3 cmp eax, ebx - 00079 72 04 jb SHORT $LN31@fill_windo - 0007b 2b c3 sub eax, ebx - 0007d eb 02 jmp SHORT $LN32@fill_windo -$LN31@fill_windo: - 0007f 33 c0 xor eax, eax -$LN32@fill_windo: - -; 1443 : /* If n is not on any hash chain, prev[n] is garbage but -; 1444 : * its value will never be used. -; 1445 : */ -; 1446 : } while (--n); - - 00081 4a dec edx - 00082 66 89 01 mov WORD PTR [ecx], ax - 00085 75 e9 jne SHORT $LL15@fill_windo - -; 1447 : #endif -; 1448 : more += wsize; - - 00087 03 f3 add esi, ebx -$LN19@fill_windo: - -; 1449 : } -; 1450 : if (s->strm->avail_in == 0) break; - - 00089 8b 07 mov eax, DWORD PTR [edi] - 0008b 83 78 04 00 cmp DWORD PTR [eax+4], 0 - 0008f 0f 84 b0 00 00 - 00 je $LN24@fill_windo - -; 1451 : -; 1452 : /* If there was no sliding: -; 1453 : * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 && -; 1454 : * more == window_size - lookahead - strstart -; 1455 : * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1) -; 1456 : * => more >= window_size - 2*WSIZE + 2 -; 1457 : * In the BIG_MEM or MMAP case (not yet supported), -; 1458 : * window_size == input_size + MIN_LOOKAHEAD && -; 1459 : * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD. -; 1460 : * Otherwise, window_size == 2*WSIZE so more >= 2. -; 1461 : * If there was sliding, more >= WSIZE. So in all cases, more >= 2. -; 1462 : */ -; 1463 : Assert(more >= 2, "more < 2"); -; 1464 : -; 1465 : n = read_buf(s->strm, s->window + s->strstart + s->lookahead, more); - - 00095 8b 5f 74 mov ebx, DWORD PTR [edi+116] - 00098 03 5f 6c add ebx, DWORD PTR [edi+108] - 0009b 8b ce mov ecx, esi - 0009d 03 5f 38 add ebx, DWORD PTR [edi+56] - 000a0 8b f0 mov esi, eax - 000a2 e8 00 00 00 00 call _read_buf - -; 1466 : s->lookahead += n; - - 000a7 01 47 74 add DWORD PTR [edi+116], eax - 000aa 8b 47 74 mov eax, DWORD PTR [edi+116] - -; 1467 : -; 1468 : /* Initialize the hash value now that we have some input: */ -; 1469 : if (s->lookahead + s->insert >= MIN_MATCH) { - - 000ad 8b b7 b4 16 00 - 00 mov esi, DWORD PTR [edi+5812] - 000b3 8d 14 06 lea edx, DWORD PTR [esi+eax] - 000b6 83 fa 03 cmp edx, 3 - 000b9 72 75 jb SHORT $LN25@fill_windo - -; 1470 : uInt str = s->strstart - s->insert; - - 000bb 8b 57 6c mov edx, DWORD PTR [edi+108] - -; 1471 : s->ins_h = s->window[str]; - - 000be 8b 5f 38 mov ebx, DWORD PTR [edi+56] - -; 1472 : UPDATE_HASH(s, s->ins_h, s->window[str + 1]); - - 000c1 8b 4f 58 mov ecx, DWORD PTR [edi+88] - 000c4 2b d6 sub edx, esi - 000c6 0f b6 04 13 movzx eax, BYTE PTR [ebx+edx] - 000ca 89 47 48 mov DWORD PTR [edi+72], eax - 000cd d3 e0 shl eax, cl - 000cf 0f b6 4c 13 01 movzx ecx, BYTE PTR [ebx+edx+1] - 000d4 33 c1 xor eax, ecx - 000d6 23 47 54 and eax, DWORD PTR [edi+84] - 000d9 89 47 48 mov DWORD PTR [edi+72], eax - -; 1473 : #if MIN_MATCH != 3 -; 1474 : Call UPDATE_HASH() MIN_MATCH-3 more times -; 1475 : #endif -; 1476 : while (s->insert) { - - 000dc 85 f6 test esi, esi - 000de 74 50 je SHORT $LN25@fill_windo -$LL10@fill_windo: - -; 1477 : UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); - - 000e0 8b 77 48 mov esi, DWORD PTR [edi+72] - 000e3 8b 4f 58 mov ecx, DWORD PTR [edi+88] - 000e6 8b 47 38 mov eax, DWORD PTR [edi+56] - 000e9 0f b6 44 10 02 movzx eax, BYTE PTR [eax+edx+2] - -; 1478 : #ifndef FASTEST -; 1479 : s->prev[str & s->w_mask] = s->head[s->ins_h]; - - 000ee 8b 5f 40 mov ebx, DWORD PTR [edi+64] - 000f1 d3 e6 shl esi, cl - 000f3 8b 4f 44 mov ecx, DWORD PTR [edi+68] - 000f6 33 c6 xor eax, esi - 000f8 23 47 54 and eax, DWORD PTR [edi+84] - 000fb 8b 77 34 mov esi, DWORD PTR [edi+52] - 000fe 89 47 48 mov DWORD PTR [edi+72], eax - 00101 66 8b 04 41 mov ax, WORD PTR [ecx+eax*2] - 00105 23 f2 and esi, edx - 00107 66 89 04 73 mov WORD PTR [ebx+esi*2], ax - -; 1480 : #endif -; 1481 : s->head[s->ins_h] = (Pos)str; - - 0010b 8b 4f 48 mov ecx, DWORD PTR [edi+72] - 0010e 8b 47 44 mov eax, DWORD PTR [edi+68] - 00111 66 89 14 48 mov WORD PTR [eax+ecx*2], dx - -; 1482 : str++; -; 1483 : s->insert--; - - 00115 ff 8f b4 16 00 - 00 dec DWORD PTR [edi+5812] - 0011b 8b 87 b4 16 00 - 00 mov eax, DWORD PTR [edi+5812] - -; 1484 : if (s->lookahead + s->insert < MIN_MATCH) - - 00121 8b 4f 74 mov ecx, DWORD PTR [edi+116] - 00124 03 c8 add ecx, eax - 00126 42 inc edx - 00127 83 f9 03 cmp ecx, 3 - 0012a 72 04 jb SHORT $LN25@fill_windo - -; 1473 : #if MIN_MATCH != 3 -; 1474 : Call UPDATE_HASH() MIN_MATCH-3 more times -; 1475 : #endif -; 1476 : while (s->insert) { - - 0012c 85 c0 test eax, eax - 0012e 75 b0 jne SHORT $LL10@fill_windo -$LN25@fill_windo: - -; 1485 : break; -; 1486 : } -; 1487 : } -; 1488 : /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage, -; 1489 : * but this is not important since only literal bytes will be emitted. -; 1490 : */ -; 1491 : -; 1492 : } while (s->lookahead < MIN_LOOKAHEAD && s->strm->avail_in != 0); - - 00130 81 7f 74 06 01 - 00 00 cmp DWORD PTR [edi+116], 262 ; 00000106H - 00137 73 0c jae SHORT $LN24@fill_windo - 00139 8b 17 mov edx, DWORD PTR [edi] - 0013b 83 7a 04 00 cmp DWORD PTR [edx+4], 0 - 0013f 0f 85 cb fe ff - ff jne $LL39@fill_windo -$LN24@fill_windo: - -; 1493 : -; 1494 : /* If the WIN_INIT bytes after the end of the current data have never been -; 1495 : * written, then zero those bytes in order to avoid memory check reports of -; 1496 : * the use of uninitialized (or uninitialised as Julian writes) bytes by -; 1497 : * the longest match routines. Update the high water mark for the next -; 1498 : * time through here. WIN_INIT is set to MAX_MATCH since the longest match -; 1499 : * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead. -; 1500 : */ -; 1501 : if (s->high_water < s->window_size) { - - 00145 8b 87 c0 16 00 - 00 mov eax, DWORD PTR [edi+5824] - 0014b 8b 4f 3c mov ecx, DWORD PTR [edi+60] - 0014e 3b c1 cmp eax, ecx - 00150 73 6b jae SHORT $LN2@fill_windo - -; 1502 : ulg curr = s->strstart + (ulg)(s->lookahead); - - 00152 8b 77 74 mov esi, DWORD PTR [edi+116] - 00155 03 77 6c add esi, DWORD PTR [edi+108] - -; 1503 : ulg init; -; 1504 : -; 1505 : if (s->high_water < curr) { - - 00158 3b c6 cmp eax, esi - 0015a 73 30 jae SHORT $LN5@fill_windo - -; 1506 : /* Previous high water mark below current data -- zero WIN_INIT -; 1507 : * bytes or up to end of window, whichever is less. -; 1508 : */ -; 1509 : init = s->window_size - curr; - - 0015c 2b ce sub ecx, esi - 0015e 8b d9 mov ebx, ecx - -; 1510 : if (init > WIN_INIT) - - 00160 81 fb 02 01 00 - 00 cmp ebx, 258 ; 00000102H - 00166 76 05 jbe SHORT $LN4@fill_windo - -; 1511 : init = WIN_INIT; - - 00168 bb 02 01 00 00 mov ebx, 258 ; 00000102H -$LN4@fill_windo: - -; 1512 : zmemzero(s->window + curr, (unsigned)init); - - 0016d 8b 47 38 mov eax, DWORD PTR [edi+56] - 00170 53 push ebx - 00171 03 c6 add eax, esi - 00173 6a 00 push 0 - 00175 50 push eax - 00176 e8 00 00 00 00 call _memset - 0017b 83 c4 0c add esp, 12 ; 0000000cH - -; 1513 : s->high_water = curr + init; - - 0017e 03 de add ebx, esi - 00180 5e pop esi - 00181 89 9f c0 16 00 - 00 mov DWORD PTR [edi+5824], ebx - 00187 5b pop ebx - -; 1525 : } -; 1526 : } -; 1527 : -; 1528 : Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD, -; 1529 : "not enough room for search"); -; 1530 : } - - 00188 8b e5 mov esp, ebp - 0018a 5d pop ebp - 0018b c3 ret 0 -$LN5@fill_windo: - -; 1514 : } -; 1515 : else if (s->high_water < (ulg)curr + WIN_INIT) { - - 0018c 8d 96 02 01 00 - 00 lea edx, DWORD PTR [esi+258] - 00192 3b c2 cmp eax, edx - 00194 73 27 jae SHORT $LN2@fill_windo - -; 1516 : /* High water mark at or above current data, but below current data -; 1517 : * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up -; 1518 : * to end of window, whichever is less. -; 1519 : */ -; 1520 : init = (ulg)curr + WIN_INIT - s->high_water; - - 00196 2b f0 sub esi, eax - 00198 81 c6 02 01 00 - 00 add esi, 258 ; 00000102H - -; 1521 : if (init > s->window_size - s->high_water) - - 0019e 2b c8 sub ecx, eax - 001a0 3b f1 cmp esi, ecx - 001a2 76 02 jbe SHORT $LN1@fill_windo - -; 1522 : init = s->window_size - s->high_water; - - 001a4 8b f1 mov esi, ecx -$LN1@fill_windo: - -; 1523 : zmemzero(s->window + s->high_water, (unsigned)init); - - 001a6 8b 4f 38 mov ecx, DWORD PTR [edi+56] - 001a9 56 push esi - 001aa 03 c8 add ecx, eax - 001ac 6a 00 push 0 - 001ae 51 push ecx - 001af e8 00 00 00 00 call _memset - 001b4 83 c4 0c add esp, 12 ; 0000000cH - -; 1524 : s->high_water += init; - - 001b7 01 b7 c0 16 00 - 00 add DWORD PTR [edi+5824], esi -$LN2@fill_windo: - 001bd 5e pop esi - 001be 5b pop ebx - -; 1525 : } -; 1526 : } -; 1527 : -; 1528 : Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD, -; 1529 : "not enough room for search"); -; 1530 : } - - 001bf 8b e5 mov esp, ebp - 001c1 5d pop ebp - 001c2 c3 ret 0 -_fill_window ENDP -_TEXT ENDS -PUBLIC _deflateReset@4 -; Function compile flags: /Ogtp -; COMDAT _deflateReset@4 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_deflateReset@4 PROC ; COMDAT - -; 429 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 430 : int ret; -; 431 : -; 432 : ret = deflateResetKeep(strm); - - 00004 8b 75 08 mov esi, DWORD PTR _strm$[ebp] - 00007 57 push edi - 00008 56 push esi - 00009 e8 00 00 00 00 call _deflateResetKeep@4 - 0000e 8b f8 mov edi, eax - -; 433 : if (ret == Z_OK) - - 00010 85 ff test edi, edi - 00012 75 0a jne SHORT $LN1@deflateRes@2 - -; 434 : lm_init(strm->state); - - 00014 8b 76 1c mov esi, DWORD PTR [esi+28] - 00017 e8 00 00 00 00 call _lm_init - -; 435 : return ret; - - 0001c 8b c7 mov eax, edi -$LN1@deflateRes@2: - 0001e 5f pop edi - 0001f 5e pop esi - -; 436 : } - - 00020 5d pop ebp - 00021 c2 04 00 ret 4 -_deflateReset@4 ENDP -_TEXT ENDS -PUBLIC _deflateSetDictionary@12 -; Function compile flags: /Ogtp -; COMDAT _deflateSetDictionary@12 -_TEXT SEGMENT -_avail$ = -8 ; size = 4 -_wrap$ = -4 ; size = 4 -_strm$ = 8 ; size = 4 -_n$ = 12 ; size = 4 -_dictionary$ = 12 ; size = 4 -_next$ = 16 ; size = 4 -_dictLength$ = 16 ; size = 4 -_deflateSetDictionary@12 PROC ; COMDAT - -; 327 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 08 sub esp, 8 - 00006 56 push esi - -; 328 : deflate_state *s; -; 329 : uInt str, n; -; 330 : int wrap; -; 331 : unsigned avail; -; 332 : unsigned char *next; -; 333 : -; 334 : if (strm == Z_NULL || strm->state == Z_NULL || dictionary == Z_NULL) - - 00007 8b 75 08 mov esi, DWORD PTR _strm$[ebp] - 0000a 57 push edi - 0000b 85 f6 test esi, esi - 0000d 0f 84 61 01 00 - 00 je $LN12@deflateSet@2 - 00013 8b 7e 1c mov edi, DWORD PTR [esi+28] - 00016 85 ff test edi, edi - 00018 0f 84 56 01 00 - 00 je $LN12@deflateSet@2 - 0001e 8b 4d 0c mov ecx, DWORD PTR _dictionary$[ebp] - 00021 85 c9 test ecx, ecx - 00023 0f 84 4b 01 00 - 00 je $LN12@deflateSet@2 - -; 336 : s = strm->state; -; 337 : wrap = s->wrap; - - 00029 8b 47 18 mov eax, DWORD PTR [edi+24] - 0002c 89 45 fc mov DWORD PTR _wrap$[ebp], eax - -; 338 : if (wrap == 2 || (wrap == 1 && s->status != INIT_STATE) || s->lookahead) - - 0002f 83 f8 02 cmp eax, 2 - 00032 0f 84 3c 01 00 - 00 je $LN12@deflateSet@2 - 00038 83 f8 01 cmp eax, 1 - 0003b 75 0a jne SHORT $LN9@deflateSet@2 - 0003d 83 7f 04 2a cmp DWORD PTR [edi+4], 42 ; 0000002aH - 00041 0f 85 2d 01 00 - 00 jne $LN12@deflateSet@2 -$LN9@deflateSet@2: - 00047 83 7f 74 00 cmp DWORD PTR [edi+116], 0 - 0004b 0f 85 23 01 00 - 00 jne $LN12@deflateSet@2 - -; 339 : return Z_STREAM_ERROR; -; 340 : -; 341 : /* when using zlib wrappers, compute Adler-32 for provided dictionary */ -; 342 : if (wrap == 1) - - 00051 53 push ebx - 00052 8b 5d 10 mov ebx, DWORD PTR _dictLength$[ebp] - 00055 83 f8 01 cmp eax, 1 - 00058 75 14 jne SHORT $LN8@deflateSet@2 - -; 343 : strm->adler = adler32(strm->adler, dictionary, dictLength); - - 0005a 8b 46 30 mov eax, DWORD PTR [esi+48] - 0005d 53 push ebx - 0005e 51 push ecx - 0005f 50 push eax - 00060 e8 00 00 00 00 call _adler32@12 - 00065 8b 4d 0c mov ecx, DWORD PTR _dictionary$[ebp] - 00068 89 46 30 mov DWORD PTR [esi+48], eax - 0006b 8b 45 fc mov eax, DWORD PTR _wrap$[ebp] -$LN8@deflateSet@2: - -; 344 : s->wrap = 0; /* avoid computing Adler-32 in read_buf */ - - 0006e c7 47 18 00 00 - 00 00 mov DWORD PTR [edi+24], 0 - -; 345 : -; 346 : /* if dictionary would fill window, just replace the history */ -; 347 : if (dictLength >= s->w_size) { - - 00075 3b 5f 2c cmp ebx, DWORD PTR [edi+44] - 00078 72 3e jb SHORT $LN7@deflateSet@2 - -; 348 : if (wrap == 0) { /* already empty otherwise */ - - 0007a 85 c0 test eax, eax - 0007c 75 31 jne SHORT $LN6@deflateSet@2 - -; 349 : CLEAR_HASH(s); - - 0007e 8b 4f 4c mov ecx, DWORD PTR [edi+76] - 00081 8b 57 44 mov edx, DWORD PTR [edi+68] - 00084 66 89 44 4a fe mov WORD PTR [edx+ecx*2-2], ax - 00089 8b 4f 4c mov ecx, DWORD PTR [edi+76] - 0008c 8d 54 09 fe lea edx, DWORD PTR [ecx+ecx-2] - 00090 52 push edx - 00091 50 push eax - 00092 8b 47 44 mov eax, DWORD PTR [edi+68] - 00095 50 push eax - 00096 e8 00 00 00 00 call _memset - -; 350 : s->strstart = 0; -; 351 : s->block_start = 0L; -; 352 : s->insert = 0; - - 0009b 8b 4d 0c mov ecx, DWORD PTR _dictionary$[ebp] - 0009e 83 c4 0c add esp, 12 ; 0000000cH - 000a1 33 c0 xor eax, eax - 000a3 89 47 6c mov DWORD PTR [edi+108], eax - 000a6 89 47 5c mov DWORD PTR [edi+92], eax - 000a9 89 87 b4 16 00 - 00 mov DWORD PTR [edi+5812], eax -$LN6@deflateSet@2: - -; 353 : } -; 354 : dictionary += dictLength - s->w_size; /* use the tail */ - - 000af 8b 47 2c mov eax, DWORD PTR [edi+44] - 000b2 2b d8 sub ebx, eax - 000b4 03 cb add ecx, ebx - -; 355 : dictLength = s->w_size; - - 000b6 8b d8 mov ebx, eax -$LN7@deflateSet@2: - -; 356 : } -; 357 : -; 358 : /* insert dictionary into window and hash */ -; 359 : avail = strm->avail_in; - - 000b8 8b 56 04 mov edx, DWORD PTR [esi+4] - -; 360 : next = strm->next_in; - - 000bb 8b 06 mov eax, DWORD PTR [esi] - 000bd 89 55 f8 mov DWORD PTR _avail$[ebp], edx - 000c0 89 45 10 mov DWORD PTR _next$[ebp], eax - -; 361 : strm->avail_in = dictLength; - - 000c3 89 5e 04 mov DWORD PTR [esi+4], ebx - -; 362 : strm->next_in = (Bytef *)dictionary; - - 000c6 89 0e mov DWORD PTR [esi], ecx - -; 363 : fill_window(s); - - 000c8 e8 00 00 00 00 call _fill_window - -; 364 : while (s->lookahead >= MIN_MATCH) { - - 000cd 83 7f 74 03 cmp DWORD PTR [edi+116], 3 - 000d1 72 60 jb SHORT $LN4@deflateSet@2 -$LL5@deflateSet@2: - -; 365 : str = s->strstart; -; 366 : n = s->lookahead - (MIN_MATCH-1); - - 000d3 8b 47 74 mov eax, DWORD PTR [edi+116] - 000d6 8b 57 6c mov edx, DWORD PTR [edi+108] - 000d9 83 e8 02 sub eax, 2 - 000dc 89 45 0c mov DWORD PTR _n$[ebp], eax - 000df 90 npad 1 -$LL3@deflateSet@2: - -; 367 : do { -; 368 : UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); - - 000e0 8b 4f 38 mov ecx, DWORD PTR [edi+56] - 000e3 0f b6 44 11 02 movzx eax, BYTE PTR [ecx+edx+2] - 000e8 8b 77 48 mov esi, DWORD PTR [edi+72] - 000eb 8b 4f 58 mov ecx, DWORD PTR [edi+88] - -; 369 : #ifndef FASTEST -; 370 : s->prev[str & s->w_mask] = s->head[s->ins_h]; - - 000ee 8b 5f 40 mov ebx, DWORD PTR [edi+64] - 000f1 d3 e6 shl esi, cl - 000f3 8b 4f 44 mov ecx, DWORD PTR [edi+68] - 000f6 33 c6 xor eax, esi - 000f8 23 47 54 and eax, DWORD PTR [edi+84] - 000fb 8b 77 34 mov esi, DWORD PTR [edi+52] - 000fe 89 47 48 mov DWORD PTR [edi+72], eax - 00101 66 8b 04 41 mov ax, WORD PTR [ecx+eax*2] - 00105 23 f2 and esi, edx - 00107 66 89 04 73 mov WORD PTR [ebx+esi*2], ax - -; 371 : #endif -; 372 : s->head[s->ins_h] = (Pos)str; - - 0010b 8b 4f 48 mov ecx, DWORD PTR [edi+72] - 0010e 8b 47 44 mov eax, DWORD PTR [edi+68] - 00111 66 89 14 48 mov WORD PTR [eax+ecx*2], dx - -; 373 : str++; - - 00115 42 inc edx - -; 374 : } while (--n); - - 00116 ff 4d 0c dec DWORD PTR _n$[ebp] - 00119 75 c5 jne SHORT $LL3@deflateSet@2 - -; 375 : s->strstart = str; - - 0011b 89 57 6c mov DWORD PTR [edi+108], edx - -; 376 : s->lookahead = MIN_MATCH-1; - - 0011e c7 47 74 02 00 - 00 00 mov DWORD PTR [edi+116], 2 - -; 377 : fill_window(s); - - 00125 e8 00 00 00 00 call _fill_window - 0012a 83 7f 74 03 cmp DWORD PTR [edi+116], 3 - 0012e 73 a3 jae SHORT $LL5@deflateSet@2 - -; 364 : while (s->lookahead >= MIN_MATCH) { - - 00130 8b 75 08 mov esi, DWORD PTR _strm$[ebp] -$LN4@deflateSet@2: - -; 378 : } -; 379 : s->strstart += s->lookahead; - - 00133 8b 47 74 mov eax, DWORD PTR [edi+116] - 00136 01 47 6c add DWORD PTR [edi+108], eax - 00139 8b 4f 6c mov ecx, DWORD PTR [edi+108] - -; 380 : s->block_start = (long)s->strstart; -; 381 : s->insert = s->lookahead; -; 382 : s->lookahead = 0; -; 383 : s->match_length = s->prev_length = MIN_MATCH-1; -; 384 : s->match_available = 0; -; 385 : strm->next_in = next; -; 386 : strm->avail_in = avail; - - 0013c 8b 55 f8 mov edx, DWORD PTR _avail$[ebp] - 0013f 89 4f 5c mov DWORD PTR [edi+92], ecx - 00142 89 87 b4 16 00 - 00 mov DWORD PTR [edi+5812], eax - 00148 33 c0 xor eax, eax - 0014a b9 02 00 00 00 mov ecx, 2 - 0014f 89 47 74 mov DWORD PTR [edi+116], eax - 00152 89 4f 78 mov DWORD PTR [edi+120], ecx - 00155 89 4f 60 mov DWORD PTR [edi+96], ecx - 00158 8b 4d 10 mov ecx, DWORD PTR _next$[ebp] - 0015b 89 47 68 mov DWORD PTR [edi+104], eax - -; 387 : s->wrap = wrap; - - 0015e 8b 45 fc mov eax, DWORD PTR _wrap$[ebp] - 00161 89 0e mov DWORD PTR [esi], ecx - 00163 89 56 04 mov DWORD PTR [esi+4], edx - 00166 5b pop ebx - 00167 89 47 18 mov DWORD PTR [edi+24], eax - 0016a 5f pop edi - -; 388 : return Z_OK; - - 0016b 33 c0 xor eax, eax - 0016d 5e pop esi - -; 389 : } - - 0016e 8b e5 mov esp, ebp - 00170 5d pop ebp - 00171 c2 0c 00 ret 12 ; 0000000cH -$LN12@deflateSet@2: - 00174 5f pop edi - -; 335 : return Z_STREAM_ERROR; - - 00175 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 0017a 5e pop esi - -; 389 : } - - 0017b 8b e5 mov esp, ebp - 0017d 5d pop ebp - 0017e c2 0c 00 ret 12 ; 0000000cH -_deflateSetDictionary@12 ENDP -_TEXT ENDS -PUBLIC _deflateInit2_@32 -; Function compile flags: /Ogtp -; COMDAT _deflateInit2_@32 -_TEXT SEGMENT -_wrap$ = -4 ; size = 4 -_strm$ = 8 ; size = 4 -_level$ = 12 ; size = 4 -_method$ = 16 ; size = 4 -_windowBits$ = 20 ; size = 4 -_memLevel$ = 24 ; size = 4 -_strategy$ = 28 ; size = 4 -_version$ = 32 ; size = 4 -_stream_size$ = 36 ; size = 4 -_deflateInit2_@32 PROC ; COMDAT - -; 223 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - -; 224 : deflate_state *s; -; 225 : int wrap = 1; -; 226 : static const char my_version[] = ZLIB_VERSION; -; 227 : -; 228 : ushf *overlay; -; 229 : /* We overlay pending_buf and d_buf+l_buf. This works since the average -; 230 : * output size for (length,distance) codes is <= 24 bits. -; 231 : */ -; 232 : -; 233 : if (version == Z_NULL || version[0] != my_version[0] || -; 234 : stream_size != sizeof(z_stream)) { - - 00004 8b 45 20 mov eax, DWORD PTR _version$[ebp] - 00007 33 c9 xor ecx, ecx - 00009 c7 45 fc 01 00 - 00 00 mov DWORD PTR _wrap$[ebp], 1 - 00010 3b c1 cmp eax, ecx - 00012 0f 84 16 02 00 - 00 je $LN14@deflateIni - 00018 80 38 31 cmp BYTE PTR [eax], 49 ; 00000031H - 0001b 0f 85 0d 02 00 - 00 jne $LN14@deflateIni - 00021 83 7d 24 38 cmp DWORD PTR _stream_size$[ebp], 56 ; 00000038H - 00025 0f 85 03 02 00 - 00 jne $LN14@deflateIni - -; 236 : } -; 237 : if (strm == Z_NULL) return Z_STREAM_ERROR; - - 0002b 57 push edi - 0002c 8b 7d 08 mov edi, DWORD PTR _strm$[ebp] - 0002f 3b f9 cmp edi, ecx - 00031 75 0a jne SHORT $LN13@deflateIni - 00033 8d 41 fe lea eax, DWORD PTR [ecx-2] - 00036 5f pop edi - -; 320 : } - - 00037 8b e5 mov esp, ebp - 00039 5d pop ebp - 0003a c2 20 00 ret 32 ; 00000020H -$LN13@deflateIni: - -; 238 : -; 239 : strm->msg = Z_NULL; - - 0003d 89 4f 18 mov DWORD PTR [edi+24], ecx - -; 240 : if (strm->zalloc == (alloc_func)0) { - - 00040 39 4f 20 cmp DWORD PTR [edi+32], ecx - 00043 75 0a jne SHORT $LN12@deflateIni - -; 241 : #ifdef Z_SOLO -; 242 : return Z_STREAM_ERROR; -; 243 : #else -; 244 : strm->zalloc = zcalloc; - - 00045 c7 47 20 00 00 - 00 00 mov DWORD PTR [edi+32], OFFSET _zcalloc - -; 245 : strm->opaque = (voidpf)0; - - 0004c 89 4f 28 mov DWORD PTR [edi+40], ecx -$LN12@deflateIni: - -; 246 : #endif -; 247 : } -; 248 : if (strm->zfree == (free_func)0) - - 0004f 39 4f 24 cmp DWORD PTR [edi+36], ecx - 00052 75 07 jne SHORT $LN11@deflateIni - -; 249 : #ifdef Z_SOLO -; 250 : return Z_STREAM_ERROR; -; 251 : #else -; 252 : strm->zfree = zcfree; - - 00054 c7 47 24 00 00 - 00 00 mov DWORD PTR [edi+36], OFFSET _zcfree -$LN11@deflateIni: - -; 253 : #endif -; 254 : -; 255 : #ifdef FASTEST -; 256 : if (level != 0) level = 1; -; 257 : #else -; 258 : if (level == Z_DEFAULT_COMPRESSION) level = 6; - - 0005b 83 7d 0c ff cmp DWORD PTR _level$[ebp], -1 - 0005f 75 07 jne SHORT $LN10@deflateIni - 00061 c7 45 0c 06 00 - 00 00 mov DWORD PTR _level$[ebp], 6 -$LN10@deflateIni: - 00068 53 push ebx - -; 259 : #endif -; 260 : -; 261 : if (windowBits < 0) { /* suppress zlib wrapper */ - - 00069 8b 5d 14 mov ebx, DWORD PTR _windowBits$[ebp] - 0006c 3b d9 cmp ebx, ecx - 0006e 7d 07 jge SHORT $LN9@deflateIni - -; 262 : wrap = 0; - - 00070 89 4d fc mov DWORD PTR _wrap$[ebp], ecx - -; 263 : windowBits = -windowBits; - - 00073 f7 db neg ebx - 00075 eb 0f jmp SHORT $LN21@deflateIni -$LN9@deflateIni: - -; 264 : } -; 265 : #ifdef GZIP -; 266 : else if (windowBits > 15) { - - 00077 83 fb 0f cmp ebx, 15 ; 0000000fH - 0007a 7e 0d jle SHORT $LN7@deflateIni - -; 267 : wrap = 2; /* write gzip wrapper instead */ - - 0007c c7 45 fc 02 00 - 00 00 mov DWORD PTR _wrap$[ebp], 2 - -; 268 : windowBits -= 16; - - 00083 83 eb 10 sub ebx, 16 ; 00000010H -$LN21@deflateIni: - 00086 89 5d 14 mov DWORD PTR _windowBits$[ebp], ebx -$LN7@deflateIni: - -; 269 : } -; 270 : #endif -; 271 : if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method != Z_DEFLATED || -; 272 : windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || -; 273 : strategy < 0 || strategy > Z_FIXED) { - - 00089 8b 45 18 mov eax, DWORD PTR _memLevel$[ebp] - 0008c 48 dec eax - 0008d 83 f8 08 cmp eax, 8 - 00090 0f 87 8b 01 00 - 00 ja $LN5@deflateIni - 00096 83 7d 10 08 cmp DWORD PTR _method$[ebp], 8 - 0009a 0f 85 81 01 00 - 00 jne $LN5@deflateIni - 000a0 8d 4b f8 lea ecx, DWORD PTR [ebx-8] - 000a3 83 f9 07 cmp ecx, 7 - 000a6 0f 87 75 01 00 - 00 ja $LN5@deflateIni - 000ac b8 09 00 00 00 mov eax, 9 - 000b1 39 45 0c cmp DWORD PTR _level$[ebp], eax - 000b4 0f 87 67 01 00 - 00 ja $LN5@deflateIni - 000ba 83 7d 1c 04 cmp DWORD PTR _strategy$[ebp], 4 - 000be 0f 87 5d 01 00 - 00 ja $LN5@deflateIni - -; 275 : } -; 276 : if (windowBits == 8) windowBits = 9; /* until 256-byte window bug fixed */ - - 000c4 83 fb 08 cmp ebx, 8 - 000c7 75 05 jne SHORT $LN4@deflateIni - 000c9 89 45 14 mov DWORD PTR _windowBits$[ebp], eax - 000cc 8b d8 mov ebx, eax -$LN4@deflateIni: - -; 277 : s = (deflate_state *) ZALLOC(strm, 1, sizeof(deflate_state)); - - 000ce 8b 57 28 mov edx, DWORD PTR [edi+40] - 000d1 8b 47 20 mov eax, DWORD PTR [edi+32] - 000d4 56 push esi - 000d5 68 c4 16 00 00 push 5828 ; 000016c4H - 000da 6a 01 push 1 - 000dc 52 push edx - 000dd ff d0 call eax - 000df 8b f0 mov esi, eax - 000e1 83 c4 0c add esp, 12 ; 0000000cH - -; 278 : if (s == Z_NULL) return Z_MEM_ERROR; - - 000e4 85 f6 test esi, esi - 000e6 0f 84 27 01 00 - 00 je $LN22@deflateIni - -; 279 : strm->state = (struct internal_state FAR *)s; -; 280 : s->strm = strm; -; 281 : -; 282 : s->wrap = wrap; - - 000ec 8b 4d fc mov ecx, DWORD PTR _wrap$[ebp] - 000ef 89 77 1c mov DWORD PTR [edi+28], esi - 000f2 89 4e 18 mov DWORD PTR [esi+24], ecx - -; 283 : s->gzhead = Z_NULL; -; 284 : s->w_bits = windowBits; -; 285 : s->w_size = 1 << s->w_bits; - - 000f5 8b 4d 14 mov ecx, DWORD PTR _windowBits$[ebp] - 000f8 89 5e 30 mov DWORD PTR [esi+48], ebx - 000fb bb 01 00 00 00 mov ebx, 1 - 00100 d3 e3 shl ebx, cl - -; 286 : s->w_mask = s->w_size - 1; -; 287 : -; 288 : s->hash_bits = memLevel + 7; - - 00102 8b 4d 18 mov ecx, DWORD PTR _memLevel$[ebp] - 00105 83 c1 07 add ecx, 7 - -; 289 : s->hash_size = 1 << s->hash_bits; - - 00108 b8 01 00 00 00 mov eax, 1 - 0010d d3 e0 shl eax, cl - 0010f 89 4e 50 mov DWORD PTR [esi+80], ecx - 00112 8d 53 ff lea edx, DWORD PTR [ebx-1] - 00115 89 56 34 mov DWORD PTR [esi+52], edx - 00118 89 46 4c mov DWORD PTR [esi+76], eax - -; 290 : s->hash_mask = s->hash_size - 1; - - 0011b 48 dec eax - 0011c 89 46 54 mov DWORD PTR [esi+84], eax - -; 291 : s->hash_shift = ((s->hash_bits+MIN_MATCH-1)/MIN_MATCH); - - 0011f 83 c1 02 add ecx, 2 - 00122 b8 ab aa aa aa mov eax, -1431655765 ; aaaaaaabH - 00127 f7 e1 mul ecx - 00129 d1 ea shr edx, 1 - 0012b 89 3e mov DWORD PTR [esi], edi - 0012d c7 46 1c 00 00 - 00 00 mov DWORD PTR [esi+28], 0 - 00134 89 5e 2c mov DWORD PTR [esi+44], ebx - 00137 89 56 58 mov DWORD PTR [esi+88], edx - -; 292 : -; 293 : s->window = (Bytef *) ZALLOC(strm, s->w_size, 2*sizeof(Byte)); - - 0013a 8b 47 28 mov eax, DWORD PTR [edi+40] - 0013d 8b 4f 20 mov ecx, DWORD PTR [edi+32] - 00140 6a 02 push 2 - 00142 53 push ebx - 00143 50 push eax - 00144 ff d1 call ecx - -; 294 : s->prev = (Posf *) ZALLOC(strm, s->w_size, sizeof(Pos)); - - 00146 8b 56 2c mov edx, DWORD PTR [esi+44] - 00149 89 46 38 mov DWORD PTR [esi+56], eax - 0014c 8b 47 28 mov eax, DWORD PTR [edi+40] - 0014f 8b 4f 20 mov ecx, DWORD PTR [edi+32] - 00152 6a 02 push 2 - 00154 52 push edx - 00155 50 push eax - 00156 ff d1 call ecx - -; 295 : s->head = (Posf *) ZALLOC(strm, s->hash_size, sizeof(Pos)); - - 00158 8b 56 4c mov edx, DWORD PTR [esi+76] - 0015b 89 46 40 mov DWORD PTR [esi+64], eax - 0015e 8b 47 28 mov eax, DWORD PTR [edi+40] - 00161 8b 4f 20 mov ecx, DWORD PTR [edi+32] - 00164 6a 02 push 2 - 00166 52 push edx - 00167 50 push eax - 00168 ff d1 call ecx - -; 296 : -; 297 : s->high_water = 0; /* nothing written to s->window yet */ -; 298 : -; 299 : s->lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */ - - 0016a 8b 4d 18 mov ecx, DWORD PTR _memLevel$[ebp] - 0016d 89 46 44 mov DWORD PTR [esi+68], eax - 00170 83 c1 06 add ecx, 6 - 00173 b8 01 00 00 00 mov eax, 1 - 00178 d3 e0 shl eax, cl - 0017a c7 86 c0 16 00 - 00 00 00 00 00 mov DWORD PTR [esi+5824], 0 - -; 300 : -; 301 : overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2); - - 00184 6a 04 push 4 - 00186 89 86 9c 16 00 - 00 mov DWORD PTR [esi+5788], eax - 0018c 8b 57 28 mov edx, DWORD PTR [edi+40] - 0018f 50 push eax - 00190 8b 47 20 mov eax, DWORD PTR [edi+32] - 00193 52 push edx - 00194 ff d0 call eax - -; 302 : s->pending_buf = (uchf *) overlay; -; 303 : s->pending_buf_size = (ulg)s->lit_bufsize * (sizeof(ush)+2L); - - 00196 8b 8e 9c 16 00 - 00 mov ecx, DWORD PTR [esi+5788] - 0019c 83 c4 30 add esp, 48 ; 00000030H - -; 304 : -; 305 : if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL || -; 306 : s->pending_buf == Z_NULL) { - - 0019f 83 7e 38 00 cmp DWORD PTR [esi+56], 0 - 001a3 8d 14 8d 00 00 - 00 00 lea edx, DWORD PTR [ecx*4] - 001aa 89 46 08 mov DWORD PTR [esi+8], eax - 001ad 89 56 0c mov DWORD PTR [esi+12], edx - 001b0 74 4d je SHORT $LN1@deflateIni - 001b2 83 7e 40 00 cmp DWORD PTR [esi+64], 0 - 001b6 74 47 je SHORT $LN1@deflateIni - 001b8 83 7e 44 00 cmp DWORD PTR [esi+68], 0 - 001bc 74 41 je SHORT $LN1@deflateIni - 001be 85 c0 test eax, eax - 001c0 74 3d je SHORT $LN1@deflateIni - -; 311 : } -; 312 : s->d_buf = overlay + s->lit_bufsize/sizeof(ush); - - 001c2 8b d1 mov edx, ecx - 001c4 d1 ea shr edx, 1 - 001c6 8d 14 50 lea edx, DWORD PTR [eax+edx*2] - -; 313 : s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize; - - 001c9 8d 04 48 lea eax, DWORD PTR [eax+ecx*2] - 001cc 03 c1 add eax, ecx - -; 314 : -; 315 : s->level = level; - - 001ce 8b 4d 0c mov ecx, DWORD PTR _level$[ebp] - 001d1 89 96 a4 16 00 - 00 mov DWORD PTR [esi+5796], edx - -; 316 : s->strategy = strategy; - - 001d7 8b 55 1c mov edx, DWORD PTR _strategy$[ebp] - -; 317 : s->method = (Byte)method; -; 318 : -; 319 : return deflateReset(strm); - - 001da 57 push edi - 001db 89 86 98 16 00 - 00 mov DWORD PTR [esi+5784], eax - 001e1 89 8e 84 00 00 - 00 mov DWORD PTR [esi+132], ecx - 001e7 89 96 88 00 00 - 00 mov DWORD PTR [esi+136], edx - 001ed c6 46 24 08 mov BYTE PTR [esi+36], 8 - 001f1 e8 00 00 00 00 call _deflateReset@4 - 001f6 5e pop esi - 001f7 5b pop ebx - 001f8 5f pop edi - -; 320 : } - - 001f9 8b e5 mov esp, ebp - 001fb 5d pop ebp - 001fc c2 20 00 ret 32 ; 00000020H -$LN1@deflateIni: - -; 307 : s->status = FINISH_STATE; - - 001ff c7 46 04 9a 02 - 00 00 mov DWORD PTR [esi+4], 666 ; 0000029aH - -; 308 : strm->msg = (char*)ERR_MSG(Z_MEM_ERROR); -; 309 : deflateEnd (strm); - - 00206 57 push edi - 00207 c7 47 18 00 00 - 00 00 mov DWORD PTR [edi+24], OFFSET ??_C@_0BE@OGGJBMCE@insufficient?5memory?$AA@ - 0020e e8 00 00 00 00 call _deflateEnd@4 -$LN22@deflateIni: - -; 310 : return Z_MEM_ERROR; - - 00213 5e pop esi - 00214 5b pop ebx - 00215 b8 fc ff ff ff mov eax, -4 ; fffffffcH - 0021a 5f pop edi - -; 320 : } - - 0021b 8b e5 mov esp, ebp - 0021d 5d pop ebp - 0021e c2 20 00 ret 32 ; 00000020H -$LN5@deflateIni: - 00221 5b pop ebx - -; 274 : return Z_STREAM_ERROR; - - 00222 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00227 5f pop edi - -; 320 : } - - 00228 8b e5 mov esp, ebp - 0022a 5d pop ebp - 0022b c2 20 00 ret 32 ; 00000020H -$LN14@deflateIni: - -; 235 : return Z_VERSION_ERROR; - - 0022e b8 fa ff ff ff mov eax, -6 ; fffffffaH - -; 320 : } - - 00233 8b e5 mov esp, ebp - 00235 5d pop ebp - 00236 c2 20 00 ret 32 ; 00000020H -_deflateInit2_@32 ENDP -_TEXT ENDS -PUBLIC _deflateInit_@16 -; Function compile flags: /Ogtp -; COMDAT _deflateInit_@16 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_level$ = 12 ; size = 4 -_version$ = 16 ; size = 4 -_stream_size$ = 20 ; size = 4 -_deflateInit_@16 PROC ; COMDAT - -; 206 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 207 : return deflateInit2_(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, -; 208 : Z_DEFAULT_STRATEGY, version, stream_size); - - 00003 8b 45 14 mov eax, DWORD PTR _stream_size$[ebp] - 00006 8b 4d 10 mov ecx, DWORD PTR _version$[ebp] - 00009 8b 55 0c mov edx, DWORD PTR _level$[ebp] - 0000c 50 push eax - 0000d 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00010 51 push ecx - 00011 6a 00 push 0 - 00013 6a 08 push 8 - 00015 6a 0f push 15 ; 0000000fH - 00017 6a 08 push 8 - 00019 52 push edx - 0001a 50 push eax - 0001b e8 00 00 00 00 call _deflateInit2_@32 - -; 209 : /* To do: ignore strm->next_in if we use it as window */ -; 210 : } - - 00020 5d pop ebp - 00021 c2 10 00 ret 16 ; 00000010H -_deflateInit_@16 ENDP -; Function compile flags: /Ogtp -; COMDAT _deflate_huff -_TEXT SEGMENT -_flush$ = 8 ; size = 4 -_deflate_huff PROC ; COMDAT -; _s$ = esi - -; 1935 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 57 push edi -$LL11@deflate_hu: - -; 1936 : int bflush; /* set if current block must be flushed */ -; 1937 : -; 1938 : for (;;) { -; 1939 : /* Make sure that we have a literal to write. */ -; 1940 : if (s->lookahead == 0) { - - 00004 83 7e 74 00 cmp DWORD PTR [esi+116], 0 - 00008 75 11 jne SHORT $LN8@deflate_hu - -; 1941 : fill_window(s); - - 0000a 8b fe mov edi, esi - 0000c e8 00 00 00 00 call _fill_window - -; 1942 : if (s->lookahead == 0) { - - 00011 83 7e 74 00 cmp DWORD PTR [esi+116], 0 - 00015 0f 84 a4 00 00 - 00 je $LN22@deflate_hu -$LN8@deflate_hu: - -; 1945 : break; /* flush the current block */ -; 1946 : } -; 1947 : } -; 1948 : -; 1949 : /* Output a literal byte */ -; 1950 : s->match_length = 0; -; 1951 : Tracevv((stderr,"%c", s->window[s->strstart])); -; 1952 : _tr_tally_lit (s, s->window[s->strstart], bflush); - - 0001b 8b 46 6c mov eax, DWORD PTR [esi+108] - 0001e 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 00021 8b 96 a0 16 00 - 00 mov edx, DWORD PTR [esi+5792] - 00027 c7 46 60 00 00 - 00 00 mov DWORD PTR [esi+96], 0 - 0002e 8a 04 08 mov al, BYTE PTR [eax+ecx] - 00031 8b 8e a4 16 00 - 00 mov ecx, DWORD PTR [esi+5796] - 00037 33 ff xor edi, edi - 00039 66 89 3c 51 mov WORD PTR [ecx+edx*2], di - 0003d 8b 8e a0 16 00 - 00 mov ecx, DWORD PTR [esi+5792] - 00043 8b 96 98 16 00 - 00 mov edx, DWORD PTR [esi+5784] - 00049 88 04 0a mov BYTE PTR [edx+ecx], al - 0004c 0f b6 d0 movzx edx, al - 0004f b9 01 00 00 00 mov ecx, 1 - 00054 01 8e a0 16 00 - 00 add DWORD PTR [esi+5792], ecx - 0005a 66 01 8c 96 94 - 00 00 00 add WORD PTR [esi+edx*4+148], cx - -; 1953 : s->lookahead--; -; 1954 : s->strstart++; - - 00062 01 4e 6c add DWORD PTR [esi+108], ecx - 00065 ff 4e 74 dec DWORD PTR [esi+116] - 00068 8d 84 96 94 00 - 00 00 lea eax, DWORD PTR [esi+edx*4+148] - 0006f 8b 96 9c 16 00 - 00 mov edx, DWORD PTR [esi+5788] - 00075 8b 46 6c mov eax, DWORD PTR [esi+108] - 00078 2b d1 sub edx, ecx - 0007a 39 96 a0 16 00 - 00 cmp DWORD PTR [esi+5792], edx - -; 1955 : if (bflush) FLUSH_BLOCK(s, 0); - - 00080 75 82 jne SHORT $LL11@deflate_hu - 00082 8b 56 5c mov edx, DWORD PTR [esi+92] - 00085 85 d2 test edx, edx - 00087 78 07 js SHORT $LN14@deflate_hu - 00089 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 0008c 03 ca add ecx, edx - 0008e eb 02 jmp SHORT $LN15@deflate_hu -$LN14@deflate_hu: - 00090 33 c9 xor ecx, ecx -$LN15@deflate_hu: - 00092 6a 00 push 0 - 00094 51 push ecx - 00095 2b c2 sub eax, edx - 00097 8b ce mov ecx, esi - 00099 e8 00 00 00 00 call __tr_flush_block - 0009e 8b 46 6c mov eax, DWORD PTR [esi+108] - 000a1 8b 3e mov edi, DWORD PTR [esi] - 000a3 83 c4 08 add esp, 8 - 000a6 89 46 5c mov DWORD PTR [esi+92], eax - 000a9 e8 00 00 00 00 call _flush_pending - 000ae 8b 0e mov ecx, DWORD PTR [esi] - 000b0 83 79 10 00 cmp DWORD PTR [ecx+16], 0 - 000b4 0f 85 4a ff ff - ff jne $LL11@deflate_hu -$LN23@deflate_hu: - 000ba 33 c0 xor eax, eax - 000bc 5f pop edi - -; 1965 : } - - 000bd 5d pop ebp - 000be c3 ret 0 -$LN22@deflate_hu: - -; 1943 : if (flush == Z_NO_FLUSH) - - 000bf 8b 45 08 mov eax, DWORD PTR _flush$[ebp] - 000c2 85 c0 test eax, eax - -; 1944 : return need_more; - - 000c4 74 f4 je SHORT $LN23@deflate_hu - -; 1956 : } -; 1957 : s->insert = 0; - - 000c6 c7 86 b4 16 00 - 00 00 00 00 00 mov DWORD PTR [esi+5812], 0 - -; 1958 : if (flush == Z_FINISH) { - - 000d0 83 f8 04 cmp eax, 4 - 000d3 75 3f jne SHORT $LN4@deflate_hu - -; 1959 : FLUSH_BLOCK(s, 1); - - 000d5 8b 56 5c mov edx, DWORD PTR [esi+92] - 000d8 85 d2 test edx, edx - 000da 78 07 js SHORT $LN16@deflate_hu - 000dc 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 000df 03 ca add ecx, edx - 000e1 eb 02 jmp SHORT $LN17@deflate_hu -$LN16@deflate_hu: - 000e3 33 c9 xor ecx, ecx -$LN17@deflate_hu: - 000e5 8b 46 6c mov eax, DWORD PTR [esi+108] - 000e8 6a 01 push 1 - 000ea 51 push ecx - 000eb 2b c2 sub eax, edx - 000ed 8b ce mov ecx, esi - 000ef e8 00 00 00 00 call __tr_flush_block - 000f4 8b 56 6c mov edx, DWORD PTR [esi+108] - 000f7 8b 3e mov edi, DWORD PTR [esi] - 000f9 83 c4 08 add esp, 8 - 000fc 89 56 5c mov DWORD PTR [esi+92], edx - 000ff e8 00 00 00 00 call _flush_pending - 00104 8b 06 mov eax, DWORD PTR [esi] - 00106 33 c9 xor ecx, ecx - 00108 39 48 10 cmp DWORD PTR [eax+16], ecx - 0010b 5f pop edi - 0010c 0f 95 c1 setne cl - 0010f 8d 41 02 lea eax, DWORD PTR [ecx+2] - -; 1965 : } - - 00112 5d pop ebp - 00113 c3 ret 0 -$LN4@deflate_hu: - -; 1960 : return finish_done; -; 1961 : } -; 1962 : if (s->last_lit) - - 00114 83 be a0 16 00 - 00 00 cmp DWORD PTR [esi+5792], 0 - 0011b 74 3b je SHORT $LN1@deflate_hu - -; 1963 : FLUSH_BLOCK(s, 0); - - 0011d 8b 56 5c mov edx, DWORD PTR [esi+92] - 00120 85 d2 test edx, edx - 00122 78 07 js SHORT $LN18@deflate_hu - 00124 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 00127 03 ca add ecx, edx - 00129 eb 02 jmp SHORT $LN19@deflate_hu -$LN18@deflate_hu: - 0012b 33 c9 xor ecx, ecx -$LN19@deflate_hu: - 0012d 8b 46 6c mov eax, DWORD PTR [esi+108] - 00130 6a 00 push 0 - 00132 51 push ecx - 00133 2b c2 sub eax, edx - 00135 8b ce mov ecx, esi - 00137 e8 00 00 00 00 call __tr_flush_block - 0013c 8b 56 6c mov edx, DWORD PTR [esi+108] - 0013f 8b 3e mov edi, DWORD PTR [esi] - 00141 83 c4 08 add esp, 8 - 00144 89 56 5c mov DWORD PTR [esi+92], edx - 00147 e8 00 00 00 00 call _flush_pending - 0014c 8b 06 mov eax, DWORD PTR [esi] - 0014e 83 78 10 00 cmp DWORD PTR [eax+16], 0 - 00152 0f 84 62 ff ff - ff je $LN23@deflate_hu -$LN1@deflate_hu: - -; 1964 : return block_done; - - 00158 b8 01 00 00 00 mov eax, 1 - 0015d 5f pop edi - -; 1965 : } - - 0015e 5d pop ebp - 0015f c3 ret 0 -_deflate_huff ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _deflate_rle -_TEXT SEGMENT -_flush$ = 8 ; size = 4 -_deflate_rle PROC ; COMDAT -; _s$ = esi - -; 1862 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - 00004 57 push edi - 00005 bb 01 00 00 00 mov ebx, 1 - 0000a 8d 9b 00 00 00 - 00 npad 6 -$LL20@deflate_rl: - -; 1863 : int bflush; /* set if current block must be flushed */ -; 1864 : uInt prev; /* byte at distance one to match */ -; 1865 : Bytef *scan, *strend; /* scan goes up to strend for length of run */ -; 1866 : -; 1867 : for (;;) { -; 1868 : /* Make sure that we always have enough lookahead, except -; 1869 : * at the end of the input file. We need MAX_MATCH bytes -; 1870 : * for the longest run, plus one for the unrolled loop. -; 1871 : */ -; 1872 : if (s->lookahead <= MAX_MATCH) { - - 00010 8b 7e 74 mov edi, DWORD PTR [esi+116] - 00013 81 ff 02 01 00 - 00 cmp edi, 258 ; 00000102H - 00019 77 24 ja SHORT $LN41@deflate_rl - -; 1873 : fill_window(s); - - 0001b 8b fe mov edi, esi - 0001d e8 00 00 00 00 call _fill_window - -; 1874 : if (s->lookahead <= MAX_MATCH && flush == Z_NO_FLUSH) { - - 00022 8b 7e 74 mov edi, DWORD PTR [esi+116] - 00025 81 ff 02 01 00 - 00 cmp edi, 258 ; 00000102H - 0002b 77 0a ja SHORT $LN40@deflate_rl - 0002d 83 7d 08 00 cmp DWORD PTR _flush$[ebp], 0 - 00031 0f 84 cb 01 00 - 00 je $LN36@deflate_rl -$LN40@deflate_rl: - -; 1875 : return need_more; -; 1876 : } -; 1877 : if (s->lookahead == 0) break; /* flush the current block */ - - 00037 85 ff test edi, edi - 00039 0f 84 c9 01 00 - 00 je $LN35@deflate_rl -$LN41@deflate_rl: - -; 1878 : } -; 1879 : -; 1880 : /* See how many times the previous byte repeats */ -; 1881 : s->match_length = 0; - - 0003f c7 46 60 00 00 - 00 00 mov DWORD PTR [esi+96], 0 - -; 1882 : if (s->lookahead >= MIN_MATCH && s->strstart > 0) { - - 00046 83 ff 03 cmp edi, 3 - 00049 0f 82 a2 00 00 - 00 jb $LN9@deflate_rl - 0004f 8b 46 6c mov eax, DWORD PTR [esi+108] - 00052 85 c0 test eax, eax - 00054 0f 84 97 00 00 - 00 je $LN9@deflate_rl - -; 1883 : scan = s->window + s->strstart - 1; - - 0005a 8b 56 38 mov edx, DWORD PTR [esi+56] - 0005d 03 d0 add edx, eax - -; 1884 : prev = *scan; - - 0005f 0f b6 4a ff movzx ecx, BYTE PTR [edx-1] - 00063 8d 42 ff lea eax, DWORD PTR [edx-1] - -; 1885 : if (prev == *++scan && prev == *++scan && prev == *++scan) { - - 00066 03 c3 add eax, ebx - 00068 0f b6 18 movzx ebx, BYTE PTR [eax] - 0006b 3b cb cmp ecx, ebx - 0006d 75 7d jne SHORT $LN38@deflate_rl - 0006f 0f b6 58 01 movzx ebx, BYTE PTR [eax+1] - 00073 3b cb cmp ecx, ebx - 00075 75 75 jne SHORT $LN38@deflate_rl - 00077 0f b6 58 02 movzx ebx, BYTE PTR [eax+2] - 0007b 83 c0 02 add eax, 2 - 0007e 3b cb cmp ecx, ebx - 00080 75 6a jne SHORT $LN38@deflate_rl - -; 1886 : strend = s->window + s->strstart + MAX_MATCH; - - 00082 81 c2 02 01 00 - 00 add edx, 258 ; 00000102H -$LL13@deflate_rl: - -; 1887 : do { -; 1888 : } while (prev == *++scan && prev == *++scan && -; 1889 : prev == *++scan && prev == *++scan && -; 1890 : prev == *++scan && prev == *++scan && -; 1891 : prev == *++scan && prev == *++scan && -; 1892 : scan < strend); - - 00088 0f b6 58 01 movzx ebx, BYTE PTR [eax+1] - 0008c 40 inc eax - 0008d 3b cb cmp ecx, ebx - 0008f 75 43 jne SHORT $LN10@deflate_rl - 00091 0f b6 58 01 movzx ebx, BYTE PTR [eax+1] - 00095 40 inc eax - 00096 3b cb cmp ecx, ebx - 00098 75 3a jne SHORT $LN10@deflate_rl - 0009a 0f b6 58 01 movzx ebx, BYTE PTR [eax+1] - 0009e 40 inc eax - 0009f 3b cb cmp ecx, ebx - 000a1 75 31 jne SHORT $LN10@deflate_rl - 000a3 0f b6 58 01 movzx ebx, BYTE PTR [eax+1] - 000a7 40 inc eax - 000a8 3b cb cmp ecx, ebx - 000aa 75 28 jne SHORT $LN10@deflate_rl - 000ac 0f b6 58 01 movzx ebx, BYTE PTR [eax+1] - 000b0 40 inc eax - 000b1 3b cb cmp ecx, ebx - 000b3 75 1f jne SHORT $LN10@deflate_rl - 000b5 0f b6 58 01 movzx ebx, BYTE PTR [eax+1] - 000b9 40 inc eax - 000ba 3b cb cmp ecx, ebx - 000bc 75 16 jne SHORT $LN10@deflate_rl - 000be 0f b6 58 01 movzx ebx, BYTE PTR [eax+1] - 000c2 40 inc eax - 000c3 3b cb cmp ecx, ebx - 000c5 75 0d jne SHORT $LN10@deflate_rl - 000c7 0f b6 58 01 movzx ebx, BYTE PTR [eax+1] - 000cb 40 inc eax - 000cc 3b cb cmp ecx, ebx - 000ce 75 04 jne SHORT $LN10@deflate_rl - 000d0 3b c2 cmp eax, edx - 000d2 72 b4 jb SHORT $LL13@deflate_rl -$LN10@deflate_rl: - -; 1893 : s->match_length = MAX_MATCH - (int)(strend - scan); - - 000d4 2b c2 sub eax, edx - 000d6 05 02 01 00 00 add eax, 258 ; 00000102H - 000db 89 46 60 mov DWORD PTR [esi+96], eax - -; 1894 : if (s->match_length > s->lookahead) -; 1895 : s->match_length = s->lookahead; - - 000de bb 01 00 00 00 mov ebx, 1 - 000e3 3b c7 cmp eax, edi - 000e5 76 0a jbe SHORT $LN9@deflate_rl - 000e7 89 7e 60 mov DWORD PTR [esi+96], edi - 000ea eb 05 jmp SHORT $LN9@deflate_rl -$LN38@deflate_rl: - 000ec bb 01 00 00 00 mov ebx, 1 -$LN9@deflate_rl: - -; 1896 : } -; 1897 : Assert(scan <= s->window+(uInt)(s->window_size-1), "wild scan"); -; 1898 : } -; 1899 : -; 1900 : /* Emit match if have run of MIN_MATCH or longer, else emit literal */ -; 1901 : if (s->match_length >= MIN_MATCH) { - - 000f1 83 7e 60 03 cmp DWORD PTR [esi+96], 3 - -; 1902 : check_match(s, s->strstart, s->strstart - 1, s->match_length); -; 1903 : -; 1904 : _tr_tally_dist(s, 1, s->match_length - MIN_MATCH, bflush); - - 000f5 8b 96 a0 16 00 - 00 mov edx, DWORD PTR [esi+5792] - 000fb 72 6d jb SHORT $LN8@deflate_rl - 000fd 8a 46 60 mov al, BYTE PTR [esi+96] - 00100 8b 8e a4 16 00 - 00 mov ecx, DWORD PTR [esi+5796] - 00106 2c 03 sub al, 3 - 00108 8b fb mov edi, ebx - 0010a 66 89 3c 51 mov WORD PTR [ecx+edx*2], di - 0010e 8b 8e a0 16 00 - 00 mov ecx, DWORD PTR [esi+5792] - 00114 8b 96 98 16 00 - 00 mov edx, DWORD PTR [esi+5784] - 0011a 88 04 0a mov BYTE PTR [edx+ecx], al - 0011d 01 9e a0 16 00 - 00 add DWORD PTR [esi+5792], ebx - 00123 0f b6 d0 movzx edx, al - 00126 0f b6 82 00 00 - 00 00 movzx eax, BYTE PTR __length_code[edx] - 0012d 66 01 9c 86 98 - 04 00 00 add WORD PTR [esi+eax*4+1176], bx - 00135 66 01 9e 88 09 - 00 00 add WORD PTR [esi+2440], bx - 0013c 8b 8e 9c 16 00 - 00 mov ecx, DWORD PTR [esi+5788] - 00142 8d 84 86 98 04 - 00 00 lea eax, DWORD PTR [esi+eax*4+1176] - -; 1905 : -; 1906 : s->lookahead -= s->match_length; - - 00149 8b 46 60 mov eax, DWORD PTR [esi+96] - 0014c 2b cb sub ecx, ebx - 0014e 33 d2 xor edx, edx - 00150 39 8e a0 16 00 - 00 cmp DWORD PTR [esi+5792], ecx - -; 1907 : s->strstart += s->match_length; -; 1908 : s->match_length = 0; - - 00156 c7 46 60 00 00 - 00 00 mov DWORD PTR [esi+96], 0 - 0015d 0f 94 c2 sete dl - 00160 29 46 74 sub DWORD PTR [esi+116], eax - 00163 01 46 6c add DWORD PTR [esi+108], eax - 00166 8b ca mov ecx, edx - -; 1909 : } else { - - 00168 eb 55 jmp SHORT $LN7@deflate_rl -$LN8@deflate_rl: - -; 1910 : /* No match, output a literal byte */ -; 1911 : Tracevv((stderr,"%c", s->window[s->strstart])); -; 1912 : _tr_tally_lit (s, s->window[s->strstart], bflush); - - 0016a 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 0016d 8b 46 38 mov eax, DWORD PTR [esi+56] - 00170 8a 04 08 mov al, BYTE PTR [eax+ecx] - 00173 8b 8e a4 16 00 - 00 mov ecx, DWORD PTR [esi+5796] - 00179 33 ff xor edi, edi - 0017b 66 89 3c 51 mov WORD PTR [ecx+edx*2], di - 0017f 8b 8e a0 16 00 - 00 mov ecx, DWORD PTR [esi+5792] - 00185 8b 96 98 16 00 - 00 mov edx, DWORD PTR [esi+5784] - 0018b 88 04 0a mov BYTE PTR [edx+ecx], al - 0018e 01 9e a0 16 00 - 00 add DWORD PTR [esi+5792], ebx - 00194 0f b6 d0 movzx edx, al - 00197 66 01 9c 96 94 - 00 00 00 add WORD PTR [esi+edx*4+148], bx - 0019f 8d 84 96 94 00 - 00 00 lea eax, DWORD PTR [esi+edx*4+148] - 001a6 8b 86 9c 16 00 - 00 mov eax, DWORD PTR [esi+5788] - 001ac 2b c3 sub eax, ebx - 001ae 33 c9 xor ecx, ecx - 001b0 39 86 a0 16 00 - 00 cmp DWORD PTR [esi+5792], eax - 001b6 0f 94 c1 sete cl - -; 1913 : s->lookahead--; - - 001b9 ff 4e 74 dec DWORD PTR [esi+116] - -; 1914 : s->strstart++; - - 001bc 01 5e 6c add DWORD PTR [esi+108], ebx -$LN7@deflate_rl: - -; 1915 : } -; 1916 : if (bflush) FLUSH_BLOCK(s, 0); - - 001bf 85 c9 test ecx, ecx - 001c1 0f 84 49 fe ff - ff je $LL20@deflate_rl - 001c7 8b 56 5c mov edx, DWORD PTR [esi+92] - 001ca 85 d2 test edx, edx - 001cc 78 07 js SHORT $LN25@deflate_rl - 001ce 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 001d1 03 ca add ecx, edx - 001d3 eb 02 jmp SHORT $LN26@deflate_rl -$LN25@deflate_rl: - 001d5 33 c9 xor ecx, ecx -$LN26@deflate_rl: - 001d7 8b 46 6c mov eax, DWORD PTR [esi+108] - 001da 6a 00 push 0 - 001dc 51 push ecx - 001dd 2b c2 sub eax, edx - 001df 8b ce mov ecx, esi - 001e1 e8 00 00 00 00 call __tr_flush_block - 001e6 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 001e9 8b 3e mov edi, DWORD PTR [esi] - 001eb 83 c4 08 add esp, 8 - 001ee 89 4e 5c mov DWORD PTR [esi+92], ecx - 001f1 e8 00 00 00 00 call _flush_pending - 001f6 8b 16 mov edx, DWORD PTR [esi] - 001f8 83 7a 10 00 cmp DWORD PTR [edx+16], 0 - 001fc 0f 85 0e fe ff - ff jne $LL20@deflate_rl -$LN36@deflate_rl: - 00202 5f pop edi - 00203 33 c0 xor eax, eax - 00205 5b pop ebx - -; 1926 : } - - 00206 5d pop ebp - 00207 c3 ret 0 -$LN35@deflate_rl: - -; 1917 : } -; 1918 : s->insert = 0; -; 1919 : if (flush == Z_FINISH) { - - 00208 83 7d 08 04 cmp DWORD PTR _flush$[ebp], 4 - 0020c c7 86 b4 16 00 - 00 00 00 00 00 mov DWORD PTR [esi+5812], 0 - 00216 75 3f jne SHORT $LN4@deflate_rl - -; 1920 : FLUSH_BLOCK(s, 1); - - 00218 8b 56 5c mov edx, DWORD PTR [esi+92] - 0021b 85 d2 test edx, edx - 0021d 78 07 js SHORT $LN27@deflate_rl - 0021f 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 00222 03 ca add ecx, edx - 00224 eb 02 jmp SHORT $LN28@deflate_rl -$LN27@deflate_rl: - 00226 33 c9 xor ecx, ecx -$LN28@deflate_rl: - 00228 8b 46 6c mov eax, DWORD PTR [esi+108] - 0022b 53 push ebx - 0022c 51 push ecx - 0022d 2b c2 sub eax, edx - 0022f 8b ce mov ecx, esi - 00231 e8 00 00 00 00 call __tr_flush_block - 00236 8b 46 6c mov eax, DWORD PTR [esi+108] - 00239 8b 3e mov edi, DWORD PTR [esi] - 0023b 83 c4 08 add esp, 8 - 0023e 89 46 5c mov DWORD PTR [esi+92], eax - 00241 e8 00 00 00 00 call _flush_pending - 00246 8b 0e mov ecx, DWORD PTR [esi] - 00248 33 c0 xor eax, eax - 0024a 39 41 10 cmp DWORD PTR [ecx+16], eax - 0024d 5f pop edi - 0024e 0f 95 c0 setne al - 00251 5b pop ebx - 00252 83 c0 02 add eax, 2 - -; 1926 : } - - 00255 5d pop ebp - 00256 c3 ret 0 -$LN4@deflate_rl: - -; 1921 : return finish_done; -; 1922 : } -; 1923 : if (s->last_lit) - - 00257 83 be a0 16 00 - 00 00 cmp DWORD PTR [esi+5792], 0 - 0025e 74 3b je SHORT $LN1@deflate_rl - -; 1924 : FLUSH_BLOCK(s, 0); - - 00260 8b 56 5c mov edx, DWORD PTR [esi+92] - 00263 85 d2 test edx, edx - 00265 78 07 js SHORT $LN29@deflate_rl - 00267 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 0026a 03 ca add ecx, edx - 0026c eb 02 jmp SHORT $LN30@deflate_rl -$LN29@deflate_rl: - 0026e 33 c9 xor ecx, ecx -$LN30@deflate_rl: - 00270 8b 46 6c mov eax, DWORD PTR [esi+108] - 00273 6a 00 push 0 - 00275 51 push ecx - 00276 2b c2 sub eax, edx - 00278 8b ce mov ecx, esi - 0027a e8 00 00 00 00 call __tr_flush_block - 0027f 8b 56 6c mov edx, DWORD PTR [esi+108] - 00282 8b 3e mov edi, DWORD PTR [esi] - 00284 83 c4 08 add esp, 8 - 00287 89 56 5c mov DWORD PTR [esi+92], edx - 0028a e8 00 00 00 00 call _flush_pending - 0028f 8b 06 mov eax, DWORD PTR [esi] - 00291 83 78 10 00 cmp DWORD PTR [eax+16], 0 - 00295 0f 84 67 ff ff - ff je $LN36@deflate_rl -$LN1@deflate_rl: - 0029b 5f pop edi - -; 1925 : return block_done; - - 0029c 8b c3 mov eax, ebx - 0029e 5b pop ebx - -; 1926 : } - - 0029f 5d pop ebp - 002a0 c3 ret 0 -_deflate_rle ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _deflate_slow -_TEXT SEGMENT -_bflush$ = 8 ; size = 4 -_s$ = 8 ; size = 4 -_flush$ = 12 ; size = 4 -_deflate_slow PROC ; COMDAT - -; 1731 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - 00004 56 push esi - 00005 8b 75 08 mov esi, DWORD PTR _s$[ebp] - 00008 57 push edi - 00009 bb 01 00 00 00 mov ebx, 1 - 0000e 8b ff npad 2 -$LL26@deflate_sl: - -; 1732 : IPos hash_head; /* head of hash chain */ -; 1733 : int bflush; /* set if current block must be flushed */ -; 1734 : -; 1735 : /* Process the input block. */ -; 1736 : for (;;) { -; 1737 : /* Make sure that we always have enough lookahead, except -; 1738 : * at the end of the input file. We need MAX_MATCH bytes -; 1739 : * for the next match, plus MIN_MATCH bytes to insert the -; 1740 : * string following the next match. -; 1741 : */ -; 1742 : if (s->lookahead < MIN_LOOKAHEAD) { - - 00010 8b 4e 74 mov ecx, DWORD PTR [esi+116] - 00013 81 f9 06 01 00 - 00 cmp ecx, 262 ; 00000106H - 00019 73 24 jae SHORT $LN50@deflate_sl - -; 1743 : fill_window(s); - - 0001b 8b fe mov edi, esi - 0001d e8 00 00 00 00 call _fill_window - -; 1744 : if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) { - - 00022 8b 4e 74 mov ecx, DWORD PTR [esi+116] - 00025 81 f9 06 01 00 - 00 cmp ecx, 262 ; 00000106H - 0002b 73 0a jae SHORT $LN49@deflate_sl - 0002d 83 7d 0c 00 cmp DWORD PTR _flush$[ebp], 0 - 00031 0f 84 2c 02 00 - 00 je $LN47@deflate_sl -$LN49@deflate_sl: - -; 1745 : return need_more; -; 1746 : } -; 1747 : if (s->lookahead == 0) break; /* flush the current block */ - - 00037 85 c9 test ecx, ecx - 00039 0f 84 d0 02 00 - 00 je $LN45@deflate_sl -$LN50@deflate_sl: - -; 1748 : } -; 1749 : -; 1750 : /* Insert the string window[strstart .. strstart+2] in the -; 1751 : * dictionary, and set hash_head to the head of the hash chain: -; 1752 : */ -; 1753 : hash_head = NIL; - - 0003f 33 c0 xor eax, eax - -; 1754 : if (s->lookahead >= MIN_MATCH) { - - 00041 83 f9 03 cmp ecx, 3 - 00044 72 49 jb SHORT $LN21@deflate_sl - -; 1755 : INSERT_STRING(s, s->strstart, hash_head); - - 00046 8b 46 48 mov eax, DWORD PTR [esi+72] - 00049 8b 4e 58 mov ecx, DWORD PTR [esi+88] - 0004c 8b 56 6c mov edx, DWORD PTR [esi+108] - 0004f 8b 7e 34 mov edi, DWORD PTR [esi+52] - 00052 d3 e0 shl eax, cl - 00054 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 00057 0f b6 4c 11 02 movzx ecx, BYTE PTR [ecx+edx+2] - 0005c 33 c1 xor eax, ecx - 0005e 23 46 54 and eax, DWORD PTR [esi+84] - 00061 8b 4e 44 mov ecx, DWORD PTR [esi+68] - 00064 23 fa and edi, edx - 00066 8b 56 40 mov edx, DWORD PTR [esi+64] - 00069 89 46 48 mov DWORD PTR [esi+72], eax - 0006c 66 8b 04 41 mov ax, WORD PTR [ecx+eax*2] - 00070 66 89 04 7a mov WORD PTR [edx+edi*2], ax - 00074 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 00077 23 4e 34 and ecx, DWORD PTR [esi+52] - 0007a 8b 56 40 mov edx, DWORD PTR [esi+64] - 0007d 0f b7 04 4a movzx eax, WORD PTR [edx+ecx*2] - 00081 8b 4e 48 mov ecx, DWORD PTR [esi+72] - 00084 8b 56 44 mov edx, DWORD PTR [esi+68] - 00087 66 8b 7e 6c mov di, WORD PTR [esi+108] - 0008b 66 89 3c 4a mov WORD PTR [edx+ecx*2], di -$LN21@deflate_sl: - -; 1756 : } -; 1757 : -; 1758 : /* Find the longest match, discarding those <= prev_length. -; 1759 : */ -; 1760 : s->prev_length = s->match_length, s->prev_match = s->match_start; - - 0008f 8b 4e 60 mov ecx, DWORD PTR [esi+96] - 00092 8b 56 70 mov edx, DWORD PTR [esi+112] - -; 1761 : s->match_length = MIN_MATCH-1; - - 00095 bf 02 00 00 00 mov edi, 2 - 0009a 89 4e 78 mov DWORD PTR [esi+120], ecx - 0009d 89 56 64 mov DWORD PTR [esi+100], edx - 000a0 89 7e 60 mov DWORD PTR [esi+96], edi - -; 1762 : -; 1763 : if (hash_head != NIL && s->prev_length < s->max_lazy_match && -; 1764 : s->strstart - hash_head <= MAX_DIST(s)) { - - 000a3 85 c0 test eax, eax - 000a5 74 4a je SHORT $LN52@deflate_sl - 000a7 3b 8e 80 00 00 - 00 cmp ecx, DWORD PTR [esi+128] - 000ad 73 42 jae SHORT $LN52@deflate_sl - 000af 8b 56 6c mov edx, DWORD PTR [esi+108] - 000b2 8b 4e 2c mov ecx, DWORD PTR [esi+44] - 000b5 2b d0 sub edx, eax - 000b7 81 e9 06 01 00 - 00 sub ecx, 262 ; 00000106H - 000bd 3b d1 cmp edx, ecx - 000bf 77 30 ja SHORT $LN52@deflate_sl - -; 1765 : /* To simplify the code, we prevent matches with the string -; 1766 : * of window index 0 (in particular we have to avoid a match -; 1767 : * of the string with itself at the start of the input file). -; 1768 : */ -; 1769 : s->match_length = longest_match (s, hash_head); - - 000c1 50 push eax - 000c2 56 push esi - 000c3 e8 00 00 00 00 call _longest_match - 000c8 83 c4 08 add esp, 8 - 000cb 89 46 60 mov DWORD PTR [esi+96], eax - -; 1770 : /* longest_match() sets match_start */ -; 1771 : -; 1772 : if (s->match_length <= 5 && (s->strategy == Z_FILTERED -; 1773 : #if TOO_FAR <= 32767 -; 1774 : || (s->match_length == MIN_MATCH && -; 1775 : s->strstart - s->match_start > TOO_FAR) -; 1776 : #endif -; 1777 : )) { - - 000ce 83 f8 05 cmp eax, 5 - 000d1 77 1e ja SHORT $LN52@deflate_sl - 000d3 39 9e 88 00 00 - 00 cmp DWORD PTR [esi+136], ebx - 000d9 74 13 je SHORT $LN18@deflate_sl - 000db 83 f8 03 cmp eax, 3 - 000de 75 11 jne SHORT $LN52@deflate_sl - 000e0 8b 56 6c mov edx, DWORD PTR [esi+108] - 000e3 2b 56 70 sub edx, DWORD PTR [esi+112] - 000e6 81 fa 00 10 00 - 00 cmp edx, 4096 ; 00001000H - 000ec 76 03 jbe SHORT $LN52@deflate_sl -$LN18@deflate_sl: - -; 1778 : -; 1779 : /* If prev_match is also MIN_MATCH, match_start is garbage -; 1780 : * but we will ignore the current match anyway. -; 1781 : */ -; 1782 : s->match_length = MIN_MATCH-1; - - 000ee 89 7e 60 mov DWORD PTR [esi+96], edi -$LN52@deflate_sl: - -; 1783 : } -; 1784 : } -; 1785 : /* If there was a match at the previous step and the current -; 1786 : * match is not better, output the previous match: -; 1787 : */ -; 1788 : if (s->prev_length >= MIN_MATCH && s->match_length <= s->prev_length) { - - 000f1 8b 46 78 mov eax, DWORD PTR [esi+120] - 000f4 83 f8 03 cmp eax, 3 - 000f7 0f 82 6d 01 00 - 00 jb $LN17@deflate_sl - 000fd 39 46 60 cmp DWORD PTR [esi+96], eax - 00100 0f 87 64 01 00 - 00 ja $LN17@deflate_sl - -; 1789 : uInt max_insert = s->strstart + s->lookahead - MIN_MATCH; -; 1790 : /* Do not insert strings in hash table beyond this. */ -; 1791 : -; 1792 : check_match(s, s->strstart-1, s->prev_match, s->prev_length); -; 1793 : -; 1794 : _tr_tally_dist(s, s->strstart -1 - s->prev_match, -; 1795 : s->prev_length - MIN_MATCH, bflush); - - 00106 66 8b 56 6c mov dx, WORD PTR [esi+108] - 0010a 66 2b 56 64 sub dx, WORD PTR [esi+100] - 0010e 8b 46 6c mov eax, DWORD PTR [esi+108] - 00111 8b 4e 74 mov ecx, DWORD PTR [esi+116] - 00114 66 2b d3 sub dx, bx - 00117 8b 9e a4 16 00 - 00 mov ebx, DWORD PTR [esi+5796] - 0011d 8d 7c 08 fd lea edi, DWORD PTR [eax+ecx-3] - 00121 8a 46 78 mov al, BYTE PTR [esi+120] - 00124 0f b7 ca movzx ecx, dx - 00127 8b 96 a0 16 00 - 00 mov edx, DWORD PTR [esi+5792] - 0012d 66 89 0c 53 mov WORD PTR [ebx+edx*2], cx - 00131 8b 9e a0 16 00 - 00 mov ebx, DWORD PTR [esi+5792] - 00137 8b 96 98 16 00 - 00 mov edx, DWORD PTR [esi+5784] - 0013d 2c 03 sub al, 3 - 0013f 88 04 1a mov BYTE PTR [edx+ebx], al - 00142 0f b6 c0 movzx eax, al - 00145 bb 01 00 00 00 mov ebx, 1 - 0014a 01 9e a0 16 00 - 00 add DWORD PTR [esi+5792], ebx - 00150 0f b6 90 00 00 - 00 00 movzx edx, BYTE PTR __length_code[eax] - 00157 66 01 9c 96 98 - 04 00 00 add WORD PTR [esi+edx*4+1176], bx - 0015f 8d 84 96 98 04 - 00 00 lea eax, DWORD PTR [esi+edx*4+1176] - 00166 81 c1 ff ff 00 - 00 add ecx, 65535 ; 0000ffffH - 0016c b8 00 01 00 00 mov eax, 256 ; 00000100H - 00171 66 3b c8 cmp cx, ax - 00174 73 0c jae SHORT $LN29@deflate_sl - 00176 0f b7 c9 movzx ecx, cx - 00179 0f b6 81 00 00 - 00 00 movzx eax, BYTE PTR __dist_code[ecx] - 00180 eb 0d jmp SHORT $LN30@deflate_sl -$LN29@deflate_sl: - 00182 0f b7 d1 movzx edx, cx - 00185 c1 ea 07 shr edx, 7 - 00188 0f b6 82 00 01 - 00 00 movzx eax, BYTE PTR __dist_code[edx+256] -$LN30@deflate_sl: - 0018f 66 01 9c 86 88 - 09 00 00 add WORD PTR [esi+eax*4+2440], bx - 00197 8b 86 9c 16 00 - 00 mov eax, DWORD PTR [esi+5788] - 0019d 2b c3 sub eax, ebx - 0019f 33 c9 xor ecx, ecx - 001a1 39 86 a0 16 00 - 00 cmp DWORD PTR [esi+5792], eax - -; 1796 : -; 1797 : /* Insert in hash table all strings up to the end of the match. -; 1798 : * strstart-1 and strstart are already inserted. If there is not -; 1799 : * enough lookahead, the last two strings are not inserted in -; 1800 : * the hash table. -; 1801 : */ -; 1802 : s->lookahead -= s->prev_length-1; - - 001a7 8b 46 78 mov eax, DWORD PTR [esi+120] - 001aa 0f 94 c1 sete cl - 001ad 8b d3 mov edx, ebx - 001af 2b d0 sub edx, eax - 001b1 01 56 74 add DWORD PTR [esi+116], edx - -; 1803 : s->prev_length -= 2; - - 001b4 83 c0 fe add eax, -2 ; fffffffeH - 001b7 89 46 78 mov DWORD PTR [esi+120], eax - 001ba 89 4d 08 mov DWORD PTR _bflush$[ebp], ecx - 001bd 8d 49 00 npad 3 -$LL16@deflate_sl: - -; 1804 : do { -; 1805 : if (++s->strstart <= max_insert) { - - 001c0 01 5e 6c add DWORD PTR [esi+108], ebx - 001c3 8b 56 6c mov edx, DWORD PTR [esi+108] - 001c6 3b d7 cmp edx, edi - 001c8 77 3e ja SHORT $LN15@deflate_sl - -; 1806 : INSERT_STRING(s, s->strstart, hash_head); - - 001ca 8b 46 48 mov eax, DWORD PTR [esi+72] - 001cd 8b 4e 58 mov ecx, DWORD PTR [esi+88] - 001d0 8b 5e 34 mov ebx, DWORD PTR [esi+52] - 001d3 d3 e0 shl eax, cl - 001d5 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 001d8 0f b6 4c 11 02 movzx ecx, BYTE PTR [ecx+edx+2] - 001dd 33 c1 xor eax, ecx - 001df 23 46 54 and eax, DWORD PTR [esi+84] - 001e2 8b 4e 44 mov ecx, DWORD PTR [esi+68] - 001e5 89 46 48 mov DWORD PTR [esi+72], eax - 001e8 0f b7 04 41 movzx eax, WORD PTR [ecx+eax*2] - 001ec 23 da and ebx, edx - 001ee 8b 56 40 mov edx, DWORD PTR [esi+64] - 001f1 66 89 04 5a mov WORD PTR [edx+ebx*2], ax - 001f5 0f b7 46 6c movzx eax, WORD PTR [esi+108] - 001f9 8b 4e 48 mov ecx, DWORD PTR [esi+72] - 001fc 8b 56 44 mov edx, DWORD PTR [esi+68] - 001ff 66 89 04 4a mov WORD PTR [edx+ecx*2], ax - 00203 bb 01 00 00 00 mov ebx, 1 -$LN15@deflate_sl: - -; 1807 : } -; 1808 : } while (--s->prev_length != 0); - - 00208 ff 4e 78 dec DWORD PTR [esi+120] - 0020b 75 b3 jne SHORT $LL16@deflate_sl - -; 1809 : s->match_available = 0; -; 1810 : s->match_length = MIN_MATCH-1; -; 1811 : s->strstart++; - - 0020d 01 5e 6c add DWORD PTR [esi+108], ebx - -; 1812 : -; 1813 : if (bflush) FLUSH_BLOCK(s, 0); - - 00210 83 7d 08 00 cmp DWORD PTR _bflush$[ebp], 0 - 00214 8b 46 6c mov eax, DWORD PTR [esi+108] - 00217 c7 46 68 00 00 - 00 00 mov DWORD PTR [esi+104], 0 - 0021e c7 46 60 02 00 - 00 00 mov DWORD PTR [esi+96], 2 - 00225 0f 84 e5 fd ff - ff je $LL26@deflate_sl - 0022b 8b 56 5c mov edx, DWORD PTR [esi+92] - 0022e 85 d2 test edx, edx - 00230 78 07 js SHORT $LN31@deflate_sl - 00232 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 00235 03 ca add ecx, edx - 00237 eb 02 jmp SHORT $LN32@deflate_sl -$LN31@deflate_sl: - 00239 33 c9 xor ecx, ecx -$LN32@deflate_sl: - 0023b 6a 00 push 0 - 0023d 51 push ecx - 0023e 2b c2 sub eax, edx - 00240 8b ce mov ecx, esi - 00242 e8 00 00 00 00 call __tr_flush_block - 00247 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 0024a 8b 3e mov edi, DWORD PTR [esi] - 0024c 83 c4 08 add esp, 8 - 0024f 89 4e 5c mov DWORD PTR [esi+92], ecx - 00252 e8 00 00 00 00 call _flush_pending -$LN53@deflate_sl: - 00257 8b 16 mov edx, DWORD PTR [esi] - 00259 83 7a 10 00 cmp DWORD PTR [edx+16], 0 - 0025d 0f 85 ad fd ff - ff jne $LL26@deflate_sl -$LN47@deflate_sl: - 00263 5f pop edi - 00264 5e pop esi - -; 1827 : if (s->strm->avail_out == 0) return need_more; - - 00265 33 c0 xor eax, eax - 00267 5b pop ebx - -; 1851 : } - - 00268 5d pop ebp - 00269 c3 ret 0 -$LN17@deflate_sl: - -; 1814 : -; 1815 : } else if (s->match_available) { - - 0026a 83 7e 68 00 cmp DWORD PTR [esi+104], 0 - 0026e 0f 84 8d 00 00 - 00 je $LN9@deflate_sl - -; 1816 : /* If there was no match at the previous position, output a -; 1817 : * single literal. If there was a match but the current match -; 1818 : * is longer, truncate the previous match to a single literal. -; 1819 : */ -; 1820 : Tracevv((stderr,"%c", s->window[s->strstart-1])); -; 1821 : _tr_tally_lit(s, s->window[s->strstart-1], bflush); - - 00274 8b 46 6c mov eax, DWORD PTR [esi+108] - 00277 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 0027a 8a 44 08 ff mov al, BYTE PTR [eax+ecx-1] - 0027e 8b 96 a0 16 00 - 00 mov edx, DWORD PTR [esi+5792] - 00284 8b 8e a4 16 00 - 00 mov ecx, DWORD PTR [esi+5796] - 0028a 33 ff xor edi, edi - 0028c 66 89 3c 51 mov WORD PTR [ecx+edx*2], di - 00290 8b 96 98 16 00 - 00 mov edx, DWORD PTR [esi+5784] - 00296 8b 8e a0 16 00 - 00 mov ecx, DWORD PTR [esi+5792] - 0029c 88 04 0a mov BYTE PTR [edx+ecx], al - 0029f 01 9e a0 16 00 - 00 add DWORD PTR [esi+5792], ebx - 002a5 0f b6 d0 movzx edx, al - 002a8 66 01 9c 96 94 - 00 00 00 add WORD PTR [esi+edx*4+148], bx - 002b0 8d 84 96 94 00 - 00 00 lea eax, DWORD PTR [esi+edx*4+148] - 002b7 8b 86 9c 16 00 - 00 mov eax, DWORD PTR [esi+5788] - 002bd 2b c3 sub eax, ebx - 002bf 39 86 a0 16 00 - 00 cmp DWORD PTR [esi+5792], eax - -; 1822 : if (bflush) { - - 002c5 75 2f jne SHORT $LN8@deflate_sl - -; 1823 : FLUSH_BLOCK_ONLY(s, 0); - - 002c7 8b 56 5c mov edx, DWORD PTR [esi+92] - 002ca 85 d2 test edx, edx - 002cc 78 07 js SHORT $LN33@deflate_sl - 002ce 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 002d1 03 ca add ecx, edx - 002d3 eb 02 jmp SHORT $LN34@deflate_sl -$LN33@deflate_sl: - 002d5 33 c9 xor ecx, ecx -$LN34@deflate_sl: - 002d7 8b 46 6c mov eax, DWORD PTR [esi+108] - 002da 6a 00 push 0 - 002dc 51 push ecx - 002dd 2b c2 sub eax, edx - 002df 8b ce mov ecx, esi - 002e1 e8 00 00 00 00 call __tr_flush_block - 002e6 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 002e9 8b 3e mov edi, DWORD PTR [esi] - 002eb 83 c4 08 add esp, 8 - 002ee 89 4e 5c mov DWORD PTR [esi+92], ecx - 002f1 e8 00 00 00 00 call _flush_pending -$LN8@deflate_sl: - -; 1824 : } -; 1825 : s->strstart++; - - 002f6 01 5e 6c add DWORD PTR [esi+108], ebx - -; 1826 : s->lookahead--; - - 002f9 ff 4e 74 dec DWORD PTR [esi+116] - -; 1828 : } else { - - 002fc e9 56 ff ff ff jmp $LN53@deflate_sl -$LN9@deflate_sl: - -; 1829 : /* There is no previous match to compare with, wait for -; 1830 : * the next step to decide. -; 1831 : */ -; 1832 : s->match_available = 1; -; 1833 : s->strstart++; - - 00301 01 5e 6c add DWORD PTR [esi+108], ebx - -; 1834 : s->lookahead--; - - 00304 ff 4e 74 dec DWORD PTR [esi+116] - 00307 89 5e 68 mov DWORD PTR [esi+104], ebx - -; 1835 : } -; 1836 : } - - 0030a e9 01 fd ff ff jmp $LL26@deflate_sl -$LN45@deflate_sl: - -; 1837 : Assert (flush != Z_NO_FLUSH, "no flush?"); -; 1838 : if (s->match_available) { - - 0030f 83 7e 68 00 cmp DWORD PTR [esi+104], 0 - 00313 74 46 je SHORT $LN5@deflate_sl - -; 1839 : Tracevv((stderr,"%c", s->window[s->strstart-1])); -; 1840 : _tr_tally_lit(s, s->window[s->strstart-1], bflush); - - 00315 8b 46 6c mov eax, DWORD PTR [esi+108] - 00318 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 0031b 8a 44 08 ff mov al, BYTE PTR [eax+ecx-1] - 0031f 8b 96 a0 16 00 - 00 mov edx, DWORD PTR [esi+5792] - 00325 8b 8e a4 16 00 - 00 mov ecx, DWORD PTR [esi+5796] - 0032b 33 ff xor edi, edi - 0032d 66 89 3c 51 mov WORD PTR [ecx+edx*2], di - 00331 8b 96 98 16 00 - 00 mov edx, DWORD PTR [esi+5784] - 00337 8b 8e a0 16 00 - 00 mov ecx, DWORD PTR [esi+5792] - 0033d 88 04 0a mov BYTE PTR [edx+ecx], al - 00340 01 9e a0 16 00 - 00 add DWORD PTR [esi+5792], ebx - 00346 0f b6 d0 movzx edx, al - 00349 66 01 9c 96 94 - 00 00 00 add WORD PTR [esi+edx*4+148], bx - 00351 8d 84 96 94 00 - 00 00 lea eax, DWORD PTR [esi+edx*4+148] - -; 1841 : s->match_available = 0; - - 00358 89 7e 68 mov DWORD PTR [esi+104], edi -$LN5@deflate_sl: - -; 1842 : } -; 1843 : s->insert = s->strstart < MIN_MATCH-1 ? s->strstart : MIN_MATCH-1; - - 0035b 8b 46 6c mov eax, DWORD PTR [esi+108] - 0035e 8b c8 mov ecx, eax - 00360 83 f8 02 cmp eax, 2 - 00363 72 05 jb SHORT $LN36@deflate_sl - 00365 b9 02 00 00 00 mov ecx, 2 -$LN36@deflate_sl: - -; 1844 : if (flush == Z_FINISH) { - - 0036a 83 7d 0c 04 cmp DWORD PTR _flush$[ebp], 4 - 0036e 89 8e b4 16 00 - 00 mov DWORD PTR [esi+5812], ecx - 00374 75 3d jne SHORT $LN4@deflate_sl - -; 1845 : FLUSH_BLOCK(s, 1); - - 00376 8b 56 5c mov edx, DWORD PTR [esi+92] - 00379 85 d2 test edx, edx - 0037b 78 07 js SHORT $LN37@deflate_sl - 0037d 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 00380 03 ca add ecx, edx - 00382 eb 02 jmp SHORT $LN38@deflate_sl -$LN37@deflate_sl: - 00384 33 c9 xor ecx, ecx -$LN38@deflate_sl: - 00386 53 push ebx - 00387 51 push ecx - 00388 2b c2 sub eax, edx - 0038a 8b ce mov ecx, esi - 0038c e8 00 00 00 00 call __tr_flush_block - 00391 8b 46 6c mov eax, DWORD PTR [esi+108] - 00394 8b 3e mov edi, DWORD PTR [esi] - 00396 83 c4 08 add esp, 8 - 00399 89 46 5c mov DWORD PTR [esi+92], eax - 0039c e8 00 00 00 00 call _flush_pending - 003a1 8b 0e mov ecx, DWORD PTR [esi] - 003a3 33 c0 xor eax, eax - 003a5 39 41 10 cmp DWORD PTR [ecx+16], eax - 003a8 5f pop edi - 003a9 0f 95 c0 setne al - 003ac 5e pop esi - 003ad 5b pop ebx - 003ae 83 c0 02 add eax, 2 - -; 1851 : } - - 003b1 5d pop ebp - 003b2 c3 ret 0 -$LN4@deflate_sl: - -; 1846 : return finish_done; -; 1847 : } -; 1848 : if (s->last_lit) - - 003b3 83 be a0 16 00 - 00 00 cmp DWORD PTR [esi+5792], 0 - 003ba 74 38 je SHORT $LN1@deflate_sl - -; 1849 : FLUSH_BLOCK(s, 0); - - 003bc 8b 56 5c mov edx, DWORD PTR [esi+92] - 003bf 85 d2 test edx, edx - 003c1 78 07 js SHORT $LN39@deflate_sl - 003c3 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 003c6 03 ca add ecx, edx - 003c8 eb 02 jmp SHORT $LN40@deflate_sl -$LN39@deflate_sl: - 003ca 33 c9 xor ecx, ecx -$LN40@deflate_sl: - 003cc 6a 00 push 0 - 003ce 51 push ecx - 003cf 2b c2 sub eax, edx - 003d1 8b ce mov ecx, esi - 003d3 e8 00 00 00 00 call __tr_flush_block - 003d8 8b 56 6c mov edx, DWORD PTR [esi+108] - 003db 8b 3e mov edi, DWORD PTR [esi] - 003dd 83 c4 08 add esp, 8 - 003e0 89 56 5c mov DWORD PTR [esi+92], edx - 003e3 e8 00 00 00 00 call _flush_pending - 003e8 8b 06 mov eax, DWORD PTR [esi] - 003ea 83 78 10 00 cmp DWORD PTR [eax+16], 0 - 003ee 0f 84 6f fe ff - ff je $LN47@deflate_sl -$LN1@deflate_sl: - 003f4 5f pop edi - 003f5 5e pop esi - -; 1850 : return block_done; - - 003f6 8b c3 mov eax, ebx - 003f8 5b pop ebx - -; 1851 : } - - 003f9 5d pop ebp - 003fa c3 ret 0 -_deflate_slow ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _deflate_fast -_TEXT SEGMENT -_s$ = 8 ; size = 4 -_flush$ = 12 ; size = 4 -_deflate_fast PROC ; COMDAT - -; 1629 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - 00004 56 push esi - 00005 8b 75 08 mov esi, DWORD PTR _s$[ebp] - 00008 57 push edi - 00009 bb 01 00 00 00 mov ebx, 1 - 0000e 8b ff npad 2 -$LL20@deflate_fa: - -; 1630 : IPos hash_head; /* head of the hash chain */ -; 1631 : int bflush; /* set if current block must be flushed */ -; 1632 : -; 1633 : for (;;) { -; 1634 : /* Make sure that we always have enough lookahead, except -; 1635 : * at the end of the input file. We need MAX_MATCH bytes -; 1636 : * for the next match, plus MIN_MATCH bytes to insert the -; 1637 : * string following the next match. -; 1638 : */ -; 1639 : if (s->lookahead < MIN_LOOKAHEAD) { - - 00010 8b 46 74 mov eax, DWORD PTR [esi+116] - 00013 3d 06 01 00 00 cmp eax, 262 ; 00000106H - 00018 73 23 jae SHORT $LN16@deflate_fa - -; 1640 : fill_window(s); - - 0001a 8b fe mov edi, esi - 0001c e8 00 00 00 00 call _fill_window - -; 1641 : if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) { - - 00021 8b 46 74 mov eax, DWORD PTR [esi+116] - 00024 3d 06 01 00 00 cmp eax, 262 ; 00000106H - 00029 73 0a jae SHORT $LN40@deflate_fa - 0002b 83 7d 0c 00 cmp DWORD PTR _flush$[ebp], 0 - 0002f 0f 84 48 02 00 - 00 je $LN38@deflate_fa -$LN40@deflate_fa: - -; 1642 : return need_more; -; 1643 : } -; 1644 : if (s->lookahead == 0) break; /* flush the current block */ - - 00035 85 c0 test eax, eax - 00037 0f 84 47 02 00 - 00 je $LN37@deflate_fa -$LN16@deflate_fa: - -; 1645 : } -; 1646 : -; 1647 : /* Insert the string window[strstart .. strstart+2] in the -; 1648 : * dictionary, and set hash_head to the head of the hash chain: -; 1649 : */ -; 1650 : hash_head = NIL; -; 1651 : if (s->lookahead >= MIN_MATCH) { - - 0003d 83 f8 03 cmp eax, 3 - 00040 72 6c jb SHORT $LN41@deflate_fa - -; 1652 : INSERT_STRING(s, s->strstart, hash_head); - - 00042 8b 46 48 mov eax, DWORD PTR [esi+72] - 00045 8b 4e 58 mov ecx, DWORD PTR [esi+88] - 00048 8b 56 6c mov edx, DWORD PTR [esi+108] - 0004b 8b 7e 34 mov edi, DWORD PTR [esi+52] - 0004e d3 e0 shl eax, cl - 00050 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 00053 0f b6 4c 11 02 movzx ecx, BYTE PTR [ecx+edx+2] - 00058 33 c1 xor eax, ecx - 0005a 23 46 54 and eax, DWORD PTR [esi+84] - 0005d 8b 4e 44 mov ecx, DWORD PTR [esi+68] - 00060 23 fa and edi, edx - 00062 8b 56 40 mov edx, DWORD PTR [esi+64] - 00065 89 46 48 mov DWORD PTR [esi+72], eax - 00068 66 8b 04 41 mov ax, WORD PTR [ecx+eax*2] - 0006c 66 89 04 7a mov WORD PTR [edx+edi*2], ax - 00070 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 00073 23 4e 34 and ecx, DWORD PTR [esi+52] - 00076 8b 56 40 mov edx, DWORD PTR [esi+64] - 00079 0f b7 04 4a movzx eax, WORD PTR [edx+ecx*2] - 0007d 8b 4e 48 mov ecx, DWORD PTR [esi+72] - 00080 8b 56 44 mov edx, DWORD PTR [esi+68] - 00083 66 8b 7e 6c mov di, WORD PTR [esi+108] - 00087 66 89 3c 4a mov WORD PTR [edx+ecx*2], di - -; 1653 : } -; 1654 : -; 1655 : /* Find the longest match, discarding those <= prev_length. -; 1656 : * At this point we have always match_length < MIN_MATCH -; 1657 : */ -; 1658 : if (hash_head != NIL && s->strstart - hash_head <= MAX_DIST(s)) { - - 0008b 85 c0 test eax, eax - 0008d 74 1f je SHORT $LN41@deflate_fa - 0008f 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 00092 8b 56 2c mov edx, DWORD PTR [esi+44] - 00095 2b c8 sub ecx, eax - 00097 81 ea 06 01 00 - 00 sub edx, 262 ; 00000106H - 0009d 3b ca cmp ecx, edx - 0009f 77 0d ja SHORT $LN41@deflate_fa - -; 1659 : /* To simplify the code, we prevent matches with the string -; 1660 : * of window index 0 (in particular we have to avoid a match -; 1661 : * of the string with itself at the start of the input file). -; 1662 : */ -; 1663 : s->match_length = longest_match (s, hash_head); - - 000a1 50 push eax - 000a2 56 push esi - 000a3 e8 00 00 00 00 call _longest_match - 000a8 83 c4 08 add esp, 8 - 000ab 89 46 60 mov DWORD PTR [esi+96], eax -$LN41@deflate_fa: - -; 1664 : /* longest_match() sets match_start */ -; 1665 : } -; 1666 : if (s->match_length >= MIN_MATCH) { - - 000ae 83 7e 60 03 cmp DWORD PTR [esi+96], 3 - 000b2 0f 82 25 01 00 - 00 jb $LN13@deflate_fa - -; 1667 : check_match(s, s->strstart, s->match_start, s->match_length); -; 1668 : -; 1669 : _tr_tally_dist(s, s->strstart - s->match_start, -; 1670 : s->match_length - MIN_MATCH, bflush); - - 000b8 66 8b 4e 6c mov cx, WORD PTR [esi+108] - 000bc 66 2b 4e 70 sub cx, WORD PTR [esi+112] - 000c0 8b 96 a0 16 00 - 00 mov edx, DWORD PTR [esi+5792] - 000c6 8a 46 60 mov al, BYTE PTR [esi+96] - 000c9 8b be a4 16 00 - 00 mov edi, DWORD PTR [esi+5796] - 000cf 0f b7 c9 movzx ecx, cx - 000d2 66 89 0c 57 mov WORD PTR [edi+edx*2], cx - 000d6 8b 96 98 16 00 - 00 mov edx, DWORD PTR [esi+5784] - 000dc 8b be a0 16 00 - 00 mov edi, DWORD PTR [esi+5792] - 000e2 2c 03 sub al, 3 - 000e4 88 04 3a mov BYTE PTR [edx+edi], al - 000e7 01 9e a0 16 00 - 00 add DWORD PTR [esi+5792], ebx - 000ed 0f b6 c0 movzx eax, al - 000f0 0f b6 90 00 00 - 00 00 movzx edx, BYTE PTR __length_code[eax] - 000f7 66 01 9c 96 98 - 04 00 00 add WORD PTR [esi+edx*4+1176], bx - 000ff 8d 84 96 98 04 - 00 00 lea eax, DWORD PTR [esi+edx*4+1176] - 00106 81 c1 ff ff 00 - 00 add ecx, 65535 ; 0000ffffH - 0010c b8 00 01 00 00 mov eax, 256 ; 00000100H - 00111 66 3b c8 cmp cx, ax - 00114 73 0c jae SHORT $LN23@deflate_fa - 00116 0f b7 c9 movzx ecx, cx - 00119 0f b6 81 00 00 - 00 00 movzx eax, BYTE PTR __dist_code[ecx] - 00120 eb 0d jmp SHORT $LN24@deflate_fa -$LN23@deflate_fa: - 00122 0f b7 d1 movzx edx, cx - 00125 c1 ea 07 shr edx, 7 - 00128 0f b6 82 00 01 - 00 00 movzx eax, BYTE PTR __dist_code[edx+256] -$LN24@deflate_fa: - 0012f 66 01 9c 86 88 - 09 00 00 add WORD PTR [esi+eax*4+2440], bx - 00137 8b 86 9c 16 00 - 00 mov eax, DWORD PTR [esi+5788] - 0013d 33 c9 xor ecx, ecx - 0013f 2b c3 sub eax, ebx - 00141 39 86 a0 16 00 - 00 cmp DWORD PTR [esi+5792], eax - -; 1671 : -; 1672 : s->lookahead -= s->match_length; - - 00147 8b 46 60 mov eax, DWORD PTR [esi+96] - 0014a 0f 94 c1 sete cl - 0014d 29 46 74 sub DWORD PTR [esi+116], eax - 00150 8b f9 mov edi, ecx - 00152 8b 4e 74 mov ecx, DWORD PTR [esi+116] - -; 1673 : -; 1674 : /* Insert new strings in the hash table only if the match length -; 1675 : * is not too large. This saves time but degrades compression. -; 1676 : */ -; 1677 : #ifndef FASTEST -; 1678 : if (s->match_length <= s->max_insert_length && -; 1679 : s->lookahead >= MIN_MATCH) { - - 00155 3b 86 80 00 00 - 00 cmp eax, DWORD PTR [esi+128] - 0015b 77 57 ja SHORT $LN12@deflate_fa - 0015d 83 f9 03 cmp ecx, 3 - 00160 72 52 jb SHORT $LN12@deflate_fa - -; 1680 : s->match_length--; /* string at strstart already in table */ - - 00162 48 dec eax - 00163 89 46 60 mov DWORD PTR [esi+96], eax -$LL39@deflate_fa: - -; 1681 : do { -; 1682 : s->strstart++; - - 00166 01 5e 6c add DWORD PTR [esi+108], ebx - 00169 8b 56 6c mov edx, DWORD PTR [esi+108] - -; 1683 : INSERT_STRING(s, s->strstart, hash_head); - - 0016c 8b 5e 48 mov ebx, DWORD PTR [esi+72] - 0016f 8b 4e 58 mov ecx, DWORD PTR [esi+88] - 00172 8b 46 38 mov eax, DWORD PTR [esi+56] - 00175 0f b6 44 02 02 movzx eax, BYTE PTR [edx+eax+2] - 0017a d3 e3 shl ebx, cl - 0017c 8b 4e 44 mov ecx, DWORD PTR [esi+68] - 0017f 33 c3 xor eax, ebx - 00181 23 46 54 and eax, DWORD PTR [esi+84] - 00184 8b 5e 34 mov ebx, DWORD PTR [esi+52] - 00187 89 46 48 mov DWORD PTR [esi+72], eax - 0018a 0f b7 04 41 movzx eax, WORD PTR [ecx+eax*2] - 0018e 23 da and ebx, edx - 00190 8b 56 40 mov edx, DWORD PTR [esi+64] - 00193 66 89 04 5a mov WORD PTR [edx+ebx*2], ax - 00197 0f b7 46 6c movzx eax, WORD PTR [esi+108] - 0019b 8b 4e 48 mov ecx, DWORD PTR [esi+72] - 0019e 8b 56 44 mov edx, DWORD PTR [esi+68] - 001a1 66 89 04 4a mov WORD PTR [edx+ecx*2], ax - -; 1684 : /* strstart never exceeds WSIZE-MAX_MATCH, so there are -; 1685 : * always MIN_MATCH bytes ahead. -; 1686 : */ -; 1687 : } while (--s->match_length != 0); - - 001a5 ff 4e 60 dec DWORD PTR [esi+96] - -; 1688 : s->strstart++; - - 001a8 bb 01 00 00 00 mov ebx, 1 - 001ad 75 b7 jne SHORT $LL39@deflate_fa - -; 1689 : } else - - 001af e9 83 00 00 00 jmp $LN42@deflate_fa -$LN12@deflate_fa: - -; 1690 : #endif -; 1691 : { -; 1692 : s->strstart += s->match_length; - - 001b4 01 46 6c add DWORD PTR [esi+108], eax - -; 1693 : s->match_length = 0; -; 1694 : s->ins_h = s->window[s->strstart]; - - 001b7 8b 56 38 mov edx, DWORD PTR [esi+56] - 001ba 03 56 6c add edx, DWORD PTR [esi+108] - -; 1695 : UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]); - - 001bd 8b 4e 58 mov ecx, DWORD PTR [esi+88] - 001c0 c7 46 60 00 00 - 00 00 mov DWORD PTR [esi+96], 0 - 001c7 0f b6 02 movzx eax, BYTE PTR [edx] - 001ca 89 46 48 mov DWORD PTR [esi+72], eax - 001cd d3 e0 shl eax, cl - 001cf 0f b6 4a 01 movzx ecx, BYTE PTR [edx+1] - 001d3 33 c1 xor eax, ecx - 001d5 23 46 54 and eax, DWORD PTR [esi+84] - 001d8 89 46 48 mov DWORD PTR [esi+72], eax - -; 1696 : #if MIN_MATCH != 3 -; 1697 : Call UPDATE_HASH() MIN_MATCH-3 more times -; 1698 : #endif -; 1699 : /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not -; 1700 : * matter since it will be recomputed at next deflate call. -; 1701 : */ -; 1702 : } -; 1703 : } else { - - 001db eb 5d jmp SHORT $LN7@deflate_fa -$LN13@deflate_fa: - -; 1704 : /* No match, output a literal byte */ -; 1705 : Tracevv((stderr,"%c", s->window[s->strstart])); -; 1706 : _tr_tally_lit (s, s->window[s->strstart], bflush); - - 001dd 8b 56 6c mov edx, DWORD PTR [esi+108] - 001e0 8b 46 38 mov eax, DWORD PTR [esi+56] - 001e3 8a 04 02 mov al, BYTE PTR [edx+eax] - 001e6 8b 8e a0 16 00 - 00 mov ecx, DWORD PTR [esi+5792] - 001ec 8b 96 a4 16 00 - 00 mov edx, DWORD PTR [esi+5796] - 001f2 33 ff xor edi, edi - 001f4 66 89 3c 4a mov WORD PTR [edx+ecx*2], di - 001f8 8b 96 a0 16 00 - 00 mov edx, DWORD PTR [esi+5792] - 001fe 8b 8e 98 16 00 - 00 mov ecx, DWORD PTR [esi+5784] - 00204 88 04 11 mov BYTE PTR [ecx+edx], al - 00207 01 9e a0 16 00 - 00 add DWORD PTR [esi+5792], ebx - 0020d 0f b6 c0 movzx eax, al - 00210 66 01 9c 86 94 - 00 00 00 add WORD PTR [esi+eax*4+148], bx - 00218 8b 8e 9c 16 00 - 00 mov ecx, DWORD PTR [esi+5788] - 0021e 8d 84 86 94 00 - 00 00 lea eax, DWORD PTR [esi+eax*4+148] - 00225 33 d2 xor edx, edx - 00227 2b cb sub ecx, ebx - 00229 39 8e a0 16 00 - 00 cmp DWORD PTR [esi+5792], ecx - 0022f 0f 94 c2 sete dl - -; 1707 : s->lookahead--; - - 00232 ff 4e 74 dec DWORD PTR [esi+116] - 00235 8b fa mov edi, edx -$LN42@deflate_fa: - -; 1708 : s->strstart++; - - 00237 01 5e 6c add DWORD PTR [esi+108], ebx -$LN7@deflate_fa: - -; 1709 : } -; 1710 : if (bflush) FLUSH_BLOCK(s, 0); - - 0023a 85 ff test edi, edi - 0023c 0f 84 ce fd ff - ff je $LL20@deflate_fa - 00242 8b 56 5c mov edx, DWORD PTR [esi+92] - 00245 85 d2 test edx, edx - 00247 78 07 js SHORT $LN25@deflate_fa - 00249 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 0024c 03 ca add ecx, edx - 0024e eb 02 jmp SHORT $LN26@deflate_fa -$LN25@deflate_fa: - 00250 33 c9 xor ecx, ecx -$LN26@deflate_fa: - 00252 8b 46 6c mov eax, DWORD PTR [esi+108] - 00255 6a 00 push 0 - 00257 51 push ecx - 00258 2b c2 sub eax, edx - 0025a 8b ce mov ecx, esi - 0025c e8 00 00 00 00 call __tr_flush_block - 00261 8b 46 6c mov eax, DWORD PTR [esi+108] - 00264 8b 3e mov edi, DWORD PTR [esi] - 00266 83 c4 08 add esp, 8 - 00269 89 46 5c mov DWORD PTR [esi+92], eax - 0026c e8 00 00 00 00 call _flush_pending - 00271 8b 0e mov ecx, DWORD PTR [esi] - 00273 83 79 10 00 cmp DWORD PTR [ecx+16], 0 - 00277 0f 85 93 fd ff - ff jne $LL20@deflate_fa -$LN38@deflate_fa: - 0027d 5f pop edi - 0027e 5e pop esi - 0027f 33 c0 xor eax, eax - 00281 5b pop ebx - -; 1720 : } - - 00282 5d pop ebp - 00283 c3 ret 0 -$LN37@deflate_fa: - -; 1711 : } -; 1712 : s->insert = s->strstart < MIN_MATCH-1 ? s->strstart : MIN_MATCH-1; - - 00284 8b 46 6c mov eax, DWORD PTR [esi+108] - 00287 8b c8 mov ecx, eax - 00289 83 f8 02 cmp eax, 2 - 0028c 72 05 jb SHORT $LN28@deflate_fa - 0028e b9 02 00 00 00 mov ecx, 2 -$LN28@deflate_fa: - -; 1713 : if (flush == Z_FINISH) { - - 00293 83 7d 0c 04 cmp DWORD PTR _flush$[ebp], 4 - 00297 89 8e b4 16 00 - 00 mov DWORD PTR [esi+5812], ecx - 0029d 75 3d jne SHORT $LN4@deflate_fa - -; 1714 : FLUSH_BLOCK(s, 1); - - 0029f 8b 56 5c mov edx, DWORD PTR [esi+92] - 002a2 85 d2 test edx, edx - 002a4 78 07 js SHORT $LN29@deflate_fa - 002a6 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 002a9 03 ca add ecx, edx - 002ab eb 02 jmp SHORT $LN30@deflate_fa -$LN29@deflate_fa: - 002ad 33 c9 xor ecx, ecx -$LN30@deflate_fa: - 002af 53 push ebx - 002b0 51 push ecx - 002b1 2b c2 sub eax, edx - 002b3 8b ce mov ecx, esi - 002b5 e8 00 00 00 00 call __tr_flush_block - 002ba 8b 56 6c mov edx, DWORD PTR [esi+108] - 002bd 8b 3e mov edi, DWORD PTR [esi] - 002bf 83 c4 08 add esp, 8 - 002c2 89 56 5c mov DWORD PTR [esi+92], edx - 002c5 e8 00 00 00 00 call _flush_pending - 002ca 8b 06 mov eax, DWORD PTR [esi] - 002cc 33 c9 xor ecx, ecx - 002ce 39 48 10 cmp DWORD PTR [eax+16], ecx - 002d1 5f pop edi - 002d2 0f 95 c1 setne cl - 002d5 5e pop esi - 002d6 5b pop ebx - 002d7 8d 41 02 lea eax, DWORD PTR [ecx+2] - -; 1720 : } - - 002da 5d pop ebp - 002db c3 ret 0 -$LN4@deflate_fa: - -; 1715 : return finish_done; -; 1716 : } -; 1717 : if (s->last_lit) - - 002dc 83 be a0 16 00 - 00 00 cmp DWORD PTR [esi+5792], 0 - 002e3 74 38 je SHORT $LN1@deflate_fa - -; 1718 : FLUSH_BLOCK(s, 0); - - 002e5 8b 56 5c mov edx, DWORD PTR [esi+92] - 002e8 85 d2 test edx, edx - 002ea 78 07 js SHORT $LN31@deflate_fa - 002ec 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 002ef 03 ca add ecx, edx - 002f1 eb 02 jmp SHORT $LN32@deflate_fa -$LN31@deflate_fa: - 002f3 33 c9 xor ecx, ecx -$LN32@deflate_fa: - 002f5 6a 00 push 0 - 002f7 51 push ecx - 002f8 2b c2 sub eax, edx - 002fa 8b ce mov ecx, esi - 002fc e8 00 00 00 00 call __tr_flush_block - 00301 8b 56 6c mov edx, DWORD PTR [esi+108] - 00304 8b 3e mov edi, DWORD PTR [esi] - 00306 83 c4 08 add esp, 8 - 00309 89 56 5c mov DWORD PTR [esi+92], edx - 0030c e8 00 00 00 00 call _flush_pending - 00311 8b 06 mov eax, DWORD PTR [esi] - 00313 83 78 10 00 cmp DWORD PTR [eax+16], 0 - 00317 0f 84 60 ff ff - ff je $LN38@deflate_fa -$LN1@deflate_fa: - 0031d 5f pop edi - 0031e 5e pop esi - -; 1719 : return block_done; - - 0031f 8b c3 mov eax, ebx - 00321 5b pop ebx - -; 1720 : } - - 00322 5d pop ebp - 00323 c3 ret 0 -_deflate_fast ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _deflate_stored -_TEXT SEGMENT -_max_block_size$ = -4 ; size = 4 -_s$ = 8 ; size = 4 -_flush$ = 12 ; size = 4 -_deflate_stored PROC ; COMDAT - -; 1565 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 56 push esi - -; 1566 : /* Stored blocks are limited to 0xffff bytes, pending_buf is limited -; 1567 : * to pending_buf_size, and each stored block has a 5 byte header: -; 1568 : */ -; 1569 : ulg max_block_size = 0xffff; -; 1570 : ulg max_start; -; 1571 : -; 1572 : if (max_block_size > s->pending_buf_size - 5) { - - 00005 8b 75 08 mov esi, DWORD PTR _s$[ebp] - 00008 8b 46 0c mov eax, DWORD PTR [esi+12] - 0000b 83 c0 fb add eax, -5 ; fffffffbH - 0000e 57 push edi - 0000f c7 45 fc ff ff - 00 00 mov DWORD PTR _max_block_size$[ebp], 65535 ; 0000ffffH - 00016 3d ff ff 00 00 cmp eax, 65535 ; 0000ffffH - 0001b 73 03 jae SHORT $LL14@deflate_st - -; 1573 : max_block_size = s->pending_buf_size - 5; - - 0001d 89 45 fc mov DWORD PTR _max_block_size$[ebp], eax -$LL14@deflate_st: - -; 1574 : } -; 1575 : -; 1576 : /* Copy as much as possible from input to output: */ -; 1577 : for (;;) { -; 1578 : /* Fill the window as much as possible: */ -; 1579 : if (s->lookahead <= 1) { - - 00020 8b 46 74 mov eax, DWORD PTR [esi+116] - 00023 83 f8 01 cmp eax, 1 - 00026 77 12 ja SHORT $LN10@deflate_st - -; 1580 : -; 1581 : Assert(s->strstart < s->w_size+MAX_DIST(s) || -; 1582 : s->block_start >= (long)s->w_size, "slide too late"); -; 1583 : -; 1584 : fill_window(s); - - 00028 8b fe mov edi, esi - 0002a e8 00 00 00 00 call _fill_window - -; 1585 : if (s->lookahead == 0 && flush == Z_NO_FLUSH) return need_more; - - 0002f 8b 46 74 mov eax, DWORD PTR [esi+116] - 00032 85 c0 test eax, eax - 00034 0f 84 a9 00 00 - 00 je $LN32@deflate_st -$LN10@deflate_st: - -; 1586 : -; 1587 : if (s->lookahead == 0) break; /* flush the current block */ -; 1588 : } -; 1589 : Assert(s->block_start >= 0L, "block gone"); -; 1590 : -; 1591 : s->strstart += s->lookahead; - - 0003a 01 46 6c add DWORD PTR [esi+108], eax - -; 1592 : s->lookahead = 0; -; 1593 : -; 1594 : /* Emit a stored block if pending_buf will be full: */ -; 1595 : max_start = s->block_start + max_block_size; - - 0003d 8b 4e 5c mov ecx, DWORD PTR [esi+92] - 00040 8b 45 fc mov eax, DWORD PTR _max_block_size$[ebp] - -; 1596 : if (s->strstart == 0 || (ulg)s->strstart >= max_start) { - - 00043 8b 56 6c mov edx, DWORD PTR [esi+108] - 00046 c7 46 74 00 00 - 00 00 mov DWORD PTR [esi+116], 0 - 0004d 8d 04 01 lea eax, DWORD PTR [ecx+eax] - 00050 74 04 je SHORT $LN8@deflate_st - 00052 3b d0 cmp edx, eax - 00054 72 39 jb SHORT $LN7@deflate_st -$LN8@deflate_st: - -; 1597 : /* strstart == 0 is possible when wraparound on 16-bit machine */ -; 1598 : s->lookahead = (uInt)(s->strstart - max_start); - - 00056 2b d0 sub edx, eax - 00058 89 56 74 mov DWORD PTR [esi+116], edx - -; 1599 : s->strstart = (uInt)max_start; - - 0005b 89 46 6c mov DWORD PTR [esi+108], eax - -; 1600 : FLUSH_BLOCK(s, 0); - - 0005e 85 c9 test ecx, ecx - 00060 78 07 js SHORT $LN18@deflate_st - 00062 8b 56 38 mov edx, DWORD PTR [esi+56] - 00065 03 d1 add edx, ecx - 00067 eb 02 jmp SHORT $LN19@deflate_st -$LN18@deflate_st: - 00069 33 d2 xor edx, edx -$LN19@deflate_st: - 0006b 6a 00 push 0 - 0006d 2b c1 sub eax, ecx - 0006f 52 push edx - 00070 8b ce mov ecx, esi - 00072 e8 00 00 00 00 call __tr_flush_block - 00077 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 0007a 8b 3e mov edi, DWORD PTR [esi] - 0007c 83 c4 08 add esp, 8 - 0007f 89 4e 5c mov DWORD PTR [esi+92], ecx - 00082 e8 00 00 00 00 call _flush_pending - 00087 8b 16 mov edx, DWORD PTR [esi] - 00089 83 7a 10 00 cmp DWORD PTR [edx+16], 0 - 0008d 74 4c je SHORT $LN31@deflate_st -$LN7@deflate_st: - -; 1601 : } -; 1602 : /* Flush if we may have to slide, otherwise block_start may become -; 1603 : * negative and the data will be gone: -; 1604 : */ -; 1605 : if (s->strstart - (uInt)s->block_start >= MAX_DIST(s)) { - - 0008f 8b 56 5c mov edx, DWORD PTR [esi+92] - 00092 8b 46 6c mov eax, DWORD PTR [esi+108] - 00095 8b 4e 2c mov ecx, DWORD PTR [esi+44] - 00098 2b c2 sub eax, edx - 0009a 81 e9 06 01 00 - 00 sub ecx, 262 ; 00000106H - 000a0 3b c1 cmp eax, ecx - 000a2 0f 82 78 ff ff - ff jb $LL14@deflate_st - -; 1606 : FLUSH_BLOCK(s, 0); - - 000a8 85 d2 test edx, edx - 000aa 78 07 js SHORT $LN20@deflate_st - 000ac 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 000af 03 ca add ecx, edx - 000b1 eb 02 jmp SHORT $LN21@deflate_st -$LN20@deflate_st: - 000b3 33 c9 xor ecx, ecx -$LN21@deflate_st: - 000b5 6a 00 push 0 - 000b7 51 push ecx - 000b8 8b ce mov ecx, esi - 000ba e8 00 00 00 00 call __tr_flush_block - 000bf 8b 56 6c mov edx, DWORD PTR [esi+108] - 000c2 8b 3e mov edi, DWORD PTR [esi] - 000c4 83 c4 08 add esp, 8 - 000c7 89 56 5c mov DWORD PTR [esi+92], edx - 000ca e8 00 00 00 00 call _flush_pending - 000cf 8b 06 mov eax, DWORD PTR [esi] - 000d1 83 78 10 00 cmp DWORD PTR [eax+16], 0 - 000d5 0f 85 45 ff ff - ff jne $LL14@deflate_st -$LN31@deflate_st: - 000db 5f pop edi - 000dc 33 c0 xor eax, eax - 000de 5e pop esi - -; 1617 : } - - 000df 8b e5 mov esp, ebp - 000e1 5d pop ebp - 000e2 c3 ret 0 -$LN32@deflate_st: - -; 1585 : if (s->lookahead == 0 && flush == Z_NO_FLUSH) return need_more; - - 000e3 8b 45 0c mov eax, DWORD PTR _flush$[ebp] - 000e6 85 c0 test eax, eax - 000e8 74 f1 je SHORT $LN31@deflate_st - -; 1607 : } -; 1608 : } -; 1609 : s->insert = 0; -; 1610 : if (flush == Z_FINISH) { -; 1611 : FLUSH_BLOCK(s, 1); - - 000ea 8b 56 5c mov edx, DWORD PTR [esi+92] - 000ed c7 86 b4 16 00 - 00 00 00 00 00 mov DWORD PTR [esi+5812], 0 - 000f7 83 f8 04 cmp eax, 4 - 000fa 75 3f jne SHORT $LN4@deflate_st - 000fc 85 d2 test edx, edx - 000fe 78 07 js SHORT $LN22@deflate_st - 00100 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 00103 03 ca add ecx, edx - 00105 eb 02 jmp SHORT $LN23@deflate_st -$LN22@deflate_st: - 00107 33 c9 xor ecx, ecx -$LN23@deflate_st: - 00109 8b 46 6c mov eax, DWORD PTR [esi+108] - 0010c 6a 01 push 1 - 0010e 51 push ecx - 0010f 2b c2 sub eax, edx - 00111 8b ce mov ecx, esi - 00113 e8 00 00 00 00 call __tr_flush_block - 00118 8b 4e 6c mov ecx, DWORD PTR [esi+108] - 0011b 8b 3e mov edi, DWORD PTR [esi] - 0011d 83 c4 08 add esp, 8 - 00120 89 4e 5c mov DWORD PTR [esi+92], ecx - 00123 e8 00 00 00 00 call _flush_pending - 00128 8b 16 mov edx, DWORD PTR [esi] - 0012a 33 c0 xor eax, eax - 0012c 39 42 10 cmp DWORD PTR [edx+16], eax - 0012f 5f pop edi - 00130 0f 95 c0 setne al - 00133 5e pop esi - 00134 83 c0 02 add eax, 2 - -; 1617 : } - - 00137 8b e5 mov esp, ebp - 00139 5d pop ebp - 0013a c3 ret 0 -$LN4@deflate_st: - -; 1612 : return finish_done; -; 1613 : } -; 1614 : if ((long)s->strstart > s->block_start) - - 0013b 8b 46 6c mov eax, DWORD PTR [esi+108] - 0013e 3b c2 cmp eax, edx - 00140 7e 35 jle SHORT $LN1@deflate_st - -; 1615 : FLUSH_BLOCK(s, 0); - - 00142 85 d2 test edx, edx - 00144 78 07 js SHORT $LN24@deflate_st - 00146 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 00149 03 ca add ecx, edx - 0014b eb 02 jmp SHORT $LN25@deflate_st -$LN24@deflate_st: - 0014d 33 c9 xor ecx, ecx -$LN25@deflate_st: - 0014f 6a 00 push 0 - 00151 51 push ecx - 00152 2b c2 sub eax, edx - 00154 8b ce mov ecx, esi - 00156 e8 00 00 00 00 call __tr_flush_block - 0015b 8b 46 6c mov eax, DWORD PTR [esi+108] - 0015e 8b 3e mov edi, DWORD PTR [esi] - 00160 83 c4 08 add esp, 8 - 00163 89 46 5c mov DWORD PTR [esi+92], eax - 00166 e8 00 00 00 00 call _flush_pending - 0016b 8b 0e mov ecx, DWORD PTR [esi] - 0016d 83 79 10 00 cmp DWORD PTR [ecx+16], 0 - 00171 0f 84 64 ff ff - ff je $LN31@deflate_st -$LN1@deflate_st: - 00177 5f pop edi - -; 1616 : return block_done; - - 00178 b8 01 00 00 00 mov eax, 1 - 0017d 5e pop esi - -; 1617 : } - - 0017e 8b e5 mov esp, ebp - 00180 5d pop ebp - 00181 c3 ret 0 -_deflate_stored ENDP -_TEXT ENDS -PUBLIC _deflate@8 -; Function compile flags: /Ogtp -; COMDAT _deflate@8 -_TEXT SEGMENT -_old_flush$ = -4 ; size = 4 -tv1136 = 8 ; size = 4 -_beg$80578 = 8 ; size = 4 -_strm$ = 8 ; size = 4 -_flush$ = 12 ; size = 4 -_deflate@8 PROC ; COMDAT - -; 666 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 56 push esi - 00005 57 push edi - -; 667 : int old_flush; /* value of flush param for previous deflate call */ -; 668 : deflate_state *s; -; 669 : -; 670 : if (strm == Z_NULL || strm->state == Z_NULL || -; 671 : flush > Z_BLOCK || flush < 0) { - - 00006 8b 7d 08 mov edi, DWORD PTR _strm$[ebp] - 00009 85 ff test edi, edi - 0000b 0f 84 40 08 00 - 00 je $LN82@deflate - 00011 8b 77 1c mov esi, DWORD PTR [edi+28] - 00014 85 f6 test esi, esi - 00016 0f 84 35 08 00 - 00 je $LN82@deflate - 0001c 8b 4d 0c mov ecx, DWORD PTR _flush$[ebp] - 0001f 83 f9 05 cmp ecx, 5 - 00022 0f 87 29 08 00 - 00 ja $LN82@deflate - -; 672 : return Z_STREAM_ERROR; -; 673 : } -; 674 : s = strm->state; -; 675 : -; 676 : if (strm->next_out == Z_NULL || -; 677 : (strm->next_in == Z_NULL && strm->avail_in != 0) || -; 678 : (s->status == FINISH_STATE && flush != Z_FINISH)) { - - 00028 83 7f 0c 00 cmp DWORD PTR [edi+12], 0 - 0002c 0f 84 18 08 00 - 00 je $LN80@deflate - 00032 83 3f 00 cmp DWORD PTR [edi], 0 - 00035 75 0a jne SHORT $LN79@deflate - 00037 83 7f 04 00 cmp DWORD PTR [edi+4], 0 - 0003b 0f 85 09 08 00 - 00 jne $LN80@deflate -$LN79@deflate: - 00041 8b 46 04 mov eax, DWORD PTR [esi+4] - 00044 3d 9a 02 00 00 cmp eax, 666 ; 0000029aH - 00049 75 09 jne SHORT $LN81@deflate - 0004b 83 f9 04 cmp ecx, 4 - 0004e 0f 85 f6 07 00 - 00 jne $LN80@deflate -$LN81@deflate: - -; 680 : } -; 681 : if (strm->avail_out == 0) ERR_RETURN(strm, Z_BUF_ERROR); - - 00054 83 7f 10 00 cmp DWORD PTR [edi+16], 0 - 00058 75 14 jne SHORT $LN78@deflate - 0005a c7 47 18 00 00 - 00 00 mov DWORD PTR [edi+24], OFFSET ??_C@_0N@DFPGLBGC@buffer?5error?$AA@ - 00061 5f pop edi - 00062 b8 fb ff ff ff mov eax, -5 ; fffffffbH - 00067 5e pop esi - -; 974 : } - - 00068 8b e5 mov esp, ebp - 0006a 5d pop ebp - 0006b c2 08 00 ret 8 -$LN78@deflate: - -; 682 : -; 683 : s->strm = strm; /* just in case */ -; 684 : old_flush = s->last_flush; - - 0006e 8b 56 28 mov edx, DWORD PTR [esi+40] - 00071 53 push ebx - 00072 89 3e mov DWORD PTR [esi], edi - 00074 89 55 fc mov DWORD PTR _old_flush$[ebp], edx - -; 685 : s->last_flush = flush; - - 00077 89 4e 28 mov DWORD PTR [esi+40], ecx - -; 686 : -; 687 : /* Write the header */ -; 688 : if (s->status == INIT_STATE) { - - 0007a bb 01 00 00 00 mov ebx, 1 - 0007f 83 f8 2a cmp eax, 42 ; 0000002aH - 00082 0f 85 a1 02 00 - 00 jne $LN71@deflate - -; 689 : #ifdef GZIP -; 690 : if (s->wrap == 2) { - - 00088 ba 02 00 00 00 mov edx, 2 - 0008d 39 56 18 cmp DWORD PTR [esi+24], edx - 00090 0f 85 fe 01 00 - 00 jne $LN76@deflate - -; 691 : strm->adler = crc32(0L, Z_NULL, 0); - - 00096 6a 00 push 0 - 00098 6a 00 push 0 - 0009a 6a 00 push 0 - 0009c e8 00 00 00 00 call _crc32@12 - 000a1 89 47 30 mov DWORD PTR [edi+48], eax - -; 692 : put_byte(s, 31); - - 000a4 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 000a7 8b 46 08 mov eax, DWORD PTR [esi+8] - 000aa c6 04 08 1f mov BYTE PTR [eax+ecx], 31 ; 0000001fH - 000ae 01 5e 14 add DWORD PTR [esi+20], ebx - 000b1 8b 46 14 mov eax, DWORD PTR [esi+20] - -; 693 : put_byte(s, 139); - - 000b4 8b 56 08 mov edx, DWORD PTR [esi+8] - 000b7 c6 04 10 8b mov BYTE PTR [eax+edx], 139 ; 0000008bH - 000bb 01 5e 14 add DWORD PTR [esi+20], ebx - 000be 8b 46 14 mov eax, DWORD PTR [esi+20] - -; 694 : put_byte(s, 8); - - 000c1 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 000c4 c6 04 08 08 mov BYTE PTR [eax+ecx], 8 - 000c8 01 5e 14 add DWORD PTR [esi+20], ebx - -; 695 : if (s->gzhead == Z_NULL) { - - 000cb 8b 46 1c mov eax, DWORD PTR [esi+28] - 000ce 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 000d1 89 4d 08 mov DWORD PTR tv1136[ebp], ecx - 000d4 85 c0 test eax, eax - 000d6 0f 85 89 00 00 - 00 jne $LN75@deflate - -; 696 : put_byte(s, 0); - - 000dc 8b 56 08 mov edx, DWORD PTR [esi+8] - 000df 88 04 11 mov BYTE PTR [ecx+edx], al - 000e2 01 5e 14 add DWORD PTR [esi+20], ebx - 000e5 8b 46 14 mov eax, DWORD PTR [esi+20] - -; 697 : put_byte(s, 0); - - 000e8 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 000eb c6 04 08 00 mov BYTE PTR [eax+ecx], 0 - 000ef 01 5e 14 add DWORD PTR [esi+20], ebx - 000f2 8b 46 14 mov eax, DWORD PTR [esi+20] - -; 698 : put_byte(s, 0); - - 000f5 8b 56 08 mov edx, DWORD PTR [esi+8] - 000f8 c6 04 10 00 mov BYTE PTR [eax+edx], 0 - 000fc 01 5e 14 add DWORD PTR [esi+20], ebx - 000ff 8b 46 14 mov eax, DWORD PTR [esi+20] - -; 699 : put_byte(s, 0); - - 00102 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 00105 c6 04 08 00 mov BYTE PTR [eax+ecx], 0 - 00109 01 5e 14 add DWORD PTR [esi+20], ebx - 0010c 8b 46 14 mov eax, DWORD PTR [esi+20] - -; 700 : put_byte(s, 0); - - 0010f 8b 56 08 mov edx, DWORD PTR [esi+8] - 00112 c6 04 10 00 mov BYTE PTR [eax+edx], 0 - 00116 01 5e 14 add DWORD PTR [esi+20], ebx - -; 701 : put_byte(s, s->level == 9 ? 2 : -; 702 : (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2 ? -; 703 : 4 : 0)); - - 00119 8b 86 84 00 00 - 00 mov eax, DWORD PTR [esi+132] - 0011f 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 00122 83 f8 09 cmp eax, 9 - 00125 75 05 jne SHORT $LN88@deflate - 00127 8d 43 01 lea eax, DWORD PTR [ebx+1] - 0012a eb 17 jmp SHORT $LN87@deflate -$LN88@deflate: - 0012c 83 be 88 00 00 - 00 02 cmp DWORD PTR [esi+136], 2 - 00133 7d 09 jge SHORT $LN86@deflate - 00135 83 f8 02 cmp eax, 2 - 00138 7c 04 jl SHORT $LN86@deflate - 0013a 33 c0 xor eax, eax - 0013c eb 05 jmp SHORT $LN87@deflate -$LN86@deflate: - 0013e b8 04 00 00 00 mov eax, 4 -$LN87@deflate: - 00143 8b 56 08 mov edx, DWORD PTR [esi+8] - 00146 88 04 11 mov BYTE PTR [ecx+edx], al - 00149 01 5e 14 add DWORD PTR [esi+20], ebx - 0014c 8b 46 14 mov eax, DWORD PTR [esi+20] - -; 704 : put_byte(s, OS_CODE); - - 0014f 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 00152 c6 04 08 0b mov BYTE PTR [eax+ecx], 11 ; 0000000bH - 00156 01 5e 14 add DWORD PTR [esi+20], ebx - -; 705 : s->status = BUSY_STATE; - - 00159 c7 46 04 71 00 - 00 00 mov DWORD PTR [esi+4], 113 ; 00000071H - -; 706 : } -; 707 : else { - - 00160 e9 c4 01 00 00 jmp $LN71@deflate -$LN75@deflate: - -; 708 : put_byte(s, (s->gzhead->text ? 1 : 0) + -; 709 : (s->gzhead->hcrc ? 2 : 0) + -; 710 : (s->gzhead->extra == Z_NULL ? 0 : 4) + -; 711 : (s->gzhead->name == Z_NULL ? 0 : 8) + -; 712 : (s->gzhead->comment == Z_NULL ? 0 : 16) -; 713 : ); - - 00165 8b 50 24 mov edx, DWORD PTR [eax+36] - 00168 8b 48 2c mov ecx, DWORD PTR [eax+44] - 0016b f7 da neg edx - 0016d 1a d2 sbb dl, dl - 0016f 80 e2 10 and dl, 16 ; 00000010H - 00172 f7 d9 neg ecx - 00174 1a c9 sbb cl, cl - 00176 80 e1 02 and cl, 2 - 00179 02 d1 add dl, cl - 0017b 8b 48 1c mov ecx, DWORD PTR [eax+28] - 0017e f7 d9 neg ecx - 00180 1a c9 sbb cl, cl - 00182 80 e1 08 and cl, 8 - 00185 02 d1 add dl, cl - 00187 8b 48 10 mov ecx, DWORD PTR [eax+16] - 0018a f7 d9 neg ecx - 0018c 1a c9 sbb cl, cl - 0018e 80 e1 04 and cl, 4 - 00191 02 d1 add dl, cl - 00193 83 38 00 cmp DWORD PTR [eax], 0 - 00196 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 00199 0f 95 c0 setne al - 0019c 02 d0 add dl, al - 0019e 8b 45 08 mov eax, DWORD PTR tv1136[ebp] - 001a1 88 14 08 mov BYTE PTR [eax+ecx], dl - 001a4 01 5e 14 add DWORD PTR [esi+20], ebx - 001a7 8b 46 14 mov eax, DWORD PTR [esi+20] - -; 714 : put_byte(s, (Byte)(s->gzhead->time & 0xff)); - - 001aa 8b 4e 1c mov ecx, DWORD PTR [esi+28] - 001ad 0f b6 49 04 movzx ecx, BYTE PTR [ecx+4] - 001b1 8b 56 08 mov edx, DWORD PTR [esi+8] - 001b4 88 0c 10 mov BYTE PTR [eax+edx], cl - 001b7 01 5e 14 add DWORD PTR [esi+20], ebx - -; 715 : put_byte(s, (Byte)((s->gzhead->time >> 8) & 0xff)); - - 001ba 8b 56 1c mov edx, DWORD PTR [esi+28] - 001bd 0f b6 52 05 movzx edx, BYTE PTR [edx+5] - 001c1 8b 46 14 mov eax, DWORD PTR [esi+20] - 001c4 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 001c7 88 14 08 mov BYTE PTR [eax+ecx], dl - 001ca 01 5e 14 add DWORD PTR [esi+20], ebx - -; 716 : put_byte(s, (Byte)((s->gzhead->time >> 16) & 0xff)); - - 001cd 8b 4e 1c mov ecx, DWORD PTR [esi+28] - 001d0 0f b6 49 06 movzx ecx, BYTE PTR [ecx+6] - 001d4 8b 46 14 mov eax, DWORD PTR [esi+20] - 001d7 8b 56 08 mov edx, DWORD PTR [esi+8] - 001da 88 0c 10 mov BYTE PTR [eax+edx], cl - 001dd 01 5e 14 add DWORD PTR [esi+20], ebx - -; 717 : put_byte(s, (Byte)((s->gzhead->time >> 24) & 0xff)); - - 001e0 8b 56 1c mov edx, DWORD PTR [esi+28] - 001e3 0f b6 52 07 movzx edx, BYTE PTR [edx+7] - 001e7 8b 46 14 mov eax, DWORD PTR [esi+20] - 001ea 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 001ed 88 14 08 mov BYTE PTR [eax+ecx], dl - 001f0 01 5e 14 add DWORD PTR [esi+20], ebx - -; 718 : put_byte(s, s->level == 9 ? 2 : -; 719 : (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2 ? -; 720 : 4 : 0)); - - 001f3 8b 86 84 00 00 - 00 mov eax, DWORD PTR [esi+132] - 001f9 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 001fc 83 f8 09 cmp eax, 9 - 001ff 75 07 jne SHORT $LN92@deflate - 00201 b8 02 00 00 00 mov eax, 2 - 00206 eb 17 jmp SHORT $LN91@deflate -$LN92@deflate: - 00208 83 be 88 00 00 - 00 02 cmp DWORD PTR [esi+136], 2 - 0020f 7d 09 jge SHORT $LN90@deflate - 00211 83 f8 02 cmp eax, 2 - 00214 7c 04 jl SHORT $LN90@deflate - 00216 33 c0 xor eax, eax - 00218 eb 05 jmp SHORT $LN91@deflate -$LN90@deflate: - 0021a b8 04 00 00 00 mov eax, 4 -$LN91@deflate: - 0021f 8b 56 08 mov edx, DWORD PTR [esi+8] - 00222 88 04 11 mov BYTE PTR [ecx+edx], al - 00225 01 5e 14 add DWORD PTR [esi+20], ebx - -; 721 : put_byte(s, s->gzhead->os & 0xff); - - 00228 8b 4e 1c mov ecx, DWORD PTR [esi+28] - 0022b 8b 46 14 mov eax, DWORD PTR [esi+20] - 0022e 8a 49 0c mov cl, BYTE PTR [ecx+12] - 00231 8b 56 08 mov edx, DWORD PTR [esi+8] - 00234 88 0c 10 mov BYTE PTR [eax+edx], cl - 00237 01 5e 14 add DWORD PTR [esi+20], ebx - -; 722 : if (s->gzhead->extra != Z_NULL) { - - 0023a 8b 46 1c mov eax, DWORD PTR [esi+28] - 0023d 83 78 10 00 cmp DWORD PTR [eax+16], 0 - 00241 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 00244 74 21 je SHORT $LN73@deflate - -; 723 : put_byte(s, s->gzhead->extra_len & 0xff); - - 00246 8a 40 14 mov al, BYTE PTR [eax+20] - 00249 8b 56 08 mov edx, DWORD PTR [esi+8] - 0024c 88 04 11 mov BYTE PTR [ecx+edx], al - 0024f 01 5e 14 add DWORD PTR [esi+20], ebx - -; 724 : put_byte(s, (s->gzhead->extra_len >> 8) & 0xff); - - 00252 8b 4e 1c mov ecx, DWORD PTR [esi+28] - 00255 8a 49 15 mov cl, BYTE PTR [ecx+21] - 00258 8b 46 14 mov eax, DWORD PTR [esi+20] - 0025b 8b 56 08 mov edx, DWORD PTR [esi+8] - 0025e 88 0c 10 mov BYTE PTR [eax+edx], cl - 00261 01 5e 14 add DWORD PTR [esi+20], ebx - 00264 8b 4e 14 mov ecx, DWORD PTR [esi+20] -$LN73@deflate: - -; 725 : } -; 726 : if (s->gzhead->hcrc) - - 00267 8b 56 1c mov edx, DWORD PTR [esi+28] - 0026a 83 7a 2c 00 cmp DWORD PTR [edx+44], 0 - 0026e 74 11 je SHORT $LN72@deflate - -; 727 : strm->adler = crc32(strm->adler, s->pending_buf, -; 728 : s->pending); - - 00270 8b 46 08 mov eax, DWORD PTR [esi+8] - 00273 51 push ecx - 00274 8b 4f 30 mov ecx, DWORD PTR [edi+48] - 00277 50 push eax - 00278 51 push ecx - 00279 e8 00 00 00 00 call _crc32@12 - 0027e 89 47 30 mov DWORD PTR [edi+48], eax -$LN72@deflate: - -; 729 : s->gzindex = 0; - - 00281 c7 46 20 00 00 - 00 00 mov DWORD PTR [esi+32], 0 - -; 730 : s->status = EXTRA_STATE; - - 00288 c7 46 04 45 00 - 00 00 mov DWORD PTR [esi+4], 69 ; 00000045H - -; 731 : } -; 732 : } -; 733 : else - - 0028f e9 95 00 00 00 jmp $LN71@deflate -$LN76@deflate: - -; 734 : #endif -; 735 : { -; 736 : uInt header = (Z_DEFLATED + ((s->w_bits-8)<<4)) << 8; - - 00294 8b 4e 30 mov ecx, DWORD PTR [esi+48] - 00297 83 e9 08 sub ecx, 8 - 0029a c1 e1 0c shl ecx, 12 ; 0000000cH - 0029d 81 c1 00 08 00 - 00 add ecx, 2048 ; 00000800H - -; 737 : uInt level_flags; -; 738 : -; 739 : if (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2) - - 002a3 39 96 88 00 00 - 00 cmp DWORD PTR [esi+136], edx - 002a9 7d 20 jge SHORT $LN69@deflate - 002ab 8b 86 84 00 00 - 00 mov eax, DWORD PTR [esi+132] - 002b1 3b c2 cmp eax, edx - 002b3 7c 16 jl SHORT $LN69@deflate - -; 741 : else if (s->level < 6) - - 002b5 83 f8 06 cmp eax, 6 - 002b8 7d 04 jge SHORT $LN67@deflate - -; 742 : level_flags = 1; - - 002ba 8b c3 mov eax, ebx - 002bc eb 0f jmp SHORT $LN64@deflate -$LN67@deflate: - -; 743 : else if (s->level == 6) - - 002be 33 d2 xor edx, edx - 002c0 83 f8 06 cmp eax, 6 - 002c3 0f 95 c2 setne dl - 002c6 8d 42 02 lea eax, DWORD PTR [edx+2] - -; 744 : level_flags = 2; -; 745 : else -; 746 : level_flags = 3; - - 002c9 eb 02 jmp SHORT $LN64@deflate -$LN69@deflate: - -; 740 : level_flags = 0; - - 002cb 33 c0 xor eax, eax -$LN64@deflate: - -; 747 : header |= (level_flags << 6); - - 002cd c1 e0 06 shl eax, 6 - 002d0 0b c8 or ecx, eax - -; 748 : if (s->strstart != 0) header |= PRESET_DICT; - - 002d2 83 7e 6c 00 cmp DWORD PTR [esi+108], 0 - 002d6 74 03 je SHORT $LN63@deflate - 002d8 83 c9 20 or ecx, 32 ; 00000020H -$LN63@deflate: - -; 749 : header += 31 - (header % 31); - - 002db b8 85 10 42 08 mov eax, 138547333 ; 08421085H - 002e0 f7 e1 mul ecx - 002e2 2b ca sub ecx, edx - 002e4 d1 e9 shr ecx, 1 - 002e6 8d 04 0a lea eax, DWORD PTR [edx+ecx] - 002e9 c1 e8 04 shr eax, 4 - -; 750 : -; 751 : s->status = BUSY_STATE; -; 752 : putShortMSB(s, header); - - 002ec 03 c3 add eax, ebx - 002ee 8b c8 mov ecx, eax - 002f0 c1 e1 05 shl ecx, 5 - 002f3 2b c8 sub ecx, eax - 002f5 8b c6 mov eax, esi - 002f7 c7 46 04 71 00 - 00 00 mov DWORD PTR [esi+4], 113 ; 00000071H - 002fe e8 00 00 00 00 call _putShortMSB - -; 753 : -; 754 : /* Save the adler32 of the preset dictionary: */ -; 755 : if (s->strstart != 0) { - - 00303 83 7e 6c 00 cmp DWORD PTR [esi+108], 0 - 00307 74 12 je SHORT $LN62@deflate - -; 756 : putShortMSB(s, (uInt)(strm->adler >> 16)); - - 00309 0f b7 4f 32 movzx ecx, WORD PTR [edi+50] - 0030d e8 00 00 00 00 call _putShortMSB - -; 757 : putShortMSB(s, (uInt)(strm->adler & 0xffff)); - - 00312 0f b7 4f 30 movzx ecx, WORD PTR [edi+48] - 00316 e8 00 00 00 00 call _putShortMSB -$LN62@deflate: - -; 758 : } -; 759 : strm->adler = adler32(0L, Z_NULL, 0); - - 0031b 6a 00 push 0 - 0031d 6a 00 push 0 - 0031f 6a 00 push 0 - 00321 e8 00 00 00 00 call _adler32@12 - 00326 89 47 30 mov DWORD PTR [edi+48], eax -$LN71@deflate: - -; 760 : } -; 761 : } -; 762 : #ifdef GZIP -; 763 : if (s->status == EXTRA_STATE) { - - 00329 83 7e 04 45 cmp DWORD PTR [esi+4], 69 ; 00000045H - 0032d 0f 85 c3 00 00 - 00 jne $LN109@deflate - -; 764 : if (s->gzhead->extra != Z_NULL) { - - 00333 8b 46 1c mov eax, DWORD PTR [esi+28] - 00336 83 78 10 00 cmp DWORD PTR [eax+16], 0 - 0033a 0f 84 af 00 00 - 00 je $LN60@deflate - -; 765 : uInt beg = s->pending; /* start of bytes to update crc */ -; 766 : -; 767 : while (s->gzindex < (s->gzhead->extra_len & 0xffff)) { - - 00340 0f b7 40 14 movzx eax, WORD PTR [eax+20] - 00344 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 00347 89 4d 08 mov DWORD PTR _beg$80578[ebp], ecx - 0034a 39 46 20 cmp DWORD PTR [esi+32], eax - 0034d 73 69 jae SHORT $LN101@deflate - 0034f 90 npad 1 -$LL59@deflate: - -; 768 : if (s->pending == s->pending_buf_size) { - - 00350 8b 46 14 mov eax, DWORD PTR [esi+20] - 00353 3b 46 0c cmp eax, DWORD PTR [esi+12] - 00356 75 34 jne SHORT $LN55@deflate - -; 769 : if (s->gzhead->hcrc && s->pending > beg) - - 00358 8b 56 1c mov edx, DWORD PTR [esi+28] - 0035b 83 7a 2c 00 cmp DWORD PTR [edx+44], 0 - 0035f 74 19 je SHORT $LN56@deflate - 00361 3b c1 cmp eax, ecx - 00363 76 15 jbe SHORT $LN56@deflate - -; 770 : strm->adler = crc32(strm->adler, s->pending_buf + beg, -; 771 : s->pending - beg); - - 00365 2b c1 sub eax, ecx - 00367 50 push eax - 00368 8b 46 08 mov eax, DWORD PTR [esi+8] - 0036b 03 c1 add eax, ecx - 0036d 8b 4f 30 mov ecx, DWORD PTR [edi+48] - 00370 50 push eax - 00371 51 push ecx - 00372 e8 00 00 00 00 call _crc32@12 - 00377 89 47 30 mov DWORD PTR [edi+48], eax -$LN56@deflate: - -; 772 : flush_pending(strm); - - 0037a e8 00 00 00 00 call _flush_pending - -; 773 : beg = s->pending; - - 0037f 8b 46 14 mov eax, DWORD PTR [esi+20] - 00382 8b c8 mov ecx, eax - 00384 89 4d 08 mov DWORD PTR _beg$80578[ebp], ecx - -; 774 : if (s->pending == s->pending_buf_size) - - 00387 3b 46 0c cmp eax, DWORD PTR [esi+12] - 0038a 74 2c je SHORT $LN101@deflate -$LN55@deflate: - -; 775 : break; -; 776 : } -; 777 : put_byte(s, s->gzhead->extra[s->gzindex]); - - 0038c 8b 56 1c mov edx, DWORD PTR [esi+28] - 0038f 8b 4a 10 mov ecx, DWORD PTR [edx+16] - 00392 8b 56 20 mov edx, DWORD PTR [esi+32] - 00395 8a 0c 11 mov cl, BYTE PTR [ecx+edx] - 00398 8b 5e 08 mov ebx, DWORD PTR [esi+8] - 0039b 88 0c 18 mov BYTE PTR [eax+ebx], cl - 0039e 8b 4d 08 mov ecx, DWORD PTR _beg$80578[ebp] - 003a1 b8 01 00 00 00 mov eax, 1 - 003a6 01 46 14 add DWORD PTR [esi+20], eax - -; 778 : s->gzindex++; - - 003a9 01 46 20 add DWORD PTR [esi+32], eax - 003ac 8b 56 1c mov edx, DWORD PTR [esi+28] - 003af 0f b7 42 14 movzx eax, WORD PTR [edx+20] - 003b3 39 46 20 cmp DWORD PTR [esi+32], eax - 003b6 72 98 jb SHORT $LL59@deflate -$LN101@deflate: - -; 779 : } -; 780 : if (s->gzhead->hcrc && s->pending > beg) - - 003b8 8b 56 1c mov edx, DWORD PTR [esi+28] - 003bb 83 7a 2c 00 cmp DWORD PTR [edx+44], 0 - 003bf 74 1c je SHORT $LN54@deflate - 003c1 8b 46 14 mov eax, DWORD PTR [esi+20] - 003c4 3b c1 cmp eax, ecx - 003c6 76 15 jbe SHORT $LN54@deflate - -; 781 : strm->adler = crc32(strm->adler, s->pending_buf + beg, -; 782 : s->pending - beg); - - 003c8 2b c1 sub eax, ecx - 003ca 50 push eax - 003cb 8b 46 08 mov eax, DWORD PTR [esi+8] - 003ce 03 c1 add eax, ecx - 003d0 8b 4f 30 mov ecx, DWORD PTR [edi+48] - 003d3 50 push eax - 003d4 51 push ecx - 003d5 e8 00 00 00 00 call _crc32@12 - 003da 89 47 30 mov DWORD PTR [edi+48], eax -$LN54@deflate: - -; 783 : if (s->gzindex == s->gzhead->extra_len) { - - 003dd 8b 56 1c mov edx, DWORD PTR [esi+28] - 003e0 8b 46 20 mov eax, DWORD PTR [esi+32] - 003e3 3b 42 14 cmp eax, DWORD PTR [edx+20] - 003e6 75 0e jne SHORT $LN109@deflate - -; 784 : s->gzindex = 0; - - 003e8 c7 46 20 00 00 - 00 00 mov DWORD PTR [esi+32], 0 -$LN60@deflate: - -; 785 : s->status = NAME_STATE; -; 786 : } -; 787 : } -; 788 : else -; 789 : s->status = NAME_STATE; - - 003ef c7 46 04 49 00 - 00 00 mov DWORD PTR [esi+4], 73 ; 00000049H -$LN109@deflate: - -; 790 : } -; 791 : if (s->status == NAME_STATE) { - - 003f6 83 7e 04 49 cmp DWORD PTR [esi+4], 73 ; 00000049H - 003fa 0f 85 a1 00 00 - 00 jne $LN41@deflate - -; 792 : if (s->gzhead->name != Z_NULL) { - - 00400 8b 4e 1c mov ecx, DWORD PTR [esi+28] - 00403 83 79 1c 00 cmp DWORD PTR [ecx+28], 0 - 00407 0f 84 8d 00 00 - 00 je $LN50@deflate - -; 793 : uInt beg = s->pending; /* start of bytes to update crc */ - - 0040d 8b 56 14 mov edx, DWORD PTR [esi+20] -$LL49@deflate: - -; 794 : int val; -; 795 : -; 796 : do { -; 797 : if (s->pending == s->pending_buf_size) { - - 00410 8b 46 14 mov eax, DWORD PTR [esi+20] - 00413 3b 46 0c cmp eax, DWORD PTR [esi+12] - 00416 75 31 jne SHORT $LN44@deflate - -; 798 : if (s->gzhead->hcrc && s->pending > beg) - - 00418 8b 4e 1c mov ecx, DWORD PTR [esi+28] - 0041b 83 79 2c 00 cmp DWORD PTR [ecx+44], 0 - 0041f 74 19 je SHORT $LN45@deflate - 00421 3b c2 cmp eax, edx - 00423 76 15 jbe SHORT $LN45@deflate - -; 799 : strm->adler = crc32(strm->adler, s->pending_buf + beg, -; 800 : s->pending - beg); - - 00425 8b 4f 30 mov ecx, DWORD PTR [edi+48] - 00428 2b c2 sub eax, edx - 0042a 50 push eax - 0042b 8b 46 08 mov eax, DWORD PTR [esi+8] - 0042e 03 c2 add eax, edx - 00430 50 push eax - 00431 51 push ecx - 00432 e8 00 00 00 00 call _crc32@12 - 00437 89 47 30 mov DWORD PTR [edi+48], eax -$LN45@deflate: - -; 801 : flush_pending(strm); - - 0043a e8 00 00 00 00 call _flush_pending - -; 802 : beg = s->pending; - - 0043f 8b 46 14 mov eax, DWORD PTR [esi+20] - 00442 8b d0 mov edx, eax - -; 803 : if (s->pending == s->pending_buf_size) { - - 00444 3b 46 0c cmp eax, DWORD PTR [esi+12] - 00447 74 20 je SHORT $LN102@deflate -$LN44@deflate: - -; 805 : break; -; 806 : } -; 807 : } -; 808 : val = s->gzhead->name[s->gzindex++]; - - 00449 8b 4e 20 mov ecx, DWORD PTR [esi+32] - 0044c 8b 5e 1c mov ebx, DWORD PTR [esi+28] - 0044f 8b 5b 1c mov ebx, DWORD PTR [ebx+28] - 00452 0f b6 1c 0b movzx ebx, BYTE PTR [ebx+ecx] - 00456 41 inc ecx - 00457 89 4e 20 mov DWORD PTR [esi+32], ecx - -; 809 : put_byte(s, val); - - 0045a 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 0045d 88 1c 08 mov BYTE PTR [eax+ecx], bl - 00460 ff 46 14 inc DWORD PTR [esi+20] - -; 810 : } while (val != 0); - - 00463 85 db test ebx, ebx - 00465 75 a9 jne SHORT $LL49@deflate - 00467 eb 05 jmp SHORT $LN47@deflate -$LN102@deflate: - -; 804 : val = 1; - - 00469 bb 01 00 00 00 mov ebx, 1 -$LN47@deflate: - -; 811 : if (s->gzhead->hcrc && s->pending > beg) - - 0046e 8b 46 1c mov eax, DWORD PTR [esi+28] - 00471 83 78 2c 00 cmp DWORD PTR [eax+44], 0 - 00475 74 1c je SHORT $LN43@deflate - 00477 8b 46 14 mov eax, DWORD PTR [esi+20] - 0047a 3b c2 cmp eax, edx - 0047c 76 15 jbe SHORT $LN43@deflate - -; 812 : strm->adler = crc32(strm->adler, s->pending_buf + beg, -; 813 : s->pending - beg); - - 0047e 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 00481 2b c2 sub eax, edx - 00483 50 push eax - 00484 03 ca add ecx, edx - 00486 8b 57 30 mov edx, DWORD PTR [edi+48] - 00489 51 push ecx - 0048a 52 push edx - 0048b e8 00 00 00 00 call _crc32@12 - 00490 89 47 30 mov DWORD PTR [edi+48], eax -$LN43@deflate: - -; 814 : if (val == 0) { - - 00493 85 db test ebx, ebx - 00495 75 0a jne SHORT $LN41@deflate - -; 815 : s->gzindex = 0; - - 00497 89 5e 20 mov DWORD PTR [esi+32], ebx -$LN50@deflate: - -; 816 : s->status = COMMENT_STATE; -; 817 : } -; 818 : } -; 819 : else -; 820 : s->status = COMMENT_STATE; - - 0049a c7 46 04 5b 00 - 00 00 mov DWORD PTR [esi+4], 91 ; 0000005bH -$LN41@deflate: - -; 821 : } -; 822 : if (s->status == COMMENT_STATE) { - - 004a1 83 7e 04 5b cmp DWORD PTR [esi+4], 91 ; 0000005bH - 004a5 0f 85 a3 00 00 - 00 jne $LN30@deflate - -; 823 : if (s->gzhead->comment != Z_NULL) { - - 004ab 8b 46 1c mov eax, DWORD PTR [esi+28] - 004ae 83 78 24 00 cmp DWORD PTR [eax+36], 0 - 004b2 0f 84 8f 00 00 - 00 je $LN39@deflate - -; 824 : uInt beg = s->pending; /* start of bytes to update crc */ - - 004b8 8b 56 14 mov edx, DWORD PTR [esi+20] - 004bb eb 03 8d 49 00 npad 5 -$LL38@deflate: - -; 825 : int val; -; 826 : -; 827 : do { -; 828 : if (s->pending == s->pending_buf_size) { - - 004c0 8b 46 14 mov eax, DWORD PTR [esi+20] - 004c3 3b 46 0c cmp eax, DWORD PTR [esi+12] - 004c6 75 31 jne SHORT $LN33@deflate - -; 829 : if (s->gzhead->hcrc && s->pending > beg) - - 004c8 8b 4e 1c mov ecx, DWORD PTR [esi+28] - 004cb 83 79 2c 00 cmp DWORD PTR [ecx+44], 0 - 004cf 74 19 je SHORT $LN34@deflate - 004d1 3b c2 cmp eax, edx - 004d3 76 15 jbe SHORT $LN34@deflate - -; 830 : strm->adler = crc32(strm->adler, s->pending_buf + beg, -; 831 : s->pending - beg); - - 004d5 8b 4f 30 mov ecx, DWORD PTR [edi+48] - 004d8 2b c2 sub eax, edx - 004da 50 push eax - 004db 8b 46 08 mov eax, DWORD PTR [esi+8] - 004de 03 c2 add eax, edx - 004e0 50 push eax - 004e1 51 push ecx - 004e2 e8 00 00 00 00 call _crc32@12 - 004e7 89 47 30 mov DWORD PTR [edi+48], eax -$LN34@deflate: - -; 832 : flush_pending(strm); - - 004ea e8 00 00 00 00 call _flush_pending - -; 833 : beg = s->pending; - - 004ef 8b 46 14 mov eax, DWORD PTR [esi+20] - 004f2 8b d0 mov edx, eax - -; 834 : if (s->pending == s->pending_buf_size) { - - 004f4 3b 46 0c cmp eax, DWORD PTR [esi+12] - 004f7 74 20 je SHORT $LN103@deflate -$LN33@deflate: - -; 836 : break; -; 837 : } -; 838 : } -; 839 : val = s->gzhead->comment[s->gzindex++]; - - 004f9 8b 4e 20 mov ecx, DWORD PTR [esi+32] - 004fc 8b 5e 1c mov ebx, DWORD PTR [esi+28] - 004ff 8b 5b 24 mov ebx, DWORD PTR [ebx+36] - 00502 0f b6 1c 0b movzx ebx, BYTE PTR [ebx+ecx] - 00506 41 inc ecx - 00507 89 4e 20 mov DWORD PTR [esi+32], ecx - -; 840 : put_byte(s, val); - - 0050a 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 0050d 88 1c 08 mov BYTE PTR [eax+ecx], bl - 00510 ff 46 14 inc DWORD PTR [esi+20] - -; 841 : } while (val != 0); - - 00513 85 db test ebx, ebx - 00515 75 a9 jne SHORT $LL38@deflate - 00517 eb 05 jmp SHORT $LN36@deflate -$LN103@deflate: - -; 835 : val = 1; - - 00519 bb 01 00 00 00 mov ebx, 1 -$LN36@deflate: - -; 842 : if (s->gzhead->hcrc && s->pending > beg) - - 0051e 8b 46 1c mov eax, DWORD PTR [esi+28] - 00521 83 78 2c 00 cmp DWORD PTR [eax+44], 0 - 00525 74 1c je SHORT $LN32@deflate - 00527 8b 46 14 mov eax, DWORD PTR [esi+20] - 0052a 3b c2 cmp eax, edx - 0052c 76 15 jbe SHORT $LN32@deflate - -; 843 : strm->adler = crc32(strm->adler, s->pending_buf + beg, -; 844 : s->pending - beg); - - 0052e 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 00531 2b c2 sub eax, edx - 00533 50 push eax - 00534 03 ca add ecx, edx - 00536 8b 57 30 mov edx, DWORD PTR [edi+48] - 00539 51 push ecx - 0053a 52 push edx - 0053b e8 00 00 00 00 call _crc32@12 - 00540 89 47 30 mov DWORD PTR [edi+48], eax -$LN32@deflate: - -; 845 : if (val == 0) - - 00543 85 db test ebx, ebx - 00545 75 07 jne SHORT $LN30@deflate -$LN39@deflate: - -; 846 : s->status = HCRC_STATE; -; 847 : } -; 848 : else -; 849 : s->status = HCRC_STATE; - - 00547 c7 46 04 67 00 - 00 00 mov DWORD PTR [esi+4], 103 ; 00000067H -$LN30@deflate: - -; 850 : } -; 851 : if (s->status == HCRC_STATE) { - - 0054e 83 7e 04 67 cmp DWORD PTR [esi+4], 103 ; 00000067H - 00552 75 59 jne SHORT $LN25@deflate - -; 852 : if (s->gzhead->hcrc) { - - 00554 8b 46 1c mov eax, DWORD PTR [esi+28] - 00557 83 78 2c 00 cmp DWORD PTR [eax+44], 0 - 0055b 74 49 je SHORT $LN28@deflate - -; 853 : if (s->pending + 2 > s->pending_buf_size) - - 0055d 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 00560 83 c1 02 add ecx, 2 - 00563 3b 4e 0c cmp ecx, DWORD PTR [esi+12] - 00566 76 05 jbe SHORT $LN27@deflate - -; 854 : flush_pending(strm); - - 00568 e8 00 00 00 00 call _flush_pending -$LN27@deflate: - -; 855 : if (s->pending + 2 <= s->pending_buf_size) { - - 0056d 8b 46 14 mov eax, DWORD PTR [esi+20] - 00570 8d 50 02 lea edx, DWORD PTR [eax+2] - 00573 3b 56 0c cmp edx, DWORD PTR [esi+12] - 00576 77 35 ja SHORT $LN25@deflate - -; 856 : put_byte(s, (Byte)(strm->adler & 0xff)); - - 00578 8a 57 30 mov dl, BYTE PTR [edi+48] - 0057b 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 0057e 88 14 08 mov BYTE PTR [eax+ecx], dl - -; 857 : put_byte(s, (Byte)((strm->adler >> 8) & 0xff)); - - 00581 8b 56 08 mov edx, DWORD PTR [esi+8] - 00584 b9 01 00 00 00 mov ecx, 1 - 00589 01 4e 14 add DWORD PTR [esi+20], ecx - 0058c 8b 46 14 mov eax, DWORD PTR [esi+20] - 0058f 8a 5f 31 mov bl, BYTE PTR [edi+49] - -; 858 : strm->adler = crc32(0L, Z_NULL, 0); - - 00592 6a 00 push 0 - 00594 6a 00 push 0 - 00596 88 1c 10 mov BYTE PTR [eax+edx], bl - 00599 01 4e 14 add DWORD PTR [esi+20], ecx - 0059c 6a 00 push 0 - 0059e e8 00 00 00 00 call _crc32@12 - 005a3 89 47 30 mov DWORD PTR [edi+48], eax -$LN28@deflate: - -; 859 : s->status = BUSY_STATE; -; 860 : } -; 861 : } -; 862 : else -; 863 : s->status = BUSY_STATE; - - 005a6 c7 46 04 71 00 - 00 00 mov DWORD PTR [esi+4], 113 ; 00000071H -$LN25@deflate: - -; 864 : } -; 865 : #endif -; 866 : -; 867 : /* Flush as much pending output as possible */ -; 868 : if (s->pending != 0) { - - 005ad 83 7e 14 00 cmp DWORD PTR [esi+20], 0 - 005b1 74 1d je SHORT $LN24@deflate - -; 869 : flush_pending(strm); - - 005b3 e8 00 00 00 00 call _flush_pending - -; 870 : if (strm->avail_out == 0) { - - 005b8 83 7f 10 00 cmp DWORD PTR [edi+16], 0 - 005bc 75 5e jne SHORT $LN106@deflate - -; 940 : s->last_flush = -1; /* avoid BUF_ERROR at next call, see above */ - - 005be c7 46 28 ff ff - ff ff mov DWORD PTR [esi+40], -1 -$LN13@deflate: - 005c5 5b pop ebx - 005c6 5f pop edi - -; 941 : return Z_OK; - - 005c7 33 c0 xor eax, eax - 005c9 5e pop esi - -; 974 : } - - 005ca 8b e5 mov esp, ebp - 005cc 5d pop ebp - 005cd c2 08 00 ret 8 -$LN24@deflate: - -; 871 : /* Since avail_out is 0, deflate will be called again with -; 872 : * more output space, but possibly with both pending and -; 873 : * avail_in equal to zero. There won't be anything to do, -; 874 : * but this is not an error situation so make sure we -; 875 : * return OK instead of BUF_ERROR at next call of deflate: -; 876 : */ -; 877 : s->last_flush = -1; -; 878 : return Z_OK; -; 879 : } -; 880 : -; 881 : /* Make sure there is something to do and avoid duplicate consecutive -; 882 : * flushes. For repeated and useless calls with Z_FINISH, we keep -; 883 : * returning Z_STREAM_END instead of Z_BUF_ERROR. -; 884 : */ -; 885 : } else if (strm->avail_in == 0 && RANK(flush) <= RANK(old_flush) && -; 886 : flush != Z_FINISH) { - - 005d0 83 7f 04 00 cmp DWORD PTR [edi+4], 0 - 005d4 75 46 jne SHORT $LN106@deflate - 005d6 8b 45 fc mov eax, DWORD PTR _old_flush$[ebp] - 005d9 33 c9 xor ecx, ecx - 005db 83 f8 04 cmp eax, 4 - 005de 0f 9e c1 setle cl - 005e1 8d 14 00 lea edx, DWORD PTR [eax+eax] - 005e4 8b 45 0c mov eax, DWORD PTR _flush$[ebp] - 005e7 8d 1c 00 lea ebx, DWORD PTR [eax+eax] - 005ea 49 dec ecx - 005eb 83 e1 09 and ecx, 9 - 005ee 2b d1 sub edx, ecx - 005f0 33 c9 xor ecx, ecx - 005f2 83 f8 04 cmp eax, 4 - 005f5 0f 9e c1 setle cl - 005f8 49 dec ecx - 005f9 83 e1 09 and ecx, 9 - 005fc 2b d9 sub ebx, ecx - 005fe 3b da cmp ebx, edx - 00600 7f 1d jg SHORT $LN108@deflate - 00602 83 f8 04 cmp eax, 4 - 00605 74 18 je SHORT $LN108@deflate - -; 887 : ERR_RETURN(strm, Z_BUF_ERROR); - - 00607 5b pop ebx - 00608 c7 47 18 00 00 - 00 00 mov DWORD PTR [edi+24], OFFSET ??_C@_0N@DFPGLBGC@buffer?5error?$AA@ - 0060f 5f pop edi - 00610 b8 fb ff ff ff mov eax, -5 ; fffffffbH - 00615 5e pop esi - -; 974 : } - - 00616 8b e5 mov esp, ebp - 00618 5d pop ebp - 00619 c2 08 00 ret 8 -$LN106@deflate: - -; 871 : /* Since avail_out is 0, deflate will be called again with -; 872 : * more output space, but possibly with both pending and -; 873 : * avail_in equal to zero. There won't be anything to do, -; 874 : * but this is not an error situation so make sure we -; 875 : * return OK instead of BUF_ERROR at next call of deflate: -; 876 : */ -; 877 : s->last_flush = -1; -; 878 : return Z_OK; -; 879 : } -; 880 : -; 881 : /* Make sure there is something to do and avoid duplicate consecutive -; 882 : * flushes. For repeated and useless calls with Z_FINISH, we keep -; 883 : * returning Z_STREAM_END instead of Z_BUF_ERROR. -; 884 : */ -; 885 : } else if (strm->avail_in == 0 && RANK(flush) <= RANK(old_flush) && -; 886 : flush != Z_FINISH) { - - 0061c 8b 45 0c mov eax, DWORD PTR _flush$[ebp] -$LN108@deflate: - -; 888 : } -; 889 : -; 890 : /* User must not provide more input after the first FINISH: */ -; 891 : if (s->status == FINISH_STATE && strm->avail_in != 0) { - - 0061f 8b 4e 04 mov ecx, DWORD PTR [esi+4] - 00622 81 f9 9a 02 00 - 00 cmp ecx, 666 ; 0000029aH - 00628 75 1b jne SHORT $LN110@deflate - 0062a 83 7f 04 00 cmp DWORD PTR [edi+4], 0 - 0062e 74 1b je SHORT $LN113@deflate - -; 892 : ERR_RETURN(strm, Z_BUF_ERROR); - - 00630 5b pop ebx - 00631 c7 47 18 00 00 - 00 00 mov DWORD PTR [edi+24], OFFSET ??_C@_0N@DFPGLBGC@buffer?5error?$AA@ - 00638 5f pop edi - 00639 b8 fb ff ff ff mov eax, -5 ; fffffffbH - 0063e 5e pop esi - -; 974 : } - - 0063f 8b e5 mov esp, ebp - 00641 5d pop ebp - 00642 c2 08 00 ret 8 -$LN110@deflate: - -; 893 : } -; 894 : -; 895 : /* Start a new block or continue the current one. -; 896 : */ -; 897 : if (strm->avail_in != 0 || s->lookahead != 0 || -; 898 : (flush != Z_NO_FLUSH && s->status != FINISH_STATE)) { - - 00645 83 7f 04 00 cmp DWORD PTR [edi+4], 0 - 00649 75 1a jne SHORT $LN18@deflate -$LN113@deflate: - 0064b 83 7e 74 00 cmp DWORD PTR [esi+116], 0 - 0064f 75 14 jne SHORT $LN18@deflate - 00651 85 c0 test eax, eax - 00653 0f 84 f4 00 00 - 00 je $LN107@deflate - 00659 81 f9 9a 02 00 - 00 cmp ecx, 666 ; 0000029aH - 0065f 0f 84 e8 00 00 - 00 je $LN107@deflate -$LN18@deflate: - -; 899 : block_state bstate; -; 900 : -; 901 : bstate = s->strategy == Z_HUFFMAN_ONLY ? deflate_huff(s, flush) : -; 902 : (s->strategy == Z_RLE ? deflate_rle(s, flush) : -; 903 : (*(configuration_table[s->level].func))(s, flush)); - - 00665 8b 8e 88 00 00 - 00 mov ecx, DWORD PTR [esi+136] - 0066b 50 push eax - 0066c 83 f9 02 cmp ecx, 2 - 0066f 75 0a jne SHORT $LN96@deflate - 00671 e8 00 00 00 00 call _deflate_huff - 00676 83 c4 04 add esp, 4 - 00679 eb 25 jmp SHORT $LN95@deflate -$LN96@deflate: - 0067b 83 f9 03 cmp ecx, 3 - 0067e 75 0a jne SHORT $LN94@deflate - 00680 e8 00 00 00 00 call _deflate_rle - 00685 83 c4 04 add esp, 4 - 00688 eb 16 jmp SHORT $LN95@deflate -$LN94@deflate: - 0068a 8b 8e 84 00 00 - 00 mov ecx, DWORD PTR [esi+132] - 00690 8d 14 49 lea edx, DWORD PTR [ecx+ecx*2] - 00693 8b 04 95 08 00 - 00 00 mov eax, DWORD PTR _configuration_table[edx*4+8] - 0069a 56 push esi - 0069b ff d0 call eax - 0069d 83 c4 08 add esp, 8 -$LN95@deflate: - -; 904 : -; 905 : if (bstate == finish_started || bstate == finish_done) { - - 006a0 83 f8 02 cmp eax, 2 - 006a3 74 05 je SHORT $LN16@deflate - 006a5 83 f8 03 cmp eax, 3 - 006a8 75 07 jne SHORT $LN17@deflate -$LN16@deflate: - -; 906 : s->status = FINISH_STATE; - - 006aa c7 46 04 9a 02 - 00 00 mov DWORD PTR [esi+4], 666 ; 0000029aH -$LN17@deflate: - -; 907 : } -; 908 : if (bstate == need_more || bstate == finish_started) { - - 006b1 85 c0 test eax, eax - 006b3 0f 84 75 01 00 - 00 je $LN14@deflate - 006b9 83 f8 02 cmp eax, 2 - 006bc 0f 84 6c 01 00 - 00 je $LN14@deflate - -; 910 : s->last_flush = -1; /* avoid BUF_ERROR next call, see above */ -; 911 : } -; 912 : return Z_OK; -; 913 : /* If flush != Z_NO_FLUSH && avail_out == 0, the next call -; 914 : * of deflate should use the same flush parameter to make sure -; 915 : * that the flush is complete. So we don't have to output an -; 916 : * empty block here, this will be done at next call. This also -; 917 : * ensures that for a very small output buffer, we emit at most -; 918 : * one empty block. -; 919 : */ -; 920 : } -; 921 : if (bstate == block_done) { - - 006c2 bb 01 00 00 00 mov ebx, 1 - 006c7 3b c3 cmp eax, ebx - 006c9 0f 85 83 00 00 - 00 jne $LN6@deflate - -; 922 : if (flush == Z_PARTIAL_FLUSH) { - - 006cf 8b 45 0c mov eax, DWORD PTR _flush$[ebp] - 006d2 3b c3 cmp eax, ebx - 006d4 75 09 jne SHORT $LN11@deflate - -; 923 : _tr_align(s); - - 006d6 8b c6 mov eax, esi - 006d8 e8 00 00 00 00 call __tr_align - 006dd eb 51 jmp SHORT $LN7@deflate -$LN11@deflate: - -; 924 : } else if (flush != Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */ - - 006df 83 f8 05 cmp eax, 5 - 006e2 74 4c je SHORT $LN7@deflate - -; 925 : _tr_stored_block(s, (char*)0, 0L, 0); - - 006e4 6a 00 push 0 - 006e6 6a 00 push 0 - 006e8 33 c9 xor ecx, ecx - 006ea 8b c6 mov eax, esi - 006ec e8 00 00 00 00 call __tr_stored_block - 006f1 83 c4 08 add esp, 8 - -; 926 : /* For a full flush, this empty block will be recognized -; 927 : * as a special marker by inflate_sync(). -; 928 : */ -; 929 : if (flush == Z_FULL_FLUSH) { - - 006f4 83 7d 0c 03 cmp DWORD PTR _flush$[ebp], 3 - 006f8 75 36 jne SHORT $LN7@deflate - -; 930 : CLEAR_HASH(s); /* forget history */ - - 006fa 8b 4e 4c mov ecx, DWORD PTR [esi+76] - 006fd 8b 56 44 mov edx, DWORD PTR [esi+68] - 00700 33 c0 xor eax, eax - 00702 66 89 44 4a fe mov WORD PTR [edx+ecx*2-2], ax - 00707 8b 4e 4c mov ecx, DWORD PTR [esi+76] - 0070a 8d 54 09 fe lea edx, DWORD PTR [ecx+ecx-2] - 0070e 52 push edx - 0070f 50 push eax - 00710 8b 46 44 mov eax, DWORD PTR [esi+68] - 00713 50 push eax - 00714 e8 00 00 00 00 call _memset - 00719 83 c4 0c add esp, 12 ; 0000000cH - -; 931 : if (s->lookahead == 0) { - - 0071c 83 7e 74 00 cmp DWORD PTR [esi+116], 0 - 00720 75 0e jne SHORT $LN7@deflate - -; 932 : s->strstart = 0; - - 00722 33 c0 xor eax, eax - 00724 89 46 6c mov DWORD PTR [esi+108], eax - -; 933 : s->block_start = 0L; - - 00727 89 46 5c mov DWORD PTR [esi+92], eax - -; 934 : s->insert = 0; - - 0072a 89 86 b4 16 00 - 00 mov DWORD PTR [esi+5812], eax -$LN7@deflate: - -; 935 : } -; 936 : } -; 937 : } -; 938 : flush_pending(strm); - - 00730 e8 00 00 00 00 call _flush_pending - -; 939 : if (strm->avail_out == 0) { - - 00735 83 7f 10 00 cmp DWORD PTR [edi+16], 0 - 00739 75 17 jne SHORT $LN6@deflate - -; 940 : s->last_flush = -1; /* avoid BUF_ERROR at next call, see above */ - - 0073b 5b pop ebx - 0073c 5f pop edi - 0073d c7 46 28 ff ff - ff ff mov DWORD PTR [esi+40], -1 - -; 941 : return Z_OK; - - 00744 33 c0 xor eax, eax - 00746 5e pop esi - -; 974 : } - - 00747 8b e5 mov esp, ebp - 00749 5d pop ebp - 0074a c2 08 00 ret 8 -$LN107@deflate: - -; 939 : if (strm->avail_out == 0) { - - 0074d bb 01 00 00 00 mov ebx, 1 -$LN6@deflate: - -; 942 : } -; 943 : } -; 944 : } -; 945 : Assert(strm->avail_out > 0, "bug2"); -; 946 : -; 947 : if (flush != Z_FINISH) return Z_OK; - - 00752 83 7d 0c 04 cmp DWORD PTR _flush$[ebp], 4 - 00756 0f 85 69 fe ff - ff jne $LN13@deflate - -; 948 : if (s->wrap <= 0) return Z_STREAM_END; - - 0075c 8b 46 18 mov eax, DWORD PTR [esi+24] - 0075f 85 c0 test eax, eax - 00761 7f 0b jg SHORT $LN4@deflate - 00763 8b c3 mov eax, ebx - 00765 5b pop ebx - 00766 5f pop edi - 00767 5e pop esi - -; 974 : } - - 00768 8b e5 mov esp, ebp - 0076a 5d pop ebp - 0076b c2 08 00 ret 8 -$LN4@deflate: - -; 949 : -; 950 : /* Write the trailer */ -; 951 : #ifdef GZIP -; 952 : if (s->wrap == 2) { - - 0076e 83 f8 02 cmp eax, 2 - 00771 0f 85 81 00 00 - 00 jne $LN3@deflate - -; 953 : put_byte(s, (Byte)(strm->adler & 0xff)); - - 00777 8b 56 14 mov edx, DWORD PTR [esi+20] - 0077a 8a 47 30 mov al, BYTE PTR [edi+48] - 0077d 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 00780 88 04 11 mov BYTE PTR [ecx+edx], al - 00783 01 5e 14 add DWORD PTR [esi+20], ebx - -; 954 : put_byte(s, (Byte)((strm->adler >> 8) & 0xff)); - - 00786 0f b6 57 31 movzx edx, BYTE PTR [edi+49] - 0078a 8b 46 14 mov eax, DWORD PTR [esi+20] - 0078d 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 00790 88 14 08 mov BYTE PTR [eax+ecx], dl - 00793 01 5e 14 add DWORD PTR [esi+20], ebx - -; 955 : put_byte(s, (Byte)((strm->adler >> 16) & 0xff)); - - 00796 0f b6 57 32 movzx edx, BYTE PTR [edi+50] - 0079a 8b 46 14 mov eax, DWORD PTR [esi+20] - 0079d 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 007a0 88 14 08 mov BYTE PTR [eax+ecx], dl - 007a3 01 5e 14 add DWORD PTR [esi+20], ebx - -; 956 : put_byte(s, (Byte)((strm->adler >> 24) & 0xff)); - - 007a6 0f b6 57 33 movzx edx, BYTE PTR [edi+51] - 007aa 8b 46 14 mov eax, DWORD PTR [esi+20] - 007ad 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 007b0 88 14 08 mov BYTE PTR [eax+ecx], dl - 007b3 01 5e 14 add DWORD PTR [esi+20], ebx - -; 957 : put_byte(s, (Byte)(strm->total_in & 0xff)); - - 007b6 0f b6 57 08 movzx edx, BYTE PTR [edi+8] - 007ba 8b 46 14 mov eax, DWORD PTR [esi+20] - 007bd 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 007c0 88 14 08 mov BYTE PTR [eax+ecx], dl - 007c3 01 5e 14 add DWORD PTR [esi+20], ebx - -; 958 : put_byte(s, (Byte)((strm->total_in >> 8) & 0xff)); - - 007c6 0f b6 57 09 movzx edx, BYTE PTR [edi+9] - 007ca 8b 46 14 mov eax, DWORD PTR [esi+20] - 007cd 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 007d0 88 14 08 mov BYTE PTR [eax+ecx], dl - 007d3 01 5e 14 add DWORD PTR [esi+20], ebx - -; 959 : put_byte(s, (Byte)((strm->total_in >> 16) & 0xff)); - - 007d6 0f b6 57 0a movzx edx, BYTE PTR [edi+10] - 007da 8b 46 14 mov eax, DWORD PTR [esi+20] - 007dd 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 007e0 88 14 08 mov BYTE PTR [eax+ecx], dl - 007e3 01 5e 14 add DWORD PTR [esi+20], ebx - -; 960 : put_byte(s, (Byte)((strm->total_in >> 24) & 0xff)); - - 007e6 0f b6 57 0b movzx edx, BYTE PTR [edi+11] - 007ea 8b 46 14 mov eax, DWORD PTR [esi+20] - 007ed 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 007f0 88 14 08 mov BYTE PTR [eax+ecx], dl - 007f3 01 5e 14 add DWORD PTR [esi+20], ebx - -; 961 : } -; 962 : else - - 007f6 eb 14 jmp SHORT $LN2@deflate -$LN3@deflate: - -; 963 : #endif -; 964 : { -; 965 : putShortMSB(s, (uInt)(strm->adler >> 16)); - - 007f8 0f b7 4f 32 movzx ecx, WORD PTR [edi+50] - 007fc 8b c6 mov eax, esi - 007fe e8 00 00 00 00 call _putShortMSB - -; 966 : putShortMSB(s, (uInt)(strm->adler & 0xffff)); - - 00803 0f b7 4f 30 movzx ecx, WORD PTR [edi+48] - 00807 e8 00 00 00 00 call _putShortMSB -$LN2@deflate: - -; 967 : } -; 968 : flush_pending(strm); - - 0080c e8 00 00 00 00 call _flush_pending - -; 969 : /* If avail_out is zero, the application will call deflate again -; 970 : * to flush the rest. -; 971 : */ -; 972 : if (s->wrap > 0) s->wrap = -s->wrap; /* write the trailer only once! */ - - 00811 8b 46 18 mov eax, DWORD PTR [esi+24] - 00814 85 c0 test eax, eax - 00816 7e 05 jle SHORT $LN1@deflate - 00818 f7 d8 neg eax - 0081a 89 46 18 mov DWORD PTR [esi+24], eax -$LN1@deflate: - -; 973 : return s->pending != 0 ? Z_OK : Z_STREAM_END; - - 0081d 33 c0 xor eax, eax - 0081f 39 46 14 cmp DWORD PTR [esi+20], eax - 00822 5b pop ebx - 00823 5f pop edi - 00824 0f 94 c0 sete al - 00827 5e pop esi - -; 974 : } - - 00828 8b e5 mov esp, ebp - 0082a 5d pop ebp - 0082b c2 08 00 ret 8 -$LN14@deflate: - -; 909 : if (strm->avail_out == 0) { - - 0082e 83 7f 10 00 cmp DWORD PTR [edi+16], 0 - 00832 0f 85 8d fd ff - ff jne $LN13@deflate - -; 940 : s->last_flush = -1; /* avoid BUF_ERROR at next call, see above */ - - 00838 5b pop ebx - 00839 5f pop edi - 0083a c7 46 28 ff ff - ff ff mov DWORD PTR [esi+40], -1 - -; 941 : return Z_OK; - - 00841 33 c0 xor eax, eax - 00843 5e pop esi - -; 974 : } - - 00844 8b e5 mov esp, ebp - 00846 5d pop ebp - 00847 c2 08 00 ret 8 -$LN80@deflate: - -; 679 : ERR_RETURN(strm, Z_STREAM_ERROR); - - 0084a c7 47 18 00 00 - 00 00 mov DWORD PTR [edi+24], OFFSET ??_C@_0N@MKKNPMJD@stream?5error?$AA@ -$LN82@deflate: - 00851 5f pop edi - 00852 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00857 5e pop esi - -; 974 : } - - 00858 8b e5 mov esp, ebp - 0085a 5d pop ebp - 0085b c2 08 00 ret 8 -_deflate@8 ENDP -_TEXT ENDS -PUBLIC _deflateParams@12 -; Function compile flags: /Ogtp -; COMDAT _deflateParams@12 -_TEXT SEGMENT -_err$ = -4 ; size = 4 -_strm$ = 8 ; size = 4 -_level$ = 12 ; size = 4 -_strategy$ = 16 ; size = 4 -_deflateParams@12 PROC ; COMDAT - -; 494 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - -; 495 : deflate_state *s; -; 496 : compress_func func; -; 497 : int err = Z_OK; -; 498 : -; 499 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00004 8b 55 08 mov edx, DWORD PTR _strm$[ebp] - 00007 56 push esi - 00008 c7 45 fc 00 00 - 00 00 mov DWORD PTR _err$[ebp], 0 - 0000f 85 d2 test edx, edx - 00011 0f 84 d5 00 00 - 00 je $LN7@deflatePar - 00017 8b 72 1c mov esi, DWORD PTR [edx+28] - 0001a 85 f6 test esi, esi - 0001c 0f 84 ca 00 00 - 00 je $LN7@deflatePar - -; 500 : s = strm->state; -; 501 : -; 502 : #ifdef FASTEST -; 503 : if (level != 0) level = 1; -; 504 : #else -; 505 : if (level == Z_DEFAULT_COMPRESSION) level = 6; - - 00022 53 push ebx - 00023 57 push edi - 00024 8b 7d 0c mov edi, DWORD PTR _level$[ebp] - 00027 83 ff ff cmp edi, -1 - 0002a 75 07 jne SHORT $LN6@deflatePar - 0002c bf 06 00 00 00 mov edi, 6 - -; 506 : #endif -; 507 : if (level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED) { - - 00031 eb 11 jmp SHORT $LN12@deflatePar -$LN6@deflatePar: - 00033 85 ff test edi, edi - 00035 0f 88 a3 00 00 - 00 js $LN4@deflatePar - 0003b 83 ff 09 cmp edi, 9 - 0003e 0f 8f 9a 00 00 - 00 jg $LN4@deflatePar -$LN12@deflatePar: - 00044 8b 5d 10 mov ebx, DWORD PTR _strategy$[ebp] - 00047 83 fb 04 cmp ebx, 4 - 0004a 0f 87 8e 00 00 - 00 ja $LN4@deflatePar - -; 511 : -; 512 : if ((strategy != s->strategy || func != configuration_table[level].func) && -; 513 : strm->total_in != 0) { - - 00050 3b 9e 88 00 00 - 00 cmp ebx, DWORD PTR [esi+136] - 00056 75 1c jne SHORT $LN2@deflatePar - -; 509 : } -; 510 : func = configuration_table[s->level].func; - - 00058 8b 8e 84 00 00 - 00 mov ecx, DWORD PTR [esi+132] - 0005e 8d 04 49 lea eax, DWORD PTR [ecx+ecx*2] - -; 511 : -; 512 : if ((strategy != s->strategy || func != configuration_table[level].func) && -; 513 : strm->total_in != 0) { - - 00061 8b 04 85 08 00 - 00 00 mov eax, DWORD PTR _configuration_table[eax*4+8] - 00068 8d 0c 7f lea ecx, DWORD PTR [edi+edi*2] - 0006b 3b 04 8d 08 00 - 00 00 cmp eax, DWORD PTR _configuration_table[ecx*4+8] - 00072 74 11 je SHORT $LN13@deflatePar -$LN2@deflatePar: - 00074 83 7a 08 00 cmp DWORD PTR [edx+8], 0 - 00078 74 0b je SHORT $LN13@deflatePar - -; 514 : /* Flush the last buffer: */ -; 515 : err = deflate(strm, Z_BLOCK); - - 0007a 6a 05 push 5 - 0007c 52 push edx - 0007d e8 00 00 00 00 call _deflate@8 - 00082 89 45 fc mov DWORD PTR _err$[ebp], eax -$LN13@deflatePar: - -; 516 : } -; 517 : if (s->level != level) { - - 00085 39 be 84 00 00 - 00 cmp DWORD PTR [esi+132], edi - 0008b 74 3f je SHORT $LN1@deflatePar - -; 518 : s->level = level; -; 519 : s->max_lazy_match = configuration_table[level].max_lazy; - - 0008d 8d 0c 7f lea ecx, DWORD PTR [edi+edi*2] - 00090 89 be 84 00 00 - 00 mov DWORD PTR [esi+132], edi - 00096 03 c9 add ecx, ecx - 00098 0f b7 94 09 02 - 00 00 00 movzx edx, WORD PTR _configuration_table[ecx+ecx+2] - 000a0 03 c9 add ecx, ecx - 000a2 89 96 80 00 00 - 00 mov DWORD PTR [esi+128], edx - -; 520 : s->good_match = configuration_table[level].good_length; - - 000a8 0f b7 81 00 00 - 00 00 movzx eax, WORD PTR _configuration_table[ecx] - 000af 89 86 8c 00 00 - 00 mov DWORD PTR [esi+140], eax - -; 521 : s->nice_match = configuration_table[level].nice_length; - - 000b5 0f b7 91 04 00 - 00 00 movzx edx, WORD PTR _configuration_table[ecx+4] - 000bc 89 96 90 00 00 - 00 mov DWORD PTR [esi+144], edx - -; 522 : s->max_chain_length = configuration_table[level].max_chain; - - 000c2 0f b7 81 06 00 - 00 00 movzx eax, WORD PTR _configuration_table[ecx+6] - 000c9 89 46 7c mov DWORD PTR [esi+124], eax -$LN1@deflatePar: - -; 523 : } -; 524 : s->strategy = strategy; -; 525 : return err; - - 000cc 8b 45 fc mov eax, DWORD PTR _err$[ebp] - 000cf 5f pop edi - 000d0 89 9e 88 00 00 - 00 mov DWORD PTR [esi+136], ebx - 000d6 5b pop ebx - 000d7 5e pop esi - -; 526 : } - - 000d8 8b e5 mov esp, ebp - 000da 5d pop ebp - 000db c2 0c 00 ret 12 ; 0000000cH -$LN4@deflatePar: - 000de 5f pop edi - 000df 5b pop ebx - -; 508 : return Z_STREAM_ERROR; - - 000e0 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 000e5 5e pop esi - -; 526 : } - - 000e6 8b e5 mov esp, ebp - 000e8 5d pop ebp - 000e9 c2 0c 00 ret 12 ; 0000000cH -$LN7@deflatePar: - -; 495 : deflate_state *s; -; 496 : compress_func func; -; 497 : int err = Z_OK; -; 498 : -; 499 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 000ec b8 fe ff ff ff mov eax, -2 ; fffffffeH - 000f1 5e pop esi - -; 526 : } - - 000f2 8b e5 mov esp, ebp - 000f4 5d pop ebp - 000f5 c2 0c 00 ret 12 ; 0000000cH -_deflateParams@12 ENDP -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/gzclose.cod b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/gzclose.cod deleted file mode 100644 index adea30e1..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/gzclose.cod +++ /dev/null @@ -1,79 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.30319.01 - - TITLE D:\FMU\FMUSolution\zlib-1.2.6\gzclose.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC _gzclose@4 -; Function compile flags: /Ogtp -; File d:\fmu\fmusolution\zlib-1.2.6\gzclose.c -; COMDAT _gzclose@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_gzclose@4 PROC ; COMDAT - -; 13 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 14 : #ifndef NO_GZCOMPRESS -; 15 : gz_statep state; -; 16 : -; 17 : if (file == NULL) - - 00003 8b 45 08 mov eax, DWORD PTR _file$[ebp] - 00006 85 c0 test eax, eax - 00008 75 09 jne SHORT $LN1@gzclose - -; 18 : return Z_STREAM_ERROR; - - 0000a b8 fe ff ff ff mov eax, -2 ; fffffffeH - -; 22 : #else -; 23 : return gzclose_r(file); -; 24 : #endif -; 25 : } - - 0000f 5d pop ebp - 00010 c2 04 00 ret 4 -$LN1@gzclose: - -; 19 : state = (gz_statep)file; -; 20 : -; 21 : return state->mode == GZ_READ ? gzclose_r(file) : gzclose_w(file); - - 00013 81 78 10 4f 1c - 00 00 cmp DWORD PTR [eax+16], 7247 ; 00001c4fH - 0001a 50 push eax - 0001b 75 09 jne SHORT $LN4@gzclose - 0001d e8 00 00 00 00 call _gzclose_r@4 - -; 22 : #else -; 23 : return gzclose_r(file); -; 24 : #endif -; 25 : } - - 00022 5d pop ebp - 00023 c2 04 00 ret 4 -$LN4@gzclose: - -; 19 : state = (gz_statep)file; -; 20 : -; 21 : return state->mode == GZ_READ ? gzclose_r(file) : gzclose_w(file); - - 00026 e8 00 00 00 00 call _gzclose_w@4 - -; 22 : #else -; 23 : return gzclose_r(file); -; 24 : #endif -; 25 : } - - 0002b 5d pop ebp - 0002c c2 04 00 ret 4 -_gzclose@4 ENDP -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/gzlib.cod b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/gzlib.cod deleted file mode 100644 index 69429a1c..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/gzlib.cod +++ /dev/null @@ -1,1978 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.30319.01 - - TITLE D:\FMU\FMUSolution\zlib-1.2.6\gzlib.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC ??_C@_07EBNKNFJN@?$DMfd?3?$CFd?$DO?$AA@ ; `string' -PUBLIC ??_C@_00CNPNBAHC@?$AA@ ; `string' -PUBLIC ??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ ; `string' -PUBLIC ??_C@_02LMMGGCAJ@?3?5?$AA@ ; `string' -EXTRN _sprintf:PROC -EXTRN _open:PROC -EXTRN __lseeki64:PROC -EXTRN _free:PROC -EXTRN _malloc:PROC -; COMDAT ??_C@_02LMMGGCAJ@?3?5?$AA@ -CONST SEGMENT -??_C@_02LMMGGCAJ@?3?5?$AA@ DB ': ', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ -CONST SEGMENT -??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ DB 'out of memory', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_00CNPNBAHC@?$AA@ -CONST SEGMENT -??_C@_00CNPNBAHC@?$AA@ DB 00H ; `string' -CONST ENDS -; COMDAT ??_C@_07EBNKNFJN@?$DMfd?3?$CFd?$DO?$AA@ -CONST SEGMENT -??_C@_07EBNKNFJN@?$DMfd?3?$CFd?$DO?$AA@ DB '', 00H ; `string' -PUBLIC _gz_error -; Function compile flags: /Ogtp -; File d:\fmu\fmusolution\zlib-1.2.6\gzlib.c -; COMDAT _gz_error -_TEXT SEGMENT -_msg$ = 8 ; size = 4 -_gz_error PROC ; COMDAT -; _state$ = ecx -; _err$ = eax - -; 512 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - 00004 57 push edi - 00005 8b f9 mov edi, ecx - 00007 8b f0 mov esi, eax - -; 513 : /* free previously allocated message and clear */ -; 514 : if (state->msg != NULL) { - - 00009 8b 47 60 mov eax, DWORD PTR [edi+96] - 0000c 85 c0 test eax, eax - 0000e 74 16 je SHORT $LN16@gz_error - -; 515 : if (state->err != Z_MEM_ERROR) - - 00010 83 7f 5c fc cmp DWORD PTR [edi+92], -4 ; fffffffcH - 00014 74 09 je SHORT $LN5@gz_error - -; 516 : free(state->msg); - - 00016 50 push eax - 00017 e8 00 00 00 00 call _free - 0001c 83 c4 04 add esp, 4 -$LN5@gz_error: - -; 517 : state->msg = NULL; - - 0001f c7 47 60 00 00 - 00 00 mov DWORD PTR [edi+96], 0 -$LN16@gz_error: - -; 518 : } -; 519 : -; 520 : /* if fatal, set state->x.have to 0 so that the gzgetc() macro fails */ -; 521 : if (err != Z_OK && err != Z_BUF_ERROR) - - 00026 85 f6 test esi, esi - 00028 74 0b je SHORT $LN4@gz_error - 0002a 83 fe fb cmp esi, -5 ; fffffffbH - 0002d 74 06 je SHORT $LN4@gz_error - -; 522 : state->x.have = 0; - - 0002f c7 07 00 00 00 - 00 mov DWORD PTR [edi], 0 -$LN4@gz_error: - -; 523 : -; 524 : /* set error code, and if no message, then done */ -; 525 : state->err = err; -; 526 : if (msg == NULL) - - 00035 8b 45 08 mov eax, DWORD PTR _msg$[ebp] - 00038 89 77 5c mov DWORD PTR [edi+92], esi - 0003b 85 c0 test eax, eax - 0003d 0f 84 b5 00 00 - 00 je $LN7@gz_error - -; 527 : return; -; 528 : -; 529 : /* for an out of memory error, save as static string */ -; 530 : if (err == Z_MEM_ERROR) { - - 00043 83 fe fc cmp esi, -4 ; fffffffcH - 00046 75 07 jne SHORT $LN2@gz_error - -; 531 : state->msg = (char *)msg; - - 00048 89 47 60 mov DWORD PTR [edi+96], eax - 0004b 5f pop edi - 0004c 5e pop esi - -; 544 : return; -; 545 : } - - 0004d 5d pop ebp - 0004e c3 ret 0 -$LN2@gz_error: - 0004f 53 push ebx - -; 532 : return; -; 533 : } -; 534 : -; 535 : /* construct error message with path */ -; 536 : if ((state->msg = malloc(strlen(state->path) + strlen(msg) + 3)) == NULL) { - - 00050 8b 5f 18 mov ebx, DWORD PTR [edi+24] - 00053 8b c3 mov eax, ebx - 00055 8d 50 01 lea edx, DWORD PTR [eax+1] -$LL11@gz_error: - 00058 8a 08 mov cl, BYTE PTR [eax] - 0005a 40 inc eax - 0005b 84 c9 test cl, cl - 0005d 75 f9 jne SHORT $LL11@gz_error - 0005f 2b c2 sub eax, edx - 00061 8b d0 mov edx, eax - 00063 8b 45 08 mov eax, DWORD PTR _msg$[ebp] - 00066 8d 70 01 lea esi, DWORD PTR [eax+1] - 00069 8d a4 24 00 00 - 00 00 npad 7 -$LL12@gz_error: - 00070 8a 08 mov cl, BYTE PTR [eax] - 00072 40 inc eax - 00073 84 c9 test cl, cl - 00075 75 f9 jne SHORT $LL12@gz_error - 00077 2b c6 sub eax, esi - 00079 8d 44 10 03 lea eax, DWORD PTR [eax+edx+3] - 0007d 50 push eax - 0007e e8 00 00 00 00 call _malloc - 00083 83 c4 04 add esp, 4 - 00086 89 47 60 mov DWORD PTR [edi+96], eax - 00089 85 c0 test eax, eax - 0008b 75 13 jne SHORT $LN1@gz_error - -; 537 : state->err = Z_MEM_ERROR; - - 0008d 5b pop ebx - 0008e c7 47 5c fc ff - ff ff mov DWORD PTR [edi+92], -4 ; fffffffcH - -; 538 : state->msg = (char *)"out of memory"; - - 00095 c7 47 60 00 00 - 00 00 mov DWORD PTR [edi+96], OFFSET ??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ - 0009c 5f pop edi - 0009d 5e pop esi - -; 544 : return; -; 545 : } - - 0009e 5d pop ebp - 0009f c3 ret 0 -$LN1@gz_error: - -; 539 : return; -; 540 : } -; 541 : strcpy(state->msg, state->path); - - 000a0 8b cb mov ecx, ebx - 000a2 8b d0 mov edx, eax -$LL9@gz_error: - 000a4 8a 01 mov al, BYTE PTR [ecx] - 000a6 88 02 mov BYTE PTR [edx], al - 000a8 41 inc ecx - 000a9 42 inc edx - 000aa 84 c0 test al, al - 000ac 75 f6 jne SHORT $LL9@gz_error - -; 542 : strcat(state->msg, ": "); - - 000ae 8b 47 60 mov eax, DWORD PTR [edi+96] - 000b1 48 dec eax -$LL13@gz_error: - 000b2 8a 48 01 mov cl, BYTE PTR [eax+1] - 000b5 40 inc eax - 000b6 84 c9 test cl, cl - 000b8 75 f8 jne SHORT $LL13@gz_error - 000ba 66 8b 0d 00 00 - 00 00 mov cx, WORD PTR ??_C@_02LMMGGCAJ@?3?5?$AA@ - 000c1 66 89 08 mov WORD PTR [eax], cx - 000c4 8a 15 02 00 00 - 00 mov dl, BYTE PTR ??_C@_02LMMGGCAJ@?3?5?$AA@+2 - 000ca 88 50 02 mov BYTE PTR [eax+2], dl - -; 543 : strcat(state->msg, msg); - - 000cd 8b 45 08 mov eax, DWORD PTR _msg$[ebp] - 000d0 8b c8 mov ecx, eax -$LL14@gz_error: - 000d2 8a 10 mov dl, BYTE PTR [eax] - 000d4 40 inc eax - 000d5 84 d2 test dl, dl - 000d7 75 f9 jne SHORT $LL14@gz_error - 000d9 8b 7f 60 mov edi, DWORD PTR [edi+96] - 000dc 2b c1 sub eax, ecx - 000de 8b f1 mov esi, ecx - 000e0 4f dec edi -$LL15@gz_error: - 000e1 8a 4f 01 mov cl, BYTE PTR [edi+1] - 000e4 47 inc edi - 000e5 84 c9 test cl, cl - 000e7 75 f8 jne SHORT $LL15@gz_error - 000e9 8b c8 mov ecx, eax - 000eb c1 e9 02 shr ecx, 2 - 000ee f3 a5 rep movsd - 000f0 8b c8 mov ecx, eax - 000f2 83 e1 03 and ecx, 3 - 000f5 f3 a4 rep movsb - 000f7 5b pop ebx -$LN7@gz_error: - 000f8 5f pop edi - 000f9 5e pop esi - -; 544 : return; -; 545 : } - - 000fa 5d pop ebp - 000fb c3 ret 0 -_gz_error ENDP -_TEXT ENDS -PUBLIC _gzclearerr@4 -; Function compile flags: /Ogtp -; COMDAT _gzclearerr@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_gzclearerr@4 PROC ; COMDAT - -; 484 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 485 : gz_statep state; -; 486 : -; 487 : /* get internal structure and check integrity */ -; 488 : if (file == NULL) - - 00003 8b 4d 08 mov ecx, DWORD PTR _file$[ebp] - 00006 33 d2 xor edx, edx - 00008 3b ca cmp ecx, edx - 0000a 74 29 je SHORT $LN4@gzclearerr - -; 489 : return; -; 490 : state = (gz_statep)file; -; 491 : if (state->mode != GZ_READ && state->mode != GZ_WRITE) - - 0000c 8b 41 10 mov eax, DWORD PTR [ecx+16] - 0000f 3d 4f 1c 00 00 cmp eax, 7247 ; 00001c4fH - 00014 74 0e je SHORT $LN7@gzclearerr - 00016 3d b1 79 00 00 cmp eax, 31153 ; 000079b1H - 0001b 75 18 jne SHORT $LN4@gzclearerr - -; 492 : return; -; 493 : -; 494 : /* clear error and end-of-file */ -; 495 : if (state->mode == GZ_READ) { - - 0001d 3d 4f 1c 00 00 cmp eax, 7247 ; 00001c4fH - 00022 75 06 jne SHORT $LN1@gzclearerr -$LN7@gzclearerr: - -; 496 : state->eof = 0; - - 00024 89 51 40 mov DWORD PTR [ecx+64], edx - -; 497 : state->past = 0; - - 00027 89 51 44 mov DWORD PTR [ecx+68], edx -$LN1@gzclearerr: - -; 498 : } -; 499 : gz_error(state, Z_OK, NULL); - - 0002a 52 push edx - 0002b 33 c0 xor eax, eax - 0002d e8 00 00 00 00 call _gz_error - 00032 83 c4 04 add esp, 4 -$LN4@gzclearerr: - -; 500 : } - - 00035 5d pop ebp - 00036 c2 04 00 ret 4 -_gzclearerr@4 ENDP -_TEXT ENDS -PUBLIC _gzerror@8 -; Function compile flags: /Ogtp -; COMDAT _gzerror@8 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_errnum$ = 12 ; size = 4 -_gzerror@8 PROC ; COMDAT - -; 465 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 466 : gz_statep state; -; 467 : -; 468 : /* get internal structure and check integrity */ -; 469 : if (file == NULL) - - 00003 8b 45 08 mov eax, DWORD PTR _file$[ebp] - 00006 85 c0 test eax, eax - 00008 75 06 jne SHORT $LN3@gzerror -$LN8@gzerror: - -; 470 : return NULL; - - 0000a 33 c0 xor eax, eax - -; 479 : } - - 0000c 5d pop ebp - 0000d c2 08 00 ret 8 -$LN3@gzerror: - -; 471 : state = (gz_statep)file; -; 472 : if (state->mode != GZ_READ && state->mode != GZ_WRITE) - - 00010 8b 48 10 mov ecx, DWORD PTR [eax+16] - 00013 81 f9 4f 1c 00 - 00 cmp ecx, 7247 ; 00001c4fH - 00019 74 08 je SHORT $LN2@gzerror - 0001b 81 f9 b1 79 00 - 00 cmp ecx, 31153 ; 000079b1H - -; 473 : return NULL; - - 00021 75 e7 jne SHORT $LN8@gzerror -$LN2@gzerror: - -; 474 : -; 475 : /* return error information */ -; 476 : if (errnum != NULL) - - 00023 8b 4d 0c mov ecx, DWORD PTR _errnum$[ebp] - 00026 85 c9 test ecx, ecx - 00028 74 05 je SHORT $LN1@gzerror - -; 477 : *errnum = state->err; - - 0002a 8b 50 5c mov edx, DWORD PTR [eax+92] - 0002d 89 11 mov DWORD PTR [ecx], edx -$LN1@gzerror: - -; 478 : return state->msg == NULL ? "" : state->msg; - - 0002f 8b 40 60 mov eax, DWORD PTR [eax+96] - 00032 85 c0 test eax, eax - 00034 75 05 jne SHORT $LN4@gzerror - 00036 b8 00 00 00 00 mov eax, OFFSET ??_C@_00CNPNBAHC@?$AA@ -$LN4@gzerror: - -; 479 : } - - 0003b 5d pop ebp - 0003c c2 08 00 ret 8 -_gzerror@8 ENDP -_TEXT ENDS -PUBLIC _gzeof@4 -; Function compile flags: /Ogtp -; COMDAT _gzeof@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_gzeof@4 PROC ; COMDAT - -; 447 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 448 : gz_statep state; -; 449 : -; 450 : /* get internal structure and check integrity */ -; 451 : if (file == NULL) - - 00003 8b 4d 08 mov ecx, DWORD PTR _file$[ebp] - 00006 85 c9 test ecx, ecx - -; 452 : return 0; - - 00008 74 1f je SHORT $LN5@gzeof - -; 453 : state = (gz_statep)file; -; 454 : if (state->mode != GZ_READ && state->mode != GZ_WRITE) - - 0000a 8b 41 10 mov eax, DWORD PTR [ecx+16] - 0000d 3d 4f 1c 00 00 cmp eax, 7247 ; 00001c4fH - 00012 74 0e je SHORT $LN8@gzeof - 00014 3d b1 79 00 00 cmp eax, 31153 ; 000079b1H - -; 455 : return 0; - - 00019 75 0e jne SHORT $LN5@gzeof - -; 456 : -; 457 : /* return end-of-file state */ -; 458 : return state->mode == GZ_READ ? state->past : 0; - - 0001b 3d 4f 1c 00 00 cmp eax, 7247 ; 00001c4fH - 00020 75 07 jne SHORT $LN5@gzeof -$LN8@gzeof: - 00022 8b 41 44 mov eax, DWORD PTR [ecx+68] - -; 459 : } - - 00025 5d pop ebp - 00026 c2 04 00 ret 4 -$LN5@gzeof: - -; 456 : -; 457 : /* return end-of-file state */ -; 458 : return state->mode == GZ_READ ? state->past : 0; - - 00029 33 c0 xor eax, eax - -; 459 : } - - 0002b 5d pop ebp - 0002c c2 04 00 ret 4 -_gzeof@4 ENDP -_TEXT ENDS -PUBLIC _gzoffset64@4 -; Function compile flags: /Ogtp -; COMDAT _gzoffset64@4 -_TEXT SEGMENT -_gzoffset64@4 PROC ; COMDAT -; _file$ = esi - -; 415 : z_off64_t offset; -; 416 : gz_statep state; -; 417 : -; 418 : /* get internal structure and check integrity */ -; 419 : if (file == NULL) - - 00000 85 f6 test esi, esi - 00002 75 06 jne SHORT $LN4@gzoffset64 -$LN7@gzoffset64: - -; 420 : return -1; - - 00004 83 c8 ff or eax, -1 - 00007 0b d0 or edx, eax - -; 431 : return offset; -; 432 : } - - 00009 c3 ret 0 -$LN4@gzoffset64: - -; 421 : state = (gz_statep)file; -; 422 : if (state->mode != GZ_READ && state->mode != GZ_WRITE) - - 0000a 8b 46 10 mov eax, DWORD PTR [esi+16] - 0000d 3d 4f 1c 00 00 cmp eax, 7247 ; 00001c4fH - 00012 74 07 je SHORT $LN3@gzoffset64 - 00014 3d b1 79 00 00 cmp eax, 31153 ; 000079b1H - -; 423 : return -1; - - 00019 75 e9 jne SHORT $LN7@gzoffset64 -$LN3@gzoffset64: - -; 424 : -; 425 : /* compute and return effective offset in file */ -; 426 : offset = LSEEK(state->fd, 0, SEEK_CUR); - - 0001b 8b 46 14 mov eax, DWORD PTR [esi+20] - 0001e 6a 01 push 1 - 00020 6a 00 push 0 - 00022 50 push eax - 00023 e8 00 00 00 00 call __lseeki64 - 00028 99 cdq - -; 427 : if (offset == -1) - - 00029 8b c8 mov ecx, eax - 0002b 23 ca and ecx, edx - 0002d 83 c4 0c add esp, 12 ; 0000000cH - 00030 83 f9 ff cmp ecx, -1 - -; 428 : return -1; - - 00033 74 cf je SHORT $LN7@gzoffset64 - -; 429 : if (state->mode == GZ_READ) /* reading */ - - 00035 81 7e 10 4f 1c - 00 00 cmp DWORD PTR [esi+16], 7247 ; 00001c4fH - 0003c 75 06 jne SHORT $LN5@gzoffset64 - -; 430 : offset -= state->strm.avail_in; /* don't count buffered input */ - - 0003e 2b 46 68 sub eax, DWORD PTR [esi+104] - 00041 83 da 00 sbb edx, 0 -$LN5@gzoffset64: - -; 431 : return offset; -; 432 : } - - 00044 c3 ret 0 -_gzoffset64@4 ENDP -_TEXT ENDS -PUBLIC _gztell64@4 -; Function compile flags: /Ogtp -; COMDAT _gztell64@4 -_TEXT SEGMENT -_gztell64@4 PROC ; COMDAT -; _file$ = ecx - -; 388 : gz_statep state; -; 389 : -; 390 : /* get internal structure and check integrity */ -; 391 : if (file == NULL) - - 00000 85 c9 test ecx, ecx - 00002 75 06 jne SHORT $LN2@gztell64 -$LN7@gztell64: - -; 392 : return -1; - - 00004 83 c8 ff or eax, -1 - 00007 0b d0 or edx, eax - -; 399 : } - - 00009 c3 ret 0 -$LN2@gztell64: - -; 393 : state = (gz_statep)file; -; 394 : if (state->mode != GZ_READ && state->mode != GZ_WRITE) - - 0000a 8b 41 10 mov eax, DWORD PTR [ecx+16] - 0000d 3d 4f 1c 00 00 cmp eax, 7247 ; 00001c4fH - 00012 74 07 je SHORT $LN1@gztell64 - 00014 3d b1 79 00 00 cmp eax, 31153 ; 000079b1H - -; 395 : return -1; - - 00019 75 e9 jne SHORT $LN7@gztell64 -$LN1@gztell64: - -; 396 : -; 397 : /* return position */ -; 398 : return state->x.pos + (state->seek ? state->skip : 0); - - 0001b 83 79 58 00 cmp DWORD PTR [ecx+88], 0 - 0001f 56 push esi - 00020 74 12 je SHORT $LN5@gztell64 - 00022 8b 51 50 mov edx, DWORD PTR [ecx+80] - 00025 8b 41 08 mov eax, DWORD PTR [ecx+8] - 00028 8b 71 54 mov esi, DWORD PTR [ecx+84] - 0002b 03 c2 add eax, edx - 0002d 8b 51 0c mov edx, DWORD PTR [ecx+12] - 00030 13 d6 adc edx, esi - 00032 5e pop esi - -; 399 : } - - 00033 c3 ret 0 -$LN5@gztell64: - -; 396 : -; 397 : /* return position */ -; 398 : return state->x.pos + (state->seek ? state->skip : 0); - - 00034 8b 41 08 mov eax, DWORD PTR [ecx+8] - 00037 33 d2 xor edx, edx - 00039 33 f6 xor esi, esi - 0003b 03 c2 add eax, edx - 0003d 8b 51 0c mov edx, DWORD PTR [ecx+12] - 00040 13 d6 adc edx, esi - 00042 5e pop esi - -; 399 : } - - 00043 c3 ret 0 -_gztell64@4 ENDP -_TEXT ENDS -PUBLIC _gzbuffer@8 -; Function compile flags: /Ogtp -; COMDAT _gzbuffer@8 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_size$ = 12 ; size = 4 -_gzbuffer@8 PROC ; COMDAT - -; 251 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 252 : gz_statep state; -; 253 : -; 254 : /* get internal structure and check integrity */ -; 255 : if (file == NULL) - - 00003 8b 4d 08 mov ecx, DWORD PTR _file$[ebp] - 00006 85 c9 test ecx, ecx - 00008 75 07 jne SHORT $LN4@gzbuffer -$LN7@gzbuffer: - -; 256 : return -1; - - 0000a 83 c8 ff or eax, -1 - -; 270 : } - - 0000d 5d pop ebp - 0000e c2 08 00 ret 8 -$LN4@gzbuffer: - -; 257 : state = (gz_statep)file; -; 258 : if (state->mode != GZ_READ && state->mode != GZ_WRITE) - - 00011 8b 41 10 mov eax, DWORD PTR [ecx+16] - 00014 3d 4f 1c 00 00 cmp eax, 7247 ; 00001c4fH - 00019 74 07 je SHORT $LN3@gzbuffer - 0001b 3d b1 79 00 00 cmp eax, 31153 ; 000079b1H - -; 259 : return -1; - - 00020 75 e8 jne SHORT $LN7@gzbuffer -$LN3@gzbuffer: - -; 260 : -; 261 : /* make sure we haven't already allocated memory */ -; 262 : if (state->size != 0) - - 00022 83 79 1c 00 cmp DWORD PTR [ecx+28], 0 - -; 263 : return -1; - - 00026 75 e2 jne SHORT $LN7@gzbuffer - -; 264 : -; 265 : /* check and set requested size */ -; 266 : if (size < 2) - - 00028 8b 45 0c mov eax, DWORD PTR _size$[ebp] - 0002b 83 f8 02 cmp eax, 2 - 0002e 73 05 jae SHORT $LN1@gzbuffer - -; 267 : size = 2; /* need two bytes to check magic header */ - - 00030 b8 02 00 00 00 mov eax, 2 -$LN1@gzbuffer: - -; 268 : state->want = size; - - 00035 89 41 20 mov DWORD PTR [ecx+32], eax - -; 269 : return 0; - - 00038 33 c0 xor eax, eax - -; 270 : } - - 0003a 5d pop ebp - 0003b c2 08 00 ret 8 -_gzbuffer@8 ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _gz_reset -_TEXT SEGMENT -_gz_reset PROC ; COMDAT -; _state$ = esi - -; 77 : { - - 00000 57 push edi - -; 78 : state->x.have = 0; /* no output data available */ - - 00001 33 ff xor edi, edi - -; 79 : if (state->mode == GZ_READ) { /* for reading ... */ - - 00003 81 7e 10 4f 1c - 00 00 cmp DWORD PTR [esi+16], 7247 ; 00001c4fH - 0000a 89 3e mov DWORD PTR [esi], edi - 0000c 75 09 jne SHORT $LN1@gz_reset - -; 80 : state->eof = 0; /* not at end of file */ - - 0000e 89 7e 40 mov DWORD PTR [esi+64], edi - -; 81 : state->past = 0; /* have not read past end yet */ - - 00011 89 7e 44 mov DWORD PTR [esi+68], edi - -; 82 : state->how = LOOK; /* look for gzip header */ - - 00014 89 7e 30 mov DWORD PTR [esi+48], edi -$LN1@gz_reset: - -; 83 : } -; 84 : state->seek = 0; /* no seek request pending */ -; 85 : gz_error(state, Z_OK, NULL); /* clear error */ - - 00017 57 push edi - 00018 33 c0 xor eax, eax - 0001a 8b ce mov ecx, esi - 0001c 89 7e 58 mov DWORD PTR [esi+88], edi - 0001f e8 00 00 00 00 call _gz_error - 00024 83 c4 04 add esp, 4 - -; 86 : state->x.pos = 0; /* no uncompressed data yet */ - - 00027 89 7e 08 mov DWORD PTR [esi+8], edi - 0002a 89 7e 0c mov DWORD PTR [esi+12], edi - -; 87 : state->strm.avail_in = 0; /* no input data yet */ - - 0002d 89 7e 68 mov DWORD PTR [esi+104], edi - 00030 5f pop edi - -; 88 : } - - 00031 c3 ret 0 -_gz_reset ENDP -PUBLIC _gzoffset@4 -; Function compile flags: /Ogtp -; COMDAT _gzoffset@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_gzoffset@4 PROC ; COMDAT - -; 437 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 51 push ecx - 00007 56 push esi - -; 438 : z_off64_t ret; -; 439 : -; 440 : ret = gzoffset64(file); - - 00008 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 0000b e8 00 00 00 00 call _gzoffset64@4 - 00010 8b c8 mov ecx, eax - 00012 8b f2 mov esi, edx - -; 441 : return ret == (z_off_t)ret ? (z_off_t)ret : -1; - - 00014 99 cdq - 00015 3b c8 cmp ecx, eax - 00017 75 0d jne SHORT $LN3@gzoffset - 00019 3b f2 cmp esi, edx - 0001b 75 09 jne SHORT $LN3@gzoffset - 0001d 8b c1 mov eax, ecx - -; 442 : } - - 0001f 5e pop esi - 00020 8b e5 mov esp, ebp - 00022 5d pop ebp - 00023 c2 04 00 ret 4 -$LN3@gzoffset: - -; 441 : return ret == (z_off_t)ret ? (z_off_t)ret : -1; - - 00026 83 c8 ff or eax, -1 - -; 442 : } - - 00029 5e pop esi - 0002a 8b e5 mov esp, ebp - 0002c 5d pop ebp - 0002d c2 04 00 ret 4 -_gzoffset@4 ENDP -_TEXT ENDS -PUBLIC _gztell@4 -; Function compile flags: /Ogtp -; COMDAT _gztell@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_gztell@4 PROC ; COMDAT - -; 404 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 405 : z_off64_t ret; -; 406 : -; 407 : ret = gztell64(file); - - 00003 8b 4d 08 mov ecx, DWORD PTR _file$[ebp] - 00006 56 push esi - 00007 e8 00 00 00 00 call _gztell64@4 - 0000c 8b c8 mov ecx, eax - 0000e 8b f2 mov esi, edx - -; 408 : return ret == (z_off_t)ret ? (z_off_t)ret : -1; - - 00010 99 cdq - 00011 3b c8 cmp ecx, eax - 00013 75 0b jne SHORT $LN3@gztell - 00015 3b f2 cmp esi, edx - 00017 75 07 jne SHORT $LN3@gztell - 00019 8b c1 mov eax, ecx - 0001b 5e pop esi - -; 409 : } - - 0001c 5d pop ebp - 0001d c2 04 00 ret 4 -$LN3@gztell: - -; 408 : return ret == (z_off_t)ret ? (z_off_t)ret : -1; - - 00020 83 c8 ff or eax, -1 - 00023 5e pop esi - -; 409 : } - - 00024 5d pop ebp - 00025 c2 04 00 ret 4 -_gztell@4 ENDP -_TEXT ENDS -PUBLIC _gzrewind@4 -; Function compile flags: /Ogtp -; COMDAT _gzrewind@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_gzrewind@4 PROC ; COMDAT - -; 275 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 51 push ecx - 00007 56 push esi - -; 276 : gz_statep state; -; 277 : -; 278 : /* get internal structure */ -; 279 : if (file == NULL) - - 00008 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 0000b 85 f6 test esi, esi - -; 280 : return -1; - - 0000d 74 3e je SHORT $LN2@gzrewind - -; 281 : state = (gz_statep)file; -; 282 : -; 283 : /* check that we're reading and that there's no error */ -; 284 : if (state->mode != GZ_READ || -; 285 : (state->err != Z_OK && state->err != Z_BUF_ERROR)) - - 0000f 81 7e 10 4f 1c - 00 00 cmp DWORD PTR [esi+16], 7247 ; 00001c4fH - 00016 75 35 jne SHORT $LN2@gzrewind - 00018 8b 46 5c mov eax, DWORD PTR [esi+92] - 0001b 85 c0 test eax, eax - 0001d 74 05 je SHORT $LN3@gzrewind - 0001f 83 f8 fb cmp eax, -5 ; fffffffbH - 00022 75 29 jne SHORT $LN2@gzrewind -$LN3@gzrewind: - -; 287 : -; 288 : /* back up and start over */ -; 289 : if (LSEEK(state->fd, state->start, SEEK_SET) == -1) - - 00024 8b 46 3c mov eax, DWORD PTR [esi+60] - 00027 8b 4e 38 mov ecx, DWORD PTR [esi+56] - 0002a 8b 56 14 mov edx, DWORD PTR [esi+20] - 0002d 6a 00 push 0 - 0002f 50 push eax - 00030 51 push ecx - 00031 52 push edx - 00032 e8 00 00 00 00 call __lseeki64 - 00037 83 c4 10 add esp, 16 ; 00000010H - 0003a 83 f8 ff cmp eax, -1 - -; 290 : return -1; - - 0003d 74 0e je SHORT $LN2@gzrewind - -; 291 : gz_reset(state); - - 0003f e8 00 00 00 00 call _gz_reset - -; 292 : return 0; - - 00044 33 c0 xor eax, eax - -; 293 : } - - 00046 5e pop esi - 00047 8b e5 mov esp, ebp - 00049 5d pop ebp - 0004a c2 04 00 ret 4 -$LN2@gzrewind: - -; 286 : return -1; - - 0004d 83 c8 ff or eax, -1 - -; 293 : } - - 00050 5e pop esi - 00051 8b e5 mov esp, ebp - 00053 5d pop ebp - 00054 c2 04 00 ret 4 -_gzrewind@4 ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _gz_open -_TEXT SEGMENT -_path$ = 8 ; size = 4 -_fd$ = 12 ; size = 4 -_gz_open PROC ; COMDAT -; _mode$ = eax - -; 95 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - 00004 57 push edi - -; 96 : gz_statep state; -; 97 : -; 98 : /* check input */ -; 99 : if (path == NULL) - - 00005 33 ff xor edi, edi - 00007 8b d8 mov ebx, eax - 00009 39 7d 08 cmp DWORD PTR _path$[ebp], edi - 0000c 75 06 jne SHORT $LN27@gz_open - -; 100 : return NULL; - - 0000e 5f pop edi - 0000f 33 c0 xor eax, eax - 00011 5b pop ebx - -; 213 : } - - 00012 5d pop ebp - 00013 c3 ret 0 -$LN27@gz_open: - 00014 56 push esi - -; 101 : -; 102 : /* allocate gzFile structure to return */ -; 103 : state = malloc(sizeof(gz_state)); - - 00015 68 a0 00 00 00 push 160 ; 000000a0H - 0001a e8 00 00 00 00 call _malloc - 0001f 8b f0 mov esi, eax - 00021 83 c4 04 add esp, 4 - -; 104 : if (state == NULL) - - 00024 3b f7 cmp esi, edi - -; 105 : return NULL; - - 00026 0f 84 59 01 00 - 00 je $LN42@gz_open - -; 106 : state->size = 0; /* no buffers allocated yet */ -; 107 : state->want = GZBUFSIZE; /* requested buffer size */ -; 108 : state->msg = NULL; /* no error message yet */ -; 109 : -; 110 : /* interpret mode */ -; 111 : state->mode = GZ_NONE; -; 112 : state->level = Z_DEFAULT_COMPRESSION; -; 113 : state->strategy = Z_DEFAULT_STRATEGY; -; 114 : state->direct = 0; -; 115 : while (*mode) { - - 0002c 8a 03 mov al, BYTE PTR [ebx] - 0002e 89 7e 1c mov DWORD PTR [esi+28], edi - 00031 c7 46 20 00 20 - 00 00 mov DWORD PTR [esi+32], 8192 ; 00002000H - 00038 89 7e 60 mov DWORD PTR [esi+96], edi - 0003b 89 7e 10 mov DWORD PTR [esi+16], edi - 0003e c7 46 48 ff ff - ff ff mov DWORD PTR [esi+72], -1 - 00045 89 7e 4c mov DWORD PTR [esi+76], edi - 00048 89 7e 2c mov DWORD PTR [esi+44], edi - 0004b 84 c0 test al, al - 0004d 74 78 je SHORT $LN24@gz_open - 0004f ba 03 00 00 00 mov edx, 3 - 00054 8d 4a 01 lea ecx, DWORD PTR [edx+1] -$LL25@gz_open: - -; 116 : if (*mode >= '0' && *mode <= '9') - - 00057 3c 30 cmp al, 48 ; 00000030H - 00059 7c 0f jl SHORT $LN23@gz_open - 0005b 3c 39 cmp al, 57 ; 00000039H - 0005d 7f 0b jg SHORT $LN23@gz_open - -; 117 : state->level = *mode - '0'; - - 0005f 0f be c0 movsx eax, al - 00062 83 e8 30 sub eax, 48 ; 00000030H - 00065 89 46 48 mov DWORD PTR [esi+72], eax - -; 118 : else - - 00068 eb 55 jmp SHORT $LN40@gz_open -$LN23@gz_open: - -; 119 : switch (*mode) { - - 0006a 0f be c0 movsx eax, al - 0006d 83 c0 d5 add eax, -43 ; ffffffd5H - 00070 83 f8 4c cmp eax, 76 ; 0000004cH - 00073 77 4a ja SHORT $LN40@gz_open - 00075 0f b6 80 00 00 - 00 00 movzx eax, BYTE PTR $LN38@gz_open[eax] - 0007c ff 24 85 00 00 - 00 00 jmp DWORD PTR $LN44@gz_open[eax*4] -$LN19@gz_open: - -; 120 : case 'r': -; 121 : state->mode = GZ_READ; - - 00083 c7 46 10 4f 1c - 00 00 mov DWORD PTR [esi+16], 7247 ; 00001c4fH - -; 122 : break; - - 0008a eb 33 jmp SHORT $LN40@gz_open -$LN18@gz_open: - -; 123 : #ifndef NO_GZCOMPRESS -; 124 : case 'w': -; 125 : state->mode = GZ_WRITE; - - 0008c c7 46 10 b1 79 - 00 00 mov DWORD PTR [esi+16], 31153 ; 000079b1H - -; 126 : break; - - 00093 eb 2a jmp SHORT $LN40@gz_open -$LN17@gz_open: - -; 127 : case 'a': -; 128 : state->mode = GZ_APPEND; - - 00095 c7 46 10 01 00 - 00 00 mov DWORD PTR [esi+16], 1 - -; 129 : break; - - 0009c eb 21 jmp SHORT $LN40@gz_open -$LN14@gz_open: - -; 130 : #endif -; 131 : case '+': /* can't read and write at the same time */ -; 132 : free(state); -; 133 : return NULL; -; 134 : case 'b': /* ignore -- will request binary anyway */ -; 135 : break; -; 136 : case 'f': -; 137 : state->strategy = Z_FILTERED; - - 0009e c7 46 4c 01 00 - 00 00 mov DWORD PTR [esi+76], 1 - -; 138 : break; - - 000a5 eb 18 jmp SHORT $LN40@gz_open -$LN13@gz_open: - -; 139 : case 'h': -; 140 : state->strategy = Z_HUFFMAN_ONLY; - - 000a7 c7 46 4c 02 00 - 00 00 mov DWORD PTR [esi+76], 2 - -; 141 : break; - - 000ae eb 0f jmp SHORT $LN40@gz_open -$LN12@gz_open: - -; 142 : case 'R': -; 143 : state->strategy = Z_RLE; - - 000b0 89 56 4c mov DWORD PTR [esi+76], edx - -; 144 : break; - - 000b3 eb 0a jmp SHORT $LN40@gz_open -$LN11@gz_open: - -; 145 : case 'F': -; 146 : state->strategy = Z_FIXED; - - 000b5 89 4e 4c mov DWORD PTR [esi+76], ecx -$LN10@gz_open: - -; 147 : case 'T': -; 148 : state->direct = 1; - - 000b8 c7 46 2c 01 00 - 00 00 mov DWORD PTR [esi+44], 1 -$LN40@gz_open: - -; 106 : state->size = 0; /* no buffers allocated yet */ -; 107 : state->want = GZBUFSIZE; /* requested buffer size */ -; 108 : state->msg = NULL; /* no error message yet */ -; 109 : -; 110 : /* interpret mode */ -; 111 : state->mode = GZ_NONE; -; 112 : state->level = Z_DEFAULT_COMPRESSION; -; 113 : state->strategy = Z_DEFAULT_STRATEGY; -; 114 : state->direct = 0; -; 115 : while (*mode) { - - 000bf 8a 43 01 mov al, BYTE PTR [ebx+1] - -; 149 : default: /* could consider as an error, but just ignore */ -; 150 : ; -; 151 : } -; 152 : mode++; - - 000c2 43 inc ebx - 000c3 84 c0 test al, al - 000c5 75 90 jne SHORT $LL25@gz_open -$LN24@gz_open: - -; 153 : } -; 154 : -; 155 : /* must provide an "r", "w", or "a" */ -; 156 : if (state->mode == GZ_NONE) { - - 000c7 8b 5e 10 mov ebx, DWORD PTR [esi+16] - 000ca 3b df cmp ebx, edi - -; 157 : free(state); -; 158 : return NULL; - - 000cc 74 36 je SHORT $LN43@gz_open - -; 159 : } -; 160 : -; 161 : /* can't force transparent read */ -; 162 : if (state->mode == GZ_READ) { - - 000ce 81 fb 4f 1c 00 - 00 cmp ebx, 7247 ; 00001c4fH - 000d4 75 0c jne SHORT $LN7@gz_open - -; 163 : if (state->direct) { - - 000d6 39 7e 2c cmp DWORD PTR [esi+44], edi - -; 164 : free(state); -; 165 : return NULL; - - 000d9 75 29 jne SHORT $LN43@gz_open - -; 166 : } -; 167 : state->direct = 1; /* for empty file */ - - 000db c7 46 2c 01 00 - 00 00 mov DWORD PTR [esi+44], 1 -$LN7@gz_open: - -; 168 : } -; 169 : -; 170 : /* save the path name for error messages */ -; 171 : state->path = malloc(strlen(path) + 1); - - 000e2 8b 45 08 mov eax, DWORD PTR _path$[ebp] - 000e5 8d 50 01 lea edx, DWORD PTR [eax+1] -$LL39@gz_open: - 000e8 8a 08 mov cl, BYTE PTR [eax] - 000ea 40 inc eax - 000eb 84 c9 test cl, cl - 000ed 75 f9 jne SHORT $LL39@gz_open - 000ef 2b c2 sub eax, edx - 000f1 40 inc eax - 000f2 50 push eax - 000f3 e8 00 00 00 00 call _malloc - 000f8 8b f8 mov edi, eax - 000fa 83 c4 04 add esp, 4 - 000fd 89 7e 18 mov DWORD PTR [esi+24], edi - -; 172 : if (state->path == NULL) { - - 00100 85 ff test edi, edi - 00102 75 10 jne SHORT $LN5@gz_open -$LN43@gz_open: - -; 173 : free(state); - - 00104 56 push esi - 00105 e8 00 00 00 00 call _free - 0010a 83 c4 04 add esp, 4 - 0010d 5e pop esi - 0010e 5f pop edi - -; 174 : return NULL; - - 0010f 33 c0 xor eax, eax - 00111 5b pop ebx - -; 213 : } - - 00112 5d pop ebp - 00113 c3 ret 0 -$LN5@gz_open: - -; 175 : } -; 176 : strcpy(state->path, path); - - 00114 8b 4d 08 mov ecx, DWORD PTR _path$[ebp] - 00117 8b d7 mov edx, edi - 00119 8d a4 24 00 00 - 00 00 npad 7 -$LL30@gz_open: - 00120 8a 01 mov al, BYTE PTR [ecx] - 00122 88 02 mov BYTE PTR [edx], al - 00124 41 inc ecx - 00125 42 inc edx - 00126 84 c0 test al, al - 00128 75 f6 jne SHORT $LL30@gz_open - -; 177 : -; 178 : /* open the file with the appropriate mode (or just use fd) */ -; 179 : state->fd = fd != -1 ? fd : -; 180 : open(path, -; 181 : #ifdef O_LARGEFILE -; 182 : O_LARGEFILE | -; 183 : #endif -; 184 : #ifdef O_BINARY -; 185 : O_BINARY | -; 186 : #endif -; 187 : (state->mode == GZ_READ ? -; 188 : O_RDONLY : -; 189 : (O_WRONLY | O_CREAT | ( -; 190 : state->mode == GZ_WRITE ? -; 191 : O_TRUNC : -; 192 : O_APPEND))), -; 193 : 0666); - - 0012a 8b 45 0c mov eax, DWORD PTR _fd$[ebp] - 0012d 83 f8 ff cmp eax, -1 - 00130 75 3c jne SHORT $LN34@gz_open - 00132 81 fb 4f 1c 00 - 00 cmp ebx, 7247 ; 00001c4fH - 00138 75 04 jne SHORT $LN31@gz_open - 0013a 33 c0 xor eax, eax - 0013c eb 19 jmp SHORT $LN32@gz_open -$LN31@gz_open: - 0013e 8d 83 4f 86 ff - ff lea eax, DWORD PTR [ebx-31153] - 00144 f7 d8 neg eax - 00146 1b c0 sbb eax, eax - 00148 25 08 fe ff ff and eax, -504 ; fffffe08H - 0014d 05 00 02 00 00 add eax, 512 ; 00000200H - 00152 0d 01 01 00 00 or eax, 257 ; 00000101H -$LN32@gz_open: - 00157 8b 4d 08 mov ecx, DWORD PTR _path$[ebp] - 0015a 68 b6 01 00 00 push 438 ; 000001b6H - 0015f 0d 00 80 00 00 or eax, 32768 ; 00008000H - 00164 50 push eax - 00165 51 push ecx - 00166 e8 00 00 00 00 call _open - 0016b 83 c4 0c add esp, 12 ; 0000000cH -$LN34@gz_open: - 0016e 89 46 14 mov DWORD PTR [esi+20], eax - -; 194 : if (state->fd == -1) { - - 00171 83 f8 ff cmp eax, -1 - 00174 75 16 jne SHORT $LN4@gz_open - -; 195 : free(state->path); - - 00176 57 push edi - 00177 e8 00 00 00 00 call _free - -; 196 : free(state); - - 0017c 56 push esi - 0017d e8 00 00 00 00 call _free - 00182 83 c4 08 add esp, 8 -$LN42@gz_open: - -; 197 : return NULL; - - 00185 5e pop esi - 00186 5f pop edi - 00187 33 c0 xor eax, eax - 00189 5b pop ebx - -; 213 : } - - 0018a 5d pop ebp - 0018b c3 ret 0 -$LN4@gz_open: - -; 198 : } -; 199 : if (state->mode == GZ_APPEND) - - 0018c 83 fb 01 cmp ebx, 1 - 0018f 75 07 jne SHORT $LN3@gz_open - -; 200 : state->mode = GZ_WRITE; /* simplify later checks */ - - 00191 c7 46 10 b1 79 - 00 00 mov DWORD PTR [esi+16], 31153 ; 000079b1H -$LN3@gz_open: - -; 201 : -; 202 : /* save the current position for rewinding (only if reading) */ -; 203 : if (state->mode == GZ_READ) { - - 00198 81 7e 10 4f 1c - 00 00 cmp DWORD PTR [esi+16], 7247 ; 00001c4fH - 0019f 75 25 jne SHORT $LN1@gz_open - -; 204 : state->start = LSEEK(state->fd, 0, SEEK_CUR); - - 001a1 6a 01 push 1 - 001a3 33 ff xor edi, edi - 001a5 57 push edi - 001a6 50 push eax - 001a7 e8 00 00 00 00 call __lseeki64 - 001ac 99 cdq - 001ad 89 56 3c mov DWORD PTR [esi+60], edx - -; 205 : if (state->start == -1) state->start = 0; - - 001b0 8b d0 mov edx, eax - 001b2 23 56 3c and edx, DWORD PTR [esi+60] - 001b5 83 c4 0c add esp, 12 ; 0000000cH - 001b8 89 46 38 mov DWORD PTR [esi+56], eax - 001bb 83 fa ff cmp edx, -1 - 001be 75 06 jne SHORT $LN1@gz_open - 001c0 89 7e 38 mov DWORD PTR [esi+56], edi - 001c3 89 7e 3c mov DWORD PTR [esi+60], edi -$LN1@gz_open: - -; 206 : } -; 207 : -; 208 : /* initialize stream */ -; 209 : gz_reset(state); - - 001c6 e8 00 00 00 00 call _gz_reset - -; 210 : -; 211 : /* return stream */ -; 212 : return (gzFile)state; - - 001cb 8b c6 mov eax, esi - 001cd 5e pop esi - 001ce 5f pop edi - 001cf 5b pop ebx - -; 213 : } - - 001d0 5d pop ebp - 001d1 c3 ret 0 - 001d2 8b ff npad 2 -$LN44@gz_open: - 001d4 00 00 00 00 DD $LN43@gz_open - 001d8 00 00 00 00 DD $LN11@gz_open - 001dc 00 00 00 00 DD $LN12@gz_open - 001e0 00 00 00 00 DD $LN10@gz_open - 001e4 00 00 00 00 DD $LN17@gz_open - 001e8 00 00 00 00 DD $LN14@gz_open - 001ec 00 00 00 00 DD $LN13@gz_open - 001f0 00 00 00 00 DD $LN19@gz_open - 001f4 00 00 00 00 DD $LN18@gz_open - 001f8 00 00 00 00 DD $LN40@gz_open -$LN38@gz_open: - 001fc 00 DB 0 - 001fd 09 DB 9 - 001fe 09 DB 9 - 001ff 09 DB 9 - 00200 09 DB 9 - 00201 09 DB 9 - 00202 09 DB 9 - 00203 09 DB 9 - 00204 09 DB 9 - 00205 09 DB 9 - 00206 09 DB 9 - 00207 09 DB 9 - 00208 09 DB 9 - 00209 09 DB 9 - 0020a 09 DB 9 - 0020b 09 DB 9 - 0020c 09 DB 9 - 0020d 09 DB 9 - 0020e 09 DB 9 - 0020f 09 DB 9 - 00210 09 DB 9 - 00211 09 DB 9 - 00212 09 DB 9 - 00213 09 DB 9 - 00214 09 DB 9 - 00215 09 DB 9 - 00216 09 DB 9 - 00217 01 DB 1 - 00218 09 DB 9 - 00219 09 DB 9 - 0021a 09 DB 9 - 0021b 09 DB 9 - 0021c 09 DB 9 - 0021d 09 DB 9 - 0021e 09 DB 9 - 0021f 09 DB 9 - 00220 09 DB 9 - 00221 09 DB 9 - 00222 09 DB 9 - 00223 02 DB 2 - 00224 09 DB 9 - 00225 03 DB 3 - 00226 09 DB 9 - 00227 09 DB 9 - 00228 09 DB 9 - 00229 09 DB 9 - 0022a 09 DB 9 - 0022b 09 DB 9 - 0022c 09 DB 9 - 0022d 09 DB 9 - 0022e 09 DB 9 - 0022f 09 DB 9 - 00230 09 DB 9 - 00231 09 DB 9 - 00232 04 DB 4 - 00233 09 DB 9 - 00234 09 DB 9 - 00235 09 DB 9 - 00236 09 DB 9 - 00237 05 DB 5 - 00238 09 DB 9 - 00239 06 DB 6 - 0023a 09 DB 9 - 0023b 09 DB 9 - 0023c 09 DB 9 - 0023d 09 DB 9 - 0023e 09 DB 9 - 0023f 09 DB 9 - 00240 09 DB 9 - 00241 09 DB 9 - 00242 09 DB 9 - 00243 07 DB 7 - 00244 09 DB 9 - 00245 09 DB 9 - 00246 09 DB 9 - 00247 09 DB 9 - 00248 08 DB 8 -_gz_open ENDP -PUBLIC _gzseek64@16 -; Function compile flags: /Ogtp -; COMDAT _gzseek64@16 -_TEXT SEGMENT -tv405 = 8 ; size = 8 -_offset$ = 8 ; size = 8 -_gzseek64@16 PROC ; COMDAT -; _file$ = esi -; _whence$ = ecx - -; 300 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - 00004 57 push edi - -; 301 : unsigned n; -; 302 : z_off64_t ret; -; 303 : gz_statep state; -; 304 : -; 305 : /* get internal structure and check integrity */ -; 306 : if (file == NULL) - - 00005 85 f6 test esi, esi - -; 307 : return -1; - - 00007 74 28 je SHORT $LN28@gzseek64 - -; 308 : state = (gz_statep)file; -; 309 : if (state->mode != GZ_READ && state->mode != GZ_WRITE) - - 00009 8b 56 10 mov edx, DWORD PTR [esi+16] - 0000c 81 fa 4f 1c 00 - 00 cmp edx, 7247 ; 00001c4fH - 00012 74 08 je SHORT $LN14@gzseek64 - 00014 81 fa b1 79 00 - 00 cmp edx, 31153 ; 000079b1H - -; 310 : return -1; - - 0001a 75 15 jne SHORT $LN28@gzseek64 -$LN14@gzseek64: - -; 311 : -; 312 : /* check that there's no error */ -; 313 : if (state->err != Z_OK && state->err != Z_BUF_ERROR) - - 0001c 8b 46 5c mov eax, DWORD PTR [esi+92] - 0001f 85 c0 test eax, eax - 00021 74 05 je SHORT $LN13@gzseek64 - 00023 83 f8 fb cmp eax, -5 ; fffffffbH - -; 314 : return -1; - - 00026 75 09 jne SHORT $LN28@gzseek64 -$LN13@gzseek64: - -; 315 : -; 316 : /* can only seek from start or relative to current position */ -; 317 : if (whence != SEEK_SET && whence != SEEK_CUR) - - 00028 85 c9 test ecx, ecx - 0002a 74 10 je SHORT $LN20@gzseek64 - 0002c 83 f9 01 cmp ecx, 1 - 0002f 74 19 je SHORT $LN11@gzseek64 -$LN28@gzseek64: - -; 318 : return -1; - - 00031 83 c8 ff or eax, -1 - 00034 0b d0 or edx, eax - -; 370 : } - - 00036 5f pop edi - 00037 5b pop ebx - 00038 5d pop ebp - 00039 c2 08 00 ret 8 -$LN20@gzseek64: - -; 319 : -; 320 : /* normalize offset to a SEEK_CUR specification */ -; 321 : if (whence == SEEK_SET) -; 322 : offset -= state->x.pos; - - 0003c 8b 5d 08 mov ebx, DWORD PTR _offset$[ebp] - 0003f 2b 5e 08 sub ebx, DWORD PTR [esi+8] - 00042 8b 7d 0c mov edi, DWORD PTR _offset$[ebp+4] - 00045 1b 7e 0c sbb edi, DWORD PTR [esi+12] - 00048 eb 12 jmp SHORT $LN9@gzseek64 -$LN11@gzseek64: - -; 323 : else if (state->seek) - - 0004a 83 7e 58 00 cmp DWORD PTR [esi+88], 0 - -; 324 : offset += state->skip; - - 0004e 8b 5d 08 mov ebx, DWORD PTR _offset$[ebp] - 00051 8b 7d 0c mov edi, DWORD PTR _offset$[ebp+4] - 00054 74 06 je SHORT $LN9@gzseek64 - 00056 03 5e 50 add ebx, DWORD PTR [esi+80] - 00059 13 7e 54 adc edi, DWORD PTR [esi+84] -$LN9@gzseek64: - -; 325 : state->seek = 0; - - 0005c c7 46 58 00 00 - 00 00 mov DWORD PTR [esi+88], 0 - -; 326 : -; 327 : /* if within raw area while reading, just go there */ -; 328 : if (state->mode == GZ_READ && state->how == COPY && -; 329 : state->x.pos + offset >= 0) { - - 00063 81 fa 4f 1c 00 - 00 cmp edx, 7247 ; 00001c4fH - 00069 75 6b jne SHORT $LN8@gzseek64 - 0006b 83 7e 30 01 cmp DWORD PTR [esi+48], 1 - 0006f 75 65 jne SHORT $LN8@gzseek64 - 00071 8b c3 mov eax, ebx - 00073 03 46 08 add eax, DWORD PTR [esi+8] - 00076 8b cf mov ecx, edi - 00078 13 4e 0c adc ecx, DWORD PTR [esi+12] - 0007b 89 4d 0c mov DWORD PTR tv405[ebp+4], ecx - 0007e 78 56 js SHORT $LN8@gzseek64 - 00080 7f 04 jg SHORT $LN21@gzseek64 - 00082 85 c0 test eax, eax - 00084 72 50 jb SHORT $LN8@gzseek64 -$LN21@gzseek64: - -; 330 : ret = LSEEK(state->fd, offset - state->x.have, SEEK_CUR); -; 331 : if (ret == -1) - - 00086 33 c0 xor eax, eax - 00088 8b cb mov ecx, ebx - 0008a 2b 0e sub ecx, DWORD PTR [esi] - 0008c 6a 01 push 1 - 0008e 8b d7 mov edx, edi - 00090 1b d0 sbb edx, eax - 00092 8b 46 14 mov eax, DWORD PTR [esi+20] - 00095 52 push edx - 00096 51 push ecx - 00097 50 push eax - 00098 e8 00 00 00 00 call __lseeki64 - 0009d 83 c4 10 add esp, 16 ; 00000010H - 000a0 83 f8 ff cmp eax, -1 - -; 332 : return -1; - - 000a3 74 8c je SHORT $LN28@gzseek64 - -; 333 : state->x.have = 0; - - 000a5 33 c0 xor eax, eax - -; 334 : state->eof = 0; -; 335 : state->past = 0; -; 336 : state->seek = 0; -; 337 : gz_error(state, Z_OK, NULL); - - 000a7 50 push eax - 000a8 8b ce mov ecx, esi - 000aa 89 06 mov DWORD PTR [esi], eax - 000ac 89 46 40 mov DWORD PTR [esi+64], eax - 000af 89 46 44 mov DWORD PTR [esi+68], eax - 000b2 89 46 58 mov DWORD PTR [esi+88], eax - 000b5 e8 00 00 00 00 call _gz_error - 000ba 83 c4 04 add esp, 4 - -; 338 : state->strm.avail_in = 0; -; 339 : state->x.pos += offset; - - 000bd 01 5e 08 add DWORD PTR [esi+8], ebx - -; 340 : return state->x.pos; - - 000c0 8b 46 08 mov eax, DWORD PTR [esi+8] - 000c3 c7 46 68 00 00 - 00 00 mov DWORD PTR [esi+104], 0 - 000ca 11 7e 0c adc DWORD PTR [esi+12], edi - 000cd 8b 56 0c mov edx, DWORD PTR [esi+12] - -; 370 : } - - 000d0 5f pop edi - 000d1 5b pop ebx - 000d2 5d pop ebp - 000d3 c2 08 00 ret 8 -$LN8@gzseek64: - -; 341 : } -; 342 : -; 343 : /* calculate skip amount, rewinding if needed for back seek when reading */ -; 344 : if (offset < 0) { - - 000d6 85 ff test edi, edi - 000d8 7f 39 jg SHORT $LN3@gzseek64 - 000da 7c 04 jl SHORT $LN22@gzseek64 - 000dc 85 db test ebx, ebx - 000de 73 33 jae SHORT $LN3@gzseek64 -$LN22@gzseek64: - -; 345 : if (state->mode != GZ_READ) /* writing -- can't go backwards */ - - 000e0 81 fa 4f 1c 00 - 00 cmp edx, 7247 ; 00001c4fH - -; 346 : return -1; - - 000e6 0f 85 45 ff ff - ff jne $LN28@gzseek64 - -; 347 : offset += state->x.pos; - - 000ec 03 5e 08 add ebx, DWORD PTR [esi+8] - 000ef 13 7e 0c adc edi, DWORD PTR [esi+12] - -; 348 : if (offset < 0) /* before start of file! */ - - 000f2 85 ff test edi, edi - 000f4 7f 0e jg SHORT $LN4@gzseek64 - 000f6 0f 8c 35 ff ff - ff jl $LN28@gzseek64 - 000fc 85 db test ebx, ebx - -; 349 : return -1; - - 000fe 0f 82 2d ff ff - ff jb $LN28@gzseek64 -$LN4@gzseek64: - -; 350 : if (gzrewind(file) == -1) /* rewind, then skip to offset */ - - 00104 56 push esi - 00105 e8 00 00 00 00 call _gzrewind@4 - 0010a 83 f8 ff cmp eax, -1 - -; 351 : return -1; - - 0010d 0f 84 1e ff ff - ff je $LN28@gzseek64 -$LN3@gzseek64: - -; 352 : } -; 353 : -; 354 : /* if reading, skip what's in output buffer (one less gzgetc() check) */ -; 355 : if (state->mode == GZ_READ) { - - 00113 81 7e 10 4f 1c - 00 00 cmp DWORD PTR [esi+16], 7247 ; 00001c4fH - 0011a 75 27 jne SHORT $LN2@gzseek64 - -; 356 : n = GT_OFF(state->x.have) || (z_off64_t)state->x.have > offset ? -; 357 : (unsigned)offset : state->x.have; - - 0011c 8b 0e mov ecx, DWORD PTR [esi] - 0011e 33 c0 xor eax, eax - 00120 3b c7 cmp eax, edi - 00122 7f 0a jg SHORT $LN18@gzseek64 - 00124 7c 04 jl SHORT $LN24@gzseek64 - 00126 3b cb cmp ecx, ebx - 00128 77 04 ja SHORT $LN18@gzseek64 -$LN24@gzseek64: - 0012a 8b c1 mov eax, ecx - 0012c eb 02 jmp SHORT $LN19@gzseek64 -$LN18@gzseek64: - 0012e 8b c3 mov eax, ebx -$LN19@gzseek64: - -; 358 : state->x.have -= n; -; 359 : state->x.next += n; - - 00130 01 46 04 add DWORD PTR [esi+4], eax - 00133 2b c8 sub ecx, eax - 00135 89 0e mov DWORD PTR [esi], ecx - -; 360 : state->x.pos += n; - - 00137 33 c9 xor ecx, ecx - 00139 01 46 08 add DWORD PTR [esi+8], eax - 0013c 11 4e 0c adc DWORD PTR [esi+12], ecx - -; 361 : offset -= n; - - 0013f 2b d8 sub ebx, eax - 00141 1b f9 sbb edi, ecx -$LN2@gzseek64: - -; 362 : } -; 363 : -; 364 : /* request skip (if not zero) */ -; 365 : if (offset) { - - 00143 8b c3 mov eax, ebx - 00145 0b c7 or eax, edi - 00147 74 0d je SHORT $LN1@gzseek64 - -; 366 : state->seek = 1; - - 00149 c7 46 58 01 00 - 00 00 mov DWORD PTR [esi+88], 1 - -; 367 : state->skip = offset; - - 00150 89 5e 50 mov DWORD PTR [esi+80], ebx - 00153 89 7e 54 mov DWORD PTR [esi+84], edi -$LN1@gzseek64: - -; 368 : } -; 369 : return state->x.pos + offset; - - 00156 8b 46 08 mov eax, DWORD PTR [esi+8] - 00159 8b 56 0c mov edx, DWORD PTR [esi+12] - 0015c 03 c3 add eax, ebx - 0015e 13 d7 adc edx, edi - -; 370 : } - - 00160 5f pop edi - 00161 5b pop ebx - 00162 5d pop ebp - 00163 c2 08 00 ret 8 -_gzseek64@16 ENDP -_TEXT ENDS -PUBLIC _gzdopen@8 -; Function compile flags: /Ogtp -; COMDAT _gzdopen@8 -_TEXT SEGMENT -_fd$ = 8 ; size = 4 -_mode$ = 12 ; size = 4 -_gzdopen@8 PROC ; COMDAT - -; 235 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - 00004 57 push edi - -; 236 : char *path; /* identifier for error messages */ -; 237 : gzFile gz; -; 238 : -; 239 : if (fd == -1 || (path = malloc(7 + 3 * sizeof(int))) == NULL) - - 00005 8b 7d 08 mov edi, DWORD PTR _fd$[ebp] - 00008 83 ff ff cmp edi, -1 - 0000b 74 39 je SHORT $LN1@gzdopen - 0000d 6a 13 push 19 ; 00000013H - 0000f e8 00 00 00 00 call _malloc - 00014 8b f0 mov esi, eax - 00016 83 c4 04 add esp, 4 - 00019 85 f6 test esi, esi - 0001b 74 29 je SHORT $LN1@gzdopen - -; 241 : sprintf(path, "", fd); /* for debugging */ - - 0001d 57 push edi - 0001e 68 00 00 00 00 push OFFSET ??_C@_07EBNKNFJN@?$DMfd?3?$CFd?$DO?$AA@ - 00023 56 push esi - 00024 e8 00 00 00 00 call _sprintf - -; 242 : gz = gz_open(path, fd, mode); - - 00029 8b 45 0c mov eax, DWORD PTR _mode$[ebp] - 0002c 57 push edi - 0002d 56 push esi - 0002e e8 00 00 00 00 call _gz_open - -; 243 : free(path); - - 00033 56 push esi - 00034 8b f8 mov edi, eax - 00036 e8 00 00 00 00 call _free - 0003b 83 c4 18 add esp, 24 ; 00000018H - -; 244 : return gz; - - 0003e 8b c7 mov eax, edi - 00040 5f pop edi - 00041 5e pop esi - -; 245 : } - - 00042 5d pop ebp - 00043 c2 08 00 ret 8 -$LN1@gzdopen: - 00046 5f pop edi - -; 240 : return NULL; - - 00047 33 c0 xor eax, eax - 00049 5e pop esi - -; 245 : } - - 0004a 5d pop ebp - 0004b c2 08 00 ret 8 -_gzdopen@8 ENDP -_TEXT ENDS -PUBLIC _gzopen@8 -; Function compile flags: /Ogtp -; COMDAT _gzopen@8 -_TEXT SEGMENT -_path$ = 8 ; size = 4 -_mode$ = 12 ; size = 4 -_gzopen@8 PROC ; COMDAT - -; 219 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 220 : return gz_open(path, -1, mode); - - 00003 8b 45 08 mov eax, DWORD PTR _path$[ebp] - 00006 6a ff push -1 - 00008 50 push eax - 00009 8b 45 0c mov eax, DWORD PTR _mode$[ebp] - 0000c e8 00 00 00 00 call _gz_open - 00011 83 c4 08 add esp, 8 - -; 221 : } - - 00014 5d pop ebp - 00015 c2 08 00 ret 8 -_gzopen@8 ENDP -PUBLIC _gzseek@12 -; Function compile flags: /Ogtp -; COMDAT _gzseek@12 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_offset$ = 12 ; size = 4 -_whence$ = 16 ; size = 4 -_gzseek@12 PROC ; COMDAT - -; 377 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 51 push ecx - -; 378 : z_off64_t ret; -; 379 : -; 380 : ret = gzseek64(file, (z_off64_t)offset, whence); - - 00007 8b 45 0c mov eax, DWORD PTR _offset$[ebp] - 0000a 8b 4d 10 mov ecx, DWORD PTR _whence$[ebp] - 0000d 56 push esi - 0000e 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 00011 99 cdq - 00012 52 push edx - 00013 50 push eax - 00014 e8 00 00 00 00 call _gzseek64@16 - 00019 8b c8 mov ecx, eax - 0001b 8b f2 mov esi, edx - -; 381 : return ret == (z_off_t)ret ? (z_off_t)ret : -1; - - 0001d 99 cdq - 0001e 3b c8 cmp ecx, eax - 00020 75 0d jne SHORT $LN3@gzseek - 00022 3b f2 cmp esi, edx - 00024 75 09 jne SHORT $LN3@gzseek - 00026 8b c1 mov eax, ecx - -; 382 : } - - 00028 5e pop esi - 00029 8b e5 mov esp, ebp - 0002b 5d pop ebp - 0002c c2 0c 00 ret 12 ; 0000000cH -$LN3@gzseek: - -; 381 : return ret == (z_off_t)ret ? (z_off_t)ret : -1; - - 0002f 83 c8 ff or eax, -1 - -; 382 : } - - 00032 5e pop esi - 00033 8b e5 mov esp, ebp - 00035 5d pop ebp - 00036 c2 0c 00 ret 12 ; 0000000cH -_gzseek@12 ENDP -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/gzread.cod b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/gzread.cod deleted file mode 100644 index 12ee2b9b..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/gzread.cod +++ /dev/null @@ -1,2253 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.30319.01 - - TITLE D:\FMU\FMUSolution\zlib-1.2.6\gzread.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC ??_C@_0BH@CFIIDOJD@unexpected?5end?5of?5file?$AA@ ; `string' -PUBLIC ??_C@_0CH@CPOLIEKA@internal?5error?3?5inflate?5stream?5c@ ; `string' -PUBLIC ??_C@_0BG@HCKBMIHF@compressed?5data?5error?$AA@ ; `string' -PUBLIC ??_C@_0CF@MLPJFDMM@requested?5length?5does?5not?5fit?5in@ ; `string' -PUBLIC ??_C@_0BP@IIKIGMCC@out?5of?5room?5to?5push?5characters?$AA@ ; `string' -EXTRN _memchr:PROC -EXTRN _memmove:PROC -EXTRN _strerror:PROC -EXTRN __errno:PROC -EXTRN _read:PROC -EXTRN _close:PROC -; COMDAT ??_C@_0BP@IIKIGMCC@out?5of?5room?5to?5push?5characters?$AA@ -CONST SEGMENT -??_C@_0BP@IIKIGMCC@out?5of?5room?5to?5push?5characters?$AA@ DB 'out of ro' - DB 'om to push characters', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0CF@MLPJFDMM@requested?5length?5does?5not?5fit?5in@ -CONST SEGMENT -??_C@_0CF@MLPJFDMM@requested?5length?5does?5not?5fit?5in@ DB 'requested l' - DB 'ength does not fit in int', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BG@HCKBMIHF@compressed?5data?5error?$AA@ -CONST SEGMENT -??_C@_0BG@HCKBMIHF@compressed?5data?5error?$AA@ DB 'compressed data error' - DB 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0CH@CPOLIEKA@internal?5error?3?5inflate?5stream?5c@ -CONST SEGMENT -??_C@_0CH@CPOLIEKA@internal?5error?3?5inflate?5stream?5c@ DB 'internal er' - DB 'ror: inflate stream corrupt', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BH@CFIIDOJD@unexpected?5end?5of?5file?$AA@ -CONST SEGMENT -??_C@_0BH@CFIIDOJD@unexpected?5end?5of?5file?$AA@ DB 'unexpected end of f' - DB 'ile', 00H ; `string' -PUBLIC _gzclose_r@4 -; Function compile flags: /Ogtp -; File d:\fmu\fmusolution\zlib-1.2.6\gzread.c -; COMDAT _gzclose_r@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_gzclose_r@4 PROC ; COMDAT - -; 559 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 560 : int ret, err; -; 561 : gz_statep state; -; 562 : -; 563 : /* get internal structure */ -; 564 : if (file == NULL) - - 00004 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 00007 85 f6 test esi, esi - 00009 75 0a jne SHORT $LN3@gzclose_r -$LN8@gzclose_r: - -; 565 : return Z_STREAM_ERROR; - - 0000b b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00010 5e pop esi - -; 584 : } - - 00011 5d pop ebp - 00012 c2 04 00 ret 4 -$LN3@gzclose_r: - -; 566 : state = (gz_statep)file; -; 567 : -; 568 : /* check that we're reading */ -; 569 : if (state->mode != GZ_READ) - - 00015 81 7e 10 4f 1c - 00 00 cmp DWORD PTR [esi+16], 7247 ; 00001c4fH - -; 570 : return Z_STREAM_ERROR; - - 0001c 75 ed jne SHORT $LN8@gzclose_r - -; 571 : -; 572 : /* free memory and close file */ -; 573 : if (state->size) { - - 0001e 83 7e 1c 00 cmp DWORD PTR [esi+28], 0 - 00022 74 1e je SHORT $LN1@gzclose_r - -; 574 : inflateEnd(&(state->strm)); - - 00024 8d 46 64 lea eax, DWORD PTR [esi+100] - 00027 50 push eax - 00028 e8 00 00 00 00 call _inflateEnd@4 - -; 575 : free(state->out); - - 0002d 8b 4e 28 mov ecx, DWORD PTR [esi+40] - 00030 51 push ecx - 00031 e8 00 00 00 00 call _free - -; 576 : free(state->in); - - 00036 8b 56 24 mov edx, DWORD PTR [esi+36] - 00039 52 push edx - 0003a e8 00 00 00 00 call _free - 0003f 83 c4 08 add esp, 8 -$LN1@gzclose_r: - -; 577 : } -; 578 : err = state->err == Z_BUF_ERROR ? Z_BUF_ERROR : Z_OK; - - 00042 53 push ebx - 00043 33 db xor ebx, ebx - 00045 83 7e 5c fb cmp DWORD PTR [esi+92], -5 ; fffffffbH - 00049 57 push edi - 0004a 0f 95 c3 setne bl - -; 579 : gz_error(state, Z_OK, NULL); - - 0004d 6a 00 push 0 - 0004f 33 c0 xor eax, eax - 00051 8b ce mov ecx, esi - 00053 4b dec ebx - 00054 83 e3 fb and ebx, -5 ; fffffffbH - 00057 e8 00 00 00 00 call _gz_error - -; 580 : free(state->path); - - 0005c 8b 46 18 mov eax, DWORD PTR [esi+24] - 0005f 50 push eax - 00060 e8 00 00 00 00 call _free - -; 581 : ret = close(state->fd); - - 00065 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 00068 51 push ecx - 00069 e8 00 00 00 00 call _close - -; 582 : free(state); - - 0006e 56 push esi - 0006f 8b f8 mov edi, eax - 00071 e8 00 00 00 00 call _free - 00076 83 c4 10 add esp, 16 ; 00000010H - -; 583 : return ret ? Z_ERRNO : err; - - 00079 85 ff test edi, edi - 0007b 74 0a je SHORT $LN6@gzclose_r - 0007d 5f pop edi - 0007e 5b pop ebx - 0007f 83 c8 ff or eax, -1 - 00082 5e pop esi - -; 584 : } - - 00083 5d pop ebp - 00084 c2 04 00 ret 4 -$LN6@gzclose_r: - 00087 5f pop edi - -; 583 : return ret ? Z_ERRNO : err; - - 00088 8b c3 mov eax, ebx - 0008a 5b pop ebx - 0008b 5e pop esi - -; 584 : } - - 0008c 5d pop ebp - 0008d c2 04 00 ret 4 -_gzclose_r@4 ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _gz_load -_TEXT SEGMENT -_buf$ = 8 ; size = 4 -_gz_load PROC ; COMDAT -; _state$ = ebx -; _len$ = edi -; _have$ = esi - -; 25 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 26 : int ret; -; 27 : -; 28 : *have = 0; - - 00003 c7 06 00 00 00 - 00 mov DWORD PTR [esi], 0 - 00009 8d a4 24 00 00 - 00 00 npad 7 -$LL6@gz_load: - -; 29 : do { -; 30 : ret = read(state->fd, buf + *have, len - *have); - - 00010 8b 06 mov eax, DWORD PTR [esi] - 00012 8b cf mov ecx, edi - 00014 2b c8 sub ecx, eax - 00016 03 45 08 add eax, DWORD PTR _buf$[ebp] - 00019 51 push ecx - 0001a 50 push eax - 0001b 8b 43 14 mov eax, DWORD PTR [ebx+20] - 0001e 50 push eax - 0001f e8 00 00 00 00 call _read - 00024 83 c4 0c add esp, 12 ; 0000000cH - -; 31 : if (ret <= 0) - - 00027 85 c0 test eax, eax - 00029 7e 08 jle SHORT $LN11@gz_load - -; 32 : break; -; 33 : *have += ret; - - 0002b 01 06 add DWORD PTR [esi], eax - -; 34 : } while (*have < len); - - 0002d 39 3e cmp DWORD PTR [esi], edi - 0002f 72 df jb SHORT $LL6@gz_load - -; 35 : if (ret < 0) { - - 00031 85 c0 test eax, eax -$LN11@gz_load: - 00033 79 20 jns SHORT $LN2@gz_load - -; 36 : gz_error(state, Z_ERRNO, zstrerror()); - - 00035 e8 00 00 00 00 call __errno - 0003a 8b 08 mov ecx, DWORD PTR [eax] - 0003c 51 push ecx - 0003d e8 00 00 00 00 call _strerror - 00042 50 push eax - 00043 83 c8 ff or eax, -1 - 00046 8b cb mov ecx, ebx - 00048 e8 00 00 00 00 call _gz_error - 0004d 83 c4 08 add esp, 8 - -; 37 : return -1; - - 00050 83 c8 ff or eax, -1 - -; 42 : } - - 00053 5d pop ebp - 00054 c3 ret 0 -$LN2@gz_load: - -; 38 : } -; 39 : if (ret == 0) - - 00055 85 c0 test eax, eax - 00057 75 07 jne SHORT $LN1@gz_load - -; 40 : state->eof = 1; - - 00059 c7 43 40 01 00 - 00 00 mov DWORD PTR [ebx+64], 1 -$LN1@gz_load: - -; 41 : return 0; - - 00060 33 c0 xor eax, eax - -; 42 : } - - 00062 5d pop ebp - 00063 c3 ret 0 -_gz_load ENDP -; Function compile flags: /Ogtp -; COMDAT _gz_avail -_TEXT SEGMENT -_got$ = -4 ; size = 4 -_gz_avail PROC ; COMDAT -; _state$ = eax - -; 53 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - 00005 8b d8 mov ebx, eax - -; 54 : unsigned got; -; 55 : z_streamp strm = &(state->strm); -; 56 : -; 57 : if (state->err != Z_OK && state->err != Z_BUF_ERROR) - - 00007 8b 43 5c mov eax, DWORD PTR [ebx+92] - 0000a 85 c0 test eax, eax - 0000c 74 0d je SHORT $LN4@gz_avail - 0000e 83 f8 fb cmp eax, -5 ; fffffffbH - 00011 74 08 je SHORT $LN4@gz_avail -$LN7@gz_avail: - -; 58 : return -1; - - 00013 83 c8 ff or eax, -1 - 00016 5b pop ebx - -; 69 : } - - 00017 8b e5 mov esp, ebp - 00019 5d pop ebp - 0001a c3 ret 0 -$LN4@gz_avail: - -; 59 : if (state->eof == 0) { - - 0001b 83 7b 40 00 cmp DWORD PTR [ebx+64], 0 - 0001f 75 46 jne SHORT $LN3@gz_avail - -; 60 : if (strm->avail_in) - - 00021 8b 43 68 mov eax, DWORD PTR [ebx+104] - 00024 85 c0 test eax, eax - 00026 74 11 je SHORT $LN2@gz_avail - -; 61 : memmove(state->in, strm->next_in, strm->avail_in); - - 00028 8b 4b 24 mov ecx, DWORD PTR [ebx+36] - 0002b 50 push eax - 0002c 8b 43 64 mov eax, DWORD PTR [ebx+100] - 0002f 50 push eax - 00030 51 push ecx - 00031 e8 00 00 00 00 call _memmove - 00036 83 c4 0c add esp, 12 ; 0000000cH -$LN2@gz_avail: - -; 62 : if (gz_load(state, state->in + strm->avail_in, -; 63 : state->size - strm->avail_in, &got) == -1) - - 00039 8b 43 68 mov eax, DWORD PTR [ebx+104] - 0003c 8b 53 24 mov edx, DWORD PTR [ebx+36] - 0003f 56 push esi - 00040 57 push edi - 00041 8b 7b 1c mov edi, DWORD PTR [ebx+28] - 00044 03 d0 add edx, eax - 00046 2b f8 sub edi, eax - 00048 52 push edx - 00049 8d 75 fc lea esi, DWORD PTR _got$[ebp] - 0004c e8 00 00 00 00 call _gz_load - 00051 83 c4 04 add esp, 4 - 00054 5f pop edi - 00055 5e pop esi - 00056 83 f8 ff cmp eax, -1 - -; 64 : return -1; - - 00059 74 b8 je SHORT $LN7@gz_avail - -; 65 : strm->avail_in += got; - - 0005b 8b 45 fc mov eax, DWORD PTR _got$[ebp] - 0005e 01 43 68 add DWORD PTR [ebx+104], eax - -; 66 : strm->next_in = state->in; - - 00061 8b 4b 24 mov ecx, DWORD PTR [ebx+36] - 00064 89 4b 64 mov DWORD PTR [ebx+100], ecx -$LN3@gz_avail: - -; 67 : } -; 68 : return 0; - - 00067 33 c0 xor eax, eax - 00069 5b pop ebx - -; 69 : } - - 0006a 8b e5 mov esp, ebp - 0006c 5d pop ebp - 0006d c3 ret 0 -_gz_avail ENDP -; Function compile flags: /Ogtp -; COMDAT _gz_decomp -_TEXT SEGMENT -_had$ = -4 ; size = 4 -_gz_decomp PROC ; COMDAT -; _state$ = ebx - -; 168 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - -; 169 : int ret = Z_OK; -; 170 : unsigned had; -; 171 : z_streamp strm = &(state->strm); -; 172 : -; 173 : /* fill output buffer up to end of deflate stream */ -; 174 : had = strm->avail_out; - - 00004 8b 43 74 mov eax, DWORD PTR [ebx+116] - 00007 56 push esi - 00008 57 push edi - 00009 8d 7b 64 lea edi, DWORD PTR [ebx+100] - 0000c 33 f6 xor esi, esi - 0000e 89 45 fc mov DWORD PTR _had$[ebp], eax -$LL11@gz_decomp: - -; 175 : do { -; 176 : /* get more input for inflate() */ -; 177 : if (strm->avail_in == 0 && gz_avail(state) == -1) - - 00011 83 7f 04 00 cmp DWORD PTR [edi+4], 0 - 00015 75 16 jne SHORT $LN22@gz_decomp - 00017 8b c3 mov eax, ebx - 00019 e8 00 00 00 00 call _gz_avail - 0001e 83 f8 ff cmp eax, -1 - 00021 0f 84 c7 00 00 - 00 je $LN17@gz_decomp - -; 178 : return -1; -; 179 : if (strm->avail_in == 0) { - - 00027 83 7f 04 00 cmp DWORD PTR [edi+4], 0 - 0002b 74 55 je SHORT $LN18@gz_decomp -$LN22@gz_decomp: - -; 182 : } -; 183 : -; 184 : /* decompress and handle errors */ -; 185 : ret = inflate(strm, Z_NO_FLUSH); - - 0002d 6a 00 push 0 - 0002f 57 push edi - 00030 e8 00 00 00 00 call _inflate@8 - 00035 8b f0 mov esi, eax - -; 186 : if (ret == Z_STREAM_ERROR || ret == Z_NEED_DICT) { - - 00037 83 fe fe cmp esi, -2 ; fffffffeH - 0003a 0f 84 9a 00 00 - 00 je $LN5@gz_decomp - 00040 83 fe 02 cmp esi, 2 - 00043 0f 84 91 00 00 - 00 je $LN5@gz_decomp - -; 190 : } -; 191 : if (ret == Z_MEM_ERROR) { - - 00049 83 fe fc cmp esi, -4 ; fffffffcH - 0004c 74 4a je SHORT $LN20@gz_decomp - -; 193 : return -1; -; 194 : } -; 195 : if (ret == Z_DATA_ERROR) { /* deflate stream invalid */ - - 0004e 83 fe fd cmp esi, -3 ; fffffffdH - 00051 74 62 je SHORT $LN21@gz_decomp - -; 198 : return -1; -; 199 : } -; 200 : } while (strm->avail_out && ret != Z_STREAM_END); - - 00053 83 7f 10 00 cmp DWORD PTR [edi+16], 0 - 00057 74 05 je SHORT $LN9@gz_decomp - 00059 83 fe 01 cmp esi, 1 - 0005c 75 b3 jne SHORT $LL11@gz_decomp -$LN9@gz_decomp: - -; 201 : -; 202 : /* update available output */ -; 203 : state->x.have = had - strm->avail_out; - - 0005e 8b 45 fc mov eax, DWORD PTR _had$[ebp] - 00061 2b 47 10 sub eax, DWORD PTR [edi+16] - 00064 89 03 mov DWORD PTR [ebx], eax - -; 204 : state->x.next = strm->next_out - state->x.have; - - 00066 8b 4f 0c mov ecx, DWORD PTR [edi+12] - 00069 2b c8 sub ecx, eax - 0006b 89 4b 04 mov DWORD PTR [ebx+4], ecx - -; 205 : -; 206 : /* if the gzip stream completed successfully, look for another */ -; 207 : if (ret == Z_STREAM_END) - - 0006e 83 fe 01 cmp esi, 1 - 00071 75 07 jne SHORT $LN1@gz_decomp - -; 208 : state->how = LOOK; - - 00073 c7 43 30 00 00 - 00 00 mov DWORD PTR [ebx+48], 0 -$LN1@gz_decomp: - 0007a 5f pop edi - -; 209 : -; 210 : /* good decompression */ -; 211 : return 0; - - 0007b 33 c0 xor eax, eax - 0007d 5e pop esi - -; 212 : } - - 0007e 8b e5 mov esp, ebp - 00080 5d pop ebp - 00081 c3 ret 0 -$LN18@gz_decomp: - -; 180 : gz_error(state, Z_BUF_ERROR, "unexpected end of file"); - - 00082 68 00 00 00 00 push OFFSET ??_C@_0BH@CFIIDOJD@unexpected?5end?5of?5file?$AA@ - 00087 b8 fb ff ff ff mov eax, -5 ; fffffffbH - 0008c 8b cb mov ecx, ebx - 0008e e8 00 00 00 00 call _gz_error - 00093 83 c4 04 add esp, 4 - -; 181 : break; - - 00096 eb c6 jmp SHORT $LN9@gz_decomp -$LN20@gz_decomp: - -; 192 : gz_error(state, Z_MEM_ERROR, "out of memory"); - - 00098 68 00 00 00 00 push OFFSET ??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ - 0009d b8 fc ff ff ff mov eax, -4 ; fffffffcH - 000a2 8b cb mov ecx, ebx - 000a4 e8 00 00 00 00 call _gz_error - 000a9 83 c4 04 add esp, 4 - 000ac 5f pop edi - 000ad 83 c8 ff or eax, -1 - 000b0 5e pop esi - -; 212 : } - - 000b1 8b e5 mov esp, ebp - 000b3 5d pop ebp - 000b4 c3 ret 0 -$LN21@gz_decomp: - -; 196 : gz_error(state, Z_DATA_ERROR, -; 197 : strm->msg == NULL ? "compressed data error" : strm->msg); - - 000b5 8b 7f 18 mov edi, DWORD PTR [edi+24] - 000b8 85 ff test edi, edi - 000ba 75 05 jne SHORT $LN14@gz_decomp - 000bc bf 00 00 00 00 mov edi, OFFSET ??_C@_0BG@HCKBMIHF@compressed?5data?5error?$AA@ -$LN14@gz_decomp: - 000c1 57 push edi - 000c2 b8 fd ff ff ff mov eax, -3 ; fffffffdH - 000c7 8b cb mov ecx, ebx - 000c9 e8 00 00 00 00 call _gz_error - 000ce 83 c4 04 add esp, 4 - 000d1 5f pop edi - 000d2 83 c8 ff or eax, -1 - 000d5 5e pop esi - -; 212 : } - - 000d6 8b e5 mov esp, ebp - 000d8 5d pop ebp - 000d9 c3 ret 0 -$LN5@gz_decomp: - -; 187 : gz_error(state, Z_STREAM_ERROR, -; 188 : "internal error: inflate stream corrupt"); - - 000da 68 00 00 00 00 push OFFSET ??_C@_0CH@CPOLIEKA@internal?5error?3?5inflate?5stream?5c@ - 000df b8 fe ff ff ff mov eax, -2 ; fffffffeH - 000e4 8b cb mov ecx, ebx - 000e6 e8 00 00 00 00 call _gz_error - 000eb 83 c4 04 add esp, 4 -$LN17@gz_decomp: - -; 189 : return -1; - - 000ee 5f pop edi - 000ef 83 c8 ff or eax, -1 - 000f2 5e pop esi - -; 212 : } - - 000f3 8b e5 mov esp, ebp - 000f5 5d pop ebp - 000f6 c3 ret 0 -_gz_decomp ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _gz_look -_TEXT SEGMENT -tv68 = -4 ; size = 4 -_gz_look PROC ; COMDAT -; _state$ = esi - -; 82 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - -; 83 : z_streamp strm = &(state->strm); -; 84 : -; 85 : /* allocate read buffers and inflate memory */ -; 86 : if (state->size == 0) { - - 00005 33 db xor ebx, ebx - 00007 57 push edi - 00008 8d 7e 64 lea edi, DWORD PTR [esi+100] - 0000b 39 5e 1c cmp DWORD PTR [esi+28], ebx - 0000e 0f 85 ca 00 00 - 00 jne $LN7@gz_look - -; 87 : /* allocate buffers */ -; 88 : state->in = malloc(state->want); - - 00014 8b 5e 20 mov ebx, DWORD PTR [esi+32] - 00017 53 push ebx - 00018 e8 00 00 00 00 call _malloc - 0001d 89 45 fc mov DWORD PTR tv68[ebp], eax - 00020 89 46 24 mov DWORD PTR [esi+36], eax - -; 89 : state->out = malloc(state->want << 1); - - 00023 8d 04 1b lea eax, DWORD PTR [ebx+ebx] - 00026 50 push eax - 00027 e8 00 00 00 00 call _malloc - -; 90 : if (state->in == NULL || state->out == NULL) { - - 0002c 33 c9 xor ecx, ecx - 0002e 83 c4 08 add esp, 8 - 00031 89 46 28 mov DWORD PTR [esi+40], eax - 00034 39 4d fc cmp DWORD PTR tv68[ebp], ecx - 00037 74 67 je SHORT $LN10@gz_look - 00039 3b c1 cmp eax, ecx - 0003b 74 72 je SHORT $LN9@gz_look - -; 97 : } -; 98 : state->size = state->want; -; 99 : -; 100 : /* allocate inflate memory */ -; 101 : state->strm.zalloc = Z_NULL; -; 102 : state->strm.zfree = Z_NULL; -; 103 : state->strm.opaque = Z_NULL; -; 104 : state->strm.avail_in = 0; -; 105 : state->strm.next_in = Z_NULL; -; 106 : if (inflateInit2(&(state->strm), 15 + 16) != Z_OK) { /* gunzip */ - - 0003d 6a 38 push 56 ; 00000038H - 0003f 68 00 00 00 00 push OFFSET ??_C@_05BOAHNBIE@1?42?46?$AA@ - 00044 6a 1f push 31 ; 0000001fH - 00046 57 push edi - 00047 89 5e 1c mov DWORD PTR [esi+28], ebx - 0004a 89 8e 84 00 00 - 00 mov DWORD PTR [esi+132], ecx - 00050 89 8e 88 00 00 - 00 mov DWORD PTR [esi+136], ecx - 00056 89 8e 8c 00 00 - 00 mov DWORD PTR [esi+140], ecx - 0005c 89 4e 68 mov DWORD PTR [esi+104], ecx - 0005f 89 0f mov DWORD PTR [edi], ecx - 00061 e8 00 00 00 00 call _inflateInit2_@16 - 00066 85 c0 test eax, eax - 00068 74 72 je SHORT $LN15@gz_look - -; 107 : free(state->out); - - 0006a 8b 4e 28 mov ecx, DWORD PTR [esi+40] - 0006d 51 push ecx - 0006e e8 00 00 00 00 call _free - -; 108 : free(state->in); - - 00073 8b 56 24 mov edx, DWORD PTR [esi+36] - 00076 52 push edx - 00077 e8 00 00 00 00 call _free - -; 109 : state->size = 0; -; 110 : gz_error(state, Z_MEM_ERROR, "out of memory"); - - 0007c 68 00 00 00 00 push OFFSET ??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ - 00081 b8 fc ff ff ff mov eax, -4 ; fffffffcH - 00086 8b ce mov ecx, esi - 00088 c7 46 1c 00 00 - 00 00 mov DWORD PTR [esi+28], 0 - 0008f e8 00 00 00 00 call _gz_error - 00094 83 c4 0c add esp, 12 ; 0000000cH - 00097 5f pop edi - -; 111 : return -1; - - 00098 83 c8 ff or eax, -1 - 0009b 5b pop ebx - -; 159 : } - - 0009c 8b e5 mov esp, ebp - 0009e 5d pop ebp - 0009f c3 ret 0 -$LN10@gz_look: - -; 91 : if (state->out != NULL) - - 000a0 3b c1 cmp eax, ecx - 000a2 74 0b je SHORT $LN9@gz_look - -; 92 : free(state->out); - - 000a4 50 push eax - 000a5 e8 00 00 00 00 call _free - 000aa 83 c4 04 add esp, 4 - 000ad 33 c9 xor ecx, ecx -$LN9@gz_look: - -; 93 : if (state->in != NULL) - - 000af 8b 46 24 mov eax, DWORD PTR [esi+36] - 000b2 3b c1 cmp eax, ecx - 000b4 74 09 je SHORT $LN8@gz_look - -; 94 : free(state->in); - - 000b6 50 push eax - 000b7 e8 00 00 00 00 call _free - 000bc 83 c4 04 add esp, 4 -$LN8@gz_look: - -; 95 : gz_error(state, Z_MEM_ERROR, "out of memory"); - - 000bf 68 00 00 00 00 push OFFSET ??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ - 000c4 b8 fc ff ff ff mov eax, -4 ; fffffffcH - 000c9 8b ce mov ecx, esi - 000cb e8 00 00 00 00 call _gz_error - 000d0 83 c4 04 add esp, 4 -$LN17@gz_look: - -; 96 : return -1; - - 000d3 5f pop edi - 000d4 83 c8 ff or eax, -1 - 000d7 5b pop ebx - -; 159 : } - - 000d8 8b e5 mov esp, ebp - 000da 5d pop ebp - 000db c3 ret 0 -$LN15@gz_look: - -; 93 : if (state->in != NULL) - - 000dc 33 db xor ebx, ebx -$LN7@gz_look: - -; 112 : } -; 113 : } -; 114 : -; 115 : /* get at least the magic bytes in the input buffer */ -; 116 : if (strm->avail_in < 2) { - - 000de 8b 47 04 mov eax, DWORD PTR [edi+4] - 000e1 83 f8 02 cmp eax, 2 - 000e4 73 13 jae SHORT $LN4@gz_look - -; 117 : if (gz_avail(state) == -1) - - 000e6 8b c6 mov eax, esi - 000e8 e8 00 00 00 00 call _gz_avail - 000ed 83 f8 ff cmp eax, -1 - -; 118 : return -1; - - 000f0 74 e1 je SHORT $LN17@gz_look - -; 119 : if (strm->avail_in == 0) - - 000f2 8b 47 04 mov eax, DWORD PTR [edi+4] - 000f5 3b c3 cmp eax, ebx - -; 120 : return 0; - - 000f7 74 70 je SHORT $LN16@gz_look -$LN4@gz_look: - -; 121 : } -; 122 : -; 123 : /* look for gzip magic bytes -- if there, do gzip decoding (note: there is -; 124 : a logical dilemma here when considering the case of a partially written -; 125 : gzip file, to wit, if a single 31 byte is written, then we cannot tell -; 126 : whether this is a single-byte file, or just a partially written gzip -; 127 : file -- for here we assume that if a gzip file is being written, then -; 128 : the header will be written in a single operation, so that reading a -; 129 : single byte is sufficient indication that it is not a gzip file) */ -; 130 : if (strm->avail_in > 1 && -; 131 : strm->next_in[0] == 31 && strm->next_in[1] == 139) { - - 000f9 ba 01 00 00 00 mov edx, 1 - 000fe 3b c2 cmp eax, edx - 00100 76 25 jbe SHORT $LN3@gz_look - 00102 8b 07 mov eax, DWORD PTR [edi] - 00104 80 38 1f cmp BYTE PTR [eax], 31 ; 0000001fH - 00107 75 1e jne SHORT $LN3@gz_look - 00109 80 78 01 8b cmp BYTE PTR [eax+1], 139 ; 0000008bH - 0010d 75 18 jne SHORT $LN3@gz_look - -; 132 : inflateReset(strm); - - 0010f 57 push edi - 00110 e8 00 00 00 00 call _inflateReset@4 - 00115 5f pop edi - -; 133 : state->how = GZIP; -; 134 : state->direct = 0; - - 00116 89 5e 2c mov DWORD PTR [esi+44], ebx - 00119 c7 46 30 02 00 - 00 00 mov DWORD PTR [esi+48], 2 - -; 158 : return 0; - - 00120 33 c0 xor eax, eax - 00122 5b pop ebx - -; 159 : } - - 00123 8b e5 mov esp, ebp - 00125 5d pop ebp - 00126 c3 ret 0 -$LN3@gz_look: - -; 135 : return 0; -; 136 : } -; 137 : -; 138 : /* no gzip header -- if we were decoding gzip before, then this is trailing -; 139 : garbage. Ignore the trailing garbage and finish. */ -; 140 : if (state->direct == 0) { - - 00127 39 5e 2c cmp DWORD PTR [esi+44], ebx - 0012a 75 10 jne SHORT $LN2@gz_look - -; 141 : strm->avail_in = 0; - - 0012c 89 5f 04 mov DWORD PTR [edi+4], ebx - 0012f 5f pop edi - -; 142 : state->eof = 1; -; 143 : state->x.have = 0; - - 00130 89 1e mov DWORD PTR [esi], ebx - 00132 89 56 40 mov DWORD PTR [esi+64], edx - -; 158 : return 0; - - 00135 33 c0 xor eax, eax - 00137 5b pop ebx - -; 159 : } - - 00138 8b e5 mov esp, ebp - 0013a 5d pop ebp - 0013b c3 ret 0 -$LN2@gz_look: - -; 144 : return 0; -; 145 : } -; 146 : -; 147 : /* doing raw i/o, copy any leftover input to output -- this assumes that -; 148 : the output buffer is larger than the input buffer, which also assures -; 149 : space for gzungetc() */ -; 150 : state->x.next = state->out; - - 0013c 8b 46 28 mov eax, DWORD PTR [esi+40] - 0013f 89 46 04 mov DWORD PTR [esi+4], eax - -; 151 : if (strm->avail_in) { - - 00142 8b 4f 04 mov ecx, DWORD PTR [edi+4] - 00145 3b cb cmp ecx, ebx - 00147 74 1a je SHORT $LN1@gz_look - -; 152 : memcpy(state->x.next, strm->next_in, strm->avail_in); - - 00149 51 push ecx - 0014a 8b 0f mov ecx, DWORD PTR [edi] - 0014c 51 push ecx - 0014d 50 push eax - 0014e e8 00 00 00 00 call _memcpy - -; 153 : state->x.have = strm->avail_in; - - 00153 8b 57 04 mov edx, DWORD PTR [edi+4] - 00156 89 16 mov DWORD PTR [esi], edx - 00158 83 c4 0c add esp, 12 ; 0000000cH - -; 154 : strm->avail_in = 0; - - 0015b 89 5f 04 mov DWORD PTR [edi+4], ebx - 0015e ba 01 00 00 00 mov edx, 1 -$LN1@gz_look: - -; 155 : } -; 156 : state->how = COPY; - - 00163 89 56 30 mov DWORD PTR [esi+48], edx - -; 157 : state->direct = 1; - - 00166 89 56 2c mov DWORD PTR [esi+44], edx -$LN16@gz_look: - -; 158 : return 0; - - 00169 5f pop edi - 0016a 33 c0 xor eax, eax - 0016c 5b pop ebx - -; 159 : } - - 0016d 8b e5 mov esp, ebp - 0016f 5d pop ebp - 00170 c3 ret 0 -_gz_look ENDP -PUBLIC _gzdirect@4 -; Function compile flags: /Ogtp -; COMDAT _gzdirect@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_gzdirect@4 PROC ; COMDAT - -; 539 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 540 : gz_statep state; -; 541 : -; 542 : /* get internal structure */ -; 543 : if (file == NULL) - - 00004 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 00007 85 f6 test esi, esi - 00009 75 07 jne SHORT $LN2@gzdirect - -; 544 : return 0; - - 0000b 33 c0 xor eax, eax - 0000d 5e pop esi - -; 554 : } - - 0000e 5d pop ebp - 0000f c2 04 00 ret 4 -$LN2@gzdirect: - -; 545 : state = (gz_statep)file; -; 546 : -; 547 : /* if the state is not known, but we can find out, then do so (this is -; 548 : mainly for right after a gzopen() or gzdopen()) */ -; 549 : if (state->mode == GZ_READ && state->how == LOOK && state->x.have == 0) - - 00012 81 7e 10 4f 1c - 00 00 cmp DWORD PTR [esi+16], 7247 ; 00001c4fH - 00019 75 10 jne SHORT $LN1@gzdirect - 0001b 83 7e 30 00 cmp DWORD PTR [esi+48], 0 - 0001f 75 0a jne SHORT $LN1@gzdirect - 00021 83 3e 00 cmp DWORD PTR [esi], 0 - 00024 75 05 jne SHORT $LN1@gzdirect - -; 550 : (void)gz_look(state); - - 00026 e8 00 00 00 00 call _gz_look -$LN1@gzdirect: - -; 551 : -; 552 : /* return 1 if transparent, 0 if processing a gzip stream */ -; 553 : return state->direct; - - 0002b 8b 46 2c mov eax, DWORD PTR [esi+44] - 0002e 5e pop esi - -; 554 : } - - 0002f 5d pop ebp - 00030 c2 04 00 ret 4 -_gzdirect@4 ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _gz_fetch -_TEXT SEGMENT -_gz_fetch PROC ; COMDAT -; _state$ = eax - -; 222 : { - - 00000 53 push ebx - 00001 56 push esi - 00002 8b f0 mov esi, eax -$LL13@gz_fetch: - -; 223 : z_streamp strm = &(state->strm); -; 224 : -; 225 : do { -; 226 : switch(state->how) { - - 00004 8b 46 30 mov eax, DWORD PTR [esi+48] - 00007 83 e8 00 sub eax, 0 - 0000a 74 26 je SHORT $LN8@gz_fetch - 0000c 48 dec eax - 0000d 74 49 je SHORT $LN5@gz_fetch - 0000f 48 dec eax - 00010 75 30 jne SHORT $LN12@gz_fetch - -; 238 : return 0; -; 239 : case GZIP: /* -> GZIP or LOOK (if end of gzip stream) */ -; 240 : strm->avail_out = state->size << 1; - - 00012 8b 46 1c mov eax, DWORD PTR [esi+28] - 00015 03 c0 add eax, eax - 00017 89 46 74 mov DWORD PTR [esi+116], eax - -; 241 : strm->next_out = state->out; - - 0001a 8b 4e 28 mov ecx, DWORD PTR [esi+40] - -; 242 : if (gz_decomp(state) == -1) - - 0001d 8b de mov ebx, esi - 0001f 89 4e 70 mov DWORD PTR [esi+112], ecx - 00022 e8 00 00 00 00 call _gz_decomp - 00027 83 f8 ff cmp eax, -1 - 0002a 75 16 jne SHORT $LN12@gz_fetch -$LN19@gz_fetch: - 0002c 5e pop esi - -; 229 : return -1; - - 0002d 83 c8 ff or eax, -1 - 00030 5b pop ebx - -; 247 : } - - 00031 c3 ret 0 -$LN8@gz_fetch: - -; 227 : case LOOK: /* -> LOOK, COPY (only if never GZIP), or GZIP */ -; 228 : if (gz_look(state) == -1) - - 00032 e8 00 00 00 00 call _gz_look - 00037 83 f8 ff cmp eax, -1 - 0003a 74 f0 je SHORT $LN19@gz_fetch - -; 230 : if (state->how == LOOK) - - 0003c 83 7e 30 00 cmp DWORD PTR [esi+48], 0 - 00040 74 11 je SHORT $LN1@gz_fetch -$LN12@gz_fetch: - -; 243 : return -1; -; 244 : } -; 245 : } while (state->x.have == 0 && (!state->eof || strm->avail_in)); - - 00042 83 3e 00 cmp DWORD PTR [esi], 0 - 00045 75 0c jne SHORT $LN1@gz_fetch - 00047 83 7e 40 00 cmp DWORD PTR [esi+64], 0 - 0004b 74 b7 je SHORT $LL13@gz_fetch - 0004d 83 7e 68 00 cmp DWORD PTR [esi+104], 0 - 00051 75 b1 jne SHORT $LL13@gz_fetch -$LN1@gz_fetch: - 00053 5e pop esi - -; 246 : return 0; - - 00054 33 c0 xor eax, eax - 00056 5b pop ebx - -; 247 : } - - 00057 c3 ret 0 -$LN5@gz_fetch: - -; 231 : return 0; -; 232 : break; -; 233 : case COPY: /* -> COPY */ -; 234 : if (gz_load(state, state->out, state->size << 1, &(state->x.have)) -; 235 : == -1) - - 00058 8b 56 28 mov edx, DWORD PTR [esi+40] - 0005b 57 push edi - 0005c 8b 7e 1c mov edi, DWORD PTR [esi+28] - 0005f 03 ff add edi, edi - 00061 52 push edx - 00062 8b de mov ebx, esi - 00064 e8 00 00 00 00 call _gz_load - 00069 83 c4 04 add esp, 4 - 0006c 5f pop edi - 0006d 83 f8 ff cmp eax, -1 - -; 236 : return -1; - - 00070 74 ba je SHORT $LN19@gz_fetch - -; 237 : state->x.next = state->out; - - 00072 8b 46 28 mov eax, DWORD PTR [esi+40] - 00075 89 46 04 mov DWORD PTR [esi+4], eax - 00078 5e pop esi - -; 246 : return 0; - - 00079 33 c0 xor eax, eax - 0007b 5b pop ebx - -; 247 : } - - 0007c c3 ret 0 -_gz_fetch ENDP -; Function compile flags: /Ogtp -; COMDAT _gz_skip -_TEXT SEGMENT -_len$ = 8 ; size = 8 -_gz_skip PROC ; COMDAT -; _state$ = esi - -; 253 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - -; 254 : unsigned n; -; 255 : -; 256 : /* skip over len bytes or reach end-of-file, whichever comes first */ -; 257 : while (len) - - 00004 8b 5d 0c mov ebx, DWORD PTR _len$[ebp+4] - 00007 57 push edi - 00008 8b 7d 08 mov edi, DWORD PTR _len$[ebp] - 0000b 8b c7 mov eax, edi - 0000d 0b c3 or eax, ebx - 0000f 74 4b je SHORT $LN6@gz_skip -$LL7@gz_skip: - -; 258 : /* skip over whatever is in output buffer */ -; 259 : if (state->x.have) { - - 00011 8b 0e mov ecx, DWORD PTR [esi] - 00013 85 c9 test ecx, ecx - 00015 74 27 je SHORT $LN5@gz_skip - -; 260 : n = GT_OFF(state->x.have) || (z_off64_t)state->x.have > len ? -; 261 : (unsigned)len : state->x.have; - - 00017 33 c0 xor eax, eax - 00019 3b c3 cmp eax, ebx - 0001b 7f 0a jg SHORT $LN10@gz_skip - 0001d 7c 04 jl SHORT $LN15@gz_skip - 0001f 3b cf cmp ecx, edi - 00021 77 04 ja SHORT $LN10@gz_skip -$LN15@gz_skip: - 00023 8b c1 mov eax, ecx - 00025 eb 02 jmp SHORT $LN11@gz_skip -$LN10@gz_skip: - 00027 8b c7 mov eax, edi -$LN11@gz_skip: - -; 262 : state->x.have -= n; -; 263 : state->x.next += n; - - 00029 01 46 04 add DWORD PTR [esi+4], eax - 0002c 2b c8 sub ecx, eax - 0002e 89 0e mov DWORD PTR [esi], ecx - -; 264 : state->x.pos += n; - - 00030 33 c9 xor ecx, ecx - 00032 01 46 08 add DWORD PTR [esi+8], eax - 00035 11 4e 0c adc DWORD PTR [esi+12], ecx - -; 265 : len -= n; - - 00038 2b f8 sub edi, eax - 0003a 1b d9 sbb ebx, ecx - 0003c eb 18 jmp SHORT $LN1@gz_skip -$LN5@gz_skip: - -; 266 : } -; 267 : -; 268 : /* output buffer empty -- return if we're at the end of the input */ -; 269 : else if (state->eof && state->strm.avail_in == 0) - - 0003e 83 7e 40 00 cmp DWORD PTR [esi+64], 0 - 00042 74 06 je SHORT $LN3@gz_skip - 00044 83 7e 68 00 cmp DWORD PTR [esi+104], 0 - 00048 74 12 je SHORT $LN6@gz_skip -$LN3@gz_skip: - -; 270 : break; -; 271 : -; 272 : /* need more data to skip -- load up output buffer */ -; 273 : else { -; 274 : /* get more output, looking for header if required */ -; 275 : if (gz_fetch(state) == -1) - - 0004a 8b c6 mov eax, esi - 0004c e8 00 00 00 00 call _gz_fetch - 00051 83 f8 ff cmp eax, -1 - 00054 74 0c je SHORT $LN14@gz_skip -$LN1@gz_skip: - -; 254 : unsigned n; -; 255 : -; 256 : /* skip over len bytes or reach end-of-file, whichever comes first */ -; 257 : while (len) - - 00056 8b cf mov ecx, edi - 00058 0b cb or ecx, ebx - 0005a 75 b5 jne SHORT $LL7@gz_skip -$LN6@gz_skip: - 0005c 5f pop edi - -; 277 : } -; 278 : return 0; - - 0005d 33 c0 xor eax, eax - 0005f 5b pop ebx - -; 279 : } - - 00060 5d pop ebp - 00061 c3 ret 0 -$LN14@gz_skip: - 00062 5f pop edi - -; 276 : return -1; - - 00063 83 c8 ff or eax, -1 - 00066 5b pop ebx - -; 279 : } - - 00067 5d pop ebp - 00068 c3 ret 0 -_gz_skip ENDP -PUBLIC _gzgets@12 -; Function compile flags: /Ogtp -; COMDAT _gzgets@12 -_TEXT SEGMENT -_left$ = 8 ; size = 4 -_file$ = 8 ; size = 4 -_buf$ = 12 ; size = 4 -_str$ = 16 ; size = 4 -_len$ = 16 ; size = 4 -_gzgets@12 PROC ; COMDAT - -; 477 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - 00004 56 push esi - -; 478 : unsigned left, n; -; 479 : char *str; -; 480 : unsigned char *eol; -; 481 : gz_statep state; -; 482 : -; 483 : /* check parameters and get internal structure */ -; 484 : if (file == NULL || buf == NULL || len < 1) - - 00005 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 00008 57 push edi - 00009 85 f6 test esi, esi - 0000b 0f 84 ef 00 00 - 00 je $LN14@gzgets - 00011 8b 7d 0c mov edi, DWORD PTR _buf$[ebp] - 00014 85 ff test edi, edi - 00016 0f 84 e4 00 00 - 00 je $LN14@gzgets - 0001c 8b 5d 10 mov ebx, DWORD PTR _len$[ebp] - 0001f 83 fb 01 cmp ebx, 1 - 00022 0f 8c d8 00 00 - 00 jl $LN14@gzgets - -; 486 : state = (gz_statep)file; -; 487 : -; 488 : /* check that we're reading and that there's no (serious) error */ -; 489 : if (state->mode != GZ_READ || -; 490 : (state->err != Z_OK && state->err != Z_BUF_ERROR)) - - 00028 81 7e 10 4f 1c - 00 00 cmp DWORD PTR [esi+16], 7247 ; 00001c4fH - 0002f 0f 85 cb 00 00 - 00 jne $LN14@gzgets - 00035 8b 46 5c mov eax, DWORD PTR [esi+92] - 00038 85 c0 test eax, eax - 0003a 74 09 je SHORT $LN13@gzgets - 0003c 83 f8 fb cmp eax, -5 ; fffffffbH - 0003f 0f 85 bb 00 00 - 00 jne $LN14@gzgets -$LN13@gzgets: - -; 491 : return NULL; -; 492 : -; 493 : /* process a skip request */ -; 494 : if (state->seek) { - - 00045 83 7e 58 00 cmp DWORD PTR [esi+88], 0 - 00049 74 20 je SHORT $LN25@gzgets - -; 495 : state->seek = 0; -; 496 : if (gz_skip(state, state->skip) == -1) - - 0004b 8b 46 54 mov eax, DWORD PTR [esi+84] - 0004e 8b 4e 50 mov ecx, DWORD PTR [esi+80] - 00051 50 push eax - 00052 51 push ecx - 00053 c7 46 58 00 00 - 00 00 mov DWORD PTR [esi+88], 0 - 0005a e8 00 00 00 00 call _gz_skip - 0005f 83 c4 08 add esp, 8 - 00062 83 f8 ff cmp eax, -1 - -; 497 : return NULL; - - 00065 0f 84 95 00 00 - 00 je $LN14@gzgets -$LN25@gzgets: - -; 498 : } -; 499 : -; 500 : /* copy output bytes up to new line or len - 1, whichever comes first -- -; 501 : append a terminating zero to the string (we don't check for a zero in -; 502 : the contents, let the user worry about that) */ -; 503 : str = buf; -; 504 : left = (unsigned)len - 1; - - 0006b 4b dec ebx - 0006c 89 7d 10 mov DWORD PTR _str$[ebp], edi - 0006f 89 5d 08 mov DWORD PTR _left$[ebp], ebx - -; 505 : if (left) do { - - 00072 0f 84 88 00 00 - 00 je $LN14@gzgets -$LL8@gzgets: - -; 506 : /* assure that something is in the output buffer */ -; 507 : if (state->x.have == 0 && gz_fetch(state) == -1) - - 00078 8b 3e mov edi, DWORD PTR [esi] - 0007a 85 ff test edi, edi - 0007c 75 12 jne SHORT $LN24@gzgets - 0007e 8b c6 mov eax, esi - 00080 e8 00 00 00 00 call _gz_fetch - 00085 83 f8 ff cmp eax, -1 - 00088 74 76 je SHORT $LN14@gzgets - -; 508 : return NULL; /* error */ -; 509 : if (state->x.have == 0) { /* end of file */ - - 0008a 8b 3e mov edi, DWORD PTR [esi] - 0008c 85 ff test edi, edi - 0008e 74 55 je SHORT $LN22@gzgets -$LN24@gzgets: - -; 511 : break; /* return what we have */ -; 512 : } -; 513 : -; 514 : /* look for end-of-line in current output buffer */ -; 515 : n = state->x.have > left ? left : state->x.have; - - 00090 3b fb cmp edi, ebx - 00092 76 02 jbe SHORT $LN18@gzgets - 00094 8b fb mov edi, ebx -$LN18@gzgets: - -; 516 : eol = memchr(state->x.next, '\n', n); - - 00096 8b 56 04 mov edx, DWORD PTR [esi+4] - 00099 57 push edi - 0009a 6a 0a push 10 ; 0000000aH - 0009c 52 push edx - 0009d e8 00 00 00 00 call _memchr - 000a2 8b d8 mov ebx, eax - 000a4 83 c4 0c add esp, 12 ; 0000000cH - -; 517 : if (eol != NULL) - - 000a7 85 db test ebx, ebx - 000a9 74 06 je SHORT $LN3@gzgets - -; 518 : n = (unsigned)(eol - state->x.next) + 1; - - 000ab 8b fb mov edi, ebx - 000ad 2b 7e 04 sub edi, DWORD PTR [esi+4] - 000b0 47 inc edi -$LN3@gzgets: - -; 519 : -; 520 : /* copy through end-of-line, or remainder if not found */ -; 521 : memcpy(buf, state->x.next, n); - - 000b1 8b 46 04 mov eax, DWORD PTR [esi+4] - 000b4 8b 4d 0c mov ecx, DWORD PTR _buf$[ebp] - 000b7 57 push edi - 000b8 50 push eax - 000b9 51 push ecx - 000ba e8 00 00 00 00 call _memcpy - -; 522 : state->x.have -= n; - - 000bf 29 3e sub DWORD PTR [esi], edi - -; 523 : state->x.next += n; - - 000c1 01 7e 04 add DWORD PTR [esi+4], edi - -; 524 : state->x.pos += n; -; 525 : left -= n; - - 000c4 8b 45 08 mov eax, DWORD PTR _left$[ebp] - 000c7 83 c4 0c add esp, 12 ; 0000000cH - 000ca 01 7e 08 add DWORD PTR [esi+8], edi - 000cd 83 56 0c 00 adc DWORD PTR [esi+12], 0 - -; 526 : buf += n; - - 000d1 01 7d 0c add DWORD PTR _buf$[ebp], edi - 000d4 2b c7 sub eax, edi - 000d6 89 45 08 mov DWORD PTR _left$[ebp], eax - -; 527 : } while (left && eol == NULL); - - 000d9 85 c0 test eax, eax - 000db 74 0f je SHORT $LN2@gzgets - 000dd 85 db test ebx, ebx - 000df 75 0b jne SHORT $LN2@gzgets - 000e1 8b d8 mov ebx, eax - 000e3 eb 93 jmp SHORT $LL8@gzgets -$LN22@gzgets: - -; 510 : state->past = 1; /* read past end */ - - 000e5 c7 46 44 01 00 - 00 00 mov DWORD PTR [esi+68], 1 -$LN2@gzgets: - -; 528 : -; 529 : /* return terminated string, or if nothing, end of file */ -; 530 : if (buf == str) - - 000ec 8b 4d 0c mov ecx, DWORD PTR _buf$[ebp] - 000ef 8b 45 10 mov eax, DWORD PTR _str$[ebp] - 000f2 3b c8 cmp ecx, eax - -; 531 : return NULL; - - 000f4 74 0a je SHORT $LN14@gzgets - -; 532 : buf[0] = 0; - - 000f6 5f pop edi - 000f7 5e pop esi - 000f8 c6 01 00 mov BYTE PTR [ecx], 0 - 000fb 5b pop ebx - -; 533 : return str; -; 534 : } - - 000fc 5d pop ebp - 000fd c2 0c 00 ret 12 ; 0000000cH -$LN14@gzgets: - 00100 5f pop edi - 00101 5e pop esi - -; 485 : return NULL; - - 00102 33 c0 xor eax, eax - 00104 5b pop ebx - -; 533 : return str; -; 534 : } - - 00105 5d pop ebp - 00106 c2 0c 00 ret 12 ; 0000000cH -_gzgets@12 ENDP -_TEXT ENDS -PUBLIC _gzungetc@8 -; Function compile flags: /Ogtp -; COMDAT _gzungetc@8 -_TEXT SEGMENT -_c$ = 8 ; size = 4 -_file$ = 12 ; size = 4 -_gzungetc@8 PROC ; COMDAT - -; 416 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 417 : gz_statep state; -; 418 : -; 419 : /* get internal structure */ -; 420 : if (file == NULL) - - 00004 8b 75 0c mov esi, DWORD PTR _file$[ebp] - 00007 57 push edi - 00008 33 ff xor edi, edi - 0000a 3b f7 cmp esi, edi - 0000c 75 09 jne SHORT $LN11@gzungetc -$LN9@gzungetc: - 0000e 5f pop edi - -; 421 : return -1; - - 0000f 83 c8 ff or eax, -1 - 00012 5e pop esi - -; 469 : return c; -; 470 : } - - 00013 5d pop ebp - 00014 c2 08 00 ret 8 -$LN11@gzungetc: - -; 422 : state = (gz_statep)file; -; 423 : -; 424 : /* check that we're reading and that there's no (serious) error */ -; 425 : if (state->mode != GZ_READ || -; 426 : (state->err != Z_OK && state->err != Z_BUF_ERROR)) - - 00017 81 7e 10 4f 1c - 00 00 cmp DWORD PTR [esi+16], 7247 ; 00001c4fH - 0001e 75 ee jne SHORT $LN9@gzungetc - 00020 8b 46 5c mov eax, DWORD PTR [esi+92] - 00023 3b c7 cmp eax, edi - 00025 74 05 je SHORT $LN10@gzungetc - 00027 83 f8 fb cmp eax, -5 ; fffffffbH - 0002a 75 e2 jne SHORT $LN9@gzungetc -$LN10@gzungetc: - 0002c 53 push ebx - -; 427 : return -1; -; 428 : -; 429 : /* process a skip request */ -; 430 : if (state->seek) { - - 0002d 83 cb ff or ebx, -1 - 00030 39 7e 58 cmp DWORD PTR [esi+88], edi - 00033 74 17 je SHORT $LN7@gzungetc - -; 431 : state->seek = 0; -; 432 : if (gz_skip(state, state->skip) == -1) - - 00035 8b 46 54 mov eax, DWORD PTR [esi+84] - 00038 8b 4e 50 mov ecx, DWORD PTR [esi+80] - 0003b 50 push eax - 0003c 51 push ecx - 0003d 89 7e 58 mov DWORD PTR [esi+88], edi - 00040 e8 00 00 00 00 call _gz_skip - 00045 83 c4 08 add esp, 8 - 00048 3b c3 cmp eax, ebx - -; 433 : return -1; - - 0004a 74 4d je SHORT $LN18@gzungetc -$LN7@gzungetc: - -; 434 : } -; 435 : -; 436 : /* can't push EOF */ -; 437 : if (c < 0) - - 0004c 8b 45 08 mov eax, DWORD PTR _c$[ebp] - 0004f 3b c7 cmp eax, edi - -; 438 : return -1; - - 00051 7c 46 jl SHORT $LN18@gzungetc - -; 439 : -; 440 : /* if output buffer empty, put byte at end (allows more pushing) */ -; 441 : if (state->x.have == 0) { - - 00053 8b 0e mov ecx, DWORD PTR [esi] - -; 442 : state->x.have = 1; -; 443 : state->x.next = state->out + (state->size << 1) - 1; - - 00055 8b 56 1c mov edx, DWORD PTR [esi+28] - 00058 3b cf cmp ecx, edi - 0005a 75 22 jne SHORT $LN5@gzungetc - 0005c 8b 4e 28 mov ecx, DWORD PTR [esi+40] - 0005f 8d 4c 51 ff lea ecx, DWORD PTR [ecx+edx*2-1] - 00063 c7 06 01 00 00 - 00 mov DWORD PTR [esi], 1 - 00069 89 4e 04 mov DWORD PTR [esi+4], ecx - -; 444 : state->x.next[0] = c; - - 0006c 88 01 mov BYTE PTR [ecx], al - -; 467 : state->x.pos--; - - 0006e 01 5e 08 add DWORD PTR [esi+8], ebx - 00071 89 7e 44 mov DWORD PTR [esi+68], edi - 00074 11 5e 0c adc DWORD PTR [esi+12], ebx - 00077 5b pop ebx - 00078 5f pop edi - 00079 5e pop esi - -; 469 : return c; -; 470 : } - - 0007a 5d pop ebp - 0007b c2 08 00 ret 8 -$LN5@gzungetc: - -; 445 : state->x.pos--; -; 446 : state->past = 0; -; 447 : return c; -; 448 : } -; 449 : -; 450 : /* if no room, give up (must have already done a gzungetc()) */ -; 451 : if (state->x.have == (state->size << 1)) { - - 0007e 8d 3c 12 lea edi, DWORD PTR [edx+edx] - 00081 3b cf cmp ecx, edi - 00083 75 1d jne SHORT $LN4@gzungetc - -; 452 : gz_error(state, Z_DATA_ERROR, "out of room to push characters"); - - 00085 68 00 00 00 00 push OFFSET ??_C@_0BP@IIKIGMCC@out?5of?5room?5to?5push?5characters?$AA@ - 0008a b8 fd ff ff ff mov eax, -3 ; fffffffdH - 0008f 8b ce mov ecx, esi - 00091 e8 00 00 00 00 call _gz_error - 00096 83 c4 04 add esp, 4 -$LN18@gzungetc: - -; 453 : return -1; - - 00099 8b c3 mov eax, ebx - 0009b 5b pop ebx - 0009c 5f pop edi - 0009d 5e pop esi - -; 469 : return c; -; 470 : } - - 0009e 5d pop ebp - 0009f c2 08 00 ret 8 -$LN4@gzungetc: - -; 454 : } -; 455 : -; 456 : /* slide output data if needed and insert byte before existing data */ -; 457 : if (state->x.next == state->out) { - - 000a2 8b 7e 28 mov edi, DWORD PTR [esi+40] - 000a5 39 7e 04 cmp DWORD PTR [esi+4], edi - 000a8 75 1b jne SHORT $LN3@gzungetc - -; 458 : unsigned char *src = state->out + state->x.have; - - 000aa 03 cf add ecx, edi - -; 459 : unsigned char *dest = state->out + (state->size << 1); - - 000ac 8d 14 57 lea edx, DWORD PTR [edi+edx*2] - -; 460 : while (src > state->out) - - 000af 3b cf cmp ecx, edi - 000b1 76 0f jbe SHORT $LN1@gzungetc -$LL2@gzungetc: - -; 461 : *--dest = *--src; - - 000b3 8a 59 ff mov bl, BYTE PTR [ecx-1] - 000b6 49 dec ecx - 000b7 4a dec edx - 000b8 88 1a mov BYTE PTR [edx], bl - 000ba 3b 4e 28 cmp ecx, DWORD PTR [esi+40] - 000bd 77 f4 ja SHORT $LL2@gzungetc - -; 460 : while (src > state->out) - - 000bf 83 cb ff or ebx, -1 -$LN1@gzungetc: - -; 462 : state->x.next = dest; - - 000c2 89 56 04 mov DWORD PTR [esi+4], edx -$LN3@gzungetc: - -; 463 : } -; 464 : state->x.have++; -; 465 : state->x.next--; - - 000c5 01 5e 04 add DWORD PTR [esi+4], ebx - 000c8 ff 06 inc DWORD PTR [esi] - 000ca 8b 4e 04 mov ecx, DWORD PTR [esi+4] - -; 466 : state->x.next[0] = c; - - 000cd 88 01 mov BYTE PTR [ecx], al - -; 467 : state->x.pos--; - - 000cf 01 5e 08 add DWORD PTR [esi+8], ebx - -; 468 : state->past = 0; - - 000d2 c7 46 44 00 00 - 00 00 mov DWORD PTR [esi+68], 0 - 000d9 11 5e 0c adc DWORD PTR [esi+12], ebx - 000dc 5b pop ebx - 000dd 5f pop edi - 000de 5e pop esi - -; 469 : return c; -; 470 : } - - 000df 5d pop ebp - 000e0 c2 08 00 ret 8 -_gzungetc@8 ENDP -_TEXT ENDS -PUBLIC _gzread@12 -; Function compile flags: /Ogtp -; COMDAT _gzread@12 -_TEXT SEGMENT -_n$ = 8 ; size = 4 -_file$ = 8 ; size = 4 -_buf$ = 12 ; size = 4 -_got$ = 16 ; size = 4 -_len$ = 16 ; size = 4 -_gzread@12 PROC ; COMDAT - -; 286 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - -; 287 : unsigned got, n; -; 288 : gz_statep state; -; 289 : z_streamp strm; -; 290 : -; 291 : /* get internal structure */ -; 292 : if (file == NULL) - - 00004 8b 5d 08 mov ebx, DWORD PTR _file$[ebp] - 00007 85 db test ebx, ebx - 00009 75 08 jne SHORT $LN22@gzread -$LN20@gzread: - -; 293 : return -1; - - 0000b 83 c8 ff or eax, -1 - 0000e 5b pop ebx - -; 373 : } - - 0000f 5d pop ebp - 00010 c2 0c 00 ret 12 ; 0000000cH -$LN22@gzread: - -; 294 : state = (gz_statep)file; -; 295 : strm = &(state->strm); -; 296 : -; 297 : /* check that we're reading and that there's no (serious) error */ -; 298 : if (state->mode != GZ_READ || -; 299 : (state->err != Z_OK && state->err != Z_BUF_ERROR)) - - 00013 81 7b 10 4f 1c - 00 00 cmp DWORD PTR [ebx+16], 7247 ; 00001c4fH - 0001a 75 ef jne SHORT $LN20@gzread - 0001c 8b 43 5c mov eax, DWORD PTR [ebx+92] - 0001f 85 c0 test eax, eax - 00021 74 05 je SHORT $LN21@gzread - 00023 83 f8 fb cmp eax, -5 ; fffffffbH - 00026 75 e3 jne SHORT $LN20@gzread -$LN21@gzread: - 00028 57 push edi - -; 300 : return -1; -; 301 : -; 302 : /* since an int is returned, make sure len fits in one, otherwise return -; 303 : with an error (this avoids the flaw in the interface) */ -; 304 : if ((int)len < 0) { - - 00029 8b 7d 10 mov edi, DWORD PTR _len$[ebp] - 0002c 85 ff test edi, edi - 0002e 79 1d jns SHORT $LN37@gzread - -; 305 : gz_error(state, Z_DATA_ERROR, "requested length does not fit in int"); - - 00030 68 00 00 00 00 push OFFSET ??_C@_0CF@MLPJFDMM@requested?5length?5does?5not?5fit?5in@ - 00035 b8 fd ff ff ff mov eax, -3 ; fffffffdH - 0003a 8b cb mov ecx, ebx - 0003c e8 00 00 00 00 call _gz_error - 00041 83 c4 04 add esp, 4 - 00044 5f pop edi - -; 306 : return -1; - - 00045 83 c8 ff or eax, -1 - 00048 5b pop ebx - -; 373 : } - - 00049 5d pop ebp - 0004a c2 0c 00 ret 12 ; 0000000cH -$LN37@gzread: - -; 307 : } -; 308 : -; 309 : /* if len is zero, avoid unnecessary operations */ -; 310 : if (len == 0) - - 0004d 75 08 jne SHORT $LN18@gzread - -; 311 : return 0; - - 0004f 5f pop edi - 00050 33 c0 xor eax, eax - 00052 5b pop ebx - -; 373 : } - - 00053 5d pop ebp - 00054 c2 0c 00 ret 12 ; 0000000cH -$LN18@gzread: - -; 312 : -; 313 : /* process a skip request */ -; 314 : if (state->seek) { - - 00057 83 7b 58 00 cmp DWORD PTR [ebx+88], 0 - 0005b 56 push esi - 0005c 74 22 je SHORT $LN32@gzread - -; 315 : state->seek = 0; -; 316 : if (gz_skip(state, state->skip) == -1) - - 0005e 8b 43 54 mov eax, DWORD PTR [ebx+84] - 00061 8b 4b 50 mov ecx, DWORD PTR [ebx+80] - 00064 50 push eax - 00065 51 push ecx - 00066 8b f3 mov esi, ebx - 00068 c7 43 58 00 00 - 00 00 mov DWORD PTR [ebx+88], 0 - 0006f e8 00 00 00 00 call _gz_skip - 00074 83 c4 08 add esp, 8 - 00077 83 f8 ff cmp eax, -1 - -; 317 : return -1; - - 0007a 0f 84 eb 00 00 - 00 je $LN31@gzread -$LN32@gzread: - -; 318 : } -; 319 : -; 320 : /* get len bytes to buf, or less than len if at the end */ -; 321 : got = 0; - - 00080 c7 45 10 00 00 - 00 00 mov DWORD PTR _got$[ebp], 0 -$LL15@gzread: - -; 322 : do { -; 323 : /* first just try copying data from the output buffer */ -; 324 : if (state->x.have) { - - 00087 8b 33 mov esi, DWORD PTR [ebx] - 00089 85 f6 test esi, esi - 0008b 74 33 je SHORT $LN12@gzread - -; 325 : n = state->x.have > len ? len : state->x.have; - - 0008d 3b f7 cmp esi, edi - 0008f 76 02 jbe SHORT $LN25@gzread - 00091 8b f7 mov esi, edi -$LN25@gzread: - -; 326 : memcpy(buf, state->x.next, n); - - 00093 8b 53 04 mov edx, DWORD PTR [ebx+4] - 00096 8b 45 0c mov eax, DWORD PTR _buf$[ebp] - 00099 56 push esi - 0009a 52 push edx - 0009b 50 push eax - 0009c 89 75 08 mov DWORD PTR _n$[ebp], esi - 0009f e8 00 00 00 00 call _memcpy - -; 327 : state->x.next += n; - - 000a4 01 73 04 add DWORD PTR [ebx+4], esi - -; 328 : state->x.have -= n; - - 000a7 29 33 sub DWORD PTR [ebx], esi - -; 361 : state->x.have = 0; -; 362 : } -; 363 : -; 364 : /* update progress */ -; 365 : len -= n; -; 366 : buf = (char *)buf + n; - - 000a9 01 75 0c add DWORD PTR _buf$[ebp], esi - -; 367 : got += n; - - 000ac 01 75 10 add DWORD PTR _got$[ebp], esi - 000af 83 c4 0c add esp, 12 ; 0000000cH - 000b2 2b fe sub edi, esi - -; 368 : state->x.pos += n; - - 000b4 01 73 08 add DWORD PTR [ebx+8], esi - 000b7 83 53 0c 00 adc DWORD PTR [ebx+12], 0 - 000bb e9 88 00 00 00 jmp $LN14@gzread -$LN12@gzread: - -; 329 : } -; 330 : -; 331 : /* output buffer empty -- return if we're at the end of the input */ -; 332 : else if (state->eof && strm->avail_in == 0) { - - 000c0 83 7b 40 00 cmp DWORD PTR [ebx+64], 0 - 000c4 74 0a je SHORT $LN10@gzread - 000c6 83 7b 68 00 cmp DWORD PTR [ebx+104], 0 - 000ca 0f 84 8a 00 00 - 00 je $LN28@gzread -$LN10@gzread: - -; 333 : state->past = 1; /* tried to read past end */ -; 334 : break; -; 335 : } -; 336 : -; 337 : /* need output data -- for small len or new stream load up our output -; 338 : buffer */ -; 339 : else if (state->how == LOOK || len < (state->size << 1)) { - - 000d0 8b 43 30 mov eax, DWORD PTR [ebx+48] - 000d3 85 c0 test eax, eax - 000d5 74 65 je SHORT $LN7@gzread - 000d7 8b 4b 1c mov ecx, DWORD PTR [ebx+28] - 000da 03 c9 add ecx, ecx - 000dc 3b f9 cmp edi, ecx - 000de 72 5c jb SHORT $LN7@gzread - -; 343 : continue; /* no progress yet -- go back to memcpy() above */ -; 344 : /* the copy above assures that we will leave with space in the -; 345 : output buffer, allowing at least one gzungetc() to succeed */ -; 346 : } -; 347 : -; 348 : /* large len -- read directly into user buffer */ -; 349 : else if (state->how == COPY) { /* read directly */ - - 000e0 83 f8 01 cmp eax, 1 - 000e3 75 28 jne SHORT $LN4@gzread - -; 350 : if (gz_load(state, buf, len, &n) == -1) - - 000e5 8b 55 0c mov edx, DWORD PTR _buf$[ebp] - 000e8 52 push edx - 000e9 8d 75 08 lea esi, DWORD PTR _n$[ebp] - 000ec e8 00 00 00 00 call _gz_load - 000f1 83 c4 04 add esp, 4 - 000f4 83 f8 ff cmp eax, -1 - 000f7 74 72 je SHORT $LN31@gzread - -; 351 : return -1; -; 352 : } -; 353 : -; 354 : /* large len -- decompress directly into user buffer */ -; 355 : else { /* state->how == GZIP */ - - 000f9 8b 75 08 mov esi, DWORD PTR _n$[ebp] - -; 361 : state->x.have = 0; -; 362 : } -; 363 : -; 364 : /* update progress */ -; 365 : len -= n; -; 366 : buf = (char *)buf + n; - - 000fc 01 75 0c add DWORD PTR _buf$[ebp], esi - -; 367 : got += n; - - 000ff 01 75 10 add DWORD PTR _got$[ebp], esi - 00102 2b fe sub edi, esi - -; 368 : state->x.pos += n; - - 00104 01 73 08 add DWORD PTR [ebx+8], esi - 00107 83 53 0c 00 adc DWORD PTR [ebx+12], 0 - 0010b eb 3b jmp SHORT $LN14@gzread -$LN4@gzread: - -; 356 : strm->avail_out = len; -; 357 : strm->next_out = buf; - - 0010d 8b 45 0c mov eax, DWORD PTR _buf$[ebp] - 00110 89 7b 74 mov DWORD PTR [ebx+116], edi - 00113 89 43 70 mov DWORD PTR [ebx+112], eax - -; 358 : if (gz_decomp(state) == -1) - - 00116 e8 00 00 00 00 call _gz_decomp - 0011b 83 f8 ff cmp eax, -1 - 0011e 74 4b je SHORT $LN31@gzread - -; 359 : return -1; -; 360 : n = state->x.have; - - 00120 8b 33 mov esi, DWORD PTR [ebx] - -; 361 : state->x.have = 0; -; 362 : } -; 363 : -; 364 : /* update progress */ -; 365 : len -= n; -; 366 : buf = (char *)buf + n; - - 00122 01 75 0c add DWORD PTR _buf$[ebp], esi - -; 367 : got += n; - - 00125 01 75 10 add DWORD PTR _got$[ebp], esi - 00128 2b fe sub edi, esi - -; 368 : state->x.pos += n; - - 0012a 01 73 08 add DWORD PTR [ebx+8], esi - 0012d 89 75 08 mov DWORD PTR _n$[ebp], esi - 00130 c7 03 00 00 00 - 00 mov DWORD PTR [ebx], 0 - 00136 83 53 0c 00 adc DWORD PTR [ebx+12], 0 - 0013a eb 0c jmp SHORT $LN14@gzread -$LN7@gzread: - -; 340 : /* get more output, looking for header if required */ -; 341 : if (gz_fetch(state) == -1) - - 0013c 8b c3 mov eax, ebx - 0013e e8 00 00 00 00 call _gz_fetch - 00143 83 f8 ff cmp eax, -1 - 00146 74 23 je SHORT $LN31@gzread -$LN14@gzread: - -; 369 : } while (len); - - 00148 85 ff test edi, edi - 0014a 0f 85 37 ff ff - ff jne $LL15@gzread - -; 370 : -; 371 : /* return number of bytes read into user buffer (will fit in int) */ -; 372 : return (int)got; - - 00150 8b 45 10 mov eax, DWORD PTR _got$[ebp] - 00153 5e pop esi - 00154 5f pop edi - 00155 5b pop ebx - -; 373 : } - - 00156 5d pop ebp - 00157 c2 0c 00 ret 12 ; 0000000cH -$LN28@gzread: - -; 370 : -; 371 : /* return number of bytes read into user buffer (will fit in int) */ -; 372 : return (int)got; - - 0015a 8b 45 10 mov eax, DWORD PTR _got$[ebp] - 0015d 5e pop esi - 0015e 5f pop edi - 0015f c7 43 44 01 00 - 00 00 mov DWORD PTR [ebx+68], 1 - 00166 5b pop ebx - -; 373 : } - - 00167 5d pop ebp - 00168 c2 0c 00 ret 12 ; 0000000cH -$LN31@gzread: - 0016b 5e pop esi - 0016c 5f pop edi - -; 342 : return -1; - - 0016d 83 c8 ff or eax, -1 - 00170 5b pop ebx - -; 373 : } - - 00171 5d pop ebp - 00172 c2 0c 00 ret 12 ; 0000000cH -_gzread@12 ENDP -PUBLIC _gzgetc_@4 -; Function compile flags: /Ogtp -; COMDAT _gzgetc_@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_buf$ = 11 ; size = 1 -_gzgetc_@4 PROC ; COMDAT - -; 378 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 379 : int ret; -; 380 : unsigned char buf[1]; -; 381 : gz_statep state; -; 382 : -; 383 : /* get internal structure */ -; 384 : if (file == NULL) - - 00003 8b 45 08 mov eax, DWORD PTR _file$[ebp] - 00006 85 c0 test eax, eax - -; 385 : return -1; - - 00008 74 4f je SHORT $LN2@gzgetc_ - -; 386 : state = (gz_statep)file; -; 387 : -; 388 : /* check that we're reading and that there's no (serious) error */ -; 389 : if (state->mode != GZ_READ || -; 390 : (state->err != Z_OK && state->err != Z_BUF_ERROR)) - - 0000a 81 78 10 4f 1c - 00 00 cmp DWORD PTR [eax+16], 7247 ; 00001c4fH - 00011 75 46 jne SHORT $LN2@gzgetc_ - 00013 8b 48 5c mov ecx, DWORD PTR [eax+92] - 00016 85 c9 test ecx, ecx - 00018 74 05 je SHORT $LN3@gzgetc_ - 0001a 83 f9 fb cmp ecx, -5 ; fffffffbH - 0001d 75 3a jne SHORT $LN2@gzgetc_ -$LN3@gzgetc_: - -; 392 : -; 393 : /* try output buffer (no need to check for skip request) */ -; 394 : if (state->x.have) { - - 0001f 8b 08 mov ecx, DWORD PTR [eax] - 00021 85 c9 test ecx, ecx - 00023 74 1b je SHORT $LN1@gzgetc_ - -; 395 : state->x.have--; - - 00025 49 dec ecx - -; 396 : state->x.pos++; - - 00026 83 40 08 01 add DWORD PTR [eax+8], 1 - 0002a 89 08 mov DWORD PTR [eax], ecx - -; 397 : return *(state->x.next)++; - - 0002c 8b 48 04 mov ecx, DWORD PTR [eax+4] - 0002f 83 50 0c 00 adc DWORD PTR [eax+12], 0 - 00033 8a 11 mov dl, BYTE PTR [ecx] - 00035 41 inc ecx - 00036 89 48 04 mov DWORD PTR [eax+4], ecx - 00039 0f b6 c2 movzx eax, dl - -; 403 : } - - 0003c 5d pop ebp - 0003d c2 04 00 ret 4 -$LN1@gzgetc_: - -; 398 : } -; 399 : -; 400 : /* nothing there -- try gzread() */ -; 401 : ret = gzread(file, buf, 1); - - 00040 6a 01 push 1 - 00042 8d 4d 0b lea ecx, DWORD PTR _buf$[ebp] - 00045 51 push ecx - 00046 50 push eax - 00047 e8 00 00 00 00 call _gzread@12 - -; 402 : return ret < 1 ? -1 : buf[0]; - - 0004c 83 f8 01 cmp eax, 1 - 0004f 7c 08 jl SHORT $LN2@gzgetc_ - 00051 0f b6 45 0b movzx eax, BYTE PTR _buf$[ebp] - -; 403 : } - - 00055 5d pop ebp - 00056 c2 04 00 ret 4 -$LN2@gzgetc_: - -; 391 : return -1; - - 00059 83 c8 ff or eax, -1 - -; 403 : } - - 0005c 5d pop ebp - 0005d c2 04 00 ret 4 -_gzgetc_@4 ENDP -_TEXT ENDS -PUBLIC _gzgetc@4 -; Function compile flags: /Ogtp -; COMDAT _gzgetc@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_gzgetc@4 PROC ; COMDAT - -; 408 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 410 : } - - 00003 5d pop ebp - -; 409 : return gzgetc_(file); - - 00004 e9 00 00 00 00 jmp _gzgetc_@4 -_gzgetc@4 ENDP -_TEXT ENDS -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/gzwrite.cod b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/gzwrite.cod deleted file mode 100644 index 98fe27e3..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/gzwrite.cod +++ /dev/null @@ -1,1859 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.30319.01 - - TITLE D:\FMU\FMUSolution\zlib-1.2.6\gzwrite.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC ??_C@_0CH@DEEGAHIB@internal?5error?3?5deflate?5stream?5c@ ; `string' -EXTRN _vsnprintf:PROC -EXTRN _write:PROC -; COMDAT ??_C@_0CH@DEEGAHIB@internal?5error?3?5deflate?5stream?5c@ -CONST SEGMENT -??_C@_0CH@DEEGAHIB@internal?5error?3?5deflate?5stream?5c@ DB 'internal er' - DB 'ror: deflate stream corrupt', 00H ; `string' -PUBLIC _gzflags@0 -; Function compile flags: /Ogtp -; File d:\fmu\fmusolution\zlib-1.2.6\gzwrite.c -; COMDAT _gzflags@0 -_TEXT SEGMENT -_gzflags@0 PROC ; COMDAT - -; 567 : unsigned long flags = 0; -; 568 : #if defined(STDC) || defined(Z_HAVE_STDARG_H) -; 569 : # ifdef NO_vsnprintf -; 570 : flags += 1L << 25; -; 571 : # ifdef HAS_vsprintf_void -; 572 : flags += 1L << 26; -; 573 : # endif -; 574 : # else -; 575 : # ifdef HAS_vsnprintf_void -; 576 : flags += 1L << 26; -; 577 : # endif -; 578 : # endif -; 579 : #else -; 580 : flags += 1L << 24; -; 581 : # ifdef NO_snprintf -; 582 : flags += 1L << 25; -; 583 : # ifdef HAS_sprintf_void -; 584 : flags += 1L << 26; -; 585 : # endif -; 586 : # else -; 587 : # ifdef HAS_snprintf_void -; 588 : flags += 1L << 26; -; 589 : # endif -; 590 : # endif -; 591 : #endif -; 592 : return flags; - - 00000 33 c0 xor eax, eax - -; 593 : } - - 00002 c3 ret 0 -_gzflags@0 ENDP -; Function compile flags: /Ogtp -; COMDAT _gz_init -_TEXT SEGMENT -_gz_init PROC ; COMDAT -; _state$ = esi - -; 18 : int ret; -; 19 : z_streamp strm = &(state->strm); -; 20 : -; 21 : /* allocate input buffer */ -; 22 : state->in = malloc(state->want); - - 00000 8b 46 20 mov eax, DWORD PTR [esi+32] - 00003 53 push ebx - 00004 57 push edi - 00005 50 push eax - 00006 8d 7e 64 lea edi, DWORD PTR [esi+100] - 00009 e8 00 00 00 00 call _malloc - 0000e 8b d8 mov ebx, eax - 00010 83 c4 04 add esp, 4 - 00013 89 5e 24 mov DWORD PTR [esi+36], ebx - -; 23 : if (state->in == NULL) { - - 00016 85 db test ebx, ebx - 00018 75 18 jne SHORT $LN5@gz_init - -; 24 : gz_error(state, Z_MEM_ERROR, "out of memory"); - - 0001a 68 00 00 00 00 push OFFSET ??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ - 0001f 8d 43 fc lea eax, DWORD PTR [ebx-4] - 00022 8b ce mov ecx, esi - 00024 e8 00 00 00 00 call _gz_error - 00029 83 c4 04 add esp, 4 - 0002c 5f pop edi - -; 25 : return -1; - - 0002d 83 c8 ff or eax, -1 - 00030 5b pop ebx - -; 62 : } - - 00031 c3 ret 0 -$LN5@gz_init: - -; 26 : } -; 27 : -; 28 : /* only need output buffer and deflate state if compressing */ -; 29 : if (!state->direct) { - - 00032 83 7e 2c 00 cmp DWORD PTR [esi+44], 0 - 00036 0f 85 89 00 00 - 00 jne $LN8@gz_init - -; 30 : /* allocate output buffer */ -; 31 : state->out = malloc(state->want); - - 0003c 8b 46 20 mov eax, DWORD PTR [esi+32] - 0003f 50 push eax - 00040 e8 00 00 00 00 call _malloc - -; 32 : if (state->out == NULL) { - - 00045 33 c9 xor ecx, ecx - 00047 83 c4 04 add esp, 4 - 0004a 89 46 28 mov DWORD PTR [esi+40], eax - 0004d 3b c1 cmp eax, ecx - 0004f 75 20 jne SHORT $LN3@gz_init - -; 33 : free(state->in); - - 00051 53 push ebx - 00052 e8 00 00 00 00 call _free - -; 34 : gz_error(state, Z_MEM_ERROR, "out of memory"); - - 00057 68 00 00 00 00 push OFFSET ??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ - 0005c b8 fc ff ff ff mov eax, -4 ; fffffffcH - 00061 8b ce mov ecx, esi - 00063 e8 00 00 00 00 call _gz_error - 00068 83 c4 08 add esp, 8 - 0006b 5f pop edi - -; 35 : return -1; - - 0006c 83 c8 ff or eax, -1 - 0006f 5b pop ebx - -; 62 : } - - 00070 c3 ret 0 -$LN3@gz_init: - -; 36 : } -; 37 : -; 38 : /* allocate deflate memory, set up for gzip compression */ -; 39 : strm->zalloc = Z_NULL; -; 40 : strm->zfree = Z_NULL; -; 41 : strm->opaque = Z_NULL; -; 42 : ret = deflateInit2(strm, state->level, Z_DEFLATED, -; 43 : MAX_WBITS + 16, DEF_MEM_LEVEL, state->strategy); - - 00071 6a 38 push 56 ; 00000038H - 00073 68 00 00 00 00 push OFFSET ??_C@_05BOAHNBIE@1?42?46?$AA@ - 00078 89 4f 20 mov DWORD PTR [edi+32], ecx - 0007b 89 4f 24 mov DWORD PTR [edi+36], ecx - 0007e 89 4f 28 mov DWORD PTR [edi+40], ecx - 00081 8b 46 4c mov eax, DWORD PTR [esi+76] - 00084 8b 4e 48 mov ecx, DWORD PTR [esi+72] - 00087 50 push eax - 00088 6a 08 push 8 - 0008a 6a 1f push 31 ; 0000001fH - 0008c 6a 08 push 8 - 0008e 51 push ecx - 0008f 57 push edi - 00090 e8 00 00 00 00 call _deflateInit2_@32 - -; 44 : if (ret != Z_OK) { - - 00095 85 c0 test eax, eax - 00097 74 2c je SHORT $LN8@gz_init - -; 45 : free(state->out); - - 00099 8b 56 28 mov edx, DWORD PTR [esi+40] - 0009c 52 push edx - 0009d e8 00 00 00 00 call _free - -; 46 : free(state->in); - - 000a2 8b 46 24 mov eax, DWORD PTR [esi+36] - 000a5 50 push eax - 000a6 e8 00 00 00 00 call _free - -; 47 : gz_error(state, Z_MEM_ERROR, "out of memory"); - - 000ab 68 00 00 00 00 push OFFSET ??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ - 000b0 b8 fc ff ff ff mov eax, -4 ; fffffffcH - 000b5 8b ce mov ecx, esi - 000b7 e8 00 00 00 00 call _gz_error - 000bc 83 c4 0c add esp, 12 ; 0000000cH - 000bf 5f pop edi - -; 48 : return -1; - - 000c0 83 c8 ff or eax, -1 - 000c3 5b pop ebx - -; 62 : } - - 000c4 c3 ret 0 -$LN8@gz_init: - -; 49 : } -; 50 : } -; 51 : -; 52 : /* mark state as initialized */ -; 53 : state->size = state->want; -; 54 : -; 55 : /* initialize write buffer if compressing */ -; 56 : if (!state->direct) { - - 000c5 83 7e 2c 00 cmp DWORD PTR [esi+44], 0 - 000c9 8b 46 20 mov eax, DWORD PTR [esi+32] - 000cc 89 46 1c mov DWORD PTR [esi+28], eax - 000cf 75 0c jne SHORT $LN1@gz_init - -; 57 : strm->avail_out = state->size; - - 000d1 89 47 10 mov DWORD PTR [edi+16], eax - -; 58 : strm->next_out = state->out; - - 000d4 8b 46 28 mov eax, DWORD PTR [esi+40] - 000d7 89 47 0c mov DWORD PTR [edi+12], eax - -; 59 : state->x.next = strm->next_out; - - 000da 89 46 04 mov DWORD PTR [esi+4], eax -$LN1@gz_init: - -; 60 : } -; 61 : return 0; - - 000dd 5f pop edi - 000de 33 c0 xor eax, eax - 000e0 5b pop ebx - -; 62 : } - - 000e1 c3 ret 0 -_gz_init ENDP -; Function compile flags: /Ogtp -; COMDAT _gz_comp -_TEXT SEGMENT -_flush$ = 8 ; size = 4 -_gz_comp PROC ; COMDAT -; _state$ = ebx - -; 73 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 74 : int ret, got; -; 75 : unsigned have; -; 76 : z_streamp strm = &(state->strm); -; 77 : -; 78 : /* allocate memory if this is the first time through */ -; 79 : if (state->size == 0 && gz_init(state) == -1) - - 00003 83 7b 1c 00 cmp DWORD PTR [ebx+28], 0 - 00007 56 push esi - 00008 57 push edi - 00009 8d 7b 64 lea edi, DWORD PTR [ebx+100] - 0000c 75 0c jne SHORT $LN21@gz_comp - 0000e 8b f3 mov esi, ebx - 00010 e8 00 00 00 00 call _gz_init - 00015 83 f8 ff cmp eax, -1 - -; 80 : return -1; - - 00018 74 4a je SHORT $LN24@gz_comp -$LN21@gz_comp: - -; 81 : -; 82 : /* write directly if requested */ -; 83 : if (state->direct) { - - 0001a 83 7b 2c 00 cmp DWORD PTR [ebx+44], 0 - 0001e 74 4b je SHORT $LN14@gz_comp - -; 84 : got = write(state->fd, strm->next_in, strm->avail_in); - - 00020 8b 47 04 mov eax, DWORD PTR [edi+4] - 00023 8b 0f mov ecx, DWORD PTR [edi] - 00025 8b 53 14 mov edx, DWORD PTR [ebx+20] - 00028 50 push eax - 00029 51 push ecx - 0002a 52 push edx - 0002b e8 00 00 00 00 call _write - 00030 83 c4 0c add esp, 12 ; 0000000cH - -; 85 : if (got < 0 || (unsigned)got != strm->avail_in) { - - 00033 85 c0 test eax, eax - 00035 78 12 js SHORT $LN12@gz_comp - 00037 3b 47 04 cmp eax, DWORD PTR [edi+4] - 0003a 75 0d jne SHORT $LN12@gz_comp - -; 88 : } -; 89 : strm->avail_in = 0; - - 0003c c7 47 04 00 00 - 00 00 mov DWORD PTR [edi+4], 0 - 00043 5f pop edi - -; 127 : -; 128 : /* all done, no errors */ -; 129 : return 0; - - 00044 33 c0 xor eax, eax - 00046 5e pop esi - -; 130 : } - - 00047 5d pop ebp - 00048 c3 ret 0 -$LN12@gz_comp: - -; 86 : gz_error(state, Z_ERRNO, zstrerror()); - - 00049 e8 00 00 00 00 call __errno - 0004e 8b 00 mov eax, DWORD PTR [eax] - 00050 50 push eax -$LN25@gz_comp: - 00051 e8 00 00 00 00 call _strerror - 00056 50 push eax - 00057 83 c8 ff or eax, -1 - 0005a 8b cb mov ecx, ebx - 0005c e8 00 00 00 00 call _gz_error - 00061 83 c4 08 add esp, 8 -$LN24@gz_comp: - -; 87 : return -1; - - 00064 5f pop edi - 00065 83 c8 ff or eax, -1 - 00068 5e pop esi - -; 130 : } - - 00069 5d pop ebp - 0006a c3 ret 0 -$LN14@gz_comp: - -; 90 : return 0; -; 91 : } -; 92 : -; 93 : /* run deflate() on provided input until it produces no more output */ -; 94 : ret = Z_OK; - - 0006b 33 c0 xor eax, eax - 0006d 8d 49 00 npad 3 -$LL11@gz_comp: - -; 95 : do { -; 96 : /* write out current buffer contents if full, or if flushing, but if -; 97 : doing Z_FINISH then don't write until we get to Z_STREAM_END */ -; 98 : if (strm->avail_out == 0 || (flush != Z_NO_FLUSH && -; 99 : (flush != Z_FINISH || ret == Z_STREAM_END))) { - - 00070 83 7f 10 00 cmp DWORD PTR [edi+16], 0 - 00074 74 11 je SHORT $LN6@gz_comp - 00076 8b 4d 08 mov ecx, DWORD PTR _flush$[ebp] - 00079 85 c9 test ecx, ecx - 0007b 74 45 je SHORT $LN8@gz_comp - 0007d 83 f9 04 cmp ecx, 4 - 00080 75 05 jne SHORT $LN6@gz_comp - 00082 83 f8 01 cmp eax, 1 - 00085 75 3b jne SHORT $LN8@gz_comp -$LN6@gz_comp: - -; 100 : have = (unsigned)(strm->next_out - state->x.next); - - 00087 8b 43 04 mov eax, DWORD PTR [ebx+4] - 0008a 8b 77 0c mov esi, DWORD PTR [edi+12] - 0008d 2b f0 sub esi, eax - -; 101 : if (have && ((got = write(state->fd, state->x.next, have)) < 0 || -; 102 : (unsigned)got != have)) { - - 0008f 74 16 je SHORT $LN23@gz_comp - 00091 8b 4b 14 mov ecx, DWORD PTR [ebx+20] - 00094 56 push esi - 00095 50 push eax - 00096 51 push ecx - 00097 e8 00 00 00 00 call _write - 0009c 83 c4 0c add esp, 12 ; 0000000cH - 0009f 85 c0 test eax, eax - 000a1 78 45 js SHORT $LN4@gz_comp - 000a3 3b c6 cmp eax, esi - 000a5 75 41 jne SHORT $LN4@gz_comp -$LN23@gz_comp: - -; 105 : } -; 106 : if (strm->avail_out == 0) { - - 000a7 83 7f 10 00 cmp DWORD PTR [edi+16], 0 - 000ab 75 0c jne SHORT $LN3@gz_comp - -; 107 : strm->avail_out = state->size; - - 000ad 8b 53 1c mov edx, DWORD PTR [ebx+28] - 000b0 89 57 10 mov DWORD PTR [edi+16], edx - -; 108 : strm->next_out = state->out; - - 000b3 8b 43 28 mov eax, DWORD PTR [ebx+40] - 000b6 89 47 0c mov DWORD PTR [edi+12], eax -$LN3@gz_comp: - -; 109 : } -; 110 : state->x.next = strm->next_out; - - 000b9 8b 4f 0c mov ecx, DWORD PTR [edi+12] - 000bc 89 4b 04 mov DWORD PTR [ebx+4], ecx - 000bf 8b 4d 08 mov ecx, DWORD PTR _flush$[ebp] -$LN8@gz_comp: - -; 111 : } -; 112 : -; 113 : /* compress */ -; 114 : have = strm->avail_out; - - 000c2 8b 77 10 mov esi, DWORD PTR [edi+16] - -; 115 : ret = deflate(strm, flush); - - 000c5 51 push ecx - 000c6 57 push edi - 000c7 e8 00 00 00 00 call _deflate@8 - -; 116 : if (ret == Z_STREAM_ERROR) { - - 000cc 83 f8 fe cmp eax, -2 ; fffffffeH - 000cf 74 24 je SHORT $LN20@gz_comp - -; 119 : return -1; -; 120 : } -; 121 : have -= strm->avail_out; - - 000d1 2b 77 10 sub esi, DWORD PTR [edi+16] - -; 122 : } while (have); - - 000d4 75 9a jne SHORT $LL11@gz_comp - -; 123 : -; 124 : /* if that completed a deflate stream, allow another to start */ -; 125 : if (flush == Z_FINISH) - - 000d6 83 7d 08 04 cmp DWORD PTR _flush$[ebp], 4 - 000da 75 06 jne SHORT $LN1@gz_comp - -; 126 : deflateReset(strm); - - 000dc 57 push edi - 000dd e8 00 00 00 00 call _deflateReset@4 -$LN1@gz_comp: - -; 127 : -; 128 : /* all done, no errors */ -; 129 : return 0; - - 000e2 5f pop edi - 000e3 33 c0 xor eax, eax - 000e5 5e pop esi - -; 130 : } - - 000e6 5d pop ebp - 000e7 c3 ret 0 -$LN4@gz_comp: - -; 103 : gz_error(state, Z_ERRNO, zstrerror()); - - 000e8 e8 00 00 00 00 call __errno - 000ed 8b 10 mov edx, DWORD PTR [eax] - 000ef 52 push edx - -; 104 : return -1; - - 000f0 e9 5c ff ff ff jmp $LN25@gz_comp -$LN20@gz_comp: - -; 117 : gz_error(state, Z_STREAM_ERROR, -; 118 : "internal error: deflate stream corrupt"); - - 000f5 68 00 00 00 00 push OFFSET ??_C@_0CH@DEEGAHIB@internal?5error?3?5deflate?5stream?5c@ - 000fa b8 fe ff ff ff mov eax, -2 ; fffffffeH - 000ff 8b cb mov ecx, ebx - 00101 e8 00 00 00 00 call _gz_error - 00106 83 c4 04 add esp, 4 - 00109 5f pop edi - 0010a 83 c8 ff or eax, -1 - 0010d 5e pop esi - -; 130 : } - - 0010e 5d pop ebp - 0010f c3 ret 0 -_gz_comp ENDP -; Function compile flags: /Ogtp -; COMDAT _gz_zero -_TEXT SEGMENT -_first$ = -4 ; size = 4 -_len$ = 8 ; size = 8 -_gz_zero PROC ; COMDAT -; _state$ = eax - -; 136 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - 00005 8b d8 mov ebx, eax - -; 137 : int first; -; 138 : unsigned n; -; 139 : z_streamp strm = &(state->strm); -; 140 : -; 141 : /* consume whatever's left in the input buffer */ -; 142 : if (strm->avail_in && gz_comp(state, Z_NO_FLUSH) == -1) - - 00007 83 7b 68 00 cmp DWORD PTR [ebx+104], 0 - 0000b 74 16 je SHORT $LN5@gz_zero - 0000d 6a 00 push 0 - 0000f e8 00 00 00 00 call _gz_comp - 00014 83 c4 04 add esp, 4 - 00017 83 f8 ff cmp eax, -1 - 0001a 75 07 jne SHORT $LN5@gz_zero - -; 143 : return -1; - - 0001c 0b c0 or eax, eax - 0001e 5b pop ebx - -; 160 : } -; 161 : return 0; -; 162 : } - - 0001f 8b e5 mov esp, ebp - 00021 5d pop ebp - 00022 c3 ret 0 -$LN5@gz_zero: - 00023 56 push esi - -; 144 : -; 145 : /* compress len zeros (len guaranteed > 0) */ -; 146 : first = 1; -; 147 : while (len) { - - 00024 8b 75 08 mov esi, DWORD PTR _len$[ebp] - 00027 8b c6 mov eax, esi - 00029 0b 45 0c or eax, DWORD PTR _len$[ebp+4] - 0002c 57 push edi - 0002d c7 45 fc 01 00 - 00 00 mov DWORD PTR _first$[ebp], 1 - 00034 75 0d jne SHORT $LN4@gz_zero - 00036 5f pop edi - 00037 5e pop esi - 00038 5b pop ebx - -; 160 : } -; 161 : return 0; -; 162 : } - - 00039 8b e5 mov esp, ebp - 0003b 5d pop ebp - 0003c c3 ret 0 - 0003d 8d 49 00 npad 3 -$LL14@gz_zero: - -; 144 : -; 145 : /* compress len zeros (len guaranteed > 0) */ -; 146 : first = 1; -; 147 : while (len) { - - 00040 8b 75 08 mov esi, DWORD PTR _len$[ebp] -$LN4@gz_zero: - -; 148 : n = GT_OFF(state->size) || (z_off64_t)state->size > len ? -; 149 : (unsigned)len : state->size; - - 00043 8b 4b 1c mov ecx, DWORD PTR [ebx+28] - 00046 33 c0 xor eax, eax - 00048 33 ff xor edi, edi - 0004a 3b 45 0c cmp eax, DWORD PTR _len$[ebp+4] - 0004d 7f 08 jg SHORT $LN8@gz_zero - 0004f 7c 04 jl SHORT $LN13@gz_zero - 00051 3b ce cmp ecx, esi - 00053 77 02 ja SHORT $LN8@gz_zero -$LN13@gz_zero: - 00055 8b f1 mov esi, ecx -$LN8@gz_zero: - -; 150 : if (first) { - - 00057 39 7d fc cmp DWORD PTR _first$[ebp], edi - 0005a 74 11 je SHORT $LN2@gz_zero - -; 151 : memset(state->in, 0, n); - - 0005c 8b 4b 24 mov ecx, DWORD PTR [ebx+36] - 0005f 56 push esi - 00060 57 push edi - 00061 51 push ecx - 00062 e8 00 00 00 00 call _memset - 00067 83 c4 0c add esp, 12 ; 0000000cH - -; 152 : first = 0; - - 0006a 89 7d fc mov DWORD PTR _first$[ebp], edi -$LN2@gz_zero: - -; 153 : } -; 154 : strm->avail_in = n; - - 0006d 89 73 68 mov DWORD PTR [ebx+104], esi - -; 155 : strm->next_in = state->in; - - 00070 8b 53 24 mov edx, DWORD PTR [ebx+36] - 00073 89 53 64 mov DWORD PTR [ebx+100], edx - -; 156 : state->x.pos += n; - - 00076 01 73 08 add DWORD PTR [ebx+8], esi - -; 157 : if (gz_comp(state, Z_NO_FLUSH) == -1) - - 00079 57 push edi - 0007a 11 7b 0c adc DWORD PTR [ebx+12], edi - 0007d e8 00 00 00 00 call _gz_comp - 00082 83 c4 04 add esp, 4 - 00085 83 f8 ff cmp eax, -1 - 00088 74 1b je SHORT $LN11@gz_zero - -; 159 : len -= n; - - 0008a 8b 45 08 mov eax, DWORD PTR _len$[ebp] - 0008d 8b 4d 0c mov ecx, DWORD PTR _len$[ebp+4] - 00090 2b c6 sub eax, esi - 00092 1b cf sbb ecx, edi - 00094 89 45 08 mov DWORD PTR _len$[ebp], eax - 00097 0b c1 or eax, ecx - 00099 89 4d 0c mov DWORD PTR _len$[ebp+4], ecx - 0009c 75 a2 jne SHORT $LL14@gz_zero - 0009e 5f pop edi - 0009f 5e pop esi - 000a0 5b pop ebx - -; 160 : } -; 161 : return 0; -; 162 : } - - 000a1 8b e5 mov esp, ebp - 000a3 5d pop ebp - 000a4 c3 ret 0 -$LN11@gz_zero: - 000a5 5f pop edi - 000a6 5e pop esi - -; 158 : return -1; - - 000a7 83 c8 ff or eax, -1 - 000aa 5b pop ebx - -; 160 : } -; 161 : return 0; -; 162 : } - - 000ab 8b e5 mov esp, ebp - 000ad 5d pop ebp - 000ae c3 ret 0 -_gz_zero ENDP -PUBLIC _gzclose_w@4 -; Function compile flags: /Ogtp -; COMDAT _gzclose_w@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_gzclose_w@4 PROC ; COMDAT - -; 528 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - -; 529 : int ret = Z_OK; -; 530 : gz_statep state; -; 531 : -; 532 : /* get internal structure */ -; 533 : if (file == NULL) - - 00004 8b 5d 08 mov ebx, DWORD PTR _file$[ebp] - 00007 56 push esi - 00008 33 f6 xor esi, esi - 0000a 85 db test ebx, ebx - 0000c 75 0b jne SHORT $LN7@gzclose_w -$LN10@gzclose_w: - 0000e 5e pop esi - -; 534 : return Z_STREAM_ERROR; - - 0000f b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00014 5b pop ebx - -; 562 : } - - 00015 5d pop ebp - 00016 c2 04 00 ret 4 -$LN7@gzclose_w: - -; 535 : state = (gz_statep)file; -; 536 : -; 537 : /* check that we're writing */ -; 538 : if (state->mode != GZ_WRITE) - - 00019 81 7b 10 b1 79 - 00 00 cmp DWORD PTR [ebx+16], 31153 ; 000079b1H - -; 539 : return Z_STREAM_ERROR; - - 00020 75 ec jne SHORT $LN10@gzclose_w - -; 540 : -; 541 : /* check for seek request */ -; 542 : if (state->seek) { - - 00022 39 73 58 cmp DWORD PTR [ebx+88], esi - 00025 74 1d je SHORT $LN4@gzclose_w - -; 543 : state->seek = 0; -; 544 : if (gz_zero(state, state->skip) == -1) - - 00027 8b 43 54 mov eax, DWORD PTR [ebx+84] - 0002a 8b 4b 50 mov ecx, DWORD PTR [ebx+80] - 0002d 50 push eax - 0002e 51 push ecx - 0002f 8b c3 mov eax, ebx - 00031 89 73 58 mov DWORD PTR [ebx+88], esi - 00034 e8 00 00 00 00 call _gz_zero - 00039 83 c4 08 add esp, 8 - 0003c 83 f8 ff cmp eax, -1 - 0003f 75 03 jne SHORT $LN4@gzclose_w - -; 545 : ret = state->err; - - 00041 8b 73 5c mov esi, DWORD PTR [ebx+92] -$LN4@gzclose_w: - -; 546 : } -; 547 : -; 548 : /* flush, free memory, and close file */ -; 549 : if (gz_comp(state, Z_FINISH) == -1) - - 00044 6a 04 push 4 - 00046 e8 00 00 00 00 call _gz_comp - 0004b 83 c4 04 add esp, 4 - 0004e 83 f8 ff cmp eax, -1 - 00051 75 03 jne SHORT $LN3@gzclose_w - -; 550 : ret = state->err; - - 00053 8b 73 5c mov esi, DWORD PTR [ebx+92] -$LN3@gzclose_w: - -; 551 : if (!state->direct) { - - 00056 83 7b 2c 00 cmp DWORD PTR [ebx+44], 0 - 0005a 75 15 jne SHORT $LN2@gzclose_w - -; 552 : (void)deflateEnd(&(state->strm)); - - 0005c 8d 53 64 lea edx, DWORD PTR [ebx+100] - 0005f 52 push edx - 00060 e8 00 00 00 00 call _deflateEnd@4 - -; 553 : free(state->out); - - 00065 8b 43 28 mov eax, DWORD PTR [ebx+40] - 00068 50 push eax - 00069 e8 00 00 00 00 call _free - 0006e 83 c4 04 add esp, 4 -$LN2@gzclose_w: - -; 554 : } -; 555 : free(state->in); - - 00071 8b 4b 24 mov ecx, DWORD PTR [ebx+36] - 00074 51 push ecx - 00075 e8 00 00 00 00 call _free - -; 556 : gz_error(state, Z_OK, NULL); - - 0007a 6a 00 push 0 - 0007c 33 c0 xor eax, eax - 0007e 8b cb mov ecx, ebx - 00080 e8 00 00 00 00 call _gz_error - -; 557 : free(state->path); - - 00085 8b 53 18 mov edx, DWORD PTR [ebx+24] - 00088 52 push edx - 00089 e8 00 00 00 00 call _free - -; 558 : if (close(state->fd) == -1) - - 0008e 8b 43 14 mov eax, DWORD PTR [ebx+20] - 00091 50 push eax - 00092 e8 00 00 00 00 call _close - 00097 83 c4 10 add esp, 16 ; 00000010H - 0009a 83 f8 ff cmp eax, -1 - 0009d 75 02 jne SHORT $LN1@gzclose_w - -; 559 : ret = Z_ERRNO; - - 0009f 0b f0 or esi, eax -$LN1@gzclose_w: - -; 560 : free(state); - - 000a1 53 push ebx - 000a2 e8 00 00 00 00 call _free - 000a7 83 c4 04 add esp, 4 - -; 561 : return ret; - - 000aa 8b c6 mov eax, esi - 000ac 5e pop esi - 000ad 5b pop ebx - -; 562 : } - - 000ae 5d pop ebp - 000af c2 04 00 ret 4 -_gzclose_w@4 ENDP -_TEXT ENDS -PUBLIC _gzsetparams@12 -; Function compile flags: /Ogtp -; COMDAT _gzsetparams@12 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_level$ = 12 ; size = 4 -_strategy$ = 16 ; size = 4 -_gzsetparams@12 PROC ; COMDAT - -; 488 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - -; 489 : gz_statep state; -; 490 : z_streamp strm; -; 491 : -; 492 : /* get internal structure */ -; 493 : if (file == NULL) - - 00004 8b 5d 08 mov ebx, DWORD PTR _file$[ebp] - 00007 85 db test ebx, ebx - 00009 75 0a jne SHORT $LN8@gzsetparam -$LN6@gzsetparam: - -; 494 : return Z_STREAM_ERROR; - - 0000b b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00010 5b pop ebx - -; 523 : } - - 00011 5d pop ebp - 00012 c2 0c 00 ret 12 ; 0000000cH -$LN8@gzsetparam: - -; 495 : state = (gz_statep)file; -; 496 : strm = &(state->strm); -; 497 : -; 498 : /* check that we're writing and that there's no error */ -; 499 : if (state->mode != GZ_WRITE || state->err != Z_OK) - - 00015 81 7b 10 b1 79 - 00 00 cmp DWORD PTR [ebx+16], 31153 ; 000079b1H - 0001c 75 ed jne SHORT $LN6@gzsetparam - 0001e 83 7b 5c 00 cmp DWORD PTR [ebx+92], 0 - 00022 75 e7 jne SHORT $LN6@gzsetparam - -; 500 : return Z_STREAM_ERROR; -; 501 : -; 502 : /* if no change is requested, then do nothing */ -; 503 : if (level == state->level && strategy == state->strategy) - - 00024 56 push esi - 00025 8b 75 0c mov esi, DWORD PTR _level$[ebp] - 00028 57 push edi - 00029 8b 7d 10 mov edi, DWORD PTR _strategy$[ebp] - 0002c 3b 73 48 cmp esi, DWORD PTR [ebx+72] - 0002f 75 05 jne SHORT $LN5@gzsetparam - 00031 3b 7b 4c cmp edi, DWORD PTR [ebx+76] - -; 504 : return Z_OK; - - 00034 74 63 je SHORT $LN14@gzsetparam -$LN5@gzsetparam: - -; 505 : -; 506 : /* check for seek request */ -; 507 : if (state->seek) { - - 00036 83 7b 58 00 cmp DWORD PTR [ebx+88], 0 - 0003a 74 27 je SHORT $LN11@gzsetparam - -; 508 : state->seek = 0; -; 509 : if (gz_zero(state, state->skip) == -1) - - 0003c 8b 43 54 mov eax, DWORD PTR [ebx+84] - 0003f 8b 4b 50 mov ecx, DWORD PTR [ebx+80] - 00042 50 push eax - 00043 51 push ecx - 00044 8b c3 mov eax, ebx - 00046 c7 43 58 00 00 - 00 00 mov DWORD PTR [ebx+88], 0 - 0004d e8 00 00 00 00 call _gz_zero - 00052 83 c4 08 add esp, 8 - 00055 83 f8 ff cmp eax, -1 - 00058 75 09 jne SHORT $LN11@gzsetparam - -; 510 : return -1; - - 0005a 5f pop edi - 0005b 5e pop esi - 0005c 0b c0 or eax, eax - 0005e 5b pop ebx - -; 523 : } - - 0005f 5d pop ebp - 00060 c2 0c 00 ret 12 ; 0000000cH -$LN11@gzsetparam: - -; 511 : } -; 512 : -; 513 : /* change compression parameters for subsequent input */ -; 514 : if (state->size) { - - 00063 83 7b 1c 00 cmp DWORD PTR [ebx+28], 0 - 00067 74 2a je SHORT $LN2@gzsetparam - -; 515 : /* flush previous input with previous parameters before changing */ -; 516 : if (strm->avail_in && gz_comp(state, Z_PARTIAL_FLUSH) == -1) - - 00069 83 7b 68 00 cmp DWORD PTR [ebx+104], 0 - 0006d 74 19 je SHORT $LN1@gzsetparam - 0006f 6a 01 push 1 - 00071 e8 00 00 00 00 call _gz_comp - 00076 83 c4 04 add esp, 4 - 00079 83 f8 ff cmp eax, -1 - 0007c 75 0a jne SHORT $LN1@gzsetparam - -; 517 : return state->err; - - 0007e 8b 43 5c mov eax, DWORD PTR [ebx+92] - 00081 5f pop edi - 00082 5e pop esi - 00083 5b pop ebx - -; 523 : } - - 00084 5d pop ebp - 00085 c2 0c 00 ret 12 ; 0000000cH -$LN1@gzsetparam: - -; 518 : deflateParams(strm, level, strategy); - - 00088 57 push edi - 00089 56 push esi - 0008a 8d 43 64 lea eax, DWORD PTR [ebx+100] - 0008d 50 push eax - 0008e e8 00 00 00 00 call _deflateParams@12 -$LN2@gzsetparam: - -; 519 : } -; 520 : state->level = level; - - 00093 89 73 48 mov DWORD PTR [ebx+72], esi - -; 521 : state->strategy = strategy; - - 00096 89 7b 4c mov DWORD PTR [ebx+76], edi -$LN14@gzsetparam: - -; 522 : return Z_OK; - - 00099 5f pop edi - 0009a 5e pop esi - 0009b 33 c0 xor eax, eax - 0009d 5b pop ebx - -; 523 : } - - 0009e 5d pop ebp - 0009f c2 0c 00 ret 12 ; 0000000cH -_gzsetparams@12 ENDP -_TEXT ENDS -PUBLIC _gzflush@8 -; Function compile flags: /Ogtp -; COMDAT _gzflush@8 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_flush$ = 12 ; size = 4 -_gzflush@8 PROC ; COMDAT - -; 455 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - -; 456 : gz_statep state; -; 457 : -; 458 : /* get internal structure */ -; 459 : if (file == NULL) - - 00004 8b 5d 08 mov ebx, DWORD PTR _file$[ebp] - 00007 85 db test ebx, ebx - 00009 75 08 jne SHORT $LN7@gzflush - -; 460 : return -1; - - 0000b 83 c8 ff or eax, -1 - 0000e 5b pop ebx - -; 481 : } - - 0000f 5d pop ebp - 00010 c2 08 00 ret 8 -$LN7@gzflush: - -; 461 : state = (gz_statep)file; -; 462 : -; 463 : /* check that we're writing and that there's no error */ -; 464 : if (state->mode != GZ_WRITE || state->err != Z_OK) - - 00013 81 7b 10 b1 79 - 00 00 cmp DWORD PTR [ebx+16], 31153 ; 000079b1H - 0001a 75 58 jne SHORT $LN5@gzflush - 0001c 83 7b 5c 00 cmp DWORD PTR [ebx+92], 0 - 00020 75 52 jne SHORT $LN5@gzflush - -; 466 : -; 467 : /* check flush parameter */ -; 468 : if (flush < 0 || flush > Z_FINISH) - - 00022 56 push esi - 00023 8b 75 0c mov esi, DWORD PTR _flush$[ebp] - 00026 83 fe 04 cmp esi, 4 - 00029 77 3e ja SHORT $LN3@gzflush - -; 470 : -; 471 : /* check for seek request */ -; 472 : if (state->seek) { - - 0002b 83 7b 58 00 cmp DWORD PTR [ebx+88], 0 - 0002f 74 26 je SHORT $LN1@gzflush - -; 473 : state->seek = 0; -; 474 : if (gz_zero(state, state->skip) == -1) - - 00031 8b 43 54 mov eax, DWORD PTR [ebx+84] - 00034 8b 4b 50 mov ecx, DWORD PTR [ebx+80] - 00037 50 push eax - 00038 51 push ecx - 00039 8b c3 mov eax, ebx - 0003b c7 43 58 00 00 - 00 00 mov DWORD PTR [ebx+88], 0 - 00042 e8 00 00 00 00 call _gz_zero - 00047 83 c4 08 add esp, 8 - 0004a 83 f8 ff cmp eax, -1 - 0004d 75 08 jne SHORT $LN1@gzflush - -; 475 : return -1; - - 0004f 5e pop esi - 00050 0b c0 or eax, eax - 00052 5b pop ebx - -; 481 : } - - 00053 5d pop ebp - 00054 c2 08 00 ret 8 -$LN1@gzflush: - -; 476 : } -; 477 : -; 478 : /* compress remaining data with requested flush */ -; 479 : gz_comp(state, flush); - - 00057 56 push esi - 00058 e8 00 00 00 00 call _gz_comp - -; 480 : return state->err; - - 0005d 8b 43 5c mov eax, DWORD PTR [ebx+92] - 00060 83 c4 04 add esp, 4 - 00063 5e pop esi - 00064 5b pop ebx - -; 481 : } - - 00065 5d pop ebp - 00066 c2 08 00 ret 8 -$LN3@gzflush: - 00069 5e pop esi - -; 469 : return Z_STREAM_ERROR; - - 0006a b8 fe ff ff ff mov eax, -2 ; fffffffeH - 0006f 5b pop ebx - -; 481 : } - - 00070 5d pop ebp - 00071 c2 08 00 ret 8 -$LN5@gzflush: - -; 465 : return Z_STREAM_ERROR; - - 00074 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00079 5b pop ebx - -; 481 : } - - 0007a 5d pop ebp - 0007b c2 08 00 ret 8 -_gzflush@8 ENDP -_TEXT ENDS -PUBLIC _gzprintf -; Function compile flags: /Ogtp -; COMDAT _gzprintf -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_format$ = 12 ; size = 4 -_gzprintf PROC ; COMDAT - -; 304 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 305 : int size, len; -; 306 : gz_statep state; -; 307 : z_streamp strm; -; 308 : va_list va; -; 309 : -; 310 : /* get internal structure */ -; 311 : if (file == NULL) - - 00004 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 00007 85 f6 test esi, esi - 00009 75 06 jne SHORT $LN9@gzprintf - -; 312 : return -1; - - 0000b 83 c8 ff or eax, -1 - 0000e 5e pop esi - -; 369 : } - - 0000f 5d pop ebp - 00010 c3 ret 0 -$LN9@gzprintf: - -; 313 : state = (gz_statep)file; -; 314 : strm = &(state->strm); -; 315 : -; 316 : /* check that we're writing and that there's no error */ -; 317 : if (state->mode != GZ_WRITE || state->err != Z_OK) - - 00011 81 7e 10 b1 79 - 00 00 cmp DWORD PTR [esi+16], 31153 ; 000079b1H - 00018 75 16 jne SHORT $LN14@gzprintf - 0001a 83 7e 5c 00 cmp DWORD PTR [esi+92], 0 - 0001e 75 10 jne SHORT $LN14@gzprintf - -; 318 : return 0; -; 319 : -; 320 : /* make sure we have some buffer space */ -; 321 : if (state->size == 0 && gz_init(state) == -1) - - 00020 83 7e 1c 00 cmp DWORD PTR [esi+28], 0 - 00024 75 0f jne SHORT $LN6@gzprintf - 00026 e8 00 00 00 00 call _gz_init - 0002b 83 f8 ff cmp eax, -1 - 0002e 75 05 jne SHORT $LN6@gzprintf -$LN14@gzprintf: - -; 322 : return 0; - - 00030 33 c0 xor eax, eax - 00032 5e pop esi - -; 369 : } - - 00033 5d pop ebp - 00034 c3 ret 0 -$LN6@gzprintf: - -; 323 : -; 324 : /* check for seek request */ -; 325 : if (state->seek) { - - 00035 83 7e 58 00 cmp DWORD PTR [esi+88], 0 - 00039 74 1e je SHORT $LN4@gzprintf - -; 326 : state->seek = 0; -; 327 : if (gz_zero(state, state->skip) == -1) - - 0003b 8b 46 54 mov eax, DWORD PTR [esi+84] - 0003e 8b 4e 50 mov ecx, DWORD PTR [esi+80] - 00041 50 push eax - 00042 51 push ecx - 00043 8b c6 mov eax, esi - 00045 c7 46 58 00 00 - 00 00 mov DWORD PTR [esi+88], 0 - 0004c e8 00 00 00 00 call _gz_zero - 00051 83 c4 08 add esp, 8 - 00054 83 f8 ff cmp eax, -1 - -; 328 : return 0; - - 00057 74 d7 je SHORT $LN14@gzprintf -$LN4@gzprintf: - -; 329 : } -; 330 : -; 331 : /* consume whatever's left in the input buffer */ -; 332 : if (strm->avail_in && gz_comp(state, Z_NO_FLUSH) == -1) - - 00059 83 7e 68 00 cmp DWORD PTR [esi+104], 0 - 0005d 74 13 je SHORT $LN12@gzprintf - 0005f 53 push ebx - 00060 6a 00 push 0 - 00062 8b de mov ebx, esi - 00064 e8 00 00 00 00 call _gz_comp - 00069 83 c4 04 add esp, 4 - 0006c 5b pop ebx - 0006d 83 f8 ff cmp eax, -1 - -; 333 : return 0; - - 00070 74 be je SHORT $LN14@gzprintf -$LN12@gzprintf: - -; 334 : -; 335 : /* do the printf() into the input buffer, put length in len */ -; 336 : size = (int)(state->size); -; 337 : state->in[size - 1] = 0; - - 00072 8b 56 24 mov edx, DWORD PTR [esi+36] - 00075 57 push edi - 00076 8b 7e 1c mov edi, DWORD PTR [esi+28] - 00079 c6 44 17 ff 00 mov BYTE PTR [edi+edx-1], 0 - -; 338 : va_start(va, format); -; 339 : #ifdef NO_vsnprintf -; 340 : # ifdef HAS_vsprintf_void -; 341 : (void)vsprintf(state->in, format, va); -; 342 : va_end(va); -; 343 : for (len = 0; len < size; len++) -; 344 : if (state->in[len] == 0) break; -; 345 : # else -; 346 : len = vsprintf(state->in, format, va); -; 347 : va_end(va); -; 348 : # endif -; 349 : #else -; 350 : # ifdef HAS_vsnprintf_void -; 351 : (void)vsnprintf(state->in, size, format, va); -; 352 : va_end(va); -; 353 : len = strlen(state->in); -; 354 : # else -; 355 : len = vsnprintf((char *)(state->in), size, format, va); - - 0007e 8b 4d 0c mov ecx, DWORD PTR _format$[ebp] - 00081 8b 56 24 mov edx, DWORD PTR [esi+36] - 00084 8d 45 10 lea eax, DWORD PTR _format$[ebp+4] - 00087 50 push eax - 00088 51 push ecx - 00089 57 push edi - 0008a 52 push edx - 0008b e8 00 00 00 00 call _vsnprintf - 00090 8b c8 mov ecx, eax - 00092 83 c4 10 add esp, 16 ; 00000010H - -; 356 : va_end(va); -; 357 : # endif -; 358 : #endif -; 359 : -; 360 : /* check that printf() results fit in buffer */ -; 361 : if (len <= 0 || len >= (int)size || state->in[size - 1] != 0) - - 00095 85 c9 test ecx, ecx - 00097 7e 26 jle SHORT $LN1@gzprintf - 00099 3b cf cmp ecx, edi - 0009b 7d 22 jge SHORT $LN1@gzprintf - 0009d 8b 46 24 mov eax, DWORD PTR [esi+36] - 000a0 80 7c 07 ff 00 cmp BYTE PTR [edi+eax-1], 0 - 000a5 75 18 jne SHORT $LN1@gzprintf - -; 363 : -; 364 : /* update buffer and position, defer compression until needed */ -; 365 : strm->avail_in = (unsigned)len; - - 000a7 89 4e 68 mov DWORD PTR [esi+104], ecx - -; 366 : strm->next_in = state->in; - - 000aa 8b 56 24 mov edx, DWORD PTR [esi+36] - 000ad 89 56 64 mov DWORD PTR [esi+100], edx - -; 367 : state->x.pos += len; - - 000b0 8b c1 mov eax, ecx - 000b2 99 cdq - 000b3 01 46 08 add DWORD PTR [esi+8], eax - 000b6 5f pop edi - -; 368 : return len; - - 000b7 8b c1 mov eax, ecx - 000b9 11 56 0c adc DWORD PTR [esi+12], edx - 000bc 5e pop esi - -; 369 : } - - 000bd 5d pop ebp - 000be c3 ret 0 -$LN1@gzprintf: - 000bf 5f pop edi - -; 362 : return 0; - - 000c0 33 c0 xor eax, eax - 000c2 5e pop esi - -; 369 : } - - 000c3 5d pop ebp - 000c4 c3 ret 0 -_gzprintf ENDP -_TEXT ENDS -PUBLIC _gzwrite@12 -; Function compile flags: /Ogtp -; COMDAT _gzwrite@12 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_buf$ = 12 ; size = 4 -_put$ = 16 ; size = 4 -_len$ = 16 ; size = 4 -_gzwrite@12 PROC ; COMDAT - -; 169 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - -; 170 : unsigned put = len; -; 171 : unsigned n; -; 172 : gz_statep state; -; 173 : z_streamp strm; -; 174 : -; 175 : /* get internal structure */ -; 176 : if (file == NULL) - - 00004 8b 5d 08 mov ebx, DWORD PTR _file$[ebp] - 00007 57 push edi - 00008 8b 7d 10 mov edi, DWORD PTR _len$[ebp] - 0000b 89 7d 10 mov DWORD PTR _put$[ebp], edi - 0000e 85 db test ebx, ebx - -; 177 : return 0; - - 00010 74 27 je SHORT $LN32@gzwrite - -; 178 : state = (gz_statep)file; -; 179 : strm = &(state->strm); -; 180 : -; 181 : /* check that we're writing and that there's no error */ -; 182 : if (state->mode != GZ_WRITE || state->err != Z_OK) - - 00012 81 7b 10 b1 79 - 00 00 cmp DWORD PTR [ebx+16], 31153 ; 000079b1H - 00019 75 1e jne SHORT $LN32@gzwrite - 0001b 83 7b 5c 00 cmp DWORD PTR [ebx+92], 0 - 0001f 75 18 jne SHORT $LN32@gzwrite - -; 183 : return 0; -; 184 : -; 185 : /* since an int is returned, make sure len fits in one, otherwise return -; 186 : with an error (this avoids the flaw in the interface) */ -; 187 : if ((int)len < 0) { - - 00021 85 ff test edi, edi - 00023 79 1c jns SHORT $LN30@gzwrite - -; 188 : gz_error(state, Z_DATA_ERROR, "requested length does not fit in int"); - - 00025 68 00 00 00 00 push OFFSET ??_C@_0CF@MLPJFDMM@requested?5length?5does?5not?5fit?5in@ - 0002a b8 fd ff ff ff mov eax, -3 ; fffffffdH - 0002f 8b cb mov ecx, ebx - 00031 e8 00 00 00 00 call _gz_error - 00036 83 c4 04 add esp, 4 -$LN32@gzwrite: - -; 189 : return 0; - - 00039 5f pop edi - 0003a 33 c0 xor eax, eax - 0003c 5b pop ebx - -; 240 : } - - 0003d 5d pop ebp - 0003e c2 0c 00 ret 12 ; 0000000cH -$LN30@gzwrite: - -; 190 : } -; 191 : -; 192 : /* if len is zero, avoid unnecessary operations */ -; 193 : if (len == 0) -; 194 : return 0; - - 00041 74 f6 je SHORT $LN32@gzwrite - -; 195 : -; 196 : /* allocate memory if this is the first time through */ -; 197 : if (state->size == 0 && gz_init(state) == -1) - - 00043 83 7b 1c 00 cmp DWORD PTR [ebx+28], 0 - 00047 56 push esi - 00048 75 0c jne SHORT $LN24@gzwrite - 0004a 8b f3 mov esi, ebx - 0004c e8 00 00 00 00 call _gz_init - 00051 83 f8 ff cmp eax, -1 - -; 198 : return 0; - - 00054 74 75 je SHORT $LN31@gzwrite -$LN24@gzwrite: - -; 199 : -; 200 : /* check for seek request */ -; 201 : if (state->seek) { - - 00056 33 f6 xor esi, esi - 00058 39 73 58 cmp DWORD PTR [ebx+88], esi - 0005b 74 1a je SHORT $LN28@gzwrite - -; 202 : state->seek = 0; -; 203 : if (gz_zero(state, state->skip) == -1) - - 0005d 8b 43 54 mov eax, DWORD PTR [ebx+84] - 00060 8b 4b 50 mov ecx, DWORD PTR [ebx+80] - 00063 50 push eax - 00064 51 push ecx - 00065 8b c3 mov eax, ebx - 00067 89 73 58 mov DWORD PTR [ebx+88], esi - 0006a e8 00 00 00 00 call _gz_zero - 0006f 83 c4 08 add esp, 8 - 00072 83 f8 ff cmp eax, -1 - -; 204 : return 0; - - 00075 74 54 je SHORT $LN31@gzwrite -$LN28@gzwrite: - -; 205 : } -; 206 : -; 207 : /* for small len, copy to input buffer, otherwise compress directly */ -; 208 : if (len < state->size) { - - 00077 3b 7b 1c cmp edi, DWORD PTR [ebx+28] - 0007a 73 58 jae SHORT $LN10@gzwrite - 0007c 8d 64 24 00 npad 4 -$LL9@gzwrite: - -; 209 : /* copy to input buffer, compress when full */ -; 210 : do { -; 211 : if (strm->avail_in == 0) - - 00080 8b 43 68 mov eax, DWORD PTR [ebx+104] - 00083 85 c0 test eax, eax - 00085 75 06 jne SHORT $LN6@gzwrite - -; 212 : strm->next_in = state->in; - - 00087 8b 53 24 mov edx, DWORD PTR [ebx+36] - 0008a 89 53 64 mov DWORD PTR [ebx+100], edx -$LN6@gzwrite: - -; 213 : n = state->size - strm->avail_in; - - 0008d 8b 73 1c mov esi, DWORD PTR [ebx+28] - 00090 2b f0 sub esi, eax - -; 214 : if (n > len) - - 00092 3b f7 cmp esi, edi - 00094 76 02 jbe SHORT $LN5@gzwrite - -; 215 : n = len; - - 00096 8b f7 mov esi, edi -$LN5@gzwrite: - -; 216 : memcpy(strm->next_in + strm->avail_in, buf, n); - - 00098 8b 4d 0c mov ecx, DWORD PTR _buf$[ebp] - 0009b 8b 53 64 mov edx, DWORD PTR [ebx+100] - 0009e 56 push esi - 0009f 51 push ecx - 000a0 03 d0 add edx, eax - 000a2 52 push edx - 000a3 e8 00 00 00 00 call _memcpy - -; 217 : strm->avail_in += n; - - 000a8 01 73 68 add DWORD PTR [ebx+104], esi - 000ab 83 c4 0c add esp, 12 ; 0000000cH - -; 218 : state->x.pos += n; - - 000ae 01 73 08 add DWORD PTR [ebx+8], esi - 000b1 83 53 0c 00 adc DWORD PTR [ebx+12], 0 - -; 219 : buf = (char *)buf + n; - - 000b5 01 75 0c add DWORD PTR _buf$[ebp], esi - -; 220 : len -= n; - - 000b8 2b fe sub edi, esi - -; 221 : if (len && gz_comp(state, Z_NO_FLUSH) == -1) - - 000ba 74 48 je SHORT $LN27@gzwrite - 000bc 6a 00 push 0 - 000be e8 00 00 00 00 call _gz_comp - 000c3 83 c4 04 add esp, 4 - 000c6 83 f8 ff cmp eax, -1 - 000c9 75 b5 jne SHORT $LL9@gzwrite -$LN31@gzwrite: - 000cb 5e pop esi - 000cc 5f pop edi - -; 222 : return 0; - - 000cd 33 c0 xor eax, eax - 000cf 5b pop ebx - -; 240 : } - - 000d0 5d pop ebp - 000d1 c2 0c 00 ret 12 ; 0000000cH -$LN10@gzwrite: - -; 223 : } while (len); -; 224 : } -; 225 : else { -; 226 : /* consume whatever's left in the input buffer */ -; 227 : if (strm->avail_in && gz_comp(state, Z_NO_FLUSH) == -1) - - 000d4 39 73 68 cmp DWORD PTR [ebx+104], esi - 000d7 74 0e je SHORT $LN2@gzwrite - 000d9 56 push esi - 000da e8 00 00 00 00 call _gz_comp - 000df 83 c4 04 add esp, 4 - 000e2 83 f8 ff cmp eax, -1 - -; 228 : return 0; - - 000e5 74 e4 je SHORT $LN31@gzwrite -$LN2@gzwrite: - -; 229 : -; 230 : /* directly compress user buffer to file */ -; 231 : strm->avail_in = len; -; 232 : strm->next_in = (voidp)buf; - - 000e7 8b 45 0c mov eax, DWORD PTR _buf$[ebp] - 000ea 89 7b 68 mov DWORD PTR [ebx+104], edi - 000ed 89 43 64 mov DWORD PTR [ebx+100], eax - -; 233 : state->x.pos += len; - - 000f0 01 7b 08 add DWORD PTR [ebx+8], edi - -; 234 : if (gz_comp(state, Z_NO_FLUSH) == -1) - - 000f3 56 push esi - 000f4 11 73 0c adc DWORD PTR [ebx+12], esi - 000f7 e8 00 00 00 00 call _gz_comp - 000fc 83 c4 04 add esp, 4 - 000ff 83 f8 ff cmp eax, -1 - -; 235 : return 0; - - 00102 74 c7 je SHORT $LN31@gzwrite -$LN27@gzwrite: - -; 236 : } -; 237 : -; 238 : /* input was all buffered or compressed (put will fit in int) */ -; 239 : return (int)put; - - 00104 8b 45 10 mov eax, DWORD PTR _put$[ebp] - 00107 5e pop esi - 00108 5f pop edi - 00109 5b pop ebx - -; 240 : } - - 0010a 5d pop ebp - 0010b c2 0c 00 ret 12 ; 0000000cH -_gzwrite@12 ENDP -PUBLIC _gzputs@8 -; Function compile flags: /Ogtp -; COMDAT _gzputs@8 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_str$ = 12 ; size = 4 -_gzputs@8 PROC ; COMDAT - -; 289 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 290 : int ret; -; 291 : unsigned len; -; 292 : -; 293 : /* write string */ -; 294 : len = (unsigned)strlen(str); - - 00003 8b 55 0c mov edx, DWORD PTR _str$[ebp] - 00006 8b c2 mov eax, edx - 00008 56 push esi - 00009 8d 70 01 lea esi, DWORD PTR [eax+1] - 0000c 8d 64 24 00 npad 4 -$LL5@gzputs: - 00010 8a 08 mov cl, BYTE PTR [eax] - 00012 40 inc eax - 00013 84 c9 test cl, cl - 00015 75 f9 jne SHORT $LL5@gzputs - 00017 2b c6 sub eax, esi - 00019 8b f0 mov esi, eax - -; 295 : ret = gzwrite(file, str, len); - - 0001b 8b 45 08 mov eax, DWORD PTR _file$[ebp] - 0001e 56 push esi - 0001f 52 push edx - 00020 50 push eax - 00021 e8 00 00 00 00 call _gzwrite@12 - -; 296 : return ret == 0 && len != 0 ? -1 : ret; - - 00026 85 c0 test eax, eax - 00028 75 07 jne SHORT $LN4@gzputs - 0002a 85 f6 test esi, esi - 0002c 74 03 je SHORT $LN4@gzputs - 0002e 83 c8 ff or eax, -1 -$LN4@gzputs: - 00031 5e pop esi - -; 297 : } - - 00032 5d pop ebp - 00033 c2 08 00 ret 8 -_gzputs@8 ENDP -_TEXT ENDS -PUBLIC _gzputc@8 -; Function compile flags: /Ogtp -; COMDAT _gzputc@8 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_buf$ = 11 ; size = 1 -_c$ = 12 ; size = 4 -_gzputc@8 PROC ; COMDAT - -; 246 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 247 : unsigned char buf[1]; -; 248 : gz_statep state; -; 249 : z_streamp strm; -; 250 : -; 251 : /* get internal structure */ -; 252 : if (file == NULL) - - 00004 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 00007 85 f6 test esi, esi - 00009 75 08 jne SHORT $LN8@gzputc -$LN12@gzputc: - -; 253 : return -1; - - 0000b 83 c8 ff or eax, -1 - 0000e 5e pop esi - -; 283 : } - - 0000f 5d pop ebp - 00010 c2 08 00 ret 8 -$LN8@gzputc: - -; 254 : state = (gz_statep)file; -; 255 : strm = &(state->strm); -; 256 : -; 257 : /* check that we're writing and that there's no error */ -; 258 : if (state->mode != GZ_WRITE || state->err != Z_OK) - - 00013 81 7e 10 b1 79 - 00 00 cmp DWORD PTR [esi+16], 31153 ; 000079b1H - 0001a 75 ef jne SHORT $LN12@gzputc - 0001c 83 7e 5c 00 cmp DWORD PTR [esi+92], 0 - 00020 75 e9 jne SHORT $LN12@gzputc - -; 259 : return -1; -; 260 : -; 261 : /* check for seek request */ -; 262 : if (state->seek) { - - 00022 83 7e 58 00 cmp DWORD PTR [esi+88], 0 - 00026 74 1e je SHORT $LN4@gzputc - -; 263 : state->seek = 0; -; 264 : if (gz_zero(state, state->skip) == -1) - - 00028 8b 46 54 mov eax, DWORD PTR [esi+84] - 0002b 8b 4e 50 mov ecx, DWORD PTR [esi+80] - 0002e 50 push eax - 0002f 51 push ecx - 00030 8b c6 mov eax, esi - 00032 c7 46 58 00 00 - 00 00 mov DWORD PTR [esi+88], 0 - 00039 e8 00 00 00 00 call _gz_zero - 0003e 83 c4 08 add esp, 8 - 00041 83 f8 ff cmp eax, -1 - -; 265 : return -1; - - 00044 74 c5 je SHORT $LN12@gzputc -$LN4@gzputc: - -; 266 : } -; 267 : -; 268 : /* try writing to input buffer for speed (state->size == 0 if buffer not -; 269 : initialized) */ -; 270 : if (strm->avail_in < state->size) { - - 00046 8b 4e 68 mov ecx, DWORD PTR [esi+104] - 00049 3b 4e 1c cmp ecx, DWORD PTR [esi+28] - 0004c 73 2c jae SHORT $LN3@gzputc - -; 271 : if (strm->avail_in == 0) - - 0004e 85 c9 test ecx, ecx - 00050 75 06 jne SHORT $LN2@gzputc - -; 272 : strm->next_in = state->in; - - 00052 8b 56 24 mov edx, DWORD PTR [esi+36] - 00055 89 56 64 mov DWORD PTR [esi+100], edx -$LN2@gzputc: - -; 273 : strm->next_in[strm->avail_in++] = c; - - 00058 8b 56 64 mov edx, DWORD PTR [esi+100] - 0005b 8b 45 0c mov eax, DWORD PTR _c$[ebp] - 0005e 88 04 11 mov BYTE PTR [ecx+edx], al - 00061 b9 01 00 00 00 mov ecx, 1 - 00066 01 4e 68 add DWORD PTR [esi+104], ecx - -; 274 : state->x.pos++; - - 00069 01 4e 08 add DWORD PTR [esi+8], ecx - 0006c 83 56 0c 00 adc DWORD PTR [esi+12], 0 - -; 275 : return c & 0xff; - - 00070 25 ff 00 00 00 and eax, 255 ; 000000ffH - 00075 5e pop esi - -; 283 : } - - 00076 5d pop ebp - 00077 c2 08 00 ret 8 -$LN3@gzputc: - 0007a 53 push ebx - -; 276 : } -; 277 : -; 278 : /* no room in buffer or not initialized, use gz_write() */ -; 279 : buf[0] = c; - - 0007b 8b 5d 0c mov ebx, DWORD PTR _c$[ebp] - -; 280 : if (gzwrite(file, buf, 1) != 1) - - 0007e 6a 01 push 1 - 00080 8d 45 0b lea eax, DWORD PTR _buf$[ebp] - 00083 50 push eax - 00084 56 push esi - 00085 88 5d 0b mov BYTE PTR _buf$[ebp], bl - 00088 e8 00 00 00 00 call _gzwrite@12 - 0008d 83 f8 01 cmp eax, 1 - 00090 74 09 je SHORT $LN1@gzputc - -; 281 : return -1; - - 00092 5b pop ebx - 00093 83 c8 ff or eax, -1 - 00096 5e pop esi - -; 283 : } - - 00097 5d pop ebp - 00098 c2 08 00 ret 8 -$LN1@gzputc: - -; 282 : return c & 0xff; - - 0009b 8b c3 mov eax, ebx - 0009d 5b pop ebx - 0009e 25 ff 00 00 00 and eax, 255 ; 000000ffH - 000a3 5e pop esi - -; 283 : } - - 000a4 5d pop ebp - 000a5 c2 08 00 ret 8 -_gzputc@8 ENDP -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/infback.cod b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/infback.cod deleted file mode 100644 index c8053a0e..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/infback.cod +++ /dev/null @@ -1,4261 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.30319.01 - - TITLE D:\FMU\FMUSolution\zlib-1.2.6\infback.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC ??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@ ; `string' -PUBLIC ??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@ ; `string' -PUBLIC ??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@ ; `string' -PUBLIC ??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@ ; `string' -PUBLIC ??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@ ; `string' -PUBLIC ??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@ ; `string' -PUBLIC ??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@ ; `string' -PUBLIC ??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@ ; `string' -PUBLIC ??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@ ; `string' -PUBLIC ??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@ ; `string' -PUBLIC ??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@ ; `string' -EXTRN _inflate_fast:PROC -; COMDAT ??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@ -CONST SEGMENT -??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@ DB 'invalid dis' - DB 'tance too far back', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@ -CONST SEGMENT -??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@ DB 'invalid distance code' - DB 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@ -CONST SEGMENT -??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@ DB 'invalid litera' - DB 'l/length code', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@ -CONST SEGMENT -??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@ DB 'invalid distances set' - DB 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@ -CONST SEGMENT -??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@ DB 'invalid litera' - DB 'l/lengths set', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@ -CONST SEGMENT -??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@ DB 'invalid ' - DB 'code -- missing end-of-block', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@ -CONST SEGMENT -??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@ DB 'invalid bit leng' - DB 'th repeat', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@ -CONST SEGMENT -??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@ DB 'invalid code leng' - DB 'ths set', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@ -CONST SEGMENT -??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@ DB 'too many le' - DB 'ngth or distance symbols', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@ -CONST SEGMENT -??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@ DB 'invalid store' - DB 'd block lengths', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@ -CONST SEGMENT -??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@ DB 'invalid block type', 00H ; `string' - ORG $+2 -?lenfix@?1??fixedtables@@9@9 DB 060H ; `fixedtables'::`2'::lenfix - DB 07H - DW 00H - DB 00H - DB 08H - DW 050H - DB 00H - DB 08H - DW 010H - DB 014H - DB 08H - DW 073H - DB 012H - DB 07H - DW 01fH - DB 00H - DB 08H - DW 070H - DB 00H - DB 08H - DW 030H - DB 00H - DB 09H - DW 0c0H - DB 010H - DB 07H - DW 0aH - DB 00H - DB 08H - DW 060H - DB 00H - DB 08H - DW 020H - DB 00H - DB 09H - DW 0a0H - DB 00H - DB 08H - DW 00H - DB 00H - DB 08H - DW 080H - DB 00H - DB 08H - DW 040H - DB 00H - DB 09H - DW 0e0H - DB 010H - DB 07H - DW 06H - DB 00H - DB 08H - DW 058H - DB 00H - DB 08H - DW 018H - DB 00H - DB 09H - DW 090H - DB 013H - DB 07H - DW 03bH - DB 00H - DB 08H - DW 078H - DB 00H - DB 08H - DW 038H - DB 00H - DB 09H - DW 0d0H - DB 011H - DB 07H - DW 011H - DB 00H - DB 08H - DW 068H - DB 00H - DB 08H - DW 028H - DB 00H - DB 09H - DW 0b0H - DB 00H - DB 08H - DW 08H - DB 00H - DB 08H - DW 088H - DB 00H - DB 08H - DW 048H - DB 00H - DB 09H - DW 0f0H - DB 010H - DB 07H - DW 04H - DB 00H - DB 08H - DW 054H - DB 00H - DB 08H - DW 014H - DB 015H - DB 08H - DW 0e3H - DB 013H - DB 07H - DW 02bH - DB 00H - DB 08H - DW 074H - DB 00H - DB 08H - DW 034H - DB 00H - DB 09H - DW 0c8H - DB 011H - DB 07H - DW 0dH - DB 00H - DB 08H - DW 064H - DB 00H - DB 08H - DW 024H - DB 00H - DB 09H - DW 0a8H - DB 00H - DB 08H - DW 04H - DB 00H - DB 08H - DW 084H - DB 00H - DB 08H - DW 044H - DB 00H - DB 09H - DW 0e8H - DB 010H - DB 07H - DW 08H - DB 00H - DB 08H - DW 05cH - DB 00H - DB 08H - DW 01cH - DB 00H - DB 09H - DW 098H - DB 014H - DB 07H - DW 053H - DB 00H - DB 08H - DW 07cH - DB 00H - DB 08H - DW 03cH - DB 00H - DB 09H - DW 0d8H - DB 012H - DB 07H - DW 017H - DB 00H - DB 08H - DW 06cH - DB 00H - DB 08H - DW 02cH - DB 00H - DB 09H - DW 0b8H - DB 00H - DB 08H - DW 0cH - DB 00H - DB 08H - DW 08cH - DB 00H - DB 08H - DW 04cH - DB 00H - DB 09H - DW 0f8H - DB 010H - DB 07H - DW 03H - DB 00H - DB 08H - DW 052H - DB 00H - DB 08H - DW 012H - DB 015H - DB 08H - DW 0a3H - DB 013H - DB 07H - DW 023H - DB 00H - DB 08H - DW 072H - DB 00H - DB 08H - DW 032H - DB 00H - DB 09H - DW 0c4H - DB 011H - DB 07H - DW 0bH - DB 00H - DB 08H - DW 062H - DB 00H - DB 08H - DW 022H - DB 00H - DB 09H - DW 0a4H - DB 00H - DB 08H - DW 02H - DB 00H - DB 08H - DW 082H - DB 00H - DB 08H - DW 042H - DB 00H - DB 09H - DW 0e4H - DB 010H - DB 07H - DW 07H - DB 00H - DB 08H - DW 05aH - DB 00H - DB 08H - DW 01aH - DB 00H - DB 09H - DW 094H - DB 014H - DB 07H - DW 043H - DB 00H - DB 08H - DW 07aH - DB 00H - DB 08H - DW 03aH - DB 00H - DB 09H - DW 0d4H - DB 012H - DB 07H - DW 013H - DB 00H - DB 08H - DW 06aH - DB 00H - DB 08H - DW 02aH - DB 00H - DB 09H - DW 0b4H - DB 00H - DB 08H - DW 0aH - DB 00H - DB 08H - DW 08aH - DB 00H - DB 08H - DW 04aH - DB 00H - DB 09H - DW 0f4H - DB 010H - DB 07H - DW 05H - DB 00H - DB 08H - DW 056H - DB 00H - DB 08H - DW 016H - DB 040H - DB 08H - DW 00H - DB 013H - DB 07H - DW 033H - DB 00H - DB 08H - DW 076H - DB 00H - DB 08H - DW 036H - DB 00H - DB 09H - DW 0ccH - DB 011H - DB 07H - DW 0fH - DB 00H - DB 08H - DW 066H - DB 00H - DB 08H - DW 026H - DB 00H - DB 09H - DW 0acH - DB 00H - DB 08H - DW 06H - DB 00H - DB 08H - DW 086H - DB 00H - DB 08H - DW 046H - DB 00H - DB 09H - DW 0ecH - DB 010H - DB 07H - DW 09H - DB 00H - DB 08H - DW 05eH - DB 00H - DB 08H - DW 01eH - DB 00H - DB 09H - DW 09cH - DB 014H - DB 07H - DW 063H - DB 00H - DB 08H - DW 07eH - DB 00H - DB 08H - DW 03eH - DB 00H - DB 09H - DW 0dcH - DB 012H - DB 07H - DW 01bH - DB 00H - DB 08H - DW 06eH - DB 00H - DB 08H - DW 02eH - DB 00H - DB 09H - DW 0bcH - DB 00H - DB 08H - DW 0eH - DB 00H - DB 08H - DW 08eH - DB 00H - DB 08H - DW 04eH - DB 00H - DB 09H - DW 0fcH - DB 060H - DB 07H - DW 00H - DB 00H - DB 08H - DW 051H - DB 00H - DB 08H - DW 011H - DB 015H - DB 08H - DW 083H - DB 012H - DB 07H - DW 01fH - DB 00H - DB 08H - DW 071H - DB 00H - DB 08H - DW 031H - DB 00H - DB 09H - DW 0c2H - DB 010H - DB 07H - DW 0aH - DB 00H - DB 08H - DW 061H - DB 00H - DB 08H - DW 021H - DB 00H - DB 09H - DW 0a2H - DB 00H - DB 08H - DW 01H - DB 00H - DB 08H - DW 081H - DB 00H - DB 08H - DW 041H - DB 00H - DB 09H - DW 0e2H - DB 010H - DB 07H - DW 06H - DB 00H - DB 08H - DW 059H - DB 00H - DB 08H - DW 019H - DB 00H - DB 09H - DW 092H - DB 013H - DB 07H - DW 03bH - DB 00H - DB 08H - DW 079H - DB 00H - DB 08H - DW 039H - DB 00H - DB 09H - DW 0d2H - DB 011H - DB 07H - DW 011H - DB 00H - DB 08H - DW 069H - DB 00H - DB 08H - DW 029H - DB 00H - DB 09H - DW 0b2H - DB 00H - DB 08H - DW 09H - DB 00H - DB 08H - DW 089H - DB 00H - DB 08H - DW 049H - DB 00H - DB 09H - DW 0f2H - DB 010H - DB 07H - DW 04H - DB 00H - DB 08H - DW 055H - DB 00H - DB 08H - DW 015H - DB 010H - DB 08H - DW 0102H - DB 013H - DB 07H - DW 02bH - DB 00H - DB 08H - DW 075H - DB 00H - DB 08H - DW 035H - DB 00H - DB 09H - DW 0caH - DB 011H - DB 07H - DW 0dH - DB 00H - DB 08H - DW 065H - DB 00H - DB 08H - DW 025H - DB 00H - DB 09H - DW 0aaH - DB 00H - DB 08H - DW 05H - DB 00H - DB 08H - DW 085H - DB 00H - DB 08H - DW 045H - DB 00H - DB 09H - DW 0eaH - DB 010H - DB 07H - DW 08H - DB 00H - DB 08H - DW 05dH - DB 00H - DB 08H - DW 01dH - DB 00H - DB 09H - DW 09aH - DB 014H - DB 07H - DW 053H - DB 00H - DB 08H - DW 07dH - DB 00H - DB 08H - DW 03dH - DB 00H - DB 09H - DW 0daH - DB 012H - DB 07H - DW 017H - DB 00H - DB 08H - DW 06dH - DB 00H - DB 08H - DW 02dH - DB 00H - DB 09H - DW 0baH - DB 00H - DB 08H - DW 0dH - DB 00H - DB 08H - DW 08dH - DB 00H - DB 08H - DW 04dH - DB 00H - DB 09H - DW 0faH - DB 010H - DB 07H - DW 03H - DB 00H - DB 08H - DW 053H - DB 00H - DB 08H - DW 013H - DB 015H - DB 08H - DW 0c3H - DB 013H - DB 07H - DW 023H - DB 00H - DB 08H - DW 073H - DB 00H - DB 08H - DW 033H - DB 00H - DB 09H - DW 0c6H - DB 011H - DB 07H - DW 0bH - DB 00H - DB 08H - DW 063H - DB 00H - DB 08H - DW 023H - DB 00H - DB 09H - DW 0a6H - DB 00H - DB 08H - DW 03H - DB 00H - DB 08H - DW 083H - DB 00H - DB 08H - DW 043H - DB 00H - DB 09H - DW 0e6H - DB 010H - DB 07H - DW 07H - DB 00H - DB 08H - DW 05bH - DB 00H - DB 08H - DW 01bH - DB 00H - DB 09H - DW 096H - DB 014H - DB 07H - DW 043H - DB 00H - DB 08H - DW 07bH - DB 00H - DB 08H - DW 03bH - DB 00H - DB 09H - DW 0d6H - DB 012H - DB 07H - DW 013H - DB 00H - DB 08H - DW 06bH - DB 00H - DB 08H - DW 02bH - DB 00H - DB 09H - DW 0b6H - DB 00H - DB 08H - DW 0bH - DB 00H - DB 08H - DW 08bH - DB 00H - DB 08H - DW 04bH - DB 00H - DB 09H - DW 0f6H - DB 010H - DB 07H - DW 05H - DB 00H - DB 08H - DW 057H - DB 00H - DB 08H - DW 017H - DB 040H - DB 08H - DW 00H - DB 013H - DB 07H - DW 033H - DB 00H - DB 08H - DW 077H - DB 00H - DB 08H - DW 037H - DB 00H - DB 09H - DW 0ceH - DB 011H - DB 07H - DW 0fH - DB 00H - DB 08H - DW 067H - DB 00H - DB 08H - DW 027H - DB 00H - DB 09H - DW 0aeH - DB 00H - DB 08H - DW 07H - DB 00H - DB 08H - DW 087H - DB 00H - DB 08H - DW 047H - DB 00H - DB 09H - DW 0eeH - DB 010H - DB 07H - DW 09H - DB 00H - DB 08H - DW 05fH - DB 00H - DB 08H - DW 01fH - DB 00H - DB 09H - DW 09eH - DB 014H - DB 07H - DW 063H - DB 00H - DB 08H - DW 07fH - DB 00H - DB 08H - DW 03fH - DB 00H - DB 09H - DW 0deH - DB 012H - DB 07H - DW 01bH - DB 00H - DB 08H - DW 06fH - DB 00H - DB 08H - DW 02fH - DB 00H - DB 09H - DW 0beH - DB 00H - DB 08H - DW 0fH - DB 00H - DB 08H - DW 08fH - DB 00H - DB 08H - DW 04fH - DB 00H - DB 09H - DW 0feH - DB 060H - DB 07H - DW 00H - DB 00H - DB 08H - DW 050H - DB 00H - DB 08H - DW 010H - DB 014H - DB 08H - DW 073H - DB 012H - DB 07H - DW 01fH - DB 00H - DB 08H - DW 070H - DB 00H - DB 08H - DW 030H - DB 00H - DB 09H - DW 0c1H - DB 010H - DB 07H - DW 0aH - DB 00H - DB 08H - DW 060H - DB 00H - DB 08H - DW 020H - DB 00H - DB 09H - DW 0a1H - DB 00H - DB 08H - DW 00H - DB 00H - DB 08H - DW 080H - DB 00H - DB 08H - DW 040H - DB 00H - DB 09H - DW 0e1H - DB 010H - DB 07H - DW 06H - DB 00H - DB 08H - DW 058H - DB 00H - DB 08H - DW 018H - DB 00H - DB 09H - DW 091H - DB 013H - DB 07H - DW 03bH - DB 00H - DB 08H - DW 078H - DB 00H - DB 08H - DW 038H - DB 00H - DB 09H - DW 0d1H - DB 011H - DB 07H - DW 011H - DB 00H - DB 08H - DW 068H - DB 00H - DB 08H - DW 028H - DB 00H - DB 09H - DW 0b1H - DB 00H - DB 08H - DW 08H - DB 00H - DB 08H - DW 088H - DB 00H - DB 08H - DW 048H - DB 00H - DB 09H - DW 0f1H - DB 010H - DB 07H - DW 04H - DB 00H - DB 08H - DW 054H - DB 00H - DB 08H - DW 014H - DB 015H - DB 08H - DW 0e3H - DB 013H - DB 07H - DW 02bH - DB 00H - DB 08H - DW 074H - DB 00H - DB 08H - DW 034H - DB 00H - DB 09H - DW 0c9H - DB 011H - DB 07H - DW 0dH - DB 00H - DB 08H - DW 064H - DB 00H - DB 08H - DW 024H - DB 00H - DB 09H - DW 0a9H - DB 00H - DB 08H - DW 04H - DB 00H - DB 08H - DW 084H - DB 00H - DB 08H - DW 044H - DB 00H - DB 09H - DW 0e9H - DB 010H - DB 07H - DW 08H - DB 00H - DB 08H - DW 05cH - DB 00H - DB 08H - DW 01cH - DB 00H - DB 09H - DW 099H - DB 014H - DB 07H - DW 053H - DB 00H - DB 08H - DW 07cH - DB 00H - DB 08H - DW 03cH - DB 00H - DB 09H - DW 0d9H - DB 012H - DB 07H - DW 017H - DB 00H - DB 08H - DW 06cH - DB 00H - DB 08H - DW 02cH - DB 00H - DB 09H - DW 0b9H - DB 00H - DB 08H - DW 0cH - DB 00H - DB 08H - DW 08cH - DB 00H - DB 08H - DW 04cH - DB 00H - DB 09H - DW 0f9H - DB 010H - DB 07H - DW 03H - DB 00H - DB 08H - DW 052H - DB 00H - DB 08H - DW 012H - DB 015H - DB 08H - DW 0a3H - DB 013H - DB 07H - DW 023H - DB 00H - DB 08H - DW 072H - DB 00H - DB 08H - DW 032H - DB 00H - DB 09H - DW 0c5H - DB 011H - DB 07H - DW 0bH - DB 00H - DB 08H - DW 062H - DB 00H - DB 08H - DW 022H - DB 00H - DB 09H - DW 0a5H - DB 00H - DB 08H - DW 02H - DB 00H - DB 08H - DW 082H - DB 00H - DB 08H - DW 042H - DB 00H - DB 09H - DW 0e5H - DB 010H - DB 07H - DW 07H - DB 00H - DB 08H - DW 05aH - DB 00H - DB 08H - DW 01aH - DB 00H - DB 09H - DW 095H - DB 014H - DB 07H - DW 043H - DB 00H - DB 08H - DW 07aH - DB 00H - DB 08H - DW 03aH - DB 00H - DB 09H - DW 0d5H - DB 012H - DB 07H - DW 013H - DB 00H - DB 08H - DW 06aH - DB 00H - DB 08H - DW 02aH - DB 00H - DB 09H - DW 0b5H - DB 00H - DB 08H - DW 0aH - DB 00H - DB 08H - DW 08aH - DB 00H - DB 08H - DW 04aH - DB 00H - DB 09H - DW 0f5H - DB 010H - DB 07H - DW 05H - DB 00H - DB 08H - DW 056H - DB 00H - DB 08H - DW 016H - DB 040H - DB 08H - DW 00H - DB 013H - DB 07H - DW 033H - DB 00H - DB 08H - DW 076H - DB 00H - DB 08H - DW 036H - DB 00H - DB 09H - DW 0cdH - DB 011H - DB 07H - DW 0fH - DB 00H - DB 08H - DW 066H - DB 00H - DB 08H - DW 026H - DB 00H - DB 09H - DW 0adH - DB 00H - DB 08H - DW 06H - DB 00H - DB 08H - DW 086H - DB 00H - DB 08H - DW 046H - DB 00H - DB 09H - DW 0edH - DB 010H - DB 07H - DW 09H - DB 00H - DB 08H - DW 05eH - DB 00H - DB 08H - DW 01eH - DB 00H - DB 09H - DW 09dH - DB 014H - DB 07H - DW 063H - DB 00H - DB 08H - DW 07eH - DB 00H - DB 08H - DW 03eH - DB 00H - DB 09H - DW 0ddH - DB 012H - DB 07H - DW 01bH - DB 00H - DB 08H - DW 06eH - DB 00H - DB 08H - DW 02eH - DB 00H - DB 09H - DW 0bdH - DB 00H - DB 08H - DW 0eH - DB 00H - DB 08H - DW 08eH - DB 00H - DB 08H - DW 04eH - DB 00H - DB 09H - DW 0fdH - DB 060H - DB 07H - DW 00H - DB 00H - DB 08H - DW 051H - DB 00H - DB 08H - DW 011H - DB 015H - DB 08H - DW 083H - DB 012H - DB 07H - DW 01fH - DB 00H - DB 08H - DW 071H - DB 00H - DB 08H - DW 031H - DB 00H - DB 09H - DW 0c3H - DB 010H - DB 07H - DW 0aH - DB 00H - DB 08H - DW 061H - DB 00H - DB 08H - DW 021H - DB 00H - DB 09H - DW 0a3H - DB 00H - DB 08H - DW 01H - DB 00H - DB 08H - DW 081H - DB 00H - DB 08H - DW 041H - DB 00H - DB 09H - DW 0e3H - DB 010H - DB 07H - DW 06H - DB 00H - DB 08H - DW 059H - DB 00H - DB 08H - DW 019H - DB 00H - DB 09H - DW 093H - DB 013H - DB 07H - DW 03bH - DB 00H - DB 08H - DW 079H - DB 00H - DB 08H - DW 039H - DB 00H - DB 09H - DW 0d3H - DB 011H - DB 07H - DW 011H - DB 00H - DB 08H - DW 069H - DB 00H - DB 08H - DW 029H - DB 00H - DB 09H - DW 0b3H - DB 00H - DB 08H - DW 09H - DB 00H - DB 08H - DW 089H - DB 00H - DB 08H - DW 049H - DB 00H - DB 09H - DW 0f3H - DB 010H - DB 07H - DW 04H - DB 00H - DB 08H - DW 055H - DB 00H - DB 08H - DW 015H - DB 010H - DB 08H - DW 0102H - DB 013H - DB 07H - DW 02bH - DB 00H - DB 08H - DW 075H - DB 00H - DB 08H - DW 035H - DB 00H - DB 09H - DW 0cbH - DB 011H - DB 07H - DW 0dH - DB 00H - DB 08H - DW 065H - DB 00H - DB 08H - DW 025H - DB 00H - DB 09H - DW 0abH - DB 00H - DB 08H - DW 05H - DB 00H - DB 08H - DW 085H - DB 00H - DB 08H - DW 045H - DB 00H - DB 09H - DW 0ebH - DB 010H - DB 07H - DW 08H - DB 00H - DB 08H - DW 05dH - DB 00H - DB 08H - DW 01dH - DB 00H - DB 09H - DW 09bH - DB 014H - DB 07H - DW 053H - DB 00H - DB 08H - DW 07dH - DB 00H - DB 08H - DW 03dH - DB 00H - DB 09H - DW 0dbH - DB 012H - DB 07H - DW 017H - DB 00H - DB 08H - DW 06dH - DB 00H - DB 08H - DW 02dH - DB 00H - DB 09H - DW 0bbH - DB 00H - DB 08H - DW 0dH - DB 00H - DB 08H - DW 08dH - DB 00H - DB 08H - DW 04dH - DB 00H - DB 09H - DW 0fbH - DB 010H - DB 07H - DW 03H - DB 00H - DB 08H - DW 053H - DB 00H - DB 08H - DW 013H - DB 015H - DB 08H - DW 0c3H - DB 013H - DB 07H - DW 023H - DB 00H - DB 08H - DW 073H - DB 00H - DB 08H - DW 033H - DB 00H - DB 09H - DW 0c7H - DB 011H - DB 07H - DW 0bH - DB 00H - DB 08H - DW 063H - DB 00H - DB 08H - DW 023H - DB 00H - DB 09H - DW 0a7H - DB 00H - DB 08H - DW 03H - DB 00H - DB 08H - DW 083H - DB 00H - DB 08H - DW 043H - DB 00H - DB 09H - DW 0e7H - DB 010H - DB 07H - DW 07H - DB 00H - DB 08H - DW 05bH - DB 00H - DB 08H - DW 01bH - DB 00H - DB 09H - DW 097H - DB 014H - DB 07H - DW 043H - DB 00H - DB 08H - DW 07bH - DB 00H - DB 08H - DW 03bH - DB 00H - DB 09H - DW 0d7H - DB 012H - DB 07H - DW 013H - DB 00H - DB 08H - DW 06bH - DB 00H - DB 08H - DW 02bH - DB 00H - DB 09H - DW 0b7H - DB 00H - DB 08H - DW 0bH - DB 00H - DB 08H - DW 08bH - DB 00H - DB 08H - DW 04bH - DB 00H - DB 09H - DW 0f7H - DB 010H - DB 07H - DW 05H - DB 00H - DB 08H - DW 057H - DB 00H - DB 08H - DW 017H - DB 040H - DB 08H - DW 00H - DB 013H - DB 07H - DW 033H - DB 00H - DB 08H - DW 077H - DB 00H - DB 08H - DW 037H - DB 00H - DB 09H - DW 0cfH - DB 011H - DB 07H - DW 0fH - DB 00H - DB 08H - DW 067H - DB 00H - DB 08H - DW 027H - DB 00H - DB 09H - DW 0afH - DB 00H - DB 08H - DW 07H - DB 00H - DB 08H - DW 087H - DB 00H - DB 08H - DW 047H - DB 00H - DB 09H - DW 0efH - DB 010H - DB 07H - DW 09H - DB 00H - DB 08H - DW 05fH - DB 00H - DB 08H - DW 01fH - DB 00H - DB 09H - DW 09fH - DB 014H - DB 07H - DW 063H - DB 00H - DB 08H - DW 07fH - DB 00H - DB 08H - DW 03fH - DB 00H - DB 09H - DW 0dfH - DB 012H - DB 07H - DW 01bH - DB 00H - DB 08H - DW 06fH - DB 00H - DB 08H - DW 02fH - DB 00H - DB 09H - DW 0bfH - DB 00H - DB 08H - DW 0fH - DB 00H - DB 08H - DW 08fH - DB 00H - DB 08H - DW 04fH - DB 00H - DB 09H - DW 0ffH -?distfix@?1??fixedtables@@9@9 DB 010H ; `fixedtables'::`2'::distfix - DB 05H - DW 01H - DB 017H - DB 05H - DW 0101H - DB 013H - DB 05H - DW 011H - DB 01bH - DB 05H - DW 01001H - DB 011H - DB 05H - DW 05H - DB 019H - DB 05H - DW 0401H - DB 015H - DB 05H - DW 041H - DB 01dH - DB 05H - DW 04001H - DB 010H - DB 05H - DW 03H - DB 018H - DB 05H - DW 0201H - DB 014H - DB 05H - DW 021H - DB 01cH - DB 05H - DW 02001H - DB 012H - DB 05H - DW 09H - DB 01aH - DB 05H - DW 0801H - DB 016H - DB 05H - DW 081H - DB 040H - DB 05H - DW 00H - DB 010H - DB 05H - DW 02H - DB 017H - DB 05H - DW 0181H - DB 013H - DB 05H - DW 019H - DB 01bH - DB 05H - DW 01801H - DB 011H - DB 05H - DW 07H - DB 019H - DB 05H - DW 0601H - DB 015H - DB 05H - DW 061H - DB 01dH - DB 05H - DW 06001H - DB 010H - DB 05H - DW 04H - DB 018H - DB 05H - DW 0301H - DB 014H - DB 05H - DW 031H - DB 01cH - DB 05H - DW 03001H - DB 012H - DB 05H - DW 0dH - DB 01aH - DB 05H - DW 0c01H - DB 016H - DB 05H - DW 0c1H - DB 040H - DB 05H - DW 00H -?order@?1??inflateBack@@9@9 DW 010H ; `inflateBack'::`2'::order - DW 011H - DW 012H - DW 00H - DW 08H - DW 07H - DW 09H - DW 06H - DW 0aH - DW 05H - DW 0bH - DW 04H - DW 0cH - DW 03H - DW 0dH - DW 02H - DW 0eH - DW 01H - DW 0fH -PUBLIC _inflateBackEnd@4 -; Function compile flags: /Ogtp -; File d:\fmu\fmusolution\zlib-1.2.6\infback.c -; COMDAT _inflateBackEnd@4 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_inflateBackEnd@4 PROC ; COMDAT - -; 633 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 634 : if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0) - - 00004 8b 75 08 mov esi, DWORD PTR _strm$[ebp] - 00007 85 f6 test esi, esi - 00009 74 26 je SHORT $LN1@inflateBac - 0000b 8b 4e 1c mov ecx, DWORD PTR [esi+28] - 0000e 85 c9 test ecx, ecx - 00010 74 1f je SHORT $LN1@inflateBac - 00012 8b 46 24 mov eax, DWORD PTR [esi+36] - 00015 85 c0 test eax, eax - 00017 74 18 je SHORT $LN1@inflateBac - -; 636 : ZFREE(strm, strm->state); - - 00019 51 push ecx - 0001a 8b 4e 28 mov ecx, DWORD PTR [esi+40] - 0001d 51 push ecx - 0001e ff d0 call eax - 00020 83 c4 08 add esp, 8 - -; 637 : strm->state = Z_NULL; - - 00023 c7 46 1c 00 00 - 00 00 mov DWORD PTR [esi+28], 0 - -; 638 : Tracev((stderr, "inflate: end\n")); -; 639 : return Z_OK; - - 0002a 33 c0 xor eax, eax - 0002c 5e pop esi - -; 640 : } - - 0002d 5d pop ebp - 0002e c2 04 00 ret 4 -$LN1@inflateBac: - -; 635 : return Z_STREAM_ERROR; - - 00031 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00036 5e pop esi - -; 640 : } - - 00037 5d pop ebp - 00038 c2 04 00 ret 4 -_inflateBackEnd@4 ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _fixedtables -_TEXT SEGMENT -_fixedtables PROC ; COMDAT -; _state$ = eax - -; 85 : #ifdef BUILDFIXED -; 86 : static int virgin = 1; -; 87 : static code *lenfix, *distfix; -; 88 : static code fixed[544]; -; 89 : -; 90 : /* build fixed huffman tables if first call (may not be thread safe) */ -; 91 : if (virgin) { -; 92 : unsigned sym, bits; -; 93 : static code *next; -; 94 : -; 95 : /* literal/length table */ -; 96 : sym = 0; -; 97 : while (sym < 144) state->lens[sym++] = 8; -; 98 : while (sym < 256) state->lens[sym++] = 9; -; 99 : while (sym < 280) state->lens[sym++] = 7; -; 100 : while (sym < 288) state->lens[sym++] = 8; -; 101 : next = fixed; -; 102 : lenfix = next; -; 103 : bits = 9; -; 104 : inflate_table(LENS, state->lens, 288, &(next), &(bits), state->work); -; 105 : -; 106 : /* distance table */ -; 107 : sym = 0; -; 108 : while (sym < 32) state->lens[sym++] = 5; -; 109 : distfix = next; -; 110 : bits = 5; -; 111 : inflate_table(DISTS, state->lens, 32, &(next), &(bits), state->work); -; 112 : -; 113 : /* do this just once */ -; 114 : virgin = 0; -; 115 : } -; 116 : #else /* !BUILDFIXED */ -; 117 : # include "inffixed.h" -; 118 : #endif /* BUILDFIXED */ -; 119 : state->lencode = lenfix; - - 00000 c7 40 4c 00 00 - 00 00 mov DWORD PTR [eax+76], OFFSET ?lenfix@?1??fixedtables@@9@9 - -; 120 : state->lenbits = 9; - - 00007 c7 40 54 09 00 - 00 00 mov DWORD PTR [eax+84], 9 - -; 121 : state->distcode = distfix; - - 0000e c7 40 50 00 00 - 00 00 mov DWORD PTR [eax+80], OFFSET ?distfix@?1??fixedtables@@9@9 - -; 122 : state->distbits = 5; - - 00015 c7 40 58 05 00 - 00 00 mov DWORD PTR [eax+88], 5 - -; 123 : } - - 0001c c3 ret 0 -_fixedtables ENDP -_TEXT ENDS -PUBLIC _inflateBackInit_@20 -; Function compile flags: /Ogtp -; COMDAT _inflateBackInit_@20 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_windowBits$ = 12 ; size = 4 -_window$ = 16 ; size = 4 -_version$ = 20 ; size = 4 -_stream_size$ = 24 ; size = 4 -_inflateBackInit_@20 PROC ; COMDAT - -; 34 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 35 : struct inflate_state FAR *state; -; 36 : -; 37 : if (version == Z_NULL || version[0] != ZLIB_VERSION[0] || -; 38 : stream_size != (int)(sizeof(z_stream))) - - 00003 8b 45 14 mov eax, DWORD PTR _version$[ebp] - 00006 53 push ebx - 00007 33 db xor ebx, ebx - 00009 3b c3 cmp eax, ebx - 0000b 0f 84 a7 00 00 - 00 je $LN6@inflateBac@2 - 00011 80 38 31 cmp BYTE PTR [eax], 49 ; 00000031H - 00014 0f 85 9e 00 00 - 00 jne $LN6@inflateBac@2 - 0001a 83 7d 18 38 cmp DWORD PTR _stream_size$[ebp], 56 ; 00000038H - 0001e 0f 85 94 00 00 - 00 jne $LN6@inflateBac@2 - -; 40 : if (strm == Z_NULL || window == Z_NULL || -; 41 : windowBits < 8 || windowBits > 15) - - 00024 56 push esi - 00025 8b 75 08 mov esi, DWORD PTR _strm$[ebp] - 00028 57 push edi - 00029 3b f3 cmp esi, ebx - 0002b 74 7f je SHORT $LN4@inflateBac@2 - 0002d 39 5d 10 cmp DWORD PTR _window$[ebp], ebx - 00030 74 7a je SHORT $LN4@inflateBac@2 - 00032 8b 7d 0c mov edi, DWORD PTR _windowBits$[ebp] - 00035 8d 47 f8 lea eax, DWORD PTR [edi-8] - 00038 83 f8 07 cmp eax, 7 - 0003b 77 6f ja SHORT $LN4@inflateBac@2 - -; 43 : strm->msg = Z_NULL; /* in case we return an error */ - - 0003d 89 5e 18 mov DWORD PTR [esi+24], ebx - -; 44 : if (strm->zalloc == (alloc_func)0) { - - 00040 39 5e 20 cmp DWORD PTR [esi+32], ebx - 00043 75 0a jne SHORT $LN3@inflateBac@2 - -; 45 : #ifdef Z_SOLO -; 46 : return Z_STREAM_ERROR; -; 47 : #else -; 48 : strm->zalloc = zcalloc; - - 00045 c7 46 20 00 00 - 00 00 mov DWORD PTR [esi+32], OFFSET _zcalloc - -; 49 : strm->opaque = (voidpf)0; - - 0004c 89 5e 28 mov DWORD PTR [esi+40], ebx -$LN3@inflateBac@2: - -; 50 : #endif -; 51 : } -; 52 : if (strm->zfree == (free_func)0) - - 0004f 39 5e 24 cmp DWORD PTR [esi+36], ebx - 00052 75 07 jne SHORT $LN2@inflateBac@2 - -; 53 : #ifdef Z_SOLO -; 54 : return Z_STREAM_ERROR; -; 55 : #else -; 56 : strm->zfree = zcfree; - - 00054 c7 46 24 00 00 - 00 00 mov DWORD PTR [esi+36], OFFSET _zcfree -$LN2@inflateBac@2: - -; 57 : #endif -; 58 : state = (struct inflate_state FAR *)ZALLOC(strm, 1, -; 59 : sizeof(struct inflate_state)); - - 0005b 8b 4e 28 mov ecx, DWORD PTR [esi+40] - 0005e 8b 56 20 mov edx, DWORD PTR [esi+32] - 00061 68 cc 1b 00 00 push 7116 ; 00001bccH - 00066 6a 01 push 1 - 00068 51 push ecx - 00069 ff d2 call edx - 0006b 83 c4 0c add esp, 12 ; 0000000cH - -; 60 : if (state == Z_NULL) return Z_MEM_ERROR; - - 0006e 3b c3 cmp eax, ebx - 00070 75 0c jne SHORT $LN1@inflateBac@2 - 00072 5f pop edi - 00073 5e pop esi - 00074 b8 fc ff ff ff mov eax, -4 ; fffffffcH - 00079 5b pop ebx - -; 70 : } - - 0007a 5d pop ebp - 0007b c2 14 00 ret 20 ; 00000014H -$LN1@inflateBac@2: - -; 61 : Tracev((stderr, "inflate: allocated\n")); -; 62 : strm->state = (struct internal_state FAR *)state; - - 0007e 89 46 1c mov DWORD PTR [esi+28], eax - -; 63 : state->dmax = 32768U; -; 64 : state->wbits = windowBits; -; 65 : state->wsize = 1U << windowBits; - - 00081 8b cf mov ecx, edi - 00083 ba 01 00 00 00 mov edx, 1 - 00088 d3 e2 shl edx, cl - -; 66 : state->window = window; - - 0008a 8b 4d 10 mov ecx, DWORD PTR _window$[ebp] - 0008d 89 78 24 mov DWORD PTR [eax+36], edi - 00090 5f pop edi - -; 67 : state->wnext = 0; - - 00091 89 58 30 mov DWORD PTR [eax+48], ebx - -; 68 : state->whave = 0; - - 00094 89 58 2c mov DWORD PTR [eax+44], ebx - 00097 5e pop esi - 00098 c7 40 14 00 80 - 00 00 mov DWORD PTR [eax+20], 32768 ; 00008000H - 0009f 89 50 28 mov DWORD PTR [eax+40], edx - 000a2 89 48 34 mov DWORD PTR [eax+52], ecx - -; 69 : return Z_OK; - - 000a5 33 c0 xor eax, eax - 000a7 5b pop ebx - -; 70 : } - - 000a8 5d pop ebp - 000a9 c2 14 00 ret 20 ; 00000014H -$LN4@inflateBac@2: - 000ac 5f pop edi - 000ad 5e pop esi - -; 42 : return Z_STREAM_ERROR; - - 000ae b8 fe ff ff ff mov eax, -2 ; fffffffeH - 000b3 5b pop ebx - -; 70 : } - - 000b4 5d pop ebp - 000b5 c2 14 00 ret 20 ; 00000014H -$LN6@inflateBac@2: - -; 39 : return Z_VERSION_ERROR; - - 000b8 b8 fa ff ff ff mov eax, -6 ; fffffffaH - 000bd 5b pop ebx - -; 70 : } - - 000be 5d pop ebp - 000bf c2 14 00 ret 20 ; 00000014H -_inflateBackInit_@20 ENDP -PUBLIC _inflateBack@20 -; Function compile flags: /Ogtp -; COMDAT _inflateBack@20 -_TEXT SEGMENT -tv1911 = -28 ; size = 4 -tv1420 = -28 ; size = 4 -_from$ = -28 ; size = 4 -tv1446 = -24 ; size = 4 -tv1421 = -24 ; size = 4 -_len$ = -24 ; size = 4 -_here$ = -24 ; size = 4 -_copy$ = -24 ; size = 4 -_last$ = -20 ; size = 4 -_left$ = -16 ; size = 4 -_put$ = -12 ; size = 4 -_next$ = -8 ; size = 4 -_have$ = -4 ; size = 4 -_strm$ = 8 ; size = 4 -_in$ = 12 ; size = 4 -_in_desc$ = 16 ; size = 4 -_out$ = 20 ; size = 4 -_out_desc$ = 24 ; size = 4 -_inflateBack@20 PROC ; COMDAT - -; 256 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 257 : struct inflate_state FAR *state; -; 258 : unsigned char FAR *next; /* next input */ -; 259 : unsigned char FAR *put; /* next output */ -; 260 : unsigned have, left; /* available input and output */ -; 261 : unsigned long hold; /* bit buffer */ -; 262 : unsigned bits; /* bits in bit buffer */ -; 263 : unsigned copy; /* number of stored or match bytes to copy */ -; 264 : unsigned char FAR *from; /* where to copy match bytes from */ -; 265 : code here; /* current decoding table entry */ -; 266 : code last; /* parent table entry */ -; 267 : unsigned len; /* length to copy for repeats, bits to drop */ -; 268 : int ret; /* return code */ -; 269 : static const unsigned short order[19] = /* permutation of code lengths */ -; 270 : {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15}; -; 271 : -; 272 : /* Check that the strm exists and that the state was initialized */ -; 273 : if (strm == Z_NULL || strm->state == Z_NULL) - - 00003 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00006 83 ec 1c sub esp, 28 ; 0000001cH - 00009 56 push esi - 0000a 33 f6 xor esi, esi - 0000c 57 push edi - 0000d 3b c6 cmp eax, esi - 0000f 0f 84 95 0c 00 - 00 je $LN333@inflateBac@3 - 00015 8b 78 1c mov edi, DWORD PTR [eax+28] - 00018 3b fe cmp edi, esi - 0001a 0f 84 8a 0c 00 - 00 je $LN333@inflateBac@3 - -; 275 : state = (struct inflate_state FAR *)strm->state; -; 276 : -; 277 : /* Reset the state */ -; 278 : strm->msg = Z_NULL; - - 00020 89 70 18 mov DWORD PTR [eax+24], esi - -; 279 : state->mode = TYPE; - - 00023 c7 07 0b 00 00 - 00 mov DWORD PTR [edi], 11 ; 0000000bH - -; 280 : state->last = 0; - - 00029 89 77 04 mov DWORD PTR [edi+4], esi - -; 281 : state->whave = 0; - - 0002c 89 77 2c mov DWORD PTR [edi+44], esi - -; 282 : next = strm->next_in; - - 0002f 8b 08 mov ecx, DWORD PTR [eax] - 00031 89 4d f8 mov DWORD PTR _next$[ebp], ecx - -; 283 : have = next != Z_NULL ? strm->avail_in : 0; - - 00034 3b ce cmp ecx, esi - 00036 74 08 je SHORT $LN337@inflateBac@3 - 00038 8b 40 04 mov eax, DWORD PTR [eax+4] - 0003b 89 45 fc mov DWORD PTR _have$[ebp], eax - 0003e eb 03 jmp SHORT $LN338@inflateBac@3 -$LN337@inflateBac@3: - 00040 89 75 fc mov DWORD PTR _have$[ebp], esi -$LN338@inflateBac@3: - -; 284 : hold = 0; -; 285 : bits = 0; -; 286 : put = state->window; -; 287 : left = state->wsize; -; 288 : -; 289 : /* Inflate until end of block marked as last */ -; 290 : for (;;) -; 291 : switch (state->mode) { - - 00043 8b 07 mov eax, DWORD PTR [edi] - 00045 8b 57 34 mov edx, DWORD PTR [edi+52] - 00048 8b 4f 28 mov ecx, DWORD PTR [edi+40] - 0004b 53 push ebx - 0004c 83 e8 0b sub eax, 11 ; 0000000bH - 0004f 33 db xor ebx, ebx - 00051 89 55 f4 mov DWORD PTR _put$[ebp], edx - 00054 89 4d f0 mov DWORD PTR _left$[ebp], ecx - 00057 83 f8 12 cmp eax, 18 ; 00000012H - 0005a 76 27 jbe SHORT $LN332@inflateBac@3 -$LN1@inflateBac@3: - -; 618 : -; 619 : default: /* can't happen, but makes compilers happy */ -; 620 : ret = Z_STREAM_ERROR; - - 0005c be fe ff ff ff mov esi, -2 ; fffffffeH -$inf_leave$80328: - -; 621 : goto inf_leave; -; 622 : } -; 623 : -; 624 : /* Return unused input */ -; 625 : inf_leave: -; 626 : strm->next_in = next; - - 00061 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00064 8b 4d f8 mov ecx, DWORD PTR _next$[ebp] - -; 627 : strm->avail_in = have; - - 00067 8b 55 fc mov edx, DWORD PTR _have$[ebp] - 0006a 5b pop ebx - 0006b 89 08 mov DWORD PTR [eax], ecx - 0006d 89 50 04 mov DWORD PTR [eax+4], edx - 00070 5f pop edi - -; 628 : return ret; - - 00071 8b c6 mov eax, esi - 00073 5e pop esi - -; 629 : } - - 00074 8b e5 mov esp, ebp - 00076 5d pop ebp - 00077 c2 14 00 ret 20 ; 00000014H - 0007a 8d 9b 00 00 00 - 00 npad 6 -$LL420@inflateBac@3: - -; 284 : hold = 0; -; 285 : bits = 0; -; 286 : put = state->window; -; 287 : left = state->wsize; -; 288 : -; 289 : /* Inflate until end of block marked as last */ -; 290 : for (;;) -; 291 : switch (state->mode) { - - 00080 8b 55 f4 mov edx, DWORD PTR _put$[ebp] -$LN332@inflateBac@3: - 00083 0f b6 80 00 00 - 00 00 movzx eax, BYTE PTR $LN414@inflateBac@3[eax] - 0008a ff 24 85 00 00 - 00 00 jmp DWORD PTR $LN460@inflateBac@3[eax*4] -$LN328@inflateBac@3: - -; 292 : case TYPE: -; 293 : /* determine and dispatch block type */ -; 294 : if (state->last) { - - 00091 83 7f 04 00 cmp DWORD PTR [edi+4], 0 - 00095 74 14 je SHORT $LN323@inflateBac@3 - -; 295 : BYTEBITS(); - - 00097 8b ce mov ecx, esi - 00099 83 e1 07 and ecx, 7 - 0009c d3 eb shr ebx, cl - 0009e 2b f1 sub esi, ecx - -; 296 : state->mode = DONE; - - 000a0 c7 07 1c 00 00 - 00 mov DWORD PTR [edi], 28 ; 0000001cH - -; 297 : break; - - 000a6 e9 8f 0b 00 00 jmp $LN387@inflateBac@3 -$LN323@inflateBac@3: - -; 298 : } -; 299 : NEEDBITS(3); - - 000ab 83 fe 03 cmp esi, 3 - 000ae 73 3a jae SHORT $LN322@inflateBac@3 -$LL320@inflateBac@3: - 000b0 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 000b4 75 19 jne SHORT $LN314@inflateBac@3 - 000b6 8b 55 10 mov edx, DWORD PTR _in_desc$[ebp] - 000b9 8d 4d f8 lea ecx, DWORD PTR _next$[ebp] - 000bc 51 push ecx - 000bd 52 push edx - 000be ff 55 0c call DWORD PTR _in$[ebp] - 000c1 83 c4 08 add esp, 8 - 000c4 89 45 fc mov DWORD PTR _have$[ebp], eax - 000c7 85 c0 test eax, eax - 000c9 0f 84 7e 0b 00 - 00 je $LN363@inflateBac@3 -$LN314@inflateBac@3: - 000cf 8b 45 f8 mov eax, DWORD PTR _next$[ebp] - 000d2 0f b6 10 movzx edx, BYTE PTR [eax] - 000d5 ff 4d fc dec DWORD PTR _have$[ebp] - 000d8 8b ce mov ecx, esi - 000da d3 e2 shl edx, cl - 000dc 40 inc eax - 000dd 83 c6 08 add esi, 8 - 000e0 89 45 f8 mov DWORD PTR _next$[ebp], eax - 000e3 03 da add ebx, edx - 000e5 83 fe 03 cmp esi, 3 - 000e8 72 c6 jb SHORT $LL320@inflateBac@3 -$LN322@inflateBac@3: - -; 300 : state->last = BITS(1); - - 000ea 8b c3 mov eax, ebx - 000ec 83 e0 01 and eax, 1 - -; 301 : DROPBITS(1); - - 000ef d1 eb shr ebx, 1 - 000f1 89 47 04 mov DWORD PTR [edi+4], eax - -; 302 : switch (BITS(2)) { - - 000f4 8b c3 mov eax, ebx - 000f6 83 e0 03 and eax, 3 - 000f9 83 f8 03 cmp eax, 3 - 000fc 77 51 ja SHORT $LN301@inflateBac@3 - 000fe ff 24 85 00 00 - 00 00 jmp DWORD PTR $LN461@inflateBac@3[eax*4] -$LN305@inflateBac@3: - -; 322 : } -; 323 : DROPBITS(2); - - 00105 c1 eb 02 shr ebx, 2 - 00108 c7 07 0d 00 00 - 00 mov DWORD PTR [edi], 13 ; 0000000dH - 0010e 83 ee 03 sub esi, 3 - -; 324 : break; - - 00111 e9 24 0b 00 00 jmp $LN387@inflateBac@3 -$LN304@inflateBac@3: - -; 303 : case 0: /* stored block */ -; 304 : Tracev((stderr, "inflate: stored block%s\n", -; 305 : state->last ? " (last)" : "")); -; 306 : state->mode = STORED; -; 307 : break; -; 308 : case 1: /* fixed block */ -; 309 : fixedtables(state); - - 00116 8b c7 mov eax, edi - 00118 e8 00 00 00 00 call _fixedtables - -; 322 : } -; 323 : DROPBITS(2); - - 0011d c1 eb 02 shr ebx, 2 - 00120 c7 07 14 00 00 - 00 mov DWORD PTR [edi], 20 ; 00000014H - 00126 83 ee 03 sub esi, 3 - -; 324 : break; - - 00129 e9 0c 0b 00 00 jmp $LN387@inflateBac@3 -$LN303@inflateBac@3: - -; 322 : } -; 323 : DROPBITS(2); - - 0012e c1 eb 02 shr ebx, 2 - 00131 c7 07 10 00 00 - 00 mov DWORD PTR [edi], 16 ; 00000010H - 00137 83 ee 03 sub esi, 3 - -; 324 : break; - - 0013a e9 fb 0a 00 00 jmp $LN387@inflateBac@3 -$LN302@inflateBac@3: - -; 310 : Tracev((stderr, "inflate: fixed codes block%s\n", -; 311 : state->last ? " (last)" : "")); -; 312 : state->mode = LEN; /* decode codes */ -; 313 : break; -; 314 : case 2: /* dynamic block */ -; 315 : Tracev((stderr, "inflate: dynamic codes block%s\n", -; 316 : state->last ? " (last)" : "")); -; 317 : state->mode = TABLE; -; 318 : break; -; 319 : case 3: -; 320 : strm->msg = (char *)"invalid block type"; - - 0013f 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 00142 c7 41 18 00 00 - 00 00 mov DWORD PTR [ecx+24], OFFSET ??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@ - -; 321 : state->mode = BAD; - - 00149 c7 07 1d 00 00 - 00 mov DWORD PTR [edi], 29 ; 0000001dH -$LN301@inflateBac@3: - -; 322 : } -; 323 : DROPBITS(2); - - 0014f c1 eb 02 shr ebx, 2 - 00152 83 ee 03 sub esi, 3 - -; 324 : break; - - 00155 e9 e0 0a 00 00 jmp $LN387@inflateBac@3 -$LN297@inflateBac@3: - -; 325 : -; 326 : case STORED: -; 327 : /* get and verify stored block length */ -; 328 : BYTEBITS(); /* go to byte boundary */ - - 0015a 8b ce mov ecx, esi - 0015c 83 e1 07 and ecx, 7 - 0015f 2b f1 sub esi, ecx - 00161 d3 eb shr ebx, cl - -; 329 : NEEDBITS(32); - - 00163 83 fe 20 cmp esi, 32 ; 00000020H - 00166 73 3a jae SHORT $LN293@inflateBac@3 -$LL291@inflateBac@3: - 00168 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 0016c 75 19 jne SHORT $LN285@inflateBac@3 - 0016e 8b 45 10 mov eax, DWORD PTR _in_desc$[ebp] - 00171 8d 55 f8 lea edx, DWORD PTR _next$[ebp] - 00174 52 push edx - 00175 50 push eax - 00176 ff 55 0c call DWORD PTR _in$[ebp] - 00179 83 c4 08 add esp, 8 - 0017c 89 45 fc mov DWORD PTR _have$[ebp], eax - 0017f 85 c0 test eax, eax - 00181 0f 84 c6 0a 00 - 00 je $LN363@inflateBac@3 -$LN285@inflateBac@3: - 00187 8b 45 f8 mov eax, DWORD PTR _next$[ebp] - 0018a 0f b6 10 movzx edx, BYTE PTR [eax] - 0018d ff 4d fc dec DWORD PTR _have$[ebp] - 00190 8b ce mov ecx, esi - 00192 d3 e2 shl edx, cl - 00194 40 inc eax - 00195 83 c6 08 add esi, 8 - 00198 89 45 f8 mov DWORD PTR _next$[ebp], eax - 0019b 03 da add ebx, edx - 0019d 83 fe 20 cmp esi, 32 ; 00000020H - 001a0 72 c6 jb SHORT $LL291@inflateBac@3 -$LN293@inflateBac@3: - -; 330 : if ((hold & 0xffff) != ((hold >> 16) ^ 0xffff)) { - - 001a2 8b cb mov ecx, ebx - 001a4 8b c3 mov eax, ebx - 001a6 f7 d1 not ecx - 001a8 25 ff ff 00 00 and eax, 65535 ; 0000ffffH - 001ad c1 e9 10 shr ecx, 16 ; 00000010H - 001b0 3b c1 cmp eax, ecx - 001b2 74 15 je SHORT $LN281@inflateBac@3 - -; 331 : strm->msg = (char *)"invalid stored block lengths"; - - 001b4 8b 55 08 mov edx, DWORD PTR _strm$[ebp] - 001b7 c7 42 18 00 00 - 00 00 mov DWORD PTR [edx+24], OFFSET ??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@ - -; 332 : state->mode = BAD; - - 001be c7 07 1d 00 00 - 00 mov DWORD PTR [edi], 29 ; 0000001dH - -; 333 : break; - - 001c4 e9 71 0a 00 00 jmp $LN387@inflateBac@3 -$LN281@inflateBac@3: - -; 334 : } -; 335 : state->length = (unsigned)hold & 0xffff; -; 336 : Tracev((stderr, "inflate: stored length %u\n", -; 337 : state->length)); -; 338 : INITBITS(); - - 001c9 33 db xor ebx, ebx - 001cb 33 f6 xor esi, esi - 001cd 89 47 40 mov DWORD PTR [edi+64], eax - -; 339 : -; 340 : /* copy stored block from input to output */ -; 341 : while (state->length != 0) { - - 001d0 85 c0 test eax, eax - 001d2 0f 84 9c 00 00 - 00 je $LN276@inflateBac@3 - 001d8 eb 06 8d 9b 00 - 00 00 00 npad 8 -$LL277@inflateBac@3: - -; 342 : copy = state->length; - - 001e0 8b 47 40 mov eax, DWORD PTR [edi+64] - 001e3 89 45 e8 mov DWORD PTR _copy$[ebp], eax - -; 343 : PULL(); - - 001e6 39 5d fc cmp DWORD PTR _have$[ebp], ebx - 001e9 75 19 jne SHORT $LN274@inflateBac@3 - 001eb 8b 55 10 mov edx, DWORD PTR _in_desc$[ebp] - 001ee 8d 4d f8 lea ecx, DWORD PTR _next$[ebp] - 001f1 51 push ecx - 001f2 52 push edx - 001f3 ff 55 0c call DWORD PTR _in$[ebp] - 001f6 83 c4 08 add esp, 8 - 001f9 89 45 fc mov DWORD PTR _have$[ebp], eax - 001fc 85 c0 test eax, eax - 001fe 0f 84 5a 0a 00 - 00 je $LN365@inflateBac@3 -$LN274@inflateBac@3: - -; 344 : ROOM(); - - 00204 39 5d f0 cmp DWORD PTR _left$[ebp], ebx - 00207 75 23 jne SHORT $LN269@inflateBac@3 - 00209 8b 47 28 mov eax, DWORD PTR [edi+40] - 0020c 8b 4f 34 mov ecx, DWORD PTR [edi+52] - 0020f 50 push eax - 00210 89 45 f0 mov DWORD PTR _left$[ebp], eax - 00213 89 47 2c mov DWORD PTR [edi+44], eax - 00216 8b 45 18 mov eax, DWORD PTR _out_desc$[ebp] - 00219 51 push ecx - 0021a 50 push eax - 0021b 89 4d f4 mov DWORD PTR _put$[ebp], ecx - 0021e ff 55 14 call DWORD PTR _out$[ebp] - 00221 83 c4 0c add esp, 12 ; 0000000cH - 00224 85 c0 test eax, eax - 00226 0f 85 28 0a 00 - 00 jne $LN366@inflateBac@3 -$LN269@inflateBac@3: - -; 345 : if (copy > have) copy = have; - - 0022c 8b 45 e8 mov eax, DWORD PTR _copy$[ebp] - 0022f 8b 4d fc mov ecx, DWORD PTR _have$[ebp] - 00232 3b c1 cmp eax, ecx - 00234 76 05 jbe SHORT $LN265@inflateBac@3 - 00236 8b c1 mov eax, ecx - 00238 89 4d e8 mov DWORD PTR _copy$[ebp], ecx -$LN265@inflateBac@3: - -; 346 : if (copy > left) copy = left; - - 0023b 8b 4d f0 mov ecx, DWORD PTR _left$[ebp] - 0023e 3b c1 cmp eax, ecx - 00240 76 03 jbe SHORT $LN264@inflateBac@3 - 00242 89 4d e8 mov DWORD PTR _copy$[ebp], ecx -$LN264@inflateBac@3: - -; 347 : zmemcpy(put, next, copy); - - 00245 8b 4d e8 mov ecx, DWORD PTR _copy$[ebp] - 00248 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 0024b 8b 45 f4 mov eax, DWORD PTR _put$[ebp] - 0024e 51 push ecx - 0024f 52 push edx - 00250 50 push eax - 00251 e8 00 00 00 00 call _memcpy - -; 348 : have -= copy; - - 00256 8b 45 e8 mov eax, DWORD PTR _copy$[ebp] - -; 349 : next += copy; - - 00259 01 45 f8 add DWORD PTR _next$[ebp], eax - 0025c 29 45 fc sub DWORD PTR _have$[ebp], eax - -; 350 : left -= copy; - - 0025f 29 45 f0 sub DWORD PTR _left$[ebp], eax - -; 351 : put += copy; - - 00262 01 45 f4 add DWORD PTR _put$[ebp], eax - -; 352 : state->length -= copy; - - 00265 29 47 40 sub DWORD PTR [edi+64], eax - 00268 83 c4 0c add esp, 12 ; 0000000cH - 0026b 39 5f 40 cmp DWORD PTR [edi+64], ebx - 0026e 0f 85 6c ff ff - ff jne $LL277@inflateBac@3 -$LN276@inflateBac@3: - -; 353 : } -; 354 : Tracev((stderr, "inflate: stored end\n")); -; 355 : state->mode = TYPE; - - 00274 c7 07 0b 00 00 - 00 mov DWORD PTR [edi], 11 ; 0000000bH - -; 356 : break; - - 0027a e9 bb 09 00 00 jmp $LN387@inflateBac@3 -$LN262@inflateBac@3: - -; 357 : -; 358 : case TABLE: -; 359 : /* get dynamic table entries descriptor */ -; 360 : NEEDBITS(14); - - 0027f 83 fe 0e cmp esi, 14 ; 0000000eH - 00282 73 3a jae SHORT $LN261@inflateBac@3 -$LL259@inflateBac@3: - 00284 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00288 75 19 jne SHORT $LN253@inflateBac@3 - 0028a 8b 55 10 mov edx, DWORD PTR _in_desc$[ebp] - 0028d 8d 4d f8 lea ecx, DWORD PTR _next$[ebp] - 00290 51 push ecx - 00291 52 push edx - 00292 ff 55 0c call DWORD PTR _in$[ebp] - 00295 83 c4 08 add esp, 8 - 00298 89 45 fc mov DWORD PTR _have$[ebp], eax - 0029b 85 c0 test eax, eax - 0029d 0f 84 aa 09 00 - 00 je $LN363@inflateBac@3 -$LN253@inflateBac@3: - 002a3 8b 45 f8 mov eax, DWORD PTR _next$[ebp] - 002a6 0f b6 10 movzx edx, BYTE PTR [eax] - 002a9 ff 4d fc dec DWORD PTR _have$[ebp] - 002ac 8b ce mov ecx, esi - 002ae d3 e2 shl edx, cl - 002b0 40 inc eax - 002b1 83 c6 08 add esi, 8 - 002b4 89 45 f8 mov DWORD PTR _next$[ebp], eax - 002b7 03 da add ebx, edx - 002b9 83 fe 0e cmp esi, 14 ; 0000000eH - 002bc 72 c6 jb SHORT $LL259@inflateBac@3 -$LN261@inflateBac@3: - -; 361 : state->nlen = BITS(5) + 257; - - 002be 8b c3 mov eax, ebx - -; 362 : DROPBITS(5); - - 002c0 c1 eb 05 shr ebx, 5 - -; 363 : state->ndist = BITS(5) + 1; - - 002c3 8b cb mov ecx, ebx - -; 364 : DROPBITS(5); - - 002c5 c1 eb 05 shr ebx, 5 - -; 365 : state->ncode = BITS(4) + 4; - - 002c8 8b d3 mov edx, ebx - 002ca 83 e0 1f and eax, 31 ; 0000001fH - 002cd 83 e1 1f and ecx, 31 ; 0000001fH - 002d0 83 e2 0f and edx, 15 ; 0000000fH - 002d3 05 01 01 00 00 add eax, 257 ; 00000101H - 002d8 41 inc ecx - 002d9 83 c2 04 add edx, 4 - -; 366 : DROPBITS(4); - - 002dc c1 eb 04 shr ebx, 4 - 002df 83 ee 0e sub esi, 14 ; 0000000eH - 002e2 89 47 60 mov DWORD PTR [edi+96], eax - 002e5 89 4f 64 mov DWORD PTR [edi+100], ecx - 002e8 89 57 5c mov DWORD PTR [edi+92], edx - -; 367 : #ifndef PKZIP_BUG_WORKAROUND -; 368 : if (state->nlen > 286 || state->ndist > 30) { - - 002eb 3d 1e 01 00 00 cmp eax, 286 ; 0000011eH - 002f0 0f 87 90 04 00 - 00 ja $LN239@inflateBac@3 - 002f6 83 f9 1e cmp ecx, 30 ; 0000001eH - 002f9 0f 87 87 04 00 - 00 ja $LN239@inflateBac@3 - -; 372 : } -; 373 : #endif -; 374 : Tracev((stderr, "inflate: table sizes ok\n")); -; 375 : -; 376 : /* get code length code lengths (not a typo) */ -; 377 : state->have = 0; - - 002ff c7 47 68 00 00 - 00 00 mov DWORD PTR [edi+104], 0 - -; 378 : while (state->have < state->ncode) { - - 00306 85 d2 test edx, edx - 00308 76 6b jbe SHORT $LN346@inflateBac@3 - 0030a 8d 9b 00 00 00 - 00 npad 6 -$LL238@inflateBac@3: - -; 379 : NEEDBITS(3); - - 00310 83 fe 03 cmp esi, 3 - 00313 73 3a jae SHORT $LN235@inflateBac@3 -$LL233@inflateBac@3: - 00315 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00319 75 19 jne SHORT $LN227@inflateBac@3 - 0031b 8b 4d 10 mov ecx, DWORD PTR _in_desc$[ebp] - 0031e 8d 45 f8 lea eax, DWORD PTR _next$[ebp] - 00321 50 push eax - 00322 51 push ecx - 00323 ff 55 0c call DWORD PTR _in$[ebp] - 00326 83 c4 08 add esp, 8 - 00329 89 45 fc mov DWORD PTR _have$[ebp], eax - 0032c 85 c0 test eax, eax - 0032e 0f 84 19 09 00 - 00 je $LN363@inflateBac@3 -$LN227@inflateBac@3: - 00334 8b 45 f8 mov eax, DWORD PTR _next$[ebp] - 00337 0f b6 10 movzx edx, BYTE PTR [eax] - 0033a ff 4d fc dec DWORD PTR _have$[ebp] - 0033d 8b ce mov ecx, esi - 0033f d3 e2 shl edx, cl - 00341 40 inc eax - 00342 83 c6 08 add esi, 8 - 00345 89 45 f8 mov DWORD PTR _next$[ebp], eax - 00348 03 da add ebx, edx - 0034a 83 fe 03 cmp esi, 3 - 0034d 72 c6 jb SHORT $LL233@inflateBac@3 -$LN235@inflateBac@3: - -; 380 : state->lens[order[state->have++]] = (unsigned short)BITS(3); - - 0034f 8b 4f 68 mov ecx, DWORD PTR [edi+104] - 00352 0f b7 14 4d 00 - 00 00 00 movzx edx, WORD PTR ?order@?1??inflateBack@@9@9[ecx*2] - 0035a 8b c3 mov eax, ebx - 0035c 83 e0 07 and eax, 7 - 0035f 66 89 44 57 70 mov WORD PTR [edi+edx*2+112], ax - 00364 ff 47 68 inc DWORD PTR [edi+104] - 00367 8b 47 68 mov eax, DWORD PTR [edi+104] - -; 381 : DROPBITS(3); - - 0036a c1 eb 03 shr ebx, 3 - 0036d 83 ee 03 sub esi, 3 - 00370 3b 47 5c cmp eax, DWORD PTR [edi+92] - 00373 72 9b jb SHORT $LL238@inflateBac@3 -$LN346@inflateBac@3: - -; 382 : } -; 383 : while (state->have < 19) - - 00375 b8 13 00 00 00 mov eax, 19 ; 00000013H - 0037a 39 47 68 cmp DWORD PTR [edi+104], eax - 0037d 73 1b jae SHORT $LN219@inflateBac@3 - 0037f 90 npad 1 -$LL220@inflateBac@3: - -; 384 : state->lens[order[state->have++]] = 0; - - 00380 8b 4f 68 mov ecx, DWORD PTR [edi+104] - 00383 0f b7 14 4d 00 - 00 00 00 movzx edx, WORD PTR ?order@?1??inflateBack@@9@9[ecx*2] - 0038b 33 c9 xor ecx, ecx - 0038d 66 89 4c 57 70 mov WORD PTR [edi+edx*2+112], cx - 00392 ff 47 68 inc DWORD PTR [edi+104] - 00395 39 47 68 cmp DWORD PTR [edi+104], eax - 00398 72 e6 jb SHORT $LL220@inflateBac@3 -$LN219@inflateBac@3: - -; 385 : state->next = state->codes; - - 0039a 8d 87 30 05 00 - 00 lea eax, DWORD PTR [edi+1328] - 003a0 8d 4f 6c lea ecx, DWORD PTR [edi+108] - 003a3 89 01 mov DWORD PTR [ecx], eax - -; 386 : state->lencode = (code const FAR *)(state->next); - - 003a5 89 47 4c mov DWORD PTR [edi+76], eax - -; 387 : state->lenbits = 7; -; 388 : ret = inflate_table(CODES, state->lens, 19, &(state->next), -; 389 : &(state->lenbits), state->work); - - 003a8 8d 97 f0 02 00 - 00 lea edx, DWORD PTR [edi+752] - 003ae 52 push edx - 003af 8d 47 54 lea eax, DWORD PTR [edi+84] - 003b2 50 push eax - 003b3 51 push ecx - 003b4 c7 00 07 00 00 - 00 mov DWORD PTR [eax], 7 - 003ba 6a 13 push 19 ; 00000013H - 003bc 8d 47 70 lea eax, DWORD PTR [edi+112] - 003bf 50 push eax - 003c0 6a 00 push 0 - 003c2 e8 00 00 00 00 call _inflate_table - 003c7 83 c4 18 add esp, 24 ; 00000018H - -; 390 : if (ret) { - - 003ca 85 c0 test eax, eax - 003cc 74 15 je SHORT $LN218@inflateBac@3 - -; 391 : strm->msg = (char *)"invalid code lengths set"; - - 003ce 8b 55 08 mov edx, DWORD PTR _strm$[ebp] - 003d1 c7 42 18 00 00 - 00 00 mov DWORD PTR [edx+24], OFFSET ??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@ - -; 392 : state->mode = BAD; - - 003d8 c7 07 1d 00 00 - 00 mov DWORD PTR [edi], 29 ; 0000001dH - -; 393 : break; - - 003de e9 57 08 00 00 jmp $LN387@inflateBac@3 -$LN218@inflateBac@3: - -; 394 : } -; 395 : Tracev((stderr, "inflate: code lengths ok\n")); -; 396 : -; 397 : /* get length and distance code code lengths */ -; 398 : state->have = 0; -; 399 : while (state->have < state->nlen + state->ndist) { - - 003e3 8b 47 64 mov eax, DWORD PTR [edi+100] - 003e6 03 47 60 add eax, DWORD PTR [edi+96] - 003e9 c7 47 68 00 00 - 00 00 mov DWORD PTR [edi+104], 0 - 003f0 0f 84 37 02 00 - 00 je $LN417@inflateBac@3 - 003f6 eb 08 8d a4 24 - 00 00 00 00 90 npad 10 -$LL217@inflateBac@3: - -; 400 : for (;;) { -; 401 : here = state->lencode[BITS(state->lenbits)]; - - 00400 8b 4f 54 mov ecx, DWORD PTR [edi+84] - 00403 8b 47 4c mov eax, DWORD PTR [edi+76] - 00406 ba 01 00 00 00 mov edx, 1 - 0040b d3 e2 shl edx, cl - 0040d 4a dec edx - 0040e 23 d3 and edx, ebx - 00410 8b 04 90 mov eax, DWORD PTR [eax+edx*4] - -; 402 : if ((unsigned)(here.bits) <= bits) break; - - 00413 8b c8 mov ecx, eax - 00415 c1 e9 08 shr ecx, 8 - 00418 0f b6 d1 movzx edx, cl - 0041b 89 45 e8 mov DWORD PTR _here$[ebp], eax - 0041e 3b d6 cmp edx, esi - 00420 76 58 jbe SHORT $LN369@inflateBac@3 -$LL215@inflateBac@3: - -; 403 : PULLBYTE(); - - 00422 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00426 75 19 jne SHORT $LN208@inflateBac@3 - 00428 8b 4d 10 mov ecx, DWORD PTR _in_desc$[ebp] - 0042b 8d 45 f8 lea eax, DWORD PTR _next$[ebp] - 0042e 50 push eax - 0042f 51 push ecx - 00430 ff 55 0c call DWORD PTR _in$[ebp] - 00433 83 c4 08 add esp, 8 - 00436 89 45 fc mov DWORD PTR _have$[ebp], eax - 00439 85 c0 test eax, eax - 0043b 0f 84 0c 08 00 - 00 je $LN363@inflateBac@3 -$LN208@inflateBac@3: - 00441 8b 45 f8 mov eax, DWORD PTR _next$[ebp] - 00444 0f b6 10 movzx edx, BYTE PTR [eax] - 00447 ff 4d fc dec DWORD PTR _have$[ebp] - 0044a 40 inc eax - 0044b 89 45 f8 mov DWORD PTR _next$[ebp], eax - 0044e 8b ce mov ecx, esi - 00450 d3 e2 shl edx, cl - 00452 8b 4f 54 mov ecx, DWORD PTR [edi+84] - 00455 b8 01 00 00 00 mov eax, 1 - 0045a d3 e0 shl eax, cl - 0045c 8b 4f 4c mov ecx, DWORD PTR [edi+76] - 0045f 03 da add ebx, edx - 00461 83 c6 08 add esi, 8 - 00464 48 dec eax - 00465 23 c3 and eax, ebx - 00467 8b 04 81 mov eax, DWORD PTR [ecx+eax*4] - 0046a 89 45 e8 mov DWORD PTR _here$[ebp], eax - 0046d c1 e8 08 shr eax, 8 - 00470 0f b6 d0 movzx edx, al - 00473 3b d6 cmp edx, esi - 00475 77 ab ja SHORT $LL215@inflateBac@3 - -; 402 : if ((unsigned)(here.bits) <= bits) break; - - 00477 8b 45 e8 mov eax, DWORD PTR _here$[ebp] -$LN369@inflateBac@3: - -; 404 : } -; 405 : if (here.val < 16) { - - 0047a 8b d0 mov edx, eax - 0047c c1 ea 10 shr edx, 16 ; 00000010H - 0047f 66 83 fa 10 cmp dx, 16 ; 00000010H - 00483 73 1a jae SHORT $LN458@inflateBac@3 - -; 406 : DROPBITS(here.bits); - - 00485 c1 e8 08 shr eax, 8 - 00488 0f b6 c8 movzx ecx, al - -; 407 : state->lens[state->have++] = here.val; - - 0048b 8b 47 68 mov eax, DWORD PTR [edi+104] - 0048e d3 eb shr ebx, cl - 00490 2b f1 sub esi, ecx - 00492 66 89 54 47 70 mov WORD PTR [edi+eax*2+112], dx - 00497 ff 47 68 inc DWORD PTR [edi+104] - -; 408 : } -; 409 : else { - - 0049a e9 7f 01 00 00 jmp $LN430@inflateBac@3 -$LN458@inflateBac@3: - -; 410 : if (here.val == 16) { - - 0049f 75 7f jne SHORT $LN199@inflateBac@3 - -; 411 : NEEDBITS(here.bits + 2); - - 004a1 8b c8 mov ecx, eax - 004a3 c1 e9 08 shr ecx, 8 - 004a6 0f b6 d1 movzx edx, cl - 004a9 83 c2 02 add edx, 2 - 004ac 3b f2 cmp esi, edx - 004ae 73 43 jae SHORT $LN197@inflateBac@3 -$LL195@inflateBac@3: - 004b0 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 004b4 75 19 jne SHORT $LN189@inflateBac@3 - 004b6 8b 4d 10 mov ecx, DWORD PTR _in_desc$[ebp] - 004b9 8d 45 f8 lea eax, DWORD PTR _next$[ebp] - 004bc 50 push eax - 004bd 51 push ecx - 004be ff 55 0c call DWORD PTR _in$[ebp] - 004c1 83 c4 08 add esp, 8 - 004c4 89 45 fc mov DWORD PTR _have$[ebp], eax - 004c7 85 c0 test eax, eax - 004c9 0f 84 7e 07 00 - 00 je $LN363@inflateBac@3 -$LN189@inflateBac@3: - 004cf 8b 45 f8 mov eax, DWORD PTR _next$[ebp] - 004d2 0f b6 10 movzx edx, BYTE PTR [eax] - 004d5 ff 4d fc dec DWORD PTR _have$[ebp] - 004d8 40 inc eax - 004d9 8b ce mov ecx, esi - 004db 89 45 f8 mov DWORD PTR _next$[ebp], eax - 004de 0f b6 45 e9 movzx eax, BYTE PTR _here$[ebp+1] - 004e2 d3 e2 shl edx, cl - 004e4 83 c6 08 add esi, 8 - 004e7 83 c0 02 add eax, 2 - 004ea 03 da add ebx, edx - 004ec 3b f0 cmp esi, eax - 004ee 72 c0 jb SHORT $LL195@inflateBac@3 - 004f0 8b 45 e8 mov eax, DWORD PTR _here$[ebp] -$LN197@inflateBac@3: - -; 412 : DROPBITS(here.bits); - - 004f3 0f b6 cc movzx ecx, ah - -; 413 : if (state->have == 0) { - - 004f6 8b 47 68 mov eax, DWORD PTR [edi+104] - 004f9 d3 eb shr ebx, cl - 004fb 2b f1 sub esi, ecx - 004fd 85 c0 test eax, eax - 004ff 0f 84 50 01 00 - 00 je $LN374@inflateBac@3 - -; 417 : } -; 418 : len = (unsigned)(state->lens[state->have - 1]); - - 00505 0f b7 4c 47 6e movzx ecx, WORD PTR [edi+eax*2+110] - -; 419 : copy = 3 + BITS(2); - - 0050a 8b c3 mov eax, ebx - 0050c 83 e0 03 and eax, 3 - 0050f 83 c0 03 add eax, 3 - -; 420 : DROPBITS(2); - - 00512 c1 eb 02 shr ebx, 2 - 00515 89 4d e8 mov DWORD PTR _len$[ebp], ecx - 00518 83 ee 02 sub esi, 2 - -; 421 : } -; 422 : else if (here.val == 17) { - - 0051b e9 d0 00 00 00 jmp $LN138@inflateBac@3 -$LN199@inflateBac@3: - 00520 66 83 7d ea 11 cmp WORD PTR _here$[ebp+2], 17 ; 00000011H - -; 423 : NEEDBITS(here.bits + 3); - - 00525 0f b6 cc movzx ecx, ah - 00528 89 4d e8 mov DWORD PTR tv1446[ebp], ecx - 0052b 75 5d jne SHORT $LN156@inflateBac@3 - 0052d 8d 41 03 lea eax, DWORD PTR [ecx+3] - 00530 3b f0 cmp esi, eax - 00532 73 42 jae SHORT $LN175@inflateBac@3 -$LL173@inflateBac@3: - 00534 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00538 75 19 jne SHORT $LN167@inflateBac@3 - 0053a 8b 45 10 mov eax, DWORD PTR _in_desc$[ebp] - 0053d 8d 55 f8 lea edx, DWORD PTR _next$[ebp] - 00540 52 push edx - 00541 50 push eax - 00542 ff 55 0c call DWORD PTR _in$[ebp] - 00545 83 c4 08 add esp, 8 - 00548 89 45 fc mov DWORD PTR _have$[ebp], eax - 0054b 85 c0 test eax, eax - 0054d 0f 84 fa 06 00 - 00 je $LN363@inflateBac@3 -$LN167@inflateBac@3: - 00553 8b 45 f8 mov eax, DWORD PTR _next$[ebp] - 00556 0f b6 10 movzx edx, BYTE PTR [eax] - 00559 ff 4d fc dec DWORD PTR _have$[ebp] - 0055c 40 inc eax - 0055d 8b ce mov ecx, esi - 0055f d3 e2 shl edx, cl - 00561 89 45 f8 mov DWORD PTR _next$[ebp], eax - 00564 8b 45 e8 mov eax, DWORD PTR tv1446[ebp] - 00567 83 c6 08 add esi, 8 - 0056a 83 c0 03 add eax, 3 - 0056d 03 da add ebx, edx - 0056f 3b f0 cmp esi, eax - 00571 72 c1 jb SHORT $LL173@inflateBac@3 - 00573 8b 4d e8 mov ecx, DWORD PTR tv1446[ebp] -$LN175@inflateBac@3: - -; 424 : DROPBITS(here.bits); - - 00576 d3 eb shr ebx, cl - -; 425 : len = 0; -; 426 : copy = 3 + BITS(3); -; 427 : DROPBITS(3); - - 00578 ba fd ff ff ff mov edx, -3 ; fffffffdH - 0057d 8b c3 mov eax, ebx - 0057f 83 e0 07 and eax, 7 - 00582 83 c0 03 add eax, 3 - 00585 c1 eb 03 shr ebx, 3 - -; 428 : } -; 429 : else { - - 00588 eb 5b jmp SHORT $LN459@inflateBac@3 -$LN156@inflateBac@3: - -; 430 : NEEDBITS(here.bits + 7); - - 0058a 8d 41 07 lea eax, DWORD PTR [ecx+7] - 0058d 3b f0 cmp esi, eax - 0058f 73 42 jae SHORT $LN155@inflateBac@3 -$LL153@inflateBac@3: - 00591 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00595 75 19 jne SHORT $LN147@inflateBac@3 - 00597 8b 4d 10 mov ecx, DWORD PTR _in_desc$[ebp] - 0059a 8d 45 f8 lea eax, DWORD PTR _next$[ebp] - 0059d 50 push eax - 0059e 51 push ecx - 0059f ff 55 0c call DWORD PTR _in$[ebp] - 005a2 83 c4 08 add esp, 8 - 005a5 89 45 fc mov DWORD PTR _have$[ebp], eax - 005a8 85 c0 test eax, eax - 005aa 0f 84 9d 06 00 - 00 je $LN363@inflateBac@3 -$LN147@inflateBac@3: - 005b0 8b 45 f8 mov eax, DWORD PTR _next$[ebp] - 005b3 0f b6 10 movzx edx, BYTE PTR [eax] - 005b6 ff 4d fc dec DWORD PTR _have$[ebp] - 005b9 40 inc eax - 005ba 8b ce mov ecx, esi - 005bc d3 e2 shl edx, cl - 005be 89 45 f8 mov DWORD PTR _next$[ebp], eax - 005c1 8b 45 e8 mov eax, DWORD PTR tv1446[ebp] - 005c4 83 c6 08 add esi, 8 - 005c7 83 c0 07 add eax, 7 - 005ca 03 da add ebx, edx - 005cc 3b f0 cmp esi, eax - 005ce 72 c1 jb SHORT $LL153@inflateBac@3 - 005d0 8b 4d e8 mov ecx, DWORD PTR tv1446[ebp] -$LN155@inflateBac@3: - -; 431 : DROPBITS(here.bits); - - 005d3 d3 eb shr ebx, cl - -; 432 : len = 0; -; 433 : copy = 11 + BITS(7); -; 434 : DROPBITS(7); - - 005d5 ba f9 ff ff ff mov edx, -7 ; fffffff9H - 005da 8b c3 mov eax, ebx - 005dc 83 e0 7f and eax, 127 ; 0000007fH - 005df 83 c0 0b add eax, 11 ; 0000000bH - 005e2 c1 eb 07 shr ebx, 7 -$LN459@inflateBac@3: - 005e5 2b d1 sub edx, ecx - 005e7 03 f2 add esi, edx - 005e9 c7 45 e8 00 00 - 00 00 mov DWORD PTR _len$[ebp], 0 -$LN138@inflateBac@3: - -; 435 : } -; 436 : if (state->have + copy > state->nlen + state->ndist) { - - 005f0 8b 4f 64 mov ecx, DWORD PTR [edi+100] - 005f3 8b 57 68 mov edx, DWORD PTR [edi+104] - 005f6 03 4f 60 add ecx, DWORD PTR [edi+96] - 005f9 03 d0 add edx, eax - 005fb 3b d1 cmp edx, ecx - 005fd 77 6b ja SHORT $LN375@inflateBac@3 - -; 439 : break; -; 440 : } -; 441 : while (copy--) - - 005ff 85 c0 test eax, eax - 00601 74 1b je SHORT $LN430@inflateBac@3 - 00603 8b 4d e8 mov ecx, DWORD PTR _len$[ebp] - 00606 eb 08 8d a4 24 - 00 00 00 00 90 npad 10 -$LL136@inflateBac@3: - -; 442 : state->lens[state->have++] = (unsigned short)len; - - 00610 8b 57 68 mov edx, DWORD PTR [edi+104] - 00613 66 89 4c 57 70 mov WORD PTR [edi+edx*2+112], cx - 00618 ff 47 68 inc DWORD PTR [edi+104] - 0061b 48 dec eax - 0061c 75 f2 jne SHORT $LL136@inflateBac@3 -$LN430@inflateBac@3: - -; 394 : } -; 395 : Tracev((stderr, "inflate: code lengths ok\n")); -; 396 : -; 397 : /* get length and distance code code lengths */ -; 398 : state->have = 0; -; 399 : while (state->have < state->nlen + state->ndist) { - - 0061e 8b 47 64 mov eax, DWORD PTR [edi+100] - 00621 03 47 60 add eax, DWORD PTR [edi+96] - 00624 39 47 68 cmp DWORD PTR [edi+104], eax - 00627 0f 82 d3 fd ff - ff jb $LL217@inflateBac@3 -$LN417@inflateBac@3: - -; 443 : } -; 444 : } -; 445 : -; 446 : /* handle error breaks in while */ -; 447 : if (state->mode == BAD) break; - - 0062d 83 3f 1d cmp DWORD PTR [edi], 29 ; 0000001dH - 00630 0f 84 04 06 00 - 00 je $LN387@inflateBac@3 - -; 448 : -; 449 : /* check for end-of-block code (better have one) */ -; 450 : if (state->lens[256] == 0) { - - 00636 66 83 bf 70 02 - 00 00 00 cmp WORD PTR [edi+624], 0 - 0063e 75 3f jne SHORT $LN133@inflateBac@3 - -; 451 : strm->msg = (char *)"invalid code -- missing end-of-block"; - - 00640 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00643 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@ - -; 452 : state->mode = BAD; - - 0064a c7 07 1d 00 00 - 00 mov DWORD PTR [edi], 29 ; 0000001dH - -; 453 : break; - - 00650 e9 e5 05 00 00 jmp $LN387@inflateBac@3 -$LN374@inflateBac@3: - -; 414 : strm->msg = (char *)"invalid bit length repeat"; - - 00655 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 00658 c7 41 18 00 00 - 00 00 mov DWORD PTR [ecx+24], OFFSET ??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@ - -; 415 : state->mode = BAD; - - 0065f c7 07 1d 00 00 - 00 mov DWORD PTR [edi], 29 ; 0000001dH - -; 416 : break; - - 00665 e9 d0 05 00 00 jmp $LN387@inflateBac@3 -$LN375@inflateBac@3: - -; 437 : strm->msg = (char *)"invalid bit length repeat"; - - 0066a 8b 55 08 mov edx, DWORD PTR _strm$[ebp] - 0066d c7 42 18 00 00 - 00 00 mov DWORD PTR [edx+24], OFFSET ??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@ - -; 438 : state->mode = BAD; - - 00674 c7 07 1d 00 00 - 00 mov DWORD PTR [edi], 29 ; 0000001dH - -; 443 : } -; 444 : } -; 445 : -; 446 : /* handle error breaks in while */ -; 447 : if (state->mode == BAD) break; - - 0067a e9 bb 05 00 00 jmp $LN387@inflateBac@3 -$LN133@inflateBac@3: - -; 454 : } -; 455 : -; 456 : /* build code tables -- note: do not change the lenbits or distbits -; 457 : values here (9 and 6) without reading the comments in inftrees.h -; 458 : concerning the ENOUGH constants, which depend on those values */ -; 459 : state->next = state->codes; - - 0067f 8d 87 30 05 00 - 00 lea eax, DWORD PTR [edi+1328] - 00685 8d 4f 6c lea ecx, DWORD PTR [edi+108] - 00688 89 01 mov DWORD PTR [ecx], eax - -; 460 : state->lencode = (code const FAR *)(state->next); - - 0068a 89 47 4c mov DWORD PTR [edi+76], eax - -; 461 : state->lenbits = 9; -; 462 : ret = inflate_table(LENS, state->lens, state->nlen, &(state->next), -; 463 : &(state->lenbits), state->work); - - 0068d 8d 97 f0 02 00 - 00 lea edx, DWORD PTR [edi+752] - 00693 52 push edx - 00694 8d 47 54 lea eax, DWORD PTR [edi+84] - 00697 50 push eax - 00698 51 push ecx - 00699 8b 4f 60 mov ecx, DWORD PTR [edi+96] - 0069c c7 00 09 00 00 - 00 mov DWORD PTR [eax], 9 - 006a2 51 push ecx - 006a3 8d 47 70 lea eax, DWORD PTR [edi+112] - 006a6 50 push eax - 006a7 6a 01 push 1 - 006a9 e8 00 00 00 00 call _inflate_table - 006ae 83 c4 18 add esp, 24 ; 00000018H - -; 464 : if (ret) { - - 006b1 85 c0 test eax, eax - 006b3 74 15 je SHORT $LN132@inflateBac@3 - -; 465 : strm->msg = (char *)"invalid literal/lengths set"; - - 006b5 8b 55 08 mov edx, DWORD PTR _strm$[ebp] - 006b8 c7 42 18 00 00 - 00 00 mov DWORD PTR [edx+24], OFFSET ??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@ - -; 466 : state->mode = BAD; - - 006bf c7 07 1d 00 00 - 00 mov DWORD PTR [edi], 29 ; 0000001dH - -; 467 : break; - - 006c5 e9 70 05 00 00 jmp $LN387@inflateBac@3 -$LN132@inflateBac@3: - -; 468 : } -; 469 : state->distcode = (code const FAR *)(state->next); - - 006ca 8b 47 6c mov eax, DWORD PTR [edi+108] - 006cd 8d 4f 6c lea ecx, DWORD PTR [edi+108] - 006d0 89 47 50 mov DWORD PTR [edi+80], eax - -; 470 : state->distbits = 6; -; 471 : ret = inflate_table(DISTS, state->lens + state->nlen, state->ndist, -; 472 : &(state->next), &(state->distbits), state->work); - - 006d3 8d 97 f0 02 00 - 00 lea edx, DWORD PTR [edi+752] - 006d9 52 push edx - 006da 8b 57 60 mov edx, DWORD PTR [edi+96] - 006dd 8d 47 58 lea eax, DWORD PTR [edi+88] - 006e0 50 push eax - 006e1 51 push ecx - 006e2 8b 4f 64 mov ecx, DWORD PTR [edi+100] - 006e5 c7 00 06 00 00 - 00 mov DWORD PTR [eax], 6 - 006eb 51 push ecx - 006ec 8d 44 57 70 lea eax, DWORD PTR [edi+edx*2+112] - 006f0 50 push eax - 006f1 6a 02 push 2 - 006f3 e8 00 00 00 00 call _inflate_table - 006f8 83 c4 18 add esp, 24 ; 00000018H - -; 473 : if (ret) { - - 006fb 85 c0 test eax, eax - 006fd 74 15 je SHORT $LN131@inflateBac@3 - -; 474 : strm->msg = (char *)"invalid distances set"; - - 006ff 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 00702 c7 41 18 00 00 - 00 00 mov DWORD PTR [ecx+24], OFFSET ??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@ - -; 475 : state->mode = BAD; - - 00709 c7 07 1d 00 00 - 00 mov DWORD PTR [edi], 29 ; 0000001dH - -; 476 : break; - - 0070f e9 26 05 00 00 jmp $LN387@inflateBac@3 -$LN131@inflateBac@3: - -; 477 : } -; 478 : Tracev((stderr, "inflate: codes ok\n")); -; 479 : state->mode = LEN; - - 00714 8b 55 f4 mov edx, DWORD PTR _put$[ebp] - 00717 c7 07 14 00 00 - 00 mov DWORD PTR [edi], 20 ; 00000014H -$LN130@inflateBac@3: - -; 480 : -; 481 : case LEN: -; 482 : /* use inflate_fast() if we have enough input and output */ -; 483 : if (have >= 6 && left >= 258) { - - 0071d 83 7d fc 06 cmp DWORD PTR _have$[ebp], 6 - 00721 72 78 jb SHORT $LN353@inflateBac@3 - 00723 8b 4d f0 mov ecx, DWORD PTR _left$[ebp] - 00726 81 f9 02 01 00 - 00 cmp ecx, 258 ; 00000102H - 0072c 72 6d jb SHORT $LN353@inflateBac@3 - -; 484 : RESTORE(); - - 0072e 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00731 89 50 0c mov DWORD PTR [eax+12], edx - 00734 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 00737 89 10 mov DWORD PTR [eax], edx - 00739 8b 55 fc mov edx, DWORD PTR _have$[ebp] - 0073c 89 48 10 mov DWORD PTR [eax+16], ecx - 0073f 89 50 04 mov DWORD PTR [eax+4], edx - -; 485 : if (state->whave < state->wsize) - - 00742 8b 47 28 mov eax, DWORD PTR [edi+40] - 00745 89 5f 38 mov DWORD PTR [edi+56], ebx - 00748 89 77 3c mov DWORD PTR [edi+60], esi - 0074b 39 47 2c cmp DWORD PTR [edi+44], eax - 0074e 73 07 jae SHORT $LN125@inflateBac@3 - -; 486 : state->whave = state->wsize - left; - - 00750 8b d0 mov edx, eax - 00752 2b d1 sub edx, ecx - 00754 89 57 2c mov DWORD PTR [edi+44], edx -$LN125@inflateBac@3: - -; 487 : inflate_fast(strm, state->wsize); - - 00757 8b 75 08 mov esi, DWORD PTR _strm$[ebp] - 0075a 50 push eax - 0075b 56 push esi - 0075c e8 00 00 00 00 call _inflate_fast - -; 488 : LOAD(); - - 00761 8b 46 0c mov eax, DWORD PTR [esi+12] - 00764 8b 16 mov edx, DWORD PTR [esi] - 00766 8b 4e 10 mov ecx, DWORD PTR [esi+16] - 00769 89 45 f4 mov DWORD PTR _put$[ebp], eax - 0076c 8b 46 04 mov eax, DWORD PTR [esi+4] - 0076f 89 55 f8 mov DWORD PTR _next$[ebp], edx - 00772 8b 5f 38 mov ebx, DWORD PTR [edi+56] - 00775 8b 77 3c mov esi, DWORD PTR [edi+60] - 00778 83 c4 08 add esp, 8 - 0077b 89 4d f0 mov DWORD PTR _left$[ebp], ecx - 0077e 89 45 fc mov DWORD PTR _have$[ebp], eax - -; 489 : break; - - 00781 e9 b4 04 00 00 jmp $LN387@inflateBac@3 -$LN239@inflateBac@3: - -; 369 : strm->msg = (char *)"too many length or distance symbols"; - - 00786 8b 55 08 mov edx, DWORD PTR _strm$[ebp] - 00789 c7 42 18 00 00 - 00 00 mov DWORD PTR [edx+24], OFFSET ??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@ - -; 370 : state->mode = BAD; - - 00790 c7 07 1d 00 00 - 00 mov DWORD PTR [edi], 29 ; 0000001dH - -; 371 : break; - - 00796 e9 9f 04 00 00 jmp $LN387@inflateBac@3 -$LN353@inflateBac@3: - -; 490 : } -; 491 : -; 492 : /* get a literal, length, or end-of-block code */ -; 493 : for (;;) { -; 494 : here = state->lencode[BITS(state->lenbits)]; - - 0079b 8b 4f 54 mov ecx, DWORD PTR [edi+84] - 0079e b8 01 00 00 00 mov eax, 1 - 007a3 d3 e0 shl eax, cl - 007a5 8b 4f 4c mov ecx, DWORD PTR [edi+76] - 007a8 48 dec eax - 007a9 23 c3 and eax, ebx - 007ab 8b 04 81 mov eax, DWORD PTR [ecx+eax*4] - -; 495 : if ((unsigned)(here.bits) <= bits) break; - - 007ae 8b c8 mov ecx, eax - 007b0 c1 e9 08 shr ecx, 8 - 007b3 0f b6 c9 movzx ecx, cl - 007b6 3b ce cmp ecx, esi - 007b8 76 5d jbe SHORT $LN376@inflateBac@3 - 007ba 8d 9b 00 00 00 - 00 npad 6 -$LL121@inflateBac@3: - -; 496 : PULLBYTE(); - - 007c0 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 007c4 75 19 jne SHORT $LN114@inflateBac@3 - 007c6 8b 45 10 mov eax, DWORD PTR _in_desc$[ebp] - 007c9 8d 55 f8 lea edx, DWORD PTR _next$[ebp] - 007cc 52 push edx - 007cd 50 push eax - 007ce ff 55 0c call DWORD PTR _in$[ebp] - 007d1 83 c4 08 add esp, 8 - 007d4 89 45 fc mov DWORD PTR _have$[ebp], eax - 007d7 85 c0 test eax, eax - 007d9 0f 84 6e 04 00 - 00 je $LN363@inflateBac@3 -$LN114@inflateBac@3: - 007df 8b 45 f8 mov eax, DWORD PTR _next$[ebp] - 007e2 0f b6 10 movzx edx, BYTE PTR [eax] - 007e5 ff 4d fc dec DWORD PTR _have$[ebp] - 007e8 40 inc eax - 007e9 89 45 f8 mov DWORD PTR _next$[ebp], eax - 007ec 8b ce mov ecx, esi - 007ee d3 e2 shl edx, cl - 007f0 8b 4f 54 mov ecx, DWORD PTR [edi+84] - 007f3 b8 01 00 00 00 mov eax, 1 - 007f8 d3 e0 shl eax, cl - 007fa 8b 4f 4c mov ecx, DWORD PTR [edi+76] - 007fd 03 da add ebx, edx - 007ff 83 c6 08 add esi, 8 - 00802 48 dec eax - 00803 23 c3 and eax, ebx - 00805 8b 04 81 mov eax, DWORD PTR [ecx+eax*4] - 00808 8b d0 mov edx, eax - 0080a c1 ea 08 shr edx, 8 - 0080d 0f b6 ca movzx ecx, dl - 00810 3b ce cmp ecx, esi - 00812 77 ac ja SHORT $LL121@inflateBac@3 - -; 495 : if ((unsigned)(here.bits) <= bits) break; - - 00814 8b 55 f4 mov edx, DWORD PTR _put$[ebp] -$LN376@inflateBac@3: - -; 497 : } -; 498 : if (here.op && (here.op & 0xf0) == 0) { - - 00817 84 c0 test al, al - 00819 0f 84 c8 00 00 - 00 je $LN96@inflateBac@3 - 0081f a8 f0 test al, 240 ; 000000f0H - 00821 0f 85 c0 00 00 - 00 jne $LN96@inflateBac@3 - -; 499 : last = here; -; 500 : for (;;) { -; 501 : here = state->lencode[last.val + -; 502 : (BITS(last.bits + last.op) >> last.bits)]; - - 00827 8b c8 mov ecx, eax - 00829 c1 e9 08 shr ecx, 8 - 0082c 0f b6 d1 movzx edx, cl - 0082f 89 4d e4 mov DWORD PTR tv1420[ebp], ecx - 00832 89 55 e8 mov DWORD PTR tv1421[ebp], edx - 00835 0f b6 c8 movzx ecx, al - 00838 03 ca add ecx, edx - 0083a ba 01 00 00 00 mov edx, 1 - 0083f d3 e2 shl edx, cl - 00841 8b 4d e8 mov ecx, DWORD PTR tv1421[ebp] - 00844 89 45 ec mov DWORD PTR _last$[ebp], eax - 00847 c1 e8 10 shr eax, 16 ; 00000010H - 0084a 4a dec edx - 0084b 23 d3 and edx, ebx - 0084d d3 ea shr edx, cl - 0084f 03 d0 add edx, eax - 00851 8b 47 4c mov eax, DWORD PTR [edi+76] - 00854 8b 04 90 mov eax, DWORD PTR [eax+edx*4] - -; 503 : if ((unsigned)(last.bits + here.bits) <= bits) break; - - 00857 8b c8 mov ecx, eax - 00859 c1 e9 08 shr ecx, 8 - 0085c 0f b6 d1 movzx edx, cl - 0085f 0f b6 4d e4 movzx ecx, BYTE PTR tv1420[ebp] - 00863 03 d1 add edx, ecx - 00865 3b d6 cmp edx, esi - 00867 76 6f jbe SHORT $LN439@inflateBac@3 - 00869 8d a4 24 00 00 - 00 00 npad 7 -$LL109@inflateBac@3: - -; 504 : PULLBYTE(); - - 00870 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00874 75 19 jne SHORT $LN102@inflateBac@3 - 00876 8b 45 10 mov eax, DWORD PTR _in_desc$[ebp] - 00879 8d 55 f8 lea edx, DWORD PTR _next$[ebp] - 0087c 52 push edx - 0087d 50 push eax - 0087e ff 55 0c call DWORD PTR _in$[ebp] - 00881 83 c4 08 add esp, 8 - 00884 89 45 fc mov DWORD PTR _have$[ebp], eax - 00887 85 c0 test eax, eax - 00889 0f 84 be 03 00 - 00 je $LN363@inflateBac@3 -$LN102@inflateBac@3: - 0088f 8b 45 f8 mov eax, DWORD PTR _next$[ebp] - 00892 0f b6 10 movzx edx, BYTE PTR [eax] - 00895 40 inc eax - 00896 89 45 f8 mov DWORD PTR _next$[ebp], eax - 00899 8b 45 ec mov eax, DWORD PTR _last$[ebp] - 0089c 8b ce mov ecx, esi - 0089e d3 e2 shl edx, cl - 008a0 0f b6 c8 movzx ecx, al - 008a3 03 da add ebx, edx - 008a5 0f b6 d4 movzx edx, ah - 008a8 03 ca add ecx, edx - 008aa ff 4d fc dec DWORD PTR _have$[ebp] - 008ad b8 01 00 00 00 mov eax, 1 - 008b2 d3 e0 shl eax, cl - 008b4 8b ca mov ecx, edx - 008b6 83 c6 08 add esi, 8 - 008b9 48 dec eax - 008ba 23 c3 and eax, ebx - 008bc d3 e8 shr eax, cl - 008be 0f b7 4d ee movzx ecx, WORD PTR _last$[ebp+2] - 008c2 03 c1 add eax, ecx - 008c4 8b 4f 4c mov ecx, DWORD PTR [edi+76] - 008c7 8b 04 81 mov eax, DWORD PTR [ecx+eax*4] - 008ca 8b c8 mov ecx, eax - 008cc c1 e9 08 shr ecx, 8 - 008cf 0f b6 c9 movzx ecx, cl - 008d2 03 ca add ecx, edx - 008d4 3b ce cmp ecx, esi - 008d6 77 98 ja SHORT $LL109@inflateBac@3 -$LN439@inflateBac@3: - -; 505 : } -; 506 : DROPBITS(last.bits); - - 008d8 0f b6 4d ed movzx ecx, BYTE PTR _last$[ebp+1] - 008dc 8b 55 f4 mov edx, DWORD PTR _put$[ebp] - 008df d3 eb shr ebx, cl - 008e1 0f b6 4d ed movzx ecx, BYTE PTR _last$[ebp+1] - 008e5 2b f1 sub esi, ecx -$LN96@inflateBac@3: - -; 507 : } -; 508 : DROPBITS(here.bits); - - 008e7 8b c8 mov ecx, eax - 008e9 c1 e9 08 shr ecx, 8 - 008ec 0f b6 c9 movzx ecx, cl - 008ef d3 eb shr ebx, cl - 008f1 2b f1 sub esi, ecx - 008f3 89 4d e8 mov DWORD PTR tv1421[ebp], ecx - -; 509 : state->length = (unsigned)here.val; - - 008f6 8b c8 mov ecx, eax - 008f8 c1 e9 10 shr ecx, 16 ; 00000010H - 008fb 89 4f 40 mov DWORD PTR [edi+64], ecx - -; 510 : -; 511 : /* process literal */ -; 512 : if (here.op == 0) { - - 008fe 84 c0 test al, al - 00900 75 43 jne SHORT $LN92@inflateBac@3 - -; 513 : Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ? -; 514 : "inflate: literal '%c'\n" : -; 515 : "inflate: literal 0x%02x\n", here.val)); -; 516 : ROOM(); - - 00902 83 7d f0 00 cmp DWORD PTR _left$[ebp], 0 - 00906 75 26 jne SHORT $LN90@inflateBac@3 - 00908 8b 47 28 mov eax, DWORD PTR [edi+40] - 0090b 8b 4f 34 mov ecx, DWORD PTR [edi+52] - 0090e 8b 55 18 mov edx, DWORD PTR _out_desc$[ebp] - 00911 50 push eax - 00912 51 push ecx - 00913 52 push edx - 00914 89 4d f4 mov DWORD PTR _put$[ebp], ecx - 00917 89 45 f0 mov DWORD PTR _left$[ebp], eax - 0091a 89 47 2c mov DWORD PTR [edi+44], eax - 0091d ff 55 14 call DWORD PTR _out$[ebp] - 00920 83 c4 0c add esp, 12 ; 0000000cH - 00923 85 c0 test eax, eax - 00925 0f 85 29 03 00 - 00 jne $LN366@inflateBac@3 - 0092b 8b 55 f4 mov edx, DWORD PTR _put$[ebp] -$LN90@inflateBac@3: - -; 517 : *put++ = (unsigned char)(state->length); - - 0092e 8a 47 40 mov al, BYTE PTR [edi+64] - 00931 88 02 mov BYTE PTR [edx], al - 00933 42 inc edx - -; 518 : left--; - - 00934 ff 4d f0 dec DWORD PTR _left$[ebp] - 00937 89 55 f4 mov DWORD PTR _put$[ebp], edx - -; 519 : state->mode = LEN; - - 0093a c7 07 14 00 00 - 00 mov DWORD PTR [edi], 20 ; 00000014H - -; 520 : break; - - 00940 e9 f5 02 00 00 jmp $LN387@inflateBac@3 -$LN92@inflateBac@3: - -; 521 : } -; 522 : -; 523 : /* process end of block */ -; 524 : if (here.op & 32) { - - 00945 a8 20 test al, 32 ; 00000020H - 00947 74 0b je SHORT $LN86@inflateBac@3 - -; 525 : Tracevv((stderr, "inflate: end of block\n")); -; 526 : state->mode = TYPE; - - 00949 c7 07 0b 00 00 - 00 mov DWORD PTR [edi], 11 ; 0000000bH - -; 527 : break; - - 0094f e9 e6 02 00 00 jmp $LN387@inflateBac@3 -$LN86@inflateBac@3: - -; 528 : } -; 529 : -; 530 : /* invalid code */ -; 531 : if (here.op & 64) { - - 00954 a8 40 test al, 64 ; 00000040H - 00956 74 15 je SHORT $LN85@inflateBac@3 - -; 532 : strm->msg = (char *)"invalid literal/length code"; - - 00958 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 0095b c7 41 18 00 00 - 00 00 mov DWORD PTR [ecx+24], OFFSET ??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@ - -; 533 : state->mode = BAD; - - 00962 c7 07 1d 00 00 - 00 mov DWORD PTR [edi], 29 ; 0000001dH - -; 534 : break; - - 00968 e9 cd 02 00 00 jmp $LN387@inflateBac@3 -$LN85@inflateBac@3: - -; 535 : } -; 536 : -; 537 : /* length code -- get extra bits, if any */ -; 538 : state->extra = (unsigned)(here.op) & 15; - - 0096d 0f b6 c0 movzx eax, al - 00970 83 e0 0f and eax, 15 ; 0000000fH - 00973 89 47 48 mov DWORD PTR [edi+72], eax - -; 539 : if (state->extra != 0) { - - 00976 74 59 je SHORT $LN68@inflateBac@3 - -; 540 : NEEDBITS(state->extra); - - 00978 3b f0 cmp esi, eax - 0097a 73 41 jae SHORT $LN82@inflateBac@3 - 0097c 8d 64 24 00 npad 4 -$LL80@inflateBac@3: - 00980 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00984 75 19 jne SHORT $LN74@inflateBac@3 - 00986 8b 45 10 mov eax, DWORD PTR _in_desc$[ebp] - 00989 8d 55 f8 lea edx, DWORD PTR _next$[ebp] - 0098c 52 push edx - 0098d 50 push eax - 0098e ff 55 0c call DWORD PTR _in$[ebp] - 00991 83 c4 08 add esp, 8 - 00994 89 45 fc mov DWORD PTR _have$[ebp], eax - 00997 85 c0 test eax, eax - 00999 0f 84 ae 02 00 - 00 je $LN363@inflateBac@3 -$LN74@inflateBac@3: - 0099f 8b 45 f8 mov eax, DWORD PTR _next$[ebp] - 009a2 0f b6 10 movzx edx, BYTE PTR [eax] - 009a5 ff 4d fc dec DWORD PTR _have$[ebp] - 009a8 8b ce mov ecx, esi - 009aa d3 e2 shl edx, cl - 009ac 40 inc eax - 009ad 83 c6 08 add esi, 8 - 009b0 89 45 f8 mov DWORD PTR _next$[ebp], eax - 009b3 03 da add ebx, edx - 009b5 3b 77 48 cmp esi, DWORD PTR [edi+72] - 009b8 72 c6 jb SHORT $LL80@inflateBac@3 - 009ba 8b 55 f4 mov edx, DWORD PTR _put$[ebp] -$LN82@inflateBac@3: - -; 541 : state->length += BITS(state->extra); - - 009bd 8b 4f 48 mov ecx, DWORD PTR [edi+72] - 009c0 b8 01 00 00 00 mov eax, 1 - 009c5 d3 e0 shl eax, cl - 009c7 48 dec eax - 009c8 23 c3 and eax, ebx - 009ca 01 47 40 add DWORD PTR [edi+64], eax - -; 542 : DROPBITS(state->extra); - - 009cd d3 eb shr ebx, cl - 009cf 2b f1 sub esi, ecx -$LN68@inflateBac@3: - -; 543 : } -; 544 : Tracevv((stderr, "inflate: length %u\n", state->length)); -; 545 : -; 546 : /* get distance code */ -; 547 : for (;;) { -; 548 : here = state->distcode[BITS(state->distbits)]; - - 009d1 8b 4f 58 mov ecx, DWORD PTR [edi+88] - 009d4 b8 01 00 00 00 mov eax, 1 - 009d9 d3 e0 shl eax, cl - 009db 8b 4f 50 mov ecx, DWORD PTR [edi+80] - 009de 48 dec eax - 009df 23 c3 and eax, ebx - 009e1 8b 04 81 mov eax, DWORD PTR [ecx+eax*4] - -; 549 : if ((unsigned)(here.bits) <= bits) break; - - 009e4 8b c8 mov ecx, eax - 009e6 c1 e9 08 shr ecx, 8 - 009e9 0f b6 c9 movzx ecx, cl - 009ec 3b ce cmp ecx, esi - 009ee 76 57 jbe SHORT $LN381@inflateBac@3 -$LL67@inflateBac@3: - -; 550 : PULLBYTE(); - - 009f0 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 009f4 75 19 jne SHORT $LN60@inflateBac@3 - 009f6 8b 45 10 mov eax, DWORD PTR _in_desc$[ebp] - 009f9 8d 55 f8 lea edx, DWORD PTR _next$[ebp] - 009fc 52 push edx - 009fd 50 push eax - 009fe ff 55 0c call DWORD PTR _in$[ebp] - 00a01 83 c4 08 add esp, 8 - 00a04 89 45 fc mov DWORD PTR _have$[ebp], eax - 00a07 85 c0 test eax, eax - 00a09 0f 84 3e 02 00 - 00 je $LN363@inflateBac@3 -$LN60@inflateBac@3: - 00a0f 8b 45 f8 mov eax, DWORD PTR _next$[ebp] - 00a12 0f b6 10 movzx edx, BYTE PTR [eax] - 00a15 ff 4d fc dec DWORD PTR _have$[ebp] - 00a18 40 inc eax - 00a19 89 45 f8 mov DWORD PTR _next$[ebp], eax - 00a1c 8b ce mov ecx, esi - 00a1e d3 e2 shl edx, cl - 00a20 8b 4f 58 mov ecx, DWORD PTR [edi+88] - 00a23 b8 01 00 00 00 mov eax, 1 - 00a28 d3 e0 shl eax, cl - 00a2a 8b 4f 50 mov ecx, DWORD PTR [edi+80] - 00a2d 03 da add ebx, edx - 00a2f 83 c6 08 add esi, 8 - 00a32 48 dec eax - 00a33 23 c3 and eax, ebx - 00a35 8b 04 81 mov eax, DWORD PTR [ecx+eax*4] - 00a38 8b d0 mov edx, eax - 00a3a c1 ea 08 shr edx, 8 - 00a3d 0f b6 ca movzx ecx, dl - 00a40 3b ce cmp ecx, esi - 00a42 77 ac ja SHORT $LL67@inflateBac@3 - -; 549 : if ((unsigned)(here.bits) <= bits) break; - - 00a44 8b 55 f4 mov edx, DWORD PTR _put$[ebp] -$LN381@inflateBac@3: - -; 551 : } -; 552 : if ((here.op & 0xf0) == 0) { - - 00a47 a8 f0 test al, 240 ; 000000f0H - 00a49 0f 85 b9 00 00 - 00 jne $LN42@inflateBac@3 - -; 553 : last = here; -; 554 : for (;;) { -; 555 : here = state->distcode[last.val + -; 556 : (BITS(last.bits + last.op) >> last.bits)]; - - 00a4f 8b c8 mov ecx, eax - 00a51 c1 e9 08 shr ecx, 8 - 00a54 0f b6 d1 movzx edx, cl - 00a57 89 4d e4 mov DWORD PTR tv1420[ebp], ecx - 00a5a 89 55 e8 mov DWORD PTR tv1421[ebp], edx - 00a5d 0f b6 c8 movzx ecx, al - 00a60 03 ca add ecx, edx - 00a62 ba 01 00 00 00 mov edx, 1 - 00a67 d3 e2 shl edx, cl - 00a69 8b 4d e8 mov ecx, DWORD PTR tv1421[ebp] - 00a6c 89 45 ec mov DWORD PTR _last$[ebp], eax - 00a6f c1 e8 10 shr eax, 16 ; 00000010H - 00a72 4a dec edx - 00a73 23 d3 and edx, ebx - 00a75 d3 ea shr edx, cl - 00a77 03 d0 add edx, eax - 00a79 8b 47 50 mov eax, DWORD PTR [edi+80] - 00a7c 8b 04 90 mov eax, DWORD PTR [eax+edx*4] - -; 557 : if ((unsigned)(last.bits + here.bits) <= bits) break; - - 00a7f 8b c8 mov ecx, eax - 00a81 c1 e9 08 shr ecx, 8 - 00a84 0f b6 d1 movzx edx, cl - 00a87 0f b6 4d e4 movzx ecx, BYTE PTR tv1420[ebp] - 00a8b 03 d1 add edx, ecx - 00a8d 3b d6 cmp edx, esi - 00a8f 76 68 jbe SHORT $LN441@inflateBac@3 -$LL55@inflateBac@3: - -; 558 : PULLBYTE(); - - 00a91 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00a95 75 19 jne SHORT $LN48@inflateBac@3 - 00a97 8b 45 10 mov eax, DWORD PTR _in_desc$[ebp] - 00a9a 8d 55 f8 lea edx, DWORD PTR _next$[ebp] - 00a9d 52 push edx - 00a9e 50 push eax - 00a9f ff 55 0c call DWORD PTR _in$[ebp] - 00aa2 83 c4 08 add esp, 8 - 00aa5 89 45 fc mov DWORD PTR _have$[ebp], eax - 00aa8 85 c0 test eax, eax - 00aaa 0f 84 9d 01 00 - 00 je $LN363@inflateBac@3 -$LN48@inflateBac@3: - 00ab0 8b 45 f8 mov eax, DWORD PTR _next$[ebp] - 00ab3 0f b6 10 movzx edx, BYTE PTR [eax] - 00ab6 40 inc eax - 00ab7 89 45 f8 mov DWORD PTR _next$[ebp], eax - 00aba 8b 45 ec mov eax, DWORD PTR _last$[ebp] - 00abd 8b ce mov ecx, esi - 00abf d3 e2 shl edx, cl - 00ac1 0f b6 c8 movzx ecx, al - 00ac4 03 da add ebx, edx - 00ac6 0f b6 d4 movzx edx, ah - 00ac9 03 ca add ecx, edx - 00acb ff 4d fc dec DWORD PTR _have$[ebp] - 00ace b8 01 00 00 00 mov eax, 1 - 00ad3 d3 e0 shl eax, cl - 00ad5 8b ca mov ecx, edx - 00ad7 83 c6 08 add esi, 8 - 00ada 48 dec eax - 00adb 23 c3 and eax, ebx - 00add d3 e8 shr eax, cl - 00adf 0f b7 4d ee movzx ecx, WORD PTR _last$[ebp+2] - 00ae3 03 c1 add eax, ecx - 00ae5 8b 4f 50 mov ecx, DWORD PTR [edi+80] - 00ae8 8b 04 81 mov eax, DWORD PTR [ecx+eax*4] - 00aeb 8b c8 mov ecx, eax - 00aed c1 e9 08 shr ecx, 8 - 00af0 0f b6 c9 movzx ecx, cl - 00af3 03 ca add ecx, edx - 00af5 3b ce cmp ecx, esi - 00af7 77 98 ja SHORT $LL55@inflateBac@3 -$LN441@inflateBac@3: - -; 559 : } -; 560 : DROPBITS(last.bits); - - 00af9 0f b6 4d ed movzx ecx, BYTE PTR _last$[ebp+1] - 00afd 8b 55 f4 mov edx, DWORD PTR _put$[ebp] - 00b00 d3 eb shr ebx, cl - 00b02 0f b6 4d ed movzx ecx, BYTE PTR _last$[ebp+1] - 00b06 2b f1 sub esi, ecx -$LN42@inflateBac@3: - -; 561 : } -; 562 : DROPBITS(here.bits); - - 00b08 8b c8 mov ecx, eax - 00b0a c1 e9 08 shr ecx, 8 - 00b0d 0f b6 c9 movzx ecx, cl - 00b10 d3 eb shr ebx, cl - 00b12 2b f1 sub esi, ecx - 00b14 89 4d e8 mov DWORD PTR tv1421[ebp], ecx - -; 563 : if (here.op & 64) { - - 00b17 a8 40 test al, 64 ; 00000040H - 00b19 74 15 je SHORT $LN38@inflateBac@3 - -; 564 : strm->msg = (char *)"invalid distance code"; - - 00b1b 8b 55 08 mov edx, DWORD PTR _strm$[ebp] - 00b1e c7 42 18 00 00 - 00 00 mov DWORD PTR [edx+24], OFFSET ??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@ - -; 565 : state->mode = BAD; - - 00b25 c7 07 1d 00 00 - 00 mov DWORD PTR [edi], 29 ; 0000001dH - -; 566 : break; - - 00b2b e9 0a 01 00 00 jmp $LN387@inflateBac@3 -$LN38@inflateBac@3: - -; 567 : } -; 568 : state->offset = (unsigned)here.val; - - 00b30 8b c8 mov ecx, eax - -; 569 : -; 570 : /* get distance extra bits, if any */ -; 571 : state->extra = (unsigned)(here.op) & 15; - - 00b32 0f b6 c0 movzx eax, al - 00b35 c1 e9 10 shr ecx, 16 ; 00000010H - 00b38 83 e0 0f and eax, 15 ; 0000000fH - 00b3b 89 4f 44 mov DWORD PTR [edi+68], ecx - 00b3e 89 47 48 mov DWORD PTR [edi+72], eax - -; 572 : if (state->extra != 0) { - - 00b41 74 55 je SHORT $LN21@inflateBac@3 - -; 573 : NEEDBITS(state->extra); - - 00b43 3b f0 cmp esi, eax - 00b45 73 3d jae SHORT $LN35@inflateBac@3 -$LL33@inflateBac@3: - 00b47 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00b4b 75 19 jne SHORT $LN27@inflateBac@3 - 00b4d 8b 45 10 mov eax, DWORD PTR _in_desc$[ebp] - 00b50 8d 55 f8 lea edx, DWORD PTR _next$[ebp] - 00b53 52 push edx - 00b54 50 push eax - 00b55 ff 55 0c call DWORD PTR _in$[ebp] - 00b58 83 c4 08 add esp, 8 - 00b5b 89 45 fc mov DWORD PTR _have$[ebp], eax - 00b5e 85 c0 test eax, eax - 00b60 0f 84 e7 00 00 - 00 je $LN363@inflateBac@3 -$LN27@inflateBac@3: - 00b66 8b 45 f8 mov eax, DWORD PTR _next$[ebp] - 00b69 0f b6 10 movzx edx, BYTE PTR [eax] - 00b6c ff 4d fc dec DWORD PTR _have$[ebp] - 00b6f 8b ce mov ecx, esi - 00b71 d3 e2 shl edx, cl - 00b73 40 inc eax - 00b74 83 c6 08 add esi, 8 - 00b77 89 45 f8 mov DWORD PTR _next$[ebp], eax - 00b7a 03 da add ebx, edx - 00b7c 3b 77 48 cmp esi, DWORD PTR [edi+72] - 00b7f 72 c6 jb SHORT $LL33@inflateBac@3 - 00b81 8b 55 f4 mov edx, DWORD PTR _put$[ebp] -$LN35@inflateBac@3: - -; 574 : state->offset += BITS(state->extra); - - 00b84 8b 4f 48 mov ecx, DWORD PTR [edi+72] - 00b87 b8 01 00 00 00 mov eax, 1 - 00b8c d3 e0 shl eax, cl - 00b8e 48 dec eax - 00b8f 23 c3 and eax, ebx - 00b91 01 47 44 add DWORD PTR [edi+68], eax - -; 575 : DROPBITS(state->extra); - - 00b94 d3 eb shr ebx, cl - 00b96 2b f1 sub esi, ecx -$LN21@inflateBac@3: - -; 576 : } -; 577 : if (state->offset > state->wsize - (state->whave < state->wsize ? -; 578 : left : 0)) { - - 00b98 8b 47 28 mov eax, DWORD PTR [edi+40] - 00b9b 39 47 2c cmp DWORD PTR [edi+44], eax - 00b9e 1b c9 sbb ecx, ecx - 00ba0 23 4d f0 and ecx, DWORD PTR _left$[ebp] - 00ba3 2b c1 sub eax, ecx - 00ba5 39 47 44 cmp DWORD PTR [edi+68], eax - 00ba8 76 16 jbe SHORT $LL19@inflateBac@3 - -; 579 : strm->msg = (char *)"invalid distance too far back"; - - 00baa 8b 55 08 mov edx, DWORD PTR _strm$[ebp] - 00bad c7 42 18 00 00 - 00 00 mov DWORD PTR [edx+24], OFFSET ??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@ - -; 580 : state->mode = BAD; - - 00bb4 c7 07 1d 00 00 - 00 mov DWORD PTR [edi], 29 ; 0000001dH - -; 581 : break; - - 00bba eb 7e jmp SHORT $LN387@inflateBac@3 - 00bbc 8d 64 24 00 npad 4 -$LL19@inflateBac@3: - -; 582 : } -; 583 : Tracevv((stderr, "inflate: distance %u\n", state->offset)); -; 584 : -; 585 : /* copy match from window to output */ -; 586 : do { -; 587 : ROOM(); - - 00bc0 83 7d f0 00 cmp DWORD PTR _left$[ebp], 0 - 00bc4 75 22 jne SHORT $LN15@inflateBac@3 - 00bc6 8b 47 28 mov eax, DWORD PTR [edi+40] - 00bc9 8b 4f 34 mov ecx, DWORD PTR [edi+52] - 00bcc 50 push eax - 00bcd 89 45 f0 mov DWORD PTR _left$[ebp], eax - 00bd0 89 47 2c mov DWORD PTR [edi+44], eax - 00bd3 8b 45 18 mov eax, DWORD PTR _out_desc$[ebp] - 00bd6 51 push ecx - 00bd7 50 push eax - 00bd8 89 4d f4 mov DWORD PTR _put$[ebp], ecx - 00bdb ff 55 14 call DWORD PTR _out$[ebp] - 00bde 83 c4 0c add esp, 12 ; 0000000cH - 00be1 85 c0 test eax, eax - 00be3 75 6f jne SHORT $LN366@inflateBac@3 - 00be5 8b 55 f4 mov edx, DWORD PTR _put$[ebp] -$LN15@inflateBac@3: - -; 588 : copy = state->wsize - state->offset; - - 00be8 8b 4f 28 mov ecx, DWORD PTR [edi+40] - 00beb 2b 4f 44 sub ecx, DWORD PTR [edi+68] - -; 589 : if (copy < left) { - - 00bee 3b 4d f0 cmp ecx, DWORD PTR _left$[ebp] - 00bf1 73 0d jae SHORT $LN11@inflateBac@3 - -; 590 : from = put + copy; - - 00bf3 8d 04 11 lea eax, DWORD PTR [ecx+edx] - 00bf6 89 45 e4 mov DWORD PTR _from$[ebp], eax - -; 591 : copy = left - copy; - - 00bf9 8b 45 f0 mov eax, DWORD PTR _left$[ebp] - 00bfc 2b c1 sub eax, ecx - -; 592 : } -; 593 : else { - - 00bfe eb 0b jmp SHORT $LN10@inflateBac@3 -$LN11@inflateBac@3: - -; 594 : from = put - state->offset; - - 00c00 8b c2 mov eax, edx - 00c02 2b 47 44 sub eax, DWORD PTR [edi+68] - 00c05 89 45 e4 mov DWORD PTR _from$[ebp], eax - -; 595 : copy = left; - - 00c08 8b 45 f0 mov eax, DWORD PTR _left$[ebp] -$LN10@inflateBac@3: - -; 596 : } -; 597 : if (copy > state->length) copy = state->length; - - 00c0b 8b 4f 40 mov ecx, DWORD PTR [edi+64] - 00c0e 3b c1 cmp eax, ecx - 00c10 76 02 jbe SHORT $LN9@inflateBac@3 - 00c12 8b c1 mov eax, ecx -$LN9@inflateBac@3: - -; 598 : state->length -= copy; -; 599 : left -= copy; - - 00c14 29 45 f0 sub DWORD PTR _left$[ebp], eax - 00c17 2b c8 sub ecx, eax - 00c19 89 4f 40 mov DWORD PTR [edi+64], ecx - -; 602 : } while (--copy); - - 00c1c 8b 4d e4 mov ecx, DWORD PTR _from$[ebp] - 00c1f 2b ca sub ecx, edx - 00c21 89 4d e4 mov DWORD PTR tv1911[ebp], ecx - 00c24 eb 03 jmp SHORT $LN8@inflateBac@3 -$LL443@inflateBac@3: - 00c26 8b 4d e4 mov ecx, DWORD PTR tv1911[ebp] -$LN8@inflateBac@3: - -; 600 : do { -; 601 : *put++ = *from++; - - 00c29 8a 0c 11 mov cl, BYTE PTR [ecx+edx] - 00c2c 88 0a mov BYTE PTR [edx], cl - 00c2e 42 inc edx - -; 602 : } while (--copy); - - 00c2f 48 dec eax - 00c30 75 f4 jne SHORT $LL443@inflateBac@3 - -; 603 : } while (state->length != 0); - - 00c32 89 55 f4 mov DWORD PTR _put$[ebp], edx - 00c35 39 47 40 cmp DWORD PTR [edi+64], eax - 00c38 75 86 jne SHORT $LL19@inflateBac@3 -$LN387@inflateBac@3: - -; 284 : hold = 0; -; 285 : bits = 0; -; 286 : put = state->window; -; 287 : left = state->wsize; -; 288 : -; 289 : /* Inflate until end of block marked as last */ -; 290 : for (;;) -; 291 : switch (state->mode) { - - 00c3a 8b 07 mov eax, DWORD PTR [edi] - 00c3c 83 e8 0b sub eax, 11 ; 0000000bH - 00c3f 83 f8 12 cmp eax, 18 ; 00000012H - 00c42 0f 86 38 f4 ff - ff jbe $LL420@inflateBac@3 - -; 513 : Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ? -; 514 : "inflate: literal '%c'\n" : -; 515 : "inflate: literal 0x%02x\n", here.val)); -; 516 : ROOM(); - - 00c48 e9 0f f4 ff ff jmp $LN1@inflateBac@3 -$LN363@inflateBac@3: - -; 298 : } -; 299 : NEEDBITS(3); - - 00c4d c7 45 f8 00 00 - 00 00 mov DWORD PTR _next$[ebp], 0 -$LN366@inflateBac@3: - 00c54 be fb ff ff ff mov esi, -5 ; fffffffbH - 00c59 e9 03 f4 ff ff jmp $inf_leave$80328 -$LN365@inflateBac@3: - -; 343 : PULL(); - - 00c5e 89 5d f8 mov DWORD PTR _next$[ebp], ebx - 00c61 be fb ff ff ff mov esi, -5 ; fffffffbH - 00c66 e9 f6 f3 ff ff jmp $inf_leave$80328 -$LN5@inflateBac@3: - -; 604 : break; -; 605 : -; 606 : case DONE: -; 607 : /* inflate stream terminated properly -- write leftover output */ -; 608 : ret = Z_STREAM_END; -; 609 : if (left < state->wsize) { - - 00c6b 8b 47 28 mov eax, DWORD PTR [edi+40] - 00c6e be 01 00 00 00 mov esi, 1 - 00c73 39 45 f0 cmp DWORD PTR _left$[ebp], eax - 00c76 0f 83 e5 f3 ff - ff jae $inf_leave$80328 - -; 610 : if (out(out_desc, state->window, state->wsize - left)) - - 00c7c 2b 45 f0 sub eax, DWORD PTR _left$[ebp] - 00c7f 8b 57 34 mov edx, DWORD PTR [edi+52] - 00c82 50 push eax - 00c83 8b 45 18 mov eax, DWORD PTR _out_desc$[ebp] - 00c86 52 push edx - 00c87 50 push eax - 00c88 ff 55 14 call DWORD PTR _out$[ebp] - 00c8b 83 c4 0c add esp, 12 ; 0000000cH - 00c8e 85 c0 test eax, eax - 00c90 0f 84 cb f3 ff - ff je $inf_leave$80328 - -; 611 : ret = Z_BUF_ERROR; - - 00c96 be fb ff ff ff mov esi, -5 ; fffffffbH - -; 612 : } -; 613 : goto inf_leave; - - 00c9b e9 c1 f3 ff ff jmp $inf_leave$80328 -$LN2@inflateBac@3: - -; 614 : -; 615 : case BAD: -; 616 : ret = Z_DATA_ERROR; - - 00ca0 be fd ff ff ff mov esi, -3 ; fffffffdH - -; 617 : goto inf_leave; - - 00ca5 e9 b7 f3 ff ff jmp $inf_leave$80328 -$LN333@inflateBac@3: - 00caa 5f pop edi - -; 274 : return Z_STREAM_ERROR; - - 00cab b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00cb0 5e pop esi - -; 629 : } - - 00cb1 8b e5 mov esp, ebp - 00cb3 5d pop ebp - 00cb4 c2 14 00 ret 20 ; 00000014H - 00cb7 90 npad 1 -$LN460@inflateBac@3: - 00cb8 00 00 00 00 DD $LN328@inflateBac@3 - 00cbc 00 00 00 00 DD $LN297@inflateBac@3 - 00cc0 00 00 00 00 DD $LN262@inflateBac@3 - 00cc4 00 00 00 00 DD $LN130@inflateBac@3 - 00cc8 00 00 00 00 DD $LN5@inflateBac@3 - 00ccc 00 00 00 00 DD $LN2@inflateBac@3 - 00cd0 00 00 00 00 DD $LN1@inflateBac@3 -$LN414@inflateBac@3: - 00cd4 00 DB 0 - 00cd5 06 DB 6 - 00cd6 01 DB 1 - 00cd7 06 DB 6 - 00cd8 06 DB 6 - 00cd9 02 DB 2 - 00cda 06 DB 6 - 00cdb 06 DB 6 - 00cdc 06 DB 6 - 00cdd 03 DB 3 - 00cde 06 DB 6 - 00cdf 06 DB 6 - 00ce0 06 DB 6 - 00ce1 06 DB 6 - 00ce2 06 DB 6 - 00ce3 06 DB 6 - 00ce4 06 DB 6 - 00ce5 04 DB 4 - 00ce6 05 DB 5 - 00ce7 90 npad 1 -$LN461@inflateBac@3: - 00ce8 00 00 00 00 DD $LN305@inflateBac@3 - 00cec 00 00 00 00 DD $LN304@inflateBac@3 - 00cf0 00 00 00 00 DD $LN303@inflateBac@3 - 00cf4 00 00 00 00 DD $LN302@inflateBac@3 -_inflateBack@20 ENDP -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/inffast.cod b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/inffast.cod deleted file mode 100644 index 2191126f..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/inffast.cod +++ /dev/null @@ -1,11 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.30319.01 - - TITLE D:\FMU\FMUSolution\zlib-1.2.6\inffast.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/inflate.cod b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/inflate.cod deleted file mode 100644 index df084720..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/inflate.cod +++ /dev/null @@ -1,7333 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.30319.01 - - TITLE D:\FMU\FMUSolution\zlib-1.2.6\inflate.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC ??_C@_0BH@LIBMMIGA@incorrect?5header?5check?$AA@ ; `string' -PUBLIC ??_C@_0BL@IHKGDAEE@unknown?5compression?5method?$AA@ ; `string' -PUBLIC ??_C@_0BE@EMOGCLGO@invalid?5window?5size?$AA@ ; `string' -PUBLIC ??_C@_0BJ@BLBBCOMO@unknown?5header?5flags?5set?$AA@ ; `string' -PUBLIC ??_C@_0BE@GONKLEPM@header?5crc?5mismatch?$AA@ ; `string' -PUBLIC ??_C@_0BF@MEIGEHBE@incorrect?5data?5check?$AA@ ; `string' -PUBLIC ??_C@_0BH@FGKKJGOC@incorrect?5length?5check?$AA@ ; `string' -; COMDAT ??_C@_0BH@FGKKJGOC@incorrect?5length?5check?$AA@ -CONST SEGMENT -??_C@_0BH@FGKKJGOC@incorrect?5length?5check?$AA@ DB 'incorrect length che' - DB 'ck', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BF@MEIGEHBE@incorrect?5data?5check?$AA@ -CONST SEGMENT -??_C@_0BF@MEIGEHBE@incorrect?5data?5check?$AA@ DB 'incorrect data check', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BE@GONKLEPM@header?5crc?5mismatch?$AA@ -CONST SEGMENT -??_C@_0BE@GONKLEPM@header?5crc?5mismatch?$AA@ DB 'header crc mismatch', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BJ@BLBBCOMO@unknown?5header?5flags?5set?$AA@ -CONST SEGMENT -??_C@_0BJ@BLBBCOMO@unknown?5header?5flags?5set?$AA@ DB 'unknown header fl' - DB 'ags set', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BE@EMOGCLGO@invalid?5window?5size?$AA@ -CONST SEGMENT -??_C@_0BE@EMOGCLGO@invalid?5window?5size?$AA@ DB 'invalid window size', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BL@IHKGDAEE@unknown?5compression?5method?$AA@ -CONST SEGMENT -??_C@_0BL@IHKGDAEE@unknown?5compression?5method?$AA@ DB 'unknown compress' - DB 'ion method', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BH@LIBMMIGA@incorrect?5header?5check?$AA@ -CONST SEGMENT -??_C@_0BH@LIBMMIGA@incorrect?5header?5check?$AA@ DB 'incorrect header che' - DB 'ck', 00H ; `string' -?lenfix@?1??fixedtables@@9@9 DB 060H ; `fixedtables'::`2'::lenfix - DB 07H - DW 00H - DB 00H - DB 08H - DW 050H - DB 00H - DB 08H - DW 010H - DB 014H - DB 08H - DW 073H - DB 012H - DB 07H - DW 01fH - DB 00H - DB 08H - DW 070H - DB 00H - DB 08H - DW 030H - DB 00H - DB 09H - DW 0c0H - DB 010H - DB 07H - DW 0aH - DB 00H - DB 08H - DW 060H - DB 00H - DB 08H - DW 020H - DB 00H - DB 09H - DW 0a0H - DB 00H - DB 08H - DW 00H - DB 00H - DB 08H - DW 080H - DB 00H - DB 08H - DW 040H - DB 00H - DB 09H - DW 0e0H - DB 010H - DB 07H - DW 06H - DB 00H - DB 08H - DW 058H - DB 00H - DB 08H - DW 018H - DB 00H - DB 09H - DW 090H - DB 013H - DB 07H - DW 03bH - DB 00H - DB 08H - DW 078H - DB 00H - DB 08H - DW 038H - DB 00H - DB 09H - DW 0d0H - DB 011H - DB 07H - DW 011H - DB 00H - DB 08H - DW 068H - DB 00H - DB 08H - DW 028H - DB 00H - DB 09H - DW 0b0H - DB 00H - DB 08H - DW 08H - DB 00H - DB 08H - DW 088H - DB 00H - DB 08H - DW 048H - DB 00H - DB 09H - DW 0f0H - DB 010H - DB 07H - DW 04H - DB 00H - DB 08H - DW 054H - DB 00H - DB 08H - DW 014H - DB 015H - DB 08H - DW 0e3H - DB 013H - DB 07H - DW 02bH - DB 00H - DB 08H - DW 074H - DB 00H - DB 08H - DW 034H - DB 00H - DB 09H - DW 0c8H - DB 011H - DB 07H - DW 0dH - DB 00H - DB 08H - DW 064H - DB 00H - DB 08H - DW 024H - DB 00H - DB 09H - DW 0a8H - DB 00H - DB 08H - DW 04H - DB 00H - DB 08H - DW 084H - DB 00H - DB 08H - DW 044H - DB 00H - DB 09H - DW 0e8H - DB 010H - DB 07H - DW 08H - DB 00H - DB 08H - DW 05cH - DB 00H - DB 08H - DW 01cH - DB 00H - DB 09H - DW 098H - DB 014H - DB 07H - DW 053H - DB 00H - DB 08H - DW 07cH - DB 00H - DB 08H - DW 03cH - DB 00H - DB 09H - DW 0d8H - DB 012H - DB 07H - DW 017H - DB 00H - DB 08H - DW 06cH - DB 00H - DB 08H - DW 02cH - DB 00H - DB 09H - DW 0b8H - DB 00H - DB 08H - DW 0cH - DB 00H - DB 08H - DW 08cH - DB 00H - DB 08H - DW 04cH - DB 00H - DB 09H - DW 0f8H - DB 010H - DB 07H - DW 03H - DB 00H - DB 08H - DW 052H - DB 00H - DB 08H - DW 012H - DB 015H - DB 08H - DW 0a3H - DB 013H - DB 07H - DW 023H - DB 00H - DB 08H - DW 072H - DB 00H - DB 08H - DW 032H - DB 00H - DB 09H - DW 0c4H - DB 011H - DB 07H - DW 0bH - DB 00H - DB 08H - DW 062H - DB 00H - DB 08H - DW 022H - DB 00H - DB 09H - DW 0a4H - DB 00H - DB 08H - DW 02H - DB 00H - DB 08H - DW 082H - DB 00H - DB 08H - DW 042H - DB 00H - DB 09H - DW 0e4H - DB 010H - DB 07H - DW 07H - DB 00H - DB 08H - DW 05aH - DB 00H - DB 08H - DW 01aH - DB 00H - DB 09H - DW 094H - DB 014H - DB 07H - DW 043H - DB 00H - DB 08H - DW 07aH - DB 00H - DB 08H - DW 03aH - DB 00H - DB 09H - DW 0d4H - DB 012H - DB 07H - DW 013H - DB 00H - DB 08H - DW 06aH - DB 00H - DB 08H - DW 02aH - DB 00H - DB 09H - DW 0b4H - DB 00H - DB 08H - DW 0aH - DB 00H - DB 08H - DW 08aH - DB 00H - DB 08H - DW 04aH - DB 00H - DB 09H - DW 0f4H - DB 010H - DB 07H - DW 05H - DB 00H - DB 08H - DW 056H - DB 00H - DB 08H - DW 016H - DB 040H - DB 08H - DW 00H - DB 013H - DB 07H - DW 033H - DB 00H - DB 08H - DW 076H - DB 00H - DB 08H - DW 036H - DB 00H - DB 09H - DW 0ccH - DB 011H - DB 07H - DW 0fH - DB 00H - DB 08H - DW 066H - DB 00H - DB 08H - DW 026H - DB 00H - DB 09H - DW 0acH - DB 00H - DB 08H - DW 06H - DB 00H - DB 08H - DW 086H - DB 00H - DB 08H - DW 046H - DB 00H - DB 09H - DW 0ecH - DB 010H - DB 07H - DW 09H - DB 00H - DB 08H - DW 05eH - DB 00H - DB 08H - DW 01eH - DB 00H - DB 09H - DW 09cH - DB 014H - DB 07H - DW 063H - DB 00H - DB 08H - DW 07eH - DB 00H - DB 08H - DW 03eH - DB 00H - DB 09H - DW 0dcH - DB 012H - DB 07H - DW 01bH - DB 00H - DB 08H - DW 06eH - DB 00H - DB 08H - DW 02eH - DB 00H - DB 09H - DW 0bcH - DB 00H - DB 08H - DW 0eH - DB 00H - DB 08H - DW 08eH - DB 00H - DB 08H - DW 04eH - DB 00H - DB 09H - DW 0fcH - DB 060H - DB 07H - DW 00H - DB 00H - DB 08H - DW 051H - DB 00H - DB 08H - DW 011H - DB 015H - DB 08H - DW 083H - DB 012H - DB 07H - DW 01fH - DB 00H - DB 08H - DW 071H - DB 00H - DB 08H - DW 031H - DB 00H - DB 09H - DW 0c2H - DB 010H - DB 07H - DW 0aH - DB 00H - DB 08H - DW 061H - DB 00H - DB 08H - DW 021H - DB 00H - DB 09H - DW 0a2H - DB 00H - DB 08H - DW 01H - DB 00H - DB 08H - DW 081H - DB 00H - DB 08H - DW 041H - DB 00H - DB 09H - DW 0e2H - DB 010H - DB 07H - DW 06H - DB 00H - DB 08H - DW 059H - DB 00H - DB 08H - DW 019H - DB 00H - DB 09H - DW 092H - DB 013H - DB 07H - DW 03bH - DB 00H - DB 08H - DW 079H - DB 00H - DB 08H - DW 039H - DB 00H - DB 09H - DW 0d2H - DB 011H - DB 07H - DW 011H - DB 00H - DB 08H - DW 069H - DB 00H - DB 08H - DW 029H - DB 00H - DB 09H - DW 0b2H - DB 00H - DB 08H - DW 09H - DB 00H - DB 08H - DW 089H - DB 00H - DB 08H - DW 049H - DB 00H - DB 09H - DW 0f2H - DB 010H - DB 07H - DW 04H - DB 00H - DB 08H - DW 055H - DB 00H - DB 08H - DW 015H - DB 010H - DB 08H - DW 0102H - DB 013H - DB 07H - DW 02bH - DB 00H - DB 08H - DW 075H - DB 00H - DB 08H - DW 035H - DB 00H - DB 09H - DW 0caH - DB 011H - DB 07H - DW 0dH - DB 00H - DB 08H - DW 065H - DB 00H - DB 08H - DW 025H - DB 00H - DB 09H - DW 0aaH - DB 00H - DB 08H - DW 05H - DB 00H - DB 08H - DW 085H - DB 00H - DB 08H - DW 045H - DB 00H - DB 09H - DW 0eaH - DB 010H - DB 07H - DW 08H - DB 00H - DB 08H - DW 05dH - DB 00H - DB 08H - DW 01dH - DB 00H - DB 09H - DW 09aH - DB 014H - DB 07H - DW 053H - DB 00H - DB 08H - DW 07dH - DB 00H - DB 08H - DW 03dH - DB 00H - DB 09H - DW 0daH - DB 012H - DB 07H - DW 017H - DB 00H - DB 08H - DW 06dH - DB 00H - DB 08H - DW 02dH - DB 00H - DB 09H - DW 0baH - DB 00H - DB 08H - DW 0dH - DB 00H - DB 08H - DW 08dH - DB 00H - DB 08H - DW 04dH - DB 00H - DB 09H - DW 0faH - DB 010H - DB 07H - DW 03H - DB 00H - DB 08H - DW 053H - DB 00H - DB 08H - DW 013H - DB 015H - DB 08H - DW 0c3H - DB 013H - DB 07H - DW 023H - DB 00H - DB 08H - DW 073H - DB 00H - DB 08H - DW 033H - DB 00H - DB 09H - DW 0c6H - DB 011H - DB 07H - DW 0bH - DB 00H - DB 08H - DW 063H - DB 00H - DB 08H - DW 023H - DB 00H - DB 09H - DW 0a6H - DB 00H - DB 08H - DW 03H - DB 00H - DB 08H - DW 083H - DB 00H - DB 08H - DW 043H - DB 00H - DB 09H - DW 0e6H - DB 010H - DB 07H - DW 07H - DB 00H - DB 08H - DW 05bH - DB 00H - DB 08H - DW 01bH - DB 00H - DB 09H - DW 096H - DB 014H - DB 07H - DW 043H - DB 00H - DB 08H - DW 07bH - DB 00H - DB 08H - DW 03bH - DB 00H - DB 09H - DW 0d6H - DB 012H - DB 07H - DW 013H - DB 00H - DB 08H - DW 06bH - DB 00H - DB 08H - DW 02bH - DB 00H - DB 09H - DW 0b6H - DB 00H - DB 08H - DW 0bH - DB 00H - DB 08H - DW 08bH - DB 00H - DB 08H - DW 04bH - DB 00H - DB 09H - DW 0f6H - DB 010H - DB 07H - DW 05H - DB 00H - DB 08H - DW 057H - DB 00H - DB 08H - DW 017H - DB 040H - DB 08H - DW 00H - DB 013H - DB 07H - DW 033H - DB 00H - DB 08H - DW 077H - DB 00H - DB 08H - DW 037H - DB 00H - DB 09H - DW 0ceH - DB 011H - DB 07H - DW 0fH - DB 00H - DB 08H - DW 067H - DB 00H - DB 08H - DW 027H - DB 00H - DB 09H - DW 0aeH - DB 00H - DB 08H - DW 07H - DB 00H - DB 08H - DW 087H - DB 00H - DB 08H - DW 047H - DB 00H - DB 09H - DW 0eeH - DB 010H - DB 07H - DW 09H - DB 00H - DB 08H - DW 05fH - DB 00H - DB 08H - DW 01fH - DB 00H - DB 09H - DW 09eH - DB 014H - DB 07H - DW 063H - DB 00H - DB 08H - DW 07fH - DB 00H - DB 08H - DW 03fH - DB 00H - DB 09H - DW 0deH - DB 012H - DB 07H - DW 01bH - DB 00H - DB 08H - DW 06fH - DB 00H - DB 08H - DW 02fH - DB 00H - DB 09H - DW 0beH - DB 00H - DB 08H - DW 0fH - DB 00H - DB 08H - DW 08fH - DB 00H - DB 08H - DW 04fH - DB 00H - DB 09H - DW 0feH - DB 060H - DB 07H - DW 00H - DB 00H - DB 08H - DW 050H - DB 00H - DB 08H - DW 010H - DB 014H - DB 08H - DW 073H - DB 012H - DB 07H - DW 01fH - DB 00H - DB 08H - DW 070H - DB 00H - DB 08H - DW 030H - DB 00H - DB 09H - DW 0c1H - DB 010H - DB 07H - DW 0aH - DB 00H - DB 08H - DW 060H - DB 00H - DB 08H - DW 020H - DB 00H - DB 09H - DW 0a1H - DB 00H - DB 08H - DW 00H - DB 00H - DB 08H - DW 080H - DB 00H - DB 08H - DW 040H - DB 00H - DB 09H - DW 0e1H - DB 010H - DB 07H - DW 06H - DB 00H - DB 08H - DW 058H - DB 00H - DB 08H - DW 018H - DB 00H - DB 09H - DW 091H - DB 013H - DB 07H - DW 03bH - DB 00H - DB 08H - DW 078H - DB 00H - DB 08H - DW 038H - DB 00H - DB 09H - DW 0d1H - DB 011H - DB 07H - DW 011H - DB 00H - DB 08H - DW 068H - DB 00H - DB 08H - DW 028H - DB 00H - DB 09H - DW 0b1H - DB 00H - DB 08H - DW 08H - DB 00H - DB 08H - DW 088H - DB 00H - DB 08H - DW 048H - DB 00H - DB 09H - DW 0f1H - DB 010H - DB 07H - DW 04H - DB 00H - DB 08H - DW 054H - DB 00H - DB 08H - DW 014H - DB 015H - DB 08H - DW 0e3H - DB 013H - DB 07H - DW 02bH - DB 00H - DB 08H - DW 074H - DB 00H - DB 08H - DW 034H - DB 00H - DB 09H - DW 0c9H - DB 011H - DB 07H - DW 0dH - DB 00H - DB 08H - DW 064H - DB 00H - DB 08H - DW 024H - DB 00H - DB 09H - DW 0a9H - DB 00H - DB 08H - DW 04H - DB 00H - DB 08H - DW 084H - DB 00H - DB 08H - DW 044H - DB 00H - DB 09H - DW 0e9H - DB 010H - DB 07H - DW 08H - DB 00H - DB 08H - DW 05cH - DB 00H - DB 08H - DW 01cH - DB 00H - DB 09H - DW 099H - DB 014H - DB 07H - DW 053H - DB 00H - DB 08H - DW 07cH - DB 00H - DB 08H - DW 03cH - DB 00H - DB 09H - DW 0d9H - DB 012H - DB 07H - DW 017H - DB 00H - DB 08H - DW 06cH - DB 00H - DB 08H - DW 02cH - DB 00H - DB 09H - DW 0b9H - DB 00H - DB 08H - DW 0cH - DB 00H - DB 08H - DW 08cH - DB 00H - DB 08H - DW 04cH - DB 00H - DB 09H - DW 0f9H - DB 010H - DB 07H - DW 03H - DB 00H - DB 08H - DW 052H - DB 00H - DB 08H - DW 012H - DB 015H - DB 08H - DW 0a3H - DB 013H - DB 07H - DW 023H - DB 00H - DB 08H - DW 072H - DB 00H - DB 08H - DW 032H - DB 00H - DB 09H - DW 0c5H - DB 011H - DB 07H - DW 0bH - DB 00H - DB 08H - DW 062H - DB 00H - DB 08H - DW 022H - DB 00H - DB 09H - DW 0a5H - DB 00H - DB 08H - DW 02H - DB 00H - DB 08H - DW 082H - DB 00H - DB 08H - DW 042H - DB 00H - DB 09H - DW 0e5H - DB 010H - DB 07H - DW 07H - DB 00H - DB 08H - DW 05aH - DB 00H - DB 08H - DW 01aH - DB 00H - DB 09H - DW 095H - DB 014H - DB 07H - DW 043H - DB 00H - DB 08H - DW 07aH - DB 00H - DB 08H - DW 03aH - DB 00H - DB 09H - DW 0d5H - DB 012H - DB 07H - DW 013H - DB 00H - DB 08H - DW 06aH - DB 00H - DB 08H - DW 02aH - DB 00H - DB 09H - DW 0b5H - DB 00H - DB 08H - DW 0aH - DB 00H - DB 08H - DW 08aH - DB 00H - DB 08H - DW 04aH - DB 00H - DB 09H - DW 0f5H - DB 010H - DB 07H - DW 05H - DB 00H - DB 08H - DW 056H - DB 00H - DB 08H - DW 016H - DB 040H - DB 08H - DW 00H - DB 013H - DB 07H - DW 033H - DB 00H - DB 08H - DW 076H - DB 00H - DB 08H - DW 036H - DB 00H - DB 09H - DW 0cdH - DB 011H - DB 07H - DW 0fH - DB 00H - DB 08H - DW 066H - DB 00H - DB 08H - DW 026H - DB 00H - DB 09H - DW 0adH - DB 00H - DB 08H - DW 06H - DB 00H - DB 08H - DW 086H - DB 00H - DB 08H - DW 046H - DB 00H - DB 09H - DW 0edH - DB 010H - DB 07H - DW 09H - DB 00H - DB 08H - DW 05eH - DB 00H - DB 08H - DW 01eH - DB 00H - DB 09H - DW 09dH - DB 014H - DB 07H - DW 063H - DB 00H - DB 08H - DW 07eH - DB 00H - DB 08H - DW 03eH - DB 00H - DB 09H - DW 0ddH - DB 012H - DB 07H - DW 01bH - DB 00H - DB 08H - DW 06eH - DB 00H - DB 08H - DW 02eH - DB 00H - DB 09H - DW 0bdH - DB 00H - DB 08H - DW 0eH - DB 00H - DB 08H - DW 08eH - DB 00H - DB 08H - DW 04eH - DB 00H - DB 09H - DW 0fdH - DB 060H - DB 07H - DW 00H - DB 00H - DB 08H - DW 051H - DB 00H - DB 08H - DW 011H - DB 015H - DB 08H - DW 083H - DB 012H - DB 07H - DW 01fH - DB 00H - DB 08H - DW 071H - DB 00H - DB 08H - DW 031H - DB 00H - DB 09H - DW 0c3H - DB 010H - DB 07H - DW 0aH - DB 00H - DB 08H - DW 061H - DB 00H - DB 08H - DW 021H - DB 00H - DB 09H - DW 0a3H - DB 00H - DB 08H - DW 01H - DB 00H - DB 08H - DW 081H - DB 00H - DB 08H - DW 041H - DB 00H - DB 09H - DW 0e3H - DB 010H - DB 07H - DW 06H - DB 00H - DB 08H - DW 059H - DB 00H - DB 08H - DW 019H - DB 00H - DB 09H - DW 093H - DB 013H - DB 07H - DW 03bH - DB 00H - DB 08H - DW 079H - DB 00H - DB 08H - DW 039H - DB 00H - DB 09H - DW 0d3H - DB 011H - DB 07H - DW 011H - DB 00H - DB 08H - DW 069H - DB 00H - DB 08H - DW 029H - DB 00H - DB 09H - DW 0b3H - DB 00H - DB 08H - DW 09H - DB 00H - DB 08H - DW 089H - DB 00H - DB 08H - DW 049H - DB 00H - DB 09H - DW 0f3H - DB 010H - DB 07H - DW 04H - DB 00H - DB 08H - DW 055H - DB 00H - DB 08H - DW 015H - DB 010H - DB 08H - DW 0102H - DB 013H - DB 07H - DW 02bH - DB 00H - DB 08H - DW 075H - DB 00H - DB 08H - DW 035H - DB 00H - DB 09H - DW 0cbH - DB 011H - DB 07H - DW 0dH - DB 00H - DB 08H - DW 065H - DB 00H - DB 08H - DW 025H - DB 00H - DB 09H - DW 0abH - DB 00H - DB 08H - DW 05H - DB 00H - DB 08H - DW 085H - DB 00H - DB 08H - DW 045H - DB 00H - DB 09H - DW 0ebH - DB 010H - DB 07H - DW 08H - DB 00H - DB 08H - DW 05dH - DB 00H - DB 08H - DW 01dH - DB 00H - DB 09H - DW 09bH - DB 014H - DB 07H - DW 053H - DB 00H - DB 08H - DW 07dH - DB 00H - DB 08H - DW 03dH - DB 00H - DB 09H - DW 0dbH - DB 012H - DB 07H - DW 017H - DB 00H - DB 08H - DW 06dH - DB 00H - DB 08H - DW 02dH - DB 00H - DB 09H - DW 0bbH - DB 00H - DB 08H - DW 0dH - DB 00H - DB 08H - DW 08dH - DB 00H - DB 08H - DW 04dH - DB 00H - DB 09H - DW 0fbH - DB 010H - DB 07H - DW 03H - DB 00H - DB 08H - DW 053H - DB 00H - DB 08H - DW 013H - DB 015H - DB 08H - DW 0c3H - DB 013H - DB 07H - DW 023H - DB 00H - DB 08H - DW 073H - DB 00H - DB 08H - DW 033H - DB 00H - DB 09H - DW 0c7H - DB 011H - DB 07H - DW 0bH - DB 00H - DB 08H - DW 063H - DB 00H - DB 08H - DW 023H - DB 00H - DB 09H - DW 0a7H - DB 00H - DB 08H - DW 03H - DB 00H - DB 08H - DW 083H - DB 00H - DB 08H - DW 043H - DB 00H - DB 09H - DW 0e7H - DB 010H - DB 07H - DW 07H - DB 00H - DB 08H - DW 05bH - DB 00H - DB 08H - DW 01bH - DB 00H - DB 09H - DW 097H - DB 014H - DB 07H - DW 043H - DB 00H - DB 08H - DW 07bH - DB 00H - DB 08H - DW 03bH - DB 00H - DB 09H - DW 0d7H - DB 012H - DB 07H - DW 013H - DB 00H - DB 08H - DW 06bH - DB 00H - DB 08H - DW 02bH - DB 00H - DB 09H - DW 0b7H - DB 00H - DB 08H - DW 0bH - DB 00H - DB 08H - DW 08bH - DB 00H - DB 08H - DW 04bH - DB 00H - DB 09H - DW 0f7H - DB 010H - DB 07H - DW 05H - DB 00H - DB 08H - DW 057H - DB 00H - DB 08H - DW 017H - DB 040H - DB 08H - DW 00H - DB 013H - DB 07H - DW 033H - DB 00H - DB 08H - DW 077H - DB 00H - DB 08H - DW 037H - DB 00H - DB 09H - DW 0cfH - DB 011H - DB 07H - DW 0fH - DB 00H - DB 08H - DW 067H - DB 00H - DB 08H - DW 027H - DB 00H - DB 09H - DW 0afH - DB 00H - DB 08H - DW 07H - DB 00H - DB 08H - DW 087H - DB 00H - DB 08H - DW 047H - DB 00H - DB 09H - DW 0efH - DB 010H - DB 07H - DW 09H - DB 00H - DB 08H - DW 05fH - DB 00H - DB 08H - DW 01fH - DB 00H - DB 09H - DW 09fH - DB 014H - DB 07H - DW 063H - DB 00H - DB 08H - DW 07fH - DB 00H - DB 08H - DW 03fH - DB 00H - DB 09H - DW 0dfH - DB 012H - DB 07H - DW 01bH - DB 00H - DB 08H - DW 06fH - DB 00H - DB 08H - DW 02fH - DB 00H - DB 09H - DW 0bfH - DB 00H - DB 08H - DW 0fH - DB 00H - DB 08H - DW 08fH - DB 00H - DB 08H - DW 04fH - DB 00H - DB 09H - DW 0ffH -?distfix@?1??fixedtables@@9@9 DB 010H ; `fixedtables'::`2'::distfix - DB 05H - DW 01H - DB 017H - DB 05H - DW 0101H - DB 013H - DB 05H - DW 011H - DB 01bH - DB 05H - DW 01001H - DB 011H - DB 05H - DW 05H - DB 019H - DB 05H - DW 0401H - DB 015H - DB 05H - DW 041H - DB 01dH - DB 05H - DW 04001H - DB 010H - DB 05H - DW 03H - DB 018H - DB 05H - DW 0201H - DB 014H - DB 05H - DW 021H - DB 01cH - DB 05H - DW 02001H - DB 012H - DB 05H - DW 09H - DB 01aH - DB 05H - DW 0801H - DB 016H - DB 05H - DW 081H - DB 040H - DB 05H - DW 00H - DB 010H - DB 05H - DW 02H - DB 017H - DB 05H - DW 0181H - DB 013H - DB 05H - DW 019H - DB 01bH - DB 05H - DW 01801H - DB 011H - DB 05H - DW 07H - DB 019H - DB 05H - DW 0601H - DB 015H - DB 05H - DW 061H - DB 01dH - DB 05H - DW 06001H - DB 010H - DB 05H - DW 04H - DB 018H - DB 05H - DW 0301H - DB 014H - DB 05H - DW 031H - DB 01cH - DB 05H - DW 03001H - DB 012H - DB 05H - DW 0dH - DB 01aH - DB 05H - DW 0c01H - DB 016H - DB 05H - DW 0c1H - DB 040H - DB 05H - DW 00H -?order@?1??inflate@@9@9 DW 010H ; `inflate'::`2'::order - DW 011H - DW 012H - DW 00H - DW 08H - DW 07H - DW 09H - DW 06H - DW 0aH - DW 05H - DW 0bH - DW 04H - DW 0cH - DW 03H - DW 0dH - DW 02H - DW 0eH - DW 01H - DW 0fH -PUBLIC _inflateMark@4 -; Function compile flags: /Ogtp -; File d:\fmu\fmusolution\zlib-1.2.6\inflate.c -; COMDAT _inflateMark@4 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_inflateMark@4 PROC ; COMDAT - -; 1493 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1494 : struct inflate_state FAR *state; -; 1495 : -; 1496 : if (strm == Z_NULL || strm->state == Z_NULL) return -1L << 16; - - 00003 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00006 85 c0 test eax, eax - 00008 74 4e je SHORT $LN1@inflateMar - 0000a 8b 40 1c mov eax, DWORD PTR [eax+28] - 0000d 85 c0 test eax, eax - 0000f 74 47 je SHORT $LN1@inflateMar - -; 1497 : state = (struct inflate_state FAR *)strm->state; -; 1498 : return ((long)(state->back) << 16) + -; 1499 : (state->mode == COPY ? state->length : -; 1500 : (state->mode == MATCH ? state->was - state->length : 0)); - - 00011 8b 08 mov ecx, DWORD PTR [eax] - 00013 83 f9 0f cmp ecx, 15 ; 0000000fH - 00016 75 12 jne SHORT $LN7@inflateMar - 00018 8b 48 40 mov ecx, DWORD PTR [eax+64] - 0001b 8b 80 c4 1b 00 - 00 mov eax, DWORD PTR [eax+7108] - 00021 c1 e0 10 shl eax, 16 ; 00000010H - 00024 03 c1 add eax, ecx - -; 1501 : } - - 00026 5d pop ebp - 00027 c2 04 00 ret 4 -$LN7@inflateMar: - -; 1497 : state = (struct inflate_state FAR *)strm->state; -; 1498 : return ((long)(state->back) << 16) + -; 1499 : (state->mode == COPY ? state->length : -; 1500 : (state->mode == MATCH ? state->was - state->length : 0)); - - 0002a 83 f9 18 cmp ecx, 24 ; 00000018H - 0002d 75 18 jne SHORT $LN5@inflateMar - 0002f 8b 88 c8 1b 00 - 00 mov ecx, DWORD PTR [eax+7112] - 00035 2b 48 40 sub ecx, DWORD PTR [eax+64] - 00038 8b 80 c4 1b 00 - 00 mov eax, DWORD PTR [eax+7108] - 0003e c1 e0 10 shl eax, 16 ; 00000010H - 00041 03 c1 add eax, ecx - -; 1501 : } - - 00043 5d pop ebp - 00044 c2 04 00 ret 4 -$LN5@inflateMar: - -; 1497 : state = (struct inflate_state FAR *)strm->state; -; 1498 : return ((long)(state->back) << 16) + -; 1499 : (state->mode == COPY ? state->length : -; 1500 : (state->mode == MATCH ? state->was - state->length : 0)); - - 00047 8b 80 c4 1b 00 - 00 mov eax, DWORD PTR [eax+7108] - 0004d 33 c9 xor ecx, ecx - 0004f c1 e0 10 shl eax, 16 ; 00000010H - 00052 03 c1 add eax, ecx - -; 1501 : } - - 00054 5d pop ebp - 00055 c2 04 00 ret 4 -$LN1@inflateMar: - -; 1494 : struct inflate_state FAR *state; -; 1495 : -; 1496 : if (strm == Z_NULL || strm->state == Z_NULL) return -1L << 16; - - 00058 b8 00 00 ff ff mov eax, -65536 ; ffff0000H - -; 1501 : } - - 0005d 5d pop ebp - 0005e c2 04 00 ret 4 -_inflateMark@4 ENDP -_TEXT ENDS -PUBLIC _inflateUndermine@8 -; Function compile flags: /Ogtp -; COMDAT _inflateUndermine@8 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_subvert$ = 12 ; size = 4 -_inflateUndermine@8 PROC ; COMDAT - -; 1477 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1478 : struct inflate_state FAR *state; -; 1479 : -; 1480 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00003 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00006 85 c0 test eax, eax - 00008 74 1a je SHORT $LN1@inflateUnd - 0000a 8b 40 1c mov eax, DWORD PTR [eax+28] - 0000d 85 c0 test eax, eax - 0000f 74 13 je SHORT $LN1@inflateUnd - -; 1481 : state = (struct inflate_state FAR *)strm->state; -; 1482 : state->sane = !subvert; -; 1483 : #ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR -; 1484 : return Z_OK; -; 1485 : #else -; 1486 : state->sane = 1; - - 00011 c7 80 c0 1b 00 - 00 01 00 00 00 mov DWORD PTR [eax+7104], 1 - -; 1487 : return Z_DATA_ERROR; - - 0001b b8 fd ff ff ff mov eax, -3 ; fffffffdH - -; 1488 : #endif -; 1489 : } - - 00020 5d pop ebp - 00021 c2 08 00 ret 8 -$LN1@inflateUnd: - -; 1478 : struct inflate_state FAR *state; -; 1479 : -; 1480 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00024 b8 fe ff ff ff mov eax, -2 ; fffffffeH - -; 1488 : #endif -; 1489 : } - - 00029 5d pop ebp - 0002a c2 08 00 ret 8 -_inflateUndermine@8 ENDP -_TEXT ENDS -PUBLIC _inflateCopy@8 -EXTRN _memcpy:PROC -; Function compile flags: /Ogtp -; COMDAT _inflateCopy@8 -_TEXT SEGMENT -_copy$ = -4 ; size = 4 -_dest$ = 8 ; size = 4 -_window$ = 12 ; size = 4 -_source$ = 12 ; size = 4 -_inflateCopy@8 PROC ; COMDAT - -; 1430 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - -; 1431 : struct inflate_state FAR *state; -; 1432 : struct inflate_state FAR *copy; -; 1433 : unsigned char FAR *window; -; 1434 : unsigned wsize; -; 1435 : -; 1436 : /* check input */ -; 1437 : if (dest == Z_NULL || source == Z_NULL || source->state == Z_NULL || -; 1438 : source->zalloc == (alloc_func)0 || source->zfree == (free_func)0) - - 00004 83 7d 08 00 cmp DWORD PTR _dest$[ebp], 0 - 00008 53 push ebx - 00009 56 push esi - 0000a 0f 84 36 01 00 - 00 je $LN6@inflateCop - 00010 8b 75 0c mov esi, DWORD PTR _source$[ebp] - 00013 85 f6 test esi, esi - 00015 0f 84 2b 01 00 - 00 je $LN6@inflateCop - 0001b 8b 5e 1c mov ebx, DWORD PTR [esi+28] - 0001e 85 db test ebx, ebx - 00020 0f 84 20 01 00 - 00 je $LN6@inflateCop - 00026 8b 46 20 mov eax, DWORD PTR [esi+32] - 00029 85 c0 test eax, eax - 0002b 0f 84 15 01 00 - 00 je $LN6@inflateCop - 00031 83 7e 24 00 cmp DWORD PTR [esi+36], 0 - 00035 0f 84 0b 01 00 - 00 je $LN6@inflateCop - -; 1440 : state = (struct inflate_state FAR *)source->state; -; 1441 : -; 1442 : /* allocate space */ -; 1443 : copy = (struct inflate_state FAR *) -; 1444 : ZALLOC(source, 1, sizeof(struct inflate_state)); - - 0003b 8b 4e 28 mov ecx, DWORD PTR [esi+40] - 0003e 57 push edi - 0003f 68 cc 1b 00 00 push 7116 ; 00001bccH - 00044 6a 01 push 1 - 00046 51 push ecx - 00047 ff d0 call eax - 00049 8b f8 mov edi, eax - 0004b 83 c4 0c add esp, 12 ; 0000000cH - 0004e 89 7d fc mov DWORD PTR _copy$[ebp], edi - -; 1445 : if (copy == Z_NULL) return Z_MEM_ERROR; - - 00051 85 ff test edi, edi - 00053 74 3a je SHORT $LN11@inflateCop - -; 1446 : window = Z_NULL; -; 1447 : if (state->window != Z_NULL) { - - 00055 83 7b 34 00 cmp DWORD PTR [ebx+52], 0 - 00059 c7 45 0c 00 00 - 00 00 mov DWORD PTR _window$[ebp], 0 - 00060 74 3b je SHORT $LN3@inflateCop - -; 1448 : window = (unsigned char FAR *) -; 1449 : ZALLOC(source, 1U << state->wbits, sizeof(unsigned char)); - - 00062 8b 4b 24 mov ecx, DWORD PTR [ebx+36] - 00065 8b 46 28 mov eax, DWORD PTR [esi+40] - 00068 ba 01 00 00 00 mov edx, 1 - 0006d d3 e2 shl edx, cl - 0006f 8b 4e 20 mov ecx, DWORD PTR [esi+32] - 00072 6a 01 push 1 - 00074 52 push edx - 00075 50 push eax - 00076 ff d1 call ecx - 00078 83 c4 0c add esp, 12 ; 0000000cH - 0007b 89 45 0c mov DWORD PTR _window$[ebp], eax - -; 1450 : if (window == Z_NULL) { - - 0007e 85 c0 test eax, eax - 00080 75 1b jne SHORT $LN3@inflateCop - -; 1451 : ZFREE(source, copy); - - 00082 8b 56 28 mov edx, DWORD PTR [esi+40] - 00085 8b 46 24 mov eax, DWORD PTR [esi+36] - 00088 57 push edi - 00089 52 push edx - 0008a ff d0 call eax - 0008c 83 c4 08 add esp, 8 -$LN11@inflateCop: - -; 1452 : return Z_MEM_ERROR; - - 0008f 5f pop edi - 00090 5e pop esi - 00091 b8 fc ff ff ff mov eax, -4 ; fffffffcH - 00096 5b pop ebx - -; 1472 : } - - 00097 8b e5 mov esp, ebp - 00099 5d pop ebp - 0009a c2 08 00 ret 8 -$LN3@inflateCop: - -; 1453 : } -; 1454 : } -; 1455 : -; 1456 : /* copy state */ -; 1457 : zmemcpy((voidpf)dest, (voidpf)source, sizeof(z_stream)); - - 0009d 8b 7d 08 mov edi, DWORD PTR _dest$[ebp] - 000a0 b9 0e 00 00 00 mov ecx, 14 ; 0000000eH - -; 1458 : zmemcpy((voidpf)copy, (voidpf)state, sizeof(struct inflate_state)); - - 000a5 68 cc 1b 00 00 push 7116 ; 00001bccH - 000aa f3 a5 rep movsd - 000ac 8b 75 fc mov esi, DWORD PTR _copy$[ebp] - 000af 53 push ebx - 000b0 56 push esi - 000b1 e8 00 00 00 00 call _memcpy - -; 1459 : if (state->lencode >= state->codes && -; 1460 : state->lencode <= state->codes + ENOUGH - 1) { - - 000b6 8b 43 4c mov eax, DWORD PTR [ebx+76] - 000b9 8d 8b 30 05 00 - 00 lea ecx, DWORD PTR [ebx+1328] - 000bf 83 c4 0c add esp, 12 ; 0000000cH - 000c2 3b c1 cmp eax, ecx - 000c4 72 36 jb SHORT $LN2@inflateCop - 000c6 8d 93 bc 1b 00 - 00 lea edx, DWORD PTR [ebx+7100] - 000cc 3b c2 cmp eax, edx - 000ce 77 2c ja SHORT $LN2@inflateCop - -; 1461 : copy->lencode = copy->codes + (state->lencode - state->codes); - - 000d0 2b c3 sub eax, ebx - 000d2 2d 30 05 00 00 sub eax, 1328 ; 00000530H - 000d7 c1 f8 02 sar eax, 2 - 000da 8d 84 86 30 05 - 00 00 lea eax, DWORD PTR [esi+eax*4+1328] - 000e1 89 46 4c mov DWORD PTR [esi+76], eax - -; 1462 : copy->distcode = copy->codes + (state->distcode - state->codes); - - 000e4 8b 4b 50 mov ecx, DWORD PTR [ebx+80] - 000e7 2b cb sub ecx, ebx - 000e9 81 e9 30 05 00 - 00 sub ecx, 1328 ; 00000530H - 000ef c1 f9 02 sar ecx, 2 - 000f2 8d 94 8e 30 05 - 00 00 lea edx, DWORD PTR [esi+ecx*4+1328] - 000f9 89 56 50 mov DWORD PTR [esi+80], edx -$LN2@inflateCop: - -; 1463 : } -; 1464 : copy->next = copy->codes + (state->next - state->codes); - - 000fc 8b 43 6c mov eax, DWORD PTR [ebx+108] - -; 1465 : if (window != Z_NULL) { - - 000ff 8b 7d 0c mov edi, DWORD PTR _window$[ebp] - 00102 2b c3 sub eax, ebx - 00104 2d 30 05 00 00 sub eax, 1328 ; 00000530H - 00109 c1 f8 02 sar eax, 2 - 0010c 8d 8c 86 30 05 - 00 00 lea ecx, DWORD PTR [esi+eax*4+1328] - 00113 89 4e 6c mov DWORD PTR [esi+108], ecx - 00116 85 ff test edi, edi - 00118 74 18 je SHORT $LN1@inflateCop - -; 1466 : wsize = 1U << state->wbits; - - 0011a 8b 4b 24 mov ecx, DWORD PTR [ebx+36] - -; 1467 : zmemcpy(window, state->window, wsize); - - 0011d 8b 43 34 mov eax, DWORD PTR [ebx+52] - 00120 ba 01 00 00 00 mov edx, 1 - 00125 d3 e2 shl edx, cl - 00127 52 push edx - 00128 50 push eax - 00129 57 push edi - 0012a e8 00 00 00 00 call _memcpy - 0012f 83 c4 0c add esp, 12 ; 0000000cH -$LN1@inflateCop: - -; 1468 : } -; 1469 : copy->window = window; -; 1470 : dest->state = (struct internal_state FAR *)copy; - - 00132 8b 4d 08 mov ecx, DWORD PTR _dest$[ebp] - 00135 89 7e 34 mov DWORD PTR [esi+52], edi - 00138 5f pop edi - 00139 89 71 1c mov DWORD PTR [ecx+28], esi - 0013c 5e pop esi - -; 1471 : return Z_OK; - - 0013d 33 c0 xor eax, eax - 0013f 5b pop ebx - -; 1472 : } - - 00140 8b e5 mov esp, ebp - 00142 5d pop ebp - 00143 c2 08 00 ret 8 -$LN6@inflateCop: - 00146 5e pop esi - -; 1439 : return Z_STREAM_ERROR; - - 00147 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 0014c 5b pop ebx - -; 1472 : } - - 0014d 8b e5 mov esp, ebp - 0014f 5d pop ebp - 00150 c2 08 00 ret 8 -_inflateCopy@8 ENDP -_TEXT ENDS -PUBLIC _inflateSyncPoint@4 -; Function compile flags: /Ogtp -; COMDAT _inflateSyncPoint@4 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_inflateSyncPoint@4 PROC ; COMDAT - -; 1419 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1420 : struct inflate_state FAR *state; -; 1421 : -; 1422 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00003 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00006 85 c0 test eax, eax - 00008 74 21 je SHORT $LN1@inflateSyn - 0000a 8b 40 1c mov eax, DWORD PTR [eax+28] - 0000d 85 c0 test eax, eax - 0000f 74 1a je SHORT $LN1@inflateSyn - -; 1423 : state = (struct inflate_state FAR *)strm->state; -; 1424 : return state->mode == STORED && state->bits == 0; - - 00011 83 38 0d cmp DWORD PTR [eax], 13 ; 0000000dH - 00014 75 0f jne SHORT $LN5@inflateSyn - 00016 83 78 3c 00 cmp DWORD PTR [eax+60], 0 - 0001a 75 09 jne SHORT $LN5@inflateSyn - 0001c b8 01 00 00 00 mov eax, 1 - -; 1425 : } - - 00021 5d pop ebp - 00022 c2 04 00 ret 4 -$LN5@inflateSyn: - -; 1423 : state = (struct inflate_state FAR *)strm->state; -; 1424 : return state->mode == STORED && state->bits == 0; - - 00025 33 c0 xor eax, eax - -; 1425 : } - - 00027 5d pop ebp - 00028 c2 04 00 ret 4 -$LN1@inflateSyn: - -; 1420 : struct inflate_state FAR *state; -; 1421 : -; 1422 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 0002b b8 fe ff ff ff mov eax, -2 ; fffffffeH - -; 1425 : } - - 00030 5d pop ebp - 00031 c2 04 00 ret 4 -_inflateSyncPoint@4 ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _syncsearch -_TEXT SEGMENT -_have$ = 8 ; size = 4 -_len$ = 12 ; size = 4 -_syncsearch PROC ; COMDAT -; _buf$ = esi - -; 1347 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 8b 55 08 mov edx, DWORD PTR _have$[ebp] - -; 1348 : unsigned got; -; 1349 : unsigned next; -; 1350 : -; 1351 : got = *have; - - 00006 8b 0a mov ecx, DWORD PTR [edx] - -; 1352 : next = 0; - - 00008 33 c0 xor eax, eax - -; 1353 : while (next < len && got < 4) { - - 0000a 39 45 0c cmp DWORD PTR _len$[ebp], eax - 0000d 76 41 jbe SHORT $LN11@syncsearch - 0000f 53 push ebx - 00010 57 push edi -$LL6@syncsearch: - 00011 83 f9 04 cmp ecx, 4 - 00014 73 35 jae SHORT $LN12@syncsearch - -; 1354 : if ((int)(buf[next]) == (got < 2 ? 0 : 0xff)) - - 00016 8a 14 30 mov dl, BYTE PTR [eax+esi] - 00019 83 f9 02 cmp ecx, 2 - 0001c 1b ff sbb edi, edi - 0001e 81 e7 01 ff ff - ff and edi, -255 ; ffffff01H - 00024 0f b6 da movzx ebx, dl - 00027 81 c7 ff 00 00 - 00 add edi, 255 ; 000000ffH - 0002d 3b df cmp ebx, edi - 0002f 75 03 jne SHORT $LN4@syncsearch - -; 1355 : got++; - - 00031 41 inc ecx - 00032 eb 11 jmp SHORT $LN1@syncsearch -$LN4@syncsearch: - -; 1356 : else if (buf[next]) - - 00034 84 d2 test dl, dl - 00036 74 04 je SHORT $LN2@syncsearch - -; 1357 : got = 0; - - 00038 33 c9 xor ecx, ecx - -; 1358 : else - - 0003a eb 09 jmp SHORT $LN1@syncsearch -$LN2@syncsearch: - -; 1359 : got = 4 - got; - - 0003c ba 04 00 00 00 mov edx, 4 - 00041 2b d1 sub edx, ecx - 00043 8b ca mov ecx, edx -$LN1@syncsearch: - -; 1360 : next++; - - 00045 40 inc eax - 00046 3b 45 0c cmp eax, DWORD PTR _len$[ebp] - 00049 72 c6 jb SHORT $LL6@syncsearch -$LN12@syncsearch: - -; 1361 : } -; 1362 : *have = got; - - 0004b 8b 55 08 mov edx, DWORD PTR _have$[ebp] - 0004e 5f pop edi - 0004f 5b pop ebx -$LN11@syncsearch: - 00050 89 0a mov DWORD PTR [edx], ecx - -; 1363 : return next; -; 1364 : } - - 00052 5d pop ebp - 00053 c3 ret 0 -_syncsearch ENDP -_TEXT ENDS -PUBLIC _inflateGetHeader@8 -; Function compile flags: /Ogtp -; COMDAT _inflateGetHeader@8 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_head$ = 12 ; size = 4 -_inflateGetHeader@8 PROC ; COMDAT - -; 1318 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1319 : struct inflate_state FAR *state; -; 1320 : -; 1321 : /* check state */ -; 1322 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00003 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00006 85 c0 test eax, eax - 00008 74 20 je SHORT $LN2@inflateGet - 0000a 8b 40 1c mov eax, DWORD PTR [eax+28] - 0000d 85 c0 test eax, eax - 0000f 74 19 je SHORT $LN2@inflateGet - -; 1323 : state = (struct inflate_state FAR *)strm->state; -; 1324 : if ((state->wrap & 2) == 0) return Z_STREAM_ERROR; - - 00011 f6 40 08 02 test BYTE PTR [eax+8], 2 - 00015 74 13 je SHORT $LN2@inflateGet - -; 1325 : -; 1326 : /* save header structure */ -; 1327 : state->head = head; - - 00017 8b 4d 0c mov ecx, DWORD PTR _head$[ebp] - 0001a 89 48 20 mov DWORD PTR [eax+32], ecx - -; 1328 : head->done = 0; - - 0001d c7 41 30 00 00 - 00 00 mov DWORD PTR [ecx+48], 0 - -; 1329 : return Z_OK; - - 00024 33 c0 xor eax, eax - -; 1330 : } - - 00026 5d pop ebp - 00027 c2 08 00 ret 8 -$LN2@inflateGet: - -; 1319 : struct inflate_state FAR *state; -; 1320 : -; 1321 : /* check state */ -; 1322 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 0002a b8 fe ff ff ff mov eax, -2 ; fffffffeH - -; 1330 : } - - 0002f 5d pop ebp - 00030 c2 08 00 ret 8 -_inflateGetHeader@8 ENDP -_TEXT ENDS -PUBLIC _inflateEnd@4 -; Function compile flags: /Ogtp -; COMDAT _inflateEnd@4 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_inflateEnd@4 PROC ; COMDAT - -; 1260 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 1261 : struct inflate_state FAR *state; -; 1262 : if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0) - - 00004 8b 75 08 mov esi, DWORD PTR _strm$[ebp] - 00007 85 f6 test esi, esi - 00009 74 3d je SHORT $LN2@inflateEnd - 0000b 8b 46 1c mov eax, DWORD PTR [esi+28] - 0000e 85 c0 test eax, eax - 00010 74 36 je SHORT $LN2@inflateEnd - 00012 8b 4e 24 mov ecx, DWORD PTR [esi+36] - 00015 85 c9 test ecx, ecx - 00017 74 2f je SHORT $LN2@inflateEnd - -; 1264 : state = (struct inflate_state FAR *)strm->state; -; 1265 : if (state->window != Z_NULL) ZFREE(strm, state->window); - - 00019 8b 40 34 mov eax, DWORD PTR [eax+52] - 0001c 85 c0 test eax, eax - 0001e 74 0a je SHORT $LN1@inflateEnd - 00020 50 push eax - 00021 8b 46 28 mov eax, DWORD PTR [esi+40] - 00024 50 push eax - 00025 ff d1 call ecx - 00027 83 c4 08 add esp, 8 -$LN1@inflateEnd: - -; 1266 : ZFREE(strm, strm->state); - - 0002a 8b 4e 1c mov ecx, DWORD PTR [esi+28] - 0002d 8b 56 28 mov edx, DWORD PTR [esi+40] - 00030 8b 46 24 mov eax, DWORD PTR [esi+36] - 00033 51 push ecx - 00034 52 push edx - 00035 ff d0 call eax - 00037 83 c4 08 add esp, 8 - -; 1267 : strm->state = Z_NULL; - - 0003a c7 46 1c 00 00 - 00 00 mov DWORD PTR [esi+28], 0 - -; 1268 : Tracev((stderr, "inflate: end\n")); -; 1269 : return Z_OK; - - 00041 33 c0 xor eax, eax - 00043 5e pop esi - -; 1270 : } - - 00044 5d pop ebp - 00045 c2 04 00 ret 4 -$LN2@inflateEnd: - -; 1263 : return Z_STREAM_ERROR; - - 00048 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 0004d 5e pop esi - -; 1270 : } - - 0004e 5d pop ebp - 0004f c2 04 00 ret 4 -_inflateEnd@4 ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _updatewindow -_TEXT SEGMENT -_dist$ = -4 ; size = 4 -_updatewindow PROC ; COMDAT -; _strm$ = ebx -; _out$ = eax - -; 381 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 56 push esi - -; 382 : struct inflate_state FAR *state; -; 383 : unsigned copy, dist; -; 384 : -; 385 : state = (struct inflate_state FAR *)strm->state; - - 00005 8b 73 1c mov esi, DWORD PTR [ebx+28] - -; 386 : -; 387 : /* if it hasn't been done already, allocate space for the window */ -; 388 : if (state->window == Z_NULL) { - - 00008 83 7e 34 00 cmp DWORD PTR [esi+52], 0 - 0000c 57 push edi - 0000d 8b f8 mov edi, eax - 0000f 75 2b jne SHORT $LN13@updatewind - -; 389 : state->window = (unsigned char FAR *) -; 390 : ZALLOC(strm, 1U << state->wbits, -; 391 : sizeof(unsigned char)); - - 00011 8b 4e 24 mov ecx, DWORD PTR [esi+36] - 00014 8b 53 20 mov edx, DWORD PTR [ebx+32] - 00017 b8 01 00 00 00 mov eax, 1 - 0001c d3 e0 shl eax, cl - 0001e 8b 4b 28 mov ecx, DWORD PTR [ebx+40] - 00021 6a 01 push 1 - 00023 50 push eax - 00024 51 push ecx - 00025 ff d2 call edx - 00027 83 c4 0c add esp, 12 ; 0000000cH - 0002a 89 46 34 mov DWORD PTR [esi+52], eax - -; 392 : if (state->window == Z_NULL) return 1; - - 0002d 85 c0 test eax, eax - 0002f 75 0b jne SHORT $LN13@updatewind - 00031 5f pop edi - 00032 b8 01 00 00 00 mov eax, 1 - 00037 5e pop esi - -; 426 : } - - 00038 8b e5 mov esp, ebp - 0003a 5d pop ebp - 0003b c3 ret 0 -$LN13@updatewind: - -; 393 : } -; 394 : -; 395 : /* if window not in use yet, initialize */ -; 396 : if (state->wsize == 0) { - - 0003c 33 c0 xor eax, eax - 0003e 39 46 28 cmp DWORD PTR [esi+40], eax - 00041 75 13 jne SHORT $LN8@updatewind - -; 397 : state->wsize = 1U << state->wbits; - - 00043 8b 4e 24 mov ecx, DWORD PTR [esi+36] - 00046 ba 01 00 00 00 mov edx, 1 - 0004b d3 e2 shl edx, cl - -; 398 : state->wnext = 0; - - 0004d 89 46 30 mov DWORD PTR [esi+48], eax - -; 399 : state->whave = 0; - - 00050 89 46 2c mov DWORD PTR [esi+44], eax - 00053 89 56 28 mov DWORD PTR [esi+40], edx -$LN8@updatewind: - -; 400 : } -; 401 : -; 402 : /* copy state->wsize or less output bytes into the circular window */ -; 403 : copy = out - strm->avail_out; - - 00056 2b 7b 10 sub edi, DWORD PTR [ebx+16] - -; 404 : if (copy >= state->wsize) { - - 00059 8b 46 28 mov eax, DWORD PTR [esi+40] - 0005c 3b f8 cmp edi, eax - 0005e 72 28 jb SHORT $LN7@updatewind - -; 405 : zmemcpy(state->window, strm->next_out - state->wsize, state->wsize); - - 00060 8b 4b 0c mov ecx, DWORD PTR [ebx+12] - 00063 8b 56 34 mov edx, DWORD PTR [esi+52] - 00066 50 push eax - 00067 2b c8 sub ecx, eax - 00069 51 push ecx - 0006a 52 push edx - 0006b e8 00 00 00 00 call _memcpy - -; 406 : state->wnext = 0; -; 407 : state->whave = state->wsize; - - 00070 8b 46 28 mov eax, DWORD PTR [esi+40] - 00073 83 c4 0c add esp, 12 ; 0000000cH - 00076 89 46 2c mov DWORD PTR [esi+44], eax - 00079 5f pop edi - 0007a c7 46 30 00 00 - 00 00 mov DWORD PTR [esi+48], 0 - -; 423 : } -; 424 : } -; 425 : return 0; - - 00081 33 c0 xor eax, eax - 00083 5e pop esi - -; 426 : } - - 00084 8b e5 mov esp, ebp - 00086 5d pop ebp - 00087 c3 ret 0 -$LN7@updatewind: - -; 408 : } -; 409 : else { -; 410 : dist = state->wsize - state->wnext; - - 00088 2b 46 30 sub eax, DWORD PTR [esi+48] - 0008b 89 45 fc mov DWORD PTR _dist$[ebp], eax - -; 411 : if (dist > copy) dist = copy; - - 0008e 3b c7 cmp eax, edi - 00090 76 05 jbe SHORT $LN5@updatewind - 00092 89 7d fc mov DWORD PTR _dist$[ebp], edi - 00095 8b c7 mov eax, edi -$LN5@updatewind: - -; 412 : zmemcpy(state->window + state->wnext, strm->next_out - copy, dist); - - 00097 8b 4b 0c mov ecx, DWORD PTR [ebx+12] - 0009a 8b 56 34 mov edx, DWORD PTR [esi+52] - 0009d 03 56 30 add edx, DWORD PTR [esi+48] - 000a0 50 push eax - 000a1 2b cf sub ecx, edi - 000a3 51 push ecx - 000a4 52 push edx - 000a5 e8 00 00 00 00 call _memcpy - -; 413 : copy -= dist; - - 000aa 8b 4d fc mov ecx, DWORD PTR _dist$[ebp] - 000ad 83 c4 0c add esp, 12 ; 0000000cH - 000b0 2b f9 sub edi, ecx - -; 414 : if (copy) { - - 000b2 74 24 je SHORT $LN4@updatewind - -; 415 : zmemcpy(state->window, strm->next_out - copy, copy); - - 000b4 8b 43 0c mov eax, DWORD PTR [ebx+12] - 000b7 8b 4e 34 mov ecx, DWORD PTR [esi+52] - 000ba 57 push edi - 000bb 2b c7 sub eax, edi - 000bd 50 push eax - 000be 51 push ecx - 000bf e8 00 00 00 00 call _memcpy - -; 416 : state->wnext = copy; -; 417 : state->whave = state->wsize; - - 000c4 8b 56 28 mov edx, DWORD PTR [esi+40] - 000c7 83 c4 0c add esp, 12 ; 0000000cH - 000ca 89 7e 30 mov DWORD PTR [esi+48], edi - 000cd 5f pop edi - -; 422 : if (state->whave < state->wsize) state->whave += dist; - - 000ce 89 56 2c mov DWORD PTR [esi+44], edx - -; 423 : } -; 424 : } -; 425 : return 0; - - 000d1 33 c0 xor eax, eax - 000d3 5e pop esi - -; 426 : } - - 000d4 8b e5 mov esp, ebp - 000d6 5d pop ebp - 000d7 c3 ret 0 -$LN4@updatewind: - -; 418 : } -; 419 : else { -; 420 : state->wnext += dist; -; 421 : if (state->wnext == state->wsize) state->wnext = 0; - - 000d8 8b 46 28 mov eax, DWORD PTR [esi+40] - 000db 01 4e 30 add DWORD PTR [esi+48], ecx - 000de 39 46 30 cmp DWORD PTR [esi+48], eax - 000e1 75 07 jne SHORT $LN2@updatewind - 000e3 c7 46 30 00 00 - 00 00 mov DWORD PTR [esi+48], 0 -$LN2@updatewind: - -; 422 : if (state->whave < state->wsize) state->whave += dist; - - 000ea 8b 56 2c mov edx, DWORD PTR [esi+44] - 000ed 3b d0 cmp edx, eax - 000ef 73 05 jae SHORT $LN1@updatewind - 000f1 03 d1 add edx, ecx - 000f3 89 56 2c mov DWORD PTR [esi+44], edx -$LN1@updatewind: - -; 423 : } -; 424 : } -; 425 : return 0; - - 000f6 5f pop edi - 000f7 33 c0 xor eax, eax - 000f9 5e pop esi - -; 426 : } - - 000fa 8b e5 mov esp, ebp - 000fc 5d pop ebp - 000fd c3 ret 0 -_updatewindow ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _fixedtables -_TEXT SEGMENT -_fixedtables PROC ; COMDAT -; _state$ = eax - -; 263 : #ifdef BUILDFIXED -; 264 : static int virgin = 1; -; 265 : static code *lenfix, *distfix; -; 266 : static code fixed[544]; -; 267 : -; 268 : /* build fixed huffman tables if first call (may not be thread safe) */ -; 269 : if (virgin) { -; 270 : unsigned sym, bits; -; 271 : static code *next; -; 272 : -; 273 : /* literal/length table */ -; 274 : sym = 0; -; 275 : while (sym < 144) state->lens[sym++] = 8; -; 276 : while (sym < 256) state->lens[sym++] = 9; -; 277 : while (sym < 280) state->lens[sym++] = 7; -; 278 : while (sym < 288) state->lens[sym++] = 8; -; 279 : next = fixed; -; 280 : lenfix = next; -; 281 : bits = 9; -; 282 : inflate_table(LENS, state->lens, 288, &(next), &(bits), state->work); -; 283 : -; 284 : /* distance table */ -; 285 : sym = 0; -; 286 : while (sym < 32) state->lens[sym++] = 5; -; 287 : distfix = next; -; 288 : bits = 5; -; 289 : inflate_table(DISTS, state->lens, 32, &(next), &(bits), state->work); -; 290 : -; 291 : /* do this just once */ -; 292 : virgin = 0; -; 293 : } -; 294 : #else /* !BUILDFIXED */ -; 295 : # include "inffixed.h" -; 296 : #endif /* BUILDFIXED */ -; 297 : state->lencode = lenfix; - - 00000 c7 40 4c 00 00 - 00 00 mov DWORD PTR [eax+76], OFFSET ?lenfix@?1??fixedtables@@9@9 - -; 298 : state->lenbits = 9; - - 00007 c7 40 54 09 00 - 00 00 mov DWORD PTR [eax+84], 9 - -; 299 : state->distcode = distfix; - - 0000e c7 40 50 00 00 - 00 00 mov DWORD PTR [eax+80], OFFSET ?distfix@?1??fixedtables@@9@9 - -; 300 : state->distbits = 5; - - 00015 c7 40 58 05 00 - 00 00 mov DWORD PTR [eax+88], 5 - -; 301 : } - - 0001c c3 ret 0 -_fixedtables ENDP -_TEXT ENDS -PUBLIC _inflatePrime@12 -; Function compile flags: /Ogtp -; COMDAT _inflatePrime@12 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_bits$ = 12 ; size = 4 -_value$ = 16 ; size = 4 -_inflatePrime@12 PROC ; COMDAT - -; 233 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 234 : struct inflate_state FAR *state; -; 235 : -; 236 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00003 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00006 33 d2 xor edx, edx - 00008 3b c2 cmp eax, edx - 0000a 74 53 je SHORT $LN4@inflatePri - 0000c 8b 40 1c mov eax, DWORD PTR [eax+28] - 0000f 3b c2 cmp eax, edx - 00011 74 4c je SHORT $LN4@inflatePri - -; 237 : state = (struct inflate_state FAR *)strm->state; -; 238 : if (bits < 0) { - - 00013 8b 4d 0c mov ecx, DWORD PTR _bits$[ebp] - 00016 3b ca cmp ecx, edx - 00018 7d 0c jge SHORT $LN3@inflatePri - -; 239 : state->hold = 0; - - 0001a 89 50 38 mov DWORD PTR [eax+56], edx - -; 240 : state->bits = 0; - - 0001d 89 50 3c mov DWORD PTR [eax+60], edx - -; 241 : return Z_OK; - - 00020 33 c0 xor eax, eax - -; 248 : } - - 00022 5d pop ebp - 00023 c2 0c 00 ret 12 ; 0000000cH -$LN3@inflatePri: - 00026 56 push esi - -; 242 : } -; 243 : if (bits > 16 || state->bits + bits > 32) return Z_STREAM_ERROR; - - 00027 83 f9 10 cmp ecx, 16 ; 00000010H - 0002a 7f 29 jg SHORT $LN1@inflatePri - 0002c 8b 50 3c mov edx, DWORD PTR [eax+60] - 0002f 8d 34 0a lea esi, DWORD PTR [edx+ecx] - 00032 83 fe 20 cmp esi, 32 ; 00000020H - 00035 77 1e ja SHORT $LN1@inflatePri - -; 244 : value &= (1L << bits) - 1; - - 00037 57 push edi - 00038 bf 01 00 00 00 mov edi, 1 - 0003d d3 e7 shl edi, cl - -; 245 : state->hold += value << state->bits; - - 0003f 8b ca mov ecx, edx - -; 246 : state->bits += bits; - - 00041 89 70 3c mov DWORD PTR [eax+60], esi - 00044 4f dec edi - 00045 23 7d 10 and edi, DWORD PTR _value$[ebp] - 00048 d3 e7 shl edi, cl - 0004a 01 78 38 add DWORD PTR [eax+56], edi - 0004d 5f pop edi - -; 247 : return Z_OK; - - 0004e 33 c0 xor eax, eax - 00050 5e pop esi - -; 248 : } - - 00051 5d pop ebp - 00052 c2 0c 00 ret 12 ; 0000000cH -$LN1@inflatePri: - -; 242 : } -; 243 : if (bits > 16 || state->bits + bits > 32) return Z_STREAM_ERROR; - - 00055 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 0005a 5e pop esi - -; 248 : } - - 0005b 5d pop ebp - 0005c c2 0c 00 ret 12 ; 0000000cH -$LN4@inflatePri: - -; 234 : struct inflate_state FAR *state; -; 235 : -; 236 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 0005f b8 fe ff ff ff mov eax, -2 ; fffffffeH - -; 248 : } - - 00064 5d pop ebp - 00065 c2 0c 00 ret 12 ; 0000000cH -_inflatePrime@12 ENDP -_TEXT ENDS -PUBLIC _inflateResetKeep@4 -; Function compile flags: /Ogtp -; COMDAT _inflateResetKeep@4 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_inflateResetKeep@4 PROC ; COMDAT - -; 105 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 106 : struct inflate_state FAR *state; -; 107 : -; 108 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00003 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 00006 56 push esi - 00007 33 f6 xor esi, esi - 00009 3b ce cmp ecx, esi - 0000b 74 62 je SHORT $LN2@inflateRes - 0000d 8b 41 1c mov eax, DWORD PTR [ecx+28] - 00010 3b c6 cmp eax, esi - 00012 74 5b je SHORT $LN2@inflateRes - -; 109 : state = (struct inflate_state FAR *)strm->state; -; 110 : strm->total_in = strm->total_out = state->total = 0; - - 00014 89 70 1c mov DWORD PTR [eax+28], esi - 00017 89 71 14 mov DWORD PTR [ecx+20], esi - 0001a 89 71 08 mov DWORD PTR [ecx+8], esi - -; 111 : strm->msg = Z_NULL; - - 0001d 89 71 18 mov DWORD PTR [ecx+24], esi - -; 112 : if (state->wrap) /* to support ill-conceived Java test suite */ - - 00020 8b 50 08 mov edx, DWORD PTR [eax+8] - 00023 3b d6 cmp edx, esi - 00025 74 06 je SHORT $LN1@inflateRes - -; 113 : strm->adler = state->wrap & 1; - - 00027 83 e2 01 and edx, 1 - 0002a 89 51 30 mov DWORD PTR [ecx+48], edx -$LN1@inflateRes: - -; 114 : state->mode = HEAD; -; 115 : state->last = 0; -; 116 : state->havedict = 0; -; 117 : state->dmax = 32768U; -; 118 : state->head = Z_NULL; -; 119 : state->hold = 0; -; 120 : state->bits = 0; -; 121 : state->lencode = state->distcode = state->next = state->codes; - - 0002d 8d 88 30 05 00 - 00 lea ecx, DWORD PTR [eax+1328] - 00033 89 30 mov DWORD PTR [eax], esi - 00035 89 70 04 mov DWORD PTR [eax+4], esi - 00038 89 70 0c mov DWORD PTR [eax+12], esi - 0003b 89 70 20 mov DWORD PTR [eax+32], esi - 0003e 89 70 38 mov DWORD PTR [eax+56], esi - 00041 89 70 3c mov DWORD PTR [eax+60], esi - 00044 c7 40 14 00 80 - 00 00 mov DWORD PTR [eax+20], 32768 ; 00008000H - 0004b 89 48 6c mov DWORD PTR [eax+108], ecx - 0004e 89 48 50 mov DWORD PTR [eax+80], ecx - 00051 89 48 4c mov DWORD PTR [eax+76], ecx - -; 122 : state->sane = 1; - - 00054 c7 80 c0 1b 00 - 00 01 00 00 00 mov DWORD PTR [eax+7104], 1 - -; 123 : state->back = -1; - - 0005e c7 80 c4 1b 00 - 00 ff ff ff ff mov DWORD PTR [eax+7108], -1 - -; 124 : Tracev((stderr, "inflate: reset\n")); -; 125 : return Z_OK; - - 00068 33 c0 xor eax, eax - 0006a 5e pop esi - -; 126 : } - - 0006b 5d pop ebp - 0006c c2 04 00 ret 4 -$LN2@inflateRes: - -; 106 : struct inflate_state FAR *state; -; 107 : -; 108 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 0006f b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00074 5e pop esi - -; 126 : } - - 00075 5d pop ebp - 00076 c2 04 00 ret 4 -_inflateResetKeep@4 ENDP -PUBLIC _inflateSetDictionary@12 -; Function compile flags: /Ogtp -; COMDAT _inflateSetDictionary@12 -_TEXT SEGMENT -_avail$ = 8 ; size = 4 -_strm$ = 8 ; size = 4 -_dictionary$ = 12 ; size = 4 -_next$ = 16 ; size = 4 -_dictLength$ = 16 ; size = 4 -_inflateSetDictionary@12 PROC ; COMDAT - -; 1276 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - -; 1277 : struct inflate_state FAR *state; -; 1278 : unsigned long id; -; 1279 : unsigned char *next; -; 1280 : unsigned avail; -; 1281 : int ret; -; 1282 : -; 1283 : /* check state */ -; 1284 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00004 8b 5d 08 mov ebx, DWORD PTR _strm$[ebp] - 00007 57 push edi - 00008 85 db test ebx, ebx - 0000a 0f 84 a6 00 00 - 00 je $LN5@inflateSet - 00010 8b 7b 1c mov edi, DWORD PTR [ebx+28] - 00013 85 ff test edi, edi - 00015 0f 84 9b 00 00 - 00 je $LN5@inflateSet - -; 1285 : state = (struct inflate_state FAR *)strm->state; -; 1286 : if (state->wrap != 0 && state->mode != DICT) - - 0001b 83 7f 08 00 cmp DWORD PTR [edi+8], 0 - 0001f 56 push esi - 00020 8b 75 10 mov esi, DWORD PTR _dictLength$[ebp] - 00023 74 11 je SHORT $LN4@inflateSet - 00025 83 3f 0a cmp DWORD PTR [edi], 10 ; 0000000aH - 00028 74 11 je SHORT $LN9@inflateSet - -; 1287 : return Z_STREAM_ERROR; - - 0002a 5e pop esi - 0002b 5f pop edi - 0002c b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00031 5b pop ebx - -; 1313 : } - - 00032 5d pop ebp - 00033 c2 0c 00 ret 12 ; 0000000cH -$LN4@inflateSet: - -; 1288 : -; 1289 : /* check for correct dictionary id */ -; 1290 : if (state->mode == DICT) { - - 00036 83 3f 0a cmp DWORD PTR [edi], 10 ; 0000000aH - 00039 75 27 jne SHORT $LN10@inflateSet -$LN9@inflateSet: - -; 1291 : id = adler32(0L, Z_NULL, 0); -; 1292 : id = adler32(id, dictionary, dictLength); - - 0003b 8b 45 0c mov eax, DWORD PTR _dictionary$[ebp] - 0003e 56 push esi - 0003f 50 push eax - 00040 6a 00 push 0 - 00042 6a 00 push 0 - 00044 6a 00 push 0 - 00046 e8 00 00 00 00 call _adler32@12 - 0004b 50 push eax - 0004c e8 00 00 00 00 call _adler32@12 - -; 1293 : if (id != state->check) - - 00051 3b 47 18 cmp eax, DWORD PTR [edi+24] - 00054 74 0c je SHORT $LN10@inflateSet - -; 1294 : return Z_DATA_ERROR; - - 00056 5e pop esi - 00057 5f pop edi - 00058 b8 fd ff ff ff mov eax, -3 ; fffffffdH - 0005d 5b pop ebx - -; 1313 : } - - 0005e 5d pop ebp - 0005f c2 0c 00 ret 12 ; 0000000cH -$LN10@inflateSet: - -; 1295 : } -; 1296 : -; 1297 : /* copy dictionary to window using updatewindow(), which will amend the -; 1298 : existing dictionary if appropriate */ -; 1299 : next = strm->next_out; -; 1300 : avail = strm->avail_out; -; 1301 : strm->next_out = (Bytef *)dictionary + dictLength; - - 00062 8b 45 0c mov eax, DWORD PTR _dictionary$[ebp] - 00065 8b 4b 0c mov ecx, DWORD PTR [ebx+12] - 00068 8b 53 10 mov edx, DWORD PTR [ebx+16] - 0006b 03 c6 add eax, esi - 0006d 89 43 0c mov DWORD PTR [ebx+12], eax - -; 1302 : strm->avail_out = 0; -; 1303 : ret = updatewindow(strm, dictLength); - - 00070 8b c6 mov eax, esi - 00072 89 4d 10 mov DWORD PTR _next$[ebp], ecx - 00075 89 55 08 mov DWORD PTR _avail$[ebp], edx - 00078 c7 43 10 00 00 - 00 00 mov DWORD PTR [ebx+16], 0 - 0007f e8 00 00 00 00 call _updatewindow - -; 1304 : strm->avail_out = avail; - - 00084 8b 4d 08 mov ecx, DWORD PTR _avail$[ebp] - -; 1305 : strm->next_out = next; - - 00087 8b 55 10 mov edx, DWORD PTR _next$[ebp] - 0008a 89 4b 10 mov DWORD PTR [ebx+16], ecx - 0008d 89 53 0c mov DWORD PTR [ebx+12], edx - -; 1306 : if (ret) { - - 00090 85 c0 test eax, eax - 00092 74 12 je SHORT $LN1@inflateSet - -; 1307 : state->mode = MEM; - - 00094 5e pop esi - 00095 c7 07 1e 00 00 - 00 mov DWORD PTR [edi], 30 ; 0000001eH - 0009b 5f pop edi - -; 1308 : return Z_MEM_ERROR; - - 0009c b8 fc ff ff ff mov eax, -4 ; fffffffcH - 000a1 5b pop ebx - -; 1313 : } - - 000a2 5d pop ebp - 000a3 c2 0c 00 ret 12 ; 0000000cH -$LN1@inflateSet: - 000a6 5e pop esi - -; 1309 : } -; 1310 : state->havedict = 1; - - 000a7 c7 47 0c 01 00 - 00 00 mov DWORD PTR [edi+12], 1 - 000ae 5f pop edi - -; 1311 : Tracev((stderr, "inflate: dictionary set\n")); -; 1312 : return Z_OK; - - 000af 33 c0 xor eax, eax - 000b1 5b pop ebx - -; 1313 : } - - 000b2 5d pop ebp - 000b3 c2 0c 00 ret 12 ; 0000000cH -$LN5@inflateSet: - 000b6 5f pop edi - -; 1277 : struct inflate_state FAR *state; -; 1278 : unsigned long id; -; 1279 : unsigned char *next; -; 1280 : unsigned avail; -; 1281 : int ret; -; 1282 : -; 1283 : /* check state */ -; 1284 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 000b7 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 000bc 5b pop ebx - -; 1313 : } - - 000bd 5d pop ebp - 000be c2 0c 00 ret 12 ; 0000000cH -_inflateSetDictionary@12 ENDP -_TEXT ENDS -PUBLIC _inflate@8 -; Function compile flags: /Ogtp -; COMDAT _inflate@8 -_TEXT SEGMENT -_in$ = -48 ; size = 4 -tv3076 = -44 ; size = 4 -tv2368 = -44 ; size = 4 -tv2363 = -44 ; size = 4 -tv2303 = -44 ; size = 4 -tv2288 = -44 ; size = 4 -tv2173 = -44 ; size = 4 -tv2157 = -44 ; size = 4 -tv2134 = -44 ; size = 4 -_from$ = -44 ; size = 4 -_ret$ = -40 ; size = 4 -tv2314 = -36 ; size = 4 -tv2131 = -36 ; size = 4 -_last$ = -36 ; size = 4 -_out$ = -32 ; size = 4 -tv2387 = -28 ; size = 4 -tv2366 = -28 ; size = 4 -tv2361 = -28 ; size = 4 -tv2289 = -28 ; size = 4 -_len$ = -28 ; size = 4 -_put$ = -24 ; size = 4 -_hbuf$ = -20 ; size = 4 -_left$ = -16 ; size = 4 -_here$ = -12 ; size = 4 -_copy$ = -12 ; size = 4 -_next$ = -8 ; size = 4 -_have$ = -4 ; size = 4 -tv1321 = 8 ; size = 4 -_strm$ = 8 ; size = 4 -_flush$ = 12 ; size = 4 -_inflate@8 PROC ; COMDAT - -; 612 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 613 : struct inflate_state FAR *state; -; 614 : unsigned char FAR *next; /* next input */ -; 615 : unsigned char FAR *put; /* next output */ -; 616 : unsigned have, left; /* available input and output */ -; 617 : unsigned long hold; /* bit buffer */ -; 618 : unsigned bits; /* bits in bit buffer */ -; 619 : unsigned in, out; /* save starting available input and output */ -; 620 : unsigned copy; /* number of stored or match bytes to copy */ -; 621 : unsigned char FAR *from; /* where to copy match bytes from */ -; 622 : code here; /* current decoding table entry */ -; 623 : code last; /* parent table entry */ -; 624 : unsigned len; /* length to copy for repeats, bits to drop */ -; 625 : int ret; /* return code */ -; 626 : #ifdef GUNZIP -; 627 : unsigned char hbuf[4]; /* buffer for gzip header crc calculation */ -; 628 : #endif -; 629 : static const unsigned short order[19] = /* permutation of code lengths */ -; 630 : {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15}; -; 631 : -; 632 : if (strm == Z_NULL || strm->state == Z_NULL || strm->next_out == Z_NULL || -; 633 : (strm->next_in == Z_NULL && strm->avail_in != 0)) - - 00003 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00006 83 ec 30 sub esp, 48 ; 00000030H - 00009 57 push edi - 0000a 85 c0 test eax, eax - 0000c 0f 84 48 14 00 - 00 je $LN498@inflate - 00012 8b 78 1c mov edi, DWORD PTR [eax+28] - 00015 85 ff test edi, edi - 00017 0f 84 3d 14 00 - 00 je $LN498@inflate - 0001d 83 78 0c 00 cmp DWORD PTR [eax+12], 0 - 00021 0f 84 33 14 00 - 00 je $LN498@inflate - 00027 83 38 00 cmp DWORD PTR [eax], 0 - 0002a 75 0a jne SHORT $LN499@inflate - 0002c 83 78 04 00 cmp DWORD PTR [eax+4], 0 - 00030 0f 85 24 14 00 - 00 jne $LN498@inflate -$LN499@inflate: - -; 635 : -; 636 : state = (struct inflate_state FAR *)strm->state; -; 637 : if (state->mode == TYPE) state->mode = TYPEDO; /* skip check */ - - 00036 83 3f 0b cmp DWORD PTR [edi], 11 ; 0000000bH - 00039 75 06 jne SHORT $LN496@inflate - 0003b c7 07 0c 00 00 - 00 mov DWORD PTR [edi], 12 ; 0000000cH -$LN496@inflate: - -; 638 : LOAD(); - - 00041 8b 48 0c mov ecx, DWORD PTR [eax+12] - 00044 8b 10 mov edx, DWORD PTR [eax] - 00046 89 4d e8 mov DWORD PTR _put$[ebp], ecx - 00049 8b 48 10 mov ecx, DWORD PTR [eax+16] - 0004c 8b 40 04 mov eax, DWORD PTR [eax+4] - 0004f 53 push ebx - 00050 8b 5f 38 mov ebx, DWORD PTR [edi+56] - 00053 89 45 fc mov DWORD PTR _have$[ebp], eax - -; 639 : in = have; - - 00056 89 45 d0 mov DWORD PTR _in$[ebp], eax - -; 640 : out = left; -; 641 : ret = Z_OK; -; 642 : for (;;) -; 643 : switch (state->mode) { - - 00059 8b 07 mov eax, DWORD PTR [edi] - 0005b 56 push esi - 0005c 8b 77 3c mov esi, DWORD PTR [edi+60] - 0005f 89 4d f0 mov DWORD PTR _left$[ebp], ecx - 00062 89 55 f8 mov DWORD PTR _next$[ebp], edx - 00065 89 4d e0 mov DWORD PTR _out$[ebp], ecx - 00068 c7 45 d8 00 00 - 00 00 mov DWORD PTR _ret$[ebp], 0 - 0006f 83 f8 1e cmp eax, 30 ; 0000001eH - 00072 0f 87 6a 12 00 - 00 ja $LN12@inflate -$LL493@inflate: - 00078 ff 24 85 00 00 - 00 00 jmp DWORD PTR $LN787@inflate[eax*4] -$LN489@inflate: - -; 644 : case HEAD: -; 645 : if (state->wrap == 0) { - - 0007f 8b 47 08 mov eax, DWORD PTR [edi+8] - 00082 85 c0 test eax, eax - 00084 75 0b jne SHORT $LN487@inflate - -; 646 : state->mode = TYPEDO; - - 00086 c7 07 0c 00 00 - 00 mov DWORD PTR [edi], 12 ; 0000000cH - -; 647 : break; - - 0008c e9 46 12 00 00 jmp $LN490@inflate -$LN487@inflate: - -; 648 : } -; 649 : NEEDBITS(16); - - 00091 83 fe 10 cmp esi, 16 ; 00000010H - 00094 73 22 jae SHORT $LN486@inflate -$LL484@inflate: - 00096 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 0009a 0f 84 95 12 00 - 00 je $inf_leave$80408 - 000a0 0f b6 02 movzx eax, BYTE PTR [edx] - 000a3 ff 4d fc dec DWORD PTR _have$[ebp] - 000a6 8b ce mov ecx, esi - 000a8 d3 e0 shl eax, cl - 000aa 42 inc edx - 000ab 83 c6 08 add esi, 8 - 000ae 89 55 f8 mov DWORD PTR _next$[ebp], edx - 000b1 03 d8 add ebx, eax - 000b3 83 fe 10 cmp esi, 16 ; 00000010H - 000b6 72 de jb SHORT $LL484@inflate -$LN486@inflate: - -; 650 : #ifdef GUNZIP -; 651 : if ((state->wrap & 2) && hold == 0x8b1f) { /* gzip header */ - - 000b8 f6 47 08 02 test BYTE PTR [edi+8], 2 - 000bc 74 3b je SHORT $LN478@inflate - 000be 81 fb 1f 8b 00 - 00 cmp ebx, 35615 ; 00008b1fH - 000c4 75 33 jne SHORT $LN478@inflate - -; 652 : state->check = crc32(0L, Z_NULL, 0); - - 000c6 6a 00 push 0 - 000c8 6a 00 push 0 - 000ca 6a 00 push 0 - 000cc e8 00 00 00 00 call _crc32@12 - -; 653 : CRC2(state->check, hold); - - 000d1 6a 02 push 2 - 000d3 8d 4d ec lea ecx, DWORD PTR _hbuf$[ebp] - 000d6 51 push ecx - 000d7 50 push eax - 000d8 89 47 18 mov DWORD PTR [edi+24], eax - 000db 66 89 5d ec mov WORD PTR _hbuf$[ebp], bx - 000df e8 00 00 00 00 call _crc32@12 - -; 654 : INITBITS(); -; 655 : state->mode = FLAGS; -; 656 : break; - - 000e4 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 000e7 33 db xor ebx, ebx - 000e9 89 47 18 mov DWORD PTR [edi+24], eax - 000ec 33 f6 xor esi, esi - 000ee c7 07 01 00 00 - 00 mov DWORD PTR [edi], 1 - 000f4 e9 de 11 00 00 jmp $LN490@inflate -$LN478@inflate: - -; 657 : } -; 658 : state->flags = 0; /* expect zlib header */ -; 659 : if (state->head != Z_NULL) - - 000f9 8b 47 20 mov eax, DWORD PTR [edi+32] - 000fc c7 47 10 00 00 - 00 00 mov DWORD PTR [edi+16], 0 - 00103 85 c0 test eax, eax - 00105 74 07 je SHORT $LN471@inflate - -; 660 : state->head->done = -1; - - 00107 c7 40 30 ff ff - ff ff mov DWORD PTR [eax+48], -1 -$LN471@inflate: - -; 661 : if (!(state->wrap & 1) || /* check if zlib header allowed */ -; 662 : #else -; 663 : if ( -; 664 : #endif -; 665 : ((BITS(8) << 8) + (hold >> 8)) % 31) { - - 0010e f6 47 08 01 test BYTE PTR [edi+8], 1 - 00112 0f 84 9f 00 00 - 00 je $LN469@inflate - 00118 0f b6 c3 movzx eax, bl - 0011b c1 e0 08 shl eax, 8 - 0011e 8b d3 mov edx, ebx - 00120 c1 ea 08 shr edx, 8 - 00123 03 c2 add eax, edx - 00125 33 d2 xor edx, edx - 00127 b9 1f 00 00 00 mov ecx, 31 ; 0000001fH - 0012c f7 f1 div ecx - 0012e 85 d2 test edx, edx - 00130 0f 85 81 00 00 - 00 jne $LN469@inflate - -; 669 : } -; 670 : if (BITS(4) != Z_DEFLATED) { - - 00136 8b d3 mov edx, ebx - 00138 80 e2 0f and dl, 15 ; 0000000fH - 0013b 80 fa 08 cmp dl, 8 - 0013e 74 12 je SHORT $LN467@inflate - -; 671 : strm->msg = (char *)"unknown compression method"; - - 00140 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - -; 672 : state->mode = BAD; -; 673 : break; - - 00143 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 00146 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BL@IHKGDAEE@unknown?5compression?5method?$AA@ - 0014d e9 7f 11 00 00 jmp $LN786@inflate -$LN467@inflate: - -; 674 : } -; 675 : DROPBITS(4); -; 676 : len = BITS(4) + 8; -; 677 : if (state->wbits == 0) - - 00152 8b 47 24 mov eax, DWORD PTR [edi+36] - 00155 c1 eb 04 shr ebx, 4 - 00158 8b cb mov ecx, ebx - 0015a 83 e1 0f and ecx, 15 ; 0000000fH - 0015d 83 ee 04 sub esi, 4 - 00160 83 c1 08 add ecx, 8 - 00163 85 c0 test eax, eax - 00165 75 3a jne SHORT $LN464@inflate - -; 678 : state->wbits = len; - - 00167 89 4f 24 mov DWORD PTR [edi+36], ecx -$LN462@inflate: - -; 683 : } -; 684 : state->dmax = 1U << len; - - 0016a ba 01 00 00 00 mov edx, 1 - -; 685 : Tracev((stderr, "inflate: zlib header ok\n")); -; 686 : strm->adler = state->check = adler32(0L, Z_NULL, 0); - - 0016f 6a 00 push 0 - 00171 d3 e2 shl edx, cl - 00173 6a 00 push 0 - 00175 6a 00 push 0 - 00177 89 57 14 mov DWORD PTR [edi+20], edx - 0017a e8 00 00 00 00 call _adler32@12 - 0017f 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - -; 687 : state->mode = hold & 0x200 ? DICTID : TYPE; -; 688 : INITBITS(); -; 689 : break; - - 00182 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 00185 c1 eb 08 shr ebx, 8 - 00188 f7 d3 not ebx - 0018a 83 e3 02 and ebx, 2 - 0018d 83 cb 09 or ebx, 9 - 00190 89 47 18 mov DWORD PTR [edi+24], eax - 00193 89 41 30 mov DWORD PTR [ecx+48], eax - 00196 89 1f mov DWORD PTR [edi], ebx - 00198 33 db xor ebx, ebx - 0019a 33 f6 xor esi, esi - 0019c e9 36 11 00 00 jmp $LN490@inflate -$LN464@inflate: - -; 679 : else if (len > state->wbits) { - - 001a1 3b c8 cmp ecx, eax - 001a3 76 c5 jbe SHORT $LN462@inflate - -; 680 : strm->msg = (char *)"invalid window size"; - - 001a5 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - -; 681 : state->mode = BAD; -; 682 : break; - - 001a8 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 001ab c7 41 18 00 00 - 00 00 mov DWORD PTR [ecx+24], OFFSET ??_C@_0BE@EMOGCLGO@invalid?5window?5size?$AA@ - 001b2 e9 1a 11 00 00 jmp $LN786@inflate -$LN469@inflate: - -; 666 : strm->msg = (char *)"incorrect header check"; - - 001b7 8b 55 08 mov edx, DWORD PTR _strm$[ebp] - 001ba c7 42 18 00 00 - 00 00 mov DWORD PTR [edx+24], OFFSET ??_C@_0BH@LIBMMIGA@incorrect?5header?5check?$AA@ - -; 667 : state->mode = BAD; -; 668 : break; - - 001c1 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 001c4 e9 08 11 00 00 jmp $LN786@inflate -$LN457@inflate: - -; 690 : #ifdef GUNZIP -; 691 : case FLAGS: -; 692 : NEEDBITS(16); - - 001c9 83 fe 10 cmp esi, 16 ; 00000010H - 001cc 73 24 jae SHORT $LN456@inflate - 001ce 8b ff npad 2 -$LL454@inflate: - 001d0 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 001d4 0f 84 5b 11 00 - 00 je $inf_leave$80408 - 001da 0f b6 02 movzx eax, BYTE PTR [edx] - 001dd ff 4d fc dec DWORD PTR _have$[ebp] - 001e0 8b ce mov ecx, esi - 001e2 d3 e0 shl eax, cl - 001e4 42 inc edx - 001e5 83 c6 08 add esi, 8 - 001e8 89 55 f8 mov DWORD PTR _next$[ebp], edx - 001eb 03 d8 add ebx, eax - 001ed 83 fe 10 cmp esi, 16 ; 00000010H - 001f0 72 de jb SHORT $LL454@inflate -$LN456@inflate: - -; 693 : state->flags = (int)(hold); - - 001f2 89 5f 10 mov DWORD PTR [edi+16], ebx - -; 694 : if ((state->flags & 0xff) != Z_DEFLATED) { - - 001f5 80 fb 08 cmp bl, 8 - 001f8 74 0f je SHORT $LN448@inflate - -; 695 : strm->msg = (char *)"unknown compression method"; - - 001fa 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 001fd c7 41 18 00 00 - 00 00 mov DWORD PTR [ecx+24], OFFSET ??_C@_0BL@IHKGDAEE@unknown?5compression?5method?$AA@ - -; 696 : state->mode = BAD; -; 697 : break; - - 00204 e9 c8 10 00 00 jmp $LN786@inflate -$LN448@inflate: - -; 698 : } -; 699 : if (state->flags & 0xe000) { - - 00209 f7 c3 00 e0 00 - 00 test ebx, 57344 ; 0000e000H - 0020f 74 0f je SHORT $LN447@inflate - -; 700 : strm->msg = (char *)"unknown header flags set"; - - 00211 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00214 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BJ@BLBBCOMO@unknown?5header?5flags?5set?$AA@ - -; 701 : state->mode = BAD; -; 702 : break; - - 0021b e9 b1 10 00 00 jmp $LN786@inflate -$LN447@inflate: - -; 703 : } -; 704 : if (state->head != Z_NULL) - - 00220 8b 47 20 mov eax, DWORD PTR [edi+32] - 00223 85 c0 test eax, eax - 00225 74 0a je SHORT $LN446@inflate - -; 705 : state->head->text = (int)((hold >> 8) & 1); - - 00227 8b cb mov ecx, ebx - 00229 c1 e9 08 shr ecx, 8 - 0022c 83 e1 01 and ecx, 1 - 0022f 89 08 mov DWORD PTR [eax], ecx -$LN446@inflate: - -; 706 : if (state->flags & 0x0200) CRC2(state->check, hold); - - 00231 f7 47 10 00 02 - 00 00 test DWORD PTR [edi+16], 512 ; 00000200H - 00238 74 1e je SHORT $LN442@inflate - 0023a 8b 47 18 mov eax, DWORD PTR [edi+24] - 0023d 6a 02 push 2 - 0023f 8d 55 ec lea edx, DWORD PTR _hbuf$[ebp] - 00242 88 5d ec mov BYTE PTR _hbuf$[ebp], bl - 00245 52 push edx - 00246 c1 eb 08 shr ebx, 8 - 00249 50 push eax - 0024a 88 5d ed mov BYTE PTR _hbuf$[ebp+1], bl - 0024d e8 00 00 00 00 call _crc32@12 - 00252 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 00255 89 47 18 mov DWORD PTR [edi+24], eax -$LN442@inflate: - -; 707 : INITBITS(); - - 00258 33 db xor ebx, ebx - 0025a 33 f6 xor esi, esi - -; 708 : state->mode = TIME; - - 0025c c7 07 02 00 00 - 00 mov DWORD PTR [edi], 2 - -; 709 : case TIME: -; 710 : NEEDBITS(32); - - 00262 eb 0c jmp SHORT $LL434@inflate -$LN437@inflate: - 00264 83 fe 20 cmp esi, 32 ; 00000020H - 00267 73 29 jae SHORT $LN436@inflate - 00269 8d a4 24 00 00 - 00 00 npad 7 -$LL434@inflate: - 00270 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00274 0f 84 bb 10 00 - 00 je $inf_leave$80408 - 0027a 0f b6 02 movzx eax, BYTE PTR [edx] - 0027d ff 4d fc dec DWORD PTR _have$[ebp] - 00280 8b ce mov ecx, esi - 00282 d3 e0 shl eax, cl - 00284 42 inc edx - 00285 83 c6 08 add esi, 8 - 00288 89 55 f8 mov DWORD PTR _next$[ebp], edx - 0028b 03 d8 add ebx, eax - 0028d 83 fe 20 cmp esi, 32 ; 00000020H - 00290 72 de jb SHORT $LL434@inflate -$LN436@inflate: - -; 711 : if (state->head != Z_NULL) - - 00292 8b 47 20 mov eax, DWORD PTR [edi+32] - 00295 85 c0 test eax, eax - 00297 74 03 je SHORT $LN428@inflate - -; 712 : state->head->time = hold; - - 00299 89 58 04 mov DWORD PTR [eax+4], ebx -$LN428@inflate: - -; 713 : if (state->flags & 0x0200) CRC4(state->check, hold); - - 0029c f7 47 10 00 02 - 00 00 test DWORD PTR [edi+16], 512 ; 00000200H - 002a3 74 2e je SHORT $LN424@inflate - 002a5 8b cb mov ecx, ebx - 002a7 c1 e9 08 shr ecx, 8 - 002aa 6a 04 push 4 - 002ac 8d 45 ec lea eax, DWORD PTR _hbuf$[ebp] - 002af 88 4d ed mov BYTE PTR _hbuf$[ebp+1], cl - 002b2 8b 4f 18 mov ecx, DWORD PTR [edi+24] - 002b5 8b d3 mov edx, ebx - 002b7 88 5d ec mov BYTE PTR _hbuf$[ebp], bl - 002ba 50 push eax - 002bb c1 ea 10 shr edx, 16 ; 00000010H - 002be c1 eb 18 shr ebx, 24 ; 00000018H - 002c1 51 push ecx - 002c2 88 55 ee mov BYTE PTR _hbuf$[ebp+2], dl - 002c5 88 5d ef mov BYTE PTR _hbuf$[ebp+3], bl - 002c8 e8 00 00 00 00 call _crc32@12 - 002cd 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 002d0 89 47 18 mov DWORD PTR [edi+24], eax -$LN424@inflate: - -; 714 : INITBITS(); - - 002d3 33 db xor ebx, ebx - 002d5 33 f6 xor esi, esi - -; 715 : state->mode = OS; - - 002d7 c7 07 03 00 00 - 00 mov DWORD PTR [edi], 3 - -; 716 : case OS: -; 717 : NEEDBITS(16); - - 002dd eb 05 jmp SHORT $LL416@inflate -$LN419@inflate: - 002df 83 fe 10 cmp esi, 16 ; 00000010H - 002e2 73 22 jae SHORT $LN418@inflate -$LL416@inflate: - 002e4 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 002e8 0f 84 47 10 00 - 00 je $inf_leave$80408 - 002ee 0f b6 02 movzx eax, BYTE PTR [edx] - 002f1 ff 4d fc dec DWORD PTR _have$[ebp] - 002f4 8b ce mov ecx, esi - 002f6 d3 e0 shl eax, cl - 002f8 42 inc edx - 002f9 83 c6 08 add esi, 8 - 002fc 89 55 f8 mov DWORD PTR _next$[ebp], edx - 002ff 03 d8 add ebx, eax - 00301 83 fe 10 cmp esi, 16 ; 00000010H - 00304 72 de jb SHORT $LL416@inflate -$LN418@inflate: - -; 718 : if (state->head != Z_NULL) { - - 00306 8b 47 20 mov eax, DWORD PTR [edi+32] - 00309 85 c0 test eax, eax - 0030b 74 16 je SHORT $LN410@inflate - -; 719 : state->head->xflags = (int)(hold & 0xff); - - 0030d 8b cb mov ecx, ebx - 0030f 81 e1 ff 00 00 - 00 and ecx, 255 ; 000000ffH - 00315 89 48 08 mov DWORD PTR [eax+8], ecx - -; 720 : state->head->os = (int)(hold >> 8); - - 00318 8b 4f 20 mov ecx, DWORD PTR [edi+32] - 0031b 8b c3 mov eax, ebx - 0031d c1 e8 08 shr eax, 8 - 00320 89 41 0c mov DWORD PTR [ecx+12], eax -$LN410@inflate: - -; 721 : } -; 722 : if (state->flags & 0x0200) CRC2(state->check, hold); - - 00323 f7 47 10 00 02 - 00 00 test DWORD PTR [edi+16], 512 ; 00000200H - 0032a 74 1e je SHORT $LN406@inflate - 0032c 8b 47 18 mov eax, DWORD PTR [edi+24] - 0032f 6a 02 push 2 - 00331 8d 55 ec lea edx, DWORD PTR _hbuf$[ebp] - 00334 88 5d ec mov BYTE PTR _hbuf$[ebp], bl - 00337 52 push edx - 00338 c1 eb 08 shr ebx, 8 - 0033b 50 push eax - 0033c 88 5d ed mov BYTE PTR _hbuf$[ebp+1], bl - 0033f e8 00 00 00 00 call _crc32@12 - 00344 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 00347 89 47 18 mov DWORD PTR [edi+24], eax -$LN406@inflate: - -; 723 : INITBITS(); - - 0034a 33 db xor ebx, ebx - 0034c 33 f6 xor esi, esi - -; 724 : state->mode = EXLEN; - - 0034e c7 07 04 00 00 - 00 mov DWORD PTR [edi], 4 -$LN713@inflate: - -; 725 : case EXLEN: -; 726 : if (state->flags & 0x0400) { - - 00354 f7 47 10 00 04 - 00 00 test DWORD PTR [edi+16], 1024 ; 00000400H - 0035b 74 61 je SHORT $LN401@inflate - -; 727 : NEEDBITS(16); - - 0035d 83 fe 10 cmp esi, 16 ; 00000010H - 00360 73 22 jae SHORT $LN399@inflate -$LL397@inflate: - 00362 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00366 0f 84 c9 0f 00 - 00 je $inf_leave$80408 - 0036c 0f b6 02 movzx eax, BYTE PTR [edx] - 0036f ff 4d fc dec DWORD PTR _have$[ebp] - 00372 8b ce mov ecx, esi - 00374 d3 e0 shl eax, cl - 00376 42 inc edx - 00377 83 c6 08 add esi, 8 - 0037a 89 55 f8 mov DWORD PTR _next$[ebp], edx - 0037d 03 d8 add ebx, eax - 0037f 83 fe 10 cmp esi, 16 ; 00000010H - 00382 72 de jb SHORT $LL397@inflate -$LN399@inflate: - -; 728 : state->length = (unsigned)(hold); -; 729 : if (state->head != Z_NULL) - - 00384 8b 47 20 mov eax, DWORD PTR [edi+32] - 00387 89 5f 40 mov DWORD PTR [edi+64], ebx - 0038a 85 c0 test eax, eax - 0038c 74 03 je SHORT $LN391@inflate - -; 730 : state->head->extra_len = (unsigned)hold; - - 0038e 89 58 14 mov DWORD PTR [eax+20], ebx -$LN391@inflate: - -; 731 : if (state->flags & 0x0200) CRC2(state->check, hold); - - 00391 f7 47 10 00 02 - 00 00 test DWORD PTR [edi+16], 512 ; 00000200H - 00398 74 1e je SHORT $LN387@inflate - 0039a 8b 57 18 mov edx, DWORD PTR [edi+24] - 0039d 6a 02 push 2 - 0039f 8d 4d ec lea ecx, DWORD PTR _hbuf$[ebp] - 003a2 88 5d ec mov BYTE PTR _hbuf$[ebp], bl - 003a5 51 push ecx - 003a6 c1 eb 08 shr ebx, 8 - 003a9 52 push edx - 003aa 88 5d ed mov BYTE PTR _hbuf$[ebp+1], bl - 003ad e8 00 00 00 00 call _crc32@12 - 003b2 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 003b5 89 47 18 mov DWORD PTR [edi+24], eax -$LN387@inflate: - -; 732 : INITBITS(); - - 003b8 33 db xor ebx, ebx - 003ba 33 f6 xor esi, esi - -; 733 : } -; 734 : else if (state->head != Z_NULL) - - 003bc eb 0e jmp SHORT $LN382@inflate -$LN401@inflate: - 003be 8b 47 20 mov eax, DWORD PTR [edi+32] - 003c1 85 c0 test eax, eax - 003c3 74 07 je SHORT $LN382@inflate - -; 735 : state->head->extra = Z_NULL; - - 003c5 c7 40 10 00 00 - 00 00 mov DWORD PTR [eax+16], 0 -$LN382@inflate: - -; 736 : state->mode = EXTRA; - - 003cc c7 07 05 00 00 - 00 mov DWORD PTR [edi], 5 -$LN715@inflate: - -; 737 : case EXTRA: -; 738 : if (state->flags & 0x0400) { - - 003d2 f7 47 10 00 04 - 00 00 test DWORD PTR [edi+16], 1024 ; 00000400H - 003d9 0f 84 93 00 00 - 00 je $LN375@inflate - -; 739 : copy = state->length; - - 003df 8b 47 40 mov eax, DWORD PTR [edi+64] - -; 740 : if (copy > have) copy = have; - - 003e2 8b 4d fc mov ecx, DWORD PTR _have$[ebp] - 003e5 89 45 f4 mov DWORD PTR _copy$[ebp], eax - 003e8 3b c1 cmp eax, ecx - 003ea 76 05 jbe SHORT $LN379@inflate - 003ec 8b c1 mov eax, ecx - 003ee 89 4d f4 mov DWORD PTR _copy$[ebp], ecx -$LN379@inflate: - -; 741 : if (copy) { - - 003f1 85 c0 test eax, eax - 003f3 74 73 je SHORT $LN378@inflate - -; 742 : if (state->head != Z_NULL && -; 743 : state->head->extra != Z_NULL) { - - 003f5 8b 4f 20 mov ecx, DWORD PTR [edi+32] - 003f8 85 c9 test ecx, ecx - 003fa 74 3e je SHORT $LN750@inflate - 003fc 8b 49 10 mov ecx, DWORD PTR [ecx+16] - 003ff 89 4d d4 mov DWORD PTR tv2134[ebp], ecx - 00402 85 c9 test ecx, ecx - 00404 74 34 je SHORT $LN750@inflate - -; 744 : len = state->head->extra_len - state->length; - - 00406 8b 57 20 mov edx, DWORD PTR [edi+32] - 00409 8b 4a 14 mov ecx, DWORD PTR [edx+20] - 0040c 2b 4f 40 sub ecx, DWORD PTR [edi+64] - -; 745 : zmemcpy(state->head->extra + len, next, -; 746 : len + copy > state->head->extra_max ? -; 747 : state->head->extra_max - len : copy); - - 0040f 8b 52 18 mov edx, DWORD PTR [edx+24] - 00412 89 4d e4 mov DWORD PTR _len$[ebp], ecx - 00415 03 c8 add ecx, eax - 00417 3b ca cmp ecx, edx - 00419 76 05 jbe SHORT $LN502@inflate - 0041b 2b 55 e4 sub edx, DWORD PTR _len$[ebp] - 0041e 8b c2 mov eax, edx -$LN502@inflate: - 00420 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 00423 50 push eax - 00424 8b 45 d4 mov eax, DWORD PTR tv2134[ebp] - 00427 03 45 e4 add eax, DWORD PTR _len$[ebp] - 0042a 52 push edx - 0042b 50 push eax - 0042c e8 00 00 00 00 call _memcpy - 00431 8b 45 f4 mov eax, DWORD PTR _copy$[ebp] - 00434 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 00437 83 c4 0c add esp, 12 ; 0000000cH -$LN750@inflate: - -; 748 : } -; 749 : if (state->flags & 0x0200) - - 0043a f7 47 10 00 02 - 00 00 test DWORD PTR [edi+16], 512 ; 00000200H - 00441 74 1a je SHORT $LN376@inflate - -; 750 : state->check = crc32(state->check, next, copy); - - 00443 8b 55 f4 mov edx, DWORD PTR _copy$[ebp] - 00446 8b 45 f8 mov eax, DWORD PTR _next$[ebp] - 00449 8b 4f 18 mov ecx, DWORD PTR [edi+24] - 0044c 52 push edx - 0044d 50 push eax - 0044e 51 push ecx - 0044f e8 00 00 00 00 call _crc32@12 - 00454 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 00457 89 47 18 mov DWORD PTR [edi+24], eax - 0045a 8b 45 f4 mov eax, DWORD PTR _copy$[ebp] -$LN376@inflate: - -; 751 : have -= copy; - - 0045d 29 45 fc sub DWORD PTR _have$[ebp], eax - -; 752 : next += copy; - - 00460 03 d0 add edx, eax - -; 753 : state->length -= copy; - - 00462 29 47 40 sub DWORD PTR [edi+64], eax - 00465 89 55 f8 mov DWORD PTR _next$[ebp], edx -$LN378@inflate: - -; 754 : } -; 755 : if (state->length) goto inf_leave; - - 00468 83 7f 40 00 cmp DWORD PTR [edi+64], 0 - 0046c 0f 85 c3 0e 00 - 00 jne $inf_leave$80408 -$LN375@inflate: - -; 756 : } -; 757 : state->length = 0; - - 00472 c7 47 40 00 00 - 00 00 mov DWORD PTR [edi+64], 0 - -; 758 : state->mode = NAME; - - 00479 c7 07 06 00 00 - 00 mov DWORD PTR [edi], 6 -$LN716@inflate: - -; 759 : case NAME: -; 760 : if (state->flags & 0x0800) { - - 0047f f7 47 10 00 08 - 00 00 test DWORD PTR [edi+16], 2048 ; 00000800H - 00486 0f 84 84 00 00 - 00 je $LN373@inflate - -; 761 : if (have == 0) goto inf_leave; - - 0048c 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00490 0f 84 9f 0e 00 - 00 je $inf_leave$80408 - -; 762 : copy = 0; - - 00496 33 c0 xor eax, eax -$LL371@inflate: - -; 763 : do { -; 764 : len = (unsigned)(next[copy++]); - - 00498 0f b6 0c 10 movzx ecx, BYTE PTR [eax+edx] - 0049c 40 inc eax - 0049d 89 45 f4 mov DWORD PTR _copy$[ebp], eax - -; 765 : if (state->head != Z_NULL && -; 766 : state->head->name != Z_NULL && -; 767 : state->length < state->head->name_max) - - 004a0 8b 47 20 mov eax, DWORD PTR [edi+32] - 004a3 89 4d e4 mov DWORD PTR _len$[ebp], ecx - 004a6 85 c0 test eax, eax - 004a8 74 21 je SHORT $LN370@inflate - 004aa 8b 48 1c mov ecx, DWORD PTR [eax+28] - 004ad 89 4d d4 mov DWORD PTR tv2157[ebp], ecx - 004b0 85 c9 test ecx, ecx - 004b2 74 17 je SHORT $LN370@inflate - 004b4 8b 4f 40 mov ecx, DWORD PTR [edi+64] - 004b7 3b 48 20 cmp ecx, DWORD PTR [eax+32] - 004ba 73 0f jae SHORT $LN370@inflate - -; 768 : state->head->name[state->length++] = len; - - 004bc 8b 55 d4 mov edx, DWORD PTR tv2157[ebp] - 004bf 8a 45 e4 mov al, BYTE PTR _len$[ebp] - 004c2 88 04 0a mov BYTE PTR [edx+ecx], al - 004c5 ff 47 40 inc DWORD PTR [edi+64] - 004c8 8b 55 f8 mov edx, DWORD PTR _next$[ebp] -$LN370@inflate: - -; 769 : } while (len && copy < have); - - 004cb 83 7d e4 00 cmp DWORD PTR _len$[ebp], 0 - 004cf 74 08 je SHORT $LN367@inflate - 004d1 8b 45 f4 mov eax, DWORD PTR _copy$[ebp] - 004d4 3b 45 fc cmp eax, DWORD PTR _have$[ebp] - 004d7 72 bf jb SHORT $LL371@inflate -$LN367@inflate: - -; 770 : if (state->flags & 0x0200) - - 004d9 f7 47 10 00 02 - 00 00 test DWORD PTR [edi+16], 512 ; 00000200H - 004e0 74 17 je SHORT $LN366@inflate - -; 771 : state->check = crc32(state->check, next, copy); - - 004e2 8b 4d f4 mov ecx, DWORD PTR _copy$[ebp] - 004e5 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 004e8 8b 47 18 mov eax, DWORD PTR [edi+24] - 004eb 51 push ecx - 004ec 52 push edx - 004ed 50 push eax - 004ee e8 00 00 00 00 call _crc32@12 - 004f3 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 004f6 89 47 18 mov DWORD PTR [edi+24], eax -$LN366@inflate: - -; 772 : have -= copy; - - 004f9 8b 45 f4 mov eax, DWORD PTR _copy$[ebp] - 004fc 29 45 fc sub DWORD PTR _have$[ebp], eax - -; 773 : next += copy; - - 004ff 03 d0 add edx, eax - -; 774 : if (len) goto inf_leave; - - 00501 83 7d e4 00 cmp DWORD PTR _len$[ebp], 0 - 00505 89 55 f8 mov DWORD PTR _next$[ebp], edx - 00508 0f 85 27 0e 00 - 00 jne $inf_leave$80408 - -; 775 : } -; 776 : else if (state->head != Z_NULL) - - 0050e eb 0e jmp SHORT $LN363@inflate -$LN373@inflate: - 00510 8b 47 20 mov eax, DWORD PTR [edi+32] - 00513 85 c0 test eax, eax - 00515 74 07 je SHORT $LN363@inflate - -; 777 : state->head->name = Z_NULL; - - 00517 c7 40 1c 00 00 - 00 00 mov DWORD PTR [eax+28], 0 -$LN363@inflate: - -; 778 : state->length = 0; - - 0051e c7 47 40 00 00 - 00 00 mov DWORD PTR [edi+64], 0 - -; 779 : state->mode = COMMENT; - - 00525 c7 07 07 00 00 - 00 mov DWORD PTR [edi], 7 -$LN720@inflate: - -; 780 : case COMMENT: -; 781 : if (state->flags & 0x1000) { - - 0052b f7 47 10 00 10 - 00 00 test DWORD PTR [edi+16], 4096 ; 00001000H - 00532 0f 84 84 00 00 - 00 je $LN361@inflate - -; 782 : if (have == 0) goto inf_leave; - - 00538 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 0053c 0f 84 f3 0d 00 - 00 je $inf_leave$80408 - -; 783 : copy = 0; - - 00542 33 c0 xor eax, eax -$LL359@inflate: - -; 784 : do { -; 785 : len = (unsigned)(next[copy++]); - - 00544 0f b6 0c 10 movzx ecx, BYTE PTR [eax+edx] - 00548 40 inc eax - 00549 89 45 f4 mov DWORD PTR _copy$[ebp], eax - -; 786 : if (state->head != Z_NULL && -; 787 : state->head->comment != Z_NULL && -; 788 : state->length < state->head->comm_max) - - 0054c 8b 47 20 mov eax, DWORD PTR [edi+32] - 0054f 89 4d e4 mov DWORD PTR _len$[ebp], ecx - 00552 85 c0 test eax, eax - 00554 74 21 je SHORT $LN358@inflate - 00556 8b 48 24 mov ecx, DWORD PTR [eax+36] - 00559 89 4d d4 mov DWORD PTR tv2173[ebp], ecx - 0055c 85 c9 test ecx, ecx - 0055e 74 17 je SHORT $LN358@inflate - 00560 8b 4f 40 mov ecx, DWORD PTR [edi+64] - 00563 3b 48 28 cmp ecx, DWORD PTR [eax+40] - 00566 73 0f jae SHORT $LN358@inflate - -; 789 : state->head->comment[state->length++] = len; - - 00568 8b 55 d4 mov edx, DWORD PTR tv2173[ebp] - 0056b 8a 45 e4 mov al, BYTE PTR _len$[ebp] - 0056e 88 04 0a mov BYTE PTR [edx+ecx], al - 00571 ff 47 40 inc DWORD PTR [edi+64] - 00574 8b 55 f8 mov edx, DWORD PTR _next$[ebp] -$LN358@inflate: - -; 790 : } while (len && copy < have); - - 00577 83 7d e4 00 cmp DWORD PTR _len$[ebp], 0 - 0057b 74 08 je SHORT $LN355@inflate - 0057d 8b 45 f4 mov eax, DWORD PTR _copy$[ebp] - 00580 3b 45 fc cmp eax, DWORD PTR _have$[ebp] - 00583 72 bf jb SHORT $LL359@inflate -$LN355@inflate: - -; 791 : if (state->flags & 0x0200) - - 00585 f7 47 10 00 02 - 00 00 test DWORD PTR [edi+16], 512 ; 00000200H - 0058c 74 17 je SHORT $LN354@inflate - -; 792 : state->check = crc32(state->check, next, copy); - - 0058e 8b 4d f4 mov ecx, DWORD PTR _copy$[ebp] - 00591 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 00594 8b 47 18 mov eax, DWORD PTR [edi+24] - 00597 51 push ecx - 00598 52 push edx - 00599 50 push eax - 0059a e8 00 00 00 00 call _crc32@12 - 0059f 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 005a2 89 47 18 mov DWORD PTR [edi+24], eax -$LN354@inflate: - -; 793 : have -= copy; - - 005a5 8b 45 f4 mov eax, DWORD PTR _copy$[ebp] - 005a8 29 45 fc sub DWORD PTR _have$[ebp], eax - -; 794 : next += copy; - - 005ab 03 d0 add edx, eax - -; 795 : if (len) goto inf_leave; - - 005ad 83 7d e4 00 cmp DWORD PTR _len$[ebp], 0 - 005b1 89 55 f8 mov DWORD PTR _next$[ebp], edx - 005b4 0f 85 7b 0d 00 - 00 jne $inf_leave$80408 - -; 796 : } -; 797 : else if (state->head != Z_NULL) - - 005ba eb 0e jmp SHORT $LN351@inflate -$LN361@inflate: - 005bc 8b 47 20 mov eax, DWORD PTR [edi+32] - 005bf 85 c0 test eax, eax - 005c1 74 07 je SHORT $LN351@inflate - -; 798 : state->head->comment = Z_NULL; - - 005c3 c7 40 24 00 00 - 00 00 mov DWORD PTR [eax+36], 0 -$LN351@inflate: - -; 799 : state->mode = HCRC; - - 005ca c7 07 08 00 00 - 00 mov DWORD PTR [edi], 8 -$LN724@inflate: - -; 800 : case HCRC: -; 801 : if (state->flags & 0x0200) { - - 005d0 f7 47 10 00 02 - 00 00 test DWORD PTR [edi+16], 512 ; 00000200H - 005d7 74 44 je SHORT $LN336@inflate - -; 802 : NEEDBITS(16); - - 005d9 83 fe 10 cmp esi, 16 ; 00000010H - 005dc 73 24 jae SHORT $LN347@inflate - 005de 8b ff npad 2 -$LL345@inflate: - 005e0 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 005e4 0f 84 4b 0d 00 - 00 je $inf_leave$80408 - 005ea 0f b6 02 movzx eax, BYTE PTR [edx] - 005ed ff 4d fc dec DWORD PTR _have$[ebp] - 005f0 8b ce mov ecx, esi - 005f2 d3 e0 shl eax, cl - 005f4 42 inc edx - 005f5 83 c6 08 add esi, 8 - 005f8 89 55 f8 mov DWORD PTR _next$[ebp], edx - 005fb 03 d8 add ebx, eax - 005fd 83 fe 10 cmp esi, 16 ; 00000010H - 00600 72 de jb SHORT $LL345@inflate -$LN347@inflate: - -; 803 : if (hold != (state->check & 0xffff)) { - - 00602 0f b7 4f 18 movzx ecx, WORD PTR [edi+24] - 00606 3b d9 cmp ebx, ecx - 00608 74 0f je SHORT $LN338@inflate - -; 804 : strm->msg = (char *)"header crc mismatch"; - - 0060a 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 0060d c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BE@GONKLEPM@header?5crc?5mismatch?$AA@ - -; 805 : state->mode = BAD; -; 806 : break; - - 00614 e9 b8 0c 00 00 jmp $LN786@inflate -$LN338@inflate: - -; 807 : } -; 808 : INITBITS(); - - 00619 33 db xor ebx, ebx - 0061b 33 f6 xor esi, esi -$LN336@inflate: - -; 809 : } -; 810 : if (state->head != Z_NULL) { - - 0061d 8b 47 20 mov eax, DWORD PTR [edi+32] - 00620 85 c0 test eax, eax - 00622 74 16 je SHORT $LN335@inflate - -; 811 : state->head->hcrc = (int)((state->flags >> 9) & 1); - - 00624 8b 4f 10 mov ecx, DWORD PTR [edi+16] - 00627 c1 f9 09 sar ecx, 9 - 0062a 83 e1 01 and ecx, 1 - 0062d 89 48 2c mov DWORD PTR [eax+44], ecx - -; 812 : state->head->done = 1; - - 00630 8b 57 20 mov edx, DWORD PTR [edi+32] - 00633 c7 42 30 01 00 - 00 00 mov DWORD PTR [edx+48], 1 -$LN335@inflate: - -; 813 : } -; 814 : strm->adler = state->check = crc32(0L, Z_NULL, 0); - - 0063a 6a 00 push 0 - 0063c 6a 00 push 0 - 0063e 6a 00 push 0 - 00640 e8 00 00 00 00 call _crc32@12 - 00645 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - -; 815 : state->mode = TYPE; -; 816 : break; - - 00648 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 0064b 89 47 18 mov DWORD PTR [edi+24], eax - 0064e 89 41 30 mov DWORD PTR [ecx+48], eax - 00651 c7 07 0b 00 00 - 00 mov DWORD PTR [edi], 11 ; 0000000bH - 00657 e9 7b 0c 00 00 jmp $LN490@inflate -$LN333@inflate: - -; 817 : #endif -; 818 : case DICTID: -; 819 : NEEDBITS(32); - - 0065c 83 fe 20 cmp esi, 32 ; 00000020H - 0065f 73 22 jae SHORT $LN332@inflate -$LL330@inflate: - 00661 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00665 0f 84 ca 0c 00 - 00 je $inf_leave$80408 - 0066b 0f b6 02 movzx eax, BYTE PTR [edx] - 0066e ff 4d fc dec DWORD PTR _have$[ebp] - 00671 8b ce mov ecx, esi - 00673 d3 e0 shl eax, cl - 00675 42 inc edx - 00676 83 c6 08 add esi, 8 - 00679 89 55 f8 mov DWORD PTR _next$[ebp], edx - 0067c 03 d8 add ebx, eax - 0067e 83 fe 20 cmp esi, 32 ; 00000020H - 00681 72 de jb SHORT $LL330@inflate -$LN332@inflate: - -; 820 : strm->adler = state->check = REVERSE(hold); - - 00683 8b cb mov ecx, ebx - 00685 8b c3 mov eax, ebx - 00687 c1 e0 10 shl eax, 16 ; 00000010H - 0068a 81 e1 00 ff 00 - 00 and ecx, 65280 ; 0000ff00H - 00690 03 c8 add ecx, eax - 00692 8b c3 mov eax, ebx - 00694 c1 e8 08 shr eax, 8 - 00697 c1 e1 08 shl ecx, 8 - 0069a 25 00 ff 00 00 and eax, 65280 ; 0000ff00H - 0069f 03 c1 add eax, ecx - 006a1 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 006a4 c1 eb 18 shr ebx, 24 ; 00000018H - 006a7 03 c3 add eax, ebx - 006a9 89 47 18 mov DWORD PTR [edi+24], eax - 006ac 89 41 30 mov DWORD PTR [ecx+48], eax - -; 821 : INITBITS(); - - 006af 33 db xor ebx, ebx - 006b1 33 f6 xor esi, esi - -; 822 : state->mode = DICT; - - 006b3 c7 07 0a 00 00 - 00 mov DWORD PTR [edi], 10 ; 0000000aH -$LN726@inflate: - -; 823 : case DICT: -; 824 : if (state->havedict == 0) { - - 006b9 83 7f 0c 00 cmp DWORD PTR [edi+12], 0 - 006bd 0f 84 2d 0c 00 - 00 je $LN579@inflate - -; 827 : } -; 828 : strm->adler = state->check = adler32(0L, Z_NULL, 0); - - 006c3 6a 00 push 0 - 006c5 6a 00 push 0 - 006c7 6a 00 push 0 - 006c9 e8 00 00 00 00 call _adler32@12 - 006ce 8b 55 08 mov edx, DWORD PTR _strm$[ebp] - 006d1 89 47 18 mov DWORD PTR [edi+24], eax - 006d4 89 42 30 mov DWORD PTR [edx+48], eax - -; 829 : state->mode = TYPE; - - 006d7 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 006da c7 07 0b 00 00 - 00 mov DWORD PTR [edi], 11 ; 0000000bH -$LN316@inflate: - -; 830 : case TYPE: -; 831 : if (flush == Z_BLOCK || flush == Z_TREES) goto inf_leave; - - 006e0 83 7d 0c 05 cmp DWORD PTR _flush$[ebp], 5 - 006e4 0f 84 4b 0c 00 - 00 je $inf_leave$80408 - 006ea 83 7d 0c 06 cmp DWORD PTR _flush$[ebp], 6 - 006ee 0f 84 41 0c 00 - 00 je $inf_leave$80408 -$LN315@inflate: - -; 832 : case TYPEDO: -; 833 : if (state->last) { - - 006f4 83 7f 04 00 cmp DWORD PTR [edi+4], 0 - 006f8 74 14 je SHORT $LN308@inflate - -; 834 : BYTEBITS(); - - 006fa 8b ce mov ecx, esi - 006fc 83 e1 07 and ecx, 7 - 006ff d3 eb shr ebx, cl - 00701 2b f1 sub esi, ecx - -; 835 : state->mode = CHECK; - - 00703 c7 07 1a 00 00 - 00 mov DWORD PTR [edi], 26 ; 0000001aH - -; 836 : break; - - 00709 e9 c9 0b 00 00 jmp $LN490@inflate -$LN308@inflate: - -; 837 : } -; 838 : NEEDBITS(3); - - 0070e 83 fe 03 cmp esi, 3 - 00711 73 22 jae SHORT $LN307@inflate -$LL305@inflate: - 00713 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00717 0f 84 18 0c 00 - 00 je $inf_leave$80408 - 0071d 0f b6 02 movzx eax, BYTE PTR [edx] - 00720 ff 4d fc dec DWORD PTR _have$[ebp] - 00723 8b ce mov ecx, esi - 00725 d3 e0 shl eax, cl - 00727 42 inc edx - 00728 83 c6 08 add esi, 8 - 0072b 89 55 f8 mov DWORD PTR _next$[ebp], edx - 0072e 03 d8 add ebx, eax - 00730 83 fe 03 cmp esi, 3 - 00733 72 de jb SHORT $LL305@inflate -$LN307@inflate: - -; 839 : state->last = BITS(1); - - 00735 8b cb mov ecx, ebx - -; 840 : DROPBITS(1); - - 00737 d1 eb shr ebx, 1 - -; 841 : switch (BITS(2)) { - - 00739 8b c3 mov eax, ebx - 0073b 83 e1 01 and ecx, 1 - 0073e 83 e0 03 and eax, 3 - 00741 89 4f 04 mov DWORD PTR [edi+4], ecx - 00744 83 f8 03 cmp eax, 3 - 00747 77 57 ja SHORT $LN286@inflate - 00749 ff 24 85 00 00 - 00 00 jmp DWORD PTR $LN788@inflate[eax*4] -$LN294@inflate: - -; 865 : } -; 866 : DROPBITS(2); - - 00750 c1 eb 02 shr ebx, 2 - 00753 c7 07 0d 00 00 - 00 mov DWORD PTR [edi], 13 ; 0000000dH - 00759 83 ee 03 sub esi, 3 - -; 867 : break; - - 0075c e9 76 0b 00 00 jmp $LN490@inflate -$LN293@inflate: - -; 842 : case 0: /* stored block */ -; 843 : Tracev((stderr, "inflate: stored block%s\n", -; 844 : state->last ? " (last)" : "")); -; 845 : state->mode = STORED; -; 846 : break; -; 847 : case 1: /* fixed block */ -; 848 : fixedtables(state); - - 00761 8b c7 mov eax, edi - 00763 e8 00 00 00 00 call _fixedtables - -; 849 : Tracev((stderr, "inflate: fixed codes block%s\n", -; 850 : state->last ? " (last)" : "")); -; 851 : state->mode = LEN_; /* decode codes */ -; 852 : if (flush == Z_TREES) { - - 00768 83 7d 0c 06 cmp DWORD PTR _flush$[ebp], 6 - 0076c c7 07 13 00 00 - 00 mov DWORD PTR [edi], 19 ; 00000013H - 00772 75 2c jne SHORT $LN286@inflate - -; 853 : DROPBITS(2); - - 00774 c1 eb 02 shr ebx, 2 - 00777 83 ee 03 sub esi, 3 - -; 854 : goto inf_leave; - - 0077a e9 b6 0b 00 00 jmp $inf_leave$80408 -$LN288@inflate: - -; 865 : } -; 866 : DROPBITS(2); - - 0077f c1 eb 02 shr ebx, 2 - 00782 c7 07 10 00 00 - 00 mov DWORD PTR [edi], 16 ; 00000010H - 00788 83 ee 03 sub esi, 3 - -; 867 : break; - - 0078b e9 47 0b 00 00 jmp $LN490@inflate -$LN287@inflate: - -; 855 : } -; 856 : break; -; 857 : case 2: /* dynamic block */ -; 858 : Tracev((stderr, "inflate: dynamic codes block%s\n", -; 859 : state->last ? " (last)" : "")); -; 860 : state->mode = TABLE; -; 861 : break; -; 862 : case 3: -; 863 : strm->msg = (char *)"invalid block type"; - - 00790 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00793 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@ - -; 864 : state->mode = BAD; - - 0079a c7 07 1d 00 00 - 00 mov DWORD PTR [edi], 29 ; 0000001dH -$LN286@inflate: - -; 865 : } -; 866 : DROPBITS(2); - - 007a0 c1 eb 02 shr ebx, 2 - 007a3 83 ee 03 sub esi, 3 - -; 867 : break; - - 007a6 e9 2c 0b 00 00 jmp $LN490@inflate -$LN282@inflate: - -; 868 : case STORED: -; 869 : BYTEBITS(); /* go to byte boundary */ - - 007ab 8b ce mov ecx, esi - 007ad 83 e1 07 and ecx, 7 - 007b0 2b f1 sub esi, ecx - 007b2 d3 eb shr ebx, cl - -; 870 : NEEDBITS(32); - - 007b4 83 fe 20 cmp esi, 32 ; 00000020H - 007b7 73 29 jae SHORT $LN278@inflate - 007b9 8d a4 24 00 00 - 00 00 npad 7 -$LL276@inflate: - 007c0 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 007c4 0f 84 6b 0b 00 - 00 je $inf_leave$80408 - 007ca 0f b6 02 movzx eax, BYTE PTR [edx] - 007cd ff 4d fc dec DWORD PTR _have$[ebp] - 007d0 8b ce mov ecx, esi - 007d2 d3 e0 shl eax, cl - 007d4 42 inc edx - 007d5 83 c6 08 add esi, 8 - 007d8 89 55 f8 mov DWORD PTR _next$[ebp], edx - 007db 03 d8 add ebx, eax - 007dd 83 fe 20 cmp esi, 32 ; 00000020H - 007e0 72 de jb SHORT $LL276@inflate -$LN278@inflate: - -; 871 : if ((hold & 0xffff) != ((hold >> 16) ^ 0xffff)) { - - 007e2 8b cb mov ecx, ebx - 007e4 8b c3 mov eax, ebx - 007e6 f7 d1 not ecx - 007e8 25 ff ff 00 00 and eax, 65535 ; 0000ffffH - 007ed c1 e9 10 shr ecx, 16 ; 00000010H - 007f0 3b c1 cmp eax, ecx - 007f2 74 0f je SHORT $LN270@inflate - -; 872 : strm->msg = (char *)"invalid stored block lengths"; - - 007f4 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 007f7 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@ - -; 873 : state->mode = BAD; -; 874 : break; - - 007fe e9 ce 0a 00 00 jmp $LN786@inflate -$LN270@inflate: - -; 875 : } -; 876 : state->length = (unsigned)hold & 0xffff; -; 877 : Tracev((stderr, "inflate: stored length %u\n", -; 878 : state->length)); -; 879 : INITBITS(); - - 00803 33 db xor ebx, ebx - 00805 33 f6 xor esi, esi - -; 880 : state->mode = COPY_; -; 881 : if (flush == Z_TREES) goto inf_leave; - - 00807 83 7d 0c 06 cmp DWORD PTR _flush$[ebp], 6 - 0080b 89 47 40 mov DWORD PTR [edi+64], eax - 0080e c7 07 0e 00 00 - 00 mov DWORD PTR [edi], 14 ; 0000000eH - 00814 0f 84 1b 0b 00 - 00 je $inf_leave$80408 -$LN266@inflate: - -; 882 : case COPY_: -; 883 : state->mode = COPY; - - 0081a c7 07 0f 00 00 - 00 mov DWORD PTR [edi], 15 ; 0000000fH -$LN264@inflate: - -; 884 : case COPY: -; 885 : copy = state->length; - - 00820 8b 47 40 mov eax, DWORD PTR [edi+64] - 00823 89 45 f4 mov DWORD PTR _copy$[ebp], eax - -; 886 : if (copy) { - - 00826 85 c0 test eax, eax - 00828 0f 84 73 06 00 - 00 je $LN263@inflate - -; 887 : if (copy > have) copy = have; - - 0082e 8b 4d fc mov ecx, DWORD PTR _have$[ebp] - 00831 3b c1 cmp eax, ecx - 00833 76 05 jbe SHORT $LN262@inflate - 00835 8b c1 mov eax, ecx - 00837 89 4d f4 mov DWORD PTR _copy$[ebp], ecx -$LN262@inflate: - -; 888 : if (copy > left) copy = left; - - 0083a 8b 4d f0 mov ecx, DWORD PTR _left$[ebp] - 0083d 3b c1 cmp eax, ecx - 0083f 76 05 jbe SHORT $LN261@inflate - 00841 8b c1 mov eax, ecx - 00843 89 45 f4 mov DWORD PTR _copy$[ebp], eax -$LN261@inflate: - -; 889 : if (copy == 0) goto inf_leave; - - 00846 85 c0 test eax, eax - 00848 0f 84 e7 0a 00 - 00 je $inf_leave$80408 - -; 890 : zmemcpy(put, next, copy); - - 0084e 8b 4d f4 mov ecx, DWORD PTR _copy$[ebp] - 00851 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 00854 8b 45 e8 mov eax, DWORD PTR _put$[ebp] - 00857 51 push ecx - 00858 52 push edx - 00859 50 push eax - 0085a e8 00 00 00 00 call _memcpy - -; 891 : have -= copy; - - 0085f 8b 45 f4 mov eax, DWORD PTR _copy$[ebp] - -; 892 : next += copy; - - 00862 01 45 f8 add DWORD PTR _next$[ebp], eax - 00865 29 45 fc sub DWORD PTR _have$[ebp], eax - -; 893 : left -= copy; - - 00868 29 45 f0 sub DWORD PTR _left$[ebp], eax - -; 894 : put += copy; - - 0086b 01 45 e8 add DWORD PTR _put$[ebp], eax - -; 895 : state->length -= copy; -; 896 : break; - - 0086e 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 00871 83 c4 0c add esp, 12 ; 0000000cH - 00874 29 47 40 sub DWORD PTR [edi+64], eax - 00877 e9 5b 0a 00 00 jmp $LN490@inflate -$LN258@inflate: - -; 897 : } -; 898 : Tracev((stderr, "inflate: stored end\n")); -; 899 : state->mode = TYPE; -; 900 : break; -; 901 : case TABLE: -; 902 : NEEDBITS(14); - - 0087c 83 fe 0e cmp esi, 14 ; 0000000eH - 0087f 73 22 jae SHORT $LN257@inflate -$LL255@inflate: - 00881 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00885 0f 84 aa 0a 00 - 00 je $inf_leave$80408 - 0088b 0f b6 02 movzx eax, BYTE PTR [edx] - 0088e ff 4d fc dec DWORD PTR _have$[ebp] - 00891 8b ce mov ecx, esi - 00893 d3 e0 shl eax, cl - 00895 42 inc edx - 00896 83 c6 08 add esi, 8 - 00899 89 55 f8 mov DWORD PTR _next$[ebp], edx - 0089c 03 d8 add ebx, eax - 0089e 83 fe 0e cmp esi, 14 ; 0000000eH - 008a1 72 de jb SHORT $LL255@inflate -$LN257@inflate: - -; 903 : state->nlen = BITS(5) + 257; - - 008a3 8b cb mov ecx, ebx - 008a5 83 e1 1f and ecx, 31 ; 0000001fH - -; 904 : DROPBITS(5); - - 008a8 c1 eb 05 shr ebx, 5 - 008ab 81 c1 01 01 00 - 00 add ecx, 257 ; 00000101H - -; 905 : state->ndist = BITS(5) + 1; - - 008b1 8b c3 mov eax, ebx - 008b3 89 4f 60 mov DWORD PTR [edi+96], ecx - -; 906 : DROPBITS(5); - - 008b6 c1 eb 05 shr ebx, 5 - -; 907 : state->ncode = BITS(4) + 4; - - 008b9 8b cb mov ecx, ebx - 008bb 83 e0 1f and eax, 31 ; 0000001fH - 008be 83 e1 0f and ecx, 15 ; 0000000fH - 008c1 40 inc eax - 008c2 83 c1 04 add ecx, 4 - -; 908 : DROPBITS(4); - - 008c5 c1 eb 04 shr ebx, 4 - 008c8 83 ee 0e sub esi, 14 ; 0000000eH - -; 909 : #ifndef PKZIP_BUG_WORKAROUND -; 910 : if (state->nlen > 286 || state->ndist > 30) { - - 008cb 81 7f 60 1e 01 - 00 00 cmp DWORD PTR [edi+96], 286 ; 0000011eH - 008d2 89 47 64 mov DWORD PTR [edi+100], eax - 008d5 89 4f 5c mov DWORD PTR [edi+92], ecx - 008d8 0f 87 e5 00 00 - 00 ja $LN239@inflate - 008de 83 f8 1e cmp eax, 30 ; 0000001eH - 008e1 0f 87 dc 00 00 - 00 ja $LN239@inflate - -; 914 : } -; 915 : #endif -; 916 : Tracev((stderr, "inflate: table sizes ok\n")); -; 917 : state->have = 0; - - 008e7 c7 47 68 00 00 - 00 00 mov DWORD PTR [edi+104], 0 - -; 918 : state->mode = LENLENS; - - 008ee c7 07 11 00 00 - 00 mov DWORD PTR [edi], 17 ; 00000011H -$LN730@inflate: - -; 919 : case LENLENS: -; 920 : while (state->have < state->ncode) { - - 008f4 8b 4f 68 mov ecx, DWORD PTR [edi+104] - 008f7 3b 4f 5c cmp ecx, DWORD PTR [edi+92] - 008fa 73 51 jae SHORT $LN527@inflate - 008fc 8d 64 24 00 npad 4 -$LL237@inflate: - -; 921 : NEEDBITS(3); - - 00900 83 fe 03 cmp esi, 3 - 00903 73 22 jae SHORT $LN234@inflate -$LL232@inflate: - 00905 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00909 0f 84 26 0a 00 - 00 je $inf_leave$80408 - 0090f 0f b6 02 movzx eax, BYTE PTR [edx] - 00912 ff 4d fc dec DWORD PTR _have$[ebp] - 00915 8b ce mov ecx, esi - 00917 d3 e0 shl eax, cl - 00919 42 inc edx - 0091a 83 c6 08 add esi, 8 - 0091d 89 55 f8 mov DWORD PTR _next$[ebp], edx - 00920 03 d8 add ebx, eax - 00922 83 fe 03 cmp esi, 3 - 00925 72 de jb SHORT $LL232@inflate -$LN234@inflate: - -; 922 : state->lens[order[state->have++]] = (unsigned short)BITS(3); - - 00927 8b 47 68 mov eax, DWORD PTR [edi+104] - 0092a 0f b7 04 45 00 - 00 00 00 movzx eax, WORD PTR ?order@?1??inflate@@9@9[eax*2] - 00932 8b cb mov ecx, ebx - 00934 83 e1 07 and ecx, 7 - 00937 66 89 4c 47 70 mov WORD PTR [edi+eax*2+112], cx - 0093c ff 47 68 inc DWORD PTR [edi+104] - 0093f 8b 4f 68 mov ecx, DWORD PTR [edi+104] - -; 923 : DROPBITS(3); - - 00942 c1 eb 03 shr ebx, 3 - 00945 83 ee 03 sub esi, 3 - 00948 3b 4f 5c cmp ecx, DWORD PTR [edi+92] - 0094b 72 b3 jb SHORT $LL237@inflate -$LN527@inflate: - -; 924 : } -; 925 : while (state->have < 19) - - 0094d b8 13 00 00 00 mov eax, 19 ; 00000013H - 00952 39 47 68 cmp DWORD PTR [edi+104], eax - 00955 73 23 jae SHORT $LN222@inflate - 00957 eb 07 8d a4 24 - 00 00 00 00 npad 9 -$LL223@inflate: - -; 926 : state->lens[order[state->have++]] = 0; - - 00960 8b 57 68 mov edx, DWORD PTR [edi+104] - 00963 0f b7 0c 55 00 - 00 00 00 movzx ecx, WORD PTR ?order@?1??inflate@@9@9[edx*2] - 0096b 33 d2 xor edx, edx - 0096d 66 89 54 4f 70 mov WORD PTR [edi+ecx*2+112], dx - 00972 ff 47 68 inc DWORD PTR [edi+104] - 00975 39 47 68 cmp DWORD PTR [edi+104], eax - 00978 72 e6 jb SHORT $LL223@inflate -$LN222@inflate: - -; 927 : state->next = state->codes; - - 0097a 8d 87 30 05 00 - 00 lea eax, DWORD PTR [edi+1328] - 00980 8d 4f 6c lea ecx, DWORD PTR [edi+108] - 00983 89 01 mov DWORD PTR [ecx], eax - -; 928 : state->lencode = (code const FAR *)(state->next); - - 00985 89 47 4c mov DWORD PTR [edi+76], eax - -; 929 : state->lenbits = 7; -; 930 : ret = inflate_table(CODES, state->lens, 19, &(state->next), -; 931 : &(state->lenbits), state->work); - - 00988 8d 97 f0 02 00 - 00 lea edx, DWORD PTR [edi+752] - 0098e 52 push edx - 0098f 8d 47 54 lea eax, DWORD PTR [edi+84] - 00992 50 push eax - 00993 51 push ecx - 00994 c7 00 07 00 00 - 00 mov DWORD PTR [eax], 7 - 0099a 6a 13 push 19 ; 00000013H - 0099c 8d 47 70 lea eax, DWORD PTR [edi+112] - 0099f 50 push eax - 009a0 6a 00 push 0 - 009a2 e8 00 00 00 00 call _inflate_table - -; 934 : state->mode = BAD; -; 935 : break; - - 009a7 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 009aa 83 c4 18 add esp, 24 ; 00000018H - 009ad 89 45 d8 mov DWORD PTR _ret$[ebp], eax - 009b0 85 c0 test eax, eax - 009b2 74 1e je SHORT $LN221@inflate - -; 932 : if (ret) { -; 933 : strm->msg = (char *)"invalid code lengths set"; - - 009b4 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 009b7 c7 41 18 00 00 - 00 00 mov DWORD PTR [ecx+24], OFFSET ??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@ - -; 934 : state->mode = BAD; -; 935 : break; - - 009be e9 0e 09 00 00 jmp $LN786@inflate -$LN239@inflate: - -; 911 : strm->msg = (char *)"too many length or distance symbols"; - - 009c3 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 009c6 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@ - -; 912 : state->mode = BAD; -; 913 : break; - - 009cd e9 ff 08 00 00 jmp $LN786@inflate -$LN221@inflate: - -; 936 : } -; 937 : Tracev((stderr, "inflate: code lengths ok\n")); -; 938 : state->have = 0; - - 009d2 c7 47 68 00 00 - 00 00 mov DWORD PTR [edi+104], 0 - -; 939 : state->mode = CODELENS; - - 009d9 c7 07 12 00 00 - 00 mov DWORD PTR [edi], 18 ; 00000012H -$LN528@inflate: - -; 940 : case CODELENS: -; 941 : while (state->have < state->nlen + state->ndist) { - - 009df 8b 47 64 mov eax, DWORD PTR [edi+100] - 009e2 03 47 60 add eax, DWORD PTR [edi+96] - 009e5 39 47 68 cmp DWORD PTR [edi+104], eax - 009e8 0f 83 e5 01 00 - 00 jae $LN218@inflate - 009ee 8b ff npad 2 -$LL219@inflate: - -; 942 : for (;;) { -; 943 : here = state->lencode[BITS(state->lenbits)]; - - 009f0 8b 4f 54 mov ecx, DWORD PTR [edi+84] - 009f3 b8 01 00 00 00 mov eax, 1 - 009f8 d3 e0 shl eax, cl - 009fa 8b 4f 4c mov ecx, DWORD PTR [edi+76] - 009fd 48 dec eax - 009fe 23 c3 and eax, ebx - 00a00 8b 0c 81 mov ecx, DWORD PTR [ecx+eax*4] - -; 944 : if ((unsigned)(here.bits) <= bits) break; - - 00a03 8b c1 mov eax, ecx - 00a05 c1 e8 08 shr eax, 8 - 00a08 0f b6 c0 movzx eax, al - 00a0b 89 4d f4 mov DWORD PTR _here$[ebp], ecx - 00a0e 3b c6 cmp eax, esi - 00a10 76 3f jbe SHORT $LN555@inflate -$LL217@inflate: - -; 945 : PULLBYTE(); - - 00a12 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00a16 0f 84 19 09 00 - 00 je $inf_leave$80408 - 00a1c 0f b6 02 movzx eax, BYTE PTR [edx] - 00a1f ff 4d fc dec DWORD PTR _have$[ebp] - 00a22 8b ce mov ecx, esi - 00a24 d3 e0 shl eax, cl - 00a26 8b 4f 54 mov ecx, DWORD PTR [edi+84] - 00a29 42 inc edx - 00a2a 83 c6 08 add esi, 8 - 00a2d 03 d8 add ebx, eax - 00a2f b8 01 00 00 00 mov eax, 1 - 00a34 d3 e0 shl eax, cl - 00a36 8b 4f 4c mov ecx, DWORD PTR [edi+76] - 00a39 89 55 f8 mov DWORD PTR _next$[ebp], edx - 00a3c 48 dec eax - 00a3d 23 c3 and eax, ebx - 00a3f 8b 0c 81 mov ecx, DWORD PTR [ecx+eax*4] - 00a42 8b c1 mov eax, ecx - 00a44 c1 e8 08 shr eax, 8 - 00a47 0f b6 c0 movzx eax, al - 00a4a 89 4d f4 mov DWORD PTR _here$[ebp], ecx - 00a4d 3b c6 cmp eax, esi - 00a4f 77 c1 ja SHORT $LL217@inflate -$LN555@inflate: - -; 946 : } -; 947 : if (here.val < 16) { - - 00a51 8b c1 mov eax, ecx - 00a53 c1 e8 10 shr eax, 16 ; 00000010H - 00a56 89 45 d4 mov DWORD PTR tv2303[ebp], eax - 00a59 66 83 f8 10 cmp ax, 16 ; 00000010H - 00a5d 73 1a jae SHORT $LN782@inflate - -; 948 : DROPBITS(here.bits); - - 00a5f c1 e9 08 shr ecx, 8 - 00a62 0f b6 c9 movzx ecx, cl - 00a65 d3 eb shr ebx, cl - 00a67 2b f1 sub esi, ecx - -; 949 : state->lens[state->have++] = here.val; - - 00a69 8b 4f 68 mov ecx, DWORD PTR [edi+104] - 00a6c 66 89 44 4f 70 mov WORD PTR [edi+ecx*2+112], ax - 00a71 ff 47 68 inc DWORD PTR [edi+104] - -; 950 : } -; 951 : else { - - 00a74 e9 4b 01 00 00 jmp $LN733@inflate -$LN782@inflate: - -; 952 : if (here.val == 16) { - - 00a79 75 6f jne SHORT $LN205@inflate - -; 953 : NEEDBITS(here.bits + 2); - - 00a7b 8b c1 mov eax, ecx - 00a7d c1 e8 08 shr eax, 8 - 00a80 0f b6 c0 movzx eax, al - 00a83 83 c0 02 add eax, 2 - 00a86 3b f0 cmp esi, eax - 00a88 73 30 jae SHORT $LN203@inflate - 00a8a 8d 9b 00 00 00 - 00 npad 6 -$LL201@inflate: - 00a90 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00a94 0f 84 9b 08 00 - 00 je $inf_leave$80408 - 00a9a 0f b6 02 movzx eax, BYTE PTR [edx] - 00a9d ff 4d fc dec DWORD PTR _have$[ebp] - 00aa0 8b ce mov ecx, esi - 00aa2 d3 e0 shl eax, cl - 00aa4 8b 4d f4 mov ecx, DWORD PTR _here$[ebp] - 00aa7 42 inc edx - 00aa8 83 c6 08 add esi, 8 - 00aab 03 d8 add ebx, eax - 00aad 0f b6 c5 movzx eax, ch - 00ab0 83 c0 02 add eax, 2 - 00ab3 89 55 f8 mov DWORD PTR _next$[ebp], edx - 00ab6 3b f0 cmp esi, eax - 00ab8 72 d6 jb SHORT $LL201@inflate -$LN203@inflate: - -; 954 : DROPBITS(here.bits); -; 955 : if (state->have == 0) { - - 00aba 8b 47 68 mov eax, DWORD PTR [edi+104] - 00abd 0f b6 cd movzx ecx, ch - 00ac0 d3 eb shr ebx, cl - 00ac2 2b f1 sub esi, ecx - 00ac4 85 c0 test eax, eax - 00ac6 0f 84 29 01 00 - 00 je $LN560@inflate - -; 959 : } -; 960 : len = state->lens[state->have - 1]; - - 00acc 0f b7 4c 47 6e movzx ecx, WORD PTR [edi+eax*2+110] - -; 961 : copy = 3 + BITS(2); - - 00ad1 8b c3 mov eax, ebx - 00ad3 83 e0 03 and eax, 3 - 00ad6 83 c0 03 add eax, 3 - -; 962 : DROPBITS(2); - - 00ad9 c1 eb 02 shr ebx, 2 - 00adc 89 4d e4 mov DWORD PTR _len$[ebp], ecx - 00adf 89 45 f4 mov DWORD PTR _copy$[ebp], eax - 00ae2 83 ee 02 sub esi, 2 - -; 963 : } -; 964 : else if (here.val == 17) { - - 00ae5 e9 a5 00 00 00 jmp $LN156@inflate -$LN205@inflate: - 00aea 66 83 7d f6 11 cmp WORD PTR _here$[ebp+2], 17 ; 00000011H - -; 965 : NEEDBITS(here.bits + 3); - - 00aef 0f b6 cd movzx ecx, ch - 00af2 89 4d dc mov DWORD PTR tv2314[ebp], ecx - 00af5 75 47 jne SHORT $LN170@inflate - 00af7 8d 41 03 lea eax, DWORD PTR [ecx+3] - 00afa 3b f0 cmp esi, eax - 00afc 73 29 jae SHORT $LN185@inflate - 00afe 8b ff npad 2 -$LL183@inflate: - 00b00 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00b04 0f 84 2b 08 00 - 00 je $inf_leave$80408 - 00b0a 0f b6 02 movzx eax, BYTE PTR [edx] - 00b0d ff 4d fc dec DWORD PTR _have$[ebp] - 00b10 8b ce mov ecx, esi - 00b12 d3 e0 shl eax, cl - 00b14 8b 4d dc mov ecx, DWORD PTR tv2314[ebp] - 00b17 42 inc edx - 00b18 83 c6 08 add esi, 8 - 00b1b 03 d8 add ebx, eax - 00b1d 8d 41 03 lea eax, DWORD PTR [ecx+3] - 00b20 89 55 f8 mov DWORD PTR _next$[ebp], edx - 00b23 3b f0 cmp esi, eax - 00b25 72 d9 jb SHORT $LL183@inflate -$LN185@inflate: - -; 966 : DROPBITS(here.bits); - - 00b27 d3 eb shr ebx, cl - -; 967 : len = 0; -; 968 : copy = 3 + BITS(3); - - 00b29 8b c3 mov eax, ebx - 00b2b 83 e0 07 and eax, 7 - 00b2e 83 c0 03 add eax, 3 - 00b31 89 45 f4 mov DWORD PTR _copy$[ebp], eax - -; 969 : DROPBITS(3); - - 00b34 c1 eb 03 shr ebx, 3 - 00b37 b8 fd ff ff ff mov eax, -3 ; fffffffdH - -; 970 : } -; 971 : else { - - 00b3c eb 43 jmp SHORT $LN783@inflate -$LN170@inflate: - -; 972 : NEEDBITS(here.bits + 7); - - 00b3e 8d 41 07 lea eax, DWORD PTR [ecx+7] - 00b41 3b f0 cmp esi, eax - 00b43 73 27 jae SHORT $LN169@inflate -$LL167@inflate: - 00b45 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00b49 0f 84 e6 07 00 - 00 je $inf_leave$80408 - 00b4f 0f b6 02 movzx eax, BYTE PTR [edx] - 00b52 ff 4d fc dec DWORD PTR _have$[ebp] - 00b55 8b ce mov ecx, esi - 00b57 d3 e0 shl eax, cl - 00b59 8b 4d dc mov ecx, DWORD PTR tv2314[ebp] - 00b5c 42 inc edx - 00b5d 83 c6 08 add esi, 8 - 00b60 03 d8 add ebx, eax - 00b62 8d 41 07 lea eax, DWORD PTR [ecx+7] - 00b65 89 55 f8 mov DWORD PTR _next$[ebp], edx - 00b68 3b f0 cmp esi, eax - 00b6a 72 d9 jb SHORT $LL167@inflate -$LN169@inflate: - -; 973 : DROPBITS(here.bits); - - 00b6c d3 eb shr ebx, cl - -; 974 : len = 0; -; 975 : copy = 11 + BITS(7); - - 00b6e 8b c3 mov eax, ebx - 00b70 83 e0 7f and eax, 127 ; 0000007fH - 00b73 83 c0 0b add eax, 11 ; 0000000bH - 00b76 89 45 f4 mov DWORD PTR _copy$[ebp], eax - -; 976 : DROPBITS(7); - - 00b79 c1 eb 07 shr ebx, 7 - 00b7c b8 f9 ff ff ff mov eax, -7 ; fffffff9H -$LN783@inflate: - 00b81 2b c1 sub eax, ecx - 00b83 03 f0 add esi, eax - 00b85 8b 45 f4 mov eax, DWORD PTR _copy$[ebp] - 00b88 c7 45 e4 00 00 - 00 00 mov DWORD PTR _len$[ebp], 0 -$LN156@inflate: - -; 977 : } -; 978 : if (state->have + copy > state->nlen + state->ndist) { - - 00b8f 8b 4f 68 mov ecx, DWORD PTR [edi+104] - 00b92 03 c8 add ecx, eax - 00b94 8b 47 64 mov eax, DWORD PTR [edi+100] - 00b97 03 47 60 add eax, DWORD PTR [edi+96] - 00b9a 3b c8 cmp ecx, eax - 00b9c 77 66 ja SHORT $LN561@inflate - -; 980 : state->mode = BAD; -; 981 : break; -; 982 : } -; 983 : while (copy--) - - 00b9e 83 7d f4 00 cmp DWORD PTR _copy$[ebp], 0 - 00ba2 74 20 je SHORT $LN733@inflate - 00ba4 8b 45 e4 mov eax, DWORD PTR _len$[ebp] - 00ba7 eb 07 8d a4 24 - 00 00 00 00 npad 9 -$LL154@inflate: - -; 984 : state->lens[state->have++] = (unsigned short)len; - - 00bb0 8b 4f 68 mov ecx, DWORD PTR [edi+104] - 00bb3 ff 4d f4 dec DWORD PTR _copy$[ebp] - 00bb6 66 89 44 4f 70 mov WORD PTR [edi+ecx*2+112], ax - 00bbb ff 47 68 inc DWORD PTR [edi+104] - 00bbe 83 7d f4 00 cmp DWORD PTR _copy$[ebp], 0 - 00bc2 75 ec jne SHORT $LL154@inflate -$LN733@inflate: - -; 940 : case CODELENS: -; 941 : while (state->have < state->nlen + state->ndist) { - - 00bc4 8b 47 64 mov eax, DWORD PTR [edi+100] - 00bc7 03 47 60 add eax, DWORD PTR [edi+96] - 00bca 39 47 68 cmp DWORD PTR [edi+104], eax - 00bcd 0f 82 1d fe ff - ff jb $LL219@inflate -$LN218@inflate: - -; 985 : } -; 986 : } -; 987 : -; 988 : /* handle error breaks in while */ -; 989 : if (state->mode == BAD) break; - - 00bd3 83 3f 1d cmp DWORD PTR [edi], 29 ; 0000001dH - 00bd6 0f 84 fb 06 00 - 00 je $LN490@inflate - -; 990 : -; 991 : /* check for end-of-block code (better have one) */ -; 992 : if (state->lens[256] == 0) { - - 00bdc 66 83 bf 70 02 - 00 00 00 cmp WORD PTR [edi+624], 0 - 00be4 75 2d jne SHORT $LN151@inflate - -; 993 : strm->msg = (char *)"invalid code -- missing end-of-block"; - - 00be6 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 00be9 c7 41 18 00 00 - 00 00 mov DWORD PTR [ecx+24], OFFSET ??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@ - -; 994 : state->mode = BAD; -; 995 : break; - - 00bf0 e9 dc 06 00 00 jmp $LN786@inflate -$LN560@inflate: - -; 956 : strm->msg = (char *)"invalid bit length repeat"; - - 00bf5 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 00bf8 c7 41 18 00 00 - 00 00 mov DWORD PTR [ecx+24], OFFSET ??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@ - -; 957 : state->mode = BAD; -; 958 : break; - - 00bff e9 cd 06 00 00 jmp $LN786@inflate -$LN561@inflate: - -; 979 : strm->msg = (char *)"invalid bit length repeat"; - - 00c04 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00c07 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@ - -; 985 : } -; 986 : } -; 987 : -; 988 : /* handle error breaks in while */ -; 989 : if (state->mode == BAD) break; - - 00c0e e9 be 06 00 00 jmp $LN786@inflate -$LN151@inflate: - -; 996 : } -; 997 : -; 998 : /* build code tables -- note: do not change the lenbits or distbits -; 999 : values here (9 and 6) without reading the comments in inftrees.h -; 1000 : concerning the ENOUGH constants, which depend on those values */ -; 1001 : state->next = state->codes; - - 00c13 8d 87 30 05 00 - 00 lea eax, DWORD PTR [edi+1328] - 00c19 8d 4f 6c lea ecx, DWORD PTR [edi+108] - 00c1c 89 01 mov DWORD PTR [ecx], eax - -; 1002 : state->lencode = (code const FAR *)(state->next); - - 00c1e 89 47 4c mov DWORD PTR [edi+76], eax - -; 1003 : state->lenbits = 9; -; 1004 : ret = inflate_table(LENS, state->lens, state->nlen, &(state->next), -; 1005 : &(state->lenbits), state->work); - - 00c21 8d 97 f0 02 00 - 00 lea edx, DWORD PTR [edi+752] - 00c27 52 push edx - 00c28 8b 57 60 mov edx, DWORD PTR [edi+96] - 00c2b 8d 47 54 lea eax, DWORD PTR [edi+84] - 00c2e 50 push eax - 00c2f 51 push ecx - 00c30 c7 00 09 00 00 - 00 mov DWORD PTR [eax], 9 - 00c36 52 push edx - 00c37 8d 47 70 lea eax, DWORD PTR [edi+112] - 00c3a 50 push eax - 00c3b 6a 01 push 1 - 00c3d e8 00 00 00 00 call _inflate_table - 00c42 83 c4 18 add esp, 24 ; 00000018H - 00c45 89 45 d8 mov DWORD PTR _ret$[ebp], eax - -; 1006 : if (ret) { - - 00c48 85 c0 test eax, eax - 00c4a 74 12 je SHORT $LN150@inflate - -; 1007 : strm->msg = (char *)"invalid literal/lengths set"; - - 00c4c 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - -; 1008 : state->mode = BAD; -; 1009 : break; - - 00c4f 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 00c52 c7 41 18 00 00 - 00 00 mov DWORD PTR [ecx+24], OFFSET ??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@ - 00c59 e9 73 06 00 00 jmp $LN786@inflate -$LN150@inflate: - -; 1010 : } -; 1011 : state->distcode = (code const FAR *)(state->next); - - 00c5e 8b 57 6c mov edx, DWORD PTR [edi+108] - 00c61 8d 4f 6c lea ecx, DWORD PTR [edi+108] - 00c64 89 57 50 mov DWORD PTR [edi+80], edx - -; 1012 : state->distbits = 6; -; 1013 : ret = inflate_table(DISTS, state->lens + state->nlen, state->ndist, -; 1014 : &(state->next), &(state->distbits), state->work); - - 00c67 8d 97 f0 02 00 - 00 lea edx, DWORD PTR [edi+752] - 00c6d 52 push edx - 00c6e 8d 47 58 lea eax, DWORD PTR [edi+88] - 00c71 50 push eax - 00c72 51 push ecx - 00c73 8b 4f 60 mov ecx, DWORD PTR [edi+96] - 00c76 c7 00 06 00 00 - 00 mov DWORD PTR [eax], 6 - 00c7c 8b 47 64 mov eax, DWORD PTR [edi+100] - 00c7f 50 push eax - 00c80 8d 54 4f 70 lea edx, DWORD PTR [edi+ecx*2+112] - 00c84 52 push edx - 00c85 6a 02 push 2 - 00c87 e8 00 00 00 00 call _inflate_table - -; 1017 : state->mode = BAD; -; 1018 : break; - - 00c8c 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 00c8f 83 c4 18 add esp, 24 ; 00000018H - 00c92 89 45 d8 mov DWORD PTR _ret$[ebp], eax - 00c95 85 c0 test eax, eax - 00c97 74 0f je SHORT $LN149@inflate - -; 1015 : if (ret) { -; 1016 : strm->msg = (char *)"invalid distances set"; - - 00c99 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00c9c c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@ - -; 1017 : state->mode = BAD; -; 1018 : break; - - 00ca3 e9 29 06 00 00 jmp $LN786@inflate -$LN149@inflate: - -; 1019 : } -; 1020 : Tracev((stderr, "inflate: codes ok\n")); -; 1021 : state->mode = LEN_; -; 1022 : if (flush == Z_TREES) goto inf_leave; - - 00ca8 83 7d 0c 06 cmp DWORD PTR _flush$[ebp], 6 - 00cac c7 07 13 00 00 - 00 mov DWORD PTR [edi], 19 ; 00000013H - 00cb2 0f 84 7d 06 00 - 00 je $inf_leave$80408 -$LN148@inflate: - -; 1023 : case LEN_: -; 1024 : state->mode = LEN; - - 00cb8 c7 07 14 00 00 - 00 mov DWORD PTR [edi], 20 ; 00000014H -$LN146@inflate: - -; 1025 : case LEN: -; 1026 : if (have >= 6 && left >= 258) { - - 00cbe 83 7d fc 06 cmp DWORD PTR _have$[ebp], 6 - 00cc2 72 6e jb SHORT $LN145@inflate - 00cc4 81 7d f0 02 01 - 00 00 cmp DWORD PTR _left$[ebp], 258 ; 00000102H - 00ccb 72 65 jb SHORT $LN145@inflate - -; 1027 : RESTORE(); - - 00ccd 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00cd0 8b 4d e8 mov ecx, DWORD PTR _put$[ebp] - 00cd3 8b 55 f0 mov edx, DWORD PTR _left$[ebp] - 00cd6 89 48 0c mov DWORD PTR [eax+12], ecx - 00cd9 8b 4d f8 mov ecx, DWORD PTR _next$[ebp] - 00cdc 89 08 mov DWORD PTR [eax], ecx - -; 1028 : inflate_fast(strm, out); - - 00cde 8b 4d e0 mov ecx, DWORD PTR _out$[ebp] - 00ce1 89 50 10 mov DWORD PTR [eax+16], edx - 00ce4 8b 55 fc mov edx, DWORD PTR _have$[ebp] - 00ce7 51 push ecx - 00ce8 89 50 04 mov DWORD PTR [eax+4], edx - 00ceb 50 push eax - 00cec 89 5f 38 mov DWORD PTR [edi+56], ebx - 00cef 89 77 3c mov DWORD PTR [edi+60], esi - 00cf2 e8 00 00 00 00 call _inflate_fast - -; 1029 : LOAD(); - - 00cf7 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00cfa 8b 50 0c mov edx, DWORD PTR [eax+12] - 00cfd 8b 48 10 mov ecx, DWORD PTR [eax+16] - 00d00 8b 5f 38 mov ebx, DWORD PTR [edi+56] - 00d03 8b 77 3c mov esi, DWORD PTR [edi+60] - 00d06 89 55 e8 mov DWORD PTR _put$[ebp], edx - 00d09 8b 10 mov edx, DWORD PTR [eax] - 00d0b 8b 40 04 mov eax, DWORD PTR [eax+4] - 00d0e 83 c4 08 add esp, 8 - -; 1030 : if (state->mode == TYPE) - - 00d11 83 3f 0b cmp DWORD PTR [edi], 11 ; 0000000bH - 00d14 89 4d f0 mov DWORD PTR _left$[ebp], ecx - 00d17 89 55 f8 mov DWORD PTR _next$[ebp], edx - 00d1a 89 45 fc mov DWORD PTR _have$[ebp], eax - 00d1d 0f 85 b4 05 00 - 00 jne $LN490@inflate - -; 1031 : state->back = -1; - - 00d23 c7 87 c4 1b 00 - 00 ff ff ff ff mov DWORD PTR [edi+7108], -1 - -; 1032 : break; - - 00d2d e9 a5 05 00 00 jmp $LN490@inflate -$LN145@inflate: - -; 1033 : } -; 1034 : state->back = 0; -; 1035 : for (;;) { -; 1036 : here = state->lencode[BITS(state->lenbits)]; - - 00d32 8b 4f 54 mov ecx, DWORD PTR [edi+84] - 00d35 b8 01 00 00 00 mov eax, 1 - 00d3a d3 e0 shl eax, cl - 00d3c c7 87 c4 1b 00 - 00 00 00 00 00 mov DWORD PTR [edi+7108], 0 - 00d46 48 dec eax - 00d47 23 c3 and eax, ebx - 00d49 8b c8 mov ecx, eax - 00d4b 8b 47 4c mov eax, DWORD PTR [edi+76] - 00d4e 8b 04 88 mov eax, DWORD PTR [eax+ecx*4] - -; 1037 : if ((unsigned)(here.bits) <= bits) break; - - 00d51 8b c8 mov ecx, eax - 00d53 c1 e9 08 shr ecx, 8 - 00d56 0f b6 c9 movzx ecx, cl - 00d59 89 45 f4 mov DWORD PTR _here$[ebp], eax - 00d5c 3b ce cmp ecx, esi - 00d5e 76 3f jbe SHORT $LN562@inflate -$LL137@inflate: - -; 1038 : PULLBYTE(); - - 00d60 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00d64 0f 84 cb 05 00 - 00 je $inf_leave$80408 - 00d6a 0f b6 02 movzx eax, BYTE PTR [edx] - 00d6d ff 4d fc dec DWORD PTR _have$[ebp] - 00d70 8b ce mov ecx, esi - 00d72 d3 e0 shl eax, cl - 00d74 8b 4f 54 mov ecx, DWORD PTR [edi+84] - 00d77 42 inc edx - 00d78 83 c6 08 add esi, 8 - 00d7b 03 d8 add ebx, eax - 00d7d b8 01 00 00 00 mov eax, 1 - 00d82 d3 e0 shl eax, cl - 00d84 8b 4f 4c mov ecx, DWORD PTR [edi+76] - 00d87 89 55 f8 mov DWORD PTR _next$[ebp], edx - 00d8a 48 dec eax - 00d8b 23 c3 and eax, ebx - 00d8d 8b 04 81 mov eax, DWORD PTR [ecx+eax*4] - 00d90 8b c8 mov ecx, eax - 00d92 c1 e9 08 shr ecx, 8 - 00d95 0f b6 c9 movzx ecx, cl - 00d98 89 45 f4 mov DWORD PTR _here$[ebp], eax - 00d9b 3b ce cmp ecx, esi - 00d9d 77 c1 ja SHORT $LL137@inflate -$LN562@inflate: - -; 1039 : } -; 1040 : if (here.op && (here.op & 0xf0) == 0) { - - 00d9f 84 c0 test al, al - 00da1 0f 84 c0 00 00 - 00 je $LN119@inflate - 00da7 a8 f0 test al, 240 ; 000000f0H - 00da9 0f 85 b8 00 00 - 00 jne $LN119@inflate - -; 1041 : last = here; -; 1042 : for (;;) { -; 1043 : here = state->lencode[last.val + -; 1044 : (BITS(last.bits + last.op) >> last.bits)]; - - 00daf 8b c8 mov ecx, eax - 00db1 c1 e9 08 shr ecx, 8 - 00db4 89 4d d4 mov DWORD PTR tv2288[ebp], ecx - 00db7 0f b6 c9 movzx ecx, cl - 00dba 89 4d e4 mov DWORD PTR tv2289[ebp], ecx - 00dbd 0f b6 c8 movzx ecx, al - 00dc0 03 4d e4 add ecx, DWORD PTR tv2289[ebp] - 00dc3 89 45 dc mov DWORD PTR _last$[ebp], eax - 00dc6 b8 01 00 00 00 mov eax, 1 - 00dcb d3 e0 shl eax, cl - 00dcd 8b 4d e4 mov ecx, DWORD PTR tv2289[ebp] - 00dd0 48 dec eax - 00dd1 23 c3 and eax, ebx - 00dd3 d3 e8 shr eax, cl - 00dd5 8b 4d f4 mov ecx, DWORD PTR _here$[ebp] - 00dd8 c1 e9 10 shr ecx, 16 ; 00000010H - 00ddb 03 c1 add eax, ecx - 00ddd 8b c8 mov ecx, eax - 00ddf 8b 47 4c mov eax, DWORD PTR [edi+76] - 00de2 8b 04 88 mov eax, DWORD PTR [eax+ecx*4] - -; 1045 : if ((unsigned)(last.bits + here.bits) <= bits) break; - - 00de5 0f b6 4d d4 movzx ecx, BYTE PTR tv2288[ebp] - 00de9 89 45 f4 mov DWORD PTR _here$[ebp], eax - 00dec c1 e8 08 shr eax, 8 - 00def 0f b6 c0 movzx eax, al - 00df2 03 c1 add eax, ecx - 00df4 3b c6 cmp eax, esi - 00df6 76 5e jbe SHORT $LN122@inflate - 00df8 eb 06 8d 9b 00 - 00 00 00 npad 8 -$LL129@inflate: - -; 1046 : PULLBYTE(); - - 00e00 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00e04 0f 84 2b 05 00 - 00 je $inf_leave$80408 - 00e0a 0f b6 02 movzx eax, BYTE PTR [edx] - 00e0d 8b ce mov ecx, esi - 00e0f d3 e0 shl eax, cl - 00e11 8b 4d dc mov ecx, DWORD PTR _last$[ebp] - 00e14 ff 4d fc dec DWORD PTR _have$[ebp] - 00e17 42 inc edx - 00e18 03 d8 add ebx, eax - 00e1a 0f b6 c5 movzx eax, ch - 00e1d 89 45 e4 mov DWORD PTR tv2387[ebp], eax - 00e20 0f b6 c9 movzx ecx, cl - 00e23 03 c8 add ecx, eax - 00e25 b8 01 00 00 00 mov eax, 1 - 00e2a d3 e0 shl eax, cl - 00e2c 8b 4d e4 mov ecx, DWORD PTR tv2387[ebp] - 00e2f 83 c6 08 add esi, 8 - 00e32 89 55 f8 mov DWORD PTR _next$[ebp], edx - 00e35 48 dec eax - 00e36 23 c3 and eax, ebx - 00e38 d3 e8 shr eax, cl - 00e3a 0f b7 4d de movzx ecx, WORD PTR _last$[ebp+2] - 00e3e 03 c1 add eax, ecx - 00e40 8b 4f 4c mov ecx, DWORD PTR [edi+76] - 00e43 8b 04 81 mov eax, DWORD PTR [ecx+eax*4] - 00e46 89 45 f4 mov DWORD PTR _here$[ebp], eax - 00e49 c1 e8 08 shr eax, 8 - 00e4c 0f b6 c0 movzx eax, al - 00e4f 03 45 e4 add eax, DWORD PTR tv2387[ebp] - 00e52 3b c6 cmp eax, esi - 00e54 77 aa ja SHORT $LL129@inflate -$LN122@inflate: - -; 1047 : } -; 1048 : DROPBITS(last.bits); - - 00e56 0f b6 4d dd movzx ecx, BYTE PTR _last$[ebp+1] - -; 1049 : state->back += last.bits; - - 00e5a 8b 45 f4 mov eax, DWORD PTR _here$[ebp] - 00e5d d3 eb shr ebx, cl - 00e5f 2b f1 sub esi, ecx - 00e61 89 8f c4 1b 00 - 00 mov DWORD PTR [edi+7108], ecx -$LN119@inflate: - -; 1050 : } -; 1051 : DROPBITS(here.bits); - - 00e67 8b c8 mov ecx, eax - 00e69 c1 e9 08 shr ecx, 8 - 00e6c 0f b6 c9 movzx ecx, cl - -; 1052 : state->back += here.bits; - - 00e6f 01 8f c4 1b 00 - 00 add DWORD PTR [edi+7108], ecx - 00e75 d3 eb shr ebx, cl - 00e77 2b f1 sub esi, ecx - 00e79 89 4d e4 mov DWORD PTR tv2289[ebp], ecx - -; 1053 : state->length = (unsigned)here.val; - - 00e7c 8b c8 mov ecx, eax - 00e7e c1 e9 10 shr ecx, 16 ; 00000010H - 00e81 89 4f 40 mov DWORD PTR [edi+64], ecx - -; 1054 : if ((int)(here.op) == 0) { - - 00e84 84 c0 test al, al - 00e86 75 0b jne SHORT $LN116@inflate - -; 1055 : Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ? -; 1056 : "inflate: literal '%c'\n" : -; 1057 : "inflate: literal 0x%02x\n", here.val)); -; 1058 : state->mode = LIT; - - 00e88 c7 07 19 00 00 - 00 mov DWORD PTR [edi], 25 ; 00000019H - -; 1059 : break; - - 00e8e e9 44 04 00 00 jmp $LN490@inflate -$LN116@inflate: - -; 1060 : } -; 1061 : if (here.op & 32) { - - 00e93 a8 20 test al, 32 ; 00000020H - 00e95 74 15 je SHORT $LN115@inflate - -; 1062 : Tracevv((stderr, "inflate: end of block\n")); -; 1063 : state->back = -1; - - 00e97 c7 87 c4 1b 00 - 00 ff ff ff ff mov DWORD PTR [edi+7108], -1 -$LN263@inflate: - -; 1064 : state->mode = TYPE; - - 00ea1 c7 07 0b 00 00 - 00 mov DWORD PTR [edi], 11 ; 0000000bH - -; 1065 : break; - - 00ea7 e9 2b 04 00 00 jmp $LN490@inflate -$LN115@inflate: - -; 1066 : } -; 1067 : if (here.op & 64) { - - 00eac a8 40 test al, 64 ; 00000040H - 00eae 74 0f je SHORT $LN114@inflate - -; 1068 : strm->msg = (char *)"invalid literal/length code"; - - 00eb0 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 00eb3 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@ - -; 1069 : state->mode = BAD; -; 1070 : break; - - 00eba e9 12 04 00 00 jmp $LN786@inflate -$LN114@inflate: - -; 1071 : } -; 1072 : state->extra = (unsigned)(here.op) & 15; - - 00ebf 0f b6 c8 movzx ecx, al - 00ec2 83 e1 0f and ecx, 15 ; 0000000fH - 00ec5 89 4f 48 mov DWORD PTR [edi+72], ecx - -; 1073 : state->mode = LENEXT; - - 00ec8 c7 07 15 00 00 - 00 mov DWORD PTR [edi], 21 ; 00000015H -$LN699@inflate: - -; 1074 : case LENEXT: -; 1075 : if (state->extra) { - - 00ece 8b 47 48 mov eax, DWORD PTR [edi+72] - 00ed1 85 c0 test eax, eax - 00ed3 74 47 je SHORT $LN736@inflate - -; 1076 : NEEDBITS(state->extra); - - 00ed5 3b f0 cmp esi, eax - 00ed7 73 29 jae SHORT $LN110@inflate - 00ed9 8d a4 24 00 00 - 00 00 npad 7 -$LL108@inflate: - 00ee0 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00ee4 0f 84 4b 04 00 - 00 je $inf_leave$80408 - 00eea 0f b6 02 movzx eax, BYTE PTR [edx] - 00eed ff 4d fc dec DWORD PTR _have$[ebp] - 00ef0 8b ce mov ecx, esi - 00ef2 d3 e0 shl eax, cl - 00ef4 42 inc edx - 00ef5 83 c6 08 add esi, 8 - 00ef8 89 55 f8 mov DWORD PTR _next$[ebp], edx - 00efb 03 d8 add ebx, eax - 00efd 3b 77 48 cmp esi, DWORD PTR [edi+72] - 00f00 72 de jb SHORT $LL108@inflate -$LN110@inflate: - -; 1077 : state->length += BITS(state->extra); - - 00f02 8b 4f 48 mov ecx, DWORD PTR [edi+72] - 00f05 b8 01 00 00 00 mov eax, 1 - 00f0a d3 e0 shl eax, cl - -; 1078 : DROPBITS(state->extra); - - 00f0c 2b f1 sub esi, ecx - 00f0e 48 dec eax - 00f0f 23 c3 and eax, ebx - 00f11 01 47 40 add DWORD PTR [edi+64], eax - 00f14 d3 eb shr ebx, cl - -; 1079 : state->back += state->extra; - - 00f16 01 8f c4 1b 00 - 00 add DWORD PTR [edi+7108], ecx -$LN736@inflate: - -; 1080 : } -; 1081 : Tracevv((stderr, "inflate: length %u\n", state->length)); -; 1082 : state->was = state->length; - - 00f1c 8b 4f 40 mov ecx, DWORD PTR [edi+64] - 00f1f 89 8f c8 1b 00 - 00 mov DWORD PTR [edi+7112], ecx - -; 1083 : state->mode = DIST; - - 00f25 c7 07 16 00 00 - 00 mov DWORD PTR [edi], 22 ; 00000016H -$LN700@inflate: - -; 1084 : case DIST: -; 1085 : for (;;) { -; 1086 : here = state->distcode[BITS(state->distbits)]; - - 00f2b 8b 4f 58 mov ecx, DWORD PTR [edi+88] - 00f2e b8 01 00 00 00 mov eax, 1 - 00f33 d3 e0 shl eax, cl - 00f35 48 dec eax - 00f36 23 c3 and eax, ebx - 00f38 8b c8 mov ecx, eax - 00f3a 8b 47 50 mov eax, DWORD PTR [edi+80] - 00f3d 8b 04 88 mov eax, DWORD PTR [eax+ecx*4] - -; 1087 : if ((unsigned)(here.bits) <= bits) break; - - 00f40 8b c8 mov ecx, eax - 00f42 c1 e9 08 shr ecx, 8 - 00f45 0f b6 c9 movzx ecx, cl - 00f48 89 45 f4 mov DWORD PTR _here$[ebp], eax - 00f4b 3b ce cmp ecx, esi - 00f4d 76 40 jbe SHORT $LN567@inflate - 00f4f 90 npad 1 -$LL98@inflate: - -; 1088 : PULLBYTE(); - - 00f50 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00f54 0f 84 db 03 00 - 00 je $inf_leave$80408 - 00f5a 0f b6 02 movzx eax, BYTE PTR [edx] - 00f5d ff 4d fc dec DWORD PTR _have$[ebp] - 00f60 8b ce mov ecx, esi - 00f62 d3 e0 shl eax, cl - 00f64 8b 4f 58 mov ecx, DWORD PTR [edi+88] - 00f67 42 inc edx - 00f68 83 c6 08 add esi, 8 - 00f6b 03 d8 add ebx, eax - 00f6d b8 01 00 00 00 mov eax, 1 - 00f72 d3 e0 shl eax, cl - 00f74 8b 4f 50 mov ecx, DWORD PTR [edi+80] - 00f77 89 55 f8 mov DWORD PTR _next$[ebp], edx - 00f7a 48 dec eax - 00f7b 23 c3 and eax, ebx - 00f7d 8b 04 81 mov eax, DWORD PTR [ecx+eax*4] - 00f80 8b c8 mov ecx, eax - 00f82 c1 e9 08 shr ecx, 8 - 00f85 0f b6 c9 movzx ecx, cl - 00f88 89 45 f4 mov DWORD PTR _here$[ebp], eax - 00f8b 3b ce cmp ecx, esi - 00f8d 77 c1 ja SHORT $LL98@inflate -$LN567@inflate: - -; 1089 : } -; 1090 : if ((here.op & 0xf0) == 0) { - - 00f8f a8 f0 test al, 240 ; 000000f0H - 00f91 0f 85 b0 00 00 - 00 jne $LN80@inflate - -; 1091 : last = here; -; 1092 : for (;;) { -; 1093 : here = state->distcode[last.val + -; 1094 : (BITS(last.bits + last.op) >> last.bits)]; - - 00f97 8b c8 mov ecx, eax - 00f99 c1 e9 08 shr ecx, 8 - 00f9c 89 4d d4 mov DWORD PTR tv2288[ebp], ecx - 00f9f 0f b6 c9 movzx ecx, cl - 00fa2 89 4d e4 mov DWORD PTR tv2289[ebp], ecx - 00fa5 0f b6 c8 movzx ecx, al - 00fa8 03 4d e4 add ecx, DWORD PTR tv2289[ebp] - 00fab 89 45 dc mov DWORD PTR _last$[ebp], eax - 00fae b8 01 00 00 00 mov eax, 1 - 00fb3 d3 e0 shl eax, cl - 00fb5 8b 4d e4 mov ecx, DWORD PTR tv2289[ebp] - 00fb8 48 dec eax - 00fb9 23 c3 and eax, ebx - 00fbb d3 e8 shr eax, cl - 00fbd 8b 4d f4 mov ecx, DWORD PTR _here$[ebp] - 00fc0 c1 e9 10 shr ecx, 16 ; 00000010H - 00fc3 03 c1 add eax, ecx - 00fc5 8b c8 mov ecx, eax - 00fc7 8b 47 50 mov eax, DWORD PTR [edi+80] - 00fca 8b 04 88 mov eax, DWORD PTR [eax+ecx*4] - -; 1095 : if ((unsigned)(last.bits + here.bits) <= bits) break; - - 00fcd 0f b6 4d d4 movzx ecx, BYTE PTR tv2288[ebp] - 00fd1 89 45 f4 mov DWORD PTR _here$[ebp], eax - 00fd4 c1 e8 08 shr eax, 8 - 00fd7 0f b6 c0 movzx eax, al - 00fda 03 c1 add eax, ecx - 00fdc 3b c6 cmp eax, esi - 00fde 76 56 jbe SHORT $LN83@inflate -$LL90@inflate: - -; 1096 : PULLBYTE(); - - 00fe0 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 00fe4 0f 84 4b 03 00 - 00 je $inf_leave$80408 - 00fea 0f b6 02 movzx eax, BYTE PTR [edx] - 00fed 8b ce mov ecx, esi - 00fef d3 e0 shl eax, cl - 00ff1 8b 4d dc mov ecx, DWORD PTR _last$[ebp] - 00ff4 ff 4d fc dec DWORD PTR _have$[ebp] - 00ff7 42 inc edx - 00ff8 03 d8 add ebx, eax - 00ffa 0f b6 c5 movzx eax, ch - 00ffd 89 45 e4 mov DWORD PTR tv2387[ebp], eax - 01000 0f b6 c9 movzx ecx, cl - 01003 03 c8 add ecx, eax - 01005 b8 01 00 00 00 mov eax, 1 - 0100a d3 e0 shl eax, cl - 0100c 8b 4d e4 mov ecx, DWORD PTR tv2387[ebp] - 0100f 83 c6 08 add esi, 8 - 01012 89 55 f8 mov DWORD PTR _next$[ebp], edx - 01015 48 dec eax - 01016 23 c3 and eax, ebx - 01018 d3 e8 shr eax, cl - 0101a 0f b7 4d de movzx ecx, WORD PTR _last$[ebp+2] - 0101e 03 c1 add eax, ecx - 01020 8b 4f 50 mov ecx, DWORD PTR [edi+80] - 01023 8b 04 81 mov eax, DWORD PTR [ecx+eax*4] - 01026 89 45 f4 mov DWORD PTR _here$[ebp], eax - 01029 c1 e8 08 shr eax, 8 - 0102c 0f b6 c0 movzx eax, al - 0102f 03 45 e4 add eax, DWORD PTR tv2387[ebp] - 01032 3b c6 cmp eax, esi - 01034 77 aa ja SHORT $LL90@inflate -$LN83@inflate: - -; 1097 : } -; 1098 : DROPBITS(last.bits); - - 01036 0f b6 4d dd movzx ecx, BYTE PTR _last$[ebp+1] - -; 1099 : state->back += last.bits; - - 0103a 8b 45 f4 mov eax, DWORD PTR _here$[ebp] - 0103d d3 eb shr ebx, cl - 0103f 2b f1 sub esi, ecx - 01041 01 8f c4 1b 00 - 00 add DWORD PTR [edi+7108], ecx -$LN80@inflate: - -; 1100 : } -; 1101 : DROPBITS(here.bits); - - 01047 8b c8 mov ecx, eax - 01049 c1 e9 08 shr ecx, 8 - 0104c 0f b6 c9 movzx ecx, cl - -; 1102 : state->back += here.bits; - - 0104f 01 8f c4 1b 00 - 00 add DWORD PTR [edi+7108], ecx - 01055 d3 eb shr ebx, cl - 01057 2b f1 sub esi, ecx - 01059 89 4d e4 mov DWORD PTR tv2289[ebp], ecx - -; 1103 : if (here.op & 64) { - - 0105c a8 40 test al, 64 ; 00000040H - 0105e 74 0f je SHORT $LN77@inflate - -; 1104 : strm->msg = (char *)"invalid distance code"; - - 01060 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 01063 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@ - -; 1105 : state->mode = BAD; -; 1106 : break; - - 0106a e9 62 02 00 00 jmp $LN786@inflate -$LN77@inflate: - -; 1107 : } -; 1108 : state->offset = (unsigned)here.val; - - 0106f 8b c8 mov ecx, eax - -; 1109 : state->extra = (unsigned)(here.op) & 15; - - 01071 0f b6 c0 movzx eax, al - 01074 c1 e9 10 shr ecx, 16 ; 00000010H - 01077 83 e0 0f and eax, 15 ; 0000000fH - 0107a 89 4f 44 mov DWORD PTR [edi+68], ecx - 0107d 89 47 48 mov DWORD PTR [edi+72], eax - -; 1110 : state->mode = DISTEXT; - - 01080 c7 07 17 00 00 - 00 mov DWORD PTR [edi], 23 ; 00000017H -$LN701@inflate: - -; 1111 : case DISTEXT: -; 1112 : if (state->extra) { - - 01086 8b 47 48 mov eax, DWORD PTR [edi+72] - 01089 85 c0 test eax, eax - 0108b 74 40 je SHORT $LN75@inflate - -; 1113 : NEEDBITS(state->extra); - - 0108d 3b f0 cmp esi, eax - 0108f 73 22 jae SHORT $LN73@inflate -$LL71@inflate: - 01091 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 01095 0f 84 9a 02 00 - 00 je $inf_leave$80408 - 0109b 0f b6 02 movzx eax, BYTE PTR [edx] - 0109e ff 4d fc dec DWORD PTR _have$[ebp] - 010a1 8b ce mov ecx, esi - 010a3 d3 e0 shl eax, cl - 010a5 42 inc edx - 010a6 83 c6 08 add esi, 8 - 010a9 89 55 f8 mov DWORD PTR _next$[ebp], edx - 010ac 03 d8 add ebx, eax - 010ae 3b 77 48 cmp esi, DWORD PTR [edi+72] - 010b1 72 de jb SHORT $LL71@inflate -$LN73@inflate: - -; 1114 : state->offset += BITS(state->extra); - - 010b3 8b 4f 48 mov ecx, DWORD PTR [edi+72] - 010b6 b8 01 00 00 00 mov eax, 1 - 010bb d3 e0 shl eax, cl - -; 1115 : DROPBITS(state->extra); - - 010bd 2b f1 sub esi, ecx - 010bf 48 dec eax - 010c0 23 c3 and eax, ebx - 010c2 01 47 44 add DWORD PTR [edi+68], eax - 010c5 d3 eb shr ebx, cl - -; 1116 : state->back += state->extra; - - 010c7 01 8f c4 1b 00 - 00 add DWORD PTR [edi+7108], ecx -$LN75@inflate: - -; 1117 : } -; 1118 : #ifdef INFLATE_STRICT -; 1119 : if (state->offset > state->dmax) { -; 1120 : strm->msg = (char *)"invalid distance too far back"; -; 1121 : state->mode = BAD; -; 1122 : break; -; 1123 : } -; 1124 : #endif -; 1125 : Tracevv((stderr, "inflate: distance %u\n", state->offset)); -; 1126 : state->mode = MATCH; - - 010cd c7 07 18 00 00 - 00 mov DWORD PTR [edi], 24 ; 00000018H -$LN702@inflate: - -; 1127 : case MATCH: -; 1128 : if (left == 0) goto inf_leave; - - 010d3 83 7d f0 00 cmp DWORD PTR _left$[ebp], 0 - 010d7 0f 84 58 02 00 - 00 je $inf_leave$80408 - -; 1129 : copy = out - left; - - 010dd 8b 4d e0 mov ecx, DWORD PTR _out$[ebp] - 010e0 2b 4d f0 sub ecx, DWORD PTR _left$[ebp] - -; 1130 : if (state->offset > copy) { /* copy from window */ - - 010e3 8b 47 44 mov eax, DWORD PTR [edi+68] - 010e6 3b c1 cmp eax, ecx - 010e8 76 54 jbe SHORT $LN60@inflate - -; 1131 : copy = state->offset - copy; - - 010ea 2b c1 sub eax, ecx - 010ec 89 45 f4 mov DWORD PTR _copy$[ebp], eax - -; 1132 : if (copy > state->whave) { - - 010ef 3b 47 2c cmp eax, DWORD PTR [edi+44] - 010f2 76 18 jbe SHORT $LN58@inflate - -; 1133 : if (state->sane) { - - 010f4 83 bf c0 1b 00 - 00 00 cmp DWORD PTR [edi+7104], 0 - 010fb 74 0f je SHORT $LN58@inflate - -; 1134 : strm->msg = (char *)"invalid distance too far back"; - - 010fd 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 01100 c7 41 18 00 00 - 00 00 mov DWORD PTR [ecx+24], OFFSET ??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@ - -; 1135 : state->mode = BAD; -; 1136 : break; - - 01107 e9 c5 01 00 00 jmp $LN786@inflate -$LN58@inflate: - -; 1137 : } -; 1138 : #ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR -; 1139 : Trace((stderr, "inflate.c too far\n")); -; 1140 : copy -= state->whave; -; 1141 : if (copy > state->length) copy = state->length; -; 1142 : if (copy > left) copy = left; -; 1143 : left -= copy; -; 1144 : state->length -= copy; -; 1145 : do { -; 1146 : *put++ = 0; -; 1147 : } while (--copy); -; 1148 : if (state->length == 0) state->mode = LEN; -; 1149 : break; -; 1150 : #endif -; 1151 : } -; 1152 : if (copy > state->wnext) { - - 0110c 8b 4f 30 mov ecx, DWORD PTR [edi+48] - 0110f 3b c1 cmp eax, ecx - 01111 76 0f jbe SHORT $LN57@inflate - -; 1153 : copy -= state->wnext; - - 01113 2b c1 sub eax, ecx - -; 1154 : from = state->window + (state->wsize - copy); - - 01115 8b 4f 34 mov ecx, DWORD PTR [edi+52] - 01118 03 4f 28 add ecx, DWORD PTR [edi+40] - 0111b 89 45 f4 mov DWORD PTR _copy$[ebp], eax - 0111e 2b c8 sub ecx, eax - -; 1155 : } -; 1156 : else - - 01120 eb 0b jmp SHORT $LN784@inflate -$LN57@inflate: - -; 1157 : from = state->window + (state->wnext - copy); - - 01122 8b 4f 34 mov ecx, DWORD PTR [edi+52] - 01125 2b c8 sub ecx, eax - 01127 03 4f 30 add ecx, DWORD PTR [edi+48] - 0112a 8b 45 f4 mov eax, DWORD PTR _copy$[ebp] -$LN784@inflate: - 0112d 89 4d d4 mov DWORD PTR _from$[ebp], ecx - -; 1158 : if (copy > state->length) copy = state->length; - - 01130 8b 4f 40 mov ecx, DWORD PTR [edi+64] - 01133 89 4d dc mov DWORD PTR tv2131[ebp], ecx - 01136 3b c1 cmp eax, ecx - 01138 76 15 jbe SHORT $LN54@inflate - 0113a 8b c1 mov eax, ecx - -; 1159 : } -; 1160 : else { /* copy from output */ - - 0113c eb 0e jmp SHORT $LN785@inflate -$LN60@inflate: - -; 1161 : from = put - state->offset; - - 0113e 8b 4d e8 mov ecx, DWORD PTR _put$[ebp] - 01141 2b c8 sub ecx, eax - -; 1162 : copy = state->length; - - 01143 8b 47 40 mov eax, DWORD PTR [edi+64] - 01146 89 4d d4 mov DWORD PTR _from$[ebp], ecx - 01149 89 45 dc mov DWORD PTR tv2131[ebp], eax -$LN785@inflate: - 0114c 89 45 f4 mov DWORD PTR _copy$[ebp], eax -$LN54@inflate: - -; 1163 : } -; 1164 : if (copy > left) copy = left; - - 0114f 8b 4d f0 mov ecx, DWORD PTR _left$[ebp] - 01152 3b c1 cmp eax, ecx - 01154 76 05 jbe SHORT $LN53@inflate - 01156 8b c1 mov eax, ecx - 01158 89 45 f4 mov DWORD PTR _copy$[ebp], eax -$LN53@inflate: - -; 1165 : left -= copy; - - 0115b 2b c8 sub ecx, eax - 0115d 89 4d f0 mov DWORD PTR _left$[ebp], ecx - -; 1166 : state->length -= copy; - - 01160 8b 4d dc mov ecx, DWORD PTR tv2131[ebp] - 01163 2b c8 sub ecx, eax - -; 1169 : } while (--copy); - - 01165 8b 45 e8 mov eax, DWORD PTR _put$[ebp] - 01168 89 4f 40 mov DWORD PTR [edi+64], ecx - 0116b 8b 4d d4 mov ecx, DWORD PTR _from$[ebp] - 0116e 2b 4d e8 sub ecx, DWORD PTR _put$[ebp] - 01171 89 4d d4 mov DWORD PTR tv3076[ebp], ecx - 01174 eb 03 jmp SHORT $LN52@inflate -$LL739@inflate: - 01176 8b 4d d4 mov ecx, DWORD PTR tv3076[ebp] -$LN52@inflate: - -; 1167 : do { -; 1168 : *put++ = *from++; - - 01179 8a 0c 01 mov cl, BYTE PTR [ecx+eax] - 0117c 8b 45 e8 mov eax, DWORD PTR _put$[ebp] - 0117f 88 08 mov BYTE PTR [eax], cl - 01181 40 inc eax - -; 1169 : } while (--copy); - - 01182 ff 4d f4 dec DWORD PTR _copy$[ebp] - 01185 89 45 e8 mov DWORD PTR _put$[ebp], eax - 01188 75 ec jne SHORT $LL739@inflate - -; 1170 : if (state->length == 0) state->mode = LEN; - - 0118a 83 7f 40 00 cmp DWORD PTR [edi+64], 0 - 0118e 0f 85 43 01 00 - 00 jne $LN490@inflate - 01194 c7 07 14 00 00 - 00 mov DWORD PTR [edi], 20 ; 00000014H - -; 1171 : break; - - 0119a e9 38 01 00 00 jmp $LN490@inflate -$LN48@inflate: - -; 1172 : case LIT: -; 1173 : if (left == 0) goto inf_leave; - - 0119f 83 7d f0 00 cmp DWORD PTR _left$[ebp], 0 - 011a3 0f 84 8c 01 00 - 00 je $inf_leave$80408 - -; 1174 : *put++ = (unsigned char)(state->length); - - 011a9 8b 45 e8 mov eax, DWORD PTR _put$[ebp] - 011ac 8a 4f 40 mov cl, BYTE PTR [edi+64] - 011af 88 08 mov BYTE PTR [eax], cl - 011b1 40 inc eax - -; 1175 : left--; - - 011b2 ff 4d f0 dec DWORD PTR _left$[ebp] - 011b5 89 45 e8 mov DWORD PTR _put$[ebp], eax - -; 1176 : state->mode = LEN; - - 011b8 c7 07 14 00 00 - 00 mov DWORD PTR [edi], 20 ; 00000014H - -; 1177 : break; - - 011be e9 14 01 00 00 jmp $LN490@inflate -$LN46@inflate: - -; 1178 : case CHECK: -; 1179 : if (state->wrap) { - - 011c3 83 7f 08 00 cmp DWORD PTR [edi+8], 0 - 011c7 0f 84 ac 00 00 - 00 je $LN31@inflate - -; 1180 : NEEDBITS(32); - - 011cd 83 fe 20 cmp esi, 32 ; 00000020H - 011d0 73 22 jae SHORT $LN43@inflate -$LL41@inflate: - 011d2 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 011d6 0f 84 59 01 00 - 00 je $inf_leave$80408 - 011dc 0f b6 02 movzx eax, BYTE PTR [edx] - 011df ff 4d fc dec DWORD PTR _have$[ebp] - 011e2 8b ce mov ecx, esi - 011e4 d3 e0 shl eax, cl - 011e6 42 inc edx - 011e7 83 c6 08 add esi, 8 - 011ea 89 55 f8 mov DWORD PTR _next$[ebp], edx - 011ed 03 d8 add ebx, eax - 011ef 83 fe 20 cmp esi, 32 ; 00000020H - 011f2 72 de jb SHORT $LL41@inflate -$LN43@inflate: - -; 1181 : out -= left; - - 011f4 8b 45 e0 mov eax, DWORD PTR _out$[ebp] - 011f7 2b 45 f0 sub eax, DWORD PTR _left$[ebp] - -; 1182 : strm->total_out += out; - - 011fa 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 011fd 01 41 14 add DWORD PTR [ecx+20], eax - -; 1183 : state->total += out; - - 01200 01 47 1c add DWORD PTR [edi+28], eax - 01203 89 45 e0 mov DWORD PTR _out$[ebp], eax - -; 1184 : if (out) - - 01206 85 c0 test eax, eax - 01208 74 29 je SHORT $LN35@inflate - -; 1185 : strm->adler = state->check = -; 1186 : UPDATE(state->check, put - out, out); - - 0120a 8b 4d e8 mov ecx, DWORD PTR _put$[ebp] - 0120d 8b 57 18 mov edx, DWORD PTR [edi+24] - 01210 50 push eax - 01211 2b c8 sub ecx, eax - 01213 83 7f 10 00 cmp DWORD PTR [edi+16], 0 - 01217 51 push ecx - 01218 52 push edx - 01219 74 07 je SHORT $LN504@inflate - 0121b e8 00 00 00 00 call _crc32@12 - 01220 eb 05 jmp SHORT $LN505@inflate -$LN504@inflate: - 01222 e8 00 00 00 00 call _adler32@12 -$LN505@inflate: - 01227 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 0122a 8b 55 f8 mov edx, DWORD PTR _next$[ebp] - 0122d 89 47 18 mov DWORD PTR [edi+24], eax - 01230 89 41 30 mov DWORD PTR [ecx+48], eax -$LN35@inflate: - -; 1187 : out = left; -; 1188 : if (( -; 1189 : #ifdef GUNZIP -; 1190 : state->flags ? hold : -; 1191 : #endif -; 1192 : REVERSE(hold)) != state->check) { - - 01233 83 7f 10 00 cmp DWORD PTR [edi+16], 0 - 01237 8b 45 f0 mov eax, DWORD PTR _left$[ebp] - 0123a 89 45 e0 mov DWORD PTR _out$[ebp], eax - 0123d 8b c3 mov eax, ebx - 0123f 75 23 jne SHORT $LN507@inflate - 01241 25 00 ff 00 00 and eax, 65280 ; 0000ff00H - 01246 8b cb mov ecx, ebx - 01248 c1 e1 10 shl ecx, 16 ; 00000010H - 0124b 03 c1 add eax, ecx - 0124d 8b cb mov ecx, ebx - 0124f c1 e9 08 shr ecx, 8 - 01252 81 e1 00 ff 00 - 00 and ecx, 65280 ; 0000ff00H - 01258 c1 e0 08 shl eax, 8 - 0125b 03 c1 add eax, ecx - 0125d 8b cb mov ecx, ebx - 0125f c1 e9 18 shr ecx, 24 ; 00000018H - 01262 03 c1 add eax, ecx -$LN507@inflate: - 01264 3b 47 18 cmp eax, DWORD PTR [edi+24] - 01267 74 0c je SHORT $LN33@inflate - -; 1193 : strm->msg = (char *)"incorrect data check"; - - 01269 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 0126c c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET ??_C@_0BF@MEIGEHBE@incorrect?5data?5check?$AA@ - -; 1194 : state->mode = BAD; -; 1195 : break; - - 01273 eb 5c jmp SHORT $LN786@inflate -$LN33@inflate: - -; 1196 : } -; 1197 : INITBITS(); - - 01275 33 db xor ebx, ebx - 01277 33 f6 xor esi, esi -$LN31@inflate: - -; 1198 : Tracev((stderr, "inflate: check matches trailer\n")); -; 1199 : } -; 1200 : #ifdef GUNZIP -; 1201 : state->mode = LENGTH; - - 01279 c7 07 1b 00 00 - 00 mov DWORD PTR [edi], 27 ; 0000001bH -$LN742@inflate: - -; 1202 : case LENGTH: -; 1203 : if (state->wrap && state->flags) { - - 0127f 83 7f 08 00 cmp DWORD PTR [edi+8], 0 - 01283 0f 84 96 00 00 - 00 je $LN16@inflate - 01289 83 7f 10 00 cmp DWORD PTR [edi+16], 0 - 0128d 0f 84 8c 00 00 - 00 je $LN16@inflate - -; 1204 : NEEDBITS(32); - - 01293 83 fe 20 cmp esi, 32 ; 00000020H - 01296 73 2a jae SHORT $LN27@inflate - 01298 eb 06 8d 9b 00 - 00 00 00 npad 8 -$LL25@inflate: - 012a0 83 7d fc 00 cmp DWORD PTR _have$[ebp], 0 - 012a4 0f 84 8b 00 00 - 00 je $inf_leave$80408 - 012aa 0f b6 02 movzx eax, BYTE PTR [edx] - 012ad ff 4d fc dec DWORD PTR _have$[ebp] - 012b0 8b ce mov ecx, esi - 012b2 d3 e0 shl eax, cl - 012b4 42 inc edx - 012b5 83 c6 08 add esi, 8 - 012b8 89 55 f8 mov DWORD PTR _next$[ebp], edx - 012bb 03 d8 add ebx, eax - 012bd 83 fe 20 cmp esi, 32 ; 00000020H - 012c0 72 de jb SHORT $LL25@inflate -$LN27@inflate: - -; 1205 : if (hold != (state->total & 0xffffffffUL)) { - - 012c2 3b 5f 1c cmp ebx, DWORD PTR [edi+28] - 012c5 74 54 je SHORT $LN18@inflate - -; 1206 : strm->msg = (char *)"incorrect length check"; - - 012c7 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 012ca c7 41 18 00 00 - 00 00 mov DWORD PTR [ecx+24], OFFSET ??_C@_0BH@FGKKJGOC@incorrect?5length?5check?$AA@ -$LN786@inflate: - -; 1207 : state->mode = BAD; - - 012d1 c7 07 1d 00 00 - 00 mov DWORD PTR [edi], 29 ; 0000001dH -$LN490@inflate: - -; 640 : out = left; -; 641 : ret = Z_OK; -; 642 : for (;;) -; 643 : switch (state->mode) { - - 012d7 8b 07 mov eax, DWORD PTR [edi] - 012d9 83 f8 1e cmp eax, 30 ; 0000001eH - 012dc 0f 86 96 ed ff - ff jbe $LL493@inflate -$LN12@inflate: - -; 1220 : goto inf_leave; -; 1221 : case MEM: -; 1222 : return Z_MEM_ERROR; -; 1223 : case SYNC: -; 1224 : default: -; 1225 : return Z_STREAM_ERROR; - - 012e2 b8 fe ff ff ff mov eax, -2 ; fffffffeH -$LN780@inflate: - 012e7 5e pop esi - 012e8 5b pop ebx - 012e9 5f pop edi - -; 1255 : return ret; -; 1256 : } - - 012ea 8b e5 mov esp, ebp - 012ec 5d pop ebp - 012ed c2 08 00 ret 8 -$LN579@inflate: - -; 825 : RESTORE(); - - 012f0 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 012f3 8b 4d e8 mov ecx, DWORD PTR _put$[ebp] - 012f6 89 48 0c mov DWORD PTR [eax+12], ecx - 012f9 8b 4d f0 mov ecx, DWORD PTR _left$[ebp] - 012fc 89 10 mov DWORD PTR [eax], edx - 012fe 8b 55 fc mov edx, DWORD PTR _have$[ebp] - 01301 89 48 10 mov DWORD PTR [eax+16], ecx - 01304 89 50 04 mov DWORD PTR [eax+4], edx - 01307 89 77 3c mov DWORD PTR [edi+60], esi - 0130a 5e pop esi - 0130b 89 5f 38 mov DWORD PTR [edi+56], ebx - 0130e 5b pop ebx - -; 826 : return Z_NEED_DICT; - - 0130f b8 02 00 00 00 mov eax, 2 - 01314 5f pop edi - -; 1255 : return ret; -; 1256 : } - - 01315 8b e5 mov esp, ebp - 01317 5d pop ebp - 01318 c2 08 00 ret 8 -$LN18@inflate: - -; 1208 : break; -; 1209 : } -; 1210 : INITBITS(); - - 0131b 33 db xor ebx, ebx - 0131d 33 f6 xor esi, esi -$LN16@inflate: - -; 1211 : Tracev((stderr, "inflate: length matches trailer\n")); -; 1212 : } -; 1213 : #endif -; 1214 : state->mode = DONE; - - 0131f c7 07 1c 00 00 - 00 mov DWORD PTR [edi], 28 ; 0000001cH -$LN747@inflate: - -; 1215 : case DONE: -; 1216 : ret = Z_STREAM_END; - - 01325 c7 45 d8 01 00 - 00 00 mov DWORD PTR _ret$[ebp], 1 - -; 1217 : goto inf_leave; - - 0132c eb 07 jmp SHORT $inf_leave$80408 -$LN14@inflate: - -; 1218 : case BAD: -; 1219 : ret = Z_DATA_ERROR; - - 0132e c7 45 d8 fd ff - ff ff mov DWORD PTR _ret$[ebp], -3 ; fffffffdH -$inf_leave$80408: - -; 1226 : } -; 1227 : -; 1228 : /* -; 1229 : Return from inflate(), updating the total counts and the check value. -; 1230 : If there was no progress during the inflate() call, return a buffer -; 1231 : error. Call updatewindow() to create and/or update the window state. -; 1232 : Note: a memory error from inflate() is non-recoverable. -; 1233 : */ -; 1234 : inf_leave: -; 1235 : RESTORE(); - - 01335 8b 45 08 mov eax, DWORD PTR _strm$[ebp] - 01338 8b 4d e8 mov ecx, DWORD PTR _put$[ebp] - 0133b 89 48 0c mov DWORD PTR [eax+12], ecx - 0133e 8b 4d f0 mov ecx, DWORD PTR _left$[ebp] - 01341 89 10 mov DWORD PTR [eax], edx - 01343 8b 55 fc mov edx, DWORD PTR _have$[ebp] - 01346 89 48 10 mov DWORD PTR [eax+16], ecx - 01349 89 50 04 mov DWORD PTR [eax+4], edx - -; 1236 : if (state->wsize || (out != strm->avail_out && state->mode < BAD && -; 1237 : (state->mode < CHECK || flush != Z_FINISH))) - - 0134c 83 7f 28 00 cmp DWORD PTR [edi+40], 0 - 01350 89 5f 38 mov DWORD PTR [edi+56], ebx - 01353 89 77 3c mov DWORD PTR [edi+60], esi - 01356 75 1a jne SHORT $LN6@inflate - 01358 8b 4d e0 mov ecx, DWORD PTR _out$[ebp] - 0135b 3b 48 10 cmp ecx, DWORD PTR [eax+16] - 0135e 74 35 je SHORT $LN704@inflate - 01360 8b 07 mov eax, DWORD PTR [edi] - 01362 83 f8 1d cmp eax, 29 ; 0000001dH - 01365 7d 2e jge SHORT $LN704@inflate - 01367 83 f8 1a cmp eax, 26 ; 0000001aH - 0136a 7c 06 jl SHORT $LN6@inflate - 0136c 83 7d 0c 04 cmp DWORD PTR _flush$[ebp], 4 - 01370 74 23 je SHORT $LN704@inflate -$LN6@inflate: - -; 1238 : if (updatewindow(strm, out)) { - - 01372 8b 45 e0 mov eax, DWORD PTR _out$[ebp] - 01375 8b 5d 08 mov ebx, DWORD PTR _strm$[ebp] - 01378 e8 00 00 00 00 call _updatewindow - 0137d 85 c0 test eax, eax - 0137f 74 14 je SHORT $LN704@inflate - -; 1239 : state->mode = MEM; - - 01381 c7 07 1e 00 00 - 00 mov DWORD PTR [edi], 30 ; 0000001eH -$LN13@inflate: - 01387 5e pop esi - 01388 5b pop ebx - -; 1240 : return Z_MEM_ERROR; - - 01389 b8 fc ff ff ff mov eax, -4 ; fffffffcH - 0138e 5f pop edi - -; 1255 : return ret; -; 1256 : } - - 0138f 8b e5 mov esp, ebp - 01391 5d pop ebp - 01392 c2 08 00 ret 8 -$LN704@inflate: - -; 1241 : } -; 1242 : in -= strm->avail_in; - - 01395 8b 75 08 mov esi, DWORD PTR _strm$[ebp] - 01398 8b 45 d0 mov eax, DWORD PTR _in$[ebp] - 0139b 2b 46 04 sub eax, DWORD PTR [esi+4] - -; 1243 : out -= strm->avail_out; - - 0139e 8b 5d e0 mov ebx, DWORD PTR _out$[ebp] - 013a1 2b 5e 10 sub ebx, DWORD PTR [esi+16] - -; 1244 : strm->total_in += in; - - 013a4 01 46 08 add DWORD PTR [esi+8], eax - -; 1245 : strm->total_out += out; - - 013a7 01 5e 14 add DWORD PTR [esi+20], ebx - -; 1246 : state->total += out; - - 013aa 01 5f 1c add DWORD PTR [edi+28], ebx - -; 1247 : if (state->wrap && out) - - 013ad 83 7f 08 00 cmp DWORD PTR [edi+8], 0 - 013b1 89 45 d0 mov DWORD PTR _in$[ebp], eax - 013b4 74 31 je SHORT $LN4@inflate - 013b6 85 db test ebx, ebx - 013b8 74 2d je SHORT $LN4@inflate - -; 1248 : strm->adler = state->check = -; 1249 : UPDATE(state->check, strm->next_out - out, out); - - 013ba 83 7f 10 00 cmp DWORD PTR [edi+16], 0 - 013be 53 push ebx - 013bf 74 11 je SHORT $LN508@inflate - 013c1 8b 56 0c mov edx, DWORD PTR [esi+12] - 013c4 8b 47 18 mov eax, DWORD PTR [edi+24] - 013c7 2b d3 sub edx, ebx - 013c9 52 push edx - 013ca 50 push eax - 013cb e8 00 00 00 00 call _crc32@12 - 013d0 eb 0f jmp SHORT $LN509@inflate -$LN508@inflate: - 013d2 8b 4e 0c mov ecx, DWORD PTR [esi+12] - 013d5 8b 57 18 mov edx, DWORD PTR [edi+24] - 013d8 2b cb sub ecx, ebx - 013da 51 push ecx - 013db 52 push edx - 013dc e8 00 00 00 00 call _adler32@12 -$LN509@inflate: - 013e1 89 47 18 mov DWORD PTR [edi+24], eax - 013e4 89 46 30 mov DWORD PTR [esi+48], eax -$LN4@inflate: - -; 1250 : strm->data_type = state->bits + (state->last ? 64 : 0) + -; 1251 : (state->mode == TYPE ? 128 : 0) + -; 1252 : (state->mode == LEN_ || state->mode == COPY_ ? 256 : 0); - - 013e7 8b 07 mov eax, DWORD PTR [edi] - 013e9 83 f8 13 cmp eax, 19 ; 00000013H - 013ec 74 0c je SHORT $LN510@inflate - 013ee c7 45 08 00 00 - 00 00 mov DWORD PTR tv1321[ebp], 0 - 013f5 83 f8 0e cmp eax, 14 ; 0000000eH - 013f8 75 07 jne SHORT $LN511@inflate -$LN510@inflate: - 013fa c7 45 08 00 01 - 00 00 mov DWORD PTR tv1321[ebp], 256 ; 00000100H -$LN511@inflate: - 01401 8b 4f 04 mov ecx, DWORD PTR [edi+4] - 01404 f7 d9 neg ecx - 01406 1b c9 sbb ecx, ecx - 01408 33 d2 xor edx, edx - 0140a 83 e1 40 and ecx, 64 ; 00000040H - 0140d 83 f8 0b cmp eax, 11 ; 0000000bH - 01410 0f 95 c2 setne dl - 01413 03 4d 08 add ecx, DWORD PTR tv1321[ebp] - 01416 4a dec edx - 01417 81 e2 80 00 00 - 00 and edx, 128 ; 00000080H - 0141d 03 d1 add edx, ecx - 0141f 03 57 3c add edx, DWORD PTR [edi+60] - -; 1253 : if (((in == 0 && out == 0) || flush == Z_FINISH) && ret == Z_OK) - - 01422 83 7d d0 00 cmp DWORD PTR _in$[ebp], 0 - 01426 89 56 2c mov DWORD PTR [esi+44], edx - 01429 75 04 jne SHORT $LN1@inflate - 0142b 85 db test ebx, ebx - 0142d 74 06 je SHORT $LN2@inflate -$LN1@inflate: - 0142f 83 7d 0c 04 cmp DWORD PTR _flush$[ebp], 4 - 01433 75 19 jne SHORT $LN705@inflate -$LN2@inflate: - 01435 8b 45 d8 mov eax, DWORD PTR _ret$[ebp] - 01438 85 c0 test eax, eax - 0143a 0f 85 a7 fe ff - ff jne $LN780@inflate - -; 1254 : ret = Z_BUF_ERROR; - - 01440 5e pop esi - 01441 5b pop ebx - 01442 b8 fb ff ff ff mov eax, -5 ; fffffffbH - 01447 5f pop edi - -; 1255 : return ret; -; 1256 : } - - 01448 8b e5 mov esp, ebp - 0144a 5d pop ebp - 0144b c2 08 00 ret 8 -$LN705@inflate: - -; 1254 : ret = Z_BUF_ERROR; - - 0144e 8b 45 d8 mov eax, DWORD PTR _ret$[ebp] - 01451 5e pop esi - 01452 5b pop ebx - 01453 5f pop edi - -; 1255 : return ret; -; 1256 : } - - 01454 8b e5 mov esp, ebp - 01456 5d pop ebp - 01457 c2 08 00 ret 8 -$LN498@inflate: - -; 634 : return Z_STREAM_ERROR; - - 0145a b8 fe ff ff ff mov eax, -2 ; fffffffeH - 0145f 5f pop edi - -; 1255 : return ret; -; 1256 : } - - 01460 8b e5 mov esp, ebp - 01462 5d pop ebp - 01463 c2 08 00 ret 8 - 01466 8b ff npad 2 -$LN787@inflate: - 01468 00 00 00 00 DD $LN489@inflate - 0146c 00 00 00 00 DD $LN457@inflate - 01470 00 00 00 00 DD $LN437@inflate - 01474 00 00 00 00 DD $LN419@inflate - 01478 00 00 00 00 DD $LN713@inflate - 0147c 00 00 00 00 DD $LN715@inflate - 01480 00 00 00 00 DD $LN716@inflate - 01484 00 00 00 00 DD $LN720@inflate - 01488 00 00 00 00 DD $LN724@inflate - 0148c 00 00 00 00 DD $LN333@inflate - 01490 00 00 00 00 DD $LN726@inflate - 01494 00 00 00 00 DD $LN316@inflate - 01498 00 00 00 00 DD $LN315@inflate - 0149c 00 00 00 00 DD $LN282@inflate - 014a0 00 00 00 00 DD $LN266@inflate - 014a4 00 00 00 00 DD $LN264@inflate - 014a8 00 00 00 00 DD $LN258@inflate - 014ac 00 00 00 00 DD $LN730@inflate - 014b0 00 00 00 00 DD $LN528@inflate - 014b4 00 00 00 00 DD $LN148@inflate - 014b8 00 00 00 00 DD $LN146@inflate - 014bc 00 00 00 00 DD $LN699@inflate - 014c0 00 00 00 00 DD $LN700@inflate - 014c4 00 00 00 00 DD $LN701@inflate - 014c8 00 00 00 00 DD $LN702@inflate - 014cc 00 00 00 00 DD $LN48@inflate - 014d0 00 00 00 00 DD $LN46@inflate - 014d4 00 00 00 00 DD $LN742@inflate - 014d8 00 00 00 00 DD $LN747@inflate - 014dc 00 00 00 00 DD $LN14@inflate - 014e0 00 00 00 00 DD $LN13@inflate -$LN788@inflate: - 014e4 00 00 00 00 DD $LN294@inflate - 014e8 00 00 00 00 DD $LN293@inflate - 014ec 00 00 00 00 DD $LN288@inflate - 014f0 00 00 00 00 DD $LN287@inflate -_inflate@8 ENDP -_TEXT ENDS -PUBLIC _inflateReset@4 -; Function compile flags: /Ogtp -; COMDAT _inflateReset@4 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_inflateReset@4 PROC ; COMDAT - -; 130 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 131 : struct inflate_state FAR *state; -; 132 : -; 133 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00003 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 00006 33 d2 xor edx, edx - 00008 3b ca cmp ecx, edx - 0000a 74 1a je SHORT $LN1@inflateRes@2 - 0000c 8b 41 1c mov eax, DWORD PTR [ecx+28] - 0000f 3b c2 cmp eax, edx - 00011 74 13 je SHORT $LN1@inflateRes@2 - -; 134 : state = (struct inflate_state FAR *)strm->state; -; 135 : state->wsize = 0; -; 136 : state->whave = 0; -; 137 : state->wnext = 0; -; 138 : return inflateResetKeep(strm); - - 00013 51 push ecx - 00014 89 50 28 mov DWORD PTR [eax+40], edx - 00017 89 50 2c mov DWORD PTR [eax+44], edx - 0001a 89 50 30 mov DWORD PTR [eax+48], edx - 0001d e8 00 00 00 00 call _inflateResetKeep@4 - -; 139 : } - - 00022 5d pop ebp - 00023 c2 04 00 ret 4 -$LN1@inflateRes@2: - -; 131 : struct inflate_state FAR *state; -; 132 : -; 133 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00026 b8 fe ff ff ff mov eax, -2 ; fffffffeH - -; 139 : } - - 0002b 5d pop ebp - 0002c c2 04 00 ret 4 -_inflateReset@4 ENDP -PUBLIC _inflateSync@4 -; Function compile flags: /Ogtp -; COMDAT _inflateSync@4 -_TEXT SEGMENT -_out$ = 8 ; size = 4 -_buf$ = 8 ; size = 4 -_strm$ = 8 ; size = 4 -_inflateSync@4 PROC ; COMDAT - -; 1368 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - -; 1369 : unsigned len; /* number of bytes to look at or looked at */ -; 1370 : unsigned long in, out; /* temporary to save total_in and total_out */ -; 1371 : unsigned char buf[4]; /* to restore bit buffer to byte string */ -; 1372 : struct inflate_state FAR *state; -; 1373 : -; 1374 : /* check parameters */ -; 1375 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00004 8b 5d 08 mov ebx, DWORD PTR _strm$[ebp] - 00007 57 push edi - 00008 85 db test ebx, ebx - 0000a 0f 84 d2 00 00 - 00 je $LN6@inflateSyn@2 - 00010 8b 7b 1c mov edi, DWORD PTR [ebx+28] - 00013 85 ff test edi, edi - 00015 0f 84 c7 00 00 - 00 je $LN6@inflateSyn@2 - -; 1376 : state = (struct inflate_state FAR *)strm->state; -; 1377 : if (strm->avail_in == 0 && state->bits < 8) return Z_BUF_ERROR; - - 0001b 83 7b 04 00 cmp DWORD PTR [ebx+4], 0 - 0001f 75 11 jne SHORT $LN5@inflateSyn@2 - 00021 83 7f 3c 08 cmp DWORD PTR [edi+60], 8 - 00025 73 0b jae SHORT $LN5@inflateSyn@2 - 00027 5f pop edi - 00028 b8 fb ff ff ff mov eax, -5 ; fffffffbH - 0002d 5b pop ebx - -; 1407 : } - - 0002e 5d pop ebp - 0002f c2 04 00 ret 4 -$LN5@inflateSyn@2: - -; 1378 : -; 1379 : /* if first time, start search in bit buffer */ -; 1380 : if (state->mode != SYNC) { - - 00032 83 3f 1f cmp DWORD PTR [edi], 31 ; 0000001fH - 00035 56 push esi - 00036 74 57 je SHORT $LN4@inflateSyn@2 - -; 1381 : state->mode = SYNC; -; 1382 : state->hold <<= state->bits & 7; - - 00038 8b 47 3c mov eax, DWORD PTR [edi+60] - 0003b 8b c8 mov ecx, eax - 0003d 83 e1 07 and ecx, 7 - 00040 d3 67 38 shl DWORD PTR [edi+56], cl - -; 1383 : state->bits -= state->bits & 7; - - 00043 2b c1 sub eax, ecx - -; 1384 : len = 0; - - 00045 33 c9 xor ecx, ecx - 00047 c7 07 1f 00 00 - 00 mov DWORD PTR [edi], 31 ; 0000001fH - 0004d 89 47 3c mov DWORD PTR [edi+60], eax - -; 1385 : while (state->bits >= 8) { - - 00050 83 f8 08 cmp eax, 8 - 00053 72 24 jb SHORT $LN2@inflateSyn@2 - 00055 8b 77 38 mov esi, DWORD PTR [edi+56] - 00058 eb 06 8d 9b 00 - 00 00 00 npad 8 -$LL3@inflateSyn@2: - -; 1386 : buf[len++] = (unsigned char)(state->hold); - - 00060 8a 57 38 mov dl, BYTE PTR [edi+56] - -; 1387 : state->hold >>= 8; -; 1388 : state->bits -= 8; - - 00063 83 e8 08 sub eax, 8 - 00066 88 54 0d 08 mov BYTE PTR _buf$[ebp+ecx], dl - 0006a c1 ee 08 shr esi, 8 - 0006d 41 inc ecx - 0006e 89 77 38 mov DWORD PTR [edi+56], esi - 00071 89 47 3c mov DWORD PTR [edi+60], eax - 00074 83 f8 08 cmp eax, 8 - 00077 73 e7 jae SHORT $LL3@inflateSyn@2 -$LN2@inflateSyn@2: - -; 1389 : } -; 1390 : state->have = 0; - - 00079 8d 47 68 lea eax, DWORD PTR [edi+104] - -; 1391 : syncsearch(&(state->have), buf, len); - - 0007c 51 push ecx - 0007d 50 push eax - 0007e 8d 75 08 lea esi, DWORD PTR _buf$[ebp] - 00081 c7 00 00 00 00 - 00 mov DWORD PTR [eax], 0 - 00087 e8 00 00 00 00 call _syncsearch - 0008c 83 c4 08 add esp, 8 -$LN4@inflateSyn@2: - -; 1392 : } -; 1393 : -; 1394 : /* search available input */ -; 1395 : len = syncsearch(&(state->have), strm->next_in, strm->avail_in); - - 0008f 8b 4b 04 mov ecx, DWORD PTR [ebx+4] - 00092 8b 33 mov esi, DWORD PTR [ebx] - 00094 8d 47 68 lea eax, DWORD PTR [edi+104] - 00097 51 push ecx - 00098 50 push eax - 00099 e8 00 00 00 00 call _syncsearch - -; 1396 : strm->avail_in -= len; -; 1397 : strm->next_in += len; -; 1398 : strm->total_in += len; - - 0009e 01 43 08 add DWORD PTR [ebx+8], eax - 000a1 29 43 04 sub DWORD PTR [ebx+4], eax - 000a4 01 03 add DWORD PTR [ebx], eax - 000a6 8b 73 08 mov esi, DWORD PTR [ebx+8] - 000a9 83 c4 08 add esp, 8 - -; 1399 : -; 1400 : /* return no joy or set up to restart inflate() on a new block */ -; 1401 : if (state->have != 4) return Z_DATA_ERROR; - - 000ac 83 7f 68 04 cmp DWORD PTR [edi+104], 4 - 000b0 74 0c je SHORT $LN1@inflateSyn@2 - 000b2 5e pop esi - 000b3 5f pop edi - 000b4 b8 fd ff ff ff mov eax, -3 ; fffffffdH - 000b9 5b pop ebx - -; 1407 : } - - 000ba 5d pop ebp - 000bb c2 04 00 ret 4 -$LN1@inflateSyn@2: - -; 1402 : in = strm->total_in; out = strm->total_out; - - 000be 8b 53 14 mov edx, DWORD PTR [ebx+20] - -; 1403 : inflateReset(strm); - - 000c1 53 push ebx - 000c2 89 55 08 mov DWORD PTR _out$[ebp], edx - 000c5 e8 00 00 00 00 call _inflateReset@4 - -; 1404 : strm->total_in = in; strm->total_out = out; - - 000ca 8b 45 08 mov eax, DWORD PTR _out$[ebp] - 000cd 89 73 08 mov DWORD PTR [ebx+8], esi - 000d0 89 43 14 mov DWORD PTR [ebx+20], eax - 000d3 5e pop esi - -; 1405 : state->mode = TYPE; - - 000d4 c7 07 0b 00 00 - 00 mov DWORD PTR [edi], 11 ; 0000000bH - 000da 5f pop edi - -; 1406 : return Z_OK; - - 000db 33 c0 xor eax, eax - 000dd 5b pop ebx - -; 1407 : } - - 000de 5d pop ebp - 000df c2 04 00 ret 4 -$LN6@inflateSyn@2: - 000e2 5f pop edi - -; 1369 : unsigned len; /* number of bytes to look at or looked at */ -; 1370 : unsigned long in, out; /* temporary to save total_in and total_out */ -; 1371 : unsigned char buf[4]; /* to restore bit buffer to byte string */ -; 1372 : struct inflate_state FAR *state; -; 1373 : -; 1374 : /* check parameters */ -; 1375 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 000e3 b8 fe ff ff ff mov eax, -2 ; fffffffeH - 000e8 5b pop ebx - -; 1407 : } - - 000e9 5d pop ebp - 000ea c2 04 00 ret 4 -_inflateSync@4 ENDP -_TEXT ENDS -PUBLIC _inflateReset2@8 -; Function compile flags: /Ogtp -; COMDAT _inflateReset2@8 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_windowBits$ = 12 ; size = 4 -_inflateReset2@8 PROC ; COMDAT - -; 144 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 145 : int wrap; -; 146 : struct inflate_state FAR *state; -; 147 : -; 148 : /* get the state */ -; 149 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 00003 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 00006 57 push edi - 00007 85 c9 test ecx, ecx - 00009 74 74 je SHORT $LN7@inflateRes@3 - 0000b 8b 79 1c mov edi, DWORD PTR [ecx+28] - 0000e 85 ff test edi, edi - 00010 74 6d je SHORT $LN7@inflateRes@3 - -; 150 : state = (struct inflate_state FAR *)strm->state; -; 151 : -; 152 : /* extract wrap request from windowBits parameter */ -; 153 : if (windowBits < 0) { - - 00012 53 push ebx - 00013 56 push esi - 00014 8b 75 0c mov esi, DWORD PTR _windowBits$[ebp] - 00017 85 f6 test esi, esi - 00019 79 06 jns SHORT $LN6@inflateRes@3 - -; 154 : wrap = 0; - - 0001b 33 db xor ebx, ebx - -; 155 : windowBits = -windowBits; - - 0001d f7 de neg esi - -; 156 : } -; 157 : else { - - 0001f eb 0e jmp SHORT $LN4@inflateRes@3 -$LN6@inflateRes@3: - -; 158 : wrap = (windowBits >> 4) + 1; - - 00021 8b de mov ebx, esi - 00023 c1 fb 04 sar ebx, 4 - 00026 43 inc ebx - -; 159 : #ifdef GUNZIP -; 160 : if (windowBits < 48) - - 00027 83 fe 30 cmp esi, 48 ; 00000030H - 0002a 7d 03 jge SHORT $LN4@inflateRes@3 - -; 161 : windowBits &= 15; - - 0002c 83 e6 0f and esi, 15 ; 0000000fH -$LN4@inflateRes@3: - -; 162 : #endif -; 163 : } -; 164 : -; 165 : /* set number of window bits, free window if different */ -; 166 : if (windowBits && (windowBits < 8 || windowBits > 15)) - - 0002f 85 f6 test esi, esi - 00031 74 16 je SHORT $LN3@inflateRes@3 - 00033 83 fe 08 cmp esi, 8 - 00036 7c 05 jl SHORT $LN2@inflateRes@3 - 00038 83 fe 0f cmp esi, 15 ; 0000000fH - 0003b 7e 0c jle SHORT $LN3@inflateRes@3 -$LN2@inflateRes@3: - 0003d 5e pop esi - 0003e 5b pop ebx - -; 167 : return Z_STREAM_ERROR; - - 0003f b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00044 5f pop edi - -; 177 : } - - 00045 5d pop ebp - 00046 c2 08 00 ret 8 -$LN3@inflateRes@3: - -; 168 : if (state->window != Z_NULL && state->wbits != (unsigned)windowBits) { - - 00049 8b 47 34 mov eax, DWORD PTR [edi+52] - 0004c 85 c0 test eax, eax - 0004e 74 1c je SHORT $LN1@inflateRes@3 - 00050 39 77 24 cmp DWORD PTR [edi+36], esi - 00053 74 17 je SHORT $LN1@inflateRes@3 - -; 169 : ZFREE(strm, state->window); - - 00055 50 push eax - 00056 8b 41 28 mov eax, DWORD PTR [ecx+40] - 00059 8b 49 24 mov ecx, DWORD PTR [ecx+36] - 0005c 50 push eax - 0005d ff d1 call ecx - -; 170 : state->window = Z_NULL; - - 0005f 8b 4d 08 mov ecx, DWORD PTR _strm$[ebp] - 00062 83 c4 08 add esp, 8 - 00065 c7 47 34 00 00 - 00 00 mov DWORD PTR [edi+52], 0 -$LN1@inflateRes@3: - -; 171 : } -; 172 : -; 173 : /* update state and reset the rest of it */ -; 174 : state->wrap = wrap; -; 175 : state->wbits = (unsigned)windowBits; -; 176 : return inflateReset(strm); - - 0006c 51 push ecx - 0006d 89 5f 08 mov DWORD PTR [edi+8], ebx - 00070 89 77 24 mov DWORD PTR [edi+36], esi - 00073 e8 00 00 00 00 call _inflateReset@4 - 00078 5e pop esi - 00079 5b pop ebx - 0007a 5f pop edi - -; 177 : } - - 0007b 5d pop ebp - 0007c c2 08 00 ret 8 -$LN7@inflateRes@3: - -; 145 : int wrap; -; 146 : struct inflate_state FAR *state; -; 147 : -; 148 : /* get the state */ -; 149 : if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - 0007f b8 fe ff ff ff mov eax, -2 ; fffffffeH - 00084 5f pop edi - -; 177 : } - - 00085 5d pop ebp - 00086 c2 08 00 ret 8 -_inflateReset2@8 ENDP -PUBLIC _inflateInit2_@16 -; Function compile flags: /Ogtp -; COMDAT _inflateInit2_@16 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_windowBits$ = 12 ; size = 4 -_version$ = 16 ; size = 4 -_stream_size$ = 20 ; size = 4 -_inflateInit2_@16 PROC ; COMDAT - -; 184 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 185 : int ret; -; 186 : struct inflate_state FAR *state; -; 187 : -; 188 : if (version == Z_NULL || version[0] != ZLIB_VERSION[0] || -; 189 : stream_size != (int)(sizeof(z_stream))) - - 00003 8b 45 10 mov eax, DWORD PTR _version$[ebp] - 00006 53 push ebx - 00007 33 db xor ebx, ebx - 00009 3b c3 cmp eax, ebx - 0000b 0f 84 9b 00 00 - 00 je $LN6@inflateIni - 00011 80 38 31 cmp BYTE PTR [eax], 49 ; 00000031H - 00014 0f 85 92 00 00 - 00 jne $LN6@inflateIni - 0001a 83 7d 14 38 cmp DWORD PTR _stream_size$[ebp], 56 ; 00000038H - 0001e 0f 85 88 00 00 - 00 jne $LN6@inflateIni - -; 191 : if (strm == Z_NULL) return Z_STREAM_ERROR; - - 00024 56 push esi - 00025 8b 75 08 mov esi, DWORD PTR _strm$[ebp] - 00028 3b f3 cmp esi, ebx - 0002a 75 09 jne SHORT $LN5@inflateIni - 0002c 5e pop esi - 0002d 8d 43 fe lea eax, DWORD PTR [ebx-2] - 00030 5b pop ebx - -; 219 : } - - 00031 5d pop ebp - 00032 c2 10 00 ret 16 ; 00000010H -$LN5@inflateIni: - -; 192 : strm->msg = Z_NULL; /* in case we return an error */ - - 00035 89 5e 18 mov DWORD PTR [esi+24], ebx - -; 193 : if (strm->zalloc == (alloc_func)0) { - - 00038 39 5e 20 cmp DWORD PTR [esi+32], ebx - 0003b 75 0a jne SHORT $LN4@inflateIni - -; 194 : #ifdef Z_SOLO -; 195 : return Z_STREAM_ERROR; -; 196 : #else -; 197 : strm->zalloc = zcalloc; - - 0003d c7 46 20 00 00 - 00 00 mov DWORD PTR [esi+32], OFFSET _zcalloc - -; 198 : strm->opaque = (voidpf)0; - - 00044 89 5e 28 mov DWORD PTR [esi+40], ebx -$LN4@inflateIni: - -; 199 : #endif -; 200 : } -; 201 : if (strm->zfree == (free_func)0) - - 00047 39 5e 24 cmp DWORD PTR [esi+36], ebx - 0004a 75 07 jne SHORT $LN3@inflateIni - -; 202 : #ifdef Z_SOLO -; 203 : return Z_STREAM_ERROR; -; 204 : #else -; 205 : strm->zfree = zcfree; - - 0004c c7 46 24 00 00 - 00 00 mov DWORD PTR [esi+36], OFFSET _zcfree -$LN3@inflateIni: - -; 206 : #endif -; 207 : state = (struct inflate_state FAR *) -; 208 : ZALLOC(strm, 1, sizeof(struct inflate_state)); - - 00053 8b 46 28 mov eax, DWORD PTR [esi+40] - 00056 8b 4e 20 mov ecx, DWORD PTR [esi+32] - 00059 57 push edi - 0005a 68 cc 1b 00 00 push 7116 ; 00001bccH - 0005f 6a 01 push 1 - 00061 50 push eax - 00062 ff d1 call ecx - 00064 8b f8 mov edi, eax - 00066 83 c4 0c add esp, 12 ; 0000000cH - -; 209 : if (state == Z_NULL) return Z_MEM_ERROR; - - 00069 3b fb cmp edi, ebx - 0006b 75 0c jne SHORT $LN2@inflateIni - 0006d 5f pop edi - 0006e 5e pop esi - 0006f b8 fc ff ff ff mov eax, -4 ; fffffffcH - 00074 5b pop ebx - -; 219 : } - - 00075 5d pop ebp - 00076 c2 10 00 ret 16 ; 00000010H -$LN2@inflateIni: - -; 210 : Tracev((stderr, "inflate: allocated\n")); -; 211 : strm->state = (struct internal_state FAR *)state; -; 212 : state->window = Z_NULL; -; 213 : ret = inflateReset2(strm, windowBits); - - 00079 8b 55 0c mov edx, DWORD PTR _windowBits$[ebp] - 0007c 52 push edx - 0007d 89 7e 1c mov DWORD PTR [esi+28], edi - 00080 56 push esi - 00081 89 5f 34 mov DWORD PTR [edi+52], ebx - 00084 e8 00 00 00 00 call _inflateReset2@8 - 00089 8b d8 mov ebx, eax - -; 214 : if (ret != Z_OK) { - - 0008b 85 db test ebx, ebx - 0008d 74 14 je SHORT $LN1@inflateIni - -; 215 : ZFREE(strm, state); - - 0008f 8b 46 28 mov eax, DWORD PTR [esi+40] - 00092 8b 4e 24 mov ecx, DWORD PTR [esi+36] - 00095 57 push edi - 00096 50 push eax - 00097 ff d1 call ecx - 00099 83 c4 08 add esp, 8 - -; 216 : strm->state = Z_NULL; - - 0009c c7 46 1c 00 00 - 00 00 mov DWORD PTR [esi+28], 0 -$LN1@inflateIni: - -; 217 : } -; 218 : return ret; - - 000a3 5f pop edi - 000a4 5e pop esi - 000a5 8b c3 mov eax, ebx - 000a7 5b pop ebx - -; 219 : } - - 000a8 5d pop ebp - 000a9 c2 10 00 ret 16 ; 00000010H -$LN6@inflateIni: - -; 190 : return Z_VERSION_ERROR; - - 000ac b8 fa ff ff ff mov eax, -6 ; fffffffaH - 000b1 5b pop ebx - -; 219 : } - - 000b2 5d pop ebp - 000b3 c2 10 00 ret 16 ; 00000010H -_inflateInit2_@16 ENDP -PUBLIC _inflateInit_@12 -; Function compile flags: /Ogtp -; COMDAT _inflateInit_@12 -_TEXT SEGMENT -_strm$ = 8 ; size = 4 -_version$ = 12 ; size = 4 -_stream_size$ = 16 ; size = 4 -_inflateInit_@12 PROC ; COMDAT - -; 225 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 226 : return inflateInit2_(strm, DEF_WBITS, version, stream_size); - - 00003 8b 45 10 mov eax, DWORD PTR _stream_size$[ebp] - 00006 8b 4d 0c mov ecx, DWORD PTR _version$[ebp] - 00009 8b 55 08 mov edx, DWORD PTR _strm$[ebp] - 0000c 50 push eax - 0000d 51 push ecx - 0000e 6a 0f push 15 ; 0000000fH - 00010 52 push edx - 00011 e8 00 00 00 00 call _inflateInit2_@16 - -; 227 : } - - 00016 5d pop ebp - 00017 c2 0c 00 ret 12 ; 0000000cH -_inflateInit_@12 ENDP -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/inftrees.cod b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/inftrees.cod deleted file mode 100644 index aad5f40e..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/inftrees.cod +++ /dev/null @@ -1,1092 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.30319.01 - - TITLE D:\FMU\FMUSolution\zlib-1.2.6\inftrees.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC _inflate_copyright -_inflate_copyright DB ' inflate 1.2.6 Copyright 1995-2012 Mark Adler ', 00H - ORG $+1 -?lbase@?1??inflate_table@@9@9 DW 03H ; `inflate_table'::`2'::lbase - DW 04H - DW 05H - DW 06H - DW 07H - DW 08H - DW 09H - DW 0aH - DW 0bH - DW 0dH - DW 0fH - DW 011H - DW 013H - DW 017H - DW 01bH - DW 01fH - DW 023H - DW 02bH - DW 033H - DW 03bH - DW 043H - DW 053H - DW 063H - DW 073H - DW 083H - DW 0a3H - DW 0c3H - DW 0e3H - DW 0102H - DW 00H - DW 00H - ORG $+2 -?lext@?1??inflate_table@@9@9 DW 010H ; `inflate_table'::`2'::lext - DW 010H - DW 010H - DW 010H - DW 010H - DW 010H - DW 010H - DW 010H - DW 011H - DW 011H - DW 011H - DW 011H - DW 012H - DW 012H - DW 012H - DW 012H - DW 013H - DW 013H - DW 013H - DW 013H - DW 014H - DW 014H - DW 014H - DW 014H - DW 015H - DW 015H - DW 015H - DW 015H - DW 010H - DW 0cbH - DW 045H - ORG $+2 -?dbase@?1??inflate_table@@9@9 DW 01H ; `inflate_table'::`2'::dbase - DW 02H - DW 03H - DW 04H - DW 05H - DW 07H - DW 09H - DW 0dH - DW 011H - DW 019H - DW 021H - DW 031H - DW 041H - DW 061H - DW 081H - DW 0c1H - DW 0101H - DW 0181H - DW 0201H - DW 0301H - DW 0401H - DW 0601H - DW 0801H - DW 0c01H - DW 01001H - DW 01801H - DW 02001H - DW 03001H - DW 04001H - DW 06001H - DW 00H - DW 00H -?dext@?1??inflate_table@@9@9 DW 010H ; `inflate_table'::`2'::dext - DW 010H - DW 010H - DW 010H - DW 011H - DW 011H - DW 012H - DW 012H - DW 013H - DW 013H - DW 014H - DW 014H - DW 015H - DW 015H - DW 016H - DW 016H - DW 017H - DW 017H - DW 018H - DW 018H - DW 019H - DW 019H - DW 01aH - DW 01aH - DW 01bH - DW 01bH - DW 01cH - DW 01cH - DW 01dH - DW 01dH - DW 040H - DW 040H -PUBLIC _inflate_table -; Function compile flags: /Ogtp -; File d:\fmu\fmusolution\zlib-1.2.6\inftrees.c -; COMDAT _inflate_table -_TEXT SEGMENT -_offs$ = -124 ; size = 32 -_count$ = -92 ; size = 32 -tv614 = -60 ; size = 4 -_min$ = -56 ; size = 4 -_mask$ = -52 ; size = 4 -_low$ = -48 ; size = 4 -tv585 = -44 ; size = 4 -_used$ = -40 ; size = 4 -_base$ = -36 ; size = 4 -_extra$ = -32 ; size = 4 -_end$ = -28 ; size = 4 -_next$ = -24 ; size = 4 -_max$ = -20 ; size = 4 -tv1134 = -16 ; size = 4 -_drop$ = -12 ; size = 4 -_huff$ = -8 ; size = 4 -_root$ = -4 ; size = 4 -_type$ = 8 ; size = 4 -_lens$ = 12 ; size = 4 -_here$ = 16 ; size = 4 -_codes$ = 16 ; size = 4 -_table$ = 20 ; size = 4 -_bits$ = 24 ; size = 4 -_work$ = 28 ; size = 4 -_inflate_table PROC ; COMDAT - -; 39 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 7c sub esp, 124 ; 0000007cH - 00006 8b 55 10 mov edx, DWORD PTR _codes$[ebp] - -; 40 : unsigned len; /* a code's length in bits */ -; 41 : unsigned sym; /* index of code symbols */ -; 42 : unsigned min, max; /* minimum and maximum code lengths */ -; 43 : unsigned root; /* number of index bits for root table */ -; 44 : unsigned curr; /* number of index bits for current table */ -; 45 : unsigned drop; /* code bits to drop for sub-table */ -; 46 : int left; /* number of prefix codes available */ -; 47 : unsigned used; /* code entries in table used */ -; 48 : unsigned huff; /* Huffman code */ -; 49 : unsigned incr; /* for incrementing code, index */ -; 50 : unsigned fill; /* index for replicating entries */ -; 51 : unsigned low; /* low bits for current root entry */ -; 52 : unsigned mask; /* mask for low root bits */ -; 53 : code here; /* table entry for duplication */ -; 54 : code FAR *next; /* next available space in table */ -; 55 : const unsigned short FAR *base; /* base value table to use */ -; 56 : const unsigned short FAR *extra; /* extra bits table to use */ -; 57 : int end; /* use base and extra for symbol > end */ -; 58 : unsigned short count[MAXBITS+1]; /* number of codes of each length */ -; 59 : unsigned short offs[MAXBITS+1]; /* offsets in table for each length */ -; 60 : static const unsigned short lbase[31] = { /* Length codes 257..285 base */ -; 61 : 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, -; 62 : 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0}; -; 63 : static const unsigned short lext[31] = { /* Length codes 257..285 extra */ -; 64 : 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, -; 65 : 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 203, 69}; -; 66 : static const unsigned short dbase[32] = { /* Distance codes 0..29 base */ -; 67 : 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, -; 68 : 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, -; 69 : 8193, 12289, 16385, 24577, 0, 0}; -; 70 : static const unsigned short dext[32] = { /* Distance codes 0..29 extra */ -; 71 : 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, -; 72 : 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, -; 73 : 28, 28, 29, 29, 64, 64}; -; 74 : -; 75 : /* -; 76 : Process a set of code lengths to create a canonical Huffman code. The -; 77 : code lengths are lens[0..codes-1]. Each length corresponds to the -; 78 : symbols 0..codes-1. The Huffman code is generated by first sorting the -; 79 : symbols by length from short to long, and retaining the symbol order -; 80 : for codes with equal lengths. Then the code starts with all zero bits -; 81 : for the first code of the shortest length, and the codes are integer -; 82 : increments for the same length, and zeros are appended as the length -; 83 : increases. For the deflate format, these bits are stored backwards -; 84 : from their more natural integer increment ordering, and so when the -; 85 : decoding tables are built in the large loop below, the integer codes -; 86 : are incremented backwards. -; 87 : -; 88 : This routine assumes, but does not check, that all of the entries in -; 89 : lens[] are in the range 0..MAXBITS. The caller must assure this. -; 90 : 1..MAXBITS is interpreted as that code length. zero means that that -; 91 : symbol does not occur in this code. -; 92 : -; 93 : The codes are sorted by computing a count of codes for each length, -; 94 : creating from that a table of starting indices for each length in the -; 95 : sorted table, and then entering the symbols in order in the sorted -; 96 : table. The sorted table is work[], with that space being provided by -; 97 : the caller. -; 98 : -; 99 : The length counts are used for other purposes as well, i.e. finding -; 100 : the minimum and maximum length codes, determining if there are any -; 101 : codes at all, checking for a valid set of lengths, and looking ahead -; 102 : at length counts to determine sub-table sizes when building the -; 103 : decoding tables. -; 104 : */ -; 105 : -; 106 : /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */ -; 107 : for (len = 0; len <= MAXBITS; len++) -; 108 : count[len] = 0; - - 00009 33 c0 xor eax, eax - 0000b 0f b7 c8 movzx ecx, ax - 0000e 8b c1 mov eax, ecx - 00010 c1 e1 10 shl ecx, 16 ; 00000010H - 00013 0b c1 or eax, ecx - 00015 53 push ebx - 00016 8b 5d 18 mov ebx, DWORD PTR _bits$[ebp] - 00019 56 push esi - 0001a 8b 75 14 mov esi, DWORD PTR _table$[ebp] - 0001d 89 45 a4 mov DWORD PTR _count$[ebp], eax - 00020 89 45 a8 mov DWORD PTR _count$[ebp+4], eax - 00023 89 45 ac mov DWORD PTR _count$[ebp+8], eax - 00026 89 45 b0 mov DWORD PTR _count$[ebp+12], eax - 00029 89 45 b4 mov DWORD PTR _count$[ebp+16], eax - 0002c 89 45 b8 mov DWORD PTR _count$[ebp+20], eax - 0002f 89 45 bc mov DWORD PTR _count$[ebp+24], eax - 00032 89 45 c0 mov DWORD PTR _count$[ebp+28], eax - -; 109 : for (sym = 0; sym < codes; sym++) - - 00035 33 c0 xor eax, eax - 00037 57 push edi - 00038 8b 7d 0c mov edi, DWORD PTR _lens$[ebp] - 0003b 85 d2 test edx, edx - 0003d 74 13 je SHORT $LN57@inflate_ta - 0003f 90 npad 1 -$LL59@inflate_ta: - -; 110 : count[lens[sym]]++; - - 00040 0f b7 0c 47 movzx ecx, WORD PTR [edi+eax*2] - 00044 66 ff 44 4d a4 inc WORD PTR _count$[ebp+ecx*2] - 00049 8d 4c 4d a4 lea ecx, DWORD PTR _count$[ebp+ecx*2] - 0004d 40 inc eax - 0004e 3b c2 cmp eax, edx - 00050 72 ee jb SHORT $LL59@inflate_ta -$LN57@inflate_ta: - -; 111 : -; 112 : /* bound code lengths, force root to be within code lengths */ -; 113 : root = *bits; - - 00052 8b 0b mov ecx, DWORD PTR [ebx] - 00054 89 4d fc mov DWORD PTR _root$[ebp], ecx - -; 114 : for (max = MAXBITS; max >= 1; max--) - - 00057 b8 0f 00 00 00 mov eax, 15 ; 0000000fH - 0005c 8d 64 24 00 npad 4 -$LL56@inflate_ta: - -; 115 : if (count[max] != 0) break; - - 00060 66 83 7c 45 a4 - 00 cmp WORD PTR _count$[ebp+eax*2], 0 - 00066 75 06 jne SHORT $LN105@inflate_ta - -; 114 : for (max = MAXBITS; max >= 1; max--) - - 00068 48 dec eax - 00069 83 f8 01 cmp eax, 1 - 0006c 73 f2 jae SHORT $LL56@inflate_ta -$LN105@inflate_ta: - 0006e 89 45 ec mov DWORD PTR _max$[ebp], eax - -; 116 : if (root > max) root = max; - - 00071 3b c8 cmp ecx, eax - 00073 76 05 jbe SHORT $LN52@inflate_ta - 00075 89 45 fc mov DWORD PTR _root$[ebp], eax - 00078 8b c8 mov ecx, eax -$LN52@inflate_ta: - -; 117 : if (max == 0) { /* no symbols to code at all */ - - 0007a 85 c0 test eax, eax - 0007c 75 27 jne SHORT $LN51@inflate_ta - -; 118 : here.op = (unsigned char)64; /* invalid code marker */ -; 119 : here.bits = (unsigned char)1; -; 120 : here.val = (unsigned short)0; -; 121 : *(*table)++ = here; /* make a table to force an error */ - - 0007e 8b 0e mov ecx, DWORD PTR [esi] - 00080 c7 45 10 40 01 - 00 00 mov DWORD PTR _here$[ebp], 320 ; 00000140H - 00087 8b 45 10 mov eax, DWORD PTR _here$[ebp] - 0008a 89 01 mov DWORD PTR [ecx], eax - 0008c 83 06 04 add DWORD PTR [esi], 4 - 0008f 8b 0e mov ecx, DWORD PTR [esi] - -; 122 : *(*table)++ = here; - - 00091 89 01 mov DWORD PTR [ecx], eax - 00093 83 06 04 add DWORD PTR [esi], 4 - 00096 5f pop edi - 00097 5e pop esi - -; 123 : *bits = 1; - - 00098 c7 03 01 00 00 - 00 mov DWORD PTR [ebx], 1 - -; 124 : return 0; /* no symbols, but wait for decoding to report error */ - - 0009e 33 c0 xor eax, eax - 000a0 5b pop ebx - -; 306 : } - - 000a1 8b e5 mov esp, ebp - 000a3 5d pop ebp - 000a4 c3 ret 0 -$LN51@inflate_ta: - -; 125 : } -; 126 : for (min = 1; min < max; min++) - - 000a5 bb 01 00 00 00 mov ebx, 1 - 000aa 3b c3 cmp eax, ebx - 000ac 76 0f jbe SHORT $LN78@inflate_ta - 000ae 8b ff npad 2 -$LL50@inflate_ta: - -; 127 : if (count[min] != 0) break; - - 000b0 66 83 7c 5d a4 - 00 cmp WORD PTR _count$[ebp+ebx*2], 0 - 000b6 75 05 jne SHORT $LN78@inflate_ta - -; 125 : } -; 126 : for (min = 1; min < max; min++) - - 000b8 43 inc ebx - 000b9 3b d8 cmp ebx, eax - 000bb 72 f3 jb SHORT $LL50@inflate_ta -$LN78@inflate_ta: - -; 128 : if (root < min) root = min; - - 000bd 3b cb cmp ecx, ebx - 000bf 73 03 jae SHORT $LN46@inflate_ta - 000c1 89 5d fc mov DWORD PTR _root$[ebp], ebx -$LN46@inflate_ta: - -; 129 : -; 130 : /* check for an over-subscribed or incomplete set of lengths */ -; 131 : left = 1; - - 000c4 ba 01 00 00 00 mov edx, 1 - -; 132 : for (len = 1; len <= MAXBITS; len++) { - - 000c9 8b ca mov ecx, edx - 000cb eb 03 8d 49 00 npad 5 -$LL45@inflate_ta: - -; 133 : left <<= 1; -; 134 : left -= count[len]; - - 000d0 0f b7 74 4d a4 movzx esi, WORD PTR _count$[ebp+ecx*2] - 000d5 03 d2 add edx, edx - 000d7 2b d6 sub edx, esi - -; 135 : if (left < 0) return -1; /* over-subscribed */ - - 000d9 0f 88 90 00 00 - 00 js $LN79@inflate_ta - -; 132 : for (len = 1; len <= MAXBITS; len++) { - - 000df 41 inc ecx - 000e0 83 f9 0f cmp ecx, 15 ; 0000000fH - 000e3 76 eb jbe SHORT $LL45@inflate_ta - -; 136 : } -; 137 : if (left > 0 && (type == CODES || max != 1)) - - 000e5 85 d2 test edx, edx - 000e7 7e 0f jle SHORT $LN102@inflate_ta - 000e9 83 7d 08 00 cmp DWORD PTR _type$[ebp], 0 - 000ed 0f 84 7c 00 00 - 00 je $LN79@inflate_ta - 000f3 83 f8 01 cmp eax, 1 - -; 138 : return -1; /* incomplete set */ - - 000f6 75 77 jne SHORT $LN79@inflate_ta -$LN102@inflate_ta: - -; 139 : -; 140 : /* generate offsets into symbol table for each length for sorting */ -; 141 : offs[1] = 0; - - 000f8 33 c0 xor eax, eax - 000fa 66 89 45 86 mov WORD PTR _offs$[ebp+2], ax - -; 142 : for (len = 1; len < MAXBITS; len++) - - 000fe b8 02 00 00 00 mov eax, 2 -$LL39@inflate_ta: - -; 143 : offs[len + 1] = offs[len] + count[len]; - - 00103 66 8b 4c 05 84 mov cx, WORD PTR _offs$[ebp+eax] - 00108 66 03 4c 05 a4 add cx, WORD PTR _count$[ebp+eax] - 0010d 83 c0 02 add eax, 2 - 00110 66 89 4c 05 84 mov WORD PTR _offs$[ebp+eax], cx - 00115 83 f8 1e cmp eax, 30 ; 0000001eH - 00118 72 e9 jb SHORT $LL39@inflate_ta - -; 144 : -; 145 : /* sort symbols by length, by symbol order within each length */ -; 146 : for (sym = 0; sym < codes; sym++) - - 0011a 8b 55 10 mov edx, DWORD PTR _codes$[ebp] - 0011d 8b 75 1c mov esi, DWORD PTR _work$[ebp] - 00120 33 c0 xor eax, eax - 00122 85 d2 test edx, edx - 00124 74 26 je SHORT $LN34@inflate_ta -$LL104@inflate_ta: - -; 147 : if (lens[sym] != 0) work[offs[lens[sym]]++] = (unsigned short)sym; - - 00126 66 83 3c 47 00 cmp WORD PTR [edi+eax*2], 0 - 0012b 74 1a je SHORT $LN35@inflate_ta - 0012d 0f b7 0c 47 movzx ecx, WORD PTR [edi+eax*2] - 00131 0f b7 4c 4d 84 movzx ecx, WORD PTR _offs$[ebp+ecx*2] - 00136 66 89 04 4e mov WORD PTR [esi+ecx*2], ax - 0013a 0f b7 0c 47 movzx ecx, WORD PTR [edi+eax*2] - 0013e 66 ff 44 4d 84 inc WORD PTR _offs$[ebp+ecx*2] - 00143 8d 4c 4d 84 lea ecx, DWORD PTR _offs$[ebp+ecx*2] -$LN35@inflate_ta: - -; 144 : -; 145 : /* sort symbols by length, by symbol order within each length */ -; 146 : for (sym = 0; sym < codes; sym++) - - 00147 40 inc eax - 00148 3b c2 cmp eax, edx - 0014a 72 da jb SHORT $LL104@inflate_ta -$LN34@inflate_ta: - -; 148 : -; 149 : /* -; 150 : Create and fill in decoding tables. In this loop, the table being -; 151 : filled is at next and has curr index bits. The code being used is huff -; 152 : with length len. That code is converted to an index by dropping drop -; 153 : bits off of the bottom. For codes where len is less than drop + curr, -; 154 : those top drop + curr - len bits are incremented through all values to -; 155 : fill the table with replicated entries. -; 156 : -; 157 : root is the number of index bits for the root table. When len exceeds -; 158 : root, sub-tables are created pointed to by the root entry with an index -; 159 : of the low root bits of huff. This is saved in low to check for when a -; 160 : new sub-table should be started. drop is zero when the root table is -; 161 : being filled, and drop is root when sub-tables are being filled. -; 162 : -; 163 : When a new sub-table is needed, it is necessary to look ahead in the -; 164 : code lengths to determine what size sub-table is needed. The length -; 165 : counts are used for this, and so count[] is decremented as codes are -; 166 : entered in the tables. -; 167 : -; 168 : used keeps track of how many table entries have been allocated from the -; 169 : provided *table space. It is checked for LENS and DIST tables against -; 170 : the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in -; 171 : the initial root table size constants. See the comments in inftrees.h -; 172 : for more information. -; 173 : -; 174 : sym increments through all symbols, and the loop terminates when -; 175 : all codes of length max, i.e. all codes, have been processed. This -; 176 : routine permits incomplete codes, so another loop after this one fills -; 177 : in the rest of the decoding tables with invalid code markers. -; 178 : */ -; 179 : -; 180 : /* set up for code type */ -; 181 : switch (type) { - - 0014c 8b 45 08 mov eax, DWORD PTR _type$[ebp] - 0014f 83 e8 00 sub eax, 0 - 00152 b9 ff ff ff ff mov ecx, -1 - 00157 74 43 je SHORT $LN30@inflate_ta - 00159 48 dec eax - 0015a 74 1d je SHORT $LN29@inflate_ta - -; 193 : default: /* DISTS */ -; 194 : base = dbase; - - 0015c c7 45 dc 00 00 - 00 00 mov DWORD PTR _base$[ebp], OFFSET ?dbase@?1??inflate_table@@9@9 - -; 195 : extra = dext; - - 00163 c7 45 e0 00 00 - 00 00 mov DWORD PTR _extra$[ebp], OFFSET ?dext@?1??inflate_table@@9@9 - -; 196 : end = -1; - - 0016a 89 4d e4 mov DWORD PTR _end$[ebp], ecx - 0016d eb 3a jmp SHORT $LN31@inflate_ta -$LN79@inflate_ta: - 0016f 5f pop edi - 00170 5e pop esi - -; 135 : if (left < 0) return -1; /* over-subscribed */ - - 00171 83 c8 ff or eax, -1 - 00174 5b pop ebx - -; 306 : } - - 00175 8b e5 mov esp, ebp - 00177 5d pop ebp - 00178 c3 ret 0 -$LN29@inflate_ta: - -; 185 : break; -; 186 : case LENS: -; 187 : base = lbase; -; 188 : base -= 257; - - 00179 b8 00 00 00 00 mov eax, OFFSET ?lbase@?1??inflate_table@@9@9 - 0017e 2d 02 02 00 00 sub eax, 514 ; 00000202H - 00183 89 45 dc mov DWORD PTR _base$[ebp], eax - -; 189 : extra = lext; -; 190 : extra -= 257; - - 00186 b8 00 00 00 00 mov eax, OFFSET ?lext@?1??inflate_table@@9@9 - 0018b 2d 02 02 00 00 sub eax, 514 ; 00000202H - 00190 89 45 e0 mov DWORD PTR _extra$[ebp], eax - -; 191 : end = 256; - - 00193 c7 45 e4 00 01 - 00 00 mov DWORD PTR _end$[ebp], 256 ; 00000100H - -; 192 : break; - - 0019a eb 0d jmp SHORT $LN31@inflate_ta -$LN30@inflate_ta: - -; 182 : case CODES: -; 183 : base = extra = work; /* dummy value--not used */ - - 0019c 89 75 e0 mov DWORD PTR _extra$[ebp], esi - 0019f 89 75 dc mov DWORD PTR _base$[ebp], esi - -; 184 : end = 19; - - 001a2 c7 45 e4 13 00 - 00 00 mov DWORD PTR _end$[ebp], 19 ; 00000013H -$LN31@inflate_ta: - -; 197 : } -; 198 : -; 199 : /* initialize state for loop */ -; 200 : huff = 0; /* starting code */ -; 201 : sym = 0; /* starting code symbol */ -; 202 : len = min; /* starting code length */ -; 203 : next = *table; /* current table to fill in */ - - 001a9 8b 55 14 mov edx, DWORD PTR _table$[ebp] - 001ac 8b 12 mov edx, DWORD PTR [edx] - 001ae 33 c0 xor eax, eax - -; 204 : curr = root; /* current table index bits */ -; 205 : drop = 0; /* current bits to drop from code for index */ -; 206 : low = (unsigned)(-1); /* trigger new sub-table when len > root */ - - 001b0 89 4d d0 mov DWORD PTR _low$[ebp], ecx - -; 207 : used = 1U << root; /* use root table entries */ - - 001b3 8b 4d fc mov ecx, DWORD PTR _root$[ebp] - 001b6 89 45 f8 mov DWORD PTR _huff$[ebp], eax - 001b9 89 45 f4 mov DWORD PTR _drop$[ebp], eax - 001bc b8 01 00 00 00 mov eax, 1 - 001c1 d3 e0 shl eax, cl - 001c3 89 55 e8 mov DWORD PTR _next$[ebp], edx - -; 208 : mask = used - 1; /* mask for comparing low */ - - 001c6 8d 48 ff lea ecx, DWORD PTR [eax-1] - 001c9 89 4d cc mov DWORD PTR _mask$[ebp], ecx - -; 209 : -; 210 : /* check available table space */ -; 211 : if ((type == LENS && used >= ENOUGH_LENS) || -; 212 : (type == DISTS && used >= ENOUGH_DISTS)) - - 001cc 8b 4d 08 mov ecx, DWORD PTR _type$[ebp] - 001cf 8b f8 mov edi, eax - 001d1 89 7d d4 mov DWORD PTR tv585[ebp], edi - 001d4 89 45 d8 mov DWORD PTR _used$[ebp], eax - 001d7 83 f9 01 cmp ecx, 1 - 001da 75 07 jne SHORT $LN25@inflate_ta - 001dc 3d 54 03 00 00 cmp eax, 852 ; 00000354H - 001e1 eb 0a jmp SHORT $LN112@inflate_ta -$LN25@inflate_ta: - 001e3 83 f9 02 cmp ecx, 2 - 001e6 75 0b jne SHORT $LN95@inflate_ta - 001e8 3d 50 02 00 00 cmp eax, 592 ; 00000250H -$LN112@inflate_ta: - -; 213 : return 1; - - 001ed 0f 83 ee 01 00 - 00 jae $LN3@inflate_ta -$LN95@inflate_ta: - -; 214 : -; 215 : /* process all codes and make table entries */ -; 216 : for (;;) { -; 217 : /* create table entry */ -; 218 : here.bits = (unsigned char)(len - drop); - - 001f3 89 75 f0 mov DWORD PTR tv1134[ebp], esi - -; 289 : } -; 290 : } - - 001f6 eb 0b jmp SHORT $LL24@inflate_ta - 001f8 eb 06 8d 9b 00 - 00 00 00 npad 8 -$LL99@inflate_ta: - 00200 8b 7d d4 mov edi, DWORD PTR tv585[ebp] -$LL24@inflate_ta: - -; 214 : -; 215 : /* process all codes and make table entries */ -; 216 : for (;;) { -; 217 : /* create table entry */ -; 218 : here.bits = (unsigned char)(len - drop); - - 00203 8b 55 f4 mov edx, DWORD PTR _drop$[ebp] - -; 219 : if ((int)(work[sym]) < end) { - - 00206 8b 4d f0 mov ecx, DWORD PTR tv1134[ebp] - 00209 8b 75 e4 mov esi, DWORD PTR _end$[ebp] - 0020c 8a c3 mov al, bl - 0020e 2a c2 sub al, dl - 00210 88 45 11 mov BYTE PTR _here$[ebp+1], al - 00213 0f b7 01 movzx eax, WORD PTR [ecx] - 00216 8b c8 mov ecx, eax - 00218 3b ce cmp ecx, esi - 0021a 7d 0a jge SHORT $LN110@inflate_ta - -; 220 : here.op = (unsigned char)0; - - 0021c c6 45 10 00 mov BYTE PTR _here$[ebp], 0 - -; 221 : here.val = work[sym]; - - 00220 66 89 45 12 mov WORD PTR _here$[ebp+2], ax - 00224 eb 2a jmp SHORT $LN19@inflate_ta -$LN110@inflate_ta: - -; 222 : } -; 223 : else if ((int)(work[sym]) > end) { - - 00226 7e 1e jle SHORT $LN20@inflate_ta - -; 224 : here.op = (unsigned char)(extra[work[sym]]); - - 00228 8b 45 f0 mov eax, DWORD PTR tv1134[ebp] - 0022b 0f b7 00 movzx eax, WORD PTR [eax] - 0022e 8b 4d e0 mov ecx, DWORD PTR _extra$[ebp] - 00231 03 c0 add eax, eax - 00233 8a 0c 08 mov cl, BYTE PTR [eax+ecx] - 00236 88 4d 10 mov BYTE PTR _here$[ebp], cl - -; 225 : here.val = base[work[sym]]; - - 00239 8b 4d dc mov ecx, DWORD PTR _base$[ebp] - 0023c 66 8b 04 08 mov ax, WORD PTR [eax+ecx] - 00240 66 89 45 12 mov WORD PTR _here$[ebp+2], ax - -; 226 : } -; 227 : else { - - 00244 eb 0a jmp SHORT $LN19@inflate_ta -$LN20@inflate_ta: - -; 228 : here.op = (unsigned char)(32 + 64); /* end of block */ -; 229 : here.val = 0; - - 00246 33 c9 xor ecx, ecx - 00248 c6 45 10 60 mov BYTE PTR _here$[ebp], 96 ; 00000060H - 0024c 66 89 4d 12 mov WORD PTR _here$[ebp+2], cx -$LN19@inflate_ta: - -; 230 : } -; 231 : -; 232 : /* replicate for those indices with low len bits equal to huff */ -; 233 : incr = 1U << (len - drop); - - 00250 8b cb mov ecx, ebx - 00252 2b ca sub ecx, edx - -; 234 : fill = 1U << curr; - - 00254 8b c7 mov eax, edi - 00256 8b 7d f8 mov edi, DWORD PTR _huff$[ebp] - 00259 ba 01 00 00 00 mov edx, 1 - 0025e d3 e2 shl edx, cl - 00260 8b 4d f4 mov ecx, DWORD PTR _drop$[ebp] - 00263 d3 ef shr edi, cl - 00265 8b 4d e8 mov ecx, DWORD PTR _next$[ebp] - -; 235 : min = fill; /* save offset to next table */ - - 00268 89 45 c8 mov DWORD PTR _min$[ebp], eax - 0026b 8d 34 95 00 00 - 00 00 lea esi, DWORD PTR [edx*4] - 00272 03 f8 add edi, eax - 00274 8d 0c b9 lea ecx, DWORD PTR [ecx+edi*4] - 00277 8b 7d 10 mov edi, DWORD PTR _here$[ebp] - 0027a 8d 9b 00 00 00 - 00 npad 6 -$LL18@inflate_ta: - -; 236 : do { -; 237 : fill -= incr; - - 00280 2b ce sub ecx, esi - 00282 2b c2 sub eax, edx - -; 238 : next[(huff >> drop) + fill] = here; - - 00284 89 39 mov DWORD PTR [ecx], edi - -; 239 : } while (fill != 0); - - 00286 75 f8 jne SHORT $LL18@inflate_ta - -; 240 : -; 241 : /* backwards increment the len-bit code huff */ -; 242 : incr = 1U << (len - 1); - - 00288 8d 4b ff lea ecx, DWORD PTR [ebx-1] - 0028b b8 01 00 00 00 mov eax, 1 - 00290 d3 e0 shl eax, cl - -; 243 : while (huff & incr) - - 00292 8b 4d f8 mov ecx, DWORD PTR _huff$[ebp] - 00295 85 c1 test eax, ecx - 00297 74 0d je SHORT $LN14@inflate_ta - 00299 8d a4 24 00 00 - 00 00 npad 7 -$LL15@inflate_ta: - -; 244 : incr >>= 1; - - 002a0 d1 e8 shr eax, 1 - 002a2 85 c1 test eax, ecx - 002a4 75 fa jne SHORT $LL15@inflate_ta -$LN14@inflate_ta: - -; 245 : if (incr != 0) { - - 002a6 85 c0 test eax, eax - 002a8 74 0c je SHORT $LN13@inflate_ta - -; 246 : huff &= incr - 1; - - 002aa 8d 50 ff lea edx, DWORD PTR [eax-1] - 002ad 23 d1 and edx, ecx - -; 247 : huff += incr; - - 002af 03 d0 add edx, eax - 002b1 89 55 f8 mov DWORD PTR _huff$[ebp], edx - -; 248 : } -; 249 : else - - 002b4 eb 07 jmp SHORT $LN12@inflate_ta -$LN13@inflate_ta: - -; 250 : huff = 0; - - 002b6 c7 45 f8 00 00 - 00 00 mov DWORD PTR _huff$[ebp], 0 -$LN12@inflate_ta: - -; 251 : -; 252 : /* go to next symbol, update count, len */ -; 253 : sym++; - - 002bd 83 45 f0 02 add DWORD PTR tv1134[ebp], 2 - -; 254 : if (--(count[len]) == 0) { - - 002c1 b8 ff ff 00 00 mov eax, 65535 ; 0000ffffH - 002c6 66 01 44 5d a4 add WORD PTR _count$[ebp+ebx*2], ax - 002cb 75 16 jne SHORT $LN100@inflate_ta - -; 255 : if (len == max) break; - - 002cd 3b 5d ec cmp ebx, DWORD PTR _max$[ebp] - 002d0 0f 84 cb 00 00 - 00 je $LN81@inflate_ta - -; 256 : len = lens[work[sym]]; - - 002d6 8b 4d f0 mov ecx, DWORD PTR tv1134[ebp] - 002d9 0f b7 11 movzx edx, WORD PTR [ecx] - 002dc 8b 45 0c mov eax, DWORD PTR _lens$[ebp] - 002df 0f b7 1c 50 movzx ebx, WORD PTR [eax+edx*2] -$LN100@inflate_ta: - -; 257 : } -; 258 : -; 259 : /* create new sub-table if needed */ -; 260 : if (len > root && (huff & mask) != low) { - - 002e3 3b 5d fc cmp ebx, DWORD PTR _root$[ebp] - 002e6 0f 86 14 ff ff - ff jbe $LL99@inflate_ta - 002ec 8b 75 cc mov esi, DWORD PTR _mask$[ebp] - 002ef 23 75 f8 and esi, DWORD PTR _huff$[ebp] - 002f2 89 75 c4 mov DWORD PTR tv614[ebp], esi - 002f5 3b 75 d0 cmp esi, DWORD PTR _low$[ebp] - 002f8 0f 84 02 ff ff - ff je $LL99@inflate_ta - -; 261 : /* if first time, transition to sub-tables */ -; 262 : if (drop == 0) - - 002fe 8b 55 f4 mov edx, DWORD PTR _drop$[ebp] - 00301 85 d2 test edx, edx - 00303 75 08 jne SHORT $LN8@inflate_ta - -; 263 : drop = root; - - 00305 8b 4d fc mov ecx, DWORD PTR _root$[ebp] - 00308 89 4d f4 mov DWORD PTR _drop$[ebp], ecx - 0030b 8b d1 mov edx, ecx -$LN8@inflate_ta: - -; 264 : -; 265 : /* increment past last table */ -; 266 : next += min; /* here min is 1 << curr */ - - 0030d 8b 45 e8 mov eax, DWORD PTR _next$[ebp] - 00310 8b 4d c8 mov ecx, DWORD PTR _min$[ebp] - 00313 8d 04 88 lea eax, DWORD PTR [eax+ecx*4] - -; 267 : -; 268 : /* determine length of next table */ -; 269 : curr = len - drop; - - 00316 8b cb mov ecx, ebx - 00318 2b ca sub ecx, edx - 0031a 89 45 e8 mov DWORD PTR _next$[ebp], eax - -; 270 : left = (int)(1 << curr); - - 0031d b8 01 00 00 00 mov eax, 1 - -; 271 : while (curr + drop < max) { - - 00322 03 d1 add edx, ecx - 00324 d3 e0 shl eax, cl - 00326 3b 55 ec cmp edx, DWORD PTR _max$[ebp] - 00329 73 1d jae SHORT $LN80@inflate_ta - -; 264 : -; 265 : /* increment past last table */ -; 266 : next += min; /* here min is 1 << curr */ - - 0032b 8d 74 55 a4 lea esi, DWORD PTR _count$[ebp+edx*2] - 0032f 90 npad 1 -$LL7@inflate_ta: - -; 272 : left -= count[curr + drop]; - - 00330 0f b7 3e movzx edi, WORD PTR [esi] - 00333 2b c7 sub eax, edi - -; 273 : if (left <= 0) break; - - 00335 85 c0 test eax, eax - 00337 7e 0c jle SHORT $LN101@inflate_ta - -; 274 : curr++; - - 00339 42 inc edx - 0033a 41 inc ecx - 0033b 83 c6 02 add esi, 2 - -; 275 : left <<= 1; - - 0033e 03 c0 add eax, eax - 00340 3b 55 ec cmp edx, DWORD PTR _max$[ebp] - 00343 72 eb jb SHORT $LL7@inflate_ta -$LN101@inflate_ta: - -; 271 : while (curr + drop < max) { - - 00345 8b 75 c4 mov esi, DWORD PTR tv614[ebp] -$LN80@inflate_ta: - -; 276 : } -; 277 : -; 278 : /* check for enough space */ -; 279 : used += 1U << curr; - - 00348 8b 55 d8 mov edx, DWORD PTR _used$[ebp] - -; 280 : if ((type == LENS && used >= ENOUGH_LENS) || -; 281 : (type == DISTS && used >= ENOUGH_DISTS)) - - 0034b 8b 45 08 mov eax, DWORD PTR _type$[ebp] - 0034e bf 01 00 00 00 mov edi, 1 - 00353 d3 e7 shl edi, cl - 00355 03 d7 add edx, edi - 00357 89 7d d4 mov DWORD PTR tv585[ebp], edi - 0035a 89 55 d8 mov DWORD PTR _used$[ebp], edx - 0035d 83 f8 01 cmp eax, 1 - 00360 75 08 jne SHORT $LN2@inflate_ta - 00362 81 fa 54 03 00 - 00 cmp edx, 852 ; 00000354H - 00368 eb 0b jmp SHORT $LN111@inflate_ta -$LN2@inflate_ta: - 0036a 83 f8 02 cmp eax, 2 - 0036d 75 08 jne SHORT $LN4@inflate_ta - 0036f 81 fa 50 02 00 - 00 cmp edx, 592 ; 00000250H -$LN111@inflate_ta: - 00375 73 6a jae SHORT $LN3@inflate_ta -$LN4@inflate_ta: - -; 283 : -; 284 : /* point entry in root table to sub-table */ -; 285 : low = huff & mask; - - 00377 8b d6 mov edx, esi - -; 286 : (*table)[low].op = (unsigned char)curr; - - 00379 8b 75 14 mov esi, DWORD PTR _table$[ebp] - 0037c 8b 06 mov eax, DWORD PTR [esi] - 0037e 88 0c 90 mov BYTE PTR [eax+edx*4], cl - -; 287 : (*table)[low].bits = (unsigned char)root; - - 00381 8b 0e mov ecx, DWORD PTR [esi] - 00383 8a 45 fc mov al, BYTE PTR _root$[ebp] - 00386 88 44 91 01 mov BYTE PTR [ecx+edx*4+1], al - -; 288 : (*table)[low].val = (unsigned short)(next - *table); - - 0038a 8b 06 mov eax, DWORD PTR [esi] - 0038c 8b 4d e8 mov ecx, DWORD PTR _next$[ebp] - 0038f 2b c8 sub ecx, eax - 00391 c1 f9 02 sar ecx, 2 - 00394 89 55 d0 mov DWORD PTR _low$[ebp], edx - 00397 66 89 4c 90 02 mov WORD PTR [eax+edx*4+2], cx - -; 289 : } -; 290 : } - - 0039c e9 62 fe ff ff jmp $LL24@inflate_ta -$LN81@inflate_ta: - -; 291 : -; 292 : /* fill in remaining table entry if code is incomplete (guaranteed to have -; 293 : at most one remaining entry, since if the code is incomplete, the -; 294 : maximum code length that was allowed to get this far is one bit) */ -; 295 : if (huff != 0) { - - 003a1 8b 45 f8 mov eax, DWORD PTR _huff$[ebp] - 003a4 85 c0 test eax, eax - 003a6 74 19 je SHORT $LN1@inflate_ta - -; 296 : here.op = (unsigned char)64; /* invalid code marker */ -; 297 : here.bits = (unsigned char)(len - drop); - - 003a8 2a 5d f4 sub bl, BYTE PTR _drop$[ebp] - -; 298 : here.val = (unsigned short)0; - - 003ab 33 d2 xor edx, edx - 003ad 66 89 55 12 mov WORD PTR _here$[ebp+2], dx - -; 299 : next[huff] = here; - - 003b1 8b 55 e8 mov edx, DWORD PTR _next$[ebp] - 003b4 c6 45 10 40 mov BYTE PTR _here$[ebp], 64 ; 00000040H - 003b8 88 5d 11 mov BYTE PTR _here$[ebp+1], bl - 003bb 8b 4d 10 mov ecx, DWORD PTR _here$[ebp] - 003be 89 0c 82 mov DWORD PTR [edx+eax*4], ecx -$LN1@inflate_ta: - -; 300 : } -; 301 : -; 302 : /* set return parameters */ -; 303 : *table += used; - - 003c1 8b 45 d8 mov eax, DWORD PTR _used$[ebp] - -; 304 : *bits = root; - - 003c4 8b 55 fc mov edx, DWORD PTR _root$[ebp] - 003c7 8d 0c 85 00 00 - 00 00 lea ecx, DWORD PTR [eax*4] - 003ce 8b 45 14 mov eax, DWORD PTR _table$[ebp] - 003d1 01 08 add DWORD PTR [eax], ecx - 003d3 8b 45 18 mov eax, DWORD PTR _bits$[ebp] - 003d6 5f pop edi - 003d7 5e pop esi - 003d8 89 10 mov DWORD PTR [eax], edx - -; 305 : return 0; - - 003da 33 c0 xor eax, eax - 003dc 5b pop ebx - -; 306 : } - - 003dd 8b e5 mov esp, ebp - 003df 5d pop ebp - 003e0 c3 ret 0 -$LN3@inflate_ta: - 003e1 5f pop edi - 003e2 5e pop esi - -; 282 : return 1; - - 003e3 b8 01 00 00 00 mov eax, 1 - 003e8 5b pop ebx - -; 306 : } - - 003e9 8b e5 mov esp, ebp - 003eb 5d pop ebp - 003ec c3 ret 0 -_inflate_table ENDP -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/ioapi.cod b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/ioapi.cod deleted file mode 100644 index 7c990275..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/ioapi.cod +++ /dev/null @@ -1,913 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.30319.01 - - TITLE D:\FMU\FMUSolution\zlib-1.2.6\contrib\minizip\ioapi.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC ??_C@_02JDPG@rb?$AA@ ; `string' -PUBLIC ??_C@_03HMFOOINA@r?$CLb?$AA@ ; `string' -PUBLIC ??_C@_02GMLFBBN@wb?$AA@ ; `string' -EXTRN _ftell:PROC -EXTRN _fseek:PROC -EXTRN _fread:PROC -EXTRN _fwrite:PROC -EXTRN __ftelli64:PROC -EXTRN __fseeki64:PROC -EXTRN _fclose:PROC -EXTRN _ferror:PROC -EXTRN _fopen:PROC -; COMDAT ??_C@_02GMLFBBN@wb?$AA@ -CONST SEGMENT -??_C@_02GMLFBBN@wb?$AA@ DB 'wb', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_03HMFOOINA@r?$CLb?$AA@ -CONST SEGMENT -??_C@_03HMFOOINA@r?$CLb?$AA@ DB 'r+b', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_02JDPG@rb?$AA@ -CONST SEGMENT -??_C@_02JDPG@rb?$AA@ DB 'rb', 00H ; `string' -; Function compile flags: /Ogtp -; File d:\fmu\fmusolution\zlib-1.2.6\contrib\minizip\ioapi.c -; COMDAT _ferror_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_ferror_file_func PROC ; COMDAT - -; 218 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 219 : int ret; -; 220 : ret = ferror((FILE *)stream); - - 00003 8b 45 0c mov eax, DWORD PTR _stream$[ebp] - 00006 50 push eax - 00007 e8 00 00 00 00 call _ferror - 0000c 83 c4 04 add esp, 4 - -; 221 : return ret; -; 222 : } - - 0000f 5d pop ebp - 00010 c3 ret 0 -_ferror_file_func ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _fclose_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_fclose_file_func PROC ; COMDAT - -; 211 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 212 : int ret; -; 213 : ret = fclose((FILE *)stream); - - 00003 8b 45 0c mov eax, DWORD PTR _stream$[ebp] - 00006 50 push eax - 00007 e8 00 00 00 00 call _fclose - 0000c 83 c4 04 add esp, 4 - -; 214 : return ret; -; 215 : } - - 0000f 5d pop ebp - 00010 c3 ret 0 -_fclose_file_func ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _fseek64_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_offset$ = 16 ; size = 8 -_origin$ = 24 ; size = 4 -_fseek64_file_func PROC ; COMDAT - -; 185 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 186 : int fseek_origin=0; -; 187 : long ret; -; 188 : switch (origin) - - 00003 8b 45 18 mov eax, DWORD PTR _origin$[ebp] - 00006 83 e8 00 sub eax, 0 - 00009 74 19 je SHORT $LN3@fseek64_fi - 0000b 48 dec eax - 0000c 74 0f je SHORT $LN5@fseek64_fi - 0000e 48 dec eax - 0000f 74 05 je SHORT $LN4@fseek64_fi - -; 198 : break; -; 199 : default: return -1; - - 00011 83 c8 ff or eax, -1 - -; 207 : } - - 00014 5d pop ebp - 00015 c3 ret 0 -$LN4@fseek64_fi: - -; 193 : case ZLIB_FILEFUNC_SEEK_END : -; 194 : fseek_origin = SEEK_END; - - 00016 b8 02 00 00 00 mov eax, 2 - -; 195 : break; - - 0001b eb 09 jmp SHORT $LN6@fseek64_fi -$LN5@fseek64_fi: - -; 189 : { -; 190 : case ZLIB_FILEFUNC_SEEK_CUR : -; 191 : fseek_origin = SEEK_CUR; - - 0001d b8 01 00 00 00 mov eax, 1 - -; 192 : break; - - 00022 eb 02 jmp SHORT $LN6@fseek64_fi -$LN3@fseek64_fi: - -; 196 : case ZLIB_FILEFUNC_SEEK_SET : -; 197 : fseek_origin = SEEK_SET; - - 00024 33 c0 xor eax, eax -$LN6@fseek64_fi: - -; 200 : } -; 201 : ret = 0; -; 202 : -; 203 : if(FSEEKO_FUNC((FILE *)stream, offset, fseek_origin) != 0) - - 00026 8b 4d 10 mov ecx, DWORD PTR _offset$[ebp] - 00029 8b 55 0c mov edx, DWORD PTR _stream$[ebp] - 0002c 56 push esi - 0002d 50 push eax - 0002e 8b 45 14 mov eax, DWORD PTR _offset$[ebp+4] - 00031 50 push eax - 00032 51 push ecx - 00033 52 push edx - 00034 33 f6 xor esi, esi - 00036 e8 00 00 00 00 call __fseeki64 - 0003b 83 c4 10 add esp, 16 ; 00000010H - 0003e 85 c0 test eax, eax - 00040 74 03 je SHORT $LN1@fseek64_fi - -; 204 : ret = -1; - - 00042 83 ce ff or esi, -1 -$LN1@fseek64_fi: - -; 205 : -; 206 : return ret; - - 00045 8b c6 mov eax, esi - 00047 5e pop esi - -; 207 : } - - 00048 5d pop ebp - 00049 c3 ret 0 -_fseek64_file_func ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _fseek_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_offset$ = 16 ; size = 4 -_origin$ = 20 ; size = 4 -_fseek_file_func PROC ; COMDAT - -; 162 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 163 : int fseek_origin=0; -; 164 : long ret; -; 165 : switch (origin) - - 00003 8b 45 14 mov eax, DWORD PTR _origin$[ebp] - 00006 83 e8 00 sub eax, 0 - 00009 74 19 je SHORT $LN3@fseek_file - 0000b 48 dec eax - 0000c 74 0f je SHORT $LN5@fseek_file - 0000e 48 dec eax - 0000f 74 05 je SHORT $LN4@fseek_file - -; 175 : break; -; 176 : default: return -1; - - 00011 83 c8 ff or eax, -1 - -; 182 : } - - 00014 5d pop ebp - 00015 c3 ret 0 -$LN4@fseek_file: - -; 170 : case ZLIB_FILEFUNC_SEEK_END : -; 171 : fseek_origin = SEEK_END; - - 00016 b8 02 00 00 00 mov eax, 2 - -; 172 : break; - - 0001b eb 09 jmp SHORT $LN6@fseek_file -$LN5@fseek_file: - -; 166 : { -; 167 : case ZLIB_FILEFUNC_SEEK_CUR : -; 168 : fseek_origin = SEEK_CUR; - - 0001d b8 01 00 00 00 mov eax, 1 - -; 169 : break; - - 00022 eb 02 jmp SHORT $LN6@fseek_file -$LN3@fseek_file: - -; 173 : case ZLIB_FILEFUNC_SEEK_SET : -; 174 : fseek_origin = SEEK_SET; - - 00024 33 c0 xor eax, eax -$LN6@fseek_file: - -; 177 : } -; 178 : ret = 0; -; 179 : if (fseek((FILE *)stream, offset, fseek_origin) != 0) - - 00026 8b 4d 0c mov ecx, DWORD PTR _stream$[ebp] - 00029 56 push esi - 0002a 50 push eax - 0002b 8b 45 10 mov eax, DWORD PTR _offset$[ebp] - 0002e 50 push eax - 0002f 51 push ecx - 00030 33 f6 xor esi, esi - 00032 e8 00 00 00 00 call _fseek - 00037 83 c4 0c add esp, 12 ; 0000000cH - 0003a 85 c0 test eax, eax - 0003c 74 03 je SHORT $LN1@fseek_file - -; 180 : ret = -1; - - 0003e 83 ce ff or esi, -1 -$LN1@fseek_file: - -; 181 : return ret; - - 00041 8b c6 mov eax, esi - 00043 5e pop esi - -; 182 : } - - 00044 5d pop ebp - 00045 c3 ret 0 -_fseek_file_func ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _ftell64_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_ftell64_file_func PROC ; COMDAT - -; 155 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 156 : ZPOS64_T ret; -; 157 : ret = FTELLO_FUNC((FILE *)stream); - - 00003 8b 45 0c mov eax, DWORD PTR _stream$[ebp] - 00006 50 push eax - 00007 e8 00 00 00 00 call __ftelli64 - 0000c 83 c4 04 add esp, 4 - -; 158 : return ret; -; 159 : } - - 0000f 5d pop ebp - 00010 c3 ret 0 -_ftell64_file_func ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _ftell_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_ftell_file_func PROC ; COMDAT - -; 147 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 148 : long ret; -; 149 : ret = ftell((FILE *)stream); - - 00003 8b 45 0c mov eax, DWORD PTR _stream$[ebp] - 00006 50 push eax - 00007 e8 00 00 00 00 call _ftell - 0000c 83 c4 04 add esp, 4 - -; 150 : return ret; -; 151 : } - - 0000f 5d pop ebp - 00010 c3 ret 0 -_ftell_file_func ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _fwrite_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_buf$ = 16 ; size = 4 -_size$ = 20 ; size = 4 -_fwrite_file_func PROC ; COMDAT - -; 140 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 141 : uLong ret; -; 142 : ret = (uLong)fwrite(buf, 1, (size_t)size, (FILE *)stream); - - 00003 8b 45 0c mov eax, DWORD PTR _stream$[ebp] - 00006 8b 4d 14 mov ecx, DWORD PTR _size$[ebp] - 00009 8b 55 10 mov edx, DWORD PTR _buf$[ebp] - 0000c 50 push eax - 0000d 51 push ecx - 0000e 6a 01 push 1 - 00010 52 push edx - 00011 e8 00 00 00 00 call _fwrite - 00016 83 c4 10 add esp, 16 ; 00000010H - -; 143 : return ret; -; 144 : } - - 00019 5d pop ebp - 0001a c3 ret 0 -_fwrite_file_func ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _fread_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_buf$ = 16 ; size = 4 -_size$ = 20 ; size = 4 -_fread_file_func PROC ; COMDAT - -; 133 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 134 : uLong ret; -; 135 : ret = (uLong)fread(buf, 1, (size_t)size, (FILE *)stream); - - 00003 8b 45 0c mov eax, DWORD PTR _stream$[ebp] - 00006 8b 4d 14 mov ecx, DWORD PTR _size$[ebp] - 00009 8b 55 10 mov edx, DWORD PTR _buf$[ebp] - 0000c 50 push eax - 0000d 51 push ecx - 0000e 6a 01 push 1 - 00010 52 push edx - 00011 e8 00 00 00 00 call _fread - 00016 83 c4 10 add esp, 16 ; 00000010H - -; 136 : return ret; -; 137 : } - - 00019 5d pop ebp - 0001a c3 ret 0 -_fread_file_func ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _fopen64_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_mode$ = 16 ; size = 4 -_fopen64_file_func PROC ; COMDAT - -; 114 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 115 : FILE* file = NULL; -; 116 : const char* mode_fopen = NULL; -; 117 : if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ) - - 00003 8b 55 10 mov edx, DWORD PTR _mode$[ebp] - 00006 8b c2 mov eax, edx - 00008 56 push esi - 00009 24 03 and al, 3 - 0000b 33 f6 xor esi, esi - 0000d 33 c9 xor ecx, ecx - 0000f 3c 01 cmp al, 1 - 00011 75 07 jne SHORT $LN6@fopen64_fi - -; 118 : mode_fopen = "rb"; - - 00013 b9 00 00 00 00 mov ecx, OFFSET ??_C@_02JDPG@rb?$AA@ - -; 119 : else - - 00018 eb 16 jmp SHORT $LN2@fopen64_fi -$LN6@fopen64_fi: - -; 120 : if (mode & ZLIB_FILEFUNC_MODE_EXISTING) - - 0001a f6 c2 04 test dl, 4 - 0001d 74 07 je SHORT $LN4@fopen64_fi - -; 121 : mode_fopen = "r+b"; - - 0001f b9 00 00 00 00 mov ecx, OFFSET ??_C@_03HMFOOINA@r?$CLb?$AA@ - -; 122 : else - - 00024 eb 0a jmp SHORT $LN2@fopen64_fi -$LN4@fopen64_fi: - -; 123 : if (mode & ZLIB_FILEFUNC_MODE_CREATE) - - 00026 f6 c2 08 test dl, 8 - 00029 74 05 je SHORT $LN2@fopen64_fi - -; 124 : mode_fopen = "wb"; - - 0002b b9 00 00 00 00 mov ecx, OFFSET ??_C@_02GMLFBBN@wb?$AA@ -$LN2@fopen64_fi: - -; 125 : -; 126 : if ((filename!=NULL) && (mode_fopen != NULL)) - - 00030 8b 55 0c mov edx, DWORD PTR _filename$[ebp] - 00033 85 d2 test edx, edx - 00035 74 11 je SHORT $LN10@fopen64_fi - 00037 85 c9 test ecx, ecx - 00039 74 0d je SHORT $LN10@fopen64_fi - -; 127 : file = FOPEN_FUNC((const char*)filename, mode_fopen); - - 0003b 51 push ecx - 0003c 52 push edx - 0003d e8 00 00 00 00 call _fopen - 00042 83 c4 08 add esp, 8 - 00045 5e pop esi - -; 129 : } - - 00046 5d pop ebp - 00047 c3 ret 0 -$LN10@fopen64_fi: - -; 128 : return file; - - 00048 8b c6 mov eax, esi - 0004a 5e pop esi - -; 129 : } - - 0004b 5d pop ebp - 0004c c3 ret 0 -_fopen64_file_func ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _fopen_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_mode$ = 16 ; size = 4 -_fopen_file_func PROC ; COMDAT - -; 96 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 97 : FILE* file = NULL; -; 98 : const char* mode_fopen = NULL; -; 99 : if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ) - - 00003 8b 55 10 mov edx, DWORD PTR _mode$[ebp] - 00006 8b c2 mov eax, edx - 00008 56 push esi - 00009 24 03 and al, 3 - 0000b 33 f6 xor esi, esi - 0000d 33 c9 xor ecx, ecx - 0000f 3c 01 cmp al, 1 - 00011 75 07 jne SHORT $LN6@fopen_file - -; 100 : mode_fopen = "rb"; - - 00013 b9 00 00 00 00 mov ecx, OFFSET ??_C@_02JDPG@rb?$AA@ - -; 101 : else - - 00018 eb 16 jmp SHORT $LN2@fopen_file -$LN6@fopen_file: - -; 102 : if (mode & ZLIB_FILEFUNC_MODE_EXISTING) - - 0001a f6 c2 04 test dl, 4 - 0001d 74 07 je SHORT $LN4@fopen_file - -; 103 : mode_fopen = "r+b"; - - 0001f b9 00 00 00 00 mov ecx, OFFSET ??_C@_03HMFOOINA@r?$CLb?$AA@ - -; 104 : else - - 00024 eb 0a jmp SHORT $LN2@fopen_file -$LN4@fopen_file: - -; 105 : if (mode & ZLIB_FILEFUNC_MODE_CREATE) - - 00026 f6 c2 08 test dl, 8 - 00029 74 05 je SHORT $LN2@fopen_file - -; 106 : mode_fopen = "wb"; - - 0002b b9 00 00 00 00 mov ecx, OFFSET ??_C@_02GMLFBBN@wb?$AA@ -$LN2@fopen_file: - -; 107 : -; 108 : if ((filename!=NULL) && (mode_fopen != NULL)) - - 00030 8b 55 0c mov edx, DWORD PTR _filename$[ebp] - 00033 85 d2 test edx, edx - 00035 74 11 je SHORT $LN10@fopen_file - 00037 85 c9 test ecx, ecx - 00039 74 0d je SHORT $LN10@fopen_file - -; 109 : file = fopen(filename, mode_fopen); - - 0003b 51 push ecx - 0003c 52 push edx - 0003d e8 00 00 00 00 call _fopen - 00042 83 c4 08 add esp, 8 - 00045 5e pop esi - -; 111 : } - - 00046 5d pop ebp - 00047 c3 ret 0 -$LN10@fopen_file: - -; 110 : return file; - - 00048 8b c6 mov eax, esi - 0004a 5e pop esi - -; 111 : } - - 0004b 5d pop ebp - 0004c c3 ret 0 -_fopen_file_func ENDP -_TEXT ENDS -PUBLIC _fill_zlib_filefunc64_32_def_from_filefunc32 -; Function compile flags: /Ogtp -; COMDAT _fill_zlib_filefunc64_32_def_from_filefunc32 -_TEXT SEGMENT -_fill_zlib_filefunc64_32_def_from_filefunc32 PROC ; COMDAT -; _p_filefunc64_32$ = eax -; _p_filefunc32$ = ecx - -; 71 : p_filefunc64_32->zfile_func64.zopen64_file = NULL; - - 00000 33 d2 xor edx, edx - 00002 89 10 mov DWORD PTR [eax], edx - -; 72 : p_filefunc64_32->zopen32_file = p_filefunc32->zopen_file; -; 73 : p_filefunc64_32->zfile_func64.zerror_file = p_filefunc32->zerror_file; -; 74 : p_filefunc64_32->zfile_func64.zread_file = p_filefunc32->zread_file; -; 75 : p_filefunc64_32->zfile_func64.zwrite_file = p_filefunc32->zwrite_file; -; 76 : p_filefunc64_32->zfile_func64.ztell64_file = NULL; - - 00004 89 50 0c mov DWORD PTR [eax+12], edx - -; 77 : p_filefunc64_32->zfile_func64.zseek64_file = NULL; - - 00007 89 50 10 mov DWORD PTR [eax+16], edx - -; 78 : p_filefunc64_32->zfile_func64.zclose_file = p_filefunc32->zclose_file; - - 0000a 8b 51 14 mov edx, DWORD PTR [ecx+20] - 0000d 56 push esi - 0000e 8b 31 mov esi, DWORD PTR [ecx] - 00010 89 50 14 mov DWORD PTR [eax+20], edx - -; 79 : p_filefunc64_32->zfile_func64.zerror_file = p_filefunc32->zerror_file; - - 00013 8b 51 18 mov edx, DWORD PTR [ecx+24] - 00016 89 70 20 mov DWORD PTR [eax+32], esi - 00019 8b 71 04 mov esi, DWORD PTR [ecx+4] - 0001c 89 50 18 mov DWORD PTR [eax+24], edx - -; 80 : p_filefunc64_32->zfile_func64.opaque = p_filefunc32->opaque; - - 0001f 8b 51 1c mov edx, DWORD PTR [ecx+28] - 00022 89 70 04 mov DWORD PTR [eax+4], esi - 00025 8b 71 08 mov esi, DWORD PTR [ecx+8] - 00028 89 50 1c mov DWORD PTR [eax+28], edx - -; 81 : p_filefunc64_32->zseek32_file = p_filefunc32->zseek_file; - - 0002b 8b 51 10 mov edx, DWORD PTR [ecx+16] - -; 82 : p_filefunc64_32->ztell32_file = p_filefunc32->ztell_file; - - 0002e 8b 49 0c mov ecx, DWORD PTR [ecx+12] - 00031 89 70 08 mov DWORD PTR [eax+8], esi - 00034 89 50 28 mov DWORD PTR [eax+40], edx - 00037 89 48 24 mov DWORD PTR [eax+36], ecx - 0003a 5e pop esi - -; 83 : } - - 0003b c3 ret 0 -_fill_zlib_filefunc64_32_def_from_filefunc32 ENDP -_TEXT ENDS -PUBLIC _call_ztell64 -; Function compile flags: /Ogtp -; COMDAT _call_ztell64 -_TEXT SEGMENT -_call_ztell64 PROC ; COMDAT -; _pfilefunc$ = eax -; _filestream$ = ecx - -; 57 : if (pfilefunc->zfile_func64.zseek64_file != NULL) - - 00000 83 78 10 00 cmp DWORD PTR [eax+16], 0 - -; 58 : return (*(pfilefunc->zfile_func64.ztell64_file)) (pfilefunc->zfile_func64.opaque,filestream); - - 00004 51 push ecx - 00005 8b 48 1c mov ecx, DWORD PTR [eax+28] - 00008 51 push ecx - 00009 74 09 je SHORT $LN4@call_ztell - 0000b 8b 50 0c mov edx, DWORD PTR [eax+12] - 0000e ff d2 call edx - 00010 83 c4 08 add esp, 8 - -; 66 : } -; 67 : } - - 00013 c3 ret 0 -$LN4@call_ztell: - -; 59 : else -; 60 : { -; 61 : uLong tell_uLong = (*(pfilefunc->ztell32_file))(pfilefunc->zfile_func64.opaque,filestream); - - 00014 8b 50 24 mov edx, DWORD PTR [eax+36] - 00017 ff d2 call edx - 00019 83 c4 08 add esp, 8 - -; 62 : if ((tell_uLong) == MAXU32) - - 0001c 83 f8 ff cmp eax, -1 - 0001f 75 06 jne SHORT $LN2@call_ztell - -; 63 : return (ZPOS64_T)-1; - - 00021 0b c0 or eax, eax - 00023 83 ca ff or edx, -1 - -; 66 : } -; 67 : } - - 00026 c3 ret 0 -$LN2@call_ztell: - -; 64 : else -; 65 : return tell_uLong; - - 00027 33 d2 xor edx, edx - -; 66 : } -; 67 : } - - 00029 c3 ret 0 -_call_ztell64 ENDP -_TEXT ENDS -PUBLIC _call_zseek64 -; Function compile flags: /Ogtp -; COMDAT _call_zseek64 -_TEXT SEGMENT -_offset$ = 8 ; size = 8 -_call_zseek64 PROC ; COMDAT -; _pfilefunc$ = eax -; _filestream$ = esi -; _origin$ = edx - -; 42 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 51 push ecx - -; 43 : if (pfilefunc->zfile_func64.zseek64_file != NULL) - - 00007 8b 48 10 mov ecx, DWORD PTR [eax+16] - 0000a 57 push edi - 0000b 85 c9 test ecx, ecx - 0000d 74 18 je SHORT $LN4@call_zseek - -; 44 : return (*(pfilefunc->zfile_func64.zseek64_file)) (pfilefunc->zfile_func64.opaque,filestream,offset,origin); - - 0000f 8b 40 1c mov eax, DWORD PTR [eax+28] - 00012 52 push edx - 00013 8b 55 0c mov edx, DWORD PTR _offset$[ebp+4] - 00016 52 push edx - 00017 8b 55 08 mov edx, DWORD PTR _offset$[ebp] - 0001a 52 push edx - 0001b 56 push esi - 0001c 50 push eax - 0001d ff d1 call ecx - 0001f 83 c4 14 add esp, 20 ; 00000014H - -; 52 : } -; 53 : } - - 00022 5f pop edi - 00023 8b e5 mov esp, ebp - 00025 5d pop ebp - 00026 c3 ret 0 -$LN4@call_zseek: - -; 45 : else -; 46 : { -; 47 : uLong offsetTruncated = (uLong)offset; -; 48 : if (offsetTruncated != offset) - - 00027 8b 4d 08 mov ecx, DWORD PTR _offset$[ebp] - 0002a 33 ff xor edi, edi - 0002c 3b c9 cmp ecx, ecx - 0002e 75 05 jne SHORT $LN7@call_zseek - 00030 3b 7d 0c cmp edi, DWORD PTR _offset$[ebp+4] - 00033 74 08 je SHORT $LN2@call_zseek -$LN7@call_zseek: - -; 49 : return -1; - - 00035 83 c8 ff or eax, -1 - -; 52 : } -; 53 : } - - 00038 5f pop edi - 00039 8b e5 mov esp, ebp - 0003b 5d pop ebp - 0003c c3 ret 0 -$LN2@call_zseek: - -; 50 : else -; 51 : return (*(pfilefunc->zseek32_file))(pfilefunc->zfile_func64.opaque,filestream,offsetTruncated,origin); - - 0003d 52 push edx - 0003e 8b 50 28 mov edx, DWORD PTR [eax+40] - 00041 51 push ecx - 00042 8b 48 1c mov ecx, DWORD PTR [eax+28] - 00045 56 push esi - 00046 51 push ecx - 00047 ff d2 call edx - 00049 83 c4 10 add esp, 16 ; 00000010H - -; 52 : } -; 53 : } - - 0004c 5f pop edi - 0004d 8b e5 mov esp, ebp - 0004f 5d pop ebp - 00050 c3 ret 0 -_call_zseek64 ENDP -_TEXT ENDS -PUBLIC _call_zopen64 -; Function compile flags: /Ogtp -; COMDAT _call_zopen64 -_TEXT SEGMENT -_call_zopen64 PROC ; COMDAT -; _pfilefunc$ = eax -; _filename$ = esi -; _mode$ = edx - -; 33 : if (pfilefunc->zfile_func64.zopen64_file != NULL) - - 00000 8b 08 mov ecx, DWORD PTR [eax] - -; 34 : return (*(pfilefunc->zfile_func64.zopen64_file)) (pfilefunc->zfile_func64.opaque,filename,mode); - - 00002 52 push edx - 00003 56 push esi - 00004 85 c9 test ecx, ecx - 00006 74 0a je SHORT $LN2@call_zopen - 00008 8b 40 1c mov eax, DWORD PTR [eax+28] - 0000b 50 push eax - 0000c ff d1 call ecx - -; 35 : else -; 36 : { -; 37 : return (*(pfilefunc->zopen32_file))(pfilefunc->zfile_func64.opaque,(const char*)filename,mode); - - 0000e 83 c4 0c add esp, 12 ; 0000000cH - -; 38 : } -; 39 : } - - 00011 c3 ret 0 -$LN2@call_zopen: - -; 35 : else -; 36 : { -; 37 : return (*(pfilefunc->zopen32_file))(pfilefunc->zfile_func64.opaque,(const char*)filename,mode); - - 00012 8b 48 1c mov ecx, DWORD PTR [eax+28] - 00015 8b 50 20 mov edx, DWORD PTR [eax+32] - 00018 51 push ecx - 00019 ff d2 call edx - 0001b 83 c4 0c add esp, 12 ; 0000000cH - -; 38 : } -; 39 : } - - 0001e c3 ret 0 -_call_zopen64 ENDP -PUBLIC _fill_fopen64_filefunc -; Function compile flags: /Ogtp -; COMDAT _fill_fopen64_filefunc -_TEXT SEGMENT -_fill_fopen64_filefunc PROC ; COMDAT -; _pzlib_filefunc_def$ = eax - -; 239 : pzlib_filefunc_def->zopen64_file = fopen64_file_func; - - 00000 c7 00 00 00 00 - 00 mov DWORD PTR [eax], OFFSET _fopen64_file_func - -; 240 : pzlib_filefunc_def->zread_file = fread_file_func; - - 00006 c7 40 04 00 00 - 00 00 mov DWORD PTR [eax+4], OFFSET _fread_file_func - -; 241 : pzlib_filefunc_def->zwrite_file = fwrite_file_func; - - 0000d c7 40 08 00 00 - 00 00 mov DWORD PTR [eax+8], OFFSET _fwrite_file_func - -; 242 : pzlib_filefunc_def->ztell64_file = ftell64_file_func; - - 00014 c7 40 0c 00 00 - 00 00 mov DWORD PTR [eax+12], OFFSET _ftell64_file_func - -; 243 : pzlib_filefunc_def->zseek64_file = fseek64_file_func; - - 0001b c7 40 10 00 00 - 00 00 mov DWORD PTR [eax+16], OFFSET _fseek64_file_func - -; 244 : pzlib_filefunc_def->zclose_file = fclose_file_func; - - 00022 c7 40 14 00 00 - 00 00 mov DWORD PTR [eax+20], OFFSET _fclose_file_func - -; 245 : pzlib_filefunc_def->zerror_file = ferror_file_func; - - 00029 c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET _ferror_file_func - -; 246 : pzlib_filefunc_def->opaque = NULL; - - 00030 c7 40 1c 00 00 - 00 00 mov DWORD PTR [eax+28], 0 - -; 247 : } - - 00037 c3 ret 0 -_fill_fopen64_filefunc ENDP -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/iowin32.cod b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/iowin32.cod deleted file mode 100644 index 1e0136e0..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/iowin32.cod +++ /dev/null @@ -1,1491 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.30319.01 - - TITLE D:\FMU\FMUSolution\zlib-1.2.6\contrib\minizip\iowin32.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -EXTRN __imp__CreateFileW@28:PROC -EXTRN __imp__CreateFileA@28:PROC -EXTRN __imp__ReadFile@20:PROC -EXTRN __imp__WriteFile@20:PROC -EXTRN __imp__GetLastError@0:PROC -EXTRN __imp__SetFilePointer@16:PROC -EXTRN __imp__CloseHandle@4:PROC -PUBLIC _win32_error_file_func -; Function compile flags: /Ogtp -; File d:\fmu\fmusolution\zlib-1.2.6\contrib\minizip\iowin32.c -; COMDAT _win32_error_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_win32_error_file_func PROC ; COMDAT - -; 332 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 333 : int ret=-1; -; 334 : if (stream!=NULL) - - 00003 8b 4d 0c mov ecx, DWORD PTR _stream$[ebp] - 00006 83 c8 ff or eax, -1 - 00009 85 c9 test ecx, ecx - 0000b 74 03 je SHORT $LN1@win32_erro - -; 335 : { -; 336 : ret = ((WIN32FILE_IOWIN*)stream) -> error; -; 337 : } -; 338 : return ret; - - 0000d 8b 41 04 mov eax, DWORD PTR [ecx+4] -$LN1@win32_erro: - -; 339 : } - - 00010 5d pop ebp - 00011 c3 ret 0 -_win32_error_file_func ENDP -_TEXT ENDS -PUBLIC _win32_close_file_func -; Function compile flags: /Ogtp -; COMDAT _win32_close_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_win32_close_file_func PROC ; COMDAT - -; 314 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - 00004 57 push edi - -; 315 : int ret=-1; -; 316 : -; 317 : if (stream!=NULL) - - 00005 8b 7d 0c mov edi, DWORD PTR _stream$[ebp] - 00008 83 ce ff or esi, -1 - 0000b 85 ff test edi, edi - 0000d 74 18 je SHORT $LN5@win32_clos - -; 318 : { -; 319 : HANDLE hFile; -; 320 : hFile = ((WIN32FILE_IOWIN*)stream) -> hf; - - 0000f 8b 07 mov eax, DWORD PTR [edi] - -; 321 : if (hFile != NULL) - - 00011 85 c0 test eax, eax - 00013 74 09 je SHORT $LN1@win32_clos - -; 322 : { -; 323 : CloseHandle(hFile); - - 00015 50 push eax - 00016 ff 15 00 00 00 - 00 call DWORD PTR __imp__CloseHandle@4 - -; 324 : ret=0; - - 0001c 33 f6 xor esi, esi -$LN1@win32_clos: - -; 325 : } -; 326 : free(stream); - - 0001e 57 push edi - 0001f e8 00 00 00 00 call _free - 00024 83 c4 04 add esp, 4 -$LN5@win32_clos: - -; 327 : } -; 328 : return ret; - - 00027 5f pop edi - 00028 8b c6 mov eax, esi - 0002a 5e pop esi - -; 329 : } - - 0002b 5d pop ebp - 0002c c3 ret 0 -_win32_close_file_func ENDP -_TEXT ENDS -PUBLIC _win32_seek64_file_func -; Function compile flags: /Ogtp -; COMDAT _win32_seek64_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_offset$ = 16 ; size = 8 -_origin$ = 24 ; size = 4 -_win32_seek64_file_func PROC ; COMDAT - -; 275 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 276 : DWORD dwMoveMethod=0xFFFFFFFF; -; 277 : HANDLE hFile = NULL; -; 278 : long ret=-1; -; 279 : -; 280 : if (stream!=NULL) - - 00004 8b 75 0c mov esi, DWORD PTR _stream$[ebp] - 00007 33 d2 xor edx, edx - 00009 83 c8 ff or eax, -1 - 0000c 85 f6 test esi, esi - 0000e 74 02 je SHORT $LN10@win32_seek - -; 281 : hFile = ((WIN32FILE_IOWIN*)stream)->hf; - - 00010 8b 16 mov edx, DWORD PTR [esi] -$LN10@win32_seek: - -; 282 : -; 283 : switch (origin) - - 00012 8b 4d 18 mov ecx, DWORD PTR _origin$[ebp] - 00015 83 e9 00 sub ecx, 0 - 00018 74 14 je SHORT $LN5@win32_seek - 0001a 49 dec ecx - 0001b 74 0a je SHORT $LN7@win32_seek - 0001d 49 dec ecx - -; 293 : break; -; 294 : default: return -1; - - 0001e 75 32 jne SHORT $LN13@win32_seek - -; 288 : case ZLIB_FILEFUNC_SEEK_END : -; 289 : dwMoveMethod = FILE_END; - - 00020 b9 02 00 00 00 mov ecx, 2 - -; 290 : break; - - 00025 eb 09 jmp SHORT $LN8@win32_seek -$LN7@win32_seek: - -; 284 : { -; 285 : case ZLIB_FILEFUNC_SEEK_CUR : -; 286 : dwMoveMethod = FILE_CURRENT; - - 00027 b9 01 00 00 00 mov ecx, 1 - -; 287 : break; - - 0002c eb 02 jmp SHORT $LN8@win32_seek -$LN5@win32_seek: - -; 291 : case ZLIB_FILEFUNC_SEEK_SET : -; 292 : dwMoveMethod = FILE_BEGIN; - - 0002e 33 c9 xor ecx, ecx -$LN8@win32_seek: - -; 295 : } -; 296 : -; 297 : if (hFile) - - 00030 85 d2 test edx, edx - 00032 74 26 je SHORT $LN11@win32_seek - -; 298 : { -; 299 : LARGE_INTEGER* li = (LARGE_INTEGER*)&offset; -; 300 : DWORD dwSet = SetFilePointer(hFile, li->u.LowPart, &li->u.HighPart, dwMoveMethod); - - 00034 51 push ecx - 00035 8b 4d 10 mov ecx, DWORD PTR _offset$[ebp] - 00038 8d 45 14 lea eax, DWORD PTR _offset$[ebp+4] - 0003b 50 push eax - 0003c 51 push ecx - 0003d 52 push edx - 0003e ff 15 00 00 00 - 00 call DWORD PTR __imp__SetFilePointer@16 - -; 301 : if (dwSet == INVALID_SET_FILE_POINTER) - - 00044 83 f8 ff cmp eax, -1 - 00047 75 0f jne SHORT $LN2@win32_seek - -; 302 : { -; 303 : DWORD dwErr = GetLastError(); - - 00049 ff 15 00 00 00 - 00 call DWORD PTR __imp__GetLastError@0 - -; 304 : ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; - - 0004f 89 46 04 mov DWORD PTR [esi+4], eax -$LN13@win32_seek: - -; 305 : ret = -1; - - 00052 83 c8 ff or eax, -1 - 00055 5e pop esi - -; 309 : } -; 310 : return ret; -; 311 : } - - 00056 5d pop ebp - 00057 c3 ret 0 -$LN2@win32_seek: - -; 306 : } -; 307 : else -; 308 : ret=0; - - 00058 33 c0 xor eax, eax -$LN11@win32_seek: - 0005a 5e pop esi - -; 309 : } -; 310 : return ret; -; 311 : } - - 0005b 5d pop ebp - 0005c c3 ret 0 -_win32_seek64_file_func ENDP -_TEXT ENDS -PUBLIC _win32_seek_file_func -; Function compile flags: /Ogtp -; COMDAT _win32_seek_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_offset$ = 16 ; size = 4 -_origin$ = 20 ; size = 4 -_win32_seek_file_func PROC ; COMDAT - -; 238 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 239 : DWORD dwMoveMethod=0xFFFFFFFF; -; 240 : HANDLE hFile = NULL; -; 241 : -; 242 : long ret=-1; -; 243 : if (stream!=NULL) - - 00004 8b 75 0c mov esi, DWORD PTR _stream$[ebp] - 00007 33 d2 xor edx, edx - 00009 83 c8 ff or eax, -1 - 0000c 85 f6 test esi, esi - 0000e 74 02 je SHORT $LN10@win32_seek@2 - -; 244 : hFile = ((WIN32FILE_IOWIN*)stream) -> hf; - - 00010 8b 16 mov edx, DWORD PTR [esi] -$LN10@win32_seek@2: - -; 245 : switch (origin) - - 00012 8b 4d 14 mov ecx, DWORD PTR _origin$[ebp] - 00015 83 e9 00 sub ecx, 0 - 00018 74 14 je SHORT $LN5@win32_seek@2 - 0001a 49 dec ecx - 0001b 74 0a je SHORT $LN7@win32_seek@2 - 0001d 49 dec ecx - -; 255 : break; -; 256 : default: return -1; - - 0001e 75 30 jne SHORT $LN13@win32_seek@2 - -; 250 : case ZLIB_FILEFUNC_SEEK_END : -; 251 : dwMoveMethod = FILE_END; - - 00020 b9 02 00 00 00 mov ecx, 2 - -; 252 : break; - - 00025 eb 09 jmp SHORT $LN8@win32_seek@2 -$LN7@win32_seek@2: - -; 246 : { -; 247 : case ZLIB_FILEFUNC_SEEK_CUR : -; 248 : dwMoveMethod = FILE_CURRENT; - - 00027 b9 01 00 00 00 mov ecx, 1 - -; 249 : break; - - 0002c eb 02 jmp SHORT $LN8@win32_seek@2 -$LN5@win32_seek@2: - -; 253 : case ZLIB_FILEFUNC_SEEK_SET : -; 254 : dwMoveMethod = FILE_BEGIN; - - 0002e 33 c9 xor ecx, ecx -$LN8@win32_seek@2: - -; 257 : } -; 258 : -; 259 : if (hFile != NULL) - - 00030 85 d2 test edx, edx - 00032 74 24 je SHORT $LN11@win32_seek@2 - -; 260 : { -; 261 : DWORD dwSet = SetFilePointer(hFile, offset, NULL, dwMoveMethod); - - 00034 8b 45 10 mov eax, DWORD PTR _offset$[ebp] - 00037 51 push ecx - 00038 6a 00 push 0 - 0003a 50 push eax - 0003b 52 push edx - 0003c ff 15 00 00 00 - 00 call DWORD PTR __imp__SetFilePointer@16 - -; 262 : if (dwSet == INVALID_SET_FILE_POINTER) - - 00042 83 f8 ff cmp eax, -1 - 00045 75 0f jne SHORT $LN2@win32_seek@2 - -; 263 : { -; 264 : DWORD dwErr = GetLastError(); - - 00047 ff 15 00 00 00 - 00 call DWORD PTR __imp__GetLastError@0 - -; 265 : ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; - - 0004d 89 46 04 mov DWORD PTR [esi+4], eax -$LN13@win32_seek@2: - -; 266 : ret = -1; - - 00050 83 c8 ff or eax, -1 - 00053 5e pop esi - -; 270 : } -; 271 : return ret; -; 272 : } - - 00054 5d pop ebp - 00055 c3 ret 0 -$LN2@win32_seek@2: - -; 267 : } -; 268 : else -; 269 : ret=0; - - 00056 33 c0 xor eax, eax -$LN11@win32_seek@2: - 00058 5e pop esi - -; 270 : } -; 271 : return ret; -; 272 : } - - 00059 5d pop ebp - 0005a c3 ret 0 -_win32_seek_file_func ENDP -_TEXT ENDS -PUBLIC _win32_tell64_file_func -; Function compile flags: /Ogtp -; COMDAT _win32_tell64_file_func -_TEXT SEGMENT -_li$82085 = -8 ; size = 8 -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_win32_tell64_file_func PROC ; COMDAT - -; 213 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 83 ec 08 sub esp, 8 - 00009 56 push esi - -; 214 : ZPOS64_T ret= (ZPOS64_T)-1; -; 215 : HANDLE hFile = NULL; -; 216 : if (stream!=NULL) - - 0000a 8b 75 0c mov esi, DWORD PTR _stream$[ebp] - 0000d 57 push edi - 0000e 33 ff xor edi, edi - 00010 83 c8 ff or eax, -1 - 00013 83 ca ff or edx, -1 - 00016 3b f7 cmp esi, edi - 00018 74 4b je SHORT $LN1@win32_tell - -; 217 : hFile = ((WIN32FILE_IOWIN*)stream)->hf; - - 0001a 8b 0e mov ecx, DWORD PTR [esi] - -; 218 : -; 219 : if (hFile) - - 0001c 3b cf cmp ecx, edi - 0001e 74 45 je SHORT $LN1@win32_tell - -; 220 : { -; 221 : LARGE_INTEGER li; -; 222 : li.QuadPart = 0; -; 223 : li.u.LowPart = SetFilePointer(hFile, li.u.LowPart, &li.u.HighPart, FILE_CURRENT); - - 00020 6a 01 push 1 - 00022 8d 44 24 10 lea eax, DWORD PTR _li$82085[esp+24] - 00026 50 push eax - 00027 57 push edi - 00028 51 push ecx - 00029 89 7c 24 18 mov DWORD PTR _li$82085[esp+32], edi - 0002d 89 7c 24 1c mov DWORD PTR _li$82085[esp+36], edi - 00031 ff 15 00 00 00 - 00 call DWORD PTR __imp__SetFilePointer@16 - 00037 89 44 24 08 mov DWORD PTR _li$82085[esp+16], eax - -; 224 : if ( (li.LowPart == 0xFFFFFFFF) && (GetLastError() != NO_ERROR)) - - 0003b 83 f8 ff cmp eax, -1 - 0003e 75 21 jne SHORT $LN2@win32_tell - 00040 8b 3d 00 00 00 - 00 mov edi, DWORD PTR __imp__GetLastError@0 - 00046 ff d7 call edi - 00048 85 c0 test eax, eax - 0004a 74 11 je SHORT $LN9@win32_tell - -; 225 : { -; 226 : DWORD dwErr = GetLastError(); - - 0004c ff d7 call edi - -; 227 : ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; - - 0004e 89 46 04 mov DWORD PTR [esi+4], eax - -; 228 : ret = (ZPOS64_T)-1; - - 00051 83 c8 ff or eax, -1 - 00054 83 ca ff or edx, -1 - -; 232 : } -; 233 : return ret; -; 234 : } - - 00057 5f pop edi - 00058 5e pop esi - 00059 8b e5 mov esp, ebp - 0005b 5d pop ebp - 0005c c3 ret 0 -$LN9@win32_tell: - -; 229 : } -; 230 : else - - 0005d 8b 44 24 08 mov eax, DWORD PTR _li$82085[esp+16] -$LN2@win32_tell: - -; 231 : ret=li.QuadPart; - - 00061 8b 54 24 0c mov edx, DWORD PTR _li$82085[esp+20] -$LN1@win32_tell: - -; 232 : } -; 233 : return ret; -; 234 : } - - 00065 5f pop edi - 00066 5e pop esi - 00067 8b e5 mov esp, ebp - 00069 5d pop ebp - 0006a c3 ret 0 -_win32_tell64_file_func ENDP -_TEXT ENDS -PUBLIC _win32_tell_file_func -; Function compile flags: /Ogtp -; COMDAT _win32_tell_file_func -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_win32_tell_file_func PROC ; COMDAT - -; 192 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 193 : long ret=-1; -; 194 : HANDLE hFile = NULL; -; 195 : if (stream!=NULL) - - 00004 8b 75 0c mov esi, DWORD PTR _stream$[ebp] - 00007 83 c8 ff or eax, -1 - 0000a 85 f6 test esi, esi - 0000c 74 24 je SHORT $LN1@win32_tell@2 - -; 196 : hFile = ((WIN32FILE_IOWIN*)stream) -> hf; - - 0000e 8b 0e mov ecx, DWORD PTR [esi] - -; 197 : if (hFile != NULL) - - 00010 85 c9 test ecx, ecx - 00012 74 1e je SHORT $LN1@win32_tell@2 - -; 198 : { -; 199 : DWORD dwSet = SetFilePointer(hFile, 0, NULL, FILE_CURRENT); - - 00014 6a 01 push 1 - 00016 6a 00 push 0 - 00018 6a 00 push 0 - 0001a 51 push ecx - 0001b ff 15 00 00 00 - 00 call DWORD PTR __imp__SetFilePointer@16 - -; 200 : if (dwSet == INVALID_SET_FILE_POINTER) - - 00021 83 f8 ff cmp eax, -1 - 00024 75 0c jne SHORT $LN1@win32_tell@2 - -; 201 : { -; 202 : DWORD dwErr = GetLastError(); - - 00026 ff 15 00 00 00 - 00 call DWORD PTR __imp__GetLastError@0 - -; 203 : ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; - - 0002c 89 46 04 mov DWORD PTR [esi+4], eax - -; 204 : ret = -1; - - 0002f 83 c8 ff or eax, -1 -$LN1@win32_tell@2: - 00032 5e pop esi - -; 205 : } -; 206 : else -; 207 : ret=(long)dwSet; -; 208 : } -; 209 : return ret; -; 210 : } - - 00033 5d pop ebp - 00034 c3 ret 0 -_win32_tell_file_func ENDP -_TEXT ENDS -PUBLIC _win32_write_file_func -; Function compile flags: /Ogtp -; COMDAT _win32_write_file_func -_TEXT SEGMENT -_ret$ = -4 ; size = 4 -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_buf$ = 16 ; size = 4 -_size$ = 20 ; size = 4 -_win32_write_file_func PROC ; COMDAT - -; 171 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 56 push esi - -; 172 : uLong ret=0; -; 173 : HANDLE hFile = NULL; -; 174 : if (stream!=NULL) - - 00005 8b 75 0c mov esi, DWORD PTR _stream$[ebp] - 00008 33 c0 xor eax, eax - 0000a 89 45 fc mov DWORD PTR _ret$[ebp], eax - 0000d 85 f6 test esi, esi - 0000f 74 31 je SHORT $LN2@win32_writ - -; 175 : hFile = ((WIN32FILE_IOWIN*)stream) -> hf; - - 00011 8b 0e mov ecx, DWORD PTR [esi] - -; 176 : -; 177 : if (hFile != NULL) - - 00013 85 c9 test ecx, ecx - 00015 74 2b je SHORT $LN2@win32_writ - -; 178 : { -; 179 : if (!WriteFile(hFile, buf, size, &ret, NULL)) - - 00017 8b 55 14 mov edx, DWORD PTR _size$[ebp] - 0001a 50 push eax - 0001b 8d 45 fc lea eax, DWORD PTR _ret$[ebp] - 0001e 50 push eax - 0001f 8b 45 10 mov eax, DWORD PTR _buf$[ebp] - 00022 52 push edx - 00023 50 push eax - 00024 51 push ecx - 00025 ff 15 00 00 00 - 00 call DWORD PTR __imp__WriteFile@20 - 0002b 85 c0 test eax, eax - 0002d 75 10 jne SHORT $LN7@win32_writ - -; 180 : { -; 181 : DWORD dwErr = GetLastError(); - - 0002f ff 15 00 00 00 - 00 call DWORD PTR __imp__GetLastError@0 - -; 182 : if (dwErr == ERROR_HANDLE_EOF) - - 00035 83 f8 26 cmp eax, 38 ; 00000026H - 00038 75 02 jne SHORT $LN1@win32_writ - -; 183 : dwErr = 0; - - 0003a 33 c0 xor eax, eax -$LN1@win32_writ: - -; 184 : ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; - - 0003c 89 46 04 mov DWORD PTR [esi+4], eax -$LN7@win32_writ: - -; 185 : } -; 186 : } -; 187 : -; 188 : return ret; - - 0003f 8b 45 fc mov eax, DWORD PTR _ret$[ebp] -$LN2@win32_writ: - 00042 5e pop esi - -; 189 : } - - 00043 8b e5 mov esp, ebp - 00045 5d pop ebp - 00046 c3 ret 0 -_win32_write_file_func ENDP -_TEXT ENDS -PUBLIC _win32_read_file_func -; Function compile flags: /Ogtp -; COMDAT _win32_read_file_func -_TEXT SEGMENT -_ret$ = -4 ; size = 4 -_opaque$ = 8 ; size = 4 -_stream$ = 12 ; size = 4 -_buf$ = 16 ; size = 4 -_size$ = 20 ; size = 4 -_win32_read_file_func PROC ; COMDAT - -; 149 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 56 push esi - -; 150 : uLong ret=0; -; 151 : HANDLE hFile = NULL; -; 152 : if (stream!=NULL) - - 00005 8b 75 0c mov esi, DWORD PTR _stream$[ebp] - 00008 33 c0 xor eax, eax - 0000a 89 45 fc mov DWORD PTR _ret$[ebp], eax - 0000d 85 f6 test esi, esi - 0000f 74 31 je SHORT $LN2@win32_read - -; 153 : hFile = ((WIN32FILE_IOWIN*)stream) -> hf; - - 00011 8b 0e mov ecx, DWORD PTR [esi] - -; 154 : -; 155 : if (hFile != NULL) - - 00013 85 c9 test ecx, ecx - 00015 74 2b je SHORT $LN2@win32_read - -; 156 : { -; 157 : if (!ReadFile(hFile, buf, size, &ret, NULL)) - - 00017 8b 55 14 mov edx, DWORD PTR _size$[ebp] - 0001a 50 push eax - 0001b 8d 45 fc lea eax, DWORD PTR _ret$[ebp] - 0001e 50 push eax - 0001f 8b 45 10 mov eax, DWORD PTR _buf$[ebp] - 00022 52 push edx - 00023 50 push eax - 00024 51 push ecx - 00025 ff 15 00 00 00 - 00 call DWORD PTR __imp__ReadFile@20 - 0002b 85 c0 test eax, eax - 0002d 75 10 jne SHORT $LN7@win32_read - -; 158 : { -; 159 : DWORD dwErr = GetLastError(); - - 0002f ff 15 00 00 00 - 00 call DWORD PTR __imp__GetLastError@0 - -; 160 : if (dwErr == ERROR_HANDLE_EOF) - - 00035 83 f8 26 cmp eax, 38 ; 00000026H - 00038 75 02 jne SHORT $LN1@win32_read - -; 161 : dwErr = 0; - - 0003a 33 c0 xor eax, eax -$LN1@win32_read: - -; 162 : ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr; - - 0003c 89 46 04 mov DWORD PTR [esi+4], eax -$LN7@win32_read: - -; 163 : } -; 164 : } -; 165 : -; 166 : return ret; - - 0003f 8b 45 fc mov eax, DWORD PTR _ret$[ebp] -$LN2@win32_read: - 00042 5e pop esi - -; 167 : } - - 00043 8b e5 mov esp, ebp - 00045 5d pop ebp - 00046 c3 ret 0 -_win32_read_file_func ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _win32_build_iowin -_TEXT SEGMENT -_win32_build_iowin PROC ; COMDAT -; _hFile$ = edi - -; 71 : voidpf ret=NULL; - - 00000 33 c0 xor eax, eax - -; 72 : -; 73 : if ((hFile != NULL) && (hFile != INVALID_HANDLE_VALUE)) - - 00002 85 ff test edi, edi - 00004 74 2c je SHORT $LN1@win32_buil - 00006 83 ff ff cmp edi, -1 - 00009 74 27 je SHORT $LN1@win32_buil - -; 74 : { -; 75 : WIN32FILE_IOWIN w32fiow; -; 76 : w32fiow.hf = hFile; -; 77 : w32fiow.error = 0; -; 78 : ret = malloc(sizeof(WIN32FILE_IOWIN)); - - 0000b 53 push ebx - 0000c 56 push esi - 0000d 6a 08 push 8 - 0000f 33 db xor ebx, ebx - 00011 e8 00 00 00 00 call _malloc - 00016 8b f0 mov esi, eax - 00018 83 c4 04 add esp, 4 - -; 79 : -; 80 : if (ret==NULL) - - 0001b 85 f6 test esi, esi - 0001d 75 0c jne SHORT $LN2@win32_buil - -; 81 : CloseHandle(hFile); - - 0001f 57 push edi - 00020 ff 15 00 00 00 - 00 call DWORD PTR __imp__CloseHandle@4 - -; 84 : } -; 85 : return ret; - - 00026 8b c6 mov eax, esi - 00028 5e pop esi - 00029 5b pop ebx - -; 86 : } - - 0002a c3 ret 0 -$LN2@win32_buil: - -; 82 : else -; 83 : *((WIN32FILE_IOWIN*)ret) = w32fiow; - - 0002b 89 5e 04 mov DWORD PTR [esi+4], ebx - 0002e 89 3e mov DWORD PTR [esi], edi - 00030 5e pop esi - 00031 5b pop ebx -$LN1@win32_buil: - -; 86 : } - - 00032 c3 ret 0 -_win32_build_iowin ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _win32_translate_open_mode -_TEXT SEGMENT -_lpdwFlagsAndAttributes$ = 8 ; size = 4 -_win32_translate_open_mode PROC ; COMDAT -; _mode$ = edx -; _lpdwDesiredAccess$ = ecx -; _lpdwCreationDisposition$ = eax -; _lpdwShareMode$ = esi - -; 48 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - 00004 57 push edi - -; 49 : *lpdwDesiredAccess = *lpdwShareMode = *lpdwFlagsAndAttributes = *lpdwCreationDisposition = 0; - - 00005 8b 7d 08 mov edi, DWORD PTR _lpdwFlagsAndAttributes$[ebp] - -; 50 : -; 51 : if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ) - - 00008 8b da mov ebx, edx - 0000a 80 e3 03 and bl, 3 - 0000d c7 07 00 00 00 - 00 mov DWORD PTR [edi], 0 - 00013 5f pop edi - 00014 80 fb 01 cmp bl, 1 - 00017 c7 00 00 00 00 - 00 mov DWORD PTR [eax], 0 - 0001d c7 06 00 00 00 - 00 mov DWORD PTR [esi], 0 - 00023 c7 01 00 00 00 - 00 mov DWORD PTR [ecx], 0 - 00029 5b pop ebx - 0002a 75 14 jne SHORT $LN5@win32_tran - -; 52 : { -; 53 : *lpdwDesiredAccess = GENERIC_READ; - - 0002c c7 01 00 00 00 - 80 mov DWORD PTR [ecx], -2147483648 ; 80000000H - -; 54 : *lpdwCreationDisposition = OPEN_EXISTING; - - 00032 c7 00 03 00 00 - 00 mov DWORD PTR [eax], 3 - -; 55 : *lpdwShareMode = FILE_SHARE_READ; - - 00038 c7 06 01 00 00 - 00 mov DWORD PTR [esi], 1 - -; 66 : } -; 67 : } - - 0003e 5d pop ebp - 0003f c3 ret 0 -$LN5@win32_tran: - -; 56 : } -; 57 : else if (mode & ZLIB_FILEFUNC_MODE_EXISTING) - - 00040 f6 c2 04 test dl, 4 - 00043 74 0e je SHORT $LN3@win32_tran - -; 58 : { -; 59 : *lpdwDesiredAccess = GENERIC_WRITE | GENERIC_READ; -; 60 : *lpdwCreationDisposition = OPEN_EXISTING; - - 00045 c7 00 03 00 00 - 00 mov DWORD PTR [eax], 3 - -; 63 : { -; 64 : *lpdwDesiredAccess = GENERIC_WRITE | GENERIC_READ; - - 0004b c7 01 00 00 00 - c0 mov DWORD PTR [ecx], -1073741824 ; c0000000H - -; 66 : } -; 67 : } - - 00051 5d pop ebp - 00052 c3 ret 0 -$LN3@win32_tran: - -; 61 : } -; 62 : else if (mode & ZLIB_FILEFUNC_MODE_CREATE) - - 00053 f6 c2 08 test dl, 8 - 00056 74 0c je SHORT $LN1@win32_tran - -; 65 : *lpdwCreationDisposition = CREATE_ALWAYS; - - 00058 c7 00 02 00 00 - 00 mov DWORD PTR [eax], 2 - 0005e c7 01 00 00 00 - c0 mov DWORD PTR [ecx], -1073741824 ; c0000000H -$LN1@win32_tran: - -; 66 : } -; 67 : } - - 00064 5d pop ebp - 00065 c3 ret 0 -_win32_translate_open_mode ENDP -PUBLIC _win32_open_file_func -; Function compile flags: /Ogtp -; COMDAT _win32_open_file_func -_TEXT SEGMENT -_dwShareMode$ = -16 ; size = 4 -_dwCreationDisposition$ = -12 ; size = 4 -_dwFlagsAndAttributes$ = -8 ; size = 4 -_dwDesiredAccess$ = -4 ; size = 4 -_opaque$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_mode$ = 16 ; size = 4 -_win32_open_file_func PROC ; COMDAT - -; 134 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 135 : const char* mode_fopen = NULL; -; 136 : DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ; -; 137 : HANDLE hFile = NULL; -; 138 : -; 139 : win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes); - - 00003 8b 55 10 mov edx, DWORD PTR _mode$[ebp] - 00006 83 ec 10 sub esp, 16 ; 00000010H - 00009 56 push esi - 0000a 57 push edi - 0000b 8d 45 f8 lea eax, DWORD PTR _dwFlagsAndAttributes$[ebp] - 0000e 50 push eax - 0000f 8d 75 f0 lea esi, DWORD PTR _dwShareMode$[ebp] - 00012 8d 45 f4 lea eax, DWORD PTR _dwCreationDisposition$[ebp] - 00015 8d 4d fc lea ecx, DWORD PTR _dwDesiredAccess$[ebp] - 00018 33 ff xor edi, edi - 0001a e8 00 00 00 00 call _win32_translate_open_mode - -; 140 : -; 141 : if ((filename!=NULL) && (dwDesiredAccess != 0)) - - 0001f 8b 4d 0c mov ecx, DWORD PTR _filename$[ebp] - 00022 83 c4 04 add esp, 4 - 00025 85 c9 test ecx, ecx - 00027 74 1f je SHORT $LN1@win32_open - 00029 8b 45 fc mov eax, DWORD PTR _dwDesiredAccess$[ebp] - 0002c 85 c0 test eax, eax - 0002e 74 18 je SHORT $LN1@win32_open - -; 142 : hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL); - - 00030 8b 55 f8 mov edx, DWORD PTR _dwFlagsAndAttributes$[ebp] - 00033 57 push edi - 00034 52 push edx - 00035 8b 55 f4 mov edx, DWORD PTR _dwCreationDisposition$[ebp] - 00038 52 push edx - 00039 8b 55 f0 mov edx, DWORD PTR _dwShareMode$[ebp] - 0003c 57 push edi - 0003d 52 push edx - 0003e 50 push eax - 0003f 51 push ecx - 00040 ff 15 00 00 00 - 00 call DWORD PTR __imp__CreateFileA@28 - 00046 8b f8 mov edi, eax -$LN1@win32_open: - -; 143 : -; 144 : return win32_build_iowin(hFile); - - 00048 e8 00 00 00 00 call _win32_build_iowin - 0004d 5f pop edi - 0004e 5e pop esi - -; 145 : } - - 0004f 8b e5 mov esp, ebp - 00051 5d pop ebp - 00052 c3 ret 0 -_win32_open_file_func ENDP -_TEXT ENDS -PUBLIC _win32_open64_file_funcW -; Function compile flags: /Ogtp -; COMDAT _win32_open64_file_funcW -_TEXT SEGMENT -_dwShareMode$ = -16 ; size = 4 -_dwCreationDisposition$ = -12 ; size = 4 -_dwFlagsAndAttributes$ = -8 ; size = 4 -_dwDesiredAccess$ = -4 ; size = 4 -_opaque$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_mode$ = 16 ; size = 4 -_win32_open64_file_funcW PROC ; COMDAT - -; 119 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 120 : const char* mode_fopen = NULL; -; 121 : DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ; -; 122 : HANDLE hFile = NULL; -; 123 : -; 124 : win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes); - - 00003 8b 55 10 mov edx, DWORD PTR _mode$[ebp] - 00006 83 ec 10 sub esp, 16 ; 00000010H - 00009 56 push esi - 0000a 57 push edi - 0000b 8d 45 f8 lea eax, DWORD PTR _dwFlagsAndAttributes$[ebp] - 0000e 50 push eax - 0000f 8d 75 f0 lea esi, DWORD PTR _dwShareMode$[ebp] - 00012 8d 45 f4 lea eax, DWORD PTR _dwCreationDisposition$[ebp] - 00015 8d 4d fc lea ecx, DWORD PTR _dwDesiredAccess$[ebp] - 00018 33 ff xor edi, edi - 0001a e8 00 00 00 00 call _win32_translate_open_mode - -; 125 : -; 126 : if ((filename!=NULL) && (dwDesiredAccess != 0)) - - 0001f 8b 4d 0c mov ecx, DWORD PTR _filename$[ebp] - 00022 83 c4 04 add esp, 4 - 00025 85 c9 test ecx, ecx - 00027 74 1f je SHORT $LN1@win32_open@2 - 00029 8b 45 fc mov eax, DWORD PTR _dwDesiredAccess$[ebp] - 0002c 85 c0 test eax, eax - 0002e 74 18 je SHORT $LN1@win32_open@2 - -; 127 : hFile = CreateFileW((LPCWSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL); - - 00030 8b 55 f8 mov edx, DWORD PTR _dwFlagsAndAttributes$[ebp] - 00033 57 push edi - 00034 52 push edx - 00035 8b 55 f4 mov edx, DWORD PTR _dwCreationDisposition$[ebp] - 00038 52 push edx - 00039 8b 55 f0 mov edx, DWORD PTR _dwShareMode$[ebp] - 0003c 57 push edi - 0003d 52 push edx - 0003e 50 push eax - 0003f 51 push ecx - 00040 ff 15 00 00 00 - 00 call DWORD PTR __imp__CreateFileW@28 - 00046 8b f8 mov edi, eax -$LN1@win32_open@2: - -; 128 : -; 129 : return win32_build_iowin(hFile); - - 00048 e8 00 00 00 00 call _win32_build_iowin - 0004d 5f pop edi - 0004e 5e pop esi - -; 130 : } - - 0004f 8b e5 mov esp, ebp - 00051 5d pop ebp - 00052 c3 ret 0 -_win32_open64_file_funcW ENDP -_TEXT ENDS -PUBLIC _win32_open64_file_funcA -; Function compile flags: /Ogtp -; COMDAT _win32_open64_file_funcA -_TEXT SEGMENT -_dwShareMode$ = -16 ; size = 4 -_dwCreationDisposition$ = -12 ; size = 4 -_dwFlagsAndAttributes$ = -8 ; size = 4 -_dwDesiredAccess$ = -4 ; size = 4 -_opaque$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_mode$ = 16 ; size = 4 -_win32_open64_file_funcA PROC ; COMDAT - -; 104 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 105 : const char* mode_fopen = NULL; -; 106 : DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ; -; 107 : HANDLE hFile = NULL; -; 108 : -; 109 : win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes); - - 00003 8b 55 10 mov edx, DWORD PTR _mode$[ebp] - 00006 83 ec 10 sub esp, 16 ; 00000010H - 00009 56 push esi - 0000a 57 push edi - 0000b 8d 45 f8 lea eax, DWORD PTR _dwFlagsAndAttributes$[ebp] - 0000e 50 push eax - 0000f 8d 75 f0 lea esi, DWORD PTR _dwShareMode$[ebp] - 00012 8d 45 f4 lea eax, DWORD PTR _dwCreationDisposition$[ebp] - 00015 8d 4d fc lea ecx, DWORD PTR _dwDesiredAccess$[ebp] - 00018 33 ff xor edi, edi - 0001a e8 00 00 00 00 call _win32_translate_open_mode - -; 110 : -; 111 : if ((filename!=NULL) && (dwDesiredAccess != 0)) - - 0001f 8b 4d 0c mov ecx, DWORD PTR _filename$[ebp] - 00022 83 c4 04 add esp, 4 - 00025 85 c9 test ecx, ecx - 00027 74 1f je SHORT $LN1@win32_open@3 - 00029 8b 45 fc mov eax, DWORD PTR _dwDesiredAccess$[ebp] - 0002c 85 c0 test eax, eax - 0002e 74 18 je SHORT $LN1@win32_open@3 - -; 112 : hFile = CreateFileA((LPCSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL); - - 00030 8b 55 f8 mov edx, DWORD PTR _dwFlagsAndAttributes$[ebp] - 00033 57 push edi - 00034 52 push edx - 00035 8b 55 f4 mov edx, DWORD PTR _dwCreationDisposition$[ebp] - 00038 52 push edx - 00039 8b 55 f0 mov edx, DWORD PTR _dwShareMode$[ebp] - 0003c 57 push edi - 0003d 52 push edx - 0003e 50 push eax - 0003f 51 push ecx - 00040 ff 15 00 00 00 - 00 call DWORD PTR __imp__CreateFileA@28 - 00046 8b f8 mov edi, eax -$LN1@win32_open@3: - -; 113 : -; 114 : return win32_build_iowin(hFile); - - 00048 e8 00 00 00 00 call _win32_build_iowin - 0004d 5f pop edi - 0004e 5e pop esi - -; 115 : } - - 0004f 8b e5 mov esp, ebp - 00051 5d pop ebp - 00052 c3 ret 0 -_win32_open64_file_funcA ENDP -_TEXT ENDS -PUBLIC _win32_open64_file_func -; Function compile flags: /Ogtp -; COMDAT _win32_open64_file_func -_TEXT SEGMENT -_dwShareMode$ = -16 ; size = 4 -_dwCreationDisposition$ = -12 ; size = 4 -_dwFlagsAndAttributes$ = -8 ; size = 4 -_dwDesiredAccess$ = -4 ; size = 4 -_opaque$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_mode$ = 16 ; size = 4 -_win32_open64_file_func PROC ; COMDAT - -; 89 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 90 : const char* mode_fopen = NULL; -; 91 : DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ; -; 92 : HANDLE hFile = NULL; -; 93 : -; 94 : win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes); - - 00003 8b 55 10 mov edx, DWORD PTR _mode$[ebp] - 00006 83 ec 10 sub esp, 16 ; 00000010H - 00009 56 push esi - 0000a 57 push edi - 0000b 8d 45 f8 lea eax, DWORD PTR _dwFlagsAndAttributes$[ebp] - 0000e 50 push eax - 0000f 8d 75 f0 lea esi, DWORD PTR _dwShareMode$[ebp] - 00012 8d 45 f4 lea eax, DWORD PTR _dwCreationDisposition$[ebp] - 00015 8d 4d fc lea ecx, DWORD PTR _dwDesiredAccess$[ebp] - 00018 33 ff xor edi, edi - 0001a e8 00 00 00 00 call _win32_translate_open_mode - -; 95 : -; 96 : if ((filename!=NULL) && (dwDesiredAccess != 0)) - - 0001f 8b 4d 0c mov ecx, DWORD PTR _filename$[ebp] - 00022 83 c4 04 add esp, 4 - 00025 85 c9 test ecx, ecx - 00027 74 1f je SHORT $LN1@win32_open@4 - 00029 8b 45 fc mov eax, DWORD PTR _dwDesiredAccess$[ebp] - 0002c 85 c0 test eax, eax - 0002e 74 18 je SHORT $LN1@win32_open@4 - -; 97 : hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL); - - 00030 8b 55 f8 mov edx, DWORD PTR _dwFlagsAndAttributes$[ebp] - 00033 57 push edi - 00034 52 push edx - 00035 8b 55 f4 mov edx, DWORD PTR _dwCreationDisposition$[ebp] - 00038 52 push edx - 00039 8b 55 f0 mov edx, DWORD PTR _dwShareMode$[ebp] - 0003c 57 push edi - 0003d 52 push edx - 0003e 50 push eax - 0003f 51 push ecx - 00040 ff 15 00 00 00 - 00 call DWORD PTR __imp__CreateFileA@28 - 00046 8b f8 mov edi, eax -$LN1@win32_open@4: - -; 98 : -; 99 : return win32_build_iowin(hFile); - - 00048 e8 00 00 00 00 call _win32_build_iowin - 0004d 5f pop edi - 0004e 5e pop esi - -; 100 : } - - 0004f 8b e5 mov esp, ebp - 00051 5d pop ebp - 00052 c3 ret 0 -_win32_open64_file_func ENDP -PUBLIC _fill_win32_filefunc64W -; Function compile flags: /Ogtp -; COMDAT _fill_win32_filefunc64W -_TEXT SEGMENT -_pzlib_filefunc_def$ = 8 ; size = 4 -_fill_win32_filefunc64W PROC ; COMDAT - -; 380 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 381 : pzlib_filefunc_def->zopen64_file = win32_open64_file_funcW; - - 00003 8b 45 08 mov eax, DWORD PTR _pzlib_filefunc_def$[ebp] - 00006 c7 00 00 00 00 - 00 mov DWORD PTR [eax], OFFSET _win32_open64_file_funcW - -; 382 : pzlib_filefunc_def->zread_file = win32_read_file_func; - - 0000c c7 40 04 00 00 - 00 00 mov DWORD PTR [eax+4], OFFSET _win32_read_file_func - -; 383 : pzlib_filefunc_def->zwrite_file = win32_write_file_func; - - 00013 c7 40 08 00 00 - 00 00 mov DWORD PTR [eax+8], OFFSET _win32_write_file_func - -; 384 : pzlib_filefunc_def->ztell64_file = win32_tell64_file_func; - - 0001a c7 40 0c 00 00 - 00 00 mov DWORD PTR [eax+12], OFFSET _win32_tell64_file_func - -; 385 : pzlib_filefunc_def->zseek64_file = win32_seek64_file_func; - - 00021 c7 40 10 00 00 - 00 00 mov DWORD PTR [eax+16], OFFSET _win32_seek64_file_func - -; 386 : pzlib_filefunc_def->zclose_file = win32_close_file_func; - - 00028 c7 40 14 00 00 - 00 00 mov DWORD PTR [eax+20], OFFSET _win32_close_file_func - -; 387 : pzlib_filefunc_def->zerror_file = win32_error_file_func; - - 0002f c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET _win32_error_file_func - -; 388 : pzlib_filefunc_def->opaque = NULL; - - 00036 c7 40 1c 00 00 - 00 00 mov DWORD PTR [eax+28], 0 - -; 389 : } - - 0003d 5d pop ebp - 0003e c3 ret 0 -_fill_win32_filefunc64W ENDP -_TEXT ENDS -PUBLIC _fill_win32_filefunc64A -; Function compile flags: /Ogtp -; COMDAT _fill_win32_filefunc64A -_TEXT SEGMENT -_pzlib_filefunc_def$ = 8 ; size = 4 -_fill_win32_filefunc64A PROC ; COMDAT - -; 367 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 368 : pzlib_filefunc_def->zopen64_file = win32_open64_file_funcA; - - 00003 8b 45 08 mov eax, DWORD PTR _pzlib_filefunc_def$[ebp] - 00006 c7 00 00 00 00 - 00 mov DWORD PTR [eax], OFFSET _win32_open64_file_funcA - -; 369 : pzlib_filefunc_def->zread_file = win32_read_file_func; - - 0000c c7 40 04 00 00 - 00 00 mov DWORD PTR [eax+4], OFFSET _win32_read_file_func - -; 370 : pzlib_filefunc_def->zwrite_file = win32_write_file_func; - - 00013 c7 40 08 00 00 - 00 00 mov DWORD PTR [eax+8], OFFSET _win32_write_file_func - -; 371 : pzlib_filefunc_def->ztell64_file = win32_tell64_file_func; - - 0001a c7 40 0c 00 00 - 00 00 mov DWORD PTR [eax+12], OFFSET _win32_tell64_file_func - -; 372 : pzlib_filefunc_def->zseek64_file = win32_seek64_file_func; - - 00021 c7 40 10 00 00 - 00 00 mov DWORD PTR [eax+16], OFFSET _win32_seek64_file_func - -; 373 : pzlib_filefunc_def->zclose_file = win32_close_file_func; - - 00028 c7 40 14 00 00 - 00 00 mov DWORD PTR [eax+20], OFFSET _win32_close_file_func - -; 374 : pzlib_filefunc_def->zerror_file = win32_error_file_func; - - 0002f c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET _win32_error_file_func - -; 375 : pzlib_filefunc_def->opaque = NULL; - - 00036 c7 40 1c 00 00 - 00 00 mov DWORD PTR [eax+28], 0 - -; 376 : } - - 0003d 5d pop ebp - 0003e c3 ret 0 -_fill_win32_filefunc64A ENDP -_TEXT ENDS -PUBLIC _fill_win32_filefunc64 -; Function compile flags: /Ogtp -; COMDAT _fill_win32_filefunc64 -_TEXT SEGMENT -_pzlib_filefunc_def$ = 8 ; size = 4 -_fill_win32_filefunc64 PROC ; COMDAT - -; 354 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 355 : pzlib_filefunc_def->zopen64_file = win32_open64_file_func; - - 00003 8b 45 08 mov eax, DWORD PTR _pzlib_filefunc_def$[ebp] - 00006 c7 00 00 00 00 - 00 mov DWORD PTR [eax], OFFSET _win32_open64_file_func - -; 356 : pzlib_filefunc_def->zread_file = win32_read_file_func; - - 0000c c7 40 04 00 00 - 00 00 mov DWORD PTR [eax+4], OFFSET _win32_read_file_func - -; 357 : pzlib_filefunc_def->zwrite_file = win32_write_file_func; - - 00013 c7 40 08 00 00 - 00 00 mov DWORD PTR [eax+8], OFFSET _win32_write_file_func - -; 358 : pzlib_filefunc_def->ztell64_file = win32_tell64_file_func; - - 0001a c7 40 0c 00 00 - 00 00 mov DWORD PTR [eax+12], OFFSET _win32_tell64_file_func - -; 359 : pzlib_filefunc_def->zseek64_file = win32_seek64_file_func; - - 00021 c7 40 10 00 00 - 00 00 mov DWORD PTR [eax+16], OFFSET _win32_seek64_file_func - -; 360 : pzlib_filefunc_def->zclose_file = win32_close_file_func; - - 00028 c7 40 14 00 00 - 00 00 mov DWORD PTR [eax+20], OFFSET _win32_close_file_func - -; 361 : pzlib_filefunc_def->zerror_file = win32_error_file_func; - - 0002f c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET _win32_error_file_func - -; 362 : pzlib_filefunc_def->opaque = NULL; - - 00036 c7 40 1c 00 00 - 00 00 mov DWORD PTR [eax+28], 0 - -; 363 : } - - 0003d 5d pop ebp - 0003e c3 ret 0 -_fill_win32_filefunc64 ENDP -_TEXT ENDS -PUBLIC _fill_win32_filefunc -; Function compile flags: /Ogtp -; COMDAT _fill_win32_filefunc -_TEXT SEGMENT -_pzlib_filefunc_def$ = 8 ; size = 4 -_fill_win32_filefunc PROC ; COMDAT - -; 342 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 343 : pzlib_filefunc_def->zopen_file = win32_open_file_func; - - 00003 8b 45 08 mov eax, DWORD PTR _pzlib_filefunc_def$[ebp] - 00006 c7 00 00 00 00 - 00 mov DWORD PTR [eax], OFFSET _win32_open_file_func - -; 344 : pzlib_filefunc_def->zread_file = win32_read_file_func; - - 0000c c7 40 04 00 00 - 00 00 mov DWORD PTR [eax+4], OFFSET _win32_read_file_func - -; 345 : pzlib_filefunc_def->zwrite_file = win32_write_file_func; - - 00013 c7 40 08 00 00 - 00 00 mov DWORD PTR [eax+8], OFFSET _win32_write_file_func - -; 346 : pzlib_filefunc_def->ztell_file = win32_tell_file_func; - - 0001a c7 40 0c 00 00 - 00 00 mov DWORD PTR [eax+12], OFFSET _win32_tell_file_func - -; 347 : pzlib_filefunc_def->zseek_file = win32_seek_file_func; - - 00021 c7 40 10 00 00 - 00 00 mov DWORD PTR [eax+16], OFFSET _win32_seek_file_func - -; 348 : pzlib_filefunc_def->zclose_file = win32_close_file_func; - - 00028 c7 40 14 00 00 - 00 00 mov DWORD PTR [eax+20], OFFSET _win32_close_file_func - -; 349 : pzlib_filefunc_def->zerror_file = win32_error_file_func; - - 0002f c7 40 18 00 00 - 00 00 mov DWORD PTR [eax+24], OFFSET _win32_error_file_func - -; 350 : pzlib_filefunc_def->opaque = NULL; - - 00036 c7 40 1c 00 00 - 00 00 mov DWORD PTR [eax+28], 0 - -; 351 : } - - 0003d 5d pop ebp - 0003e c3 ret 0 -_fill_win32_filefunc ENDP -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/link-cvtres.read.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/link-cvtres.read.1.tlog deleted file mode 100644 index 46b134b1..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/link-cvtres.read.1.tlog +++ /dev/null @@ -1 +0,0 @@ -ÿþ \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/link-cvtres.write.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/link-cvtres.write.1.tlog deleted file mode 100644 index 46b134b1..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/link-cvtres.write.1.tlog +++ /dev/null @@ -1 +0,0 @@ -ÿþ \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/link.command.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/link.command.1.tlog deleted file mode 100644 index cce74132..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/link.command.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/link.read.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/link.read.1.tlog deleted file mode 100644 index 15acae6d..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/link.read.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/link.write.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/link.write.1.tlog deleted file mode 100644 index 0fac295a..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/link.write.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/rc.command.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/rc.command.1.tlog deleted file mode 100644 index ebabe351..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/rc.command.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/rc.read.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/rc.read.1.tlog deleted file mode 100644 index 23ddf827..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/rc.read.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/rc.write.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/rc.write.1.tlog deleted file mode 100644 index 3a6ff39c..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/rc.write.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/trees.cod b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/trees.cod deleted file mode 100644 index 0e9298dd..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/trees.cod +++ /dev/null @@ -1,5498 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.30319.01 - - TITLE D:\FMU\FMUSolution\zlib-1.2.6\trees.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC __dist_code -PUBLIC __length_code -_static_l_desc DD FLAT:_static_ltree - DD FLAT:_extra_lbits - DD 0101H - DD 011eH - DD 0fH -_static_d_desc DD FLAT:_static_dtree - DD FLAT:_extra_dbits - DD 00H - DD 01eH - DD 0fH -_static_bl_desc DD 00H - DD FLAT:_extra_blbits - DD 00H - DD 013H - DD 07H - ORG $+3 -_bl_order DB 010H - DB 011H - DB 012H - DB 00H - DB 08H - DB 07H - DB 09H - DB 06H - DB 0aH - DB 05H - DB 0bH - DB 04H - DB 0cH - DB 03H - DB 0dH - DB 02H - DB 0eH - DB 01H - DB 0fH - ORG $+1 -_extra_lbits DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 01H - DD 01H - DD 01H - DD 01H - DD 02H - DD 02H - DD 02H - DD 02H - DD 03H - DD 03H - DD 03H - DD 03H - DD 04H - DD 04H - DD 04H - DD 04H - DD 05H - DD 05H - DD 05H - DD 05H - DD 00H - ORG $+4 -_extra_dbits DD 00H - DD 00H - DD 00H - DD 00H - DD 01H - DD 01H - DD 02H - DD 02H - DD 03H - DD 03H - DD 04H - DD 04H - DD 05H - DD 05H - DD 06H - DD 06H - DD 07H - DD 07H - DD 08H - DD 08H - DD 09H - DD 09H - DD 0aH - DD 0aH - DD 0bH - DD 0bH - DD 0cH - DD 0cH - DD 0dH - DD 0dH -_extra_blbits DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 00H - DD 02H - DD 03H - DD 07H - ORG $+4 -_static_ltree DW 0cH - DW 08H - DW 08cH - DW 08H - DW 04cH - DW 08H - DW 0ccH - DW 08H - DW 02cH - DW 08H - DW 0acH - DW 08H - DW 06cH - DW 08H - DW 0ecH - DW 08H - DW 01cH - DW 08H - DW 09cH - DW 08H - DW 05cH - DW 08H - DW 0dcH - DW 08H - DW 03cH - DW 08H - DW 0bcH - DW 08H - DW 07cH - DW 08H - DW 0fcH - DW 08H - DW 02H - DW 08H - DW 082H - DW 08H - DW 042H - DW 08H - DW 0c2H - DW 08H - DW 022H - DW 08H - DW 0a2H - DW 08H - DW 062H - DW 08H - DW 0e2H - DW 08H - DW 012H - DW 08H - DW 092H - DW 08H - DW 052H - DW 08H - DW 0d2H - DW 08H - DW 032H - DW 08H - DW 0b2H - DW 08H - DW 072H - DW 08H - DW 0f2H - DW 08H - DW 0aH - DW 08H - DW 08aH - DW 08H - DW 04aH - DW 08H - DW 0caH - DW 08H - DW 02aH - DW 08H - DW 0aaH - DW 08H - DW 06aH - DW 08H - DW 0eaH - DW 08H - DW 01aH - DW 08H - DW 09aH - DW 08H - DW 05aH - DW 08H - DW 0daH - DW 08H - DW 03aH - DW 08H - DW 0baH - DW 08H - DW 07aH - DW 08H - DW 0faH - DW 08H - DW 06H - DW 08H - DW 086H - DW 08H - DW 046H - DW 08H - DW 0c6H - DW 08H - DW 026H - DW 08H - DW 0a6H - DW 08H - DW 066H - DW 08H - DW 0e6H - DW 08H - DW 016H - DW 08H - DW 096H - DW 08H - DW 056H - DW 08H - DW 0d6H - DW 08H - DW 036H - DW 08H - DW 0b6H - DW 08H - DW 076H - DW 08H - DW 0f6H - DW 08H - DW 0eH - DW 08H - DW 08eH - DW 08H - DW 04eH - DW 08H - DW 0ceH - DW 08H - DW 02eH - DW 08H - DW 0aeH - DW 08H - DW 06eH - DW 08H - DW 0eeH - DW 08H - DW 01eH - DW 08H - DW 09eH - DW 08H - DW 05eH - DW 08H - DW 0deH - DW 08H - DW 03eH - DW 08H - DW 0beH - DW 08H - DW 07eH - DW 08H - DW 0feH - DW 08H - DW 01H - DW 08H - DW 081H - DW 08H - DW 041H - DW 08H - DW 0c1H - DW 08H - DW 021H - DW 08H - DW 0a1H - DW 08H - DW 061H - DW 08H - DW 0e1H - DW 08H - DW 011H - DW 08H - DW 091H - DW 08H - DW 051H - DW 08H - DW 0d1H - DW 08H - DW 031H - DW 08H - DW 0b1H - DW 08H - DW 071H - DW 08H - DW 0f1H - DW 08H - DW 09H - DW 08H - DW 089H - DW 08H - DW 049H - DW 08H - DW 0c9H - DW 08H - DW 029H - DW 08H - DW 0a9H - DW 08H - DW 069H - DW 08H - DW 0e9H - DW 08H - DW 019H - DW 08H - DW 099H - DW 08H - DW 059H - DW 08H - DW 0d9H - DW 08H - DW 039H - DW 08H - DW 0b9H - DW 08H - DW 079H - DW 08H - DW 0f9H - DW 08H - DW 05H - DW 08H - DW 085H - DW 08H - DW 045H - DW 08H - DW 0c5H - DW 08H - DW 025H - DW 08H - DW 0a5H - DW 08H - DW 065H - DW 08H - DW 0e5H - DW 08H - DW 015H - DW 08H - DW 095H - DW 08H - DW 055H - DW 08H - DW 0d5H - DW 08H - DW 035H - DW 08H - DW 0b5H - DW 08H - DW 075H - DW 08H - DW 0f5H - DW 08H - DW 0dH - DW 08H - DW 08dH - DW 08H - DW 04dH - DW 08H - DW 0cdH - DW 08H - DW 02dH - DW 08H - DW 0adH - DW 08H - DW 06dH - DW 08H - DW 0edH - DW 08H - DW 01dH - DW 08H - DW 09dH - DW 08H - DW 05dH - DW 08H - DW 0ddH - DW 08H - DW 03dH - DW 08H - DW 0bdH - DW 08H - DW 07dH - DW 08H - DW 0fdH - DW 08H - DW 013H - DW 09H - DW 0113H - DW 09H - DW 093H - DW 09H - DW 0193H - DW 09H - DW 053H - DW 09H - DW 0153H - DW 09H - DW 0d3H - DW 09H - DW 01d3H - DW 09H - DW 033H - DW 09H - DW 0133H - DW 09H - DW 0b3H - DW 09H - DW 01b3H - DW 09H - DW 073H - DW 09H - DW 0173H - DW 09H - DW 0f3H - DW 09H - DW 01f3H - DW 09H - DW 0bH - DW 09H - DW 010bH - DW 09H - DW 08bH - DW 09H - DW 018bH - DW 09H - DW 04bH - DW 09H - DW 014bH - DW 09H - DW 0cbH - DW 09H - DW 01cbH - DW 09H - DW 02bH - DW 09H - DW 012bH - DW 09H - DW 0abH - DW 09H - DW 01abH - DW 09H - DW 06bH - DW 09H - DW 016bH - DW 09H - DW 0ebH - DW 09H - DW 01ebH - DW 09H - DW 01bH - DW 09H - DW 011bH - DW 09H - DW 09bH - DW 09H - DW 019bH - DW 09H - DW 05bH - DW 09H - DW 015bH - DW 09H - DW 0dbH - DW 09H - DW 01dbH - DW 09H - DW 03bH - DW 09H - DW 013bH - DW 09H - DW 0bbH - DW 09H - DW 01bbH - DW 09H - DW 07bH - DW 09H - DW 017bH - DW 09H - DW 0fbH - DW 09H - DW 01fbH - DW 09H - DW 07H - DW 09H - DW 0107H - DW 09H - DW 087H - DW 09H - DW 0187H - DW 09H - DW 047H - DW 09H - DW 0147H - DW 09H - DW 0c7H - DW 09H - DW 01c7H - DW 09H - DW 027H - DW 09H - DW 0127H - DW 09H - DW 0a7H - DW 09H - DW 01a7H - DW 09H - DW 067H - DW 09H - DW 0167H - DW 09H - DW 0e7H - DW 09H - DW 01e7H - DW 09H - DW 017H - DW 09H - DW 0117H - DW 09H - DW 097H - DW 09H - DW 0197H - DW 09H - DW 057H - DW 09H - DW 0157H - DW 09H - DW 0d7H - DW 09H - DW 01d7H - DW 09H - DW 037H - DW 09H - DW 0137H - DW 09H - DW 0b7H - DW 09H - DW 01b7H - DW 09H - DW 077H - DW 09H - DW 0177H - DW 09H - DW 0f7H - DW 09H - DW 01f7H - DW 09H - DW 0fH - DW 09H - DW 010fH - DW 09H - DW 08fH - DW 09H - DW 018fH - DW 09H - DW 04fH - DW 09H - DW 014fH - DW 09H - DW 0cfH - DW 09H - DW 01cfH - DW 09H - DW 02fH - DW 09H - DW 012fH - DW 09H - DW 0afH - DW 09H - DW 01afH - DW 09H - DW 06fH - DW 09H - DW 016fH - DW 09H - DW 0efH - DW 09H - DW 01efH - DW 09H - DW 01fH - DW 09H - DW 011fH - DW 09H - DW 09fH - DW 09H - DW 019fH - DW 09H - DW 05fH - DW 09H - DW 015fH - DW 09H - DW 0dfH - DW 09H - DW 01dfH - DW 09H - DW 03fH - DW 09H - DW 013fH - DW 09H - DW 0bfH - DW 09H - DW 01bfH - DW 09H - DW 07fH - DW 09H - DW 017fH - DW 09H - DW 0ffH - DW 09H - DW 01ffH - DW 09H - DW 00H - DW 07H - DW 040H - DW 07H - DW 020H - DW 07H - DW 060H - DW 07H - DW 010H - DW 07H - DW 050H - DW 07H - DW 030H - DW 07H - DW 070H - DW 07H - DW 08H - DW 07H - DW 048H - DW 07H - DW 028H - DW 07H - DW 068H - DW 07H - DW 018H - DW 07H - DW 058H - DW 07H - DW 038H - DW 07H - DW 078H - DW 07H - DW 04H - DW 07H - DW 044H - DW 07H - DW 024H - DW 07H - DW 064H - DW 07H - DW 014H - DW 07H - DW 054H - DW 07H - DW 034H - DW 07H - DW 074H - DW 07H - DW 03H - DW 08H - DW 083H - DW 08H - DW 043H - DW 08H - DW 0c3H - DW 08H - DW 023H - DW 08H - DW 0a3H - DW 08H - DW 063H - DW 08H - DW 0e3H - DW 08H -_static_dtree DW 00H - DW 05H - DW 010H - DW 05H - DW 08H - DW 05H - DW 018H - DW 05H - DW 04H - DW 05H - DW 014H - DW 05H - DW 0cH - DW 05H - DW 01cH - DW 05H - DW 02H - DW 05H - DW 012H - DW 05H - DW 0aH - DW 05H - DW 01aH - DW 05H - DW 06H - DW 05H - DW 016H - DW 05H - DW 0eH - DW 05H - DW 01eH - DW 05H - DW 01H - DW 05H - DW 011H - DW 05H - DW 09H - DW 05H - DW 019H - DW 05H - DW 05H - DW 05H - DW 015H - DW 05H - DW 0dH - DW 05H - DW 01dH - DW 05H - DW 03H - DW 05H - DW 013H - DW 05H - DW 0bH - DW 05H - DW 01bH - DW 05H - DW 07H - DW 05H - DW 017H - DW 05H -__dist_code DB 00H - DB 01H - DB 02H - DB 03H - DB 04H - DB 04H - DB 05H - DB 05H - DB 06H - DB 06H - DB 06H - DB 06H - DB 07H - DB 07H - DB 07H - DB 07H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 08H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 09H - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0aH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0bH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 00H - DB 00H - DB 010H - DB 011H - DB 012H - DB 012H - DB 013H - DB 013H - DB 014H - DB 014H - DB 014H - DB 014H - DB 015H - DB 015H - DB 015H - DB 015H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01cH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH - DB 01dH -__length_code DB 00H - DB 01H - DB 02H - DB 03H - DB 04H - DB 05H - DB 06H - DB 07H - DB 08H - DB 08H - DB 09H - DB 09H - DB 0aH - DB 0aH - DB 0bH - DB 0bH - DB 0cH - DB 0cH - DB 0cH - DB 0cH - DB 0dH - DB 0dH - DB 0dH - DB 0dH - DB 0eH - DB 0eH - DB 0eH - DB 0eH - DB 0fH - DB 0fH - DB 0fH - DB 0fH - DB 010H - DB 010H - DB 010H - DB 010H - DB 010H - DB 010H - DB 010H - DB 010H - DB 011H - DB 011H - DB 011H - DB 011H - DB 011H - DB 011H - DB 011H - DB 011H - DB 012H - DB 012H - DB 012H - DB 012H - DB 012H - DB 012H - DB 012H - DB 012H - DB 013H - DB 013H - DB 013H - DB 013H - DB 013H - DB 013H - DB 013H - DB 013H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 014H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 015H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 016H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 017H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 018H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 019H - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01aH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01bH - DB 01cH -_base_length DD 00H - DD 01H - DD 02H - DD 03H - DD 04H - DD 05H - DD 06H - DD 07H - DD 08H - DD 0aH - DD 0cH - DD 0eH - DD 010H - DD 014H - DD 018H - DD 01cH - DD 020H - DD 028H - DD 030H - DD 038H - DD 040H - DD 050H - DD 060H - DD 070H - DD 080H - DD 0a0H - DD 0c0H - DD 0e0H - DD 00H - ORG $+4 -_base_dist DD 00H - DD 01H - DD 02H - DD 03H - DD 04H - DD 06H - DD 08H - DD 0cH - DD 010H - DD 018H - DD 020H - DD 030H - DD 040H - DD 060H - DD 080H - DD 0c0H - DD 0100H - DD 0180H - DD 0200H - DD 0300H - DD 0400H - DD 0600H - DD 0800H - DD 0c00H - DD 01000H - DD 01800H - DD 02000H - DD 03000H - DD 04000H - DD 06000H -; Function compile flags: /Ogtp -; File d:\fmu\fmusolution\zlib-1.2.6\trees.c -; COMDAT _bi_windup -_TEXT SEGMENT -_bi_windup PROC ; COMDAT -; _s$ = eax - -; 1187 : if (s->bi_valid > 8) { - - 00000 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 00006 53 push ebx - 00007 83 f9 08 cmp ecx, 8 - 0000a 7e 22 jle SHORT $LN3@bi_windup - -; 1188 : put_short(s, s->bi_buf); - - 0000c 0f b6 98 b8 16 - 00 00 movzx ebx, BYTE PTR [eax+5816] - 00013 8b 50 14 mov edx, DWORD PTR [eax+20] - 00016 8b 48 08 mov ecx, DWORD PTR [eax+8] - 00019 88 1c 11 mov BYTE PTR [ecx+edx], bl - 0001c ff 40 14 inc DWORD PTR [eax+20] - 0001f 8b 48 14 mov ecx, DWORD PTR [eax+20] - 00022 8b 50 08 mov edx, DWORD PTR [eax+8] - 00025 0f b6 98 b9 16 - 00 00 movzx ebx, BYTE PTR [eax+5817] - 0002c eb 10 jmp SHORT $LN6@bi_windup -$LN3@bi_windup: - -; 1189 : } else if (s->bi_valid > 0) { - - 0002e 85 c9 test ecx, ecx - 00030 7e 12 jle SHORT $LN1@bi_windup - -; 1190 : put_byte(s, (Byte)s->bi_buf); - - 00032 8b 48 08 mov ecx, DWORD PTR [eax+8] - 00035 8b 50 14 mov edx, DWORD PTR [eax+20] - 00038 8a 98 b8 16 00 - 00 mov bl, BYTE PTR [eax+5816] -$LN6@bi_windup: - 0003e 88 1c 11 mov BYTE PTR [ecx+edx], bl - 00041 ff 40 14 inc DWORD PTR [eax+20] -$LN1@bi_windup: - -; 1191 : } -; 1192 : s->bi_buf = 0; - - 00044 33 c9 xor ecx, ecx - 00046 66 89 88 b8 16 - 00 00 mov WORD PTR [eax+5816], cx - -; 1193 : s->bi_valid = 0; - - 0004d 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx - 00053 5b pop ebx - -; 1194 : #ifdef DEBUG -; 1195 : s->bits_sent = (s->bits_sent+7) & ~7; -; 1196 : #endif -; 1197 : } - - 00054 c3 ret 0 -_bi_windup ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _bi_flush -_TEXT SEGMENT -_bi_flush PROC ; COMDAT -; _s$ = eax - -; 1170 : if (s->bi_valid == 16) { - - 00000 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 00006 53 push ebx - 00007 83 f9 10 cmp ecx, 16 ; 00000010H - 0000a 75 37 jne SHORT $LN3@bi_flush - -; 1171 : put_short(s, s->bi_buf); - - 0000c 0f b6 98 b8 16 - 00 00 movzx ebx, BYTE PTR [eax+5816] - 00013 8b 50 14 mov edx, DWORD PTR [eax+20] - 00016 8b 48 08 mov ecx, DWORD PTR [eax+8] - 00019 88 1c 11 mov BYTE PTR [ecx+edx], bl - 0001c ff 40 14 inc DWORD PTR [eax+20] - 0001f 0f b6 98 b9 16 - 00 00 movzx ebx, BYTE PTR [eax+5817] - 00026 8b 48 14 mov ecx, DWORD PTR [eax+20] - 00029 8b 50 08 mov edx, DWORD PTR [eax+8] - 0002c 88 1c 11 mov BYTE PTR [ecx+edx], bl - 0002f ff 40 14 inc DWORD PTR [eax+20] - -; 1172 : s->bi_buf = 0; - - 00032 33 c9 xor ecx, ecx - 00034 66 89 88 b8 16 - 00 00 mov WORD PTR [eax+5816], cx - -; 1173 : s->bi_valid = 0; - - 0003b 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx - 00041 5b pop ebx - -; 1178 : } -; 1179 : } - - 00042 c3 ret 0 -$LN3@bi_flush: - -; 1174 : } else if (s->bi_valid >= 8) { - - 00043 83 f9 08 cmp ecx, 8 - 00046 7c 27 jl SHORT $LN1@bi_flush - -; 1175 : put_byte(s, (Byte)s->bi_buf); - - 00048 8b 50 08 mov edx, DWORD PTR [eax+8] - 0004b 8b 48 14 mov ecx, DWORD PTR [eax+20] - 0004e 8a 98 b8 16 00 - 00 mov bl, BYTE PTR [eax+5816] - 00054 88 1c 0a mov BYTE PTR [edx+ecx], bl - -; 1176 : s->bi_buf >>= 8; - - 00057 0f b6 90 b9 16 - 00 00 movzx edx, BYTE PTR [eax+5817] - 0005e ff 40 14 inc DWORD PTR [eax+20] - -; 1177 : s->bi_valid -= 8; - - 00061 83 80 bc 16 00 - 00 f8 add DWORD PTR [eax+5820], -8 ; fffffff8H - 00068 66 89 90 b8 16 - 00 00 mov WORD PTR [eax+5816], dx -$LN1@bi_flush: - 0006f 5b pop ebx - -; 1178 : } -; 1179 : } - - 00070 c3 ret 0 -_bi_flush ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _bi_reverse -_TEXT SEGMENT -_bi_reverse PROC ; COMDAT -; _code$ = ecx -; _len$ = edx - -; 1156 : register unsigned res = 0; - - 00000 33 c0 xor eax, eax - 00002 56 push esi -$LL3@bi_reverse: - -; 1157 : do { -; 1158 : res |= code & 1; - - 00003 8b f1 mov esi, ecx - 00005 83 e6 01 and esi, 1 - 00008 0b c6 or eax, esi - -; 1159 : code >>= 1, res <<= 1; -; 1160 : } while (--len > 0); - - 0000a 4a dec edx - 0000b d1 e9 shr ecx, 1 - 0000d 03 c0 add eax, eax - 0000f 85 d2 test edx, edx - 00011 7f f0 jg SHORT $LL3@bi_reverse - -; 1161 : return res >> 1; - - 00013 d1 e8 shr eax, 1 - 00015 5e pop esi - -; 1162 : } - - 00016 c3 ret 0 -_bi_reverse ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _detect_data_type -_TEXT SEGMENT -_detect_data_type PROC ; COMDAT -; _s$ = esi - -; 1121 : /* black_mask is the bit mask of black-listed bytes -; 1122 : * set bits 0..6, 14..25, and 28..31 -; 1123 : * 0xf3ffc07f = binary 11110011111111111100000001111111 -; 1124 : */ -; 1125 : unsigned long black_mask = 0xf3ffc07fUL; - - 00000 ba 7f c0 ff f3 mov edx, -201342849 ; f3ffc07fH - -; 1126 : int n; -; 1127 : -; 1128 : /* Check for non-textual ("black-listed") bytes. */ -; 1129 : for (n = 0; n <= 31; n++, black_mask >>= 1) - - 00005 33 c0 xor eax, eax - 00007 8d 8e 94 00 00 - 00 lea ecx, DWORD PTR [esi+148] - 0000d 8d 49 00 npad 3 -$LL10@detect_dat: - -; 1130 : if ((black_mask & 1) && (s->dyn_ltree[n].Freq != 0)) - - 00010 f6 c2 01 test dl, 1 - 00013 74 06 je SHORT $LN9@detect_dat - 00015 66 83 39 00 cmp WORD PTR [ecx], 0 - 00019 75 46 jne SHORT $LN15@detect_dat -$LN9@detect_dat: - -; 1126 : int n; -; 1127 : -; 1128 : /* Check for non-textual ("black-listed") bytes. */ -; 1129 : for (n = 0; n <= 31; n++, black_mask >>= 1) - - 0001b 40 inc eax - 0001c 83 c1 04 add ecx, 4 - 0001f d1 ea shr edx, 1 - 00021 83 f8 1f cmp eax, 31 ; 0000001fH - 00024 7e ea jle SHORT $LL10@detect_dat - -; 1131 : return Z_BINARY; -; 1132 : -; 1133 : /* Check for textual ("white-listed") bytes. */ -; 1134 : if (s->dyn_ltree[9].Freq != 0 || s->dyn_ltree[10].Freq != 0 -; 1135 : || s->dyn_ltree[13].Freq != 0) - - 00026 66 83 be b8 00 - 00 00 00 cmp WORD PTR [esi+184], 0 - 0002e 75 34 jne SHORT $LN5@detect_dat - 00030 66 83 be bc 00 - 00 00 00 cmp WORD PTR [esi+188], 0 - 00038 75 2a jne SHORT $LN5@detect_dat - 0003a 66 83 be c8 00 - 00 00 00 cmp WORD PTR [esi+200], 0 - 00042 75 20 jne SHORT $LN5@detect_dat - -; 1137 : for (n = 32; n < LITERALS; n++) - - 00044 b8 20 00 00 00 mov eax, 32 ; 00000020H - 00049 8d 8e 14 01 00 - 00 lea ecx, DWORD PTR [esi+276] - 0004f 90 npad 1 -$LL4@detect_dat: - -; 1138 : if (s->dyn_ltree[n].Freq != 0) - - 00050 66 83 39 00 cmp WORD PTR [ecx], 0 - 00054 75 0e jne SHORT $LN5@detect_dat - -; 1137 : for (n = 32; n < LITERALS; n++) - - 00056 40 inc eax - 00057 83 c1 04 add ecx, 4 - 0005a 3d 00 01 00 00 cmp eax, 256 ; 00000100H - 0005f 7c ef jl SHORT $LL4@detect_dat -$LN15@detect_dat: - -; 1139 : return Z_TEXT; -; 1140 : -; 1141 : /* There are no "black-listed" or "white-listed" bytes: -; 1142 : * this stream either is empty or has tolerated ("gray-listed") bytes only. -; 1143 : */ -; 1144 : return Z_BINARY; - - 00061 33 c0 xor eax, eax - -; 1145 : } - - 00063 c3 ret 0 -$LN5@detect_dat: - -; 1136 : return Z_TEXT; - - 00064 b8 01 00 00 00 mov eax, 1 - -; 1145 : } - - 00069 c3 ret 0 -_detect_data_type ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _compress_block -_TEXT SEGMENT -_len$80860 = -16 ; size = 4 -_extra$ = -16 ; size = 4 -_val$80840 = -16 ; size = 4 -_lx$ = -12 ; size = 4 -_len$80837 = -8 ; size = 4 -_dist$ = -4 ; size = 4 -_ltree$ = 8 ; size = 4 -_dtree$ = 12 ; size = 4 -_compress_block PROC ; COMDAT -; _s$ = eax - -; 1062 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 10 sub esp, 16 ; 00000010H - 00006 53 push ebx - 00007 8b 5d 08 mov ebx, DWORD PTR _ltree$[ebp] - -; 1063 : unsigned dist; /* distance of matched string */ -; 1064 : int lc; /* match length or unmatched char (if dist == 0) */ -; 1065 : unsigned lx = 0; /* running index in l_buf */ - - 0000a 33 c9 xor ecx, ecx - 0000c 56 push esi - 0000d 57 push edi - -; 1066 : unsigned code; /* the code to send */ -; 1067 : int extra; /* number of extra bits to send */ -; 1068 : -; 1069 : if (s->last_lit != 0) do { - - 0000e 39 88 a0 16 00 - 00 cmp DWORD PTR [eax+5792], ecx - 00014 0f 84 bb 00 00 - 00 je $LN17@compress_b - 0001a eb 07 jmp SHORT $LN19@compress_b - 0001c 8d 64 24 00 npad 4 -$LL26@compress_b: - 00020 8b 4d f4 mov ecx, DWORD PTR _lx$[ebp] -$LN19@compress_b: - -; 1070 : dist = s->d_buf[lx]; - - 00023 8b 90 a4 16 00 - 00 mov edx, DWORD PTR [eax+5796] - 00029 0f b7 14 4a movzx edx, WORD PTR [edx+ecx*2] - -; 1071 : lc = s->l_buf[lx++]; - - 0002d 8b b0 98 16 00 - 00 mov esi, DWORD PTR [eax+5784] - 00033 0f b6 34 31 movzx esi, BYTE PTR [ecx+esi] - 00037 41 inc ecx - 00038 89 4d f4 mov DWORD PTR _lx$[ebp], ecx - -; 1072 : if (dist == 0) { -; 1073 : send_code(s, lc, ltree); /* send a literal byte */ - - 0003b 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 00041 89 55 fc mov DWORD PTR _dist$[ebp], edx - 00044 85 d2 test edx, edx - 00046 0f 85 04 01 00 - 00 jne $LN16@compress_b - 0004c 0f b7 7c b3 02 movzx edi, WORD PTR [ebx+esi*4+2] - 00051 ba 10 00 00 00 mov edx, 16 ; 00000010H - 00056 2b d7 sub edx, edi - 00058 3b ca cmp ecx, edx - 0005a 7e 54 jle SHORT $LN15@compress_b - 0005c 0f b7 34 b3 movzx esi, WORD PTR [ebx+esi*4] - 00060 66 8b d6 mov dx, si - 00063 66 d3 e2 shl dx, cl - 00066 8b 48 08 mov ecx, DWORD PTR [eax+8] - 00069 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 00070 0f b6 98 b8 16 - 00 00 movzx ebx, BYTE PTR [eax+5816] - 00077 8b 50 14 mov edx, DWORD PTR [eax+20] - 0007a 88 1c 11 mov BYTE PTR [ecx+edx], bl - 0007d ff 40 14 inc DWORD PTR [eax+20] - 00080 0f b6 98 b9 16 - 00 00 movzx ebx, BYTE PTR [eax+5817] - 00087 8b 48 14 mov ecx, DWORD PTR [eax+20] - 0008a 8b 50 08 mov edx, DWORD PTR [eax+8] - 0008d 88 1c 11 mov BYTE PTR [ecx+edx], bl - 00090 8b 90 bc 16 00 - 00 mov edx, DWORD PTR [eax+5820] - 00096 ff 40 14 inc DWORD PTR [eax+20] - 00099 8b 5d 08 mov ebx, DWORD PTR _ltree$[ebp] - 0009c b1 10 mov cl, 16 ; 00000010H - 0009e 2a ca sub cl, dl - 000a0 66 d3 ee shr si, cl - 000a3 8d 4c 3a f0 lea ecx, DWORD PTR [edx+edi-16] - 000a7 66 89 b0 b8 16 - 00 00 mov WORD PTR [eax+5816], si - 000ae eb 10 jmp SHORT $LN28@compress_b -$LN15@compress_b: - 000b0 66 8b 14 b3 mov dx, WORD PTR [ebx+esi*4] -$LN4@compress_b: - -; 1092 : send_bits(s, dist, extra); /* send the extra distance bits */ - - 000b4 66 d3 e2 shl dx, cl - 000b7 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 000be 03 cf add ecx, edi -$LN28@compress_b: - 000c0 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx -$LN18@compress_b: - -; 1093 : } -; 1094 : } /* literal or match pair ? */ -; 1095 : -; 1096 : /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */ -; 1097 : Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx, -; 1098 : "pendingBuf overflow"); -; 1099 : -; 1100 : } while (lx < s->last_lit); - - 000c6 8b 4d f4 mov ecx, DWORD PTR _lx$[ebp] - 000c9 3b 88 a0 16 00 - 00 cmp ecx, DWORD PTR [eax+5792] - 000cf 0f 82 4b ff ff - ff jb $LL26@compress_b -$LN17@compress_b: - -; 1101 : -; 1102 : send_code(s, END_BLOCK, ltree); - - 000d5 0f b7 bb 02 04 - 00 00 movzx edi, WORD PTR [ebx+1026] - 000dc 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 000e2 ba 10 00 00 00 mov edx, 16 ; 00000010H - 000e7 2b d7 sub edx, edi - 000e9 3b ca cmp ecx, edx - 000eb 0f 8e c3 02 00 - 00 jle $LN2@compress_b - 000f1 0f b7 b3 00 04 - 00 00 movzx esi, WORD PTR [ebx+1024] - 000f8 66 8b d6 mov dx, si - 000fb 66 d3 e2 shl dx, cl - 000fe 8b 48 08 mov ecx, DWORD PTR [eax+8] - 00101 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 00108 0f b6 98 b8 16 - 00 00 movzx ebx, BYTE PTR [eax+5816] - 0010f 8b 50 14 mov edx, DWORD PTR [eax+20] - 00112 88 1c 11 mov BYTE PTR [ecx+edx], bl - 00115 ff 40 14 inc DWORD PTR [eax+20] - 00118 0f b6 98 b9 16 - 00 00 movzx ebx, BYTE PTR [eax+5817] - 0011f 8b 48 14 mov ecx, DWORD PTR [eax+20] - 00122 8b 50 08 mov edx, DWORD PTR [eax+8] - 00125 88 1c 11 mov BYTE PTR [ecx+edx], bl - 00128 8b 90 bc 16 00 - 00 mov edx, DWORD PTR [eax+5820] - 0012e ff 40 14 inc DWORD PTR [eax+20] - 00131 b1 10 mov cl, 16 ; 00000010H - 00133 2a ca sub cl, dl - 00135 66 d3 ee shr si, cl - 00138 8d 4c 3a f0 lea ecx, DWORD PTR [edx+edi-16] - 0013c 5f pop edi - 0013d 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx - 00143 66 89 b0 b8 16 - 00 00 mov WORD PTR [eax+5816], si - 0014a 5e pop esi - 0014b 5b pop ebx - -; 1103 : } - - 0014c 8b e5 mov esp, ebp - 0014e 5d pop ebp - 0014f c3 ret 0 -$LN16@compress_b: - -; 1074 : Tracecv(isgraph(lc), (stderr," '%c' ", lc)); -; 1075 : } else { -; 1076 : /* Here, lc is the match length - MIN_MATCH */ -; 1077 : code = _length_code[lc]; - - 00150 0f b6 be 00 00 - 00 00 movzx edi, BYTE PTR __length_code[esi] - -; 1078 : send_code(s, code+LITERALS+1, ltree); /* send the length code */ - - 00157 0f b7 94 bb 06 - 04 00 00 movzx edx, WORD PTR [ebx+edi*4+1030] - 0015f bb 10 00 00 00 mov ebx, 16 ; 00000010H - 00164 2b da sub ebx, edx - 00166 89 55 f8 mov DWORD PTR _len$80837[ebp], edx - 00169 8b 55 08 mov edx, DWORD PTR _ltree$[ebp] - 0016c 3b cb cmp ecx, ebx - 0016e 7e 61 jle SHORT $LN12@compress_b - 00170 0f b7 94 ba 04 - 04 00 00 movzx edx, WORD PTR [edx+edi*4+1028] - 00178 89 55 f0 mov DWORD PTR _val$80840[ebp], edx - 0017b 66 d3 e2 shl dx, cl - 0017e 8b 48 08 mov ecx, DWORD PTR [eax+8] - 00181 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 00188 0f b6 98 b8 16 - 00 00 movzx ebx, BYTE PTR [eax+5816] - 0018f 8b 50 14 mov edx, DWORD PTR [eax+20] - 00192 88 1c 11 mov BYTE PTR [ecx+edx], bl - 00195 ff 40 14 inc DWORD PTR [eax+20] - 00198 0f b6 98 b9 16 - 00 00 movzx ebx, BYTE PTR [eax+5817] - 0019f 8b 48 14 mov ecx, DWORD PTR [eax+20] - 001a2 8b 50 08 mov edx, DWORD PTR [eax+8] - 001a5 88 1c 11 mov BYTE PTR [ecx+edx], bl - 001a8 8b 90 bc 16 00 - 00 mov edx, DWORD PTR [eax+5820] - 001ae 8b 5d f0 mov ebx, DWORD PTR _val$80840[ebp] - 001b1 ff 40 14 inc DWORD PTR [eax+20] - 001b4 b1 10 mov cl, 16 ; 00000010H - 001b6 2a ca sub cl, dl - 001b8 66 d3 eb shr bx, cl - 001bb 8b 4d f8 mov ecx, DWORD PTR _len$80837[ebp] - 001be 8d 54 0a f0 lea edx, DWORD PTR [edx+ecx-16] - 001c2 89 90 bc 16 00 - 00 mov DWORD PTR [eax+5820], edx - 001c8 66 89 98 b8 16 - 00 00 mov WORD PTR [eax+5816], bx - 001cf eb 1b jmp SHORT $LN29@compress_b -$LN12@compress_b: - 001d1 66 8b 94 ba 04 - 04 00 00 mov dx, WORD PTR [edx+edi*4+1028] - 001d9 66 d3 e2 shl dx, cl - 001dc 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 001e3 03 4d f8 add ecx, DWORD PTR _len$80837[ebp] - 001e6 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx -$LN29@compress_b: - -; 1079 : extra = extra_lbits[code]; - - 001ec 8b 1c bd 00 00 - 00 00 mov ebx, DWORD PTR _extra_lbits[edi*4] - 001f3 8b 55 fc mov edx, DWORD PTR _dist$[ebp] - 001f6 89 5d f0 mov DWORD PTR _extra$[ebp], ebx - -; 1080 : if (extra != 0) { - - 001f9 85 db test ebx, ebx - 001fb 74 7a je SHORT $LN8@compress_b - -; 1081 : lc -= base_length[code]; - - 001fd 2b 34 bd 00 00 - 00 00 sub esi, DWORD PTR _base_length[edi*4] - -; 1082 : send_bits(s, lc, extra); /* send the extra length bits */ - - 00204 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 0020a bf 10 00 00 00 mov edi, 16 ; 00000010H - 0020f 2b fb sub edi, ebx - 00211 3b cf cmp ecx, edi - 00213 7e 50 jle SHORT $LN9@compress_b - 00215 66 8b fe mov di, si - 00218 66 d3 e7 shl di, cl - 0021b 8b 48 08 mov ecx, DWORD PTR [eax+8] - 0021e 66 09 b8 b8 16 - 00 00 or WORD PTR [eax+5816], di - 00225 0f b6 98 b8 16 - 00 00 movzx ebx, BYTE PTR [eax+5816] - 0022c 8b 78 14 mov edi, DWORD PTR [eax+20] - 0022f 88 1c 39 mov BYTE PTR [ecx+edi], bl - 00232 ff 40 14 inc DWORD PTR [eax+20] - 00235 0f b6 98 b9 16 - 00 00 movzx ebx, BYTE PTR [eax+5817] - 0023c 8b 48 08 mov ecx, DWORD PTR [eax+8] - 0023f 8b 78 14 mov edi, DWORD PTR [eax+20] - 00242 88 1c 0f mov BYTE PTR [edi+ecx], bl - 00245 8b 98 bc 16 00 - 00 mov ebx, DWORD PTR [eax+5820] - 0024b ff 40 14 inc DWORD PTR [eax+20] - 0024e b1 10 mov cl, 16 ; 00000010H - 00250 2a cb sub cl, bl - 00252 66 d3 ee shr si, cl - 00255 8b 4d f0 mov ecx, DWORD PTR _extra$[ebp] - 00258 8d 4c 0b f0 lea ecx, DWORD PTR [ebx+ecx-16] - 0025c 66 89 b0 b8 16 - 00 00 mov WORD PTR [eax+5816], si - 00263 eb 0c jmp SHORT $LN30@compress_b -$LN9@compress_b: - 00265 66 d3 e6 shl si, cl - 00268 66 09 b0 b8 16 - 00 00 or WORD PTR [eax+5816], si - 0026f 03 cb add ecx, ebx -$LN30@compress_b: - 00271 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx -$LN8@compress_b: - -; 1083 : } -; 1084 : dist--; /* dist is now the match distance - 1 */ - - 00277 4a dec edx - 00278 89 55 fc mov DWORD PTR _dist$[ebp], edx - -; 1085 : code = d_code(dist); - - 0027b 81 fa 00 01 00 - 00 cmp edx, 256 ; 00000100H - 00281 73 09 jae SHORT $LN23@compress_b - 00283 0f b6 b2 00 00 - 00 00 movzx esi, BYTE PTR __dist_code[edx] - 0028a eb 0c jmp SHORT $LN24@compress_b -$LN23@compress_b: - 0028c 8b ca mov ecx, edx - 0028e c1 e9 07 shr ecx, 7 - 00291 0f b6 b1 00 01 - 00 00 movzx esi, BYTE PTR __dist_code[ecx+256] -$LN24@compress_b: - -; 1086 : Assert (code < D_CODES, "bad d_code"); -; 1087 : -; 1088 : send_code(s, code, dtree); /* send the distance code */ - - 00298 8b 4d 0c mov ecx, DWORD PTR _dtree$[ebp] - 0029b 0f b7 7c b1 02 movzx edi, WORD PTR [ecx+esi*4+2] - 002a0 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 002a6 bb 10 00 00 00 mov ebx, 16 ; 00000010H - 002ab 2b df sub ebx, edi - 002ad 89 7d f0 mov DWORD PTR _len$80860[ebp], edi - 002b0 3b cb cmp ecx, ebx - 002b2 7e 60 jle SHORT $LN7@compress_b - 002b4 8b 55 0c mov edx, DWORD PTR _dtree$[ebp] - 002b7 0f b7 3c b2 movzx edi, WORD PTR [edx+esi*4] - 002bb 66 8b d7 mov dx, di - 002be 66 d3 e2 shl dx, cl - 002c1 8b 48 08 mov ecx, DWORD PTR [eax+8] - 002c4 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 002cb 0f b6 98 b8 16 - 00 00 movzx ebx, BYTE PTR [eax+5816] - 002d2 8b 50 14 mov edx, DWORD PTR [eax+20] - 002d5 88 1c 11 mov BYTE PTR [ecx+edx], bl - 002d8 ff 40 14 inc DWORD PTR [eax+20] - 002db 8b 48 14 mov ecx, DWORD PTR [eax+20] - 002de 0f b6 98 b9 16 - 00 00 movzx ebx, BYTE PTR [eax+5817] - 002e5 8b 50 08 mov edx, DWORD PTR [eax+8] - 002e8 88 1c 11 mov BYTE PTR [ecx+edx], bl - 002eb 8b 90 bc 16 00 - 00 mov edx, DWORD PTR [eax+5820] - 002f1 ff 40 14 inc DWORD PTR [eax+20] - 002f4 b1 10 mov cl, 16 ; 00000010H - 002f6 2a ca sub cl, dl - 002f8 66 d3 ef shr di, cl - 002fb 8b 4d f0 mov ecx, DWORD PTR _len$80860[ebp] - 002fe 8d 54 0a f0 lea edx, DWORD PTR [edx+ecx-16] - 00302 89 90 bc 16 00 - 00 mov DWORD PTR [eax+5820], edx - 00308 8b 55 fc mov edx, DWORD PTR _dist$[ebp] - 0030b 66 89 b8 b8 16 - 00 00 mov WORD PTR [eax+5816], di - 00312 eb 19 jmp SHORT $LN31@compress_b -$LN7@compress_b: - 00314 8b 5d 0c mov ebx, DWORD PTR _dtree$[ebp] - 00317 66 8b 1c b3 mov bx, WORD PTR [ebx+esi*4] - 0031b 66 d3 e3 shl bx, cl - 0031e 66 09 98 b8 16 - 00 00 or WORD PTR [eax+5816], bx - 00325 03 cf add ecx, edi - 00327 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx -$LN31@compress_b: - -; 1089 : extra = extra_dbits[code]; - - 0032d 8b 3c b5 00 00 - 00 00 mov edi, DWORD PTR _extra_dbits[esi*4] - 00334 8b 5d 08 mov ebx, DWORD PTR _ltree$[ebp] - -; 1090 : if (extra != 0) { - - 00337 85 ff test edi, edi - 00339 0f 84 87 fd ff - ff je $LN18@compress_b - -; 1091 : dist -= base_dist[code]; - - 0033f 2b 14 b5 00 00 - 00 00 sub edx, DWORD PTR _base_dist[esi*4] - -; 1092 : send_bits(s, dist, extra); /* send the extra distance bits */ - - 00346 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 0034c be 10 00 00 00 mov esi, 16 ; 00000010H - 00351 2b f7 sub esi, edi - 00353 3b ce cmp ecx, esi - 00355 0f 8e 59 fd ff - ff jle $LN4@compress_b - 0035b 66 8b f2 mov si, dx - 0035e 66 d3 e6 shl si, cl - 00361 8b 48 08 mov ecx, DWORD PTR [eax+8] - 00364 66 09 b0 b8 16 - 00 00 or WORD PTR [eax+5816], si - 0036b 0f b6 98 b8 16 - 00 00 movzx ebx, BYTE PTR [eax+5816] - 00372 8b 70 14 mov esi, DWORD PTR [eax+20] - 00375 88 1c 31 mov BYTE PTR [ecx+esi], bl - 00378 ff 40 14 inc DWORD PTR [eax+20] - 0037b 0f b6 98 b9 16 - 00 00 movzx ebx, BYTE PTR [eax+5817] - 00382 8b 70 14 mov esi, DWORD PTR [eax+20] - 00385 8b 48 08 mov ecx, DWORD PTR [eax+8] - 00388 88 1c 0e mov BYTE PTR [esi+ecx], bl - 0038b 8b 98 bc 16 00 - 00 mov ebx, DWORD PTR [eax+5820] - 00391 ff 40 14 inc DWORD PTR [eax+20] - 00394 b1 10 mov cl, 16 ; 00000010H - 00396 2a cb sub cl, bl - 00398 66 d3 ea shr dx, cl - 0039b 66 89 90 b8 16 - 00 00 mov WORD PTR [eax+5816], dx - 003a2 8d 54 3b f0 lea edx, DWORD PTR [ebx+edi-16] - 003a6 8b 5d 08 mov ebx, DWORD PTR _ltree$[ebp] - 003a9 89 90 bc 16 00 - 00 mov DWORD PTR [eax+5820], edx - 003af e9 12 fd ff ff jmp $LN18@compress_b -$LN2@compress_b: - -; 1101 : -; 1102 : send_code(s, END_BLOCK, ltree); - - 003b4 66 8b 93 00 04 - 00 00 mov dx, WORD PTR [ebx+1024] - 003bb 66 d3 e2 shl dx, cl - 003be 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 003c5 03 cf add ecx, edi - 003c7 5f pop edi - 003c8 5e pop esi - 003c9 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx - 003cf 5b pop ebx - -; 1103 : } - - 003d0 8b e5 mov esp, ebp - 003d2 5d pop ebp - 003d3 c3 ret 0 -_compress_block ENDP -_TEXT ENDS -PUBLIC __tr_align -; Function compile flags: /Ogtp -; COMDAT __tr_align -_TEXT SEGMENT -__tr_align PROC ; COMDAT -; _s$ = eax - -; 895 : send_bits(s, STATIC_TREES<<1, 3); - - 00000 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 00006 ba 02 00 00 00 mov edx, 2 - 0000b 66 d3 e2 shl dx, cl - 0000e 53 push ebx - 0000f 56 push esi - 00010 be 01 00 00 00 mov esi, 1 - 00015 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 0001c 83 f9 0d cmp ecx, 13 ; 0000000dH - 0001f 7e 4c jle SHORT $LN4@tr_align - 00021 0f b6 98 b8 16 - 00 00 movzx ebx, BYTE PTR [eax+5816] - 00028 8b 50 14 mov edx, DWORD PTR [eax+20] - 0002b 8b 48 08 mov ecx, DWORD PTR [eax+8] - 0002e 88 1c 11 mov BYTE PTR [ecx+edx], bl - 00031 01 70 14 add DWORD PTR [eax+20], esi - 00034 0f b6 98 b9 16 - 00 00 movzx ebx, BYTE PTR [eax+5817] - 0003b 8b 48 14 mov ecx, DWORD PTR [eax+20] - 0003e 8b 50 08 mov edx, DWORD PTR [eax+8] - 00041 88 1c 11 mov BYTE PTR [ecx+edx], bl - 00044 8b 90 bc 16 00 - 00 mov edx, DWORD PTR [eax+5820] - 0004a 01 70 14 add DWORD PTR [eax+20], esi - 0004d 57 push edi - 0004e b1 10 mov cl, 16 ; 00000010H - 00050 2a ca sub cl, dl - 00052 bf 02 00 00 00 mov edi, 2 - 00057 66 d3 ef shr di, cl - 0005a 83 c2 f3 add edx, -13 ; fffffff3H - 0005d 89 90 bc 16 00 - 00 mov DWORD PTR [eax+5820], edx - 00063 66 89 b8 b8 16 - 00 00 mov WORD PTR [eax+5816], di - 0006a 5f pop edi - 0006b eb 09 jmp SHORT $LN3@tr_align -$LN4@tr_align: - 0006d 83 c1 03 add ecx, 3 - 00070 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx -$LN3@tr_align: - -; 896 : send_code(s, END_BLOCK, static_ltree); - - 00076 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 0007c 33 d2 xor edx, edx - 0007e 66 d3 e2 shl dx, cl - 00081 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 00088 83 f9 09 cmp ecx, 9 - 0008b 7e 4c jle SHORT $LN2@tr_align - 0008d 0f b6 98 b8 16 - 00 00 movzx ebx, BYTE PTR [eax+5816] - 00094 8b 50 14 mov edx, DWORD PTR [eax+20] - 00097 8b 48 08 mov ecx, DWORD PTR [eax+8] - 0009a 88 1c 11 mov BYTE PTR [ecx+edx], bl - 0009d 01 70 14 add DWORD PTR [eax+20], esi - 000a0 0f b6 98 b9 16 - 00 00 movzx ebx, BYTE PTR [eax+5817] - 000a7 8b 48 14 mov ecx, DWORD PTR [eax+20] - 000aa 8b 50 08 mov edx, DWORD PTR [eax+8] - 000ad 88 1c 11 mov BYTE PTR [ecx+edx], bl - 000b0 01 70 14 add DWORD PTR [eax+20], esi - 000b3 8b 90 bc 16 00 - 00 mov edx, DWORD PTR [eax+5820] - 000b9 b1 10 mov cl, 16 ; 00000010H - 000bb 33 f6 xor esi, esi - 000bd 2a ca sub cl, dl - 000bf 66 d3 ee shr si, cl - 000c2 83 c2 f7 add edx, -9 ; fffffff7H - 000c5 89 90 bc 16 00 - 00 mov DWORD PTR [eax+5820], edx - 000cb 66 89 b0 b8 16 - 00 00 mov WORD PTR [eax+5816], si - 000d2 5e pop esi - 000d3 5b pop ebx - -; 897 : #ifdef DEBUG -; 898 : s->compressed_len += 10L; /* 3 for block type, 7 for EOB */ -; 899 : #endif -; 900 : bi_flush(s); - - 000d4 e9 00 00 00 00 jmp _bi_flush -$LN2@tr_align: - -; 896 : send_code(s, END_BLOCK, static_ltree); - - 000d9 83 c1 07 add ecx, 7 - 000dc 5e pop esi - 000dd 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx - 000e3 5b pop ebx - -; 897 : #ifdef DEBUG -; 898 : s->compressed_len += 10L; /* 3 for block type, 7 for EOB */ -; 899 : #endif -; 900 : bi_flush(s); - - 000e4 e9 00 00 00 00 jmp _bi_flush -__tr_align ENDP -_TEXT ENDS -PUBLIC __tr_flush_bits -; Function compile flags: /Ogtp -; COMDAT __tr_flush_bits -_TEXT SEGMENT -__tr_flush_bits PROC ; COMDAT -; _s$ = eax - -; 885 : bi_flush(s); - - 00000 e9 00 00 00 00 jmp _bi_flush -__tr_flush_bits ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _send_tree -_TEXT SEGMENT -tv1014 = -28 ; size = 4 -tv1013 = -28 ; size = 4 -tv1012 = -28 ; size = 4 -tv1011 = -28 ; size = 4 -tv1010 = -28 ; size = 4 -tv1009 = -28 ; size = 4 -tv1008 = -28 ; size = 4 -_curlen$ = -28 ; size = 4 -tv589 = -24 ; size = 4 -_val$80628 = -20 ; size = 4 -_val$80617 = -20 ; size = 4 -_val$80605 = -20 ; size = 4 -_val$80594 = -20 ; size = 4 -_val$80581 = -20 ; size = 4 -_val$80570 = -20 ; size = 4 -_val$80559 = -20 ; size = 4 -_prevlen$ = -20 ; size = 4 -tv1196 = -16 ; size = 4 -_nextlen$ = -12 ; size = 4 -_len$80614 = -8 ; size = 4 -_len$80591 = -8 ; size = 4 -_len$80567 = -8 ; size = 4 -_len$80556 = -8 ; size = 4 -_min_count$ = -8 ; size = 4 -_count$ = -4 ; size = 4 -_send_tree PROC ; COMDAT -; _s$ = eax -; _tree$ = edx -; _max_code$ = ecx - -; 754 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 1c sub esp, 28 ; 0000001cH - 00006 53 push ebx - 00007 56 push esi - 00008 8b f2 mov esi, edx - -; 755 : int n; /* iterates over all tree elements */ -; 756 : int prevlen = -1; /* last emitted length */ -; 757 : int curlen; /* length of current code */ -; 758 : int nextlen = tree[0].Len; /* length of next code */ - - 0000a 0f b7 5e 02 movzx ebx, WORD PTR [esi+2] - -; 759 : int count = 0; /* repeat count of the current code */ - - 0000e 33 d2 xor edx, edx - 00010 57 push edi - 00011 8b f9 mov edi, ecx - 00013 c7 45 ec ff ff - ff ff mov DWORD PTR _prevlen$[ebp], -1 - 0001a 89 5d f4 mov DWORD PTR _nextlen$[ebp], ebx - -; 760 : int max_count = 7; /* max repeat count */ - - 0001d 8d 4a 07 lea ecx, DWORD PTR [edx+7] - -; 761 : int min_count = 4; /* min repeat count */ - - 00020 c7 45 f8 04 00 - 00 00 mov DWORD PTR _min_count$[ebp], 4 - -; 762 : -; 763 : /* tree[max_code+1].Len = -1; */ /* guard already set */ -; 764 : if (nextlen == 0) max_count = 138, min_count = 3; - - 00027 85 db test ebx, ebx - 00029 75 0c jne SHORT $LN36@send_tree - 0002b b9 8a 00 00 00 mov ecx, 138 ; 0000008aH - 00030 c7 45 f8 03 00 - 00 00 mov DWORD PTR _min_count$[ebp], 3 -$LN36@send_tree: - -; 765 : -; 766 : for (n = 0; n <= max_code; n++) { - - 00037 85 ff test edi, edi - 00039 0f 88 35 05 00 - 00 js $LN33@send_tree - 0003f 83 c6 06 add esi, 6 - 00042 47 inc edi - 00043 89 75 f0 mov DWORD PTR tv1196[ebp], esi - 00046 89 7d e8 mov DWORD PTR tv589[ebp], edi - 00049 bb 01 00 00 00 mov ebx, 1 - 0004e 8b ff npad 2 -$LL35@send_tree: - -; 767 : curlen = nextlen; nextlen = tree[n+1].Len; - - 00050 8b 7d f0 mov edi, DWORD PTR tv1196[ebp] - 00053 0f b7 3f movzx edi, WORD PTR [edi] - 00056 8b 75 f4 mov esi, DWORD PTR _nextlen$[ebp] - -; 768 : if (++count < max_count && curlen == nextlen) { - - 00059 03 d3 add edx, ebx - 0005b 89 75 e4 mov DWORD PTR _curlen$[ebp], esi - 0005e 89 7d f4 mov DWORD PTR _nextlen$[ebp], edi - 00061 89 55 fc mov DWORD PTR _count$[ebp], edx - 00064 3b d1 cmp edx, ecx - 00066 7d 08 jge SHORT $LN32@send_tree - 00068 3b f7 cmp esi, edi - 0006a 0f 84 f7 04 00 - 00 je $LN34@send_tree -$LN32@send_tree: - -; 769 : continue; -; 770 : } else if (count < min_count) { - - 00070 3b 55 f8 cmp edx, DWORD PTR _min_count$[ebp] - 00073 0f 8d a5 00 00 - 00 jge $LN30@send_tree - 00079 8d a4 24 00 00 - 00 00 npad 7 -$LL29@send_tree: - -; 771 : do { send_code(s, curlen, s->bl_tree); } while (--count != 0); - - 00080 0f b7 bc b0 7e - 0a 00 00 movzx edi, WORD PTR [eax+esi*4+2686] - 00088 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 0008e ba 10 00 00 00 mov edx, 16 ; 00000010H - 00093 2b d7 sub edx, edi - 00095 3b ca cmp ecx, edx - 00097 7e 5d jle SHORT $LN26@send_tree - 00099 0f b7 b4 b0 7c - 0a 00 00 movzx esi, WORD PTR [eax+esi*4+2684] - 000a1 66 8b d6 mov dx, si - 000a4 66 d3 e2 shl dx, cl - 000a7 8b 48 08 mov ecx, DWORD PTR [eax+8] - 000aa 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 000b1 0f b6 98 b8 16 - 00 00 movzx ebx, BYTE PTR [eax+5816] - 000b8 8b 50 14 mov edx, DWORD PTR [eax+20] - 000bb 88 1c 11 mov BYTE PTR [ecx+edx], bl - 000be ff 40 14 inc DWORD PTR [eax+20] - 000c1 0f b6 98 b9 16 - 00 00 movzx ebx, BYTE PTR [eax+5817] - 000c8 8b 48 14 mov ecx, DWORD PTR [eax+20] - 000cb 8b 50 08 mov edx, DWORD PTR [eax+8] - 000ce 88 1c 11 mov BYTE PTR [ecx+edx], bl - 000d1 8b 90 bc 16 00 - 00 mov edx, DWORD PTR [eax+5820] - 000d7 b1 10 mov cl, 16 ; 00000010H - 000d9 bb 01 00 00 00 mov ebx, 1 - 000de 01 58 14 add DWORD PTR [eax+20], ebx - 000e1 2a ca sub cl, dl - 000e3 66 d3 ee shr si, cl - 000e6 8d 4c 3a f0 lea ecx, DWORD PTR [edx+edi-16] - 000ea 66 89 b0 b8 16 - 00 00 mov WORD PTR [eax+5816], si - 000f1 8b 75 e4 mov esi, DWORD PTR _curlen$[ebp] - 000f4 eb 14 jmp SHORT $LN44@send_tree -$LN26@send_tree: - 000f6 66 8b 94 b0 7c - 0a 00 00 mov dx, WORD PTR [eax+esi*4+2684] - 000fe 66 d3 e2 shl dx, cl - 00101 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 00108 03 cf add ecx, edi -$LN44@send_tree: - 0010a 29 5d fc sub DWORD PTR _count$[ebp], ebx - 0010d 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx - 00113 0f 85 67 ff ff - ff jne $LL29@send_tree - -; 772 : -; 773 : } else if (curlen != 0) { - - 00119 e9 11 04 00 00 jmp $LN5@send_tree -$LN30@send_tree: - 0011e 85 f6 test esi, esi - 00120 0f 84 cb 01 00 - 00 je $LN23@send_tree - -; 774 : if (curlen != prevlen) { - - 00126 3b 75 ec cmp esi, DWORD PTR _prevlen$[ebp] - 00129 0f 84 aa 00 00 - 00 je $LN42@send_tree - -; 775 : send_code(s, curlen, s->bl_tree); count--; - - 0012f 0f b7 8c b0 7e - 0a 00 00 movzx ecx, WORD PTR [eax+esi*4+2686] - 00137 bf 10 00 00 00 mov edi, 16 ; 00000010H - 0013c 2b f9 sub edi, ecx - 0013e 89 4d f8 mov DWORD PTR _len$80556[ebp], ecx - 00141 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 00147 3b cf cmp ecx, edi - 00149 7e 68 jle SHORT $LN21@send_tree - 0014b 0f b7 94 b0 7c - 0a 00 00 movzx edx, WORD PTR [eax+esi*4+2684] - 00153 89 55 ec mov DWORD PTR _val$80559[ebp], edx - 00156 66 d3 e2 shl dx, cl - 00159 8b 48 08 mov ecx, DWORD PTR [eax+8] - 0015c 89 45 e4 mov DWORD PTR tv1014[ebp], eax - 0015f 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 00166 8b 50 14 mov edx, DWORD PTR [eax+20] - 00169 8a 80 b8 16 00 - 00 mov al, BYTE PTR [eax+5816] - 0016f 88 04 11 mov BYTE PTR [ecx+edx], al - 00172 8b 45 e4 mov eax, DWORD PTR tv1014[ebp] - 00175 01 58 14 add DWORD PTR [eax+20], ebx - 00178 8b 78 14 mov edi, DWORD PTR [eax+20] - 0017b 8b 48 08 mov ecx, DWORD PTR [eax+8] - 0017e 8a 90 b9 16 00 - 00 mov dl, BYTE PTR [eax+5817] - 00184 88 14 0f mov BYTE PTR [edi+ecx], dl - 00187 8b 90 bc 16 00 - 00 mov edx, DWORD PTR [eax+5820] - 0018d 8b 7d ec mov edi, DWORD PTR _val$80559[ebp] - 00190 01 58 14 add DWORD PTR [eax+20], ebx - 00193 b1 10 mov cl, 16 ; 00000010H - 00195 2a ca sub cl, dl - 00197 66 d3 ef shr di, cl - 0019a 8b 4d f8 mov ecx, DWORD PTR _len$80556[ebp] - 0019d 8d 54 0a f0 lea edx, DWORD PTR [edx+ecx-16] - 001a1 89 90 bc 16 00 - 00 mov DWORD PTR [eax+5820], edx - 001a7 8b 55 fc mov edx, DWORD PTR _count$[ebp] - 001aa 66 89 b8 b8 16 - 00 00 mov WORD PTR [eax+5816], di - 001b1 eb 21 jmp SHORT $LN20@send_tree -$LN21@send_tree: - 001b3 66 8b bc b0 7c - 0a 00 00 mov di, WORD PTR [eax+esi*4+2684] - 001bb 66 d3 e7 shl di, cl - 001be 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 001c4 66 09 b8 b8 16 - 00 00 or WORD PTR [eax+5816], di - 001cb 03 4d f8 add ecx, DWORD PTR _len$80556[ebp] - 001ce 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx -$LN20@send_tree: - 001d4 2b d3 sub edx, ebx - 001d6 89 55 fc mov DWORD PTR _count$[ebp], edx -$LN42@send_tree: - -; 776 : } -; 777 : Assert(count >= 3 && count <= 6, " 3_6?"); -; 778 : send_code(s, REP_3_6, s->bl_tree); send_bits(s, count-3, 2); - - 001d9 0f b7 88 be 0a - 00 00 movzx ecx, WORD PTR [eax+2750] - 001e0 bf 10 00 00 00 mov edi, 16 ; 00000010H - 001e5 2b f9 sub edi, ecx - 001e7 89 4d f8 mov DWORD PTR _len$80567[ebp], ecx - 001ea 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 001f0 3b cf cmp ecx, edi - 001f2 7e 67 jle SHORT $LN19@send_tree - 001f4 0f b7 90 bc 0a - 00 00 movzx edx, WORD PTR [eax+2748] - 001fb 89 55 ec mov DWORD PTR _val$80570[ebp], edx - 001fe 66 d3 e2 shl dx, cl - 00201 8b 48 08 mov ecx, DWORD PTR [eax+8] - 00204 89 45 e4 mov DWORD PTR tv1013[ebp], eax - 00207 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 0020e 8b 50 14 mov edx, DWORD PTR [eax+20] - 00211 8a 80 b8 16 00 - 00 mov al, BYTE PTR [eax+5816] - 00217 88 04 11 mov BYTE PTR [ecx+edx], al - 0021a 8b 45 e4 mov eax, DWORD PTR tv1013[ebp] - 0021d 01 58 14 add DWORD PTR [eax+20], ebx - 00220 8b 78 14 mov edi, DWORD PTR [eax+20] - 00223 8b 48 08 mov ecx, DWORD PTR [eax+8] - 00226 8a 90 b9 16 00 - 00 mov dl, BYTE PTR [eax+5817] - 0022c 88 14 0f mov BYTE PTR [edi+ecx], dl - 0022f 8b 90 bc 16 00 - 00 mov edx, DWORD PTR [eax+5820] - 00235 8b 7d ec mov edi, DWORD PTR _val$80570[ebp] - 00238 01 58 14 add DWORD PTR [eax+20], ebx - 0023b b1 10 mov cl, 16 ; 00000010H - 0023d 2a ca sub cl, dl - 0023f 66 d3 ef shr di, cl - 00242 8b 4d f8 mov ecx, DWORD PTR _len$80567[ebp] - 00245 8d 54 0a f0 lea edx, DWORD PTR [edx+ecx-16] - 00249 89 90 bc 16 00 - 00 mov DWORD PTR [eax+5820], edx - 0024f 8b 55 fc mov edx, DWORD PTR _count$[ebp] - 00252 66 89 b8 b8 16 - 00 00 mov WORD PTR [eax+5816], di - 00259 eb 1a jmp SHORT $LN18@send_tree -$LN19@send_tree: - 0025b 66 8b b8 bc 0a - 00 00 mov di, WORD PTR [eax+2748] - 00262 66 d3 e7 shl di, cl - 00265 66 09 b8 b8 16 - 00 00 or WORD PTR [eax+5816], di - 0026c 03 4d f8 add ecx, DWORD PTR _len$80567[ebp] - 0026f 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx -$LN18@send_tree: - 00275 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 0027b 83 c2 fd add edx, -3 ; fffffffdH - 0027e 83 f9 0e cmp ecx, 14 ; 0000000eH - 00281 7e 5c jle SHORT $LN17@send_tree - 00283 89 55 ec mov DWORD PTR _val$80581[ebp], edx - 00286 66 d3 e2 shl dx, cl - 00289 8b 48 08 mov ecx, DWORD PTR [eax+8] - 0028c 89 45 e4 mov DWORD PTR tv1012[ebp], eax - 0028f 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 00296 8b 50 14 mov edx, DWORD PTR [eax+20] - 00299 8a 80 b8 16 00 - 00 mov al, BYTE PTR [eax+5816] - 0029f 88 04 11 mov BYTE PTR [ecx+edx], al - 002a2 8b 45 e4 mov eax, DWORD PTR tv1012[ebp] - 002a5 01 58 14 add DWORD PTR [eax+20], ebx - 002a8 8b 78 14 mov edi, DWORD PTR [eax+20] - 002ab 8a 90 b9 16 00 - 00 mov dl, BYTE PTR [eax+5817] - 002b1 8b 48 08 mov ecx, DWORD PTR [eax+8] - 002b4 88 14 0f mov BYTE PTR [edi+ecx], dl - 002b7 8b 90 bc 16 00 - 00 mov edx, DWORD PTR [eax+5820] - 002bd 8b 7d ec mov edi, DWORD PTR _val$80581[ebp] - 002c0 01 58 14 add DWORD PTR [eax+20], ebx - 002c3 b1 10 mov cl, 16 ; 00000010H - 002c5 2a ca sub cl, dl - 002c7 66 d3 ef shr di, cl - 002ca 83 c2 f2 add edx, -14 ; fffffff2H - 002cd 89 90 bc 16 00 - 00 mov DWORD PTR [eax+5820], edx - 002d3 66 89 b8 b8 16 - 00 00 mov WORD PTR [eax+5816], di - 002da e9 50 02 00 00 jmp $LN5@send_tree -$LN17@send_tree: - 002df 66 d3 e2 shl dx, cl - 002e2 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 002e9 83 c1 02 add ecx, 2 - 002ec e9 38 02 00 00 jmp $LN45@send_tree -$LN23@send_tree: - -; 779 : -; 780 : } else if (count <= 10) { -; 781 : send_code(s, REPZ_3_10, s->bl_tree); send_bits(s, count-3, 3); - - 002f1 bf 10 00 00 00 mov edi, 16 ; 00000010H - 002f6 83 fa 0a cmp edx, 10 ; 0000000aH - 002f9 0f 8f 19 01 00 - 00 jg $LN14@send_tree - 002ff 0f b7 88 c2 0a - 00 00 movzx ecx, WORD PTR [eax+2754] - 00306 2b f9 sub edi, ecx - 00308 89 4d f8 mov DWORD PTR _len$80591[ebp], ecx - 0030b 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 00311 3b cf cmp ecx, edi - 00313 7e 67 jle SHORT $LN13@send_tree - 00315 0f b7 90 c0 0a - 00 00 movzx edx, WORD PTR [eax+2752] - 0031c 89 55 ec mov DWORD PTR _val$80594[ebp], edx - 0031f 66 d3 e2 shl dx, cl - 00322 8b 48 08 mov ecx, DWORD PTR [eax+8] - 00325 89 45 e4 mov DWORD PTR tv1011[ebp], eax - 00328 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 0032f 8b 50 14 mov edx, DWORD PTR [eax+20] - 00332 8a 80 b8 16 00 - 00 mov al, BYTE PTR [eax+5816] - 00338 88 04 11 mov BYTE PTR [ecx+edx], al - 0033b 8b 45 e4 mov eax, DWORD PTR tv1011[ebp] - 0033e 01 58 14 add DWORD PTR [eax+20], ebx - 00341 8b 78 14 mov edi, DWORD PTR [eax+20] - 00344 8b 48 08 mov ecx, DWORD PTR [eax+8] - 00347 8a 90 b9 16 00 - 00 mov dl, BYTE PTR [eax+5817] - 0034d 88 14 0f mov BYTE PTR [edi+ecx], dl - 00350 8b 90 bc 16 00 - 00 mov edx, DWORD PTR [eax+5820] - 00356 8b 7d ec mov edi, DWORD PTR _val$80594[ebp] - 00359 01 58 14 add DWORD PTR [eax+20], ebx - 0035c b1 10 mov cl, 16 ; 00000010H - 0035e 2a ca sub cl, dl - 00360 66 d3 ef shr di, cl - 00363 8b 4d f8 mov ecx, DWORD PTR _len$80591[ebp] - 00366 8d 54 0a f0 lea edx, DWORD PTR [edx+ecx-16] - 0036a 89 90 bc 16 00 - 00 mov DWORD PTR [eax+5820], edx - 00370 8b 55 fc mov edx, DWORD PTR _count$[ebp] - 00373 66 89 b8 b8 16 - 00 00 mov WORD PTR [eax+5816], di - 0037a eb 20 jmp SHORT $LN12@send_tree -$LN13@send_tree: - 0037c 66 8b b8 c0 0a - 00 00 mov di, WORD PTR [eax+2752] - 00383 66 d3 e7 shl di, cl - 00386 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 0038c 66 09 b8 b8 16 - 00 00 or WORD PTR [eax+5816], di - 00393 03 4d f8 add ecx, DWORD PTR _len$80591[ebp] - 00396 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx -$LN12@send_tree: - 0039c 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 003a2 83 c2 fd add edx, -3 ; fffffffdH - 003a5 83 f9 0d cmp ecx, 13 ; 0000000dH - 003a8 7e 5c jle SHORT $LN11@send_tree - 003aa 89 55 ec mov DWORD PTR _val$80605[ebp], edx - 003ad 66 d3 e2 shl dx, cl - 003b0 8b 48 08 mov ecx, DWORD PTR [eax+8] - 003b3 89 45 e4 mov DWORD PTR tv1010[ebp], eax - 003b6 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 003bd 8b 50 14 mov edx, DWORD PTR [eax+20] - 003c0 8a 80 b8 16 00 - 00 mov al, BYTE PTR [eax+5816] - 003c6 88 04 11 mov BYTE PTR [ecx+edx], al - 003c9 8b 45 e4 mov eax, DWORD PTR tv1010[ebp] - 003cc 01 58 14 add DWORD PTR [eax+20], ebx - 003cf 8b 78 14 mov edi, DWORD PTR [eax+20] - 003d2 8a 90 b9 16 00 - 00 mov dl, BYTE PTR [eax+5817] - 003d8 8b 48 08 mov ecx, DWORD PTR [eax+8] - 003db 88 14 0f mov BYTE PTR [edi+ecx], dl - 003de 8b 90 bc 16 00 - 00 mov edx, DWORD PTR [eax+5820] - 003e4 8b 7d ec mov edi, DWORD PTR _val$80605[ebp] - 003e7 01 58 14 add DWORD PTR [eax+20], ebx - 003ea b1 10 mov cl, 16 ; 00000010H - 003ec 2a ca sub cl, dl - 003ee 66 d3 ef shr di, cl - 003f1 83 c2 f3 add edx, -13 ; fffffff3H - 003f4 89 90 bc 16 00 - 00 mov DWORD PTR [eax+5820], edx - 003fa 66 89 b8 b8 16 - 00 00 mov WORD PTR [eax+5816], di - 00401 e9 29 01 00 00 jmp $LN5@send_tree -$LN11@send_tree: - 00406 66 d3 e2 shl dx, cl - 00409 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 00410 83 c1 03 add ecx, 3 - -; 782 : -; 783 : } else { - - 00413 e9 11 01 00 00 jmp $LN45@send_tree -$LN14@send_tree: - -; 784 : send_code(s, REPZ_11_138, s->bl_tree); send_bits(s, count-11, 7); - - 00418 0f b7 88 c6 0a - 00 00 movzx ecx, WORD PTR [eax+2758] - 0041f 2b f9 sub edi, ecx - 00421 89 4d f8 mov DWORD PTR _len$80614[ebp], ecx - 00424 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 0042a 3b cf cmp ecx, edi - 0042c 7e 67 jle SHORT $LN8@send_tree - 0042e 0f b7 90 c4 0a - 00 00 movzx edx, WORD PTR [eax+2756] - 00435 89 55 ec mov DWORD PTR _val$80617[ebp], edx - 00438 66 d3 e2 shl dx, cl - 0043b 8b 48 08 mov ecx, DWORD PTR [eax+8] - 0043e 89 45 e4 mov DWORD PTR tv1009[ebp], eax - 00441 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 00448 8b 50 14 mov edx, DWORD PTR [eax+20] - 0044b 8a 80 b8 16 00 - 00 mov al, BYTE PTR [eax+5816] - 00451 88 04 11 mov BYTE PTR [ecx+edx], al - 00454 8b 45 e4 mov eax, DWORD PTR tv1009[ebp] - 00457 01 58 14 add DWORD PTR [eax+20], ebx - 0045a 8b 78 14 mov edi, DWORD PTR [eax+20] - 0045d 8b 48 08 mov ecx, DWORD PTR [eax+8] - 00460 8a 90 b9 16 00 - 00 mov dl, BYTE PTR [eax+5817] - 00466 88 14 0f mov BYTE PTR [edi+ecx], dl - 00469 8b 90 bc 16 00 - 00 mov edx, DWORD PTR [eax+5820] - 0046f 8b 7d ec mov edi, DWORD PTR _val$80617[ebp] - 00472 01 58 14 add DWORD PTR [eax+20], ebx - 00475 b1 10 mov cl, 16 ; 00000010H - 00477 2a ca sub cl, dl - 00479 66 d3 ef shr di, cl - 0047c 8b 4d f8 mov ecx, DWORD PTR _len$80614[ebp] - 0047f 8d 54 0a f0 lea edx, DWORD PTR [edx+ecx-16] - 00483 89 90 bc 16 00 - 00 mov DWORD PTR [eax+5820], edx - 00489 8b 55 fc mov edx, DWORD PTR _count$[ebp] - 0048c 66 89 b8 b8 16 - 00 00 mov WORD PTR [eax+5816], di - 00493 eb 20 jmp SHORT $LN7@send_tree -$LN8@send_tree: - 00495 66 8b b8 c4 0a - 00 00 mov di, WORD PTR [eax+2756] - 0049c 66 d3 e7 shl di, cl - 0049f 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 004a5 66 09 b8 b8 16 - 00 00 or WORD PTR [eax+5816], di - 004ac 03 4d f8 add ecx, DWORD PTR _len$80614[ebp] - 004af 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx -$LN7@send_tree: - 004b5 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 004bb 83 c2 f5 add edx, -11 ; fffffff5H - 004be 83 f9 09 cmp ecx, 9 - 004c1 7e 59 jle SHORT $LN6@send_tree - 004c3 89 55 ec mov DWORD PTR _val$80628[ebp], edx - 004c6 66 d3 e2 shl dx, cl - 004c9 8b 48 08 mov ecx, DWORD PTR [eax+8] - 004cc 89 45 e4 mov DWORD PTR tv1008[ebp], eax - 004cf 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 004d6 8b 50 14 mov edx, DWORD PTR [eax+20] - 004d9 8a 80 b8 16 00 - 00 mov al, BYTE PTR [eax+5816] - 004df 88 04 11 mov BYTE PTR [ecx+edx], al - 004e2 8b 45 e4 mov eax, DWORD PTR tv1008[ebp] - 004e5 01 58 14 add DWORD PTR [eax+20], ebx - 004e8 8b 78 14 mov edi, DWORD PTR [eax+20] - 004eb 8a 90 b9 16 00 - 00 mov dl, BYTE PTR [eax+5817] - 004f1 8b 48 08 mov ecx, DWORD PTR [eax+8] - 004f4 88 14 0f mov BYTE PTR [edi+ecx], dl - 004f7 8b 90 bc 16 00 - 00 mov edx, DWORD PTR [eax+5820] - 004fd 8b 7d ec mov edi, DWORD PTR _val$80628[ebp] - 00500 01 58 14 add DWORD PTR [eax+20], ebx - 00503 b1 10 mov cl, 16 ; 00000010H - 00505 2a ca sub cl, dl - 00507 66 d3 ef shr di, cl - 0050a 83 c2 f7 add edx, -9 ; fffffff7H - 0050d 89 90 bc 16 00 - 00 mov DWORD PTR [eax+5820], edx - 00513 66 89 b8 b8 16 - 00 00 mov WORD PTR [eax+5816], di - 0051a eb 13 jmp SHORT $LN5@send_tree -$LN6@send_tree: - 0051c 66 d3 e2 shl dx, cl - 0051f 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 00526 83 c1 07 add ecx, 7 -$LN45@send_tree: - 00529 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx -$LN5@send_tree: - -; 785 : } -; 786 : count = 0; prevlen = curlen; -; 787 : if (nextlen == 0) { - - 0052f 8b 4d f4 mov ecx, DWORD PTR _nextlen$[ebp] - 00532 33 d2 xor edx, edx - 00534 89 75 ec mov DWORD PTR _prevlen$[ebp], esi - 00537 85 c9 test ecx, ecx - 00539 75 0e jne SHORT $LN4@send_tree - -; 788 : max_count = 138, min_count = 3; - - 0053b b9 8a 00 00 00 mov ecx, 138 ; 0000008aH - 00540 c7 45 f8 03 00 - 00 00 mov DWORD PTR _min_count$[ebp], 3 - 00547 eb 1e jmp SHORT $LN34@send_tree -$LN4@send_tree: - -; 789 : } else if (curlen == nextlen) { - - 00549 3b f1 cmp esi, ecx - 0054b 75 0e jne SHORT $LN2@send_tree - -; 790 : max_count = 6, min_count = 3; - - 0054d b9 06 00 00 00 mov ecx, 6 - 00552 c7 45 f8 03 00 - 00 00 mov DWORD PTR _min_count$[ebp], 3 - -; 791 : } else { - - 00559 eb 0c jmp SHORT $LN34@send_tree -$LN2@send_tree: - -; 792 : max_count = 7, min_count = 4; - - 0055b b9 07 00 00 00 mov ecx, 7 - 00560 c7 45 f8 04 00 - 00 00 mov DWORD PTR _min_count$[ebp], 4 -$LN34@send_tree: - -; 765 : -; 766 : for (n = 0; n <= max_code; n++) { - - 00567 83 45 f0 04 add DWORD PTR tv1196[ebp], 4 - 0056b 29 5d e8 sub DWORD PTR tv589[ebp], ebx - 0056e 0f 85 dc fa ff - ff jne $LL35@send_tree -$LN33@send_tree: - 00574 5f pop edi - 00575 5e pop esi - 00576 5b pop ebx - -; 793 : } -; 794 : } -; 795 : } - - 00577 8b e5 mov esp, ebp - 00579 5d pop ebp - 0057a c3 ret 0 -_send_tree ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _scan_tree -_TEXT SEGMENT -_nextlen$ = -16 ; size = 4 -tv84 = -12 ; size = 4 -_prevlen$ = -8 ; size = 4 -tv295 = -4 ; size = 4 -_s$ = 8 ; size = 4 -_scan_tree PROC ; COMDAT -; _tree$ = ecx -; _max_code$ = eax - -; 709 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 10 sub esp, 16 ; 00000010H - 00006 53 push ebx - 00007 56 push esi - 00008 57 push edi - 00009 8b f9 mov edi, ecx - 0000b 8b d8 mov ebx, eax - -; 710 : int n; /* iterates over all tree elements */ -; 711 : int prevlen = -1; /* last emitted length */ -; 712 : int curlen; /* length of current code */ -; 713 : int nextlen = tree[0].Len; /* length of next code */ - - 0000d 0f b7 47 02 movzx eax, WORD PTR [edi+2] - -; 714 : int count = 0; /* repeat count of the current code */ - - 00011 33 d2 xor edx, edx - 00013 c7 45 f8 ff ff - ff ff mov DWORD PTR _prevlen$[ebp], -1 - 0001a 89 45 f0 mov DWORD PTR _nextlen$[ebp], eax - -; 715 : int max_count = 7; /* max repeat count */ - - 0001d 8d 4a 07 lea ecx, DWORD PTR [edx+7] - -; 716 : int min_count = 4; /* min repeat count */ - - 00020 8d 72 04 lea esi, DWORD PTR [edx+4] - -; 717 : -; 718 : if (nextlen == 0) max_count = 138, min_count = 3; - - 00023 85 c0 test eax, eax - 00025 75 08 jne SHORT $LN17@scan_tree - 00027 b9 8a 00 00 00 mov ecx, 138 ; 0000008aH - 0002c 8d 70 03 lea esi, DWORD PTR [eax+3] -$LN17@scan_tree: - -; 719 : tree[max_code+1].Len = (ush)0xffff; /* guard */ - - 0002f b8 ff ff 00 00 mov eax, 65535 ; 0000ffffH - 00034 66 89 44 9f 06 mov WORD PTR [edi+ebx*4+6], ax - -; 720 : -; 721 : for (n = 0; n <= max_code; n++) { - - 00039 85 db test ebx, ebx - 0003b 0f 88 90 00 00 - 00 js $LN14@scan_tree - -; 719 : tree[max_code+1].Len = (ush)0xffff; /* guard */ - - 00041 83 c7 06 add edi, 6 - 00044 43 inc ebx - 00045 89 7d fc mov DWORD PTR tv295[ebp], edi - 00048 8b 7d 08 mov edi, DWORD PTR _s$[ebp] - 0004b 89 5d f4 mov DWORD PTR tv84[ebp], ebx - 0004e 8b 5d f0 mov ebx, DWORD PTR _nextlen$[ebp] -$LL16@scan_tree: - -; 722 : curlen = nextlen; nextlen = tree[n+1].Len; - - 00051 8b c3 mov eax, ebx - 00053 8b 5d fc mov ebx, DWORD PTR tv295[ebp] - 00056 0f b7 1b movzx ebx, WORD PTR [ebx] - -; 723 : if (++count < max_count && curlen == nextlen) { - - 00059 42 inc edx - 0005a 3b d1 cmp edx, ecx - 0005c 7d 04 jge SHORT $LN13@scan_tree - 0005e 3b c3 cmp eax, ebx - 00060 74 66 je SHORT $LN15@scan_tree -$LN13@scan_tree: - -; 724 : continue; -; 725 : } else if (count < min_count) { - - 00062 3b d6 cmp edx, esi - 00064 7d 0a jge SHORT $LN11@scan_tree - -; 726 : s->bl_tree[curlen].Freq += count; - - 00066 66 01 94 87 7c - 0a 00 00 add WORD PTR [edi+eax*4+2684], dx - 0006e eb 2f jmp SHORT $LN5@scan_tree -$LN11@scan_tree: - -; 727 : } else if (curlen != 0) { - - 00070 85 c0 test eax, eax - 00072 74 16 je SHORT $LN9@scan_tree - -; 728 : if (curlen != prevlen) s->bl_tree[curlen].Freq++; - - 00074 3b 45 f8 cmp eax, DWORD PTR _prevlen$[ebp] - 00077 74 08 je SHORT $LN23@scan_tree - 00079 66 ff 84 87 7c - 0a 00 00 inc WORD PTR [edi+eax*4+2684] -$LN23@scan_tree: - -; 729 : s->bl_tree[REP_3_6].Freq++; - - 00081 66 ff 87 bc 0a - 00 00 inc WORD PTR [edi+2748] - 00088 eb 15 jmp SHORT $LN5@scan_tree -$LN9@scan_tree: - -; 730 : } else if (count <= 10) { - - 0008a 83 fa 0a cmp edx, 10 ; 0000000aH - 0008d 7f 09 jg SHORT $LN6@scan_tree - -; 731 : s->bl_tree[REPZ_3_10].Freq++; - - 0008f 66 ff 87 c0 0a - 00 00 inc WORD PTR [edi+2752] - -; 732 : } else { - - 00096 eb 07 jmp SHORT $LN5@scan_tree -$LN6@scan_tree: - -; 733 : s->bl_tree[REPZ_11_138].Freq++; - - 00098 66 ff 87 c4 0a - 00 00 inc WORD PTR [edi+2756] -$LN5@scan_tree: - -; 734 : } -; 735 : count = 0; prevlen = curlen; - - 0009f 33 d2 xor edx, edx - 000a1 89 45 f8 mov DWORD PTR _prevlen$[ebp], eax - -; 736 : if (nextlen == 0) { - - 000a4 85 db test ebx, ebx - 000a6 75 0a jne SHORT $LN4@scan_tree - -; 737 : max_count = 138, min_count = 3; - - 000a8 b9 8a 00 00 00 mov ecx, 138 ; 0000008aH - 000ad 8d 72 03 lea esi, DWORD PTR [edx+3] - 000b0 eb 16 jmp SHORT $LN15@scan_tree -$LN4@scan_tree: - -; 738 : } else if (curlen == nextlen) { - - 000b2 3b c3 cmp eax, ebx - 000b4 75 0a jne SHORT $LN2@scan_tree - -; 739 : max_count = 6, min_count = 3; - - 000b6 b9 06 00 00 00 mov ecx, 6 - 000bb 8d 71 fd lea esi, DWORD PTR [ecx-3] - -; 740 : } else { - - 000be eb 08 jmp SHORT $LN15@scan_tree -$LN2@scan_tree: - -; 741 : max_count = 7, min_count = 4; - - 000c0 b9 07 00 00 00 mov ecx, 7 - 000c5 8d 71 fd lea esi, DWORD PTR [ecx-3] -$LN15@scan_tree: - -; 720 : -; 721 : for (n = 0; n <= max_code; n++) { - - 000c8 83 45 fc 04 add DWORD PTR tv295[ebp], 4 - 000cc ff 4d f4 dec DWORD PTR tv84[ebp] - 000cf 75 80 jne SHORT $LL16@scan_tree -$LN14@scan_tree: - 000d1 5f pop edi - 000d2 5e pop esi - 000d3 5b pop ebx - -; 742 : } -; 743 : } -; 744 : } - - 000d4 8b e5 mov esp, ebp - 000d6 5d pop ebp - 000d7 c3 ret 0 -_scan_tree ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _gen_codes -_TEXT SEGMENT -_next_code$ = -32 ; size = 32 -_gen_codes PROC ; COMDAT -; _tree$ = edi -; _max_code$ = ebx -; _bl_count$ = edx - -; 579 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 20 sub esp, 32 ; 00000020H - 00006 56 push esi - -; 580 : ush next_code[MAX_BITS+1]; /* next code value for each bit length */ -; 581 : ush code = 0; /* running code value */ -; 582 : int bits; /* bit index */ -; 583 : int n; /* code index */ -; 584 : -; 585 : /* The distribution counts are first used to generate the code values -; 586 : * without bit reversal. -; 587 : */ -; 588 : for (bits = 1; bits <= MAX_BITS; bits++) { - - 00007 8d 75 e2 lea esi, DWORD PTR _next_code$[ebp+2] - 0000a 33 c9 xor ecx, ecx - 0000c b8 01 00 00 00 mov eax, 1 - 00011 2b d6 sub edx, esi -$LL7@gen_codes: - 00013 8d 34 42 lea esi, DWORD PTR [edx+eax*2] - -; 589 : next_code[bits] = code = (code + bl_count[bits-1]) << 1; - - 00016 66 8b 74 35 e0 mov si, WORD PTR _next_code$[ebp+esi] - 0001b 66 03 f1 add si, cx - 0001e 66 03 f6 add si, si - 00021 0f b7 ce movzx ecx, si - 00024 66 89 4c 45 e0 mov WORD PTR _next_code$[ebp+eax*2], cx - 00029 40 inc eax - 0002a 83 f8 0f cmp eax, 15 ; 0000000fH - 0002d 7e e4 jle SHORT $LL7@gen_codes - -; 590 : } -; 591 : /* Check that the bit counts in bl_count are consistent. The last code -; 592 : * must be all ones. -; 593 : */ -; 594 : Assert (code + bl_count[MAX_BITS]-1 == (1<dyn_tree; -; 493 : int max_code = desc->max_code; - - 00006 8b 51 04 mov edx, DWORD PTR [ecx+4] - 00009 53 push ebx - 0000a 8b 19 mov ebx, DWORD PTR [ecx] - -; 494 : const ct_data *stree = desc->stat_desc->static_tree; - - 0000c 8b 49 08 mov ecx, DWORD PTR [ecx+8] - 0000f 89 55 e8 mov DWORD PTR _max_code$[ebp], edx - 00012 8b 11 mov edx, DWORD PTR [ecx] - 00014 89 55 dc mov DWORD PTR _stree$[ebp], edx - -; 495 : const intf *extra = desc->stat_desc->extra_bits; - - 00017 8b 51 04 mov edx, DWORD PTR [ecx+4] - 0001a 56 push esi - 0001b 89 55 e0 mov DWORD PTR _extra$[ebp], edx - -; 496 : int base = desc->stat_desc->extra_base; - - 0001e 8b 51 08 mov edx, DWORD PTR [ecx+8] - 00021 57 push edi - -; 497 : int max_length = desc->stat_desc->max_length; - - 00022 8b 79 10 mov edi, DWORD PTR [ecx+16] - -; 498 : int h; /* heap index */ -; 499 : int n, m; /* iterate over the tree elements */ -; 500 : int bits; /* bit length */ -; 501 : int xbits; /* extra bits */ -; 502 : ush f; /* frequency */ -; 503 : int overflow = 0; /* number of elements with bit length too large */ -; 504 : -; 505 : for (bits = 0; bits <= MAX_BITS; bits++) s->bl_count[bits] = 0; - - 00025 33 c9 xor ecx, ecx - 00027 89 55 e4 mov DWORD PTR _base$[ebp], edx - 0002a 0f b7 d1 movzx edx, cx - 0002d 8b ca mov ecx, edx - 0002f c1 e2 10 shl edx, 16 ; 00000010H - 00032 0b ca or ecx, edx - 00034 89 88 3c 0b 00 - 00 mov DWORD PTR [eax+2876], ecx - 0003a 89 88 40 0b 00 - 00 mov DWORD PTR [eax+2880], ecx - 00040 89 88 44 0b 00 - 00 mov DWORD PTR [eax+2884], ecx - 00046 89 88 48 0b 00 - 00 mov DWORD PTR [eax+2888], ecx - 0004c 89 88 4c 0b 00 - 00 mov DWORD PTR [eax+2892], ecx - 00052 89 88 50 0b 00 - 00 mov DWORD PTR [eax+2896], ecx - 00058 89 88 54 0b 00 - 00 mov DWORD PTR [eax+2900], ecx - 0005e 89 88 58 0b 00 - 00 mov DWORD PTR [eax+2904], ecx - -; 506 : -; 507 : /* In a first pass, compute the optimal bit lengths (which may -; 508 : * overflow in the case of the bit length tree). -; 509 : */ -; 510 : tree[s->heap[s->heap_max]].Len = 0; /* root of the heap */ - - 00064 8b 88 54 14 00 - 00 mov ecx, DWORD PTR [eax+5204] - 0006a 8b 94 88 5c 0b - 00 00 mov edx, DWORD PTR [eax+ecx*4+2908] - 00071 33 c9 xor ecx, ecx - 00073 66 89 4c 93 02 mov WORD PTR [ebx+edx*4+2], cx - -; 511 : -; 512 : for (h = s->heap_max+1; h < HEAP_SIZE; h++) { - - 00078 8b 88 54 14 00 - 00 mov ecx, DWORD PTR [eax+5204] - 0007e 33 f6 xor esi, esi - 00080 41 inc ecx - 00081 89 5d d8 mov DWORD PTR _tree$[ebp], ebx - 00084 89 7d fc mov DWORD PTR _max_length$[ebp], edi - 00087 89 75 f8 mov DWORD PTR _overflow$[ebp], esi - 0008a 81 f9 3d 02 00 - 00 cmp ecx, 573 ; 0000023dH - 00090 0f 8d 5a 01 00 - 00 jge $LN5@gen_bitlen - -; 506 : -; 507 : /* In a first pass, compute the optimal bit lengths (which may -; 508 : * overflow in the case of the bit length tree). -; 509 : */ -; 510 : tree[s->heap[s->heap_max]].Len = 0; /* root of the heap */ - - 00096 8d 94 88 5c 0b - 00 00 lea edx, DWORD PTR [eax+ecx*4+2908] - 0009d 89 55 f4 mov DWORD PTR tv597[ebp], edx - 000a0 ba 3d 02 00 00 mov edx, 573 ; 0000023dH - 000a5 2b d1 sub edx, ecx - -; 511 : -; 512 : for (h = s->heap_max+1; h < HEAP_SIZE; h++) { - - 000a7 03 ca add ecx, edx - 000a9 89 55 ec mov DWORD PTR tv277[ebp], edx - 000ac 89 4d f0 mov DWORD PTR _h$[ebp], ecx - 000af 90 npad 1 -$LL41@gen_bitlen: - -; 513 : n = s->heap[h]; - - 000b0 8b 4d f4 mov ecx, DWORD PTR tv597[ebp] - 000b3 8b 11 mov edx, DWORD PTR [ecx] - -; 514 : bits = tree[tree[n].Dad].Len + 1; - - 000b5 0f b7 4c 93 02 movzx ecx, WORD PTR [ebx+edx*4+2] - 000ba 0f b7 4c 8b 02 movzx ecx, WORD PTR [ebx+ecx*4+2] - 000bf 41 inc ecx - -; 515 : if (bits > max_length) bits = max_length, overflow++; - - 000c0 3b cf cmp ecx, edi - 000c2 7e 06 jle SHORT $LN17@gen_bitlen - 000c4 46 inc esi - 000c5 8b cf mov ecx, edi - 000c7 89 75 f8 mov DWORD PTR _overflow$[ebp], esi -$LN17@gen_bitlen: - -; 516 : tree[n].Len = (ush)bits; - - 000ca 66 89 4c 93 02 mov WORD PTR [ebx+edx*4+2], cx - -; 517 : /* We overwrite tree[n].Dad which is no longer needed */ -; 518 : -; 519 : if (n > max_code) continue; /* not a leaf node */ - - 000cf 3b 55 e8 cmp edx, DWORD PTR _max_code$[ebp] - 000d2 7f 47 jg SHORT $LN19@gen_bitlen - -; 520 : -; 521 : s->bl_count[bits]++; -; 522 : xbits = 0; -; 523 : if (n >= base) xbits = extra[n-base]; - - 000d4 8b 7d e4 mov edi, DWORD PTR _base$[ebp] - 000d7 66 ff 84 48 3c - 0b 00 00 inc WORD PTR [eax+ecx*2+2876] - 000df 33 f6 xor esi, esi - 000e1 3b d7 cmp edx, edi - 000e3 7c 0a jl SHORT $LN15@gen_bitlen - 000e5 8b f2 mov esi, edx - 000e7 2b f7 sub esi, edi - 000e9 8b 7d e0 mov edi, DWORD PTR _extra$[ebp] - 000ec 8b 34 b7 mov esi, DWORD PTR [edi+esi*4] -$LN15@gen_bitlen: - -; 524 : f = tree[n].Freq; - - 000ef 0f b7 3c 93 movzx edi, WORD PTR [ebx+edx*4] - -; 525 : s->opt_len += (ulg)f * (bits + xbits); - - 000f3 03 ce add ecx, esi - 000f5 0f af cf imul ecx, edi - 000f8 01 88 a8 16 00 - 00 add DWORD PTR [eax+5800], ecx - -; 526 : if (stree) s->static_len += (ulg)f * (stree[n].Len + xbits); - - 000fe 8b 4d dc mov ecx, DWORD PTR _stree$[ebp] - 00101 85 c9 test ecx, ecx - 00103 74 10 je SHORT $LN38@gen_bitlen - 00105 0f b7 54 91 02 movzx edx, WORD PTR [ecx+edx*4+2] - 0010a 03 d6 add edx, esi - 0010c 0f af d7 imul edx, edi - 0010f 01 90 ac 16 00 - 00 add DWORD PTR [eax+5804], edx -$LN38@gen_bitlen: - 00115 8b 7d fc mov edi, DWORD PTR _max_length$[ebp] - 00118 8b 75 f8 mov esi, DWORD PTR _overflow$[ebp] -$LN19@gen_bitlen: - -; 511 : -; 512 : for (h = s->heap_max+1; h < HEAP_SIZE; h++) { - - 0011b 83 45 f4 04 add DWORD PTR tv597[ebp], 4 - 0011f ff 4d ec dec DWORD PTR tv277[ebp] - 00122 75 8c jne SHORT $LL41@gen_bitlen - -; 527 : } -; 528 : if (overflow == 0) return; - - 00124 85 f6 test esi, esi - 00126 0f 84 c4 00 00 - 00 je $LN5@gen_bitlen - 0012c 8d bc 78 3c 0b - 00 00 lea edi, DWORD PTR [eax+edi*2+2876] -$LL12@gen_bitlen: - -; 529 : -; 530 : Trace((stderr,"\nbit length overflow\n")); -; 531 : /* This happens for example on obj2 and pic of the Calgary corpus */ -; 532 : -; 533 : /* Find the first bit length which could increase: */ -; 534 : do { -; 535 : bits = max_length-1; - - 00133 8b 4d fc mov ecx, DWORD PTR _max_length$[ebp] - 00136 49 dec ecx - -; 536 : while (s->bl_count[bits] == 0) bits--; - - 00137 66 83 bc 48 3c - 0b 00 00 00 cmp WORD PTR [eax+ecx*2+2876], 0 - 00140 8d 94 48 3c 0b - 00 00 lea edx, DWORD PTR [eax+ecx*2+2876] - 00147 75 11 jne SHORT $LN8@gen_bitlen - 00149 8d a4 24 00 00 - 00 00 npad 7 -$LL9@gen_bitlen: - 00150 83 ea 02 sub edx, 2 - 00153 49 dec ecx - 00154 66 83 3a 00 cmp WORD PTR [edx], 0 - 00158 74 f6 je SHORT $LL9@gen_bitlen -$LN8@gen_bitlen: - -; 537 : s->bl_count[bits]--; /* move one leaf down the tree */ -; 538 : s->bl_count[bits+1] += 2; /* move one overflow item as its brother */ - - 0015a 66 83 84 48 3e - 0b 00 00 02 add WORD PTR [eax+ecx*2+2878], 2 - 00163 ba ff ff 00 00 mov edx, 65535 ; 0000ffffH - 00168 66 01 94 48 3c - 0b 00 00 add WORD PTR [eax+ecx*2+2876], dx - -; 539 : s->bl_count[max_length]--; - - 00170 8b ca mov ecx, edx - 00172 66 01 0f add WORD PTR [edi], cx - -; 540 : /* The brother of the overflow item also moves one step up, -; 541 : * but this does not affect bl_count[max_length] -; 542 : */ -; 543 : overflow -= 2; - - 00175 83 ee 02 sub esi, 2 - -; 544 : } while (overflow > 0); - - 00178 85 f6 test esi, esi - 0017a 7f b7 jg SHORT $LL12@gen_bitlen - -; 545 : -; 546 : /* Now recompute all bit lengths, scanning in increasing frequency. -; 547 : * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all -; 548 : * lengths instead of fixing only the wrong ones. This idea is taken -; 549 : * from 'ar' written by Haruhiko Okumura.) -; 550 : */ -; 551 : for (bits = max_length; bits != 0; bits--) { - - 0017c 8b 55 fc mov edx, DWORD PTR _max_length$[ebp] - 0017f 85 d2 test edx, edx - 00181 74 6d je SHORT $LN5@gen_bitlen - 00183 89 7d ec mov DWORD PTR tv709[ebp], edi -$LL7@gen_bitlen: - -; 552 : n = s->bl_count[bits]; - - 00186 0f b7 3f movzx edi, WORD PTR [edi] - 00189 89 7d f4 mov DWORD PTR _n$[ebp], edi - -; 553 : while (n != 0) { - - 0018c 85 ff test edi, edi - 0018e 74 54 je SHORT $LN6@gen_bitlen - -; 552 : n = s->bl_count[bits]; - - 00190 8b 4d f0 mov ecx, DWORD PTR _h$[ebp] - 00193 8d b4 88 5c 0b - 00 00 lea esi, DWORD PTR [eax+ecx*4+2908] - 0019a 8d 9b 00 00 00 - 00 npad 6 -$LL4@gen_bitlen: - -; 554 : m = s->heap[--h]; - - 001a0 8b 4e fc mov ecx, DWORD PTR [esi-4] - 001a3 ff 4d f0 dec DWORD PTR _h$[ebp] - 001a6 83 ee 04 sub esi, 4 - 001a9 89 75 e0 mov DWORD PTR tv671[ebp], esi - -; 555 : if (m > max_code) continue; - - 001ac 3b 4d e8 cmp ecx, DWORD PTR _max_code$[ebp] - 001af 7f 2f jg SHORT $LN39@gen_bitlen - -; 556 : if ((unsigned) tree[m].Len != (unsigned) bits) { - - 001b1 0f b7 7c 8b 02 movzx edi, WORD PTR [ebx+ecx*4+2] - 001b6 8d 74 8b 02 lea esi, DWORD PTR [ebx+ecx*4+2] - 001ba 3b fa cmp edi, edx - 001bc 74 19 je SHORT $LN1@gen_bitlen - -; 557 : Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits)); -; 558 : s->opt_len += ((long)bits - (long)tree[m].Len) -; 559 : *(long)tree[m].Freq; - - 001be 8b da mov ebx, edx - 001c0 2b df sub ebx, edi - 001c2 8b fb mov edi, ebx - 001c4 8b 5d d8 mov ebx, DWORD PTR _tree$[ebp] - 001c7 0f b7 0c 8b movzx ecx, WORD PTR [ebx+ecx*4] - 001cb 0f af f9 imul edi, ecx - 001ce 01 b8 a8 16 00 - 00 add DWORD PTR [eax+5800], edi - -; 560 : tree[m].Len = (ush)bits; - - 001d4 66 89 16 mov WORD PTR [esi], dx -$LN1@gen_bitlen: - -; 561 : } -; 562 : n--; - - 001d7 ff 4d f4 dec DWORD PTR _n$[ebp] - 001da 8b 7d f4 mov edi, DWORD PTR _n$[ebp] - 001dd 8b 75 e0 mov esi, DWORD PTR tv671[ebp] -$LN39@gen_bitlen: - -; 553 : while (n != 0) { - - 001e0 85 ff test edi, edi - 001e2 75 bc jne SHORT $LL4@gen_bitlen -$LN6@gen_bitlen: - -; 545 : -; 546 : /* Now recompute all bit lengths, scanning in increasing frequency. -; 547 : * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all -; 548 : * lengths instead of fixing only the wrong ones. This idea is taken -; 549 : * from 'ar' written by Haruhiko Okumura.) -; 550 : */ -; 551 : for (bits = max_length; bits != 0; bits--) { - - 001e4 8b 7d ec mov edi, DWORD PTR tv709[ebp] - 001e7 83 ef 02 sub edi, 2 - 001ea 4a dec edx - 001eb 89 7d ec mov DWORD PTR tv709[ebp], edi - 001ee 75 96 jne SHORT $LL7@gen_bitlen -$LN5@gen_bitlen: - 001f0 5f pop edi - 001f1 5e pop esi - 001f2 5b pop ebx - -; 563 : } -; 564 : } -; 565 : } - - 001f3 8b e5 mov esp, ebp - 001f5 5d pop ebp - 001f6 c3 ret 0 -_gen_bitlen ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _pqdownheap -_TEXT SEGMENT -_v$ = -4 ; size = 4 -_k$ = 8 ; size = 4 -_pqdownheap PROC ; COMDAT -; _s$ = eax -; _tree$ = edi - -; 457 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - -; 458 : int v = s->heap[k]; -; 459 : int j = k << 1; /* left son of k */ -; 460 : while (j <= s->heap_len) { - - 00004 8b 90 50 14 00 - 00 mov edx, DWORD PTR [eax+5200] - 0000a 53 push ebx - 0000b 56 push esi - 0000c 8b 75 08 mov esi, DWORD PTR _k$[ebp] - 0000f 8b 9c b0 5c 0b - 00 00 mov ebx, DWORD PTR [eax+esi*4+2908] - 00016 8d 0c 36 lea ecx, DWORD PTR [esi+esi] - 00019 89 5d fc mov DWORD PTR _v$[ebp], ebx - 0001c 3b ca cmp ecx, edx - 0001e 0f 8f a1 00 00 - 00 jg $LN14@pqdownheap -$LN17@pqdownheap: - -; 461 : /* Set j to the smallest of the two sons: */ -; 462 : if (j < s->heap_len && -; 463 : smaller(tree, s->heap[j+1], s->heap[j], s->depth)) { - - 00024 7d 35 jge SHORT $LN16@pqdownheap - 00026 8b b4 88 60 0b - 00 00 mov esi, DWORD PTR [eax+ecx*4+2912] - 0002d 8b 9c 88 5c 0b - 00 00 mov ebx, DWORD PTR [eax+ecx*4+2908] - 00034 0f b7 14 b7 movzx edx, WORD PTR [edi+esi*4] - 00038 0f b7 1c 9f movzx ebx, WORD PTR [edi+ebx*4] - 0003c 66 3b d3 cmp dx, bx - 0003f 72 19 jb SHORT $LN3@pqdownheap - 00041 75 18 jne SHORT $LN16@pqdownheap - 00043 8a 94 06 58 14 - 00 00 mov dl, BYTE PTR [esi+eax+5208] - 0004a 8b b4 88 5c 0b - 00 00 mov esi, DWORD PTR [eax+ecx*4+2908] - 00051 3a 94 06 58 14 - 00 00 cmp dl, BYTE PTR [esi+eax+5208] - 00058 77 01 ja SHORT $LN16@pqdownheap -$LN3@pqdownheap: - -; 464 : j++; - - 0005a 41 inc ecx -$LN16@pqdownheap: - -; 465 : } -; 466 : /* Exit if v is smaller than both sons */ -; 467 : if (smaller(tree, v, s->heap[j], s->depth)) break; - - 0005b 8b b4 88 5c 0b - 00 00 mov esi, DWORD PTR [eax+ecx*4+2908] - 00062 8b 55 fc mov edx, DWORD PTR _v$[ebp] - 00065 0f b7 14 97 movzx edx, WORD PTR [edi+edx*4] - 00069 0f b7 1c b7 movzx ebx, WORD PTR [edi+esi*4] - 0006d 66 3b d3 cmp dx, bx - 00070 72 40 jb SHORT $LN13@pqdownheap - 00072 75 13 jne SHORT $LN15@pqdownheap - 00074 8b 55 fc mov edx, DWORD PTR _v$[ebp] - 00077 8a 9c 02 58 14 - 00 00 mov bl, BYTE PTR [edx+eax+5208] - 0007e 3a 9c 06 58 14 - 00 00 cmp bl, BYTE PTR [esi+eax+5208] - 00085 76 2e jbe SHORT $LN12@pqdownheap -$LN15@pqdownheap: - -; 468 : -; 469 : /* Exchange v with the smallest son */ -; 470 : s->heap[k] = s->heap[j]; k = j; - - 00087 8b 55 08 mov edx, DWORD PTR _k$[ebp] - 0008a 89 b4 90 5c 0b - 00 00 mov DWORD PTR [eax+edx*4+2908], esi - 00091 8b 90 50 14 00 - 00 mov edx, DWORD PTR [eax+5200] - 00097 8b f1 mov esi, ecx - -; 471 : -; 472 : /* And continue down the tree, setting j to the left son of k */ -; 473 : j <<= 1; - - 00099 03 c9 add ecx, ecx - 0009b 89 75 08 mov DWORD PTR _k$[ebp], esi - 0009e 3b ca cmp ecx, edx - 000a0 7e 82 jle SHORT $LN17@pqdownheap - -; 474 : } -; 475 : s->heap[k] = v; - - 000a2 8b 4d fc mov ecx, DWORD PTR _v$[ebp] - 000a5 89 8c b0 5c 0b - 00 00 mov DWORD PTR [eax+esi*4+2908], ecx - 000ac 5e pop esi - 000ad 5b pop ebx - -; 476 : } - - 000ae 8b e5 mov esp, ebp - 000b0 5d pop ebp - 000b1 c3 ret 0 -$LN13@pqdownheap: - -; 474 : } -; 475 : s->heap[k] = v; - - 000b2 8b 55 fc mov edx, DWORD PTR _v$[ebp] -$LN12@pqdownheap: - 000b5 8b 4d 08 mov ecx, DWORD PTR _k$[ebp] - 000b8 5e pop esi - 000b9 89 94 88 5c 0b - 00 00 mov DWORD PTR [eax+ecx*4+2908], edx - 000c0 5b pop ebx - -; 476 : } - - 000c1 8b e5 mov esp, ebp - 000c3 5d pop ebp - 000c4 c3 ret 0 -$LN14@pqdownheap: - -; 474 : } -; 475 : s->heap[k] = v; - - 000c5 89 9c b0 5c 0b - 00 00 mov DWORD PTR [eax+esi*4+2908], ebx - 000cc 5e pop esi - 000cd 5b pop ebx - -; 476 : } - - 000ce 8b e5 mov esp, ebp - 000d0 5d pop ebp - 000d1 c3 ret 0 -_pqdownheap ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _init_block -_TEXT SEGMENT -_init_block PROC ; COMDAT -; _s$ = edx - -; 412 : int n; /* iterates over tree elements */ -; 413 : -; 414 : /* Initialize the trees. */ -; 415 : for (n = 0; n < L_CODES; n++) s->dyn_ltree[n].Freq = 0; - - 00000 8d 82 94 00 00 - 00 lea eax, DWORD PTR [edx+148] - 00006 b9 1e 01 00 00 mov ecx, 286 ; 0000011eH - 0000b 56 push esi - 0000c 8d 64 24 00 npad 4 -$LL9@init_block: - 00010 33 f6 xor esi, esi - 00012 66 89 30 mov WORD PTR [eax], si - 00015 83 c0 04 add eax, 4 - 00018 49 dec ecx - 00019 75 f5 jne SHORT $LL9@init_block - -; 416 : for (n = 0; n < D_CODES; n++) s->dyn_dtree[n].Freq = 0; - - 0001b 8d 82 88 09 00 - 00 lea eax, DWORD PTR [edx+2440] - 00021 b9 1e 00 00 00 mov ecx, 30 ; 0000001eH -$LL6@init_block: - 00026 33 f6 xor esi, esi - 00028 66 89 30 mov WORD PTR [eax], si - 0002b 83 c0 04 add eax, 4 - 0002e 49 dec ecx - 0002f 75 f5 jne SHORT $LL6@init_block - -; 417 : for (n = 0; n < BL_CODES; n++) s->bl_tree[n].Freq = 0; - - 00031 8d 82 7c 0a 00 - 00 lea eax, DWORD PTR [edx+2684] - 00037 b9 13 00 00 00 mov ecx, 19 ; 00000013H - 0003c 8d 64 24 00 npad 4 -$LL3@init_block: - 00040 33 f6 xor esi, esi - 00042 66 89 30 mov WORD PTR [eax], si - 00045 83 c0 04 add eax, 4 - 00048 49 dec ecx - 00049 75 f5 jne SHORT $LL3@init_block - -; 418 : -; 419 : s->dyn_ltree[END_BLOCK].Freq = 1; - - 0004b b8 01 00 00 00 mov eax, 1 - 00050 66 89 82 94 04 - 00 00 mov WORD PTR [edx+1172], ax - -; 420 : s->opt_len = s->static_len = 0L; - - 00057 33 c0 xor eax, eax - 00059 89 82 ac 16 00 - 00 mov DWORD PTR [edx+5804], eax - 0005f 89 82 a8 16 00 - 00 mov DWORD PTR [edx+5800], eax - -; 421 : s->last_lit = s->matches = 0; - - 00065 89 82 b0 16 00 - 00 mov DWORD PTR [edx+5808], eax - 0006b 89 82 a0 16 00 - 00 mov DWORD PTR [edx+5792], eax - 00071 5e pop esi - -; 422 : } - - 00072 c3 ret 0 -_init_block ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _tr_static_init -_TEXT SEGMENT -_tr_static_init PROC ; COMDAT - -; 236 : #if defined(GEN_TREES_H) || !defined(STDC) -; 237 : static int static_init_done = 0; -; 238 : int n; /* iterates over tree elements */ -; 239 : int bits; /* bit counter */ -; 240 : int length; /* length value */ -; 241 : int code; /* code value */ -; 242 : int dist; /* distance index */ -; 243 : ush bl_count[MAX_BITS+1]; -; 244 : /* number of codes at each bit length for an optimal tree */ -; 245 : -; 246 : if (static_init_done) return; -; 247 : -; 248 : /* For some embedded targets, global variables are not initialized: */ -; 249 : #ifdef NO_INIT_GLOBAL_POINTERS -; 250 : static_l_desc.static_tree = static_ltree; -; 251 : static_l_desc.extra_bits = extra_lbits; -; 252 : static_d_desc.static_tree = static_dtree; -; 253 : static_d_desc.extra_bits = extra_dbits; -; 254 : static_bl_desc.extra_bits = extra_blbits; -; 255 : #endif -; 256 : -; 257 : /* Initialize the mapping length (0..255) -> length code (0..28) */ -; 258 : length = 0; -; 259 : for (code = 0; code < LENGTH_CODES-1; code++) { -; 260 : base_length[code] = length; -; 261 : for (n = 0; n < (1< dist code (0..29) */ -; 273 : dist = 0; -; 274 : for (code = 0 ; code < 16; code++) { -; 275 : base_dist[code] = dist; -; 276 : for (n = 0; n < (1<>= 7; /* from now on, all distances are divided by 128 */ -; 282 : for ( ; code < D_CODES; code++) { -; 283 : base_dist[code] = dist << 7; -; 284 : for (n = 0; n < (1<<(extra_dbits[code]-7)); n++) { -; 285 : _dist_code[256 + dist++] = (uch)code; -; 286 : } -; 287 : } -; 288 : Assert (dist == 256, "tr_static_init: 256+dist != 512"); -; 289 : -; 290 : /* Construct the codes of the static literal tree */ -; 291 : for (bits = 0; bits <= MAX_BITS; bits++) bl_count[bits] = 0; -; 292 : n = 0; -; 293 : while (n <= 143) static_ltree[n++].Len = 8, bl_count[8]++; -; 294 : while (n <= 255) static_ltree[n++].Len = 9, bl_count[9]++; -; 295 : while (n <= 279) static_ltree[n++].Len = 7, bl_count[7]++; -; 296 : while (n <= 287) static_ltree[n++].Len = 8, bl_count[8]++; -; 297 : /* Codes 286 and 287 do not exist, but we must include them in the -; 298 : * tree construction to get a canonical Huffman tree (longest code -; 299 : * all ones) -; 300 : */ -; 301 : gen_codes((ct_data *)static_ltree, L_CODES+1, bl_count); -; 302 : -; 303 : /* The static distance tree is trivial: */ -; 304 : for (n = 0; n < D_CODES; n++) { -; 305 : static_dtree[n].Len = 5; -; 306 : static_dtree[n].Code = bi_reverse((unsigned)n, 5); -; 307 : } -; 308 : static_init_done = 1; -; 309 : -; 310 : # ifdef GEN_TREES_H -; 311 : gen_trees_header(); -; 312 : # endif -; 313 : #endif /* defined(GEN_TREES_H) || !defined(STDC) */ -; 314 : } - - 00000 c3 ret 0 -_tr_static_init ENDP -; Function compile flags: /Ogtp -; COMDAT _copy_block -_TEXT SEGMENT -_copy_block PROC ; COMDAT -; _s$ = eax -; _buf$ = edx -; _len$ = ecx - -; 1208 : { - - 00000 53 push ebx - 00001 56 push esi - 00002 57 push edi - 00003 8b d9 mov ebx, ecx - 00005 8b fa mov edi, edx - -; 1209 : bi_windup(s); /* align on byte boundary */ - - 00007 e8 00 00 00 00 call _bi_windup - -; 1210 : -; 1211 : if (header) { -; 1212 : put_short(s, (ush)len); - - 0000c 8b 48 14 mov ecx, DWORD PTR [eax+20] - 0000f 8b 50 08 mov edx, DWORD PTR [eax+8] - 00012 88 1c 11 mov BYTE PTR [ecx+edx], bl - 00015 ff 40 14 inc DWORD PTR [eax+20] - 00018 8b 70 14 mov esi, DWORD PTR [eax+20] - 0001b 8b 50 08 mov edx, DWORD PTR [eax+8] - 0001e 8b cb mov ecx, ebx - 00020 c1 e9 08 shr ecx, 8 - 00023 88 0c 16 mov BYTE PTR [esi+edx], cl - 00026 ff 40 14 inc DWORD PTR [eax+20] - 00029 8b 70 14 mov esi, DWORD PTR [eax+20] - -; 1213 : put_short(s, (ush)~len); - - 0002c 8b 50 08 mov edx, DWORD PTR [eax+8] - 0002f 8a cb mov cl, bl - 00031 f6 d1 not cl - 00033 88 0c 16 mov BYTE PTR [esi+edx], cl - 00036 ff 40 14 inc DWORD PTR [eax+20] - 00039 8b 70 14 mov esi, DWORD PTR [eax+20] - 0003c 8b 50 08 mov edx, DWORD PTR [eax+8] - 0003f 8b cb mov ecx, ebx - 00041 f7 d1 not ecx - 00043 c1 e9 08 shr ecx, 8 - 00046 88 0c 16 mov BYTE PTR [esi+edx], cl - 00049 ff 40 14 inc DWORD PTR [eax+20] - 0004c 8b 70 14 mov esi, DWORD PTR [eax+20] - -; 1214 : #ifdef DEBUG -; 1215 : s->bits_sent += 2*16; -; 1216 : #endif -; 1217 : } -; 1218 : #ifdef DEBUG -; 1219 : s->bits_sent += (ulg)len<<3; -; 1220 : #endif -; 1221 : while (len--) { - - 0004f 85 db test ebx, ebx - 00051 74 12 je SHORT $LN7@copy_block -$LL2@copy_block: - -; 1222 : put_byte(s, *buf++); - - 00053 8a 17 mov dl, BYTE PTR [edi] - 00055 8b 48 08 mov ecx, DWORD PTR [eax+8] - 00058 88 14 0e mov BYTE PTR [esi+ecx], dl - 0005b ff 40 14 inc DWORD PTR [eax+20] - 0005e 8b 70 14 mov esi, DWORD PTR [eax+20] - 00061 47 inc edi - 00062 4b dec ebx - 00063 75 ee jne SHORT $LL2@copy_block -$LN7@copy_block: - 00065 5f pop edi - 00066 5e pop esi - 00067 5b pop ebx - -; 1223 : } -; 1224 : } - - 00068 c3 ret 0 -_copy_block ENDP -_TEXT ENDS -PUBLIC __tr_stored_block -; Function compile flags: /Ogtp -; COMDAT __tr_stored_block -_TEXT SEGMENT -_buf$ = 8 ; size = 4 -_stored_len$ = 12 ; size = 4 -__tr_stored_block PROC ; COMDAT -; _s$ = eax -; _last$ = ecx - -; 870 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - 00004 8b f1 mov esi, ecx - -; 871 : send_bits(s, (STORED_BLOCK<<1)+last, 3); /* send block type */ - - 00006 8b 88 bc 16 00 - 00 mov ecx, DWORD PTR [eax+5820] - 0000c 83 f9 0d cmp ecx, 13 ; 0000000dH - 0000f 7e 5f jle SHORT $LN2@tr_stored_ - 00011 66 8b d6 mov dx, si - 00014 66 d3 e2 shl dx, cl - 00017 8b 48 08 mov ecx, DWORD PTR [eax+8] - 0001a 53 push ebx - 0001b 66 09 90 b8 16 - 00 00 or WORD PTR [eax+5816], dx - 00022 0f b6 98 b8 16 - 00 00 movzx ebx, BYTE PTR [eax+5816] - 00029 8b 50 14 mov edx, DWORD PTR [eax+20] - 0002c 88 1c 11 mov BYTE PTR [ecx+edx], bl - 0002f ff 40 14 inc DWORD PTR [eax+20] - 00032 0f b6 98 b9 16 - 00 00 movzx ebx, BYTE PTR [eax+5817] - 00039 8b 48 14 mov ecx, DWORD PTR [eax+20] - 0003c 8b 50 08 mov edx, DWORD PTR [eax+8] - 0003f 88 1c 11 mov BYTE PTR [ecx+edx], bl - 00042 8b 90 bc 16 00 - 00 mov edx, DWORD PTR [eax+5820] - 00048 ff 40 14 inc DWORD PTR [eax+20] - 0004b b1 10 mov cl, 16 ; 00000010H - 0004d 2a ca sub cl, dl - 0004f 66 d3 ee shr si, cl - -; 872 : #ifdef DEBUG -; 873 : s->compressed_len = (s->compressed_len + 3 + 7) & (ulg)~7L; -; 874 : s->compressed_len += (stored_len + 4) << 3; -; 875 : #endif -; 876 : copy_block(s, buf, (unsigned)stored_len, 1); /* with header */ - - 00052 8b 4d 0c mov ecx, DWORD PTR _stored_len$[ebp] - 00055 83 c2 f3 add edx, -13 ; fffffff3H - 00058 5b pop ebx - 00059 66 89 b0 b8 16 - 00 00 mov WORD PTR [eax+5816], si - 00060 89 90 bc 16 00 - 00 mov DWORD PTR [eax+5820], edx - 00066 8b 55 08 mov edx, DWORD PTR _buf$[ebp] - 00069 5e pop esi - -; 877 : } - - 0006a 5d pop ebp - -; 872 : #ifdef DEBUG -; 873 : s->compressed_len = (s->compressed_len + 3 + 7) & (ulg)~7L; -; 874 : s->compressed_len += (stored_len + 4) << 3; -; 875 : #endif -; 876 : copy_block(s, buf, (unsigned)stored_len, 1); /* with header */ - - 0006b e9 00 00 00 00 jmp _copy_block -$LN2@tr_stored_: - 00070 8b 55 08 mov edx, DWORD PTR _buf$[ebp] - 00073 66 d3 e6 shl si, cl - 00076 66 09 b0 b8 16 - 00 00 or WORD PTR [eax+5816], si - 0007d 83 c1 03 add ecx, 3 - 00080 89 88 bc 16 00 - 00 mov DWORD PTR [eax+5820], ecx - 00086 8b 4d 0c mov ecx, DWORD PTR _stored_len$[ebp] - 00089 5e pop esi - -; 877 : } - - 0008a 5d pop ebp - -; 872 : #ifdef DEBUG -; 873 : s->compressed_len = (s->compressed_len + 3 + 7) & (ulg)~7L; -; 874 : s->compressed_len += (stored_len + 4) << 3; -; 875 : #endif -; 876 : copy_block(s, buf, (unsigned)stored_len, 1); /* with header */ - - 0008b e9 00 00 00 00 jmp _copy_block -__tr_stored_block ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _send_all_trees -_TEXT SEGMENT -tv556 = -4 ; size = 4 -tv555 = -4 ; size = 4 -tv554 = -4 ; size = 4 -_lcodes$ = 8 ; size = 4 -_dcodes$ = 12 ; size = 4 -_blcodes$ = 16 ; size = 4 -_send_all_trees PROC ; COMDAT -; _s$ = esi - -; 839 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - -; 840 : int rank; /* index in bl_order */ -; 841 : -; 842 : Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes"); -; 843 : Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES, -; 844 : "too many codes"); -; 845 : Tracev((stderr, "\nbl counts: ")); -; 846 : send_bits(s, lcodes-257, 5); /* not +255 as stated in appnote.txt */ - - 00004 8b 45 08 mov eax, DWORD PTR _lcodes$[ebp] - 00007 8b 8e bc 16 00 - 00 mov ecx, DWORD PTR [esi+5820] - 0000d 53 push ebx - 0000e 05 ff fe ff ff add eax, -257 ; fffffeffH - 00013 57 push edi - 00014 bb 01 00 00 00 mov ebx, 1 - 00019 83 f9 0b cmp ecx, 11 ; 0000000bH - 0001c 7e 56 jle SHORT $LN11@send_all_t - 0001e 66 8b d0 mov dx, ax - 00021 66 d3 e2 shl dx, cl - 00024 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 00027 89 45 fc mov DWORD PTR tv556[ebp], eax - 0002a 66 09 96 b8 16 - 00 00 or WORD PTR [esi+5816], dx - 00031 8b 56 08 mov edx, DWORD PTR [esi+8] - 00034 8a 86 b8 16 00 - 00 mov al, BYTE PTR [esi+5816] - 0003a 88 04 11 mov BYTE PTR [ecx+edx], al - 0003d 01 5e 14 add DWORD PTR [esi+20], ebx - 00040 8a 96 b9 16 00 - 00 mov dl, BYTE PTR [esi+5817] - 00046 8b 7e 14 mov edi, DWORD PTR [esi+20] - 00049 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 0004c 8b 45 fc mov eax, DWORD PTR tv556[ebp] - 0004f 88 14 0f mov BYTE PTR [edi+ecx], dl - 00052 8b 96 bc 16 00 - 00 mov edx, DWORD PTR [esi+5820] - 00058 01 5e 14 add DWORD PTR [esi+20], ebx - 0005b b1 10 mov cl, 16 ; 00000010H - 0005d 2a ca sub cl, dl - 0005f 66 d3 e8 shr ax, cl - 00062 83 c2 f5 add edx, -11 ; fffffff5H - 00065 89 96 bc 16 00 - 00 mov DWORD PTR [esi+5820], edx - 0006b 66 89 86 b8 16 - 00 00 mov WORD PTR [esi+5816], ax - 00072 eb 13 jmp SHORT $LN10@send_all_t -$LN11@send_all_t: - 00074 66 d3 e0 shl ax, cl - 00077 66 09 86 b8 16 - 00 00 or WORD PTR [esi+5816], ax - 0007e 83 c1 05 add ecx, 5 - 00081 89 8e bc 16 00 - 00 mov DWORD PTR [esi+5820], ecx -$LN10@send_all_t: - -; 847 : send_bits(s, dcodes-1, 5); - - 00087 8b 45 0c mov eax, DWORD PTR _dcodes$[ebp] - 0008a 8b 8e bc 16 00 - 00 mov ecx, DWORD PTR [esi+5820] - 00090 48 dec eax - 00091 83 f9 0b cmp ecx, 11 ; 0000000bH - 00094 7e 56 jle SHORT $LN9@send_all_t - 00096 66 8b d0 mov dx, ax - 00099 66 d3 e2 shl dx, cl - 0009c 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 0009f 89 45 fc mov DWORD PTR tv555[ebp], eax - 000a2 66 09 96 b8 16 - 00 00 or WORD PTR [esi+5816], dx - 000a9 8b 56 08 mov edx, DWORD PTR [esi+8] - 000ac 8a 86 b8 16 00 - 00 mov al, BYTE PTR [esi+5816] - 000b2 88 04 11 mov BYTE PTR [ecx+edx], al - 000b5 01 5e 14 add DWORD PTR [esi+20], ebx - 000b8 8a 96 b9 16 00 - 00 mov dl, BYTE PTR [esi+5817] - 000be 8b 7e 14 mov edi, DWORD PTR [esi+20] - 000c1 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 000c4 8b 45 fc mov eax, DWORD PTR tv555[ebp] - 000c7 88 14 0f mov BYTE PTR [edi+ecx], dl - 000ca 8b 96 bc 16 00 - 00 mov edx, DWORD PTR [esi+5820] - 000d0 01 5e 14 add DWORD PTR [esi+20], ebx - 000d3 b1 10 mov cl, 16 ; 00000010H - 000d5 2a ca sub cl, dl - 000d7 66 d3 e8 shr ax, cl - 000da 83 c2 f5 add edx, -11 ; fffffff5H - 000dd 89 96 bc 16 00 - 00 mov DWORD PTR [esi+5820], edx - 000e3 66 89 86 b8 16 - 00 00 mov WORD PTR [esi+5816], ax - 000ea eb 13 jmp SHORT $LN8@send_all_t -$LN9@send_all_t: - 000ec 66 d3 e0 shl ax, cl - 000ef 66 09 86 b8 16 - 00 00 or WORD PTR [esi+5816], ax - 000f6 83 c1 05 add ecx, 5 - 000f9 89 8e bc 16 00 - 00 mov DWORD PTR [esi+5820], ecx -$LN8@send_all_t: - -; 848 : send_bits(s, blcodes-4, 4); /* not -3 as stated in appnote.txt */ - - 000ff 8b 45 10 mov eax, DWORD PTR _blcodes$[ebp] - 00102 8b 8e bc 16 00 - 00 mov ecx, DWORD PTR [esi+5820] - 00108 83 c0 fc add eax, -4 ; fffffffcH - 0010b 83 f9 0c cmp ecx, 12 ; 0000000cH - 0010e 7e 56 jle SHORT $LN7@send_all_t - 00110 66 8b d0 mov dx, ax - 00113 66 d3 e2 shl dx, cl - 00116 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 00119 89 45 fc mov DWORD PTR tv554[ebp], eax - 0011c 66 09 96 b8 16 - 00 00 or WORD PTR [esi+5816], dx - 00123 8b 56 08 mov edx, DWORD PTR [esi+8] - 00126 8a 86 b8 16 00 - 00 mov al, BYTE PTR [esi+5816] - 0012c 88 04 11 mov BYTE PTR [ecx+edx], al - 0012f 01 5e 14 add DWORD PTR [esi+20], ebx - 00132 8a 96 b9 16 00 - 00 mov dl, BYTE PTR [esi+5817] - 00138 8b 7e 14 mov edi, DWORD PTR [esi+20] - 0013b 8b 4e 08 mov ecx, DWORD PTR [esi+8] - 0013e 8b 45 fc mov eax, DWORD PTR tv554[ebp] - 00141 88 14 0f mov BYTE PTR [edi+ecx], dl - 00144 8b 96 bc 16 00 - 00 mov edx, DWORD PTR [esi+5820] - 0014a 01 5e 14 add DWORD PTR [esi+20], ebx - 0014d b1 10 mov cl, 16 ; 00000010H - 0014f 2a ca sub cl, dl - 00151 66 d3 e8 shr ax, cl - 00154 83 c2 f4 add edx, -12 ; fffffff4H - 00157 89 96 bc 16 00 - 00 mov DWORD PTR [esi+5820], edx - 0015d 66 89 86 b8 16 - 00 00 mov WORD PTR [esi+5816], ax - 00164 eb 13 jmp SHORT $LN6@send_all_t -$LN7@send_all_t: - 00166 66 d3 e0 shl ax, cl - 00169 66 09 86 b8 16 - 00 00 or WORD PTR [esi+5816], ax - 00170 83 c1 04 add ecx, 4 - 00173 89 8e bc 16 00 - 00 mov DWORD PTR [esi+5820], ecx -$LN6@send_all_t: - -; 849 : for (rank = 0; rank < blcodes; rank++) { - - 00179 33 ff xor edi, edi - 0017b 39 7d 10 cmp DWORD PTR _blcodes$[ebp], edi - 0017e 0f 8e 9e 00 00 - 00 jle $LN3@send_all_t -$LL5@send_all_t: - -; 850 : Tracev((stderr, "\nbl code %2d ", bl_order[rank])); -; 851 : send_bits(s, s->bl_tree[bl_order[rank]].Len, 3); - - 00184 8b 8e bc 16 00 - 00 mov ecx, DWORD PTR [esi+5820] - 0018a 83 f9 0d cmp ecx, 13 ; 0000000dH - 0018d 7e 66 jle SHORT $LN2@send_all_t - 0018f 0f b6 97 00 00 - 00 00 movzx edx, BYTE PTR _bl_order[edi] - 00196 0f b7 84 96 7e - 0a 00 00 movzx eax, WORD PTR [esi+edx*4+2686] - 0019e 66 8b d0 mov dx, ax - 001a1 66 d3 e2 shl dx, cl - 001a4 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 001a7 66 09 96 b8 16 - 00 00 or WORD PTR [esi+5816], dx - 001ae 0f b6 9e b8 16 - 00 00 movzx ebx, BYTE PTR [esi+5816] - 001b5 8b 56 08 mov edx, DWORD PTR [esi+8] - 001b8 88 1c 11 mov BYTE PTR [ecx+edx], bl - 001bb ff 46 14 inc DWORD PTR [esi+20] - 001be 0f b6 9e b9 16 - 00 00 movzx ebx, BYTE PTR [esi+5817] - 001c5 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 001c8 8b 56 08 mov edx, DWORD PTR [esi+8] - 001cb 88 1c 11 mov BYTE PTR [ecx+edx], bl - 001ce 8b 96 bc 16 00 - 00 mov edx, DWORD PTR [esi+5820] - 001d4 b1 10 mov cl, 16 ; 00000010H - 001d6 2a ca sub cl, dl - 001d8 66 d3 e8 shr ax, cl - 001db bb 01 00 00 00 mov ebx, 1 - 001e0 01 5e 14 add DWORD PTR [esi+20], ebx - 001e3 83 c2 f3 add edx, -13 ; fffffff3H - 001e6 66 89 86 b8 16 - 00 00 mov WORD PTR [esi+5816], ax - 001ed 89 96 bc 16 00 - 00 mov DWORD PTR [esi+5820], edx - 001f3 eb 22 jmp SHORT $LN4@send_all_t -$LN2@send_all_t: - 001f5 0f b6 87 00 00 - 00 00 movzx eax, BYTE PTR _bl_order[edi] - 001fc 66 8b 94 86 7e - 0a 00 00 mov dx, WORD PTR [esi+eax*4+2686] - 00204 66 d3 e2 shl dx, cl - 00207 66 09 96 b8 16 - 00 00 or WORD PTR [esi+5816], dx - 0020e 83 c1 03 add ecx, 3 - 00211 89 8e bc 16 00 - 00 mov DWORD PTR [esi+5820], ecx -$LN4@send_all_t: - -; 849 : for (rank = 0; rank < blcodes; rank++) { - - 00217 03 fb add edi, ebx - 00219 3b 7d 10 cmp edi, DWORD PTR _blcodes$[ebp] - 0021c 0f 8c 62 ff ff - ff jl $LL5@send_all_t -$LN3@send_all_t: - -; 852 : } -; 853 : Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent)); -; 854 : -; 855 : send_tree(s, (ct_data *)s->dyn_ltree, lcodes-1); /* literal tree */ - - 00222 8b 4d 08 mov ecx, DWORD PTR _lcodes$[ebp] - 00225 49 dec ecx - 00226 8d 96 94 00 00 - 00 lea edx, DWORD PTR [esi+148] - 0022c 8b c6 mov eax, esi - 0022e e8 00 00 00 00 call _send_tree - -; 856 : Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent)); -; 857 : -; 858 : send_tree(s, (ct_data *)s->dyn_dtree, dcodes-1); /* distance tree */ - - 00233 8b 4d 0c mov ecx, DWORD PTR _dcodes$[ebp] - 00236 49 dec ecx - 00237 8d 96 88 09 00 - 00 lea edx, DWORD PTR [esi+2440] - 0023d 8b c6 mov eax, esi - 0023f e8 00 00 00 00 call _send_tree - 00244 5f pop edi - 00245 5b pop ebx - -; 859 : Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent)); -; 860 : } - - 00246 8b e5 mov esp, ebp - 00248 5d pop ebp - 00249 c3 ret 0 -_send_all_trees ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _build_tree -_TEXT SEGMENT -_node$ = -8 ; size = 4 -_elems$ = -8 ; size = 4 -_max_code$ = -4 ; size = 4 -_desc$ = 8 ; size = 4 -_build_tree PROC ; COMDAT -; _s$ = esi - -; 620 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 08 sub esp, 8 - -; 621 : ct_data *tree = desc->dyn_tree; - - 00006 8b 45 08 mov eax, DWORD PTR _desc$[ebp] - 00009 53 push ebx - 0000a 57 push edi - 0000b 8b 38 mov edi, DWORD PTR [eax] - -; 622 : const ct_data *stree = desc->stat_desc->static_tree; - - 0000d 8b 40 08 mov eax, DWORD PTR [eax+8] - -; 623 : int elems = desc->stat_desc->elems; - - 00010 8b 50 0c mov edx, DWORD PTR [eax+12] - 00013 8b 18 mov ebx, DWORD PTR [eax] - -; 624 : int n, m; /* iterate over heap elements */ -; 625 : int max_code = -1; /* largest code with non zero frequency */ - - 00015 83 c9 ff or ecx, -1 - -; 626 : int node; /* new node being created */ -; 627 : -; 628 : /* Construct the initial heap, with least frequent element in -; 629 : * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1]. -; 630 : * heap[0] is not used. -; 631 : */ -; 632 : s->heap_len = 0, s->heap_max = HEAP_SIZE; -; 633 : -; 634 : for (n = 0; n < elems; n++) { - - 00018 33 c0 xor eax, eax - 0001a 89 55 f8 mov DWORD PTR _elems$[ebp], edx - 0001d 89 4d fc mov DWORD PTR _max_code$[ebp], ecx - 00020 c7 86 50 14 00 - 00 00 00 00 00 mov DWORD PTR [esi+5200], 0 - 0002a c7 86 54 14 00 - 00 3d 02 00 00 mov DWORD PTR [esi+5204], 573 ; 0000023dH - 00034 85 d2 test edx, edx - 00036 7e 36 jle SHORT $LN22@build_tree -$LL14@build_tree: - -; 635 : if (tree[n].Freq != 0) { - - 00038 66 83 3c 87 00 cmp WORD PTR [edi+eax*4], 0 - 0003d 74 22 je SHORT $LN11@build_tree - -; 636 : s->heap[++(s->heap_len)] = max_code = n; - - 0003f ff 86 50 14 00 - 00 inc DWORD PTR [esi+5200] - 00045 8b 96 50 14 00 - 00 mov edx, DWORD PTR [esi+5200] - 0004b 89 84 96 5c 0b - 00 00 mov DWORD PTR [esi+edx*4+2908], eax - 00052 89 45 fc mov DWORD PTR _max_code$[ebp], eax - -; 637 : s->depth[n] = 0; - - 00055 c6 84 30 58 14 - 00 00 00 mov BYTE PTR [eax+esi+5208], 0 - -; 638 : } else { - - 0005d 8b c8 mov ecx, eax - 0005f eb 07 jmp SHORT $LN13@build_tree -$LN11@build_tree: - -; 639 : tree[n].Len = 0; - - 00061 33 d2 xor edx, edx - 00063 66 89 54 87 02 mov WORD PTR [edi+eax*4+2], dx -$LN13@build_tree: - -; 626 : int node; /* new node being created */ -; 627 : -; 628 : /* Construct the initial heap, with least frequent element in -; 629 : * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1]. -; 630 : * heap[0] is not used. -; 631 : */ -; 632 : s->heap_len = 0, s->heap_max = HEAP_SIZE; -; 633 : -; 634 : for (n = 0; n < elems; n++) { - - 00068 40 inc eax - 00069 3b 45 f8 cmp eax, DWORD PTR _elems$[ebp] - 0006c 7c ca jl SHORT $LL14@build_tree -$LN22@build_tree: - -; 640 : } -; 641 : } -; 642 : -; 643 : /* The pkzip format requires that at least one distance code exists, -; 644 : * and that at least one bit should be sent even if there is only one -; 645 : * possible code. So to avoid special checks later on we force at least -; 646 : * two codes of non zero frequency. -; 647 : */ -; 648 : while (s->heap_len < 2) { - - 0006e 83 be 50 14 00 - 00 02 cmp DWORD PTR [esi+5200], 2 - 00075 7d 51 jge SHORT $LN8@build_tree -$LL9@build_tree: - -; 649 : node = s->heap[++(s->heap_len)] = (max_code < 2 ? ++max_code : 0); - - 00077 83 f9 02 cmp ecx, 2 - 0007a 7d 05 jge SHORT $LN17@build_tree - 0007c 41 inc ecx - 0007d 8b c1 mov eax, ecx - 0007f eb 02 jmp SHORT $LN18@build_tree -$LN17@build_tree: - 00081 33 c0 xor eax, eax -$LN18@build_tree: - 00083 ff 86 50 14 00 - 00 inc DWORD PTR [esi+5200] - 00089 8b 96 50 14 00 - 00 mov edx, DWORD PTR [esi+5200] - 0008f 89 84 96 5c 0b - 00 00 mov DWORD PTR [esi+edx*4+2908], eax - -; 650 : tree[node].Freq = 1; - - 00096 ba 01 00 00 00 mov edx, 1 - 0009b 66 89 14 87 mov WORD PTR [edi+eax*4], dx - -; 651 : s->depth[node] = 0; - - 0009f c6 84 06 58 14 - 00 00 00 mov BYTE PTR [esi+eax+5208], 0 - -; 652 : s->opt_len--; if (stree) s->static_len -= stree[node].Len; - - 000a7 ff 8e a8 16 00 - 00 dec DWORD PTR [esi+5800] - 000ad 85 db test ebx, ebx - 000af 74 0b je SHORT $LN7@build_tree - 000b1 0f b7 44 83 02 movzx eax, WORD PTR [ebx+eax*4+2] - 000b6 29 86 ac 16 00 - 00 sub DWORD PTR [esi+5804], eax -$LN7@build_tree: - -; 640 : } -; 641 : } -; 642 : -; 643 : /* The pkzip format requires that at least one distance code exists, -; 644 : * and that at least one bit should be sent even if there is only one -; 645 : * possible code. So to avoid special checks later on we force at least -; 646 : * two codes of non zero frequency. -; 647 : */ -; 648 : while (s->heap_len < 2) { - - 000bc 83 be 50 14 00 - 00 02 cmp DWORD PTR [esi+5200], 2 - 000c3 7c b2 jl SHORT $LL9@build_tree - -; 649 : node = s->heap[++(s->heap_len)] = (max_code < 2 ? ++max_code : 0); - - 000c5 89 4d fc mov DWORD PTR _max_code$[ebp], ecx -$LN8@build_tree: - -; 653 : /* node is 0 or 1 so it does not have extra bits */ -; 654 : } -; 655 : desc->max_code = max_code; - - 000c8 8b 55 08 mov edx, DWORD PTR _desc$[ebp] - 000cb 89 4a 04 mov DWORD PTR [edx+4], ecx - -; 656 : -; 657 : /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree, -; 658 : * establish sub-heaps of increasing lengths: -; 659 : */ -; 660 : for (n = s->heap_len/2; n >= 1; n--) pqdownheap(s, tree, n); - - 000ce 8b 86 50 14 00 - 00 mov eax, DWORD PTR [esi+5200] - 000d4 99 cdq - 000d5 2b c2 sub eax, edx - 000d7 8b d8 mov ebx, eax - 000d9 d1 fb sar ebx, 1 - 000db 83 fb 01 cmp ebx, 1 - 000de 7c 11 jl SHORT $LN4@build_tree -$LL6@build_tree: - 000e0 53 push ebx - 000e1 8b c6 mov eax, esi - 000e3 e8 00 00 00 00 call _pqdownheap - 000e8 4b dec ebx - 000e9 83 c4 04 add esp, 4 - 000ec 83 fb 01 cmp ebx, 1 - 000ef 7d ef jge SHORT $LL6@build_tree -$LN4@build_tree: - -; 661 : -; 662 : /* Construct the Huffman tree by repeatedly combining the least two -; 663 : * frequent nodes. -; 664 : */ -; 665 : node = elems; /* next internal node of the tree */ - - 000f1 8b 45 f8 mov eax, DWORD PTR _elems$[ebp] - 000f4 89 45 f8 mov DWORD PTR _node$[ebp], eax - 000f7 eb 07 8d a4 24 - 00 00 00 00 npad 9 -$LL3@build_tree: - -; 666 : do { -; 667 : pqremove(s, tree, n); /* n = node of least frequency */ - - 00100 8b 86 50 14 00 - 00 mov eax, DWORD PTR [esi+5200] - 00106 8b 8c 86 5c 0b - 00 00 mov ecx, DWORD PTR [esi+eax*4+2908] - 0010d 8b 9e 60 0b 00 - 00 mov ebx, DWORD PTR [esi+2912] - 00113 48 dec eax - 00114 89 86 50 14 00 - 00 mov DWORD PTR [esi+5200], eax - 0011a 6a 01 push 1 - 0011c 8b c6 mov eax, esi - 0011e 89 8e 60 0b 00 - 00 mov DWORD PTR [esi+2912], ecx - 00124 e8 00 00 00 00 call _pqdownheap - -; 668 : m = s->heap[SMALLEST]; /* m = node of next least frequency */ - - 00129 8b 86 60 0b 00 - 00 mov eax, DWORD PTR [esi+2912] - -; 669 : -; 670 : s->heap[--(s->heap_max)] = n; /* keep the nodes sorted by frequency */ - - 0012f 83 ca ff or edx, -1 - 00132 01 96 54 14 00 - 00 add DWORD PTR [esi+5204], edx - 00138 8b 8e 54 14 00 - 00 mov ecx, DWORD PTR [esi+5204] - 0013e 89 9c 8e 5c 0b - 00 00 mov DWORD PTR [esi+ecx*4+2908], ebx - -; 671 : s->heap[--(s->heap_max)] = m; - - 00145 01 96 54 14 00 - 00 add DWORD PTR [esi+5204], edx - 0014b 8b 8e 54 14 00 - 00 mov ecx, DWORD PTR [esi+5204] - 00151 89 84 8e 5c 0b - 00 00 mov DWORD PTR [esi+ecx*4+2908], eax - -; 672 : -; 673 : /* Create a new node father of n and m */ -; 674 : tree[node].Freq = tree[n].Freq + tree[m].Freq; - - 00158 66 8b 14 87 mov dx, WORD PTR [edi+eax*4] - 0015c 66 03 14 9f add dx, WORD PTR [edi+ebx*4] - 00160 8b 4d f8 mov ecx, DWORD PTR _node$[ebp] - 00163 66 89 14 8f mov WORD PTR [edi+ecx*4], dx - -; 675 : s->depth[node] = (uch)((s->depth[n] >= s->depth[m] ? -; 676 : s->depth[n] : s->depth[m]) + 1); - - 00167 8a 94 1e 58 14 - 00 00 mov dl, BYTE PTR [esi+ebx+5208] - 0016e 8a 8c 06 58 14 - 00 00 mov cl, BYTE PTR [esi+eax+5208] - 00175 83 c4 04 add esp, 4 - 00178 3a d1 cmp dl, cl - 0017a 0f b6 d2 movzx edx, dl - 0017d 73 03 jae SHORT $LN20@build_tree - 0017f 0f b6 d1 movzx edx, cl -$LN20@build_tree: - 00182 8b 4d f8 mov ecx, DWORD PTR _node$[ebp] - 00185 fe c2 inc dl - 00187 88 94 0e 58 14 - 00 00 mov BYTE PTR [esi+ecx+5208], dl - -; 677 : tree[n].Dad = tree[m].Dad = (ush)node; - - 0018e 0f b7 d1 movzx edx, cx - 00191 66 89 54 87 02 mov WORD PTR [edi+eax*4+2], dx - 00196 66 89 54 9f 02 mov WORD PTR [edi+ebx*4+2], dx - -; 678 : #ifdef DUMP_BL_TREE -; 679 : if (tree == s->bl_tree) { -; 680 : fprintf(stderr,"\nnode %d(%d), sons %d(%d) %d(%d)", -; 681 : node, tree[node].Freq, n, tree[n].Freq, m, tree[m].Freq); -; 682 : } -; 683 : #endif -; 684 : /* and insert the new node in the heap */ -; 685 : s->heap[SMALLEST] = node++; - - 0019b 89 8e 60 0b 00 - 00 mov DWORD PTR [esi+2912], ecx - 001a1 41 inc ecx - -; 686 : pqdownheap(s, tree, SMALLEST); - - 001a2 6a 01 push 1 - 001a4 8b c6 mov eax, esi - 001a6 89 4d f8 mov DWORD PTR _node$[ebp], ecx - 001a9 e8 00 00 00 00 call _pqdownheap - 001ae 83 c4 04 add esp, 4 - -; 687 : -; 688 : } while (s->heap_len >= 2); - - 001b1 83 be 50 14 00 - 00 02 cmp DWORD PTR [esi+5200], 2 - 001b8 0f 8d 42 ff ff - ff jge $LL3@build_tree - -; 689 : -; 690 : s->heap[--(s->heap_max)] = s->heap[SMALLEST]; - - 001be ff 8e 54 14 00 - 00 dec DWORD PTR [esi+5204] - 001c4 8b 86 54 14 00 - 00 mov eax, DWORD PTR [esi+5204] - 001ca 8b 96 60 0b 00 - 00 mov edx, DWORD PTR [esi+2912] - -; 691 : -; 692 : /* At this point, the fields freq and dad are set. We can now -; 693 : * generate the bit lengths. -; 694 : */ -; 695 : gen_bitlen(s, (tree_desc *)desc); - - 001d0 8b 4d 08 mov ecx, DWORD PTR _desc$[ebp] - 001d3 89 94 86 5c 0b - 00 00 mov DWORD PTR [esi+eax*4+2908], edx - 001da 8b c6 mov eax, esi - 001dc e8 00 00 00 00 call _gen_bitlen - -; 696 : -; 697 : /* The field len is now set, we can generate the bit codes */ -; 698 : gen_codes ((ct_data *)tree, max_code, s->bl_count); - - 001e1 8b 5d fc mov ebx, DWORD PTR _max_code$[ebp] - 001e4 8d 96 3c 0b 00 - 00 lea edx, DWORD PTR [esi+2876] - 001ea e8 00 00 00 00 call _gen_codes - 001ef 5f pop edi - 001f0 5b pop ebx - -; 699 : } - - 001f1 8b e5 mov esp, ebp - 001f3 5d pop ebp - 001f4 c3 ret 0 -_build_tree ENDP -_TEXT ENDS -PUBLIC __tr_init -; Function compile flags: /Ogtp -; COMDAT __tr_init -_TEXT SEGMENT -__tr_init PROC ; COMDAT -; _s$ = edx - -; 384 : tr_static_init(); -; 385 : -; 386 : s->l_desc.dyn_tree = s->dyn_ltree; - - 00000 8d 82 94 00 00 - 00 lea eax, DWORD PTR [edx+148] - -; 387 : s->l_desc.stat_desc = &static_l_desc; -; 388 : -; 389 : s->d_desc.dyn_tree = s->dyn_dtree; - - 00006 8d 8a 88 09 00 - 00 lea ecx, DWORD PTR [edx+2440] - 0000c 89 82 18 0b 00 - 00 mov DWORD PTR [edx+2840], eax - 00012 89 8a 24 0b 00 - 00 mov DWORD PTR [edx+2852], ecx - -; 390 : s->d_desc.stat_desc = &static_d_desc; -; 391 : -; 392 : s->bl_desc.dyn_tree = s->bl_tree; -; 393 : s->bl_desc.stat_desc = &static_bl_desc; -; 394 : -; 395 : s->bi_buf = 0; - - 00018 33 c9 xor ecx, ecx - 0001a 8d 82 7c 0a 00 - 00 lea eax, DWORD PTR [edx+2684] - 00020 c7 82 20 0b 00 - 00 00 00 00 00 mov DWORD PTR [edx+2848], OFFSET _static_l_desc - 0002a c7 82 2c 0b 00 - 00 00 00 00 00 mov DWORD PTR [edx+2860], OFFSET _static_d_desc - 00034 89 82 30 0b 00 - 00 mov DWORD PTR [edx+2864], eax - 0003a c7 82 38 0b 00 - 00 00 00 00 00 mov DWORD PTR [edx+2872], OFFSET _static_bl_desc - 00044 66 89 8a b8 16 - 00 00 mov WORD PTR [edx+5816], cx - -; 396 : s->bi_valid = 0; - - 0004b 89 8a bc 16 00 - 00 mov DWORD PTR [edx+5820], ecx - -; 397 : #ifdef DEBUG -; 398 : s->compressed_len = 0L; -; 399 : s->bits_sent = 0L; -; 400 : #endif -; 401 : -; 402 : /* Initialize the first block of the first file: */ -; 403 : init_block(s); - - 00051 e9 00 00 00 00 jmp _init_block -__tr_init ENDP -; Function compile flags: /Ogtp -; COMDAT _build_bl_tree -_TEXT SEGMENT -_build_bl_tree PROC ; COMDAT -; _s$ = eax - -; 803 : { - - 00000 56 push esi - 00001 8b f0 mov esi, eax - -; 804 : int max_blindex; /* index of last bit length code of non zero freq */ -; 805 : -; 806 : /* Determine the bit length frequencies for literal and distance trees */ -; 807 : scan_tree(s, (ct_data *)s->dyn_ltree, s->l_desc.max_code); - - 00003 8b 86 1c 0b 00 - 00 mov eax, DWORD PTR [esi+2844] - 00009 8d 8e 94 00 00 - 00 lea ecx, DWORD PTR [esi+148] - 0000f 56 push esi - 00010 e8 00 00 00 00 call _scan_tree - -; 808 : scan_tree(s, (ct_data *)s->dyn_dtree, s->d_desc.max_code); - - 00015 8b 86 28 0b 00 - 00 mov eax, DWORD PTR [esi+2856] - 0001b 8d 8e 88 09 00 - 00 lea ecx, DWORD PTR [esi+2440] - 00021 56 push esi - 00022 e8 00 00 00 00 call _scan_tree - -; 809 : -; 810 : /* Build the bit length tree: */ -; 811 : build_tree(s, (tree_desc *)(&(s->bl_desc))); - - 00027 8d 86 30 0b 00 - 00 lea eax, DWORD PTR [esi+2864] - 0002d 50 push eax - 0002e e8 00 00 00 00 call _build_tree - 00033 83 c4 0c add esp, 12 ; 0000000cH - -; 812 : /* opt_len now includes the length of the tree representations, except -; 813 : * the lengths of the bit lengths codes and the 5+5+4 bits for the counts. -; 814 : */ -; 815 : -; 816 : /* Determine the number of bit length codes to send. The pkzip format -; 817 : * requires that at least 4 bit length codes be sent. (appnote.txt says -; 818 : * 3 but the actual value used is 4.) -; 819 : */ -; 820 : for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) { - - 00036 b8 12 00 00 00 mov eax, 18 ; 00000012H - 0003b eb 03 8d 49 00 npad 5 -$LL4@build_bl_t: - -; 821 : if (s->bl_tree[bl_order[max_blindex]].Len != 0) break; - - 00040 0f b6 88 00 00 - 00 00 movzx ecx, BYTE PTR _bl_order[eax] - 00047 66 83 bc 8e 7e - 0a 00 00 00 cmp WORD PTR [esi+ecx*4+2686], 0 - 00050 75 69 jne SHORT $LN8@build_bl_t - 00052 0f b6 90 ff ff - ff ff movzx edx, BYTE PTR _bl_order[eax-1] - 00059 66 83 bc 96 7e - 0a 00 00 00 cmp WORD PTR [esi+edx*4+2686], 0 - 00062 75 38 jne SHORT $LN10@build_bl_t - 00064 0f b6 88 fe ff - ff ff movzx ecx, BYTE PTR _bl_order[eax-2] - 0006b 66 83 bc 8e 7e - 0a 00 00 00 cmp WORD PTR [esi+ecx*4+2686], 0 - 00074 75 33 jne SHORT $LN11@build_bl_t - 00076 0f b6 90 fd ff - ff ff movzx edx, BYTE PTR _bl_order[eax-3] - 0007d 66 83 bc 96 7e - 0a 00 00 00 cmp WORD PTR [esi+edx*4+2686], 0 - 00086 75 30 jne SHORT $LN12@build_bl_t - -; 812 : /* opt_len now includes the length of the tree representations, except -; 813 : * the lengths of the bit lengths codes and the 5+5+4 bits for the counts. -; 814 : */ -; 815 : -; 816 : /* Determine the number of bit length codes to send. The pkzip format -; 817 : * requires that at least 4 bit length codes be sent. (appnote.txt says -; 818 : * 3 but the actual value used is 4.) -; 819 : */ -; 820 : for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) { - - 00088 83 e8 04 sub eax, 4 - 0008b 83 f8 03 cmp eax, 3 - 0008e 7d b0 jge SHORT $LL4@build_bl_t - -; 822 : } -; 823 : /* Update opt_len to include the bit length tree and counts */ -; 824 : s->opt_len += 3*(max_blindex+1) + 5+5+4; - - 00090 8d 4c 40 11 lea ecx, DWORD PTR [eax+eax*2+17] - 00094 01 8e a8 16 00 - 00 add DWORD PTR [esi+5800], ecx - 0009a 5e pop esi - -; 825 : Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld", -; 826 : s->opt_len, s->static_len)); -; 827 : -; 828 : return max_blindex; -; 829 : } - - 0009b c3 ret 0 -$LN10@build_bl_t: - -; 821 : if (s->bl_tree[bl_order[max_blindex]].Len != 0) break; - - 0009c 48 dec eax - -; 822 : } -; 823 : /* Update opt_len to include the bit length tree and counts */ -; 824 : s->opt_len += 3*(max_blindex+1) + 5+5+4; - - 0009d 8d 4c 40 11 lea ecx, DWORD PTR [eax+eax*2+17] - 000a1 01 8e a8 16 00 - 00 add DWORD PTR [esi+5800], ecx - 000a7 5e pop esi - -; 825 : Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld", -; 826 : s->opt_len, s->static_len)); -; 827 : -; 828 : return max_blindex; -; 829 : } - - 000a8 c3 ret 0 -$LN11@build_bl_t: - -; 821 : if (s->bl_tree[bl_order[max_blindex]].Len != 0) break; - - 000a9 83 e8 02 sub eax, 2 - -; 822 : } -; 823 : /* Update opt_len to include the bit length tree and counts */ -; 824 : s->opt_len += 3*(max_blindex+1) + 5+5+4; - - 000ac 8d 4c 40 11 lea ecx, DWORD PTR [eax+eax*2+17] - 000b0 01 8e a8 16 00 - 00 add DWORD PTR [esi+5800], ecx - 000b6 5e pop esi - -; 825 : Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld", -; 826 : s->opt_len, s->static_len)); -; 827 : -; 828 : return max_blindex; -; 829 : } - - 000b7 c3 ret 0 -$LN12@build_bl_t: - -; 821 : if (s->bl_tree[bl_order[max_blindex]].Len != 0) break; - - 000b8 83 e8 03 sub eax, 3 -$LN8@build_bl_t: - -; 822 : } -; 823 : /* Update opt_len to include the bit length tree and counts */ -; 824 : s->opt_len += 3*(max_blindex+1) + 5+5+4; - - 000bb 8d 4c 40 11 lea ecx, DWORD PTR [eax+eax*2+17] - 000bf 01 8e a8 16 00 - 00 add DWORD PTR [esi+5800], ecx - 000c5 5e pop esi - -; 825 : Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld", -; 826 : s->opt_len, s->static_len)); -; 827 : -; 828 : return max_blindex; -; 829 : } - - 000c6 c3 ret 0 -_build_bl_tree ENDP -PUBLIC __tr_flush_block -; Function compile flags: /Ogtp -; COMDAT __tr_flush_block -_TEXT SEGMENT -_max_blindex$ = -4 ; size = 4 -_buf$ = 8 ; size = 4 -_last$ = 12 ; size = 4 -__tr_flush_block PROC ; COMDAT -; _s$ = ecx -; _stored_len$ = eax - -; 912 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - 00005 56 push esi - 00006 8b f1 mov esi, ecx - -; 913 : ulg opt_lenb, static_lenb; /* opt_len and static_len in bytes */ -; 914 : int max_blindex = 0; /* index of last bit length code of non zero freq */ -; 915 : -; 916 : /* Build the Huffman trees unless a stored block is forced */ -; 917 : if (s->level > 0) { - - 00008 83 be 84 00 00 - 00 00 cmp DWORD PTR [esi+132], 0 - 0000f 57 push edi - 00010 8b d8 mov ebx, eax - 00012 c7 45 fc 00 00 - 00 00 mov DWORD PTR _max_blindex$[ebp], 0 - 00019 7e 53 jle SHORT $LN14@tr_flush_b - -; 918 : -; 919 : /* Check if the file is binary or text */ -; 920 : if (s->strm->data_type == Z_UNKNOWN) - - 0001b 8b 3e mov edi, DWORD PTR [esi] - 0001d 83 7f 2c 02 cmp DWORD PTR [edi+44], 2 - 00021 75 08 jne SHORT $LN13@tr_flush_b - -; 921 : s->strm->data_type = detect_data_type(s); - - 00023 e8 00 00 00 00 call _detect_data_type - 00028 89 47 2c mov DWORD PTR [edi+44], eax -$LN13@tr_flush_b: - -; 922 : -; 923 : /* Construct the literal and distance trees */ -; 924 : build_tree(s, (tree_desc *)(&(s->l_desc))); - - 0002b 8d 86 18 0b 00 - 00 lea eax, DWORD PTR [esi+2840] - 00031 50 push eax - 00032 e8 00 00 00 00 call _build_tree - -; 925 : Tracev((stderr, "\nlit data: dyn %ld, stat %ld", s->opt_len, -; 926 : s->static_len)); -; 927 : -; 928 : build_tree(s, (tree_desc *)(&(s->d_desc))); - - 00037 8d 8e 24 0b 00 - 00 lea ecx, DWORD PTR [esi+2852] - 0003d 51 push ecx - 0003e e8 00 00 00 00 call _build_tree - 00043 83 c4 08 add esp, 8 - -; 929 : Tracev((stderr, "\ndist data: dyn %ld, stat %ld", s->opt_len, -; 930 : s->static_len)); -; 931 : /* At this point, opt_len and static_len are the total bit lengths of -; 932 : * the compressed block data, excluding the tree representations. -; 933 : */ -; 934 : -; 935 : /* Build the bit length tree for the above two trees, and get the index -; 936 : * in bl_order of the last bit length code to send. -; 937 : */ -; 938 : max_blindex = build_bl_tree(s); - - 00046 8b c6 mov eax, esi - 00048 e8 00 00 00 00 call _build_bl_tree - -; 939 : -; 940 : /* Determine the best encoding. Compute the block lengths in bytes. */ -; 941 : opt_lenb = (s->opt_len+3+7)>>3; - - 0004d 8b 96 a8 16 00 - 00 mov edx, DWORD PTR [esi+5800] - -; 942 : static_lenb = (s->static_len+3+7)>>3; - - 00053 8b 8e ac 16 00 - 00 mov ecx, DWORD PTR [esi+5804] - 00059 83 c2 0a add edx, 10 ; 0000000aH - 0005c 83 c1 0a add ecx, 10 ; 0000000aH - 0005f c1 ea 03 shr edx, 3 - 00062 c1 e9 03 shr ecx, 3 - 00065 89 45 fc mov DWORD PTR _max_blindex$[ebp], eax - -; 943 : -; 944 : Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ", -; 945 : opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len, -; 946 : s->last_lit)); -; 947 : -; 948 : if (static_lenb <= opt_lenb) opt_lenb = static_lenb; - - 00068 3b ca cmp ecx, edx - 0006a 77 07 ja SHORT $LN17@tr_flush_b - -; 949 : -; 950 : } else { - - 0006c eb 03 jmp SHORT $LN18@tr_flush_b -$LN14@tr_flush_b: - -; 951 : Assert(buf != (char*)0, "lost buf"); -; 952 : opt_lenb = static_lenb = stored_len + 5; /* force a stored block */ - - 0006e 8d 4b 05 lea ecx, DWORD PTR [ebx+5] -$LN18@tr_flush_b: - 00071 8b d1 mov edx, ecx -$LN17@tr_flush_b: - -; 953 : } -; 954 : -; 955 : #ifdef FORCE_STORED -; 956 : if (buf != (char*)0) { /* force stored block */ -; 957 : #else -; 958 : if (stored_len+4 <= opt_lenb && buf != (char*)0) { - - 00073 8d 43 04 lea eax, DWORD PTR [ebx+4] - 00076 3b c2 cmp eax, edx - 00078 77 18 ja SHORT $LN10@tr_flush_b - 0007a 8b 45 08 mov eax, DWORD PTR _buf$[ebp] - 0007d 85 c0 test eax, eax - 0007f 74 11 je SHORT $LN10@tr_flush_b - -; 959 : /* 4: two words for the lengths */ -; 960 : #endif -; 961 : /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE. -; 962 : * Otherwise we can't have processed more than WSIZE input bytes since -; 963 : * the last block flush, because compression would have been -; 964 : * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to -; 965 : * transform a block into a stored block. -; 966 : */ -; 967 : _tr_stored_block(s, buf, stored_len, last); - - 00081 8b 4d 0c mov ecx, DWORD PTR _last$[ebp] - 00084 53 push ebx - 00085 50 push eax - 00086 8b c6 mov eax, esi - 00088 e8 00 00 00 00 call __tr_stored_block - 0008d e9 55 01 00 00 jmp $LN19@tr_flush_b -$LN10@tr_flush_b: - -; 968 : -; 969 : #ifdef FORCE_STATIC -; 970 : } else if (static_lenb >= 0) { /* force static trees */ -; 971 : #else -; 972 : } else if (s->strategy == Z_FIXED || static_lenb == opt_lenb) { - - 00092 83 be 88 00 00 - 00 04 cmp DWORD PTR [esi+136], 4 - 00099 0f 84 bc 00 00 - 00 je $LN7@tr_flush_b - 0009f 3b ca cmp ecx, edx - 000a1 0f 84 b4 00 00 - 00 je $LN7@tr_flush_b - -; 976 : #ifdef DEBUG -; 977 : s->compressed_len += 3 + s->static_len; -; 978 : #endif -; 979 : } else { -; 980 : send_bits(s, (DYN_TREES<<1)+last, 3); - - 000a7 8b 55 0c mov edx, DWORD PTR _last$[ebp] - 000aa 8b 8e bc 16 00 - 00 mov ecx, DWORD PTR [esi+5820] - 000b0 83 c2 04 add edx, 4 - 000b3 bf 01 00 00 00 mov edi, 1 - 000b8 83 f9 0d cmp ecx, 13 ; 0000000dH - 000bb 7e 52 jle SHORT $LN3@tr_flush_b - 000bd 66 8b c2 mov ax, dx - 000c0 66 d3 e0 shl ax, cl - 000c3 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 000c6 66 09 86 b8 16 - 00 00 or WORD PTR [esi+5816], ax - 000cd 0f b6 9e b8 16 - 00 00 movzx ebx, BYTE PTR [esi+5816] - 000d4 8b 46 08 mov eax, DWORD PTR [esi+8] - 000d7 88 1c 01 mov BYTE PTR [ecx+eax], bl - 000da 01 7e 14 add DWORD PTR [esi+20], edi - 000dd 0f b6 9e b9 16 - 00 00 movzx ebx, BYTE PTR [esi+5817] - 000e4 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 000e7 8b 46 08 mov eax, DWORD PTR [esi+8] - 000ea 88 1c 01 mov BYTE PTR [ecx+eax], bl - 000ed 8b 9e bc 16 00 - 00 mov ebx, DWORD PTR [esi+5820] - 000f3 01 7e 14 add DWORD PTR [esi+20], edi - 000f6 b1 10 mov cl, 16 ; 00000010H - 000f8 2a cb sub cl, bl - 000fa 66 d3 ea shr dx, cl - 000fd 83 c3 f3 add ebx, -13 ; fffffff3H - 00100 89 9e bc 16 00 - 00 mov DWORD PTR [esi+5820], ebx - 00106 66 89 96 b8 16 - 00 00 mov WORD PTR [esi+5816], dx - 0010d eb 13 jmp SHORT $LN2@tr_flush_b -$LN3@tr_flush_b: - 0010f 66 d3 e2 shl dx, cl - 00112 66 09 96 b8 16 - 00 00 or WORD PTR [esi+5816], dx - 00119 83 c1 03 add ecx, 3 - 0011c 89 8e bc 16 00 - 00 mov DWORD PTR [esi+5820], ecx -$LN2@tr_flush_b: - -; 981 : send_all_trees(s, s->l_desc.max_code+1, s->d_desc.max_code+1, -; 982 : max_blindex+1); - - 00122 8b 45 fc mov eax, DWORD PTR _max_blindex$[ebp] - 00125 8b 8e 28 0b 00 - 00 mov ecx, DWORD PTR [esi+2856] - 0012b 8b 96 1c 0b 00 - 00 mov edx, DWORD PTR [esi+2844] - 00131 40 inc eax - 00132 50 push eax - 00133 03 cf add ecx, edi - 00135 51 push ecx - 00136 03 d7 add edx, edi - 00138 52 push edx - 00139 e8 00 00 00 00 call _send_all_trees - -; 983 : compress_block(s, (ct_data *)s->dyn_ltree, (ct_data *)s->dyn_dtree); - - 0013e 8d 86 88 09 00 - 00 lea eax, DWORD PTR [esi+2440] - 00144 50 push eax - 00145 8d 8e 94 00 00 - 00 lea ecx, DWORD PTR [esi+148] - 0014b 51 push ecx - 0014c 8b c6 mov eax, esi - 0014e e8 00 00 00 00 call _compress_block - 00153 83 c4 14 add esp, 20 ; 00000014H - 00156 e9 8f 00 00 00 jmp $LN4@tr_flush_b -$LN7@tr_flush_b: - -; 973 : #endif -; 974 : send_bits(s, (STATIC_TREES<<1)+last, 3); - - 0015b 8b 45 0c mov eax, DWORD PTR _last$[ebp] - 0015e 8b 8e bc 16 00 - 00 mov ecx, DWORD PTR [esi+5820] - 00164 83 c0 02 add eax, 2 - 00167 83 f9 0d cmp ecx, 13 ; 0000000dH - 0016a 7e 57 jle SHORT $LN6@tr_flush_b - 0016c 66 8b d0 mov dx, ax - 0016f 66 d3 e2 shl dx, cl - 00172 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 00175 bf 01 00 00 00 mov edi, 1 - 0017a 66 09 96 b8 16 - 00 00 or WORD PTR [esi+5816], dx - 00181 0f b6 9e b8 16 - 00 00 movzx ebx, BYTE PTR [esi+5816] - 00188 8b 56 08 mov edx, DWORD PTR [esi+8] - 0018b 88 1c 11 mov BYTE PTR [ecx+edx], bl - 0018e 01 7e 14 add DWORD PTR [esi+20], edi - 00191 0f b6 9e b9 16 - 00 00 movzx ebx, BYTE PTR [esi+5817] - 00198 8b 4e 14 mov ecx, DWORD PTR [esi+20] - 0019b 8b 56 08 mov edx, DWORD PTR [esi+8] - 0019e 88 1c 11 mov BYTE PTR [ecx+edx], bl - 001a1 8b 96 bc 16 00 - 00 mov edx, DWORD PTR [esi+5820] - 001a7 01 7e 14 add DWORD PTR [esi+20], edi - 001aa b1 10 mov cl, 16 ; 00000010H - 001ac 2a ca sub cl, dl - 001ae 66 d3 e8 shr ax, cl - 001b1 83 c2 f3 add edx, -13 ; fffffff3H - 001b4 89 96 bc 16 00 - 00 mov DWORD PTR [esi+5820], edx - 001ba 66 89 86 b8 16 - 00 00 mov WORD PTR [esi+5816], ax - 001c1 eb 13 jmp SHORT $LN5@tr_flush_b -$LN6@tr_flush_b: - 001c3 66 d3 e0 shl ax, cl - 001c6 66 09 86 b8 16 - 00 00 or WORD PTR [esi+5816], ax - 001cd 83 c1 03 add ecx, 3 - 001d0 89 8e bc 16 00 - 00 mov DWORD PTR [esi+5820], ecx -$LN5@tr_flush_b: - -; 975 : compress_block(s, (ct_data *)static_ltree, (ct_data *)static_dtree); - - 001d6 68 00 00 00 00 push OFFSET _static_dtree - 001db 68 00 00 00 00 push OFFSET _static_ltree - 001e0 8b c6 mov eax, esi - 001e2 e8 00 00 00 00 call _compress_block -$LN19@tr_flush_b: - 001e7 83 c4 08 add esp, 8 -$LN4@tr_flush_b: - -; 984 : #ifdef DEBUG -; 985 : s->compressed_len += 3 + s->opt_len; -; 986 : #endif -; 987 : } -; 988 : Assert (s->compressed_len == s->bits_sent, "bad compressed size"); -; 989 : /* The above check is made mod 2^32, for files larger than 512 MB -; 990 : * and uLong implemented on 32 bits. -; 991 : */ -; 992 : init_block(s); - - 001ea 8b d6 mov edx, esi - 001ec e8 00 00 00 00 call _init_block - -; 993 : -; 994 : if (last) { - - 001f1 83 7d 0c 00 cmp DWORD PTR _last$[ebp], 0 - 001f5 74 07 je SHORT $LN1@tr_flush_b - -; 995 : bi_windup(s); - - 001f7 8b c6 mov eax, esi - 001f9 e8 00 00 00 00 call _bi_windup -$LN1@tr_flush_b: - 001fe 5f pop edi - 001ff 5e pop esi - 00200 5b pop ebx - -; 996 : #ifdef DEBUG -; 997 : s->compressed_len += 7; /* align on byte boundary */ -; 998 : #endif -; 999 : } -; 1000 : Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3, -; 1001 : s->compressed_len-7*last)); -; 1002 : } - - 00201 8b e5 mov esp, ebp - 00203 5d pop ebp - 00204 c3 ret 0 -__tr_flush_block ENDP -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/uncompr.cod b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/uncompr.cod deleted file mode 100644 index d20eec1a..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/uncompr.cod +++ /dev/null @@ -1,160 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.30319.01 - - TITLE D:\FMU\FMUSolution\zlib-1.2.6\uncompr.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC _uncompress@16 -; Function compile flags: /Ogtp -; File d:\fmu\fmusolution\zlib-1.2.6\uncompr.c -; COMDAT _uncompress@16 -_TEXT SEGMENT -_stream$ = -56 ; size = 56 -_dest$ = 8 ; size = 4 -_destLen$ = 12 ; size = 4 -_source$ = 16 ; size = 4 -_sourceLen$ = 20 ; size = 4 -_uncompress@16 PROC ; COMDAT - -; 29 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 83 ec 38 sub esp, 56 ; 00000038H - -; 30 : z_stream stream; -; 31 : int err; -; 32 : -; 33 : stream.next_in = (Bytef*)source; -; 34 : stream.avail_in = (uInt)sourceLen; - - 00009 8b 4d 14 mov ecx, DWORD PTR _sourceLen$[ebp] - 0000c 8b 45 10 mov eax, DWORD PTR _source$[ebp] - -; 35 : /* Check for source > 64K on 16-bit machine: */ -; 36 : if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR; -; 37 : -; 38 : stream.next_out = dest; - - 0000f 8b 55 08 mov edx, DWORD PTR _dest$[ebp] - 00012 56 push esi - 00013 57 push edi - -; 39 : stream.avail_out = (uInt)*destLen; - - 00014 8b 7d 0c mov edi, DWORD PTR _destLen$[ebp] - -; 40 : if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR; -; 41 : -; 42 : stream.zalloc = (alloc_func)0; -; 43 : stream.zfree = (free_func)0; -; 44 : -; 45 : err = inflateInit(&stream); - - 00017 6a 38 push 56 ; 00000038H - 00019 89 4c 24 10 mov DWORD PTR _stream$[esp+72], ecx - 0001d 89 44 24 0c mov DWORD PTR _stream$[esp+68], eax - 00021 8b 07 mov eax, DWORD PTR [edi] - 00023 68 00 00 00 00 push OFFSET ??_C@_05BOAHNBIE@1?42?46?$AA@ - 00028 8d 4c 24 10 lea ecx, DWORD PTR _stream$[esp+72] - 0002c 51 push ecx - 0002d 89 54 24 20 mov DWORD PTR _stream$[esp+88], edx - 00031 89 44 24 24 mov DWORD PTR _stream$[esp+92], eax - 00035 c7 44 24 34 00 - 00 00 00 mov DWORD PTR _stream$[esp+108], 0 - 0003d c7 44 24 38 00 - 00 00 00 mov DWORD PTR _stream$[esp+112], 0 - 00045 e8 00 00 00 00 call _inflateInit_@12 - -; 46 : if (err != Z_OK) return err; - - 0004a 85 c0 test eax, eax - 0004c 75 55 jne SHORT $LN7@uncompress - -; 47 : -; 48 : err = inflate(&stream, Z_FINISH); - - 0004e 6a 04 push 4 - 00050 8d 54 24 0c lea edx, DWORD PTR _stream$[esp+68] - 00054 52 push edx - 00055 e8 00 00 00 00 call _inflate@8 - 0005a 8b f0 mov esi, eax - -; 49 : if (err != Z_STREAM_END) { - - 0005c 83 fe 01 cmp esi, 1 - 0005f 74 32 je SHORT $LN3@uncompress - -; 50 : inflateEnd(&stream); - - 00061 8d 44 24 08 lea eax, DWORD PTR _stream$[esp+64] - 00065 50 push eax - 00066 e8 00 00 00 00 call _inflateEnd@4 - -; 51 : if (err == Z_NEED_DICT || (err == Z_BUF_ERROR && stream.avail_in == 0)) - - 0006b 83 fe 02 cmp esi, 2 - 0006e 74 16 je SHORT $LN1@uncompress - 00070 83 fe fb cmp esi, -5 ; fffffffbH - 00073 75 07 jne SHORT $LN2@uncompress - 00075 83 7c 24 0c 00 cmp DWORD PTR _stream$[esp+68], 0 - 0007a 74 0a je SHORT $LN1@uncompress -$LN2@uncompress: - -; 53 : return err; - - 0007c 8b c6 mov eax, esi - -; 58 : return err; -; 59 : } - - 0007e 5f pop edi - 0007f 5e pop esi - 00080 8b e5 mov esp, ebp - 00082 5d pop ebp - 00083 c2 10 00 ret 16 ; 00000010H -$LN1@uncompress: - -; 52 : return Z_DATA_ERROR; - - 00086 b8 fd ff ff ff mov eax, -3 ; fffffffdH - -; 58 : return err; -; 59 : } - - 0008b 5f pop edi - 0008c 5e pop esi - 0008d 8b e5 mov esp, ebp - 0008f 5d pop ebp - 00090 c2 10 00 ret 16 ; 00000010H -$LN3@uncompress: - -; 54 : } -; 55 : *destLen = stream.total_out; - - 00093 8b 4c 24 1c mov ecx, DWORD PTR _stream$[esp+84] - -; 56 : -; 57 : err = inflateEnd(&stream); - - 00097 8d 54 24 08 lea edx, DWORD PTR _stream$[esp+64] - 0009b 52 push edx - 0009c 89 0f mov DWORD PTR [edi], ecx - 0009e e8 00 00 00 00 call _inflateEnd@4 -$LN7@uncompress: - -; 58 : return err; -; 59 : } - - 000a3 5f pop edi - 000a4 5e pop esi - 000a5 8b e5 mov esp, ebp - 000a7 5d pop ebp - 000a8 c2 10 00 ret 16 ; 00000010H -_uncompress@16 ENDP -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/unzip.cod b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/unzip.cod deleted file mode 100644 index fdd5b54e..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/unzip.cod +++ /dev/null @@ -1,7188 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.30319.01 - - TITLE D:\FMU\FMUSolution\zlib-1.2.6\contrib\minizip\unzip.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC _unz_copyright - ORG $+1 -_unz_copyright DB ' unzip 1.01 Copyright 1998-2004 Gilles Vollant - http:' - DB '//www.winimage.com/zLibDll', 00H -PUBLIC _unzeof@4 -; Function compile flags: /Ogtp -; File d:\fmu\fmusolution\zlib-1.2.6\contrib\minizip\unzip.c -; COMDAT _unzeof@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_unzeof@4 PROC ; COMDAT - -; 1925 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1926 : unz64_s* s; -; 1927 : file_in_zip64_read_info_s* pfile_in_zip_read_info; -; 1928 : if (file==NULL) - - 00003 8b 45 08 mov eax, DWORD PTR _file$[ebp] - 00006 85 c0 test eax, eax - 00008 75 09 jne SHORT $LN4@unzeof -$LN7@unzeof: - -; 1929 : return UNZ_PARAMERROR; - - 0000a b8 9a ff ff ff mov eax, -102 ; ffffff9aH - -; 1940 : } - - 0000f 5d pop ebp - 00010 c2 04 00 ret 4 -$LN4@unzeof: - -; 1930 : s=(unz64_s*)file; -; 1931 : pfile_in_zip_read_info=s->pfile_in_zip_read; - - 00013 8b 80 e0 00 00 - 00 mov eax, DWORD PTR [eax+224] - -; 1932 : -; 1933 : if (pfile_in_zip_read_info==NULL) - - 00019 85 c0 test eax, eax - -; 1934 : return UNZ_PARAMERROR; - - 0001b 74 ed je SHORT $LN7@unzeof - -; 1935 : -; 1936 : if (pfile_in_zip_read_info->rest_read_uncompressed == 0) - - 0001d 8b 88 80 00 00 - 00 mov ecx, DWORD PTR [eax+128] - 00023 0b 88 84 00 00 - 00 or ecx, DWORD PTR [eax+132] - 00029 75 09 jne SHORT $LN2@unzeof - -; 1937 : return 1; - - 0002b b8 01 00 00 00 mov eax, 1 - -; 1940 : } - - 00030 5d pop ebp - 00031 c2 04 00 ret 4 -$LN2@unzeof: - -; 1938 : else -; 1939 : return 0; - - 00034 33 c0 xor eax, eax - -; 1940 : } - - 00036 5d pop ebp - 00037 c2 04 00 ret 4 -_unzeof@4 ENDP -_TEXT ENDS -PUBLIC _unztell64@4 -; Function compile flags: /Ogtp -; COMDAT _unztell64@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_unztell64@4 PROC ; COMDAT - -; 1905 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1906 : -; 1907 : unz64_s* s; -; 1908 : file_in_zip64_read_info_s* pfile_in_zip_read_info; -; 1909 : if (file==NULL) - - 00003 8b 45 08 mov eax, DWORD PTR _file$[ebp] - 00006 85 c0 test eax, eax - 00008 75 0a jne SHORT $LN2@unztell64 -$LN5@unztell64: - -; 1910 : return (ZPOS64_T)-1; - - 0000a 83 c8 ff or eax, -1 - 0000d 83 ca ff or edx, -1 - -; 1918 : } - - 00010 5d pop ebp - 00011 c2 04 00 ret 4 -$LN2@unztell64: - -; 1911 : s=(unz64_s*)file; -; 1912 : pfile_in_zip_read_info=s->pfile_in_zip_read; - - 00014 8b 88 e0 00 00 - 00 mov ecx, DWORD PTR [eax+224] - -; 1913 : -; 1914 : if (pfile_in_zip_read_info==NULL) - - 0001a 85 c9 test ecx, ecx - -; 1915 : return (ZPOS64_T)-1; - - 0001c 74 ec je SHORT $LN5@unztell64 - -; 1916 : -; 1917 : return pfile_in_zip_read_info->total_out_64; - - 0001e 8b 41 68 mov eax, DWORD PTR [ecx+104] - 00021 8b 51 6c mov edx, DWORD PTR [ecx+108] - -; 1918 : } - - 00024 5d pop ebp - 00025 c2 04 00 ret 4 -_unztell64@4 ENDP -_TEXT ENDS -PUBLIC _unztell@4 -; Function compile flags: /Ogtp -; COMDAT _unztell@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_unztell@4 PROC ; COMDAT - -; 1890 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1891 : unz64_s* s; -; 1892 : file_in_zip64_read_info_s* pfile_in_zip_read_info; -; 1893 : if (file==NULL) - - 00003 8b 45 08 mov eax, DWORD PTR _file$[ebp] - 00006 85 c0 test eax, eax - 00008 75 09 jne SHORT $LN2@unztell -$LN5@unztell: - -; 1894 : return UNZ_PARAMERROR; - - 0000a b8 9a ff ff ff mov eax, -102 ; ffffff9aH - -; 1902 : } - - 0000f 5d pop ebp - 00010 c2 04 00 ret 4 -$LN2@unztell: - -; 1895 : s=(unz64_s*)file; -; 1896 : pfile_in_zip_read_info=s->pfile_in_zip_read; - - 00013 8b 80 e0 00 00 - 00 mov eax, DWORD PTR [eax+224] - -; 1897 : -; 1898 : if (pfile_in_zip_read_info==NULL) - - 00019 85 c0 test eax, eax - -; 1899 : return UNZ_PARAMERROR; - - 0001b 74 ed je SHORT $LN5@unztell - -; 1900 : -; 1901 : return (z_off_t)pfile_in_zip_read_info->stream.total_out; - - 0001d 8b 40 18 mov eax, DWORD PTR [eax+24] - -; 1902 : } - - 00020 5d pop ebp - 00021 c2 04 00 ret 4 -_unztell@4 ENDP -_TEXT ENDS -PUBLIC _unzGetCurrentFileZStreamPos64@4 -; Function compile flags: /Ogtp -; COMDAT _unzGetCurrentFileZStreamPos64@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_unzGetCurrentFileZStreamPos64@4 PROC ; COMDAT - -; 1659 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1660 : unz64_s* s; -; 1661 : file_in_zip64_read_info_s* pfile_in_zip_read_info; -; 1662 : s=(unz64_s*)file; -; 1663 : if (file==NULL) - - 00003 8b 45 08 mov eax, DWORD PTR _file$[ebp] - 00006 85 c0 test eax, eax - 00008 75 08 jne SHORT $LN2@unzGetCurr -$LN5@unzGetCurr: - -; 1664 : return 0; //UNZ_PARAMERROR; - - 0000a 33 c0 xor eax, eax - 0000c 33 d2 xor edx, edx - -; 1670 : } - - 0000e 5d pop ebp - 0000f c2 04 00 ret 4 -$LN2@unzGetCurr: - -; 1665 : pfile_in_zip_read_info=s->pfile_in_zip_read; - - 00012 8b 88 e0 00 00 - 00 mov ecx, DWORD PTR [eax+224] - -; 1666 : if (pfile_in_zip_read_info==NULL) - - 00018 85 c9 test ecx, ecx - -; 1667 : return 0; //UNZ_PARAMERROR; - - 0001a 74 ee je SHORT $LN5@unzGetCurr - -; 1668 : return pfile_in_zip_read_info->pos_in_zipfile + -; 1669 : pfile_in_zip_read_info->byte_before_the_zipfile; - - 0001c 8b 81 c0 00 00 - 00 mov eax, DWORD PTR [ecx+192] - 00022 03 41 40 add eax, DWORD PTR [ecx+64] - 00025 8b 91 c4 00 00 - 00 mov edx, DWORD PTR [ecx+196] - 0002b 13 51 44 adc edx, DWORD PTR [ecx+68] - -; 1670 : } - - 0002e 5d pop ebp - 0002f c2 04 00 ret 4 -_unzGetCurrentFileZStreamPos64@4 ENDP -_TEXT ENDS -PUBLIC _unzGetFilePos64@8 -; Function compile flags: /Ogtp -; COMDAT _unzGetFilePos64@8 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_file_pos$ = 12 ; size = 4 -_unzGetFilePos64@8 PROC ; COMDAT - -; 1309 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1310 : unz64_s* s; -; 1311 : -; 1312 : if (file==NULL || file_pos==NULL) - - 00003 8b 45 08 mov eax, DWORD PTR _file$[ebp] - 00006 85 c0 test eax, eax - 00008 74 35 je SHORT $LN2@unzGetFile - 0000a 8b 4d 0c mov ecx, DWORD PTR _file_pos$[ebp] - 0000d 85 c9 test ecx, ecx - 0000f 74 2e je SHORT $LN2@unzGetFile - -; 1314 : s=(unz64_s*)file; -; 1315 : if (!s->current_file_ok) - - 00011 8b 50 60 mov edx, DWORD PTR [eax+96] - 00014 0b 50 64 or edx, DWORD PTR [eax+100] - 00017 75 09 jne SHORT $LN1@unzGetFile - -; 1316 : return UNZ_END_OF_LIST_OF_FILE; - - 00019 b8 9c ff ff ff mov eax, -100 ; ffffff9cH - -; 1322 : } - - 0001e 5d pop ebp - 0001f c2 08 00 ret 8 -$LN1@unzGetFile: - -; 1317 : -; 1318 : file_pos->pos_in_zip_directory = s->pos_in_central_dir; - - 00022 8b 50 58 mov edx, DWORD PTR [eax+88] - 00025 89 11 mov DWORD PTR [ecx], edx - 00027 8b 50 5c mov edx, DWORD PTR [eax+92] - 0002a 89 51 04 mov DWORD PTR [ecx+4], edx - -; 1319 : file_pos->num_of_file = s->num_file; - - 0002d 8b 50 50 mov edx, DWORD PTR [eax+80] - 00030 89 51 08 mov DWORD PTR [ecx+8], edx - 00033 8b 40 54 mov eax, DWORD PTR [eax+84] - 00036 89 41 0c mov DWORD PTR [ecx+12], eax - -; 1320 : -; 1321 : return UNZ_OK; - - 00039 33 c0 xor eax, eax - -; 1322 : } - - 0003b 5d pop ebp - 0003c c2 08 00 ret 8 -$LN2@unzGetFile: - -; 1313 : return UNZ_PARAMERROR; - - 0003f b8 9a ff ff ff mov eax, -102 ; ffffff9aH - -; 1322 : } - - 00044 5d pop ebp - 00045 c2 08 00 ret 8 -_unzGetFilePos64@8 ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _unz64local_DosDateToTmuDate -_TEXT SEGMENT -_uDate$ = 8 ; size = 8 -_ulDosDate$ = 8 ; size = 8 -_unz64local_DosDateToTmuDate PROC ; COMDAT -; _ptm$ = edx - -; 853 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 854 : ZPOS64_T uDate; -; 855 : uDate = (ZPOS64_T)(ulDosDate>>16); - - 00003 8b 4d 08 mov ecx, DWORD PTR _ulDosDate$[ebp] - 00006 53 push ebx - 00007 56 push esi - 00008 8b 75 0c mov esi, DWORD PTR _ulDosDate$[ebp+4] - 0000b 57 push edi - 0000c 8b c6 mov eax, esi - 0000e 8b f9 mov edi, ecx - 00010 0f ac c7 10 shrd edi, eax, 16 - -; 856 : ptm->tm_mday = (uInt)(uDate&0x1f) ; - - 00014 8b df mov ebx, edi - 00016 c1 e8 10 shr eax, 16 ; 00000010H - 00019 89 7d 08 mov DWORD PTR _uDate$[ebp], edi - 0001c 83 e3 1f and ebx, 31 ; 0000001fH - 0001f 89 5a 0c mov DWORD PTR [edx+12], ebx - -; 857 : ptm->tm_mon = (uInt)((((uDate)&0x1E0)/0x20)-1) ; - - 00022 8b d8 mov ebx, eax - 00024 0f ac df 05 shrd edi, ebx, 5 - 00028 83 e7 0f and edi, 15 ; 0000000fH - 0002b 4f dec edi - 0002c 89 7a 10 mov DWORD PTR [edx+16], edi - -; 858 : ptm->tm_year = (uInt)(((uDate&0x0FE00)/0x0200)+1980) ; - - 0002f 8b 7d 08 mov edi, DWORD PTR _uDate$[ebp] - 00032 0f ac c7 09 shrd edi, eax, 9 - 00036 83 e7 7f and edi, 127 ; 0000007fH - 00039 81 c7 bc 07 00 - 00 add edi, 1980 ; 000007bcH - 0003f c1 e8 09 shr eax, 9 - 00042 89 7a 14 mov DWORD PTR [edx+20], edi - -; 859 : -; 860 : ptm->tm_hour = (uInt) ((ulDosDate &0xF800)/0x800); - - 00045 8b c1 mov eax, ecx - 00047 8b fe mov edi, esi - 00049 0f ac f8 0b shrd eax, edi, 11 - 0004d 83 e0 1f and eax, 31 ; 0000001fH - 00050 89 42 08 mov DWORD PTR [edx+8], eax - -; 861 : ptm->tm_min = (uInt) ((ulDosDate&0x7E0)/0x20) ; - - 00053 8b c1 mov eax, ecx - 00055 0f ac f0 05 shrd eax, esi, 5 - 00059 c1 ef 0b shr edi, 11 ; 0000000bH - -; 862 : ptm->tm_sec = (uInt) (2*(ulDosDate&0x1f)) ; -; 863 : } - - 0005c 5f pop edi - 0005d c1 eb 05 shr ebx, 5 - 00060 c1 ee 05 shr esi, 5 - 00063 83 e0 3f and eax, 63 ; 0000003fH - 00066 83 e1 1f and ecx, 31 ; 0000001fH - 00069 03 c9 add ecx, ecx - 0006b 5e pop esi - 0006c 89 42 04 mov DWORD PTR [edx+4], eax - 0006f 89 0a mov DWORD PTR [edx], ecx - 00071 5b pop ebx - 00072 5d pop ebp - 00073 c3 ret 0 -_unz64local_DosDateToTmuDate ENDP -_TEXT ENDS -PUBLIC _unzGetGlobalInfo@8 -; Function compile flags: /Ogtp -; COMDAT _unzGetGlobalInfo@8 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_pglobal_info32$ = 12 ; size = 4 -_unzGetGlobalInfo@8 PROC ; COMDAT - -; 839 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 840 : unz64_s* s; -; 841 : if (file==NULL) - - 00003 8b 45 08 mov eax, DWORD PTR _file$[ebp] - 00006 85 c0 test eax, eax - 00008 75 09 jne SHORT $LN1@unzGetGlob - -; 842 : return UNZ_PARAMERROR; - - 0000a b8 9a ff ff ff mov eax, -102 ; ffffff9aH - -; 848 : } - - 0000f 5d pop ebp - 00010 c2 08 00 ret 8 -$LN1@unzGetGlob: - -; 843 : s=(unz64_s*)file; -; 844 : /* to do : check if number_entry is not truncated */ -; 845 : pglobal_info32->number_entry = (uLong)s->gi.number_entry; - - 00013 8b 50 38 mov edx, DWORD PTR [eax+56] - 00016 8b 4d 0c mov ecx, DWORD PTR _pglobal_info32$[ebp] - 00019 89 11 mov DWORD PTR [ecx], edx - -; 846 : pglobal_info32->size_comment = s->gi.size_comment; - - 0001b 8b 40 40 mov eax, DWORD PTR [eax+64] - 0001e 89 41 04 mov DWORD PTR [ecx+4], eax - -; 847 : return UNZ_OK; - - 00021 33 c0 xor eax, eax - -; 848 : } - - 00023 5d pop ebp - 00024 c2 08 00 ret 8 -_unzGetGlobalInfo@8 ENDP -_TEXT ENDS -PUBLIC _unzGetGlobalInfo64@8 -; Function compile flags: /Ogtp -; COMDAT _unzGetGlobalInfo64@8 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_pglobal_info$ = 12 ; size = 4 -_unzGetGlobalInfo64@8 PROC ; COMDAT - -; 829 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 830 : unz64_s* s; -; 831 : if (file==NULL) - - 00003 8b 45 08 mov eax, DWORD PTR _file$[ebp] - 00006 85 c0 test eax, eax - 00008 75 09 jne SHORT $LN1@unzGetGlob@2 - -; 832 : return UNZ_PARAMERROR; - - 0000a b8 9a ff ff ff mov eax, -102 ; ffffff9aH - -; 836 : } - - 0000f 5d pop ebp - 00010 c2 08 00 ret 8 -$LN1@unzGetGlob@2: - -; 833 : s=(unz64_s*)file; -; 834 : *pglobal_info=s->gi; - - 00013 8b 50 38 mov edx, DWORD PTR [eax+56] - 00016 8b 4d 0c mov ecx, DWORD PTR _pglobal_info$[ebp] - 00019 89 11 mov DWORD PTR [ecx], edx - 0001b 8b 50 3c mov edx, DWORD PTR [eax+60] - 0001e 89 51 04 mov DWORD PTR [ecx+4], edx - 00021 8b 50 40 mov edx, DWORD PTR [eax+64] - 00024 89 51 08 mov DWORD PTR [ecx+8], edx - 00027 8b 40 44 mov eax, DWORD PTR [eax+68] - 0002a 89 41 0c mov DWORD PTR [ecx+12], eax - -; 835 : return UNZ_OK; - - 0002d 33 c0 xor eax, eax - -; 836 : } - - 0002f 5d pop ebp - 00030 c2 08 00 ret 8 -_unzGetGlobalInfo64@8 ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _strcmpcasenosensitive_internal -_TEXT SEGMENT -_strcmpcasenosensitive_internal PROC ; COMDAT -; _fileName1$ = ecx -; _fileName2$ = eax - -; 350 : { - - 00000 56 push esi - 00001 57 push edi - 00002 8b f0 mov esi, eax - -; 367 : } - - 00004 8b f9 mov edi, ecx - 00006 2b fe sub edi, esi -$LL8@strcmpcase: - -; 351 : for (;;) -; 352 : { -; 353 : char c1=*(fileName1++); -; 354 : char c2=*(fileName2++); - - 00008 8a 04 37 mov al, BYTE PTR [edi+esi] - 0000b 8a 0e mov cl, BYTE PTR [esi] - 0000d 46 inc esi - -; 355 : if ((c1>='a') && (c1<='z')) - - 0000e 8d 50 9f lea edx, DWORD PTR [eax-97] - 00011 80 fa 19 cmp dl, 25 ; 00000019H - 00014 77 02 ja SHORT $LN6@strcmpcase - -; 356 : c1 -= 0x20; - - 00016 04 e0 add al, -32 ; ffffffe0H -$LN6@strcmpcase: - -; 357 : if ((c2>='a') && (c2<='z')) - - 00018 8d 51 9f lea edx, DWORD PTR [ecx-97] - 0001b 80 fa 19 cmp dl, 25 ; 00000019H - 0001e 77 03 ja SHORT $LN5@strcmpcase - -; 358 : c2 -= 0x20; - - 00020 80 c1 e0 add cl, -32 ; ffffffe0H -$LN5@strcmpcase: - -; 359 : if (c1=='\0') - - 00023 84 c0 test al, al - 00025 74 12 je SHORT $LN13@strcmpcase - -; 361 : if (c2=='\0') - - 00027 84 c9 test cl, cl - 00029 74 06 je SHORT $LN16@strcmpcase - -; 362 : return 1; -; 363 : if (c1c2) - - 0002f 7e d7 jle SHORT $LL8@strcmpcase -$LN16@strcmpcase: - 00031 5f pop edi - -; 366 : return 1; - - 00032 b8 01 00 00 00 mov eax, 1 - 00037 5e pop esi - -; 368 : } - - 00038 c3 ret 0 -$LN13@strcmpcase: - -; 360 : return ((c2=='\0') ? 0 : -1); - - 00039 0f be c1 movsx eax, cl - 0003c f7 d8 neg eax - 0003e 5f pop edi - 0003f 1b c0 sbb eax, eax - 00041 5e pop esi - -; 368 : } - - 00042 c3 ret 0 -$LN15@strcmpcase: - 00043 5f pop edi - -; 364 : return -1; - - 00044 83 c8 ff or eax, -1 - 00047 5e pop esi - -; 368 : } - - 00048 c3 ret 0 -_strcmpcasenosensitive_internal ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _unz64local_getByte -_TEXT SEGMENT -_c$ = -1 ; size = 1 -_pi$ = 8 ; size = 4 -_unz64local_getByte PROC ; COMDAT -; _pzlib_filefunc_def$ = esi -; _filestream$ = edi - -; 213 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - -; 214 : unsigned char c; -; 215 : int err = (int)ZREAD64(*pzlib_filefunc_def,filestream,&c,1); - - 00004 8b 4e 1c mov ecx, DWORD PTR [esi+28] - 00007 8b 56 04 mov edx, DWORD PTR [esi+4] - 0000a 6a 01 push 1 - 0000c 8d 45 ff lea eax, DWORD PTR _c$[ebp] - 0000f 50 push eax - 00010 57 push edi - 00011 51 push ecx - 00012 ff d2 call edx - 00014 83 c4 10 add esp, 16 ; 00000010H - -; 216 : if (err==1) - - 00017 83 f8 01 cmp eax, 1 - 0001a 75 0f jne SHORT $LN4@unz64local - -; 217 : { -; 218 : *pi = (int)c; - - 0001c 0f b6 45 ff movzx eax, BYTE PTR _c$[ebp] - 00020 8b 4d 08 mov ecx, DWORD PTR _pi$[ebp] - 00023 89 01 mov DWORD PTR [ecx], eax - -; 219 : return UNZ_OK; - - 00025 33 c0 xor eax, eax - -; 224 : return UNZ_ERRNO; -; 225 : else -; 226 : return UNZ_EOF; -; 227 : } -; 228 : } - - 00027 8b e5 mov esp, ebp - 00029 5d pop ebp - 0002a c3 ret 0 -$LN4@unz64local: - -; 220 : } -; 221 : else -; 222 : { -; 223 : if (ZERROR64(*pzlib_filefunc_def,filestream)) - - 0002b 8b 56 1c mov edx, DWORD PTR [esi+28] - 0002e 8b 46 18 mov eax, DWORD PTR [esi+24] - 00031 57 push edi - 00032 52 push edx - 00033 ff d0 call eax - 00035 83 c4 08 add esp, 8 - 00038 f7 d8 neg eax - 0003a 1b c0 sbb eax, eax - -; 224 : return UNZ_ERRNO; -; 225 : else -; 226 : return UNZ_EOF; -; 227 : } -; 228 : } - - 0003c 8b e5 mov esp, ebp - 0003e 5d pop ebp - 0003f c3 ret 0 -_unz64local_getByte ENDP -PUBLIC _unzGetGlobalComment@12 -; Function compile flags: /Ogtp -; COMDAT _unzGetGlobalComment@12 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_szComment$ = 12 ; size = 4 -_uSizeBuf$ = 16 ; size = 4 -_unzGetGlobalComment@12 PROC ; COMDAT - -; 2052 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 57 push edi - -; 2053 : unz64_s* s; -; 2054 : uLong uReadThis ; -; 2055 : if (file==NULL) - - 00004 8b 7d 08 mov edi, DWORD PTR _file$[ebp] - 00007 85 ff test edi, edi - 00009 75 08 jne SHORT $LN6@unzGetGlob@3 - -; 2056 : return (int)UNZ_PARAMERROR; - - 0000b 8d 47 9a lea eax, DWORD PTR [edi-102] - 0000e 5f pop edi - -; 2076 : } - - 0000f 5d pop ebp - 00010 c2 0c 00 ret 12 ; 0000000cH -$LN6@unzGetGlob@3: - -; 2057 : s=(unz64_s*)file; -; 2058 : -; 2059 : uReadThis = uSizeBuf; -; 2060 : if (uReadThis>s->gi.size_comment) - - 00013 8b 47 40 mov eax, DWORD PTR [edi+64] - 00016 53 push ebx - 00017 8b 5d 10 mov ebx, DWORD PTR _uSizeBuf$[ebp] - 0001a 3b d8 cmp ebx, eax - 0001c 76 02 jbe SHORT $LN5@unzGetGlob@3 - -; 2061 : uReadThis = s->gi.size_comment; - - 0001e 8b d8 mov ebx, eax -$LN5@unzGetGlob@3: - -; 2062 : -; 2063 : if (ZSEEK64(s->z_filefunc,s->filestream,s->central_pos+22,ZLIB_FILEFUNC_SEEK_SET)!=0) - - 00020 8b 47 68 mov eax, DWORD PTR [edi+104] - 00023 8b 4f 6c mov ecx, DWORD PTR [edi+108] - 00026 83 c0 16 add eax, 22 ; 00000016H - 00029 56 push esi - 0002a 8b 77 30 mov esi, DWORD PTR [edi+48] - 0002d 83 d1 00 adc ecx, 0 - 00030 51 push ecx - 00031 50 push eax - 00032 33 d2 xor edx, edx - 00034 8b c7 mov eax, edi - 00036 e8 00 00 00 00 call _call_zseek64 - 0003b 83 c4 08 add esp, 8 - 0003e 85 c0 test eax, eax - -; 2064 : return UNZ_ERRNO; - - 00040 75 1f jne SHORT $LN12@unzGetGlob@3 - -; 2065 : -; 2066 : if (uReadThis>0) - - 00042 8b 75 0c mov esi, DWORD PTR _szComment$[ebp] - 00045 85 db test ebx, ebx - 00047 74 22 je SHORT $LN9@unzGetGlob@3 - -; 2067 : { -; 2068 : *szComment='\0'; - - 00049 88 06 mov BYTE PTR [esi], al - -; 2069 : if (ZREAD64(s->z_filefunc,s->filestream,szComment,uReadThis)!=uReadThis) - - 0004b 8b 57 30 mov edx, DWORD PTR [edi+48] - 0004e 8b 47 1c mov eax, DWORD PTR [edi+28] - 00051 8b 4f 04 mov ecx, DWORD PTR [edi+4] - 00054 53 push ebx - 00055 56 push esi - 00056 52 push edx - 00057 50 push eax - 00058 ff d1 call ecx - 0005a 83 c4 10 add esp, 16 ; 00000010H - 0005d 3b c3 cmp eax, ebx - 0005f 74 0a je SHORT $LN9@unzGetGlob@3 -$LN12@unzGetGlob@3: - 00061 5e pop esi - 00062 5b pop ebx - -; 2070 : return UNZ_ERRNO; - - 00063 83 c8 ff or eax, -1 - 00066 5f pop edi - -; 2076 : } - - 00067 5d pop ebp - 00068 c2 0c 00 ret 12 ; 0000000cH -$LN9@unzGetGlob@3: - -; 2071 : } -; 2072 : -; 2073 : if ((szComment != NULL) && (uSizeBuf > s->gi.size_comment)) - - 0006b 85 f6 test esi, esi - 0006d 74 0c je SHORT $LN1@unzGetGlob@3 - 0006f 8b 7f 40 mov edi, DWORD PTR [edi+64] - 00072 39 7d 10 cmp DWORD PTR _uSizeBuf$[ebp], edi - 00075 76 04 jbe SHORT $LN1@unzGetGlob@3 - -; 2074 : *(szComment+s->gi.size_comment)='\0'; - - 00077 c6 04 37 00 mov BYTE PTR [edi+esi], 0 -$LN1@unzGetGlob@3: - 0007b 5e pop esi - -; 2075 : return (int)uReadThis; - - 0007c 8b c3 mov eax, ebx - 0007e 5b pop ebx - 0007f 5f pop edi - -; 2076 : } - - 00080 5d pop ebp - 00081 c2 0c 00 ret 12 ; 0000000cH -_unzGetGlobalComment@12 ENDP -_TEXT ENDS -PUBLIC _unzCloseCurrentFile@4 -; Function compile flags: /Ogtp -; COMDAT _unzCloseCurrentFile@4 -_TEXT SEGMENT -_err$ = -4 ; size = 4 -_file$ = 8 ; size = 4 -_unzCloseCurrentFile@4 PROC ; COMDAT - -; 2005 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 57 push edi - -; 2006 : int err=UNZ_OK; -; 2007 : -; 2008 : unz64_s* s; -; 2009 : file_in_zip64_read_info_s* pfile_in_zip_read_info; -; 2010 : if (file==NULL) - - 00005 8b 7d 08 mov edi, DWORD PTR _file$[ebp] - 00008 c7 45 fc 00 00 - 00 00 mov DWORD PTR _err$[ebp], 0 - 0000f 85 ff test edi, edi - 00011 75 0a jne SHORT $LN7@unzCloseCu - -; 2011 : return UNZ_PARAMERROR; - - 00013 8d 47 9a lea eax, DWORD PTR [edi-102] - 00016 5f pop edi - -; 2043 : } - - 00017 8b e5 mov esp, ebp - 00019 5d pop ebp - 0001a c2 04 00 ret 4 -$LN7@unzCloseCu: - 0001d 56 push esi - -; 2012 : s=(unz64_s*)file; -; 2013 : pfile_in_zip_read_info=s->pfile_in_zip_read; - - 0001e 8b b7 e0 00 00 - 00 mov esi, DWORD PTR [edi+224] - -; 2014 : -; 2015 : if (pfile_in_zip_read_info==NULL) - - 00024 85 f6 test esi, esi - 00026 75 0b jne SHORT $LN6@unzCloseCu - -; 2016 : return UNZ_PARAMERROR; - - 00028 8d 46 9a lea eax, DWORD PTR [esi-102] - 0002b 5e pop esi - 0002c 5f pop edi - -; 2043 : } - - 0002d 8b e5 mov esp, ebp - 0002f 5d pop ebp - 00030 c2 04 00 ret 4 -$LN6@unzCloseCu: - -; 2017 : -; 2018 : -; 2019 : if ((pfile_in_zip_read_info->rest_read_uncompressed == 0) && -; 2020 : (!pfile_in_zip_read_info->raw)) - - 00033 8b 86 80 00 00 - 00 mov eax, DWORD PTR [esi+128] - 00039 0b 86 84 00 00 - 00 or eax, DWORD PTR [esi+132] - 0003f 75 17 jne SHORT $LN4@unzCloseCu - 00041 39 86 c8 00 00 - 00 cmp DWORD PTR [esi+200], eax - 00047 75 0f jne SHORT $LN4@unzCloseCu - -; 2021 : { -; 2022 : if (pfile_in_zip_read_info->crc32 != pfile_in_zip_read_info->crc32_wait) - - 00049 8b 4e 70 mov ecx, DWORD PTR [esi+112] - 0004c 3b 4e 74 cmp ecx, DWORD PTR [esi+116] - 0004f 74 07 je SHORT $LN4@unzCloseCu - -; 2023 : err=UNZ_CRCERROR; - - 00051 c7 45 fc 97 ff - ff ff mov DWORD PTR _err$[ebp], -105 ; ffffff97H -$LN4@unzCloseCu: - -; 2024 : } -; 2025 : -; 2026 : -; 2027 : TRYFREE(pfile_in_zip_read_info->read_buffer); - - 00058 8b 06 mov eax, DWORD PTR [esi] - 0005a 85 c0 test eax, eax - 0005c 74 09 je SHORT $LN3@unzCloseCu - 0005e 50 push eax - 0005f e8 00 00 00 00 call _free - 00064 83 c4 04 add esp, 4 -$LN3@unzCloseCu: - -; 2028 : pfile_in_zip_read_info->read_buffer = NULL; -; 2029 : if (pfile_in_zip_read_info->stream_initialised == Z_DEFLATED) - - 00067 83 7e 48 08 cmp DWORD PTR [esi+72], 8 - 0006b c7 06 00 00 00 - 00 mov DWORD PTR [esi], 0 - 00071 75 09 jne SHORT $LN2@unzCloseCu - -; 2030 : inflateEnd(&pfile_in_zip_read_info->stream); - - 00073 8d 56 04 lea edx, DWORD PTR [esi+4] - 00076 52 push edx - 00077 e8 00 00 00 00 call _inflateEnd@4 -$LN2@unzCloseCu: - -; 2031 : #ifdef HAVE_BZIP2 -; 2032 : else if (pfile_in_zip_read_info->stream_initialised == Z_BZIP2ED) -; 2033 : BZ2_bzDecompressEnd(&pfile_in_zip_read_info->bstream); -; 2034 : #endif -; 2035 : -; 2036 : -; 2037 : pfile_in_zip_read_info->stream_initialised = 0; -; 2038 : TRYFREE(pfile_in_zip_read_info); - - 0007c 56 push esi - 0007d c7 46 48 00 00 - 00 00 mov DWORD PTR [esi+72], 0 - 00084 e8 00 00 00 00 call _free - -; 2039 : -; 2040 : s->pfile_in_zip_read=NULL; -; 2041 : -; 2042 : return err; - - 00089 8b 45 fc mov eax, DWORD PTR _err$[ebp] - 0008c 83 c4 04 add esp, 4 - 0008f 5e pop esi - 00090 c7 87 e0 00 00 - 00 00 00 00 00 mov DWORD PTR [edi+224], 0 - 0009a 5f pop edi - -; 2043 : } - - 0009b 8b e5 mov esp, ebp - 0009d 5d pop ebp - 0009e c2 04 00 ret 4 -_unzCloseCurrentFile@4 ENDP -_TEXT ENDS -PUBLIC _unzGetLocalExtrafield@12 -; Function compile flags: /Ogtp -; COMDAT _unzGetLocalExtrafield@12 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_buf$ = 12 ; size = 4 -_len$ = 16 ; size = 4 -_unzGetLocalExtrafield@12 PROC ; COMDAT - -; 1957 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 51 push ecx - -; 1958 : unz64_s* s; -; 1959 : file_in_zip64_read_info_s* pfile_in_zip_read_info; -; 1960 : uInt read_now; -; 1961 : ZPOS64_T size_to_read; -; 1962 : -; 1963 : if (file==NULL) - - 00007 8b 45 08 mov eax, DWORD PTR _file$[ebp] - 0000a 53 push ebx - 0000b 56 push esi - 0000c 57 push edi - 0000d 85 c0 test eax, eax - 0000f 75 0e jne SHORT $LN8@unzGetLoca -$LN13@unzGetLoca: - -; 1964 : return UNZ_PARAMERROR; - - 00011 b8 9a ff ff ff mov eax, -102 ; ffffff9aH - -; 1998 : } - - 00016 5f pop edi - 00017 5e pop esi - 00018 5b pop ebx - 00019 8b e5 mov esp, ebp - 0001b 5d pop ebp - 0001c c2 0c 00 ret 12 ; 0000000cH -$LN8@unzGetLoca: - -; 1965 : s=(unz64_s*)file; -; 1966 : pfile_in_zip_read_info=s->pfile_in_zip_read; - - 0001f 8b b8 e0 00 00 - 00 mov edi, DWORD PTR [eax+224] - -; 1967 : -; 1968 : if (pfile_in_zip_read_info==NULL) - - 00025 85 ff test edi, edi - -; 1969 : return UNZ_PARAMERROR; - - 00027 74 e8 je SHORT $LN13@unzGetLoca - -; 1970 : -; 1971 : size_to_read = (pfile_in_zip_read_info->size_local_extrafield - -; 1972 : pfile_in_zip_read_info->pos_local_extrafield); - - 00029 8b 57 60 mov edx, DWORD PTR [edi+96] - 0002c 8b 47 58 mov eax, DWORD PTR [edi+88] - 0002f 8b 77 64 mov esi, DWORD PTR [edi+100] - 00032 33 c9 xor ecx, ecx - 00034 2b c2 sub eax, edx - 00036 1b ce sbb ecx, esi - -; 1973 : -; 1974 : if (buf==NULL) - - 00038 83 7d 0c 00 cmp DWORD PTR _buf$[ebp], 0 - -; 1975 : return (int)size_to_read; - - 0003c 74 79 je SHORT $LN9@unzGetLoca - -; 1976 : -; 1977 : if (len>size_to_read) - - 0003e 33 db xor ebx, ebx - 00040 3b d9 cmp ebx, ecx - 00042 72 0b jb SHORT $LN5@unzGetLoca - 00044 77 05 ja SHORT $LN11@unzGetLoca - 00046 39 45 10 cmp DWORD PTR _len$[ebp], eax - 00049 76 04 jbe SHORT $LN5@unzGetLoca -$LN11@unzGetLoca: - -; 1978 : read_now = (uInt)size_to_read; - - 0004b 8b d8 mov ebx, eax - -; 1979 : else - - 0004d eb 03 jmp SHORT $LN4@unzGetLoca -$LN5@unzGetLoca: - -; 1980 : read_now = (uInt)len ; - - 0004f 8b 5d 10 mov ebx, DWORD PTR _len$[ebp] -$LN4@unzGetLoca: - -; 1981 : -; 1982 : if (read_now==0) - - 00052 85 db test ebx, ebx - 00054 75 0b jne SHORT $LN3@unzGetLoca - -; 1983 : return 0; - - 00056 33 c0 xor eax, eax - -; 1998 : } - - 00058 5f pop edi - 00059 5e pop esi - 0005a 5b pop ebx - 0005b 8b e5 mov esp, ebp - 0005d 5d pop ebp - 0005e c2 0c 00 ret 12 ; 0000000cH -$LN3@unzGetLoca: - -; 1984 : -; 1985 : if (ZSEEK64(pfile_in_zip_read_info->z_filefunc, -; 1986 : pfile_in_zip_read_info->filestream, -; 1987 : pfile_in_zip_read_info->offset_local_extrafield + -; 1988 : pfile_in_zip_read_info->pos_local_extrafield, -; 1989 : ZLIB_FILEFUNC_SEEK_SET)!=0) - - 00061 8b 47 50 mov eax, DWORD PTR [edi+80] - 00064 8b 4f 54 mov ecx, DWORD PTR [edi+84] - 00067 03 c2 add eax, edx - 00069 13 ce adc ecx, esi - 0006b 8b b7 b4 00 00 - 00 mov esi, DWORD PTR [edi+180] - 00071 51 push ecx - 00072 50 push eax - 00073 8d 87 88 00 00 - 00 lea eax, DWORD PTR [edi+136] - 00079 33 d2 xor edx, edx - 0007b e8 00 00 00 00 call _call_zseek64 - 00080 83 c4 08 add esp, 8 - 00083 85 c0 test eax, eax - 00085 74 0c je SHORT $LN2@unzGetLoca -$LN14@unzGetLoca: - -; 1990 : return UNZ_ERRNO; - - 00087 83 c8 ff or eax, -1 - -; 1998 : } - - 0008a 5f pop edi - 0008b 5e pop esi - 0008c 5b pop ebx - 0008d 8b e5 mov esp, ebp - 0008f 5d pop ebp - 00090 c2 0c 00 ret 12 ; 0000000cH -$LN2@unzGetLoca: - -; 1991 : -; 1992 : if (ZREAD64(pfile_in_zip_read_info->z_filefunc, -; 1993 : pfile_in_zip_read_info->filestream, -; 1994 : buf,read_now)!=read_now) - - 00093 8b 55 0c mov edx, DWORD PTR _buf$[ebp] - 00096 8b 87 b4 00 00 - 00 mov eax, DWORD PTR [edi+180] - 0009c 8b 8f a4 00 00 - 00 mov ecx, DWORD PTR [edi+164] - 000a2 53 push ebx - 000a3 52 push edx - 000a4 8b 97 8c 00 00 - 00 mov edx, DWORD PTR [edi+140] - 000aa 50 push eax - 000ab 51 push ecx - 000ac ff d2 call edx - 000ae 83 c4 10 add esp, 16 ; 00000010H - 000b1 3b c3 cmp eax, ebx - -; 1995 : return UNZ_ERRNO; - - 000b3 75 d2 jne SHORT $LN14@unzGetLoca - -; 1996 : -; 1997 : return (int)read_now; - - 000b5 8b c3 mov eax, ebx -$LN9@unzGetLoca: - -; 1998 : } - - 000b7 5f pop edi - 000b8 5e pop esi - 000b9 5b pop ebx - 000ba 8b e5 mov esp, ebp - 000bc 5d pop ebp - 000bd c2 0c 00 ret 12 ; 0000000cH -_unzGetLocalExtrafield@12 ENDP -_TEXT ENDS -PUBLIC _unzGetFilePos@8 -; Function compile flags: /Ogtp -; COMDAT _unzGetFilePos@8 -_TEXT SEGMENT -_file_pos64$ = -16 ; size = 16 -_file$ = 8 ; size = 4 -_file_pos$ = 12 ; size = 4 -_unzGetFilePos@8 PROC ; COMDAT - -; 1327 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1328 : unz64_file_pos file_pos64; -; 1329 : int err = unzGetFilePos64(file,&file_pos64); - - 00003 8b 4d 08 mov ecx, DWORD PTR _file$[ebp] - 00006 83 ec 10 sub esp, 16 ; 00000010H - 00009 8d 45 f0 lea eax, DWORD PTR _file_pos64$[ebp] - 0000c 50 push eax - 0000d 51 push ecx - 0000e e8 00 00 00 00 call _unzGetFilePos64@8 - -; 1330 : if (err==UNZ_OK) - - 00013 85 c0 test eax, eax - 00015 75 0e jne SHORT $LN1@unzGetFile@2 - -; 1331 : { -; 1332 : file_pos->pos_in_zip_directory = (uLong)file_pos64.pos_in_zip_directory; - - 00017 8b 4d 0c mov ecx, DWORD PTR _file_pos$[ebp] - 0001a 8b 55 f0 mov edx, DWORD PTR _file_pos64$[ebp] - 0001d 89 11 mov DWORD PTR [ecx], edx - -; 1333 : file_pos->num_of_file = (uLong)file_pos64.num_of_file; - - 0001f 8b 55 f8 mov edx, DWORD PTR _file_pos64$[ebp+8] - 00022 89 51 04 mov DWORD PTR [ecx+4], edx -$LN1@unzGetFile@2: - -; 1334 : } -; 1335 : return err; -; 1336 : } - - 00025 8b e5 mov esp, ebp - 00027 5d pop ebp - 00028 c2 08 00 ret 8 -_unzGetFilePos@8 ENDP -_TEXT ENDS -PUBLIC _unzClose@4 -; Function compile flags: /Ogtp -; COMDAT _unzClose@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_unzClose@4 PROC ; COMDAT - -; 809 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 810 : unz64_s* s; -; 811 : if (file==NULL) - - 00004 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 00007 85 f6 test esi, esi - 00009 75 08 jne SHORT $LN3@unzClose - -; 812 : return UNZ_PARAMERROR; - - 0000b 8d 46 9a lea eax, DWORD PTR [esi-102] - 0000e 5e pop esi - -; 821 : } - - 0000f 5d pop ebp - 00010 c2 04 00 ret 4 -$LN3@unzClose: - -; 813 : s=(unz64_s*)file; -; 814 : -; 815 : if (s->pfile_in_zip_read!=NULL) - - 00013 83 be e0 00 00 - 00 00 cmp DWORD PTR [esi+224], 0 - 0001a 74 06 je SHORT $LN2@unzClose - -; 816 : unzCloseCurrentFile(file); - - 0001c 56 push esi - 0001d e8 00 00 00 00 call _unzCloseCurrentFile@4 -$LN2@unzClose: - -; 817 : -; 818 : ZCLOSE64(s->z_filefunc, s->filestream); - - 00022 8b 46 30 mov eax, DWORD PTR [esi+48] - 00025 8b 4e 1c mov ecx, DWORD PTR [esi+28] - 00028 8b 56 14 mov edx, DWORD PTR [esi+20] - 0002b 50 push eax - 0002c 51 push ecx - 0002d ff d2 call edx - -; 819 : TRYFREE(s); - - 0002f 56 push esi - 00030 e8 00 00 00 00 call _free - 00035 83 c4 0c add esp, 12 ; 0000000cH - -; 820 : return UNZ_OK; - - 00038 33 c0 xor eax, eax - 0003a 5e pop esi - -; 821 : } - - 0003b 5d pop ebp - 0003c c2 04 00 ret 4 -_unzClose@4 ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _unz64local_SearchCentralDir -_TEXT SEGMENT -_uSizeFile$ = -40 ; size = 8 -_uPosFound$ = -32 ; size = 8 -_uBackRead$ = -24 ; size = 8 -_uMaxBack$ = -16 ; size = 8 -_uReadSize$82264 = -8 ; size = 4 -_buf$ = -4 ; size = 4 -_pzlib_filefunc_def$ = 8 ; size = 4 -_filestream$ = 12 ; size = 4 -_unz64local_SearchCentralDir PROC ; COMDAT - -; 414 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 2c sub esp, 44 ; 0000002cH - 00006 53 push ebx - -; 415 : unsigned char* buf; -; 416 : ZPOS64_T uSizeFile; -; 417 : ZPOS64_T uBackRead; -; 418 : ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */ -; 419 : ZPOS64_T uPosFound=0; -; 420 : -; 421 : if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0) - - 00007 8b 5d 08 mov ebx, DWORD PTR _pzlib_filefunc_def$[ebp] - 0000a 56 push esi - 0000b 8b 75 0c mov esi, DWORD PTR _filestream$[ebp] - 0000e 57 push edi - 0000f 33 ff xor edi, edi - 00011 57 push edi - 00012 57 push edi - 00013 8d 57 02 lea edx, DWORD PTR [edi+2] - 00016 8b c3 mov eax, ebx - 00018 c7 45 f0 ff ff - 00 00 mov DWORD PTR _uMaxBack$[ebp], 65535 ; 0000ffffH - 0001f 89 7d f4 mov DWORD PTR _uMaxBack$[ebp+4], edi - 00022 89 7d e0 mov DWORD PTR _uPosFound$[ebp], edi - 00025 89 7d e4 mov DWORD PTR _uPosFound$[ebp+4], edi - 00028 e8 00 00 00 00 call _call_zseek64 - 0002d 83 c4 08 add esp, 8 - 00030 85 c0 test eax, eax - 00032 74 0b je SHORT $LN14@unz64local@2 -$LN40@unz64local@2: - -; 422 : return 0; - - 00034 33 c0 xor eax, eax - 00036 33 d2 xor edx, edx - -; 467 : } - - 00038 5f pop edi - 00039 5e pop esi - 0003a 5b pop ebx - 0003b 8b e5 mov esp, ebp - 0003d 5d pop ebp - 0003e c3 ret 0 -$LN14@unz64local@2: - -; 423 : -; 424 : -; 425 : uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream); - - 0003f 8b ce mov ecx, esi - 00041 8b c3 mov eax, ebx - 00043 e8 00 00 00 00 call _call_ztell64 - 00048 8b da mov ebx, edx - 0004a 8b f0 mov esi, eax - 0004c 89 75 d8 mov DWORD PTR _uSizeFile$[ebp], esi - 0004f 89 5d dc mov DWORD PTR _uSizeFile$[ebp+4], ebx - -; 426 : -; 427 : if (uMaxBack>uSizeFile) - - 00052 85 db test ebx, ebx - 00054 77 12 ja SHORT $LN13@unz64local@2 - 00056 72 08 jb SHORT $LN27@unz64local@2 - 00058 81 fe ff ff 00 - 00 cmp esi, 65535 ; 0000ffffH - 0005e 73 08 jae SHORT $LN13@unz64local@2 -$LN27@unz64local@2: - -; 428 : uMaxBack = uSizeFile; - - 00060 89 75 f0 mov DWORD PTR _uMaxBack$[ebp], esi - 00063 89 5d f4 mov DWORD PTR _uMaxBack$[ebp+4], ebx - 00066 8b fb mov edi, ebx -$LN13@unz64local@2: - -; 429 : -; 430 : buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); - - 00068 68 04 04 00 00 push 1028 ; 00000404H - 0006d e8 00 00 00 00 call _malloc - 00072 83 c4 04 add esp, 4 - 00075 89 45 fc mov DWORD PTR _buf$[ebp], eax - -; 431 : if (buf==NULL) - - 00078 85 c0 test eax, eax - -; 432 : return 0; - - 0007a 74 b8 je SHORT $LN40@unz64local@2 - -; 433 : -; 434 : uBackRead = 4; - - 0007c 33 c9 xor ecx, ecx - 0007e ba 04 00 00 00 mov edx, 4 - -; 435 : while (uBackReaduMaxBack) - - 000b2 81 c2 00 04 00 - 00 add edx, 1024 ; 00000400H - 000b8 83 d1 00 adc ecx, 0 - 000bb 3b cf cmp ecx, edi - 000bd 72 0e jb SHORT $LN9@unz64local@2 - 000bf 77 04 ja SHORT $LN29@unz64local@2 - 000c1 3b d0 cmp edx, eax - 000c3 76 08 jbe SHORT $LN9@unz64local@2 -$LN29@unz64local@2: - -; 441 : uBackRead = uMaxBack; - - 000c5 89 45 e8 mov DWORD PTR _uBackRead$[ebp], eax - 000c8 89 7d ec mov DWORD PTR _uBackRead$[ebp+4], edi - -; 442 : else - - 000cb eb 06 jmp SHORT $LN8@unz64local@2 -$LN9@unz64local@2: - -; 443 : uBackRead+=BUFREADCOMMENT; - - 000cd 89 55 e8 mov DWORD PTR _uBackRead$[ebp], edx - 000d0 89 4d ec mov DWORD PTR _uBackRead$[ebp+4], ecx -$LN8@unz64local@2: - -; 444 : uReadPos = uSizeFile-uBackRead ; -; 445 : -; 446 : uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? -; 447 : (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos); - - 000d3 8b 45 dc mov eax, DWORD PTR _uSizeFile$[ebp+4] - 000d6 8b fe mov edi, esi - 000d8 2b 7d e8 sub edi, DWORD PTR _uBackRead$[ebp] - 000db 8b ce mov ecx, esi - 000dd 1b 5d ec sbb ebx, DWORD PTR _uBackRead$[ebp+4] - 000e0 2b cf sub ecx, edi - 000e2 1b c3 sbb eax, ebx - 000e4 85 c0 test eax, eax - 000e6 72 13 jb SHORT $LN17@unz64local@2 - 000e8 77 08 ja SHORT $LN30@unz64local@2 - 000ea 81 f9 04 04 00 - 00 cmp ecx, 1028 ; 00000404H - 000f0 76 09 jbe SHORT $LN17@unz64local@2 -$LN30@unz64local@2: - 000f2 c7 45 f8 04 04 - 00 00 mov DWORD PTR _uReadSize$82264[ebp], 1028 ; 00000404H - 000f9 eb 05 jmp SHORT $LN18@unz64local@2 -$LN17@unz64local@2: - 000fb 2b f7 sub esi, edi - 000fd 89 75 f8 mov DWORD PTR _uReadSize$82264[ebp], esi -$LN18@unz64local@2: - -; 448 : if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) - - 00100 8b 75 0c mov esi, DWORD PTR _filestream$[ebp] - 00103 8b 45 08 mov eax, DWORD PTR _pzlib_filefunc_def$[ebp] - 00106 53 push ebx - 00107 57 push edi - 00108 33 d2 xor edx, edx - 0010a e8 00 00 00 00 call _call_zseek64 - 0010f 83 c4 08 add esp, 8 - 00112 85 c0 test eax, eax - 00114 75 78 jne SHORT $LN31@unz64local@2 - -; 449 : break; -; 450 : -; 451 : if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) - - 00116 8b 75 f8 mov esi, DWORD PTR _uReadSize$82264[ebp] - 00119 8b 45 fc mov eax, DWORD PTR _buf$[ebp] - 0011c 8b 4d 0c mov ecx, DWORD PTR _filestream$[ebp] - 0011f 56 push esi - 00120 50 push eax - 00121 8b 45 08 mov eax, DWORD PTR _pzlib_filefunc_def$[ebp] - 00124 8b 50 1c mov edx, DWORD PTR [eax+28] - 00127 8b 40 04 mov eax, DWORD PTR [eax+4] - 0012a 51 push ecx - 0012b 52 push edx - 0012c ff d0 call eax - 0012e 83 c4 10 add esp, 16 ; 00000010H - 00131 3b c6 cmp eax, esi - 00133 75 59 jne SHORT $LN31@unz64local@2 - -; 452 : break; -; 453 : -; 454 : for (i=(int)uReadSize-3; (i--)>0;) - - 00135 8d 46 fd lea eax, DWORD PTR [esi-3] - 00138 85 c0 test eax, eax - 0013a 7e 38 jle SHORT $LN26@unz64local@2 - 0013c 8d 64 24 00 npad 4 -$LL5@unz64local@2: - -; 455 : if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && -; 456 : ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06)) - - 00140 8b 4d fc mov ecx, DWORD PTR _buf$[ebp] - 00143 48 dec eax - 00144 80 3c 08 50 cmp BYTE PTR [eax+ecx], 80 ; 00000050H - 00148 75 15 jne SHORT $LN3@unz64local@2 - 0014a 80 7c 08 01 4b cmp BYTE PTR [eax+ecx+1], 75 ; 0000004bH - 0014f 75 0e jne SHORT $LN3@unz64local@2 - 00151 80 7c 08 02 05 cmp BYTE PTR [eax+ecx+2], 5 - 00156 75 07 jne SHORT $LN3@unz64local@2 - 00158 80 7c 08 03 06 cmp BYTE PTR [eax+ecx+3], 6 - 0015d 74 06 je SHORT $LN21@unz64local@2 -$LN3@unz64local@2: - -; 452 : break; -; 453 : -; 454 : for (i=(int)uReadSize-3; (i--)>0;) - - 0015f 85 c0 test eax, eax - 00161 7f dd jg SHORT $LL5@unz64local@2 - -; 459 : break; -; 460 : } -; 461 : -; 462 : if (uPosFound!=0) - - 00163 eb 0f jmp SHORT $LN26@unz64local@2 -$LN21@unz64local@2: - -; 457 : { -; 458 : uPosFound = uReadPos+i; - - 00165 99 cdq - 00166 03 c7 add eax, edi - 00168 13 d3 adc edx, ebx - 0016a 89 45 e0 mov DWORD PTR _uPosFound$[ebp], eax - -; 459 : break; -; 460 : } -; 461 : -; 462 : if (uPosFound!=0) - - 0016d 0b c2 or eax, edx - 0016f 89 55 e4 mov DWORD PTR _uPosFound$[ebp+4], edx - 00172 75 1a jne SHORT $LN31@unz64local@2 -$LN26@unz64local@2: - -; 435 : while (uBackReadpfile_in_zip_read; - - 00027 8b b8 e0 00 00 - 00 mov edi, DWORD PTR [eax+224] - -; 1694 : -; 1695 : if (pfile_in_zip_read_info==NULL) - - 0002d 3b fa cmp edi, edx - -; 1696 : return UNZ_PARAMERROR; - - 0002f 74 e8 je SHORT $LN47@unzReadCur - -; 1697 : -; 1698 : -; 1699 : if (pfile_in_zip_read_info->read_buffer == NULL) - - 00031 39 17 cmp DWORD PTR [edi], edx - 00033 75 0e jne SHORT $LN26@unzReadCur - -; 1700 : return UNZ_END_OF_LIST_OF_FILE; - - 00035 b8 9c ff ff ff mov eax, -100 ; ffffff9cH - -; 1882 : return err; -; 1883 : } - - 0003a 5f pop edi - 0003b 5e pop esi - 0003c 5b pop ebx - 0003d 8b e5 mov esp, ebp - 0003f 5d pop ebp - 00040 c2 0c 00 ret 12 ; 0000000cH -$LN26@unzReadCur: - -; 1701 : if (len==0) - - 00043 8b 5d 10 mov ebx, DWORD PTR _len$[ebp] - 00046 3b da cmp ebx, edx - 00048 75 0b jne SHORT $LN25@unzReadCur -$LN33@unzReadCur: - -; 1702 : return 0; - - 0004a 33 c0 xor eax, eax - -; 1882 : return err; -; 1883 : } - - 0004c 5f pop edi - 0004d 5e pop esi - 0004e 5b pop ebx - 0004f 8b e5 mov esp, ebp - 00051 5d pop ebp - 00052 c2 0c 00 ret 12 ; 0000000cH -$LN25@unzReadCur: - -; 1703 : -; 1704 : pfile_in_zip_read_info->stream.next_out = (Bytef*)buf; - - 00055 8b 45 0c mov eax, DWORD PTR _buf$[ebp] - 00058 89 47 10 mov DWORD PTR [edi+16], eax - -; 1705 : -; 1706 : pfile_in_zip_read_info->stream.avail_out = (uInt)len; - - 0005b 89 5f 14 mov DWORD PTR [edi+20], ebx - -; 1707 : -; 1708 : if ((len>pfile_in_zip_read_info->rest_read_uncompressed) && -; 1709 : (!(pfile_in_zip_read_info->raw))) - - 0005e 3b 97 84 00 00 - 00 cmp edx, DWORD PTR [edi+132] - 00064 72 1b jb SHORT $LN24@unzReadCur - 00066 77 08 ja SHORT $LN42@unzReadCur - 00068 3b 9f 80 00 00 - 00 cmp ebx, DWORD PTR [edi+128] - 0006e 76 11 jbe SHORT $LN24@unzReadCur -$LN42@unzReadCur: - 00070 39 97 c8 00 00 - 00 cmp DWORD PTR [edi+200], edx - 00076 75 09 jne SHORT $LN24@unzReadCur - -; 1710 : pfile_in_zip_read_info->stream.avail_out = -; 1711 : (uInt)pfile_in_zip_read_info->rest_read_uncompressed; - - 00078 8b 8f 80 00 00 - 00 mov ecx, DWORD PTR [edi+128] - 0007e 89 4f 14 mov DWORD PTR [edi+20], ecx -$LN24@unzReadCur: - -; 1712 : -; 1713 : if ((len>pfile_in_zip_read_info->rest_read_compressed+ -; 1714 : pfile_in_zip_read_info->stream.avail_in) && -; 1715 : (pfile_in_zip_read_info->raw)) - - 00081 8b 77 08 mov esi, DWORD PTR [edi+8] - 00084 33 c0 xor eax, eax - 00086 8b ce mov ecx, esi - 00088 03 4f 78 add ecx, DWORD PTR [edi+120] - 0008b 13 47 7c adc eax, DWORD PTR [edi+124] - 0008e 3b d0 cmp edx, eax - 00090 72 16 jb SHORT $LN31@unzReadCur - 00092 77 04 ja SHORT $LN43@unzReadCur - 00094 3b d9 cmp ebx, ecx - 00096 76 10 jbe SHORT $LN31@unzReadCur -$LN43@unzReadCur: - 00098 39 97 c8 00 00 - 00 cmp DWORD PTR [edi+200], edx - 0009e 74 08 je SHORT $LN31@unzReadCur - -; 1716 : pfile_in_zip_read_info->stream.avail_out = -; 1717 : (uInt)pfile_in_zip_read_info->rest_read_compressed+ -; 1718 : pfile_in_zip_read_info->stream.avail_in; - - 000a0 8b 57 78 mov edx, DWORD PTR [edi+120] - 000a3 03 d6 add edx, esi - 000a5 89 57 14 mov DWORD PTR [edi+20], edx -$LN31@unzReadCur: - -; 1719 : -; 1720 : while (pfile_in_zip_read_info->stream.avail_out>0) - - 000a8 83 7f 14 00 cmp DWORD PTR [edi+20], 0 - 000ac 0f 86 c6 01 00 - 00 jbe $LN40@unzReadCur -$LL22@unzReadCur: - -; 1721 : { -; 1722 : if ((pfile_in_zip_read_info->stream.avail_in==0) && -; 1723 : (pfile_in_zip_read_info->rest_read_compressed>0)) - - 000b2 83 7f 08 00 cmp DWORD PTR [edi+8], 0 - 000b6 0f 85 99 00 00 - 00 jne $LN20@unzReadCur - 000bc 8b 47 7c mov eax, DWORD PTR [edi+124] - 000bf 8b 4f 78 mov ecx, DWORD PTR [edi+120] - 000c2 85 c0 test eax, eax - 000c4 75 08 jne SHORT $LN44@unzReadCur - 000c6 85 c9 test ecx, ecx - 000c8 0f 84 87 00 00 - 00 je $LN20@unzReadCur -$LN44@unzReadCur: - -; 1724 : { -; 1725 : uInt uReadThis = UNZ_BUFSIZE; - - 000ce bb 00 40 00 00 mov ebx, 16384 ; 00004000H - -; 1726 : if (pfile_in_zip_read_info->rest_read_compressedrest_read_compressed; - - 000dd 8b 5f 78 mov ebx, DWORD PTR [edi+120] - -; 1728 : if (uReadThis == 0) - - 000e0 85 db test ebx, ebx - 000e2 0f 84 62 ff ff - ff je $LN33@unzReadCur -$LN41@unzReadCur: - -; 1729 : return UNZ_EOF; -; 1730 : if (ZSEEK64(pfile_in_zip_read_info->z_filefunc, -; 1731 : pfile_in_zip_read_info->filestream, -; 1732 : pfile_in_zip_read_info->pos_in_zipfile + -; 1733 : pfile_in_zip_read_info->byte_before_the_zipfile, -; 1734 : ZLIB_FILEFUNC_SEEK_SET)!=0) - - 000e8 8b 87 c0 00 00 - 00 mov eax, DWORD PTR [edi+192] - 000ee 03 47 40 add eax, DWORD PTR [edi+64] - 000f1 8b 8f c4 00 00 - 00 mov ecx, DWORD PTR [edi+196] - 000f7 13 4f 44 adc ecx, DWORD PTR [edi+68] - 000fa 8b b7 b4 00 00 - 00 mov esi, DWORD PTR [edi+180] - 00100 51 push ecx - 00101 50 push eax - 00102 8d 87 88 00 00 - 00 lea eax, DWORD PTR [edi+136] - 00108 33 d2 xor edx, edx - 0010a e8 00 00 00 00 call _call_zseek64 - 0010f 83 c4 08 add esp, 8 - 00112 85 c0 test eax, eax - 00114 0f 85 6b 01 00 - 00 jne $LN34@unzReadCur - -; 1735 : return UNZ_ERRNO; -; 1736 : if (ZREAD64(pfile_in_zip_read_info->z_filefunc, -; 1737 : pfile_in_zip_read_info->filestream, -; 1738 : pfile_in_zip_read_info->read_buffer, -; 1739 : uReadThis)!=uReadThis) - - 0011a 8b 17 mov edx, DWORD PTR [edi] - 0011c 8b 87 b4 00 00 - 00 mov eax, DWORD PTR [edi+180] - 00122 8b 8f a4 00 00 - 00 mov ecx, DWORD PTR [edi+164] - 00128 53 push ebx - 00129 52 push edx - 0012a 8b 97 8c 00 00 - 00 mov edx, DWORD PTR [edi+140] - 00130 50 push eax - 00131 51 push ecx - 00132 ff d2 call edx - 00134 83 c4 10 add esp, 16 ; 00000010H - 00137 3b c3 cmp eax, ebx - 00139 0f 85 46 01 00 - 00 jne $LN34@unzReadCur - -; 1740 : return UNZ_ERRNO; -; 1741 : -; 1742 : -; 1743 : # ifndef NOUNCRYPT -; 1744 : if(s->encrypted) -; 1745 : { -; 1746 : uInt i; -; 1747 : for(i=0;iread_buffer[i] = -; 1749 : zdecode(s->keys,s->pcrc_32_tab, -; 1750 : pfile_in_zip_read_info->read_buffer[i]); -; 1751 : } -; 1752 : # endif -; 1753 : -; 1754 : -; 1755 : pfile_in_zip_read_info->pos_in_zipfile += uReadThis; - - 0013f 33 c0 xor eax, eax - 00141 01 5f 40 add DWORD PTR [edi+64], ebx - -; 1756 : -; 1757 : pfile_in_zip_read_info->rest_read_compressed-=uReadThis; -; 1758 : -; 1759 : pfile_in_zip_read_info->stream.next_in = -; 1760 : (Bytef*)pfile_in_zip_read_info->read_buffer; -; 1761 : pfile_in_zip_read_info->stream.avail_in = (uInt)uReadThis; - - 00144 89 5f 08 mov DWORD PTR [edi+8], ebx - 00147 11 47 44 adc DWORD PTR [edi+68], eax - 0014a 29 5f 78 sub DWORD PTR [edi+120], ebx - 0014d 19 47 7c sbb DWORD PTR [edi+124], eax - 00150 8b 07 mov eax, DWORD PTR [edi] - 00152 89 47 04 mov DWORD PTR [edi+4], eax -$LN20@unzReadCur: - -; 1762 : } -; 1763 : -; 1764 : if ((pfile_in_zip_read_info->compression_method==0) || (pfile_in_zip_read_info->raw)) - - 00155 8b 87 b8 00 00 - 00 mov eax, DWORD PTR [edi+184] - 0015b 85 c0 test eax, eax - 0015d 0f 84 9f 00 00 - 00 je $LN14@unzReadCur - 00163 83 bf c8 00 00 - 00 00 cmp DWORD PTR [edi+200], 0 - 0016a 0f 85 92 00 00 - 00 jne $LN14@unzReadCur - -; 1794 : } -; 1795 : else if (pfile_in_zip_read_info->compression_method==Z_BZIP2ED) - - 00170 83 f8 0c cmp eax, 12 ; 0000000cH - 00173 0f 84 f5 00 00 - 00 je $LN2@unzReadCur - -; 1796 : { -; 1797 : #ifdef HAVE_BZIP2 -; 1798 : uLong uTotalOutBefore,uTotalOutAfter; -; 1799 : const Bytef *bufBefore; -; 1800 : uLong uOutThis; -; 1801 : -; 1802 : pfile_in_zip_read_info->bstream.next_in = (char*)pfile_in_zip_read_info->stream.next_in; -; 1803 : pfile_in_zip_read_info->bstream.avail_in = pfile_in_zip_read_info->stream.avail_in; -; 1804 : pfile_in_zip_read_info->bstream.total_in_lo32 = pfile_in_zip_read_info->stream.total_in; -; 1805 : pfile_in_zip_read_info->bstream.total_in_hi32 = 0; -; 1806 : pfile_in_zip_read_info->bstream.next_out = (char*)pfile_in_zip_read_info->stream.next_out; -; 1807 : pfile_in_zip_read_info->bstream.avail_out = pfile_in_zip_read_info->stream.avail_out; -; 1808 : pfile_in_zip_read_info->bstream.total_out_lo32 = pfile_in_zip_read_info->stream.total_out; -; 1809 : pfile_in_zip_read_info->bstream.total_out_hi32 = 0; -; 1810 : -; 1811 : uTotalOutBefore = pfile_in_zip_read_info->bstream.total_out_lo32; -; 1812 : bufBefore = (const Bytef *)pfile_in_zip_read_info->bstream.next_out; -; 1813 : -; 1814 : err=BZ2_bzDecompress(&pfile_in_zip_read_info->bstream); -; 1815 : -; 1816 : uTotalOutAfter = pfile_in_zip_read_info->bstream.total_out_lo32; -; 1817 : uOutThis = uTotalOutAfter-uTotalOutBefore; -; 1818 : -; 1819 : pfile_in_zip_read_info->total_out_64 = pfile_in_zip_read_info->total_out_64 + uOutThis; -; 1820 : -; 1821 : pfile_in_zip_read_info->crc32 = crc32(pfile_in_zip_read_info->crc32,bufBefore, (uInt)(uOutThis)); -; 1822 : pfile_in_zip_read_info->rest_read_uncompressed -= uOutThis; -; 1823 : iRead += (uInt)(uTotalOutAfter - uTotalOutBefore); -; 1824 : -; 1825 : pfile_in_zip_read_info->stream.next_in = (Bytef*)pfile_in_zip_read_info->bstream.next_in; -; 1826 : pfile_in_zip_read_info->stream.avail_in = pfile_in_zip_read_info->bstream.avail_in; -; 1827 : pfile_in_zip_read_info->stream.total_in = pfile_in_zip_read_info->bstream.total_in_lo32; -; 1828 : pfile_in_zip_read_info->stream.next_out = (Bytef*)pfile_in_zip_read_info->bstream.next_out; -; 1829 : pfile_in_zip_read_info->stream.avail_out = pfile_in_zip_read_info->bstream.avail_out; -; 1830 : pfile_in_zip_read_info->stream.total_out = pfile_in_zip_read_info->bstream.total_out_lo32; -; 1831 : -; 1832 : if (err==BZ_STREAM_END) -; 1833 : return (iRead==0) ? UNZ_EOF : iRead; -; 1834 : if (err!=BZ_OK) -; 1835 : break; -; 1836 : #endif -; 1837 : } // end Z_BZIP2ED -; 1838 : else -; 1839 : { -; 1840 : ZPOS64_T uTotalOutBefore,uTotalOutAfter; -; 1841 : const Bytef *bufBefore; -; 1842 : ZPOS64_T uOutThis; -; 1843 : int flush=Z_SYNC_FLUSH; -; 1844 : -; 1845 : uTotalOutBefore = pfile_in_zip_read_info->stream.total_out; - - 00179 8b 4f 18 mov ecx, DWORD PTR [edi+24] - -; 1846 : bufBefore = pfile_in_zip_read_info->stream.next_out; - - 0017c 8b 57 10 mov edx, DWORD PTR [edi+16] - -; 1847 : -; 1848 : /* -; 1849 : if ((pfile_in_zip_read_info->rest_read_uncompressed == -; 1850 : pfile_in_zip_read_info->stream.avail_out) && -; 1851 : (pfile_in_zip_read_info->rest_read_compressed == 0)) -; 1852 : flush = Z_FINISH; -; 1853 : */ -; 1854 : err=inflate(&pfile_in_zip_read_info->stream,flush); - - 0017f 6a 02 push 2 - 00181 8d 47 04 lea eax, DWORD PTR [edi+4] - 00184 50 push eax - 00185 89 4c 24 20 mov DWORD PTR _uTotalOutBefore$82921[esp+48], ecx - 00189 89 54 24 1c mov DWORD PTR _bufBefore$82923[esp+48], edx - 0018d e8 00 00 00 00 call _inflate@8 - 00192 89 44 24 10 mov DWORD PTR _err$[esp+40], eax - -; 1855 : -; 1856 : if ((err>=0) && (pfile_in_zip_read_info->stream.msg!=NULL)) - - 00196 85 c0 test eax, eax - 00198 78 0e js SHORT $LN4@unzReadCur - 0019a 83 7f 1c 00 cmp DWORD PTR [edi+28], 0 - 0019e 74 08 je SHORT $LN4@unzReadCur - -; 1857 : err = Z_DATA_ERROR; - - 001a0 c7 44 24 10 fd - ff ff ff mov DWORD PTR _err$[esp+40], -3 ; fffffffdH -$LN4@unzReadCur: - -; 1858 : -; 1859 : uTotalOutAfter = pfile_in_zip_read_info->stream.total_out; - - 001a8 8b 5f 18 mov ebx, DWORD PTR [edi+24] - -; 1860 : uOutThis = uTotalOutAfter-uTotalOutBefore; -; 1861 : -; 1862 : pfile_in_zip_read_info->total_out_64 = pfile_in_zip_read_info->total_out_64 + uOutThis; -; 1863 : -; 1864 : pfile_in_zip_read_info->crc32 = -; 1865 : crc32(pfile_in_zip_read_info->crc32,bufBefore, -; 1866 : (uInt)(uOutThis)); - - 001ab 8b 57 70 mov edx, DWORD PTR [edi+112] - 001ae 33 c0 xor eax, eax - 001b0 8b f3 mov esi, ebx - 001b2 2b 74 24 18 sub esi, DWORD PTR _uTotalOutBefore$82921[esp+40] - 001b6 8b c8 mov ecx, eax - 001b8 1b c1 sbb eax, ecx - 001ba 8b 4c 24 14 mov ecx, DWORD PTR _bufBefore$82923[esp+40] - 001be 01 77 68 add DWORD PTR [edi+104], esi - 001c1 56 push esi - 001c2 51 push ecx - 001c3 11 47 6c adc DWORD PTR [edi+108], eax - 001c6 52 push edx - 001c7 89 44 24 30 mov DWORD PTR _uOutThis$82924[esp+56], eax - 001cb e8 00 00 00 00 call _crc32@12 - -; 1867 : -; 1868 : pfile_in_zip_read_info->rest_read_uncompressed -= -; 1869 : uOutThis; - - 001d0 29 b7 80 00 00 - 00 sub DWORD PTR [edi+128], esi - 001d6 89 47 70 mov DWORD PTR [edi+112], eax - 001d9 8b 44 24 24 mov eax, DWORD PTR _uOutThis$82924[esp+44] - 001dd 19 87 84 00 00 - 00 sbb DWORD PTR [edi+132], eax - -; 1870 : -; 1871 : iRead += (uInt)(uTotalOutAfter - uTotalOutBefore); - - 001e3 2b 5c 24 18 sub ebx, DWORD PTR _uTotalOutBefore$82921[esp+40] - -; 1872 : -; 1873 : if (err==Z_STREAM_END) - - 001e7 8b 44 24 10 mov eax, DWORD PTR _err$[esp+40] - 001eb 01 5c 24 0c add DWORD PTR _iRead$[esp+40], ebx - 001ef 83 f8 01 cmp eax, 1 - 001f2 0f 84 80 00 00 - 00 je $LN40@unzReadCur - -; 1874 : return (iRead==0) ? UNZ_EOF : iRead; -; 1875 : if (err!=Z_OK) - - 001f8 85 c0 test eax, eax - 001fa 0f 85 7c 00 00 - 00 jne $LN29@unzReadCur - 00200 eb 6c jmp SHORT $LN2@unzReadCur -$LN14@unzReadCur: - -; 1765 : { -; 1766 : uInt uDoCopy,i ; -; 1767 : -; 1768 : if ((pfile_in_zip_read_info->stream.avail_in == 0) && -; 1769 : (pfile_in_zip_read_info->rest_read_compressed == 0)) - - 00202 8b 47 08 mov eax, DWORD PTR [edi+8] - 00205 85 c0 test eax, eax - 00207 75 08 jne SHORT $LN13@unzReadCur - 00209 8b 4f 78 mov ecx, DWORD PTR [edi+120] - 0020c 0b 4f 7c or ecx, DWORD PTR [edi+124] - 0020f 74 67 je SHORT $LN40@unzReadCur -$LN13@unzReadCur: - -; 1770 : return (iRead==0) ? UNZ_EOF : iRead; -; 1771 : -; 1772 : if (pfile_in_zip_read_info->stream.avail_out < -; 1773 : pfile_in_zip_read_info->stream.avail_in) - - 00211 8b 77 14 mov esi, DWORD PTR [edi+20] - 00214 3b f0 cmp esi, eax - -; 1774 : uDoCopy = pfile_in_zip_read_info->stream.avail_out ; -; 1775 : else - - 00216 72 02 jb SHORT $LN11@unzReadCur - -; 1776 : uDoCopy = pfile_in_zip_read_info->stream.avail_in ; - - 00218 8b f0 mov esi, eax -$LN11@unzReadCur: - -; 1777 : -; 1778 : for (i=0;istream.next_out+i) = -; 1780 : *(pfile_in_zip_read_info->stream.next_in+i); - - 00220 8b 57 04 mov edx, DWORD PTR [edi+4] - 00223 8a 14 10 mov dl, BYTE PTR [eax+edx] - 00226 8b 4f 10 mov ecx, DWORD PTR [edi+16] - 00229 88 14 08 mov BYTE PTR [eax+ecx], dl - 0022c 40 inc eax - 0022d 3b c6 cmp eax, esi - 0022f 72 ef jb SHORT $LL10@unzReadCur -$LN8@unzReadCur: - -; 1781 : -; 1782 : pfile_in_zip_read_info->total_out_64 = pfile_in_zip_read_info->total_out_64 + uDoCopy; -; 1783 : -; 1784 : pfile_in_zip_read_info->crc32 = crc32(pfile_in_zip_read_info->crc32, -; 1785 : pfile_in_zip_read_info->stream.next_out, -; 1786 : uDoCopy); - - 00231 8b 47 10 mov eax, DWORD PTR [edi+16] - 00234 56 push esi - 00235 33 db xor ebx, ebx - 00237 01 77 68 add DWORD PTR [edi+104], esi - 0023a 50 push eax - 0023b 8b 47 70 mov eax, DWORD PTR [edi+112] - 0023e 11 5f 6c adc DWORD PTR [edi+108], ebx - 00241 50 push eax - 00242 e8 00 00 00 00 call _crc32@12 - -; 1787 : pfile_in_zip_read_info->rest_read_uncompressed-=uDoCopy; - - 00247 29 b7 80 00 00 - 00 sub DWORD PTR [edi+128], esi - 0024d 89 47 70 mov DWORD PTR [edi+112], eax - -; 1788 : pfile_in_zip_read_info->stream.avail_in -= uDoCopy; -; 1789 : pfile_in_zip_read_info->stream.avail_out -= uDoCopy; -; 1790 : pfile_in_zip_read_info->stream.next_out += uDoCopy; - - 00250 8b 47 10 mov eax, DWORD PTR [edi+16] - 00253 19 9f 84 00 00 - 00 sbb DWORD PTR [edi+132], ebx - 00259 29 77 08 sub DWORD PTR [edi+8], esi - 0025c 29 77 14 sub DWORD PTR [edi+20], esi - -; 1791 : pfile_in_zip_read_info->stream.next_in += uDoCopy; - - 0025f 01 77 04 add DWORD PTR [edi+4], esi - -; 1792 : pfile_in_zip_read_info->stream.total_out += uDoCopy; - - 00262 01 77 18 add DWORD PTR [edi+24], esi - 00265 03 c6 add eax, esi - -; 1793 : iRead += uDoCopy; - - 00267 01 74 24 0c add DWORD PTR _iRead$[esp+40], esi - 0026b 89 47 10 mov DWORD PTR [edi+16], eax -$LN2@unzReadCur: - -; 1719 : -; 1720 : while (pfile_in_zip_read_info->stream.avail_out>0) - - 0026e 83 7f 14 00 cmp DWORD PTR [edi+20], 0 - 00272 0f 87 3a fe ff - ff ja $LL22@unzReadCur -$LN40@unzReadCur: - -; 1876 : break; -; 1877 : } -; 1878 : } -; 1879 : -; 1880 : if (err==Z_OK) -; 1881 : return iRead; - - 00278 8b 44 24 0c mov eax, DWORD PTR _iRead$[esp+40] -$LN29@unzReadCur: - -; 1882 : return err; -; 1883 : } - - 0027c 5f pop edi - 0027d 5e pop esi - 0027e 5b pop ebx - 0027f 8b e5 mov esp, ebp - 00281 5d pop ebp - 00282 c2 0c 00 ret 12 ; 0000000cH -$LN34@unzReadCur: - 00285 5f pop edi - 00286 5e pop esi - 00287 83 c8 ff or eax, -1 - 0028a 5b pop ebx - 0028b 8b e5 mov esp, ebp - 0028d 5d pop ebp - 0028e c2 0c 00 ret 12 ; 0000000cH -_unzReadCurrentFile@12 ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _unz64local_CheckCurrentFileCoherencyHeader -_TEXT SEGMENT -_size_extra_field$ = -8 ; size = 4 -_size_filename$ = -8 ; size = 4 -_uFlags$ = -8 ; size = 4 -_uMagic$ = -8 ; size = 4 -_uData$ = -4 ; size = 4 -_piSizeVar$ = 8 ; size = 4 -_poffset_local_extrafield$ = 12 ; size = 4 -_psize_local_extrafield$ = 16 ; size = 4 -_unz64local_CheckCurrentFileCoherencyHeader PROC ; COMDAT -; _s$ = edi - -; 1388 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1389 : uLong uMagic,uData,uFlags; -; 1390 : uLong size_filename; -; 1391 : uLong size_extra_field; -; 1392 : int err=UNZ_OK; -; 1393 : -; 1394 : *piSizeVar = 0; - - 00003 8b 45 08 mov eax, DWORD PTR _piSizeVar$[ebp] - -; 1395 : *poffset_local_extrafield = 0; -; 1396 : *psize_local_extrafield = 0; -; 1397 : -; 1398 : if (ZSEEK64(s->z_filefunc, s->filestream,s->cur_file_info_internal.offset_curfile + -; 1399 : s->byte_before_the_zipfile,ZLIB_FILEFUNC_SEEK_SET)!=0) - - 00006 8b 57 48 mov edx, DWORD PTR [edi+72] - 00009 8b 4d 10 mov ecx, DWORD PTR _psize_local_extrafield$[ebp] - 0000c 83 ec 0c sub esp, 12 ; 0000000cH - 0000f 53 push ebx - 00010 33 db xor ebx, ebx - 00012 03 97 d8 00 00 - 00 add edx, DWORD PTR [edi+216] - 00018 89 18 mov DWORD PTR [eax], ebx - 0001a 8b 45 0c mov eax, DWORD PTR _poffset_local_extrafield$[ebp] - 0001d 89 18 mov DWORD PTR [eax], ebx - 0001f 89 58 04 mov DWORD PTR [eax+4], ebx - 00022 8b 47 4c mov eax, DWORD PTR [edi+76] - 00025 13 87 dc 00 00 - 00 adc eax, DWORD PTR [edi+220] - 0002b 56 push esi - 0002c 8b 77 30 mov esi, DWORD PTR [edi+48] - 0002f 50 push eax - 00030 52 push edx - 00031 33 d2 xor edx, edx - 00033 8b c7 mov eax, edi - 00035 89 19 mov DWORD PTR [ecx], ebx - 00037 e8 00 00 00 00 call _call_zseek64 - 0003c 83 c4 08 add esp, 8 - 0003f 85 c0 test eax, eax - 00041 74 09 je SHORT $LN28@unz64local@6 - -; 1400 : return UNZ_ERRNO; - - 00043 83 c8 ff or eax, -1 - -; 1464 : -; 1465 : return err; -; 1466 : } - - 00046 5e pop esi - 00047 5b pop ebx - 00048 8b e5 mov esp, ebp - 0004a 5d pop ebp - 0004b c3 ret 0 -$LN28@unz64local@6: - -; 1401 : -; 1402 : -; 1403 : if (err==UNZ_OK) -; 1404 : { -; 1405 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&uMagic) != UNZ_OK) - - 0004c 8b 47 30 mov eax, DWORD PTR [edi+48] - 0004f 8d 4d f8 lea ecx, DWORD PTR _uMagic$[ebp] - 00052 51 push ecx - 00053 8b cf mov ecx, edi - 00055 e8 00 00 00 00 call _unz64local_getLong - 0005a 83 c4 04 add esp, 4 - 0005d 85 c0 test eax, eax - 0005f 74 05 je SHORT $LN23@unz64local@6 - -; 1406 : err=UNZ_ERRNO; - - 00061 83 cb ff or ebx, -1 - 00064 eb 0e jmp SHORT $LN21@unz64local@6 -$LN23@unz64local@6: - -; 1407 : else if (uMagic!=0x04034b50) - - 00066 81 7d f8 50 4b - 03 04 cmp DWORD PTR _uMagic$[ebp], 67324752 ; 04034b50H - 0006d 74 05 je SHORT $LN21@unz64local@6 - -; 1408 : err=UNZ_BADZIPFILE; - - 0006f bb 99 ff ff ff mov ebx, -103 ; ffffff99H -$LN21@unz64local@6: - -; 1409 : } -; 1410 : -; 1411 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) - - 00074 8b 47 30 mov eax, DWORD PTR [edi+48] - 00077 8d 55 fc lea edx, DWORD PTR _uData$[ebp] - 0007a 52 push edx - 0007b 8b cf mov ecx, edi - 0007d e8 00 00 00 00 call _unz64local_getShort - 00082 83 c4 04 add esp, 4 - 00085 85 c0 test eax, eax - 00087 74 03 je SHORT $LN20@unz64local@6 - -; 1412 : err=UNZ_ERRNO; - - 00089 83 cb ff or ebx, -1 -$LN20@unz64local@6: - -; 1413 : /* -; 1414 : else if ((err==UNZ_OK) && (uData!=s->cur_file_info.wVersion)) -; 1415 : err=UNZ_BADZIPFILE; -; 1416 : */ -; 1417 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&uFlags) != UNZ_OK) - - 0008c 8d 45 f8 lea eax, DWORD PTR _uFlags$[ebp] - 0008f 50 push eax - 00090 8b 47 30 mov eax, DWORD PTR [edi+48] - 00093 8b cf mov ecx, edi - 00095 e8 00 00 00 00 call _unz64local_getShort - 0009a 83 c4 04 add esp, 4 - 0009d 85 c0 test eax, eax - 0009f 74 03 je SHORT $LN19@unz64local@6 - -; 1418 : err=UNZ_ERRNO; - - 000a1 83 cb ff or ebx, -1 -$LN19@unz64local@6: - -; 1419 : -; 1420 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) - - 000a4 8b 47 30 mov eax, DWORD PTR [edi+48] - 000a7 8d 4d fc lea ecx, DWORD PTR _uData$[ebp] - 000aa 51 push ecx - 000ab 8b cf mov ecx, edi - 000ad e8 00 00 00 00 call _unz64local_getShort - 000b2 83 c4 04 add esp, 4 - 000b5 85 c0 test eax, eax - 000b7 74 05 je SHORT $LN18@unz64local@6 - -; 1421 : err=UNZ_ERRNO; - - 000b9 83 cb ff or ebx, -1 - 000bc eb 22 jmp SHORT $LN15@unz64local@6 -$LN18@unz64local@6: - -; 1422 : else if ((err==UNZ_OK) && (uData!=s->cur_file_info.compression_method)) - - 000be 85 db test ebx, ebx - 000c0 75 1e jne SHORT $LN15@unz64local@6 - 000c2 8b 87 8c 00 00 - 00 mov eax, DWORD PTR [edi+140] - 000c8 39 45 fc cmp DWORD PTR _uData$[ebp], eax - -; 1423 : err=UNZ_BADZIPFILE; -; 1424 : -; 1425 : if ((err==UNZ_OK) && (s->cur_file_info.compression_method!=0) && -; 1426 : /* #ifdef HAVE_BZIP2 */ -; 1427 : (s->cur_file_info.compression_method!=Z_BZIP2ED) && -; 1428 : /* #endif */ -; 1429 : (s->cur_file_info.compression_method!=Z_DEFLATED)) - - 000cb 75 0e jne SHORT $LN40@unz64local@6 - 000cd 85 c0 test eax, eax - 000cf 74 0f je SHORT $LN15@unz64local@6 - 000d1 83 f8 0c cmp eax, 12 ; 0000000cH - 000d4 74 0a je SHORT $LN15@unz64local@6 - 000d6 83 f8 08 cmp eax, 8 - 000d9 74 05 je SHORT $LN15@unz64local@6 -$LN40@unz64local@6: - -; 1430 : err=UNZ_BADZIPFILE; - - 000db bb 99 ff ff ff mov ebx, -103 ; ffffff99H -$LN15@unz64local@6: - -; 1431 : -; 1432 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* date/time */ - - 000e0 8b 47 30 mov eax, DWORD PTR [edi+48] - 000e3 8d 55 fc lea edx, DWORD PTR _uData$[ebp] - 000e6 52 push edx - 000e7 8b cf mov ecx, edi - 000e9 e8 00 00 00 00 call _unz64local_getLong - 000ee 83 c4 04 add esp, 4 - 000f1 85 c0 test eax, eax - 000f3 74 03 je SHORT $LN14@unz64local@6 - -; 1433 : err=UNZ_ERRNO; - - 000f5 83 cb ff or ebx, -1 -$LN14@unz64local@6: - -; 1434 : -; 1435 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* crc */ - - 000f8 8d 45 fc lea eax, DWORD PTR _uData$[ebp] - 000fb 50 push eax - 000fc 8b 47 30 mov eax, DWORD PTR [edi+48] - 000ff 8b cf mov ecx, edi - 00101 e8 00 00 00 00 call _unz64local_getLong - 00106 83 c4 04 add esp, 4 - 00109 85 c0 test eax, eax - 0010b 74 05 je SHORT $LN13@unz64local@6 - -; 1436 : err=UNZ_ERRNO; - - 0010d 83 cb ff or ebx, -1 - 00110 eb 1a jmp SHORT $LN11@unz64local@6 -$LN13@unz64local@6: - -; 1437 : else if ((err==UNZ_OK) && (uData!=s->cur_file_info.crc) && ((uFlags & 8)==0)) - - 00112 85 db test ebx, ebx - 00114 75 16 jne SHORT $LN11@unz64local@6 - 00116 8b 4d fc mov ecx, DWORD PTR _uData$[ebp] - 00119 3b 8f 94 00 00 - 00 cmp ecx, DWORD PTR [edi+148] - 0011f 74 0b je SHORT $LN11@unz64local@6 - 00121 f6 45 f8 08 test BYTE PTR _uFlags$[ebp], 8 - 00125 75 05 jne SHORT $LN11@unz64local@6 - -; 1438 : err=UNZ_BADZIPFILE; - - 00127 bb 99 ff ff ff mov ebx, -103 ; ffffff99H -$LN11@unz64local@6: - -; 1439 : -; 1440 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* size compr */ - - 0012c 8b 47 30 mov eax, DWORD PTR [edi+48] - 0012f 8d 55 fc lea edx, DWORD PTR _uData$[ebp] - 00132 52 push edx - 00133 8b cf mov ecx, edi - 00135 e8 00 00 00 00 call _unz64local_getLong - 0013a 83 c4 04 add esp, 4 - 0013d 85 c0 test eax, eax - 0013f 74 05 je SHORT $LN10@unz64local@6 - -; 1441 : err=UNZ_ERRNO; - - 00141 83 cb ff or ebx, -1 - 00144 eb 29 jmp SHORT $LN8@unz64local@6 -$LN10@unz64local@6: - -; 1442 : else if (uData != 0xFFFFFFFF && (err==UNZ_OK) && (uData!=s->cur_file_info.compressed_size) && ((uFlags & 8)==0)) - - 00146 8b 4d fc mov ecx, DWORD PTR _uData$[ebp] - 00149 83 f9 ff cmp ecx, -1 - 0014c 74 21 je SHORT $LN8@unz64local@6 - 0014e 85 db test ebx, ebx - 00150 75 1d jne SHORT $LN8@unz64local@6 - 00152 33 c0 xor eax, eax - 00154 3b 8f 98 00 00 - 00 cmp ecx, DWORD PTR [edi+152] - 0015a 75 08 jne SHORT $LN30@unz64local@6 - 0015c 3b 87 9c 00 00 - 00 cmp eax, DWORD PTR [edi+156] - 00162 74 0b je SHORT $LN8@unz64local@6 -$LN30@unz64local@6: - 00164 f6 45 f8 08 test BYTE PTR _uFlags$[ebp], 8 - 00168 75 05 jne SHORT $LN8@unz64local@6 - -; 1443 : err=UNZ_BADZIPFILE; - - 0016a bb 99 ff ff ff mov ebx, -103 ; ffffff99H -$LN8@unz64local@6: - -; 1444 : -; 1445 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* size uncompr */ - - 0016f 8d 45 fc lea eax, DWORD PTR _uData$[ebp] - 00172 50 push eax - 00173 8b 47 30 mov eax, DWORD PTR [edi+48] - 00176 8b cf mov ecx, edi - 00178 e8 00 00 00 00 call _unz64local_getLong - 0017d 83 c4 04 add esp, 4 - 00180 85 c0 test eax, eax - 00182 74 05 je SHORT $LN7@unz64local@6 - -; 1446 : err=UNZ_ERRNO; - - 00184 83 cb ff or ebx, -1 - 00187 eb 29 jmp SHORT $LN5@unz64local@6 -$LN7@unz64local@6: - -; 1447 : else if (uData != 0xFFFFFFFF && (err==UNZ_OK) && (uData!=s->cur_file_info.uncompressed_size) && ((uFlags & 8)==0)) - - 00189 8b 4d fc mov ecx, DWORD PTR _uData$[ebp] - 0018c 83 f9 ff cmp ecx, -1 - 0018f 74 21 je SHORT $LN5@unz64local@6 - 00191 85 db test ebx, ebx - 00193 75 1d jne SHORT $LN5@unz64local@6 - 00195 33 c0 xor eax, eax - 00197 3b 8f a0 00 00 - 00 cmp ecx, DWORD PTR [edi+160] - 0019d 75 08 jne SHORT $LN31@unz64local@6 - 0019f 3b 87 a4 00 00 - 00 cmp eax, DWORD PTR [edi+164] - 001a5 74 0b je SHORT $LN5@unz64local@6 -$LN31@unz64local@6: - 001a7 f6 45 f8 08 test BYTE PTR _uFlags$[ebp], 8 - 001ab 75 05 jne SHORT $LN5@unz64local@6 - -; 1448 : err=UNZ_BADZIPFILE; - - 001ad bb 99 ff ff ff mov ebx, -103 ; ffffff99H -$LN5@unz64local@6: - -; 1449 : -; 1450 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&size_filename) != UNZ_OK) - - 001b2 8b 47 30 mov eax, DWORD PTR [edi+48] - 001b5 8d 4d f8 lea ecx, DWORD PTR _size_filename$[ebp] - 001b8 51 push ecx - 001b9 8b cf mov ecx, edi - 001bb e8 00 00 00 00 call _unz64local_getShort - 001c0 8b 75 f8 mov esi, DWORD PTR _size_filename$[ebp] - 001c3 83 c4 04 add esp, 4 - 001c6 85 c0 test eax, eax - 001c8 74 05 je SHORT $LN4@unz64local@6 - -; 1451 : err=UNZ_ERRNO; - - 001ca 83 cb ff or ebx, -1 - 001cd eb 11 jmp SHORT $LN2@unz64local@6 -$LN4@unz64local@6: - -; 1452 : else if ((err==UNZ_OK) && (size_filename!=s->cur_file_info.size_filename)) - - 001cf 85 db test ebx, ebx - 001d1 75 0d jne SHORT $LN2@unz64local@6 - 001d3 3b b7 a8 00 00 - 00 cmp esi, DWORD PTR [edi+168] - 001d9 74 05 je SHORT $LN2@unz64local@6 - -; 1453 : err=UNZ_BADZIPFILE; - - 001db bb 99 ff ff ff mov ebx, -103 ; ffffff99H -$LN2@unz64local@6: - -; 1454 : -; 1455 : *piSizeVar += (uInt)size_filename; - - 001e0 8b 45 08 mov eax, DWORD PTR _piSizeVar$[ebp] - 001e3 01 30 add DWORD PTR [eax], esi - -; 1456 : -; 1457 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&size_extra_field) != UNZ_OK) - - 001e5 8b 47 30 mov eax, DWORD PTR [edi+48] - 001e8 8d 55 f8 lea edx, DWORD PTR _size_extra_field$[ebp] - 001eb 52 push edx - 001ec 8b cf mov ecx, edi - 001ee e8 00 00 00 00 call _unz64local_getShort - 001f3 83 c4 04 add esp, 4 - 001f6 85 c0 test eax, eax - 001f8 74 03 je SHORT $LN1@unz64local@6 - -; 1458 : err=UNZ_ERRNO; - - 001fa 83 cb ff or ebx, -1 -$LN1@unz64local@6: - -; 1459 : *poffset_local_extrafield= s->cur_file_info_internal.offset_curfile + -; 1460 : SIZEZIPLOCALHEADER + size_filename; - - 001fd 8b 45 0c mov eax, DWORD PTR _poffset_local_extrafield$[ebp] - -; 1461 : *psize_local_extrafield = (uInt)size_extra_field; - - 00200 8b 55 10 mov edx, DWORD PTR _psize_local_extrafield$[ebp] - 00203 33 c9 xor ecx, ecx - 00205 03 b7 d8 00 00 - 00 add esi, DWORD PTR [edi+216] - 0020b 13 8f dc 00 00 - 00 adc ecx, DWORD PTR [edi+220] - 00211 83 c6 1e add esi, 30 ; 0000001eH - 00214 83 d1 00 adc ecx, 0 - 00217 89 30 mov DWORD PTR [eax], esi - 00219 89 48 04 mov DWORD PTR [eax+4], ecx - 0021c 8b 45 f8 mov eax, DWORD PTR _size_extra_field$[ebp] - -; 1462 : -; 1463 : *piSizeVar += (uInt)size_extra_field; - - 0021f 8b 4d 08 mov ecx, DWORD PTR _piSizeVar$[ebp] - 00222 01 01 add DWORD PTR [ecx], eax - 00224 89 02 mov DWORD PTR [edx], eax - -; 1464 : -; 1465 : return err; -; 1466 : } - - 00226 5e pop esi - 00227 8b c3 mov eax, ebx - 00229 5b pop ebx - 0022a 8b e5 mov esp, ebp - 0022c 5d pop ebp - 0022d c3 ret 0 -_unz64local_CheckCurrentFileCoherencyHeader ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _unz64local_GetCurrentFileInfoInternal -_TEXT SEGMENT -_uSizeRead$82538 = -120 ; size = 4 -_uL$ = -120 ; size = 4 -_lSeek$ = -120 ; size = 4 -_dataSize$82565 = -116 ; size = 4 -_uSizeRead$82582 = -112 ; size = 4 -_acc$82557 = -112 ; size = 4 -_uMagic$ = -112 ; size = 4 -_headerId$82564 = -108 ; size = 4 -_uL$82569 = -104 ; size = 4 -_uSizeRead$82545 = -104 ; size = 8 -_file_info_internal$ = -96 ; size = 8 -_file_info$ = -88 ; size = 88 -_pfile_info$ = 8 ; size = 4 -_pfile_info_internal$ = 12 ; size = 4 -_szFileName$ = 16 ; size = 4 -_fileNameBufferSize$ = 20 ; size = 4 -_extraField$ = 24 ; size = 4 -_extraFieldBufferSize$ = 28 ; size = 4 -_szComment$ = 32 ; size = 4 -_commentBufferSize$ = 36 ; size = 4 -_unz64local_GetCurrentFileInfoInternal PROC ; COMDAT -; _file$ = eax - -; 889 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 83 ec 7c sub esp, 124 ; 0000007cH - 00009 53 push ebx - 0000a 56 push esi - 0000b 57 push edi - 0000c 8b f8 mov edi, eax - -; 890 : unz64_s* s; -; 891 : unz_file_info64 file_info; -; 892 : unz_file_info64_internal file_info_internal; -; 893 : int err=UNZ_OK; - - 0000e 33 db xor ebx, ebx - -; 894 : uLong uMagic; -; 895 : long lSeek=0; -; 896 : uLong uL; -; 897 : -; 898 : if (file==NULL) - - 00010 85 ff test edi, edi - 00012 75 0a jne SHORT $LN65@unz64local@7 - -; 899 : return UNZ_PARAMERROR; - - 00014 8d 47 9a lea eax, DWORD PTR [edi-102] - -; 1115 : } - - 00017 5f pop edi - 00018 5e pop esi - 00019 5b pop ebx - 0001a 8b e5 mov esp, ebp - 0001c 5d pop ebp - 0001d c3 ret 0 -$LN65@unz64local@7: - -; 900 : s=(unz64_s*)file; -; 901 : if (ZSEEK64(s->z_filefunc, s->filestream, -; 902 : s->pos_in_central_dir+s->byte_before_the_zipfile, -; 903 : ZLIB_FILEFUNC_SEEK_SET)!=0) - - 0001e 8b 47 58 mov eax, DWORD PTR [edi+88] - 00021 03 47 48 add eax, DWORD PTR [edi+72] - 00024 8b 4f 5c mov ecx, DWORD PTR [edi+92] - 00027 13 4f 4c adc ecx, DWORD PTR [edi+76] - 0002a 8b 77 30 mov esi, DWORD PTR [edi+48] - 0002d 51 push ecx - 0002e 50 push eax - 0002f 33 d2 xor edx, edx - 00031 8b c7 mov eax, edi - 00033 e8 00 00 00 00 call _call_zseek64 - 00038 83 c4 08 add esp, 8 - 0003b 85 c0 test eax, eax - 0003d 74 05 je SHORT $LN70@unz64local@7 - -; 904 : err=UNZ_ERRNO; - - 0003f 83 cb ff or ebx, -1 - -; 905 : -; 906 : -; 907 : /* we check the magic */ -; 908 : if (err==UNZ_OK) - - 00042 eb 2a jmp SHORT $LN60@unz64local@7 -$LN70@unz64local@7: - -; 909 : { -; 910 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&uMagic) != UNZ_OK) - - 00044 8b 47 30 mov eax, DWORD PTR [edi+48] - 00047 8d 54 24 18 lea edx, DWORD PTR _uMagic$[esp+136] - 0004b 52 push edx - 0004c 8b cf mov ecx, edi - 0004e e8 00 00 00 00 call _unz64local_getLong - 00053 83 c4 04 add esp, 4 - 00056 85 c0 test eax, eax - 00058 74 05 je SHORT $LN62@unz64local@7 - -; 911 : err=UNZ_ERRNO; - - 0005a 83 cb ff or ebx, -1 - 0005d eb 0f jmp SHORT $LN60@unz64local@7 -$LN62@unz64local@7: - -; 912 : else if (uMagic!=0x02014b50) - - 0005f 81 7c 24 18 50 - 4b 01 02 cmp DWORD PTR _uMagic$[esp+136], 33639248 ; 02014b50H - 00067 74 05 je SHORT $LN60@unz64local@7 - -; 913 : err=UNZ_BADZIPFILE; - - 00069 bb 99 ff ff ff mov ebx, -103 ; ffffff99H -$LN60@unz64local@7: - -; 914 : } -; 915 : -; 916 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.version) != UNZ_OK) - - 0006e 8d 44 24 30 lea eax, DWORD PTR _file_info$[esp+136] - 00072 50 push eax - 00073 8b 47 30 mov eax, DWORD PTR [edi+48] - 00076 8b cf mov ecx, edi - 00078 e8 00 00 00 00 call _unz64local_getShort - 0007d 83 c4 04 add esp, 4 - 00080 85 c0 test eax, eax - 00082 74 03 je SHORT $LN59@unz64local@7 - -; 917 : err=UNZ_ERRNO; - - 00084 83 cb ff or ebx, -1 -$LN59@unz64local@7: - -; 918 : -; 919 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.version_needed) != UNZ_OK) - - 00087 8b 47 30 mov eax, DWORD PTR [edi+48] - 0008a 8d 4c 24 34 lea ecx, DWORD PTR _file_info$[esp+140] - 0008e 51 push ecx - 0008f 8b cf mov ecx, edi - 00091 e8 00 00 00 00 call _unz64local_getShort - 00096 83 c4 04 add esp, 4 - 00099 85 c0 test eax, eax - 0009b 74 03 je SHORT $LN58@unz64local@7 - -; 920 : err=UNZ_ERRNO; - - 0009d 83 cb ff or ebx, -1 -$LN58@unz64local@7: - -; 921 : -; 922 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.flag) != UNZ_OK) - - 000a0 8b 47 30 mov eax, DWORD PTR [edi+48] - 000a3 8d 54 24 38 lea edx, DWORD PTR _file_info$[esp+144] - 000a7 52 push edx - 000a8 8b cf mov ecx, edi - 000aa e8 00 00 00 00 call _unz64local_getShort - 000af 83 c4 04 add esp, 4 - 000b2 85 c0 test eax, eax - 000b4 74 03 je SHORT $LN57@unz64local@7 - -; 923 : err=UNZ_ERRNO; - - 000b6 83 cb ff or ebx, -1 -$LN57@unz64local@7: - -; 924 : -; 925 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.compression_method) != UNZ_OK) - - 000b9 8d 44 24 3c lea eax, DWORD PTR _file_info$[esp+148] - 000bd 50 push eax - 000be 8b 47 30 mov eax, DWORD PTR [edi+48] - 000c1 8b cf mov ecx, edi - 000c3 e8 00 00 00 00 call _unz64local_getShort - 000c8 83 c4 04 add esp, 4 - 000cb 85 c0 test eax, eax - 000cd 74 03 je SHORT $LN56@unz64local@7 - -; 926 : err=UNZ_ERRNO; - - 000cf 83 cb ff or ebx, -1 -$LN56@unz64local@7: - -; 927 : -; 928 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&file_info.dosDate) != UNZ_OK) - - 000d2 8b 47 30 mov eax, DWORD PTR [edi+48] - 000d5 8d 4c 24 40 lea ecx, DWORD PTR _file_info$[esp+152] - 000d9 51 push ecx - 000da 8b cf mov ecx, edi - 000dc e8 00 00 00 00 call _unz64local_getLong - 000e1 83 c4 04 add esp, 4 - 000e4 85 c0 test eax, eax - 000e6 74 03 je SHORT $LN55@unz64local@7 - -; 929 : err=UNZ_ERRNO; - - 000e8 83 cb ff or ebx, -1 -$LN55@unz64local@7: - -; 930 : -; 931 : unz64local_DosDateToTmuDate(file_info.dosDate,&file_info.tmu_date); - - 000eb 8b 54 24 40 mov edx, DWORD PTR _file_info$[esp+152] - 000ef 33 f6 xor esi, esi - 000f1 56 push esi - 000f2 52 push edx - 000f3 8d 54 24 78 lea edx, DWORD PTR _file_info$[esp+208] - 000f7 e8 00 00 00 00 call _unz64local_DosDateToTmuDate - -; 932 : -; 933 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&file_info.crc) != UNZ_OK) - - 000fc 8d 44 24 4c lea eax, DWORD PTR _file_info$[esp+164] - 00100 50 push eax - 00101 8b 47 30 mov eax, DWORD PTR [edi+48] - 00104 8b cf mov ecx, edi - 00106 e8 00 00 00 00 call _unz64local_getLong - 0010b 83 c4 0c add esp, 12 ; 0000000cH - 0010e 85 c0 test eax, eax - 00110 74 03 je SHORT $LN54@unz64local@7 - -; 934 : err=UNZ_ERRNO; - - 00112 83 cb ff or ebx, -1 -$LN54@unz64local@7: - -; 935 : -; 936 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK) - - 00115 8b 47 30 mov eax, DWORD PTR [edi+48] - 00118 8d 4c 24 10 lea ecx, DWORD PTR _uL$[esp+136] - 0011c 51 push ecx - 0011d 8b cf mov ecx, edi - 0011f e8 00 00 00 00 call _unz64local_getLong - 00124 83 c4 04 add esp, 4 - 00127 85 c0 test eax, eax - 00129 74 03 je SHORT $LN53@unz64local@7 - -; 937 : err=UNZ_ERRNO; - - 0012b 83 cb ff or ebx, -1 -$LN53@unz64local@7: - -; 938 : file_info.compressed_size = uL; - - 0012e 8b 54 24 10 mov edx, DWORD PTR _uL$[esp+136] - -; 939 : -; 940 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK) - - 00132 8d 44 24 10 lea eax, DWORD PTR _uL$[esp+136] - 00136 50 push eax - 00137 8b 47 30 mov eax, DWORD PTR [edi+48] - 0013a 8b cf mov ecx, edi - 0013c 89 54 24 4c mov DWORD PTR _file_info$[esp+164], edx - 00140 89 74 24 50 mov DWORD PTR _file_info$[esp+168], esi - 00144 e8 00 00 00 00 call _unz64local_getLong - 00149 83 c4 04 add esp, 4 - 0014c 85 c0 test eax, eax - 0014e 74 03 je SHORT $LN52@unz64local@7 - -; 941 : err=UNZ_ERRNO; - - 00150 83 cb ff or ebx, -1 -$LN52@unz64local@7: - -; 942 : file_info.uncompressed_size = uL; - - 00153 8b 4c 24 10 mov ecx, DWORD PTR _uL$[esp+136] - -; 943 : -; 944 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.size_filename) != UNZ_OK) - - 00157 8b 47 30 mov eax, DWORD PTR [edi+48] - 0015a 8d 54 24 58 lea edx, DWORD PTR _file_info$[esp+176] - 0015e 89 4c 24 50 mov DWORD PTR _file_info$[esp+168], ecx - 00162 52 push edx - 00163 8b cf mov ecx, edi - 00165 89 74 24 58 mov DWORD PTR _file_info$[esp+176], esi - 00169 e8 00 00 00 00 call _unz64local_getShort - 0016e 83 c4 04 add esp, 4 - 00171 85 c0 test eax, eax - 00173 74 03 je SHORT $LN51@unz64local@7 - -; 945 : err=UNZ_ERRNO; - - 00175 83 cb ff or ebx, -1 -$LN51@unz64local@7: - -; 946 : -; 947 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.size_file_extra) != UNZ_OK) - - 00178 8d 44 24 5c lea eax, DWORD PTR _file_info$[esp+180] - 0017c 50 push eax - 0017d 8b 47 30 mov eax, DWORD PTR [edi+48] - 00180 8b cf mov ecx, edi - 00182 e8 00 00 00 00 call _unz64local_getShort - 00187 83 c4 04 add esp, 4 - 0018a 85 c0 test eax, eax - 0018c 74 03 je SHORT $LN50@unz64local@7 - -; 948 : err=UNZ_ERRNO; - - 0018e 83 cb ff or ebx, -1 -$LN50@unz64local@7: - -; 949 : -; 950 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.size_file_comment) != UNZ_OK) - - 00191 8b 47 30 mov eax, DWORD PTR [edi+48] - 00194 8d 4c 24 60 lea ecx, DWORD PTR _file_info$[esp+184] - 00198 51 push ecx - 00199 8b cf mov ecx, edi - 0019b e8 00 00 00 00 call _unz64local_getShort - 001a0 83 c4 04 add esp, 4 - 001a3 85 c0 test eax, eax - 001a5 74 03 je SHORT $LN49@unz64local@7 - -; 951 : err=UNZ_ERRNO; - - 001a7 83 cb ff or ebx, -1 -$LN49@unz64local@7: - -; 952 : -; 953 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.disk_num_start) != UNZ_OK) - - 001aa 8b 47 30 mov eax, DWORD PTR [edi+48] - 001ad 8d 54 24 64 lea edx, DWORD PTR _file_info$[esp+188] - 001b1 52 push edx - 001b2 8b cf mov ecx, edi - 001b4 e8 00 00 00 00 call _unz64local_getShort - 001b9 83 c4 04 add esp, 4 - 001bc 85 c0 test eax, eax - 001be 74 03 je SHORT $LN48@unz64local@7 - -; 954 : err=UNZ_ERRNO; - - 001c0 83 cb ff or ebx, -1 -$LN48@unz64local@7: - -; 955 : -; 956 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&file_info.internal_fa) != UNZ_OK) - - 001c3 8d 44 24 68 lea eax, DWORD PTR _file_info$[esp+192] - 001c7 50 push eax - 001c8 8b 47 30 mov eax, DWORD PTR [edi+48] - 001cb 8b cf mov ecx, edi - 001cd e8 00 00 00 00 call _unz64local_getShort - 001d2 83 c4 04 add esp, 4 - 001d5 85 c0 test eax, eax - 001d7 74 03 je SHORT $LN47@unz64local@7 - -; 957 : err=UNZ_ERRNO; - - 001d9 83 cb ff or ebx, -1 -$LN47@unz64local@7: - -; 958 : -; 959 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&file_info.external_fa) != UNZ_OK) - - 001dc 8b 47 30 mov eax, DWORD PTR [edi+48] - 001df 8d 4c 24 6c lea ecx, DWORD PTR _file_info$[esp+196] - 001e3 51 push ecx - 001e4 8b cf mov ecx, edi - 001e6 e8 00 00 00 00 call _unz64local_getLong - 001eb 83 c4 04 add esp, 4 - 001ee 85 c0 test eax, eax - 001f0 74 03 je SHORT $LN46@unz64local@7 - -; 960 : err=UNZ_ERRNO; - - 001f2 83 cb ff or ebx, -1 -$LN46@unz64local@7: - -; 961 : -; 962 : // relative offset of local header -; 963 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK) - - 001f5 8b 47 30 mov eax, DWORD PTR [edi+48] - 001f8 8d 54 24 10 lea edx, DWORD PTR _uL$[esp+136] - 001fc 52 push edx - 001fd 8b cf mov ecx, edi - 001ff e8 00 00 00 00 call _unz64local_getLong - 00204 83 c4 04 add esp, 4 - 00207 85 c0 test eax, eax - 00209 74 03 je SHORT $LN45@unz64local@7 - -; 964 : err=UNZ_ERRNO; - - 0020b 83 cb ff or ebx, -1 -$LN45@unz64local@7: - -; 965 : file_info_internal.offset_curfile = uL; - - 0020e 8b 44 24 10 mov eax, DWORD PTR _uL$[esp+136] - 00212 89 74 24 2c mov DWORD PTR _file_info_internal$[esp+140], esi - -; 966 : -; 967 : lSeek+=file_info.size_filename; - - 00216 8b 74 24 58 mov esi, DWORD PTR _file_info$[esp+176] - 0021a 89 44 24 28 mov DWORD PTR _file_info_internal$[esp+136], eax - 0021e 8b c6 mov eax, esi - 00220 89 44 24 10 mov DWORD PTR _lSeek$[esp+136], eax - -; 968 : if ((err==UNZ_OK) && (szFileName!=NULL)) - - 00224 85 db test ebx, ebx - 00226 0f 85 ef 00 00 - 00 jne $LN39@unz64local@7 - 0022c 8b 4d 10 mov ecx, DWORD PTR _szFileName$[ebp] - 0022f 85 c9 test ecx, ecx - 00231 74 50 je SHORT $LN71@unz64local@7 - -; 969 : { -; 970 : uLong uSizeRead ; -; 971 : if (file_info.size_filename0) && (fileNameBufferSize>0)) - - 00247 85 f6 test esi, esi - 00249 74 26 je SHORT $LN40@unz64local@7 - 0024b 85 c0 test eax, eax - 0024d 74 22 je SHORT $LN40@unz64local@7 - -; 980 : if (ZREAD64(s->z_filefunc, s->filestream,szFileName,uSizeRead)!=uSizeRead) - - 0024f 8b 4c 24 10 mov ecx, DWORD PTR _uSizeRead$82538[esp+136] - 00253 8b 55 10 mov edx, DWORD PTR _szFileName$[ebp] - 00256 8b 47 30 mov eax, DWORD PTR [edi+48] - 00259 51 push ecx - 0025a 8b 4f 1c mov ecx, DWORD PTR [edi+28] - 0025d 52 push edx - 0025e 8b 57 04 mov edx, DWORD PTR [edi+4] - 00261 50 push eax - 00262 51 push ecx - 00263 ff d2 call edx - 00265 83 c4 10 add esp, 16 ; 00000010H - 00268 3b 44 24 10 cmp eax, DWORD PTR _uSizeRead$82538[esp+136] - 0026c 74 03 je SHORT $LN40@unz64local@7 - -; 981 : err=UNZ_ERRNO; - - 0026e 83 cb ff or ebx, -1 -$LN40@unz64local@7: - -; 982 : lSeek -= uSizeRead; - - 00271 2b 74 24 10 sub esi, DWORD PTR _uSizeRead$82538[esp+136] - 00275 8b c6 mov eax, esi - 00277 89 74 24 10 mov DWORD PTR _lSeek$[esp+136], esi - -; 983 : } -; 984 : -; 985 : // Read extrafield -; 986 : if ((err==UNZ_OK) && (extraField!=NULL)) - - 0027b 85 db test ebx, ebx - 0027d 0f 85 98 00 00 - 00 jne $LN39@unz64local@7 -$LN71@unz64local@7: - 00283 83 7d 18 00 cmp DWORD PTR _extraField$[ebp], 0 - 00287 0f 84 8e 00 00 - 00 je $LN39@unz64local@7 - -; 987 : { -; 988 : ZPOS64_T uSizeRead ; -; 989 : if (file_info.size_file_extraz_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0) - - 002a4 8b 44 24 10 mov eax, DWORD PTR _lSeek$[esp+136] - 002a8 8b 77 30 mov esi, DWORD PTR [edi+48] - 002ab 99 cdq - 002ac 52 push edx - 002ad 50 push eax - 002ae ba 01 00 00 00 mov edx, 1 - 002b3 8b c7 mov eax, edi - 002b5 e8 00 00 00 00 call _call_zseek64 - 002ba 83 c4 08 add esp, 8 - 002bd 85 c0 test eax, eax - 002bf 75 06 jne SHORT $LN35@unz64local@7 - -; 997 : lSeek=0; - - 002c1 89 44 24 10 mov DWORD PTR _lSeek$[esp+136], eax - -; 998 : else - - 002c5 eb 03 jmp SHORT $LN34@unz64local@7 -$LN35@unz64local@7: - -; 999 : err=UNZ_ERRNO; - - 002c7 83 cb ff or ebx, -1 -$LN34@unz64local@7: - -; 1000 : } -; 1001 : -; 1002 : if ((file_info.size_file_extra>0) && (extraFieldBufferSize>0)) - - 002ca 83 7c 24 5c 00 cmp DWORD PTR _file_info$[esp+180], 0 - 002cf 76 3a jbe SHORT $LN83@unz64local@7 - 002d1 83 7d 1c 00 cmp DWORD PTR _extraFieldBufferSize$[ebp], 0 - 002d5 76 34 jbe SHORT $LN83@unz64local@7 - -; 1003 : if (ZREAD64(s->z_filefunc, s->filestream,extraField,(uLong)uSizeRead)!=uSizeRead) - - 002d7 8b 74 24 20 mov esi, DWORD PTR _uSizeRead$82545[esp+136] - 002db 8b 45 18 mov eax, DWORD PTR _extraField$[ebp] - 002de 8b 4f 30 mov ecx, DWORD PTR [edi+48] - 002e1 8b 57 1c mov edx, DWORD PTR [edi+28] - 002e4 56 push esi - 002e5 50 push eax - 002e6 8b 47 04 mov eax, DWORD PTR [edi+4] - 002e9 51 push ecx - 002ea 52 push edx - 002eb ff d0 call eax - 002ed 83 c4 10 add esp, 16 ; 00000010H - 002f0 33 c9 xor ecx, ecx - 002f2 3b c6 cmp eax, esi - 002f4 75 06 jne SHORT $LN75@unz64local@7 - 002f6 33 c0 xor eax, eax - 002f8 3b c8 cmp ecx, eax - 002fa 74 13 je SHORT $LN32@unz64local@7 -$LN75@unz64local@7: - -; 1005 : -; 1006 : lSeek += file_info.size_file_extra - (uLong)uSizeRead; - - 002fc 8b 4c 24 5c mov ecx, DWORD PTR _file_info$[esp+180] - 00300 2b ce sub ecx, esi - 00302 83 cb ff or ebx, -1 - 00305 01 4c 24 10 add DWORD PTR _lSeek$[esp+136], ecx - -; 1007 : } -; 1008 : else - - 00309 eb 18 jmp SHORT $LN31@unz64local@7 -$LN83@unz64local@7: - -; 1004 : err=UNZ_ERRNO; - - 0030b 8b 74 24 20 mov esi, DWORD PTR _uSizeRead$82545[esp+136] -$LN32@unz64local@7: - -; 1005 : -; 1006 : lSeek += file_info.size_file_extra - (uLong)uSizeRead; - - 0030f 8b 4c 24 5c mov ecx, DWORD PTR _file_info$[esp+180] - 00313 2b ce sub ecx, esi - 00315 01 4c 24 10 add DWORD PTR _lSeek$[esp+136], ecx - -; 1007 : } -; 1008 : else - - 00319 eb 08 jmp SHORT $LN31@unz64local@7 -$LN39@unz64local@7: - -; 1009 : lSeek += file_info.size_file_extra; - - 0031b 03 44 24 5c add eax, DWORD PTR _file_info$[esp+180] - 0031f 89 44 24 10 mov DWORD PTR _lSeek$[esp+136], eax -$LN31@unz64local@7: - -; 1010 : -; 1011 : -; 1012 : if ((err==UNZ_OK) && (file_info.size_file_extra != 0)) - - 00323 85 db test ebx, ebx - 00325 0f 85 03 02 00 - 00 jne $LN1@unz64local@7 - 0032b 39 5c 24 5c cmp DWORD PTR _file_info$[esp+180], ebx - 0032f 0f 84 4f 01 00 - 00 je $LN72@unz64local@7 - -; 1013 : { -; 1014 : uLong acc = 0; -; 1015 : -; 1016 : // since lSeek now points to after the extra field we need to move back -; 1017 : lSeek -= file_info.size_file_extra; - - 00335 8b 54 24 5c mov edx, DWORD PTR _file_info$[esp+180] - 00339 29 54 24 10 sub DWORD PTR _lSeek$[esp+136], edx - 0033d 89 5c 24 18 mov DWORD PTR _acc$82557[esp+136], ebx - -; 1018 : -; 1019 : if (lSeek!=0) - - 00341 74 24 je SHORT $LN68@unz64local@7 - -; 1020 : { -; 1021 : if (ZSEEK64(s->z_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0) - - 00343 8b 44 24 10 mov eax, DWORD PTR _lSeek$[esp+136] - 00347 8b 77 30 mov esi, DWORD PTR [edi+48] - 0034a 99 cdq - 0034b 52 push edx - 0034c 50 push eax - 0034d 8d 53 01 lea edx, DWORD PTR [ebx+1] - 00350 8b c7 mov eax, edi - 00352 e8 00 00 00 00 call _call_zseek64 - 00357 83 c4 08 add esp, 8 - 0035a 85 c0 test eax, eax - 0035c 75 06 jne SHORT $LN28@unz64local@7 - -; 1022 : lSeek=0; - - 0035e 89 44 24 10 mov DWORD PTR _lSeek$[esp+136], eax - -; 1023 : else - - 00362 eb 03 jmp SHORT $LN68@unz64local@7 -$LN28@unz64local@7: - -; 1024 : err=UNZ_ERRNO; - - 00364 83 cb ff or ebx, -1 -$LN68@unz64local@7: - -; 1025 : } -; 1026 : -; 1027 : while(acc < file_info.size_file_extra) - - 00367 83 7c 24 5c 00 cmp DWORD PTR _file_info$[esp+180], 0 - 0036c 0f 86 0a 01 00 - 00 jbe $LN25@unz64local@7 - 00372 83 ce ff or esi, -1 -$LL26@unz64local@7: - -; 1028 : { -; 1029 : uLong headerId; -; 1030 : uLong dataSize; -; 1031 : -; 1032 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&headerId) != UNZ_OK) - - 00375 8d 44 24 1c lea eax, DWORD PTR _headerId$82564[esp+136] - 00379 50 push eax - 0037a 8b 47 30 mov eax, DWORD PTR [edi+48] - 0037d 8b cf mov ecx, edi - 0037f e8 00 00 00 00 call _unz64local_getShort - 00384 83 c4 04 add esp, 4 - 00387 85 c0 test eax, eax - 00389 74 02 je SHORT $LN24@unz64local@7 - -; 1033 : err=UNZ_ERRNO; - - 0038b 8b de mov ebx, esi -$LN24@unz64local@7: - -; 1034 : -; 1035 : if (unz64local_getShort(&s->z_filefunc, s->filestream,&dataSize) != UNZ_OK) - - 0038d 8b 47 30 mov eax, DWORD PTR [edi+48] - 00390 8d 4c 24 14 lea ecx, DWORD PTR _dataSize$82565[esp+136] - 00394 51 push ecx - 00395 8b cf mov ecx, edi - 00397 e8 00 00 00 00 call _unz64local_getShort - 0039c 83 c4 04 add esp, 4 - 0039f 85 c0 test eax, eax - 003a1 74 02 je SHORT $LN23@unz64local@7 - -; 1036 : err=UNZ_ERRNO; - - 003a3 8b de mov ebx, esi -$LN23@unz64local@7: - -; 1037 : -; 1038 : /* ZIP64 extra fields */ -; 1039 : if (headerId == 0x0001) - - 003a5 83 7c 24 1c 01 cmp DWORD PTR _headerId$82564[esp+136], 1 - 003aa 0f 85 8f 00 00 - 00 jne $LN22@unz64local@7 - -; 1040 : { -; 1041 : uLong uL; -; 1042 : -; 1043 : if(file_info.uncompressed_size == MAXU32) - - 003b0 39 74 24 50 cmp DWORD PTR _file_info$[esp+168], esi - 003b4 75 1f jne SHORT $LN20@unz64local@7 - 003b6 83 7c 24 54 00 cmp DWORD PTR _file_info$[esp+172], 0 - 003bb 75 18 jne SHORT $LN20@unz64local@7 - -; 1044 : { -; 1045 : if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info.uncompressed_size) != UNZ_OK) - - 003bd 8b 47 30 mov eax, DWORD PTR [edi+48] - 003c0 8d 54 24 50 lea edx, DWORD PTR _file_info$[esp+168] - 003c4 52 push edx - 003c5 8b cf mov ecx, edi - 003c7 e8 00 00 00 00 call _unz64local_getLong64 - 003cc 83 c4 04 add esp, 4 - 003cf 85 c0 test eax, eax - 003d1 74 02 je SHORT $LN20@unz64local@7 - -; 1046 : err=UNZ_ERRNO; - - 003d3 8b de mov ebx, esi -$LN20@unz64local@7: - -; 1047 : } -; 1048 : -; 1049 : if(file_info.compressed_size == MAXU32) - - 003d5 39 74 24 48 cmp DWORD PTR _file_info$[esp+160], esi - 003d9 75 1f jne SHORT $LN18@unz64local@7 - 003db 83 7c 24 4c 00 cmp DWORD PTR _file_info$[esp+164], 0 - 003e0 75 18 jne SHORT $LN18@unz64local@7 - -; 1050 : { -; 1051 : if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info.compressed_size) != UNZ_OK) - - 003e2 8d 44 24 48 lea eax, DWORD PTR _file_info$[esp+160] - 003e6 50 push eax - 003e7 8b 47 30 mov eax, DWORD PTR [edi+48] - 003ea 8b cf mov ecx, edi - 003ec e8 00 00 00 00 call _unz64local_getLong64 - 003f1 83 c4 04 add esp, 4 - 003f4 85 c0 test eax, eax - 003f6 74 02 je SHORT $LN18@unz64local@7 - -; 1052 : err=UNZ_ERRNO; - - 003f8 8b de mov ebx, esi -$LN18@unz64local@7: - -; 1053 : } -; 1054 : -; 1055 : if(file_info_internal.offset_curfile == MAXU32) - - 003fa 39 74 24 28 cmp DWORD PTR _file_info_internal$[esp+136], esi - 003fe 75 1f jne SHORT $LN16@unz64local@7 - 00400 83 7c 24 2c 00 cmp DWORD PTR _file_info_internal$[esp+140], 0 - 00405 75 18 jne SHORT $LN16@unz64local@7 - -; 1056 : { -; 1057 : /* Relative Header offset */ -; 1058 : if (unz64local_getLong64(&s->z_filefunc, s->filestream,&file_info_internal.offset_curfile) != UNZ_OK) - - 00407 8b 47 30 mov eax, DWORD PTR [edi+48] - 0040a 8d 4c 24 28 lea ecx, DWORD PTR _file_info_internal$[esp+136] - 0040e 51 push ecx - 0040f 8b cf mov ecx, edi - 00411 e8 00 00 00 00 call _unz64local_getLong64 - 00416 83 c4 04 add esp, 4 - 00419 85 c0 test eax, eax - 0041b 74 02 je SHORT $LN16@unz64local@7 - -; 1059 : err=UNZ_ERRNO; - - 0041d 8b de mov ebx, esi -$LN16@unz64local@7: - -; 1060 : } -; 1061 : -; 1062 : if(file_info.disk_num_start == MAXU32) - - 0041f 39 74 24 64 cmp DWORD PTR _file_info$[esp+188], esi - 00423 75 3d jne SHORT $LN12@unz64local@7 - -; 1063 : { -; 1064 : /* Disk Start Number */ -; 1065 : if (unz64local_getLong(&s->z_filefunc, s->filestream,&uL) != UNZ_OK) - - 00425 8b 47 30 mov eax, DWORD PTR [edi+48] - 00428 8d 54 24 20 lea edx, DWORD PTR _uL$82569[esp+136] - 0042c 52 push edx - 0042d 8b cf mov ecx, edi - 0042f e8 00 00 00 00 call _unz64local_getLong - 00434 83 c4 04 add esp, 4 - 00437 85 c0 test eax, eax - 00439 74 27 je SHORT $LN12@unz64local@7 - -; 1066 : err=UNZ_ERRNO; - - 0043b 8b de mov ebx, esi - -; 1067 : } -; 1068 : -; 1069 : } -; 1070 : else - - 0043d eb 23 jmp SHORT $LN12@unz64local@7 -$LN22@unz64local@7: - -; 1071 : { -; 1072 : if (ZSEEK64(s->z_filefunc, s->filestream,dataSize,ZLIB_FILEFUNC_SEEK_CUR)!=0) - - 0043f 8b 44 24 14 mov eax, DWORD PTR _dataSize$82565[esp+136] - 00443 8b 77 30 mov esi, DWORD PTR [edi+48] - 00446 6a 00 push 0 - 00448 50 push eax - 00449 ba 01 00 00 00 mov edx, 1 - 0044e 8b c7 mov eax, edi - 00450 e8 00 00 00 00 call _call_zseek64 - 00455 83 c4 08 add esp, 8 - 00458 85 c0 test eax, eax - 0045a 74 03 je SHORT $LN85@unz64local@7 - -; 1073 : err=UNZ_ERRNO; - - 0045c 83 cb ff or ebx, -1 -$LN85@unz64local@7: - 0045f 83 ce ff or esi, -1 -$LN12@unz64local@7: - -; 1074 : } -; 1075 : -; 1076 : acc += 2 + 2 + dataSize; - - 00462 8b 54 24 18 mov edx, DWORD PTR _acc$82557[esp+136] - 00466 8b 4c 24 14 mov ecx, DWORD PTR _dataSize$82565[esp+136] - 0046a 8d 44 0a 04 lea eax, DWORD PTR [edx+ecx+4] - 0046e 89 44 24 18 mov DWORD PTR _acc$82557[esp+136], eax - 00472 3b 44 24 5c cmp eax, DWORD PTR _file_info$[esp+180] - 00476 0f 82 f9 fe ff - ff jb $LL26@unz64local@7 -$LN25@unz64local@7: - -; 1077 : } -; 1078 : } -; 1079 : -; 1080 : if ((err==UNZ_OK) && (szComment!=NULL)) - - 0047c 85 db test ebx, ebx - 0047e 0f 85 aa 00 00 - 00 jne $LN1@unz64local@7 -$LN72@unz64local@7: - 00484 8b 55 20 mov edx, DWORD PTR _szComment$[ebp] - 00487 85 d2 test edx, edx - 00489 74 7b je SHORT $LN73@unz64local@7 - -; 1081 : { -; 1082 : uLong uSizeRead ; -; 1083 : if (file_info.size_file_commentz_filefunc, s->filestream,lSeek,ZLIB_FILEFUNC_SEEK_CUR)==0) - - 004ab 8b 44 24 10 mov eax, DWORD PTR _lSeek$[esp+136] - 004af 8b 77 30 mov esi, DWORD PTR [edi+48] - 004b2 99 cdq - 004b3 52 push edx - 004b4 50 push eax - 004b5 ba 01 00 00 00 mov edx, 1 - 004ba 8b c7 mov eax, edi - 004bc e8 00 00 00 00 call _call_zseek64 - 004c1 83 c4 08 add esp, 8 - 004c4 85 c0 test eax, eax - -; 1094 : lSeek=0; -; 1095 : else -; 1096 : err=UNZ_ERRNO; - - 004c6 8b 44 24 60 mov eax, DWORD PTR _file_info$[esp+184] - 004ca 74 03 je SHORT $LN6@unz64local@7 - 004cc 83 cb ff or ebx, -1 -$LN6@unz64local@7: - -; 1097 : } -; 1098 : -; 1099 : if ((file_info.size_file_comment>0) && (commentBufferSize>0)) - - 004cf 85 c0 test eax, eax - 004d1 74 2f je SHORT $LN4@unz64local@7 - 004d3 83 7d 24 00 cmp DWORD PTR _commentBufferSize$[ebp], 0 - 004d7 76 29 jbe SHORT $LN4@unz64local@7 - -; 1100 : if (ZREAD64(s->z_filefunc, s->filestream,szComment,uSizeRead)!=uSizeRead) - - 004d9 8b 74 24 18 mov esi, DWORD PTR _uSizeRead$82582[esp+136] - 004dd 8b 45 20 mov eax, DWORD PTR _szComment$[ebp] - 004e0 8b 4f 30 mov ecx, DWORD PTR [edi+48] - 004e3 8b 57 1c mov edx, DWORD PTR [edi+28] - 004e6 56 push esi - 004e7 50 push eax - 004e8 8b 47 04 mov eax, DWORD PTR [edi+4] - 004eb 51 push ecx - 004ec 52 push edx - 004ed ff d0 call eax - 004ef 83 c4 10 add esp, 16 ; 00000010H - 004f2 3b c6 cmp eax, esi - 004f4 74 0c je SHORT $LN4@unz64local@7 - -; 1101 : err=UNZ_ERRNO; - - 004f6 83 cb ff or ebx, -1 - -; 1113 : -; 1114 : return err; - - 004f9 8b c3 mov eax, ebx - -; 1115 : } - - 004fb 5f pop edi - 004fc 5e pop esi - 004fd 5b pop ebx - 004fe 8b e5 mov esp, ebp - 00500 5d pop ebp - 00501 c3 ret 0 -$LN4@unz64local@7: - -; 1102 : lSeek+=file_info.size_file_comment - uSizeRead; -; 1103 : } -; 1104 : else -; 1105 : lSeek+=file_info.size_file_comment; -; 1106 : -; 1107 : -; 1108 : if ((err==UNZ_OK) && (pfile_info!=NULL)) - - 00502 85 db test ebx, ebx - 00504 75 28 jne SHORT $LN1@unz64local@7 -$LN73@unz64local@7: - 00506 83 7d 08 00 cmp DWORD PTR _pfile_info$[ebp], 0 - 0050a 74 0e je SHORT $LN74@unz64local@7 - -; 1109 : *pfile_info=file_info; - - 0050c 8b 7d 08 mov edi, DWORD PTR _pfile_info$[ebp] - 0050f b9 16 00 00 00 mov ecx, 22 ; 00000016H - 00514 8d 74 24 30 lea esi, DWORD PTR _file_info$[esp+136] - 00518 f3 a5 rep movsd -$LN74@unz64local@7: - -; 1110 : -; 1111 : if ((err==UNZ_OK) && (pfile_info_internal!=NULL)) - - 0051a 8b 45 0c mov eax, DWORD PTR _pfile_info_internal$[ebp] - 0051d 85 c0 test eax, eax - 0051f 74 0d je SHORT $LN1@unz64local@7 - -; 1112 : *pfile_info_internal=file_info_internal; - - 00521 8b 4c 24 28 mov ecx, DWORD PTR _file_info_internal$[esp+136] - 00525 8b 54 24 2c mov edx, DWORD PTR _file_info_internal$[esp+140] - 00529 89 08 mov DWORD PTR [eax], ecx - 0052b 89 50 04 mov DWORD PTR [eax+4], edx -$LN1@unz64local@7: - -; 1115 : } - - 0052e 5f pop edi - 0052f 5e pop esi - 00530 8b c3 mov eax, ebx - 00532 5b pop ebx - 00533 8b e5 mov esp, ebp - 00535 5d pop ebp - 00536 c3 ret 0 -_unz64local_GetCurrentFileInfoInternal ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _unz64local_SearchCentralDir64 -_TEXT SEGMENT -_relativeOffset$ = -40 ; size = 8 -_uSizeFile$ = -40 ; size = 8 -_uPosFound$ = -32 ; size = 8 -_uBackRead$ = -24 ; size = 8 -_uMaxBack$ = -16 ; size = 8 -_uReadSize$82304 = -8 ; size = 4 -_uL$ = -4 ; size = 4 -_buf$ = -4 ; size = 4 -_pzlib_filefunc_def$ = 8 ; size = 4 -_filestream$ = 12 ; size = 4 -_unz64local_SearchCentralDir64 PROC ; COMDAT - -; 480 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 2c sub esp, 44 ; 0000002cH - -; 481 : unsigned char* buf; -; 482 : ZPOS64_T uSizeFile; -; 483 : ZPOS64_T uBackRead; -; 484 : ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */ -; 485 : ZPOS64_T uPosFound=0; -; 486 : uLong uL; -; 487 : ZPOS64_T relativeOffset; -; 488 : -; 489 : if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0) - - 00006 8b 45 08 mov eax, DWORD PTR _pzlib_filefunc_def$[ebp] - 00009 53 push ebx - 0000a 8b 5d 0c mov ebx, DWORD PTR _filestream$[ebp] - 0000d 56 push esi - 0000e 57 push edi - 0000f 33 ff xor edi, edi - 00011 57 push edi - 00012 57 push edi - 00013 8d 57 02 lea edx, DWORD PTR [edi+2] - 00016 8b f3 mov esi, ebx - 00018 c7 45 f0 ff ff - 00 00 mov DWORD PTR _uMaxBack$[ebp], 65535 ; 0000ffffH - 0001f 89 7d f4 mov DWORD PTR _uMaxBack$[ebp+4], edi - 00022 89 7d e0 mov DWORD PTR _uPosFound$[ebp], edi - 00025 89 7d e4 mov DWORD PTR _uPosFound$[ebp+4], edi - 00028 e8 00 00 00 00 call _call_zseek64 - 0002d 83 c4 08 add esp, 8 - 00030 85 c0 test eax, eax - 00032 74 0b je SHORT $LN25@unz64local@8 -$LN50@unz64local@8: - -; 490 : return 0; - - 00034 33 c0 xor eax, eax - 00036 33 d2 xor edx, edx - -; 573 : } - - 00038 5f pop edi - 00039 5e pop esi - 0003a 5b pop ebx - 0003b 8b e5 mov esp, ebp - 0003d 5d pop ebp - 0003e c3 ret 0 -$LN25@unz64local@8: - -; 491 : -; 492 : -; 493 : uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream); - - 0003f 8b 45 08 mov eax, DWORD PTR _pzlib_filefunc_def$[ebp] - 00042 8b cb mov ecx, ebx - 00044 e8 00 00 00 00 call _call_ztell64 - 00049 8b f0 mov esi, eax - 0004b 89 75 d8 mov DWORD PTR _uSizeFile$[ebp], esi - 0004e 89 55 dc mov DWORD PTR _uSizeFile$[ebp+4], edx - -; 494 : -; 495 : if (uMaxBack>uSizeFile) - - 00051 85 d2 test edx, edx - 00053 77 12 ja SHORT $LN24@unz64local@8 - 00055 72 08 jb SHORT $LN38@unz64local@8 - 00057 81 fe ff ff 00 - 00 cmp esi, 65535 ; 0000ffffH - 0005d 73 08 jae SHORT $LN24@unz64local@8 -$LN38@unz64local@8: - -; 496 : uMaxBack = uSizeFile; - - 0005f 89 75 f0 mov DWORD PTR _uMaxBack$[ebp], esi - 00062 89 55 f4 mov DWORD PTR _uMaxBack$[ebp+4], edx - 00065 8b fa mov edi, edx -$LN24@unz64local@8: - -; 497 : -; 498 : buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); - - 00067 68 04 04 00 00 push 1028 ; 00000404H - 0006c e8 00 00 00 00 call _malloc - 00071 83 c4 04 add esp, 4 - 00074 89 45 fc mov DWORD PTR _buf$[ebp], eax - -; 499 : if (buf==NULL) - - 00077 85 c0 test eax, eax - -; 500 : return 0; - - 00079 74 b9 je SHORT $LN50@unz64local@8 - -; 501 : -; 502 : uBackRead = 4; - - 0007b 33 c9 xor ecx, ecx - 0007d ba 04 00 00 00 mov edx, 4 - -; 503 : while (uBackReaduMaxBack) - - 000af 81 c2 00 04 00 - 00 add edx, 1024 ; 00000400H - 000b5 83 d1 00 adc ecx, 0 - 000b8 3b cf cmp ecx, edi - 000ba 72 0e jb SHORT $LN20@unz64local@8 - 000bc 77 04 ja SHORT $LN40@unz64local@8 - 000be 3b d0 cmp edx, eax - 000c0 76 08 jbe SHORT $LN20@unz64local@8 -$LN40@unz64local@8: - -; 509 : uBackRead = uMaxBack; - - 000c2 89 45 e8 mov DWORD PTR _uBackRead$[ebp], eax - 000c5 89 7d ec mov DWORD PTR _uBackRead$[ebp+4], edi - -; 510 : else - - 000c8 eb 06 jmp SHORT $LN19@unz64local@8 -$LN20@unz64local@8: - -; 511 : uBackRead+=BUFREADCOMMENT; - - 000ca 89 55 e8 mov DWORD PTR _uBackRead$[ebp], edx - 000cd 89 4d ec mov DWORD PTR _uBackRead$[ebp+4], ecx -$LN19@unz64local@8: - -; 512 : uReadPos = uSizeFile-uBackRead ; - - 000d0 8b 5d dc mov ebx, DWORD PTR _uSizeFile$[ebp+4] - -; 513 : -; 514 : uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? -; 515 : (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos); - - 000d3 8b 45 dc mov eax, DWORD PTR _uSizeFile$[ebp+4] - 000d6 8b fe mov edi, esi - 000d8 2b 7d e8 sub edi, DWORD PTR _uBackRead$[ebp] - 000db 8b ce mov ecx, esi - 000dd 1b 5d ec sbb ebx, DWORD PTR _uBackRead$[ebp+4] - 000e0 2b cf sub ecx, edi - 000e2 1b c3 sbb eax, ebx - 000e4 85 c0 test eax, eax - 000e6 72 13 jb SHORT $LN28@unz64local@8 - 000e8 77 08 ja SHORT $LN41@unz64local@8 - 000ea 81 f9 04 04 00 - 00 cmp ecx, 1028 ; 00000404H - 000f0 76 09 jbe SHORT $LN28@unz64local@8 -$LN41@unz64local@8: - 000f2 c7 45 f8 04 04 - 00 00 mov DWORD PTR _uReadSize$82304[ebp], 1028 ; 00000404H - 000f9 eb 05 jmp SHORT $LN29@unz64local@8 -$LN28@unz64local@8: - 000fb 2b f7 sub esi, edi - 000fd 89 75 f8 mov DWORD PTR _uReadSize$82304[ebp], esi -$LN29@unz64local@8: - -; 516 : if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) - - 00100 8b 75 0c mov esi, DWORD PTR _filestream$[ebp] - 00103 8b 45 08 mov eax, DWORD PTR _pzlib_filefunc_def$[ebp] - 00106 53 push ebx - 00107 57 push edi - 00108 33 d2 xor edx, edx - 0010a e8 00 00 00 00 call _call_zseek64 - 0010f 83 c4 08 add esp, 8 - 00112 85 c0 test eax, eax - 00114 75 78 jne SHORT $LN46@unz64local@8 - -; 517 : break; -; 518 : -; 519 : if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) - - 00116 8b 75 f8 mov esi, DWORD PTR _uReadSize$82304[ebp] - 00119 8b 45 fc mov eax, DWORD PTR _buf$[ebp] - 0011c 8b 4d 0c mov ecx, DWORD PTR _filestream$[ebp] - 0011f 56 push esi - 00120 50 push eax - 00121 8b 45 08 mov eax, DWORD PTR _pzlib_filefunc_def$[ebp] - 00124 8b 50 1c mov edx, DWORD PTR [eax+28] - 00127 8b 40 04 mov eax, DWORD PTR [eax+4] - 0012a 51 push ecx - 0012b 52 push edx - 0012c ff d0 call eax - 0012e 83 c4 10 add esp, 16 ; 00000010H - 00131 3b c6 cmp eax, esi - 00133 75 59 jne SHORT $LN46@unz64local@8 - -; 520 : break; -; 521 : -; 522 : for (i=(int)uReadSize-3; (i--)>0;) - - 00135 8d 46 fd lea eax, DWORD PTR [esi-3] - 00138 85 c0 test eax, eax - 0013a 7e 38 jle SHORT $LN37@unz64local@8 - 0013c 8d 64 24 00 npad 4 -$LL16@unz64local@8: - -; 523 : if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && -; 524 : ((*(buf+i+2))==0x06) && ((*(buf+i+3))==0x07)) - - 00140 8b 4d fc mov ecx, DWORD PTR _buf$[ebp] - 00143 48 dec eax - 00144 80 3c 08 50 cmp BYTE PTR [eax+ecx], 80 ; 00000050H - 00148 75 15 jne SHORT $LN14@unz64local@8 - 0014a 80 7c 08 01 4b cmp BYTE PTR [eax+ecx+1], 75 ; 0000004bH - 0014f 75 0e jne SHORT $LN14@unz64local@8 - 00151 80 7c 08 02 06 cmp BYTE PTR [eax+ecx+2], 6 - 00156 75 07 jne SHORT $LN14@unz64local@8 - 00158 80 7c 08 03 07 cmp BYTE PTR [eax+ecx+3], 7 - 0015d 74 06 je SHORT $LN32@unz64local@8 -$LN14@unz64local@8: - -; 520 : break; -; 521 : -; 522 : for (i=(int)uReadSize-3; (i--)>0;) - - 0015f 85 c0 test eax, eax - 00161 7f dd jg SHORT $LL16@unz64local@8 - -; 527 : break; -; 528 : } -; 529 : -; 530 : if (uPosFound!=0) - - 00163 eb 0f jmp SHORT $LN37@unz64local@8 -$LN32@unz64local@8: - -; 525 : { -; 526 : uPosFound = uReadPos+i; - - 00165 99 cdq - 00166 03 c7 add eax, edi - 00168 13 d3 adc edx, ebx - 0016a 89 45 e0 mov DWORD PTR _uPosFound$[ebp], eax - -; 527 : break; -; 528 : } -; 529 : -; 530 : if (uPosFound!=0) - - 0016d 0b c2 or eax, edx - 0016f 89 55 e4 mov DWORD PTR _uPosFound$[ebp+4], edx - 00172 75 1a jne SHORT $LN46@unz64local@8 -$LN37@unz64local@8: - -; 503 : while (uBackReadpos_in_central_dir = file_pos->pos_in_zip_directory; - - 00012 8b 08 mov ecx, DWORD PTR [eax] - -; 1349 : s->num_file = file_pos->num_of_file; -; 1350 : -; 1351 : /* set the current file */ -; 1352 : err = unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info, -; 1353 : &s->cur_file_info_internal, -; 1354 : NULL,0,NULL,0,NULL,0); - - 00014 6a 00 push 0 - 00016 6a 00 push 0 - 00018 89 4e 58 mov DWORD PTR [esi+88], ecx - 0001b 8b 50 04 mov edx, DWORD PTR [eax+4] - 0001e 6a 00 push 0 - 00020 89 56 5c mov DWORD PTR [esi+92], edx - 00023 8b 48 08 mov ecx, DWORD PTR [eax+8] - 00026 6a 00 push 0 - 00028 89 4e 50 mov DWORD PTR [esi+80], ecx - 0002b 8b 50 0c mov edx, DWORD PTR [eax+12] - 0002e 6a 00 push 0 - 00030 6a 00 push 0 - 00032 8d 86 d8 00 00 - 00 lea eax, DWORD PTR [esi+216] - 00038 50 push eax - 00039 8d 8e 80 00 00 - 00 lea ecx, DWORD PTR [esi+128] - 0003f 51 push ecx - 00040 8b c6 mov eax, esi - 00042 89 56 54 mov DWORD PTR [esi+84], edx - 00045 e8 00 00 00 00 call _unz64local_GetCurrentFileInfoInternal - 0004a 8b c8 mov ecx, eax - -; 1355 : /* return results */ -; 1356 : s->current_file_ok = (err == UNZ_OK); - - 0004c 33 c0 xor eax, eax - 0004e 83 c4 20 add esp, 32 ; 00000020H - 00051 85 c9 test ecx, ecx - 00053 0f 94 c0 sete al - 00056 99 cdq - 00057 89 46 60 mov DWORD PTR [esi+96], eax - 0005a 89 56 64 mov DWORD PTR [esi+100], edx - -; 1357 : return err; - - 0005d 8b c1 mov eax, ecx - -; 1358 : } - - 0005f 5e pop esi - 00060 5d pop ebp - 00061 c2 08 00 ret 8 -$LN1@unzGoToFil: - -; 1344 : return UNZ_PARAMERROR; - - 00064 b8 9a ff ff ff mov eax, -102 ; ffffff9aH - -; 1358 : } - - 00069 5e pop esi - 0006a 5d pop ebp - 0006b c2 08 00 ret 8 -_unzGoToFilePos64@8 ENDP -_TEXT ENDS -PUBLIC _unzGoToNextFile@4 -; Function compile flags: /Ogtp -; COMDAT _unzGoToNextFile@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_unzGoToNextFile@4 PROC ; COMDAT - -; 1200 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 1201 : unz64_s* s; -; 1202 : int err; -; 1203 : -; 1204 : if (file==NULL) - - 00004 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 00007 57 push edi - 00008 85 f6 test esi, esi - 0000a 75 09 jne SHORT $LN4@unzGoToNex - -; 1205 : return UNZ_PARAMERROR; - - 0000c 8d 46 9a lea eax, DWORD PTR [esi-102] - -; 1220 : return err; -; 1221 : } - - 0000f 5f pop edi - 00010 5e pop esi - 00011 5d pop ebp - 00012 c2 04 00 ret 4 -$LN4@unzGoToNex: - -; 1206 : s=(unz64_s*)file; -; 1207 : if (!s->current_file_ok) - - 00015 8b 46 60 mov eax, DWORD PTR [esi+96] - 00018 0b 46 64 or eax, DWORD PTR [esi+100] - 0001b 75 0b jne SHORT $LN3@unzGoToNex -$LN8@unzGoToNex: - -; 1208 : return UNZ_END_OF_LIST_OF_FILE; - - 0001d b8 9c ff ff ff mov eax, -100 ; ffffff9cH - -; 1220 : return err; -; 1221 : } - - 00022 5f pop edi - 00023 5e pop esi - 00024 5d pop ebp - 00025 c2 04 00 ret 4 -$LN3@unzGoToNex: - -; 1209 : if (s->gi.number_entry != 0xffff) /* 2^16 files overflow hack */ - - 00028 8b 56 38 mov edx, DWORD PTR [esi+56] - 0002b 8b 7e 3c mov edi, DWORD PTR [esi+60] - 0002e 81 fa ff ff 00 - 00 cmp edx, 65535 ; 0000ffffH - 00034 75 04 jne SHORT $LN7@unzGoToNex - 00036 85 ff test edi, edi - 00038 74 14 je SHORT $LN1@unzGoToNex -$LN7@unzGoToNex: - -; 1210 : if (s->num_file+1==s->gi.number_entry) - - 0003a 8b 46 50 mov eax, DWORD PTR [esi+80] - 0003d 8b 4e 54 mov ecx, DWORD PTR [esi+84] - 00040 83 c0 01 add eax, 1 - 00043 83 d1 00 adc ecx, 0 - 00046 3b c2 cmp eax, edx - 00048 75 04 jne SHORT $LN1@unzGoToNex - 0004a 3b cf cmp ecx, edi - -; 1211 : return UNZ_END_OF_LIST_OF_FILE; - - 0004c 74 cf je SHORT $LN8@unzGoToNex -$LN1@unzGoToNex: - -; 1212 : -; 1213 : s->pos_in_central_dir += SIZECENTRALDIRITEM + s->cur_file_info.size_filename + -; 1214 : s->cur_file_info.size_file_extra + s->cur_file_info.size_file_comment ; - - 0004e 8b 8e b0 00 00 - 00 mov ecx, DWORD PTR [esi+176] - 00054 03 8e ac 00 00 - 00 add ecx, DWORD PTR [esi+172] - 0005a 8b 96 a8 00 00 - 00 mov edx, DWORD PTR [esi+168] - -; 1215 : s->num_file++; -; 1216 : err = unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info, -; 1217 : &s->cur_file_info_internal, -; 1218 : NULL,0,NULL,0,NULL,0); - - 00060 6a 00 push 0 - 00062 6a 00 push 0 - 00064 8d 44 11 2e lea eax, DWORD PTR [ecx+edx+46] - 00068 01 46 58 add DWORD PTR [esi+88], eax - 0006b 6a 00 push 0 - 0006d 6a 00 push 0 - 0006f 83 56 5c 00 adc DWORD PTR [esi+92], 0 - 00073 83 46 50 01 add DWORD PTR [esi+80], 1 - 00077 6a 00 push 0 - 00079 6a 00 push 0 - 0007b 83 56 54 00 adc DWORD PTR [esi+84], 0 - 0007f 8d 8e d8 00 00 - 00 lea ecx, DWORD PTR [esi+216] - 00085 51 push ecx - 00086 8d 96 80 00 00 - 00 lea edx, DWORD PTR [esi+128] - 0008c 52 push edx - 0008d 8b c6 mov eax, esi - 0008f e8 00 00 00 00 call _unz64local_GetCurrentFileInfoInternal - 00094 8b c8 mov ecx, eax - -; 1219 : s->current_file_ok = (err == UNZ_OK); - - 00096 33 c0 xor eax, eax - 00098 83 c4 20 add esp, 32 ; 00000020H - 0009b 85 c9 test ecx, ecx - 0009d 0f 94 c0 sete al - -; 1220 : return err; -; 1221 : } - - 000a0 5f pop edi - 000a1 99 cdq - 000a2 89 46 60 mov DWORD PTR [esi+96], eax - 000a5 89 56 64 mov DWORD PTR [esi+100], edx - 000a8 8b c1 mov eax, ecx - 000aa 5e pop esi - 000ab 5d pop ebp - 000ac c2 04 00 ret 4 -_unzGoToNextFile@4 ENDP -_TEXT ENDS -PUBLIC _unzGoToFirstFile@4 -; Function compile flags: /Ogtp -; COMDAT _unzGoToFirstFile@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_unzGoToFirstFile@4 PROC ; COMDAT - -; 1179 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - -; 1180 : int err=UNZ_OK; -; 1181 : unz64_s* s; -; 1182 : if (file==NULL) - - 00004 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 00007 85 f6 test esi, esi - 00009 75 08 jne SHORT $LN1@unzGoToFir - -; 1183 : return UNZ_PARAMERROR; - - 0000b 8d 46 9a lea eax, DWORD PTR [esi-102] - -; 1192 : } - - 0000e 5e pop esi - 0000f 5d pop ebp - 00010 c2 04 00 ret 4 -$LN1@unzGoToFir: - -; 1184 : s=(unz64_s*)file; -; 1185 : s->pos_in_central_dir=s->offset_central_dir; - - 00013 8b 46 78 mov eax, DWORD PTR [esi+120] - 00016 8b 4e 7c mov ecx, DWORD PTR [esi+124] - -; 1186 : s->num_file=0; -; 1187 : err=unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info, -; 1188 : &s->cur_file_info_internal, -; 1189 : NULL,0,NULL,0,NULL,0); - - 00019 6a 00 push 0 - 0001b 6a 00 push 0 - 0001d 6a 00 push 0 - 0001f 6a 00 push 0 - 00021 6a 00 push 0 - 00023 89 46 58 mov DWORD PTR [esi+88], eax - 00026 6a 00 push 0 - 00028 8d 96 d8 00 00 - 00 lea edx, DWORD PTR [esi+216] - 0002e 52 push edx - 0002f 8d 86 80 00 00 - 00 lea eax, DWORD PTR [esi+128] - 00035 50 push eax - 00036 8b c6 mov eax, esi - 00038 89 4e 5c mov DWORD PTR [esi+92], ecx - 0003b c7 46 50 00 00 - 00 00 mov DWORD PTR [esi+80], 0 - 00042 c7 46 54 00 00 - 00 00 mov DWORD PTR [esi+84], 0 - 00049 e8 00 00 00 00 call _unz64local_GetCurrentFileInfoInternal - 0004e 8b c8 mov ecx, eax - -; 1190 : s->current_file_ok = (err == UNZ_OK); - - 00050 33 c0 xor eax, eax - 00052 83 c4 20 add esp, 32 ; 00000020H - 00055 85 c9 test ecx, ecx - 00057 0f 94 c0 sete al - 0005a 99 cdq - 0005b 89 46 60 mov DWORD PTR [esi+96], eax - 0005e 89 56 64 mov DWORD PTR [esi+100], edx - -; 1191 : return err; - - 00061 8b c1 mov eax, ecx - -; 1192 : } - - 00063 5e pop esi - 00064 5d pop ebp - 00065 c2 04 00 ret 4 -_unzGoToFirstFile@4 ENDP -_TEXT ENDS -PUBLIC _unzGetCurrentFileInfo@32 -; Function compile flags: /Ogtp -; COMDAT _unzGetCurrentFileInfo@32 -_TEXT SEGMENT -_file_info64$ = -88 ; size = 88 -_file$ = 8 ; size = 4 -_pfile_info$ = 12 ; size = 4 -_szFileName$ = 16 ; size = 4 -_fileNameBufferSize$ = 20 ; size = 4 -_extraField$ = 24 ; size = 4 -_extraFieldBufferSize$ = 28 ; size = 4 -_szComment$ = 32 ; size = 4 -_commentBufferSize$ = 36 ; size = 4 -_unzGetCurrentFileInfo@32 PROC ; COMDAT - -; 1141 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - -; 1142 : int err; -; 1143 : unz_file_info64 file_info64; -; 1144 : err = unz64local_GetCurrentFileInfoInternal(file,&file_info64,NULL, -; 1145 : szFileName,fileNameBufferSize, -; 1146 : extraField,extraFieldBufferSize, -; 1147 : szComment,commentBufferSize); - - 00006 8b 45 24 mov eax, DWORD PTR _commentBufferSize$[ebp] - 00009 8b 4d 20 mov ecx, DWORD PTR _szComment$[ebp] - 0000c 8b 55 1c mov edx, DWORD PTR _extraFieldBufferSize$[ebp] - 0000f 83 ec 58 sub esp, 88 ; 00000058H - 00012 50 push eax - 00013 8b 45 18 mov eax, DWORD PTR _extraField$[ebp] - 00016 51 push ecx - 00017 8b 4d 14 mov ecx, DWORD PTR _fileNameBufferSize$[ebp] - 0001a 52 push edx - 0001b 8b 55 10 mov edx, DWORD PTR _szFileName$[ebp] - 0001e 50 push eax - 0001f 51 push ecx - 00020 52 push edx - 00021 8d 44 24 18 lea eax, DWORD PTR _file_info64$[esp+112] - 00025 6a 00 push 0 - 00027 50 push eax - 00028 8b 45 08 mov eax, DWORD PTR _file$[ebp] - 0002b e8 00 00 00 00 call _unz64local_GetCurrentFileInfoInternal - 00030 83 c4 20 add esp, 32 ; 00000020H - -; 1148 : if ((err==UNZ_OK) && (pfile_info != NULL)) - - 00033 85 c0 test eax, eax - 00035 0f 85 95 00 00 - 00 jne $LN1@unzGetCurr@2 - 0003b 8b 4d 0c mov ecx, DWORD PTR _pfile_info$[ebp] - 0003e 85 c9 test ecx, ecx - 00040 0f 84 8a 00 00 - 00 je $LN1@unzGetCurr@2 - -; 1149 : { -; 1150 : pfile_info->version = file_info64.version; - - 00046 8b 14 24 mov edx, DWORD PTR _file_info64$[esp+88] - 00049 89 11 mov DWORD PTR [ecx], edx - -; 1151 : pfile_info->version_needed = file_info64.version_needed; - - 0004b 8b 54 24 04 mov edx, DWORD PTR _file_info64$[esp+92] - 0004f 89 51 04 mov DWORD PTR [ecx+4], edx - -; 1152 : pfile_info->flag = file_info64.flag; - - 00052 8b 54 24 08 mov edx, DWORD PTR _file_info64$[esp+96] - 00056 89 51 08 mov DWORD PTR [ecx+8], edx - -; 1153 : pfile_info->compression_method = file_info64.compression_method; - - 00059 8b 54 24 0c mov edx, DWORD PTR _file_info64$[esp+100] - 0005d 89 51 0c mov DWORD PTR [ecx+12], edx - -; 1154 : pfile_info->dosDate = file_info64.dosDate; - - 00060 8b 54 24 10 mov edx, DWORD PTR _file_info64$[esp+104] - 00064 89 51 10 mov DWORD PTR [ecx+16], edx - -; 1155 : pfile_info->crc = file_info64.crc; - - 00067 8b 54 24 14 mov edx, DWORD PTR _file_info64$[esp+108] - 0006b 89 51 14 mov DWORD PTR [ecx+20], edx - -; 1156 : -; 1157 : pfile_info->size_filename = file_info64.size_filename; - - 0006e 8b 54 24 28 mov edx, DWORD PTR _file_info64$[esp+128] - 00072 89 51 20 mov DWORD PTR [ecx+32], edx - -; 1158 : pfile_info->size_file_extra = file_info64.size_file_extra; - - 00075 8b 54 24 2c mov edx, DWORD PTR _file_info64$[esp+132] - 00079 89 51 24 mov DWORD PTR [ecx+36], edx - -; 1159 : pfile_info->size_file_comment = file_info64.size_file_comment; - - 0007c 8b 54 24 30 mov edx, DWORD PTR _file_info64$[esp+136] - 00080 89 51 28 mov DWORD PTR [ecx+40], edx - -; 1160 : -; 1161 : pfile_info->disk_num_start = file_info64.disk_num_start; - - 00083 8b 54 24 34 mov edx, DWORD PTR _file_info64$[esp+140] - 00087 89 51 2c mov DWORD PTR [ecx+44], edx - -; 1162 : pfile_info->internal_fa = file_info64.internal_fa; - - 0008a 8b 54 24 38 mov edx, DWORD PTR _file_info64$[esp+144] - 0008e 89 51 30 mov DWORD PTR [ecx+48], edx - -; 1163 : pfile_info->external_fa = file_info64.external_fa; - - 00091 8b 54 24 3c mov edx, DWORD PTR _file_info64$[esp+148] - 00095 89 51 34 mov DWORD PTR [ecx+52], edx - -; 1164 : -; 1165 : pfile_info->tmu_date = file_info64.tmu_date, -; 1166 : -; 1167 : -; 1168 : pfile_info->compressed_size = (uLong)file_info64.compressed_size; - - 00098 8b 54 24 40 mov edx, DWORD PTR _file_info64$[esp+152] - 0009c 89 51 38 mov DWORD PTR [ecx+56], edx - 0009f 8b 54 24 44 mov edx, DWORD PTR _file_info64$[esp+156] - 000a3 89 51 3c mov DWORD PTR [ecx+60], edx - 000a6 8b 54 24 48 mov edx, DWORD PTR _file_info64$[esp+160] - 000aa 89 51 40 mov DWORD PTR [ecx+64], edx - 000ad 8b 54 24 4c mov edx, DWORD PTR _file_info64$[esp+164] - 000b1 89 51 44 mov DWORD PTR [ecx+68], edx - 000b4 8b 54 24 50 mov edx, DWORD PTR _file_info64$[esp+168] - 000b8 89 51 48 mov DWORD PTR [ecx+72], edx - 000bb 8b 54 24 54 mov edx, DWORD PTR _file_info64$[esp+172] - 000bf 89 51 4c mov DWORD PTR [ecx+76], edx - 000c2 8b 54 24 18 mov edx, DWORD PTR _file_info64$[esp+112] - 000c6 89 51 18 mov DWORD PTR [ecx+24], edx - -; 1169 : pfile_info->uncompressed_size = (uLong)file_info64.uncompressed_size; - - 000c9 8b 54 24 20 mov edx, DWORD PTR _file_info64$[esp+120] - 000cd 89 51 1c mov DWORD PTR [ecx+28], edx -$LN1@unzGetCurr@2: - -; 1170 : -; 1171 : } -; 1172 : return err; -; 1173 : } - - 000d0 8b e5 mov esp, ebp - 000d2 5d pop ebp - 000d3 c2 20 00 ret 32 ; 00000020H -_unzGetCurrentFileInfo@32 ENDP -_TEXT ENDS -PUBLIC _unzGetCurrentFileInfo64@32 -; Function compile flags: /Ogtp -; COMDAT _unzGetCurrentFileInfo64@32 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_pfile_info$ = 12 ; size = 4 -_szFileName$ = 16 ; size = 4 -_fileNameBufferSize$ = 20 ; size = 4 -_extraField$ = 24 ; size = 4 -_extraFieldBufferSize$ = 28 ; size = 4 -_szComment$ = 32 ; size = 4 -_commentBufferSize$ = 36 ; size = 4 -_unzGetCurrentFileInfo64@32 PROC ; COMDAT - -; 1129 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1130 : return unz64local_GetCurrentFileInfoInternal(file,pfile_info,NULL, -; 1131 : szFileName,fileNameBufferSize, -; 1132 : extraField,extraFieldBufferSize, -; 1133 : szComment,commentBufferSize); - - 00003 8b 45 24 mov eax, DWORD PTR _commentBufferSize$[ebp] - 00006 8b 4d 20 mov ecx, DWORD PTR _szComment$[ebp] - 00009 8b 55 1c mov edx, DWORD PTR _extraFieldBufferSize$[ebp] - 0000c 50 push eax - 0000d 8b 45 18 mov eax, DWORD PTR _extraField$[ebp] - 00010 51 push ecx - 00011 8b 4d 14 mov ecx, DWORD PTR _fileNameBufferSize$[ebp] - 00014 52 push edx - 00015 8b 55 10 mov edx, DWORD PTR _szFileName$[ebp] - 00018 50 push eax - 00019 8b 45 0c mov eax, DWORD PTR _pfile_info$[ebp] - 0001c 51 push ecx - 0001d 52 push edx - 0001e 6a 00 push 0 - 00020 50 push eax - 00021 8b 45 08 mov eax, DWORD PTR _file$[ebp] - 00024 e8 00 00 00 00 call _unz64local_GetCurrentFileInfoInternal - 00029 83 c4 20 add esp, 32 ; 00000020H - -; 1134 : } - - 0002c 5d pop ebp - 0002d c2 20 00 ret 32 ; 00000020H -_unzGetCurrentFileInfo64@32 ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _unzOpenInternal -_TEXT SEGMENT -_number_entry_CD$ = -272 ; size = 8 -_uL$ = -272 ; size = 4 -_number_disk_with_CD$ = -260 ; size = 4 -_number_disk$ = -256 ; size = 4 -_uS$82357 = -256 ; size = 4 -_uL64$82358 = -256 ; size = 8 -_central_pos$ = -248 ; size = 8 -_us$ = -240 ; size = 240 -_path$ = 8 ; size = 4 -_is64bitOpenFunction$ = 12 ; size = 4 -_unzOpenInternal PROC ; COMDAT -; _pzlib_filefunc64_32_def$ = eax - -; 587 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 81 ec 14 01 00 - 00 sub esp, 276 ; 00000114H - 0000c 53 push ebx - 0000d 56 push esi - -; 588 : unz64_s us; -; 589 : unz64_s *s; -; 590 : ZPOS64_T central_pos; -; 591 : uLong uL; -; 592 : -; 593 : uLong number_disk; /* number of the current dist, used for -; 594 : spaning ZIP, unsupported, always 0*/ -; 595 : uLong number_disk_with_CD; /* number the the disk with central dir, used -; 596 : for spaning ZIP, unsupported, always 0*/ -; 597 : ZPOS64_T number_entry_CD; /* total number of entries in -; 598 : the central dir -; 599 : (same than number_entry on nospan) */ -; 600 : -; 601 : int err=UNZ_OK; - - 0000e 33 db xor ebx, ebx - 00010 8b f0 mov esi, eax - 00012 57 push edi - -; 602 : -; 603 : if (unz_copyright[0]!=' ') -; 604 : return NULL; -; 605 : -; 606 : us.z_filefunc.zseek32_file = NULL; - - 00013 89 5c 24 58 mov DWORD PTR _us$[esp+328], ebx - -; 607 : us.z_filefunc.ztell32_file = NULL; - - 00017 89 5c 24 54 mov DWORD PTR _us$[esp+324], ebx - -; 608 : if (pzlib_filefunc64_32_def==NULL) - - 0001b 3b f3 cmp esi, ebx - 0001d 75 0b jne SHORT $LN33@unzOpenInt - -; 609 : fill_fopen64_filefunc(&us.z_filefunc.zfile_func64); - - 0001f 8d 44 24 30 lea eax, DWORD PTR _us$[esp+288] - 00023 e8 00 00 00 00 call _fill_fopen64_filefunc - -; 610 : else - - 00028 eb 0b jmp SHORT $LN32@unzOpenInt -$LN33@unzOpenInt: - -; 611 : us.z_filefunc = *pzlib_filefunc64_32_def; - - 0002a b9 0b 00 00 00 mov ecx, 11 ; 0000000bH - 0002f 8d 7c 24 30 lea edi, DWORD PTR _us$[esp+288] - 00033 f3 a5 rep movsd -$LN32@unzOpenInt: - -; 612 : us.is64bitOpenFunction = is64bitOpenFunction; - - 00035 8b 45 0c mov eax, DWORD PTR _is64bitOpenFunction$[ebp] - -; 613 : -; 614 : -; 615 : -; 616 : us.filestream = ZOPEN64(us.z_filefunc, -; 617 : path, -; 618 : ZLIB_FILEFUNC_MODE_READ | -; 619 : ZLIB_FILEFUNC_MODE_EXISTING); - - 00038 8b 75 08 mov esi, DWORD PTR _path$[ebp] - 0003b 89 44 24 5c mov DWORD PTR _us$[esp+332], eax - 0003f ba 05 00 00 00 mov edx, 5 - 00044 8d 44 24 30 lea eax, DWORD PTR _us$[esp+288] - 00048 e8 00 00 00 00 call _call_zopen64 - -; 620 : if (us.filestream==NULL) - - 0004d 33 ff xor edi, edi - 0004f 89 44 24 60 mov DWORD PTR _us$[esp+336], eax - 00053 3b c7 cmp eax, edi - -; 621 : return NULL; - - 00055 0f 84 39 03 00 - 00 je $LN47@unzOpenInt - -; 622 : -; 623 : central_pos = unz64local_SearchCentralDir64(&us.z_filefunc,us.filestream); - - 0005b 50 push eax - 0005c 8d 4c 24 34 lea ecx, DWORD PTR _us$[esp+292] - 00060 51 push ecx - 00061 e8 00 00 00 00 call _unz64local_SearchCentralDir64 - -; 624 : if (central_pos) - - 00066 8b c8 mov ecx, eax - 00068 83 c4 08 add esp, 8 - 0006b 0b ca or ecx, edx - 0006d 89 44 24 28 mov DWORD PTR _central_pos$[esp+288], eax - 00071 89 54 24 2c mov DWORD PTR _central_pos$[esp+292], edx - 00075 0f 84 64 01 00 - 00 je $LN30@unzOpenInt - -; 625 : { -; 626 : uLong uS; -; 627 : ZPOS64_T uL64; -; 628 : -; 629 : us.isZip64 = 1; -; 630 : -; 631 : if (ZSEEK64(us.z_filefunc, us.filestream, -; 632 : central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0) - - 0007b 8b 74 24 60 mov esi, DWORD PTR _us$[esp+336] - 0007f 52 push edx - 00080 50 push eax - 00081 33 d2 xor edx, edx - 00083 8d 44 24 38 lea eax, DWORD PTR _us$[esp+296] - 00087 c7 84 24 20 01 - 00 00 01 00 00 - 00 mov DWORD PTR _us$[esp+528], 1 - 00092 e8 00 00 00 00 call _call_zseek64 - 00097 83 c4 08 add esp, 8 - 0009a 85 c0 test eax, eax - 0009c 74 03 je SHORT $LN29@unzOpenInt - -; 633 : err=UNZ_ERRNO; - - 0009e 83 cb ff or ebx, -1 -$LN29@unzOpenInt: - -; 634 : -; 635 : /* the signature, already checked */ -; 636 : if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK) - - 000a1 8d 54 24 10 lea edx, DWORD PTR _uL$[esp+288] - 000a5 52 push edx - 000a6 8b c6 mov eax, esi - 000a8 8d 4c 24 34 lea ecx, DWORD PTR _us$[esp+292] - 000ac e8 00 00 00 00 call _unz64local_getLong - 000b1 83 c4 04 add esp, 4 - 000b4 85 c0 test eax, eax - 000b6 74 03 je SHORT $LN28@unzOpenInt - -; 637 : err=UNZ_ERRNO; - - 000b8 83 cb ff or ebx, -1 -$LN28@unzOpenInt: - -; 638 : -; 639 : /* size of zip64 end of central directory record */ -; 640 : if (unz64local_getLong64(&us.z_filefunc, us.filestream,&uL64)!=UNZ_OK) - - 000bb 8d 44 24 20 lea eax, DWORD PTR _uL64$82358[esp+288] - 000bf 50 push eax - 000c0 8b c6 mov eax, esi - 000c2 8d 4c 24 34 lea ecx, DWORD PTR _us$[esp+292] - 000c6 e8 00 00 00 00 call _unz64local_getLong64 - 000cb 83 c4 04 add esp, 4 - 000ce 85 c0 test eax, eax - 000d0 74 03 je SHORT $LN27@unzOpenInt - -; 641 : err=UNZ_ERRNO; - - 000d2 83 cb ff or ebx, -1 -$LN27@unzOpenInt: - -; 642 : -; 643 : /* version made by */ -; 644 : if (unz64local_getShort(&us.z_filefunc, us.filestream,&uS)!=UNZ_OK) - - 000d5 8d 4c 24 20 lea ecx, DWORD PTR _uS$82357[esp+288] - 000d9 51 push ecx - 000da 8b c6 mov eax, esi - 000dc 8d 4c 24 34 lea ecx, DWORD PTR _us$[esp+292] - 000e0 e8 00 00 00 00 call _unz64local_getShort - 000e5 83 c4 04 add esp, 4 - 000e8 85 c0 test eax, eax - 000ea 74 03 je SHORT $LN26@unzOpenInt - -; 645 : err=UNZ_ERRNO; - - 000ec 83 cb ff or ebx, -1 -$LN26@unzOpenInt: - -; 646 : -; 647 : /* version needed to extract */ -; 648 : if (unz64local_getShort(&us.z_filefunc, us.filestream,&uS)!=UNZ_OK) - - 000ef 8d 54 24 20 lea edx, DWORD PTR _uS$82357[esp+288] - 000f3 52 push edx - 000f4 8b c6 mov eax, esi - 000f6 8d 4c 24 34 lea ecx, DWORD PTR _us$[esp+292] - 000fa e8 00 00 00 00 call _unz64local_getShort - 000ff 83 c4 04 add esp, 4 - 00102 85 c0 test eax, eax - 00104 74 03 je SHORT $LN25@unzOpenInt - -; 649 : err=UNZ_ERRNO; - - 00106 83 cb ff or ebx, -1 -$LN25@unzOpenInt: - -; 650 : -; 651 : /* number of this disk */ -; 652 : if (unz64local_getLong(&us.z_filefunc, us.filestream,&number_disk)!=UNZ_OK) - - 00109 8d 44 24 20 lea eax, DWORD PTR _number_disk$[esp+288] - 0010d 50 push eax - 0010e 8b c6 mov eax, esi - 00110 8d 4c 24 34 lea ecx, DWORD PTR _us$[esp+292] - 00114 e8 00 00 00 00 call _unz64local_getLong - 00119 83 c4 04 add esp, 4 - 0011c 85 c0 test eax, eax - 0011e 74 03 je SHORT $LN24@unzOpenInt - -; 653 : err=UNZ_ERRNO; - - 00120 83 cb ff or ebx, -1 -$LN24@unzOpenInt: - -; 654 : -; 655 : /* number of the disk with the start of the central directory */ -; 656 : if (unz64local_getLong(&us.z_filefunc, us.filestream,&number_disk_with_CD)!=UNZ_OK) - - 00123 8d 4c 24 1c lea ecx, DWORD PTR _number_disk_with_CD$[esp+288] - 00127 51 push ecx - 00128 8b c6 mov eax, esi - 0012a 8d 4c 24 34 lea ecx, DWORD PTR _us$[esp+292] - 0012e e8 00 00 00 00 call _unz64local_getLong - 00133 83 c4 04 add esp, 4 - 00136 85 c0 test eax, eax - 00138 74 03 je SHORT $LN23@unzOpenInt - -; 657 : err=UNZ_ERRNO; - - 0013a 83 cb ff or ebx, -1 -$LN23@unzOpenInt: - -; 658 : -; 659 : /* total number of entries in the central directory on this disk */ -; 660 : if (unz64local_getLong64(&us.z_filefunc, us.filestream,&us.gi.number_entry)!=UNZ_OK) - - 0013d 8d 54 24 68 lea edx, DWORD PTR _us$[esp+344] - 00141 52 push edx - 00142 8b c6 mov eax, esi - 00144 8d 4c 24 34 lea ecx, DWORD PTR _us$[esp+292] - 00148 e8 00 00 00 00 call _unz64local_getLong64 - 0014d 83 c4 04 add esp, 4 - 00150 85 c0 test eax, eax - 00152 74 03 je SHORT $LN22@unzOpenInt - -; 661 : err=UNZ_ERRNO; - - 00154 83 cb ff or ebx, -1 -$LN22@unzOpenInt: - -; 662 : -; 663 : /* total number of entries in the central directory */ -; 664 : if (unz64local_getLong64(&us.z_filefunc, us.filestream,&number_entry_CD)!=UNZ_OK) - - 00157 8b 74 24 60 mov esi, DWORD PTR _us$[esp+336] - 0015b 8d 44 24 10 lea eax, DWORD PTR _number_entry_CD$[esp+288] - 0015f 50 push eax - 00160 8b c6 mov eax, esi - 00162 8d 4c 24 34 lea ecx, DWORD PTR _us$[esp+292] - 00166 e8 00 00 00 00 call _unz64local_getLong64 - 0016b 83 c4 04 add esp, 4 - 0016e 85 c0 test eax, eax - 00170 74 03 je SHORT $LN21@unzOpenInt - -; 665 : err=UNZ_ERRNO; - - 00172 83 cb ff or ebx, -1 -$LN21@unzOpenInt: - -; 666 : -; 667 : if ((number_entry_CD!=us.gi.number_entry) || -; 668 : (number_disk_with_CD!=0) || -; 669 : (number_disk!=0)) - - 00175 8b 4c 24 10 mov ecx, DWORD PTR _number_entry_CD$[esp+288] - 00179 3b 4c 24 68 cmp ecx, DWORD PTR _us$[esp+344] - 0017d 75 16 jne SHORT $LN19@unzOpenInt - 0017f 8b 54 24 14 mov edx, DWORD PTR _number_entry_CD$[esp+292] - 00183 3b 54 24 6c cmp edx, DWORD PTR _us$[esp+348] - 00187 75 0c jne SHORT $LN19@unzOpenInt - 00189 39 7c 24 1c cmp DWORD PTR _number_disk_with_CD$[esp+288], edi - 0018d 75 06 jne SHORT $LN19@unzOpenInt - 0018f 39 7c 24 20 cmp DWORD PTR _number_disk$[esp+288], edi - 00193 74 05 je SHORT $LN20@unzOpenInt -$LN19@unzOpenInt: - -; 670 : err=UNZ_BADZIPFILE; - - 00195 bb 99 ff ff ff mov ebx, -103 ; ffffff99H -$LN20@unzOpenInt: - -; 671 : -; 672 : /* size of the central directory */ -; 673 : if (unz64local_getLong64(&us.z_filefunc, us.filestream,&us.size_central_dir)!=UNZ_OK) - - 0019a 8d 84 24 a0 00 - 00 00 lea eax, DWORD PTR _us$[esp+400] - 001a1 50 push eax - 001a2 8b c6 mov eax, esi - 001a4 8d 4c 24 34 lea ecx, DWORD PTR _us$[esp+292] - 001a8 e8 00 00 00 00 call _unz64local_getLong64 - 001ad 83 c4 04 add esp, 4 - 001b0 85 c0 test eax, eax - 001b2 74 03 je SHORT $LN18@unzOpenInt - -; 674 : err=UNZ_ERRNO; - - 001b4 83 cb ff or ebx, -1 -$LN18@unzOpenInt: - -; 675 : -; 676 : /* offset of start of central directory with respect to the -; 677 : starting disk number */ -; 678 : if (unz64local_getLong64(&us.z_filefunc, us.filestream,&us.offset_central_dir)!=UNZ_OK) - - 001b7 8b 44 24 60 mov eax, DWORD PTR _us$[esp+336] - 001bb 8d 8c 24 a8 00 - 00 00 lea ecx, DWORD PTR _us$[esp+408] - 001c2 51 push ecx - 001c3 8d 4c 24 34 lea ecx, DWORD PTR _us$[esp+292] - 001c7 e8 00 00 00 00 call _unz64local_getLong64 - 001cc 83 c4 04 add esp, 4 - 001cf 85 c0 test eax, eax - 001d1 74 03 je SHORT $LN17@unzOpenInt - -; 679 : err=UNZ_ERRNO; - - 001d3 83 cb ff or ebx, -1 -$LN17@unzOpenInt: - -; 680 : -; 681 : us.gi.size_comment = 0; - - 001d6 89 7c 24 70 mov DWORD PTR _us$[esp+352], edi - -; 682 : } -; 683 : else - - 001da e9 6c 01 00 00 jmp $LN4@unzOpenInt -$LN30@unzOpenInt: - -; 684 : { -; 685 : central_pos = unz64local_SearchCentralDir(&us.z_filefunc,us.filestream); - - 001df 8b 54 24 60 mov edx, DWORD PTR _us$[esp+336] - 001e3 52 push edx - 001e4 8d 44 24 34 lea eax, DWORD PTR _us$[esp+292] - 001e8 50 push eax - 001e9 e8 00 00 00 00 call _unz64local_SearchCentralDir - -; 686 : if (central_pos==0) - - 001ee 8b c8 mov ecx, eax - 001f0 83 c4 08 add esp, 8 - 001f3 0b ca or ecx, edx - 001f5 89 44 24 28 mov DWORD PTR _central_pos$[esp+288], eax - 001f9 89 54 24 2c mov DWORD PTR _central_pos$[esp+292], edx - 001fd 75 03 jne SHORT $LN15@unzOpenInt - -; 687 : err=UNZ_ERRNO; - - 001ff 83 cb ff or ebx, -1 -$LN15@unzOpenInt: - -; 688 : -; 689 : us.isZip64 = 0; -; 690 : -; 691 : if (ZSEEK64(us.z_filefunc, us.filestream, -; 692 : central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0) - - 00202 52 push edx - 00203 89 bc 24 1c 01 - 00 00 mov DWORD PTR _us$[esp+524], edi - 0020a 8b 7c 24 64 mov edi, DWORD PTR _us$[esp+340] - 0020e 50 push eax - 0020f 33 d2 xor edx, edx - 00211 8b f7 mov esi, edi - 00213 8d 44 24 38 lea eax, DWORD PTR _us$[esp+296] - 00217 e8 00 00 00 00 call _call_zseek64 - 0021c 83 c4 08 add esp, 8 - 0021f 85 c0 test eax, eax - 00221 74 03 je SHORT $LN14@unzOpenInt - -; 693 : err=UNZ_ERRNO; - - 00223 83 cb ff or ebx, -1 -$LN14@unzOpenInt: - -; 694 : -; 695 : /* the signature, already checked */ -; 696 : if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK) - - 00226 8d 54 24 10 lea edx, DWORD PTR _uL$[esp+288] - 0022a 52 push edx - 0022b 8b c7 mov eax, edi - 0022d 8d 4c 24 34 lea ecx, DWORD PTR _us$[esp+292] - 00231 e8 00 00 00 00 call _unz64local_getLong - 00236 83 c4 04 add esp, 4 - 00239 85 c0 test eax, eax - 0023b 74 03 je SHORT $LN13@unzOpenInt - -; 697 : err=UNZ_ERRNO; - - 0023d 83 cb ff or ebx, -1 -$LN13@unzOpenInt: - -; 698 : -; 699 : /* number of this disk */ -; 700 : if (unz64local_getShort(&us.z_filefunc, us.filestream,&number_disk)!=UNZ_OK) - - 00240 8d 44 24 20 lea eax, DWORD PTR _number_disk$[esp+288] - 00244 50 push eax - 00245 8b c7 mov eax, edi - 00247 8d 4c 24 34 lea ecx, DWORD PTR _us$[esp+292] - 0024b e8 00 00 00 00 call _unz64local_getShort - 00250 83 c4 04 add esp, 4 - 00253 85 c0 test eax, eax - 00255 74 03 je SHORT $LN12@unzOpenInt - -; 701 : err=UNZ_ERRNO; - - 00257 83 cb ff or ebx, -1 -$LN12@unzOpenInt: - -; 702 : -; 703 : /* number of the disk with the start of the central directory */ -; 704 : if (unz64local_getShort(&us.z_filefunc, us.filestream,&number_disk_with_CD)!=UNZ_OK) - - 0025a 8d 4c 24 1c lea ecx, DWORD PTR _number_disk_with_CD$[esp+288] - 0025e 51 push ecx - 0025f 8b c7 mov eax, edi - 00261 8d 4c 24 34 lea ecx, DWORD PTR _us$[esp+292] - 00265 e8 00 00 00 00 call _unz64local_getShort - 0026a 83 c4 04 add esp, 4 - 0026d 85 c0 test eax, eax - 0026f 74 03 je SHORT $LN11@unzOpenInt - -; 705 : err=UNZ_ERRNO; - - 00271 83 cb ff or ebx, -1 -$LN11@unzOpenInt: - -; 706 : -; 707 : /* total number of entries in the central dir on this disk */ -; 708 : if (unz64local_getShort(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK) - - 00274 8d 54 24 10 lea edx, DWORD PTR _uL$[esp+288] - 00278 52 push edx - 00279 8b c7 mov eax, edi - 0027b 8d 4c 24 34 lea ecx, DWORD PTR _us$[esp+292] - 0027f e8 00 00 00 00 call _unz64local_getShort - 00284 83 c4 04 add esp, 4 - 00287 85 c0 test eax, eax - 00289 74 03 je SHORT $LN10@unzOpenInt - -; 709 : err=UNZ_ERRNO; - - 0028b 83 cb ff or ebx, -1 -$LN10@unzOpenInt: - -; 710 : us.gi.number_entry = uL; - - 0028e 8b 74 24 10 mov esi, DWORD PTR _uL$[esp+288] - -; 711 : -; 712 : /* total number of entries in the central dir */ -; 713 : if (unz64local_getShort(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK) - - 00292 8d 44 24 10 lea eax, DWORD PTR _uL$[esp+288] - 00296 50 push eax - 00297 8b c7 mov eax, edi - 00299 8d 4c 24 34 lea ecx, DWORD PTR _us$[esp+292] - 0029d 89 74 24 6c mov DWORD PTR _us$[esp+348], esi - 002a1 c7 44 24 70 00 - 00 00 00 mov DWORD PTR _us$[esp+352], 0 - 002a9 e8 00 00 00 00 call _unz64local_getShort - 002ae 83 c4 04 add esp, 4 - 002b1 85 c0 test eax, eax - 002b3 74 03 je SHORT $LN9@unzOpenInt - -; 714 : err=UNZ_ERRNO; - - 002b5 83 cb ff or ebx, -1 -$LN9@unzOpenInt: - -; 715 : number_entry_CD = uL; - - 002b8 33 c9 xor ecx, ecx - -; 716 : -; 717 : if ((number_entry_CD!=us.gi.number_entry) || -; 718 : (number_disk_with_CD!=0) || -; 719 : (number_disk!=0)) - - 002ba 39 74 24 10 cmp DWORD PTR _uL$[esp+288], esi - 002be 75 12 jne SHORT $LN7@unzOpenInt - 002c0 3b 4c 24 6c cmp ecx, DWORD PTR _us$[esp+348] - 002c4 75 0c jne SHORT $LN7@unzOpenInt - 002c6 39 4c 24 1c cmp DWORD PTR _number_disk_with_CD$[esp+288], ecx - 002ca 75 06 jne SHORT $LN7@unzOpenInt - 002cc 39 4c 24 20 cmp DWORD PTR _number_disk$[esp+288], ecx - 002d0 74 05 je SHORT $LN8@unzOpenInt -$LN7@unzOpenInt: - -; 720 : err=UNZ_BADZIPFILE; - - 002d2 bb 99 ff ff ff mov ebx, -103 ; ffffff99H -$LN8@unzOpenInt: - -; 721 : -; 722 : /* size of the central directory */ -; 723 : if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK) - - 002d7 8d 4c 24 10 lea ecx, DWORD PTR _uL$[esp+288] - 002db 51 push ecx - 002dc 8b c7 mov eax, edi - 002de 8d 4c 24 34 lea ecx, DWORD PTR _us$[esp+292] - 002e2 e8 00 00 00 00 call _unz64local_getLong - 002e7 83 c4 04 add esp, 4 - 002ea 85 c0 test eax, eax - 002ec 74 03 je SHORT $LN6@unzOpenInt - -; 724 : err=UNZ_ERRNO; - - 002ee 83 cb ff or ebx, -1 -$LN6@unzOpenInt: - -; 725 : us.size_central_dir = uL; - - 002f1 8b 54 24 10 mov edx, DWORD PTR _uL$[esp+288] - -; 726 : -; 727 : /* offset of start of central directory with respect to the -; 728 : starting disk number */ -; 729 : if (unz64local_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK) - - 002f5 8d 44 24 10 lea eax, DWORD PTR _uL$[esp+288] - 002f9 50 push eax - 002fa 33 f6 xor esi, esi - 002fc 8b c7 mov eax, edi - 002fe 8d 4c 24 34 lea ecx, DWORD PTR _us$[esp+292] - 00302 89 94 24 a4 00 - 00 00 mov DWORD PTR _us$[esp+404], edx - 00309 89 b4 24 a8 00 - 00 00 mov DWORD PTR _us$[esp+408], esi - 00310 e8 00 00 00 00 call _unz64local_getLong - 00315 83 c4 04 add esp, 4 - 00318 85 c0 test eax, eax - 0031a 74 03 je SHORT $LN5@unzOpenInt - -; 730 : err=UNZ_ERRNO; - - 0031c 83 cb ff or ebx, -1 -$LN5@unzOpenInt: - -; 731 : us.offset_central_dir = uL; - - 0031f 8b 4c 24 10 mov ecx, DWORD PTR _uL$[esp+288] - -; 732 : -; 733 : /* zipfile comment length */ -; 734 : if (unz64local_getShort(&us.z_filefunc, us.filestream,&us.gi.size_comment)!=UNZ_OK) - - 00323 8d 54 24 70 lea edx, DWORD PTR _us$[esp+352] - 00327 89 8c 24 a8 00 - 00 00 mov DWORD PTR _us$[esp+408], ecx - 0032e 52 push edx - 0032f 8b c7 mov eax, edi - 00331 8d 4c 24 34 lea ecx, DWORD PTR _us$[esp+292] - 00335 89 b4 24 b0 00 - 00 00 mov DWORD PTR _us$[esp+416], esi - 0033c e8 00 00 00 00 call _unz64local_getShort - 00341 83 c4 04 add esp, 4 - 00344 85 c0 test eax, eax - 00346 74 03 je SHORT $LN4@unzOpenInt - -; 735 : err=UNZ_ERRNO; - - 00348 83 cb ff or ebx, -1 -$LN4@unzOpenInt: - -; 736 : } -; 737 : -; 738 : if ((central_poscurrent_file_ok) - - 00027 8b 46 60 mov eax, DWORD PTR [esi+96] - 0002a 0b 46 64 or eax, DWORD PTR [esi+100] - -; 1492 : return UNZ_PARAMERROR; - - 0002d 74 e3 je SHORT $LN25@unzOpenCur - -; 1493 : -; 1494 : if (s->pfile_in_zip_read != NULL) - - 0002f 83 be e0 00 00 - 00 00 cmp DWORD PTR [esi+224], 0 - 00036 74 06 je SHORT $LN19@unzOpenCur - -; 1495 : unzCloseCurrentFile(file); - - 00038 56 push esi - 00039 e8 00 00 00 00 call _unzCloseCurrentFile@4 -$LN19@unzOpenCur: - -; 1496 : -; 1497 : if (unz64local_CheckCurrentFileCoherencyHeader(s,&iSizeVar, &offset_local_extrafield,&size_local_extrafield)!=UNZ_OK) - - 0003e 8d 4c 24 10 lea ecx, DWORD PTR _size_local_extrafield$[esp+32] - 00042 51 push ecx - 00043 8d 54 24 1c lea edx, DWORD PTR _offset_local_extrafield$[esp+36] - 00047 52 push edx - 00048 8d 44 24 1c lea eax, DWORD PTR _iSizeVar$[esp+40] - 0004c 50 push eax - 0004d 8b fe mov edi, esi - 0004f e8 00 00 00 00 call _unz64local_CheckCurrentFileCoherencyHeader - 00054 83 c4 0c add esp, 12 ; 0000000cH - 00057 85 c0 test eax, eax - 00059 74 0e je SHORT $LN18@unzOpenCur - -; 1498 : return UNZ_BADZIPFILE; - - 0005b b8 99 ff ff ff mov eax, -103 ; ffffff99H - -; 1639 : } - - 00060 5f pop edi - 00061 5e pop esi - 00062 5b pop ebx - 00063 8b e5 mov esp, ebp - 00065 5d pop ebp - 00066 c2 14 00 ret 20 ; 00000014H -$LN18@unzOpenCur: - -; 1499 : -; 1500 : pfile_in_zip_read_info = (file_in_zip64_read_info_s*)ALLOC(sizeof(file_in_zip64_read_info_s)); - - 00069 68 d0 00 00 00 push 208 ; 000000d0H - 0006e e8 00 00 00 00 call _malloc - 00073 8b d8 mov ebx, eax - -; 1501 : if (pfile_in_zip_read_info==NULL) - - 00075 33 ff xor edi, edi - 00077 83 c4 04 add esp, 4 - 0007a 3b df cmp ebx, edi - -; 1502 : return UNZ_INTERNALERROR; - - 0007c 74 40 je SHORT $LN26@unzOpenCur - -; 1503 : -; 1504 : pfile_in_zip_read_info->read_buffer=(char*)ALLOC(UNZ_BUFSIZE); - - 0007e 68 00 40 00 00 push 16384 ; 00004000H - 00083 e8 00 00 00 00 call _malloc - -; 1505 : pfile_in_zip_read_info->offset_local_extrafield = offset_local_extrafield; - - 00088 8b 4c 24 1c mov ecx, DWORD PTR _offset_local_extrafield$[esp+36] - 0008c 8b 54 24 20 mov edx, DWORD PTR _offset_local_extrafield$[esp+40] - 00090 89 4b 50 mov DWORD PTR [ebx+80], ecx - -; 1506 : pfile_in_zip_read_info->size_local_extrafield = size_local_extrafield; - - 00093 8b 4c 24 14 mov ecx, DWORD PTR _size_local_extrafield$[esp+36] - 00097 89 53 54 mov DWORD PTR [ebx+84], edx - -; 1507 : pfile_in_zip_read_info->pos_local_extrafield=0; -; 1508 : pfile_in_zip_read_info->raw=raw; - - 0009a 8b 55 14 mov edx, DWORD PTR _raw$[ebp] - 0009d 83 c4 04 add esp, 4 - 000a0 89 03 mov DWORD PTR [ebx], eax - 000a2 89 4b 58 mov DWORD PTR [ebx+88], ecx - 000a5 89 7b 60 mov DWORD PTR [ebx+96], edi - 000a8 89 7b 64 mov DWORD PTR [ebx+100], edi - 000ab 89 93 c8 00 00 - 00 mov DWORD PTR [ebx+200], edx - -; 1509 : -; 1510 : if (pfile_in_zip_read_info->read_buffer==NULL) - - 000b1 3b c7 cmp eax, edi - 000b3 75 17 jne SHORT $LN16@unzOpenCur - -; 1511 : { -; 1512 : TRYFREE(pfile_in_zip_read_info); - - 000b5 53 push ebx - 000b6 e8 00 00 00 00 call _free - 000bb 83 c4 04 add esp, 4 -$LN26@unzOpenCur: - -; 1513 : return UNZ_INTERNALERROR; - - 000be b8 98 ff ff ff mov eax, -104 ; ffffff98H - -; 1639 : } - - 000c3 5f pop edi - 000c4 5e pop esi - 000c5 5b pop ebx - 000c6 8b e5 mov esp, ebp - 000c8 5d pop ebp - 000c9 c2 14 00 ret 20 ; 00000014H -$LN16@unzOpenCur: - -; 1514 : } -; 1515 : -; 1516 : pfile_in_zip_read_info->stream_initialised=0; -; 1517 : -; 1518 : if (method!=NULL) - - 000cc 8b 45 0c mov eax, DWORD PTR _method$[ebp] - 000cf 89 7b 48 mov DWORD PTR [ebx+72], edi - 000d2 3b c7 cmp eax, edi - 000d4 74 08 je SHORT $LN14@unzOpenCur - -; 1519 : *method = (int)s->cur_file_info.compression_method; - - 000d6 8b 8e 8c 00 00 - 00 mov ecx, DWORD PTR [esi+140] - 000dc 89 08 mov DWORD PTR [eax], ecx -$LN14@unzOpenCur: - -; 1520 : -; 1521 : if (level!=NULL) - - 000de 8b 4d 10 mov ecx, DWORD PTR _level$[ebp] - 000e1 3b cf cmp ecx, edi - 000e3 74 34 je SHORT $LN11@unzOpenCur - -; 1522 : { -; 1523 : *level = 6; - - 000e5 c7 01 06 00 00 - 00 mov DWORD PTR [ecx], 6 - -; 1524 : switch (s->cur_file_info.flag & 0x06) - - 000eb 8b 86 88 00 00 - 00 mov eax, DWORD PTR [esi+136] - 000f1 83 e0 06 and eax, 6 - 000f4 83 e8 02 sub eax, 2 - 000f7 74 1a je SHORT $LN8@unzOpenCur - 000f9 83 e8 02 sub eax, 2 - 000fc 74 0d je SHORT $LN9@unzOpenCur - 000fe 83 e8 02 sub eax, 2 - 00101 75 16 jne SHORT $LN11@unzOpenCur - -; 1525 : { -; 1526 : case 6 : *level = 1; break; - - 00103 c7 01 01 00 00 - 00 mov DWORD PTR [ecx], 1 - 00109 eb 0e jmp SHORT $LN11@unzOpenCur -$LN9@unzOpenCur: - -; 1527 : case 4 : *level = 2; break; - - 0010b c7 01 02 00 00 - 00 mov DWORD PTR [ecx], 2 - 00111 eb 06 jmp SHORT $LN11@unzOpenCur -$LN8@unzOpenCur: - -; 1528 : case 2 : *level = 9; break; - - 00113 c7 01 09 00 00 - 00 mov DWORD PTR [ecx], 9 -$LN11@unzOpenCur: - -; 1529 : } -; 1530 : } -; 1531 : -; 1532 : if ((s->cur_file_info.compression_method!=0) && -; 1533 : /* #ifdef HAVE_BZIP2 */ -; 1534 : (s->cur_file_info.compression_method!=Z_BZIP2ED) && -; 1535 : /* #endif */ -; 1536 : (s->cur_file_info.compression_method!=Z_DEFLATED)) -; 1537 : -; 1538 : err=UNZ_BADZIPFILE; -; 1539 : -; 1540 : pfile_in_zip_read_info->crc32_wait=s->cur_file_info.crc; - - 00119 8b 86 94 00 00 - 00 mov eax, DWORD PTR [esi+148] - -; 1541 : pfile_in_zip_read_info->crc32=0; - - 0011f 89 7b 70 mov DWORD PTR [ebx+112], edi - -; 1542 : pfile_in_zip_read_info->total_out_64=0; - - 00122 89 7b 68 mov DWORD PTR [ebx+104], edi - 00125 89 7b 6c mov DWORD PTR [ebx+108], edi - 00128 89 43 74 mov DWORD PTR [ebx+116], eax - -; 1543 : pfile_in_zip_read_info->compression_method = s->cur_file_info.compression_method; - - 0012b 8b 8e 8c 00 00 - 00 mov ecx, DWORD PTR [esi+140] - 00131 89 8b b8 00 00 - 00 mov DWORD PTR [ebx+184], ecx - -; 1544 : pfile_in_zip_read_info->filestream=s->filestream; - - 00137 8b 46 30 mov eax, DWORD PTR [esi+48] - 0013a 89 83 b4 00 00 - 00 mov DWORD PTR [ebx+180], eax - -; 1545 : pfile_in_zip_read_info->z_filefunc=s->z_filefunc; - - 00140 8d bb 88 00 00 - 00 lea edi, DWORD PTR [ebx+136] - 00146 b9 0b 00 00 00 mov ecx, 11 ; 0000000bH - 0014b f3 a5 rep movsd - -; 1546 : pfile_in_zip_read_info->byte_before_the_zipfile=s->byte_before_the_zipfile; - - 0014d 8b 75 08 mov esi, DWORD PTR _file$[ebp] - 00150 8b 4e 48 mov ecx, DWORD PTR [esi+72] - 00153 89 8b c0 00 00 - 00 mov DWORD PTR [ebx+192], ecx - 00159 8b 46 4c mov eax, DWORD PTR [esi+76] - -; 1547 : -; 1548 : pfile_in_zip_read_info->stream.total_out = 0; - - 0015c 33 ff xor edi, edi - 0015e 89 83 c4 00 00 - 00 mov DWORD PTR [ebx+196], eax - 00164 89 7b 18 mov DWORD PTR [ebx+24], edi - -; 1549 : -; 1550 : if ((s->cur_file_info.compression_method==Z_BZIP2ED) && (!raw)) - - 00167 8b 86 8c 00 00 - 00 mov eax, DWORD PTR [esi+140] - 0016d 83 f8 0c cmp eax, 12 ; 0000000cH - 00170 75 6f jne SHORT $LN6@unzOpenCur - 00172 3b d7 cmp edx, edi - 00174 75 6b jne SHORT $LN6@unzOpenCur - -; 1551 : { -; 1552 : #ifdef HAVE_BZIP2 -; 1553 : pfile_in_zip_read_info->bstream.bzalloc = (void *(*) (void *, int, int))0; -; 1554 : pfile_in_zip_read_info->bstream.bzfree = (free_func)0; -; 1555 : pfile_in_zip_read_info->bstream.opaque = (voidpf)0; -; 1556 : pfile_in_zip_read_info->bstream.state = (voidpf)0; -; 1557 : -; 1558 : pfile_in_zip_read_info->stream.zalloc = (alloc_func)0; -; 1559 : pfile_in_zip_read_info->stream.zfree = (free_func)0; -; 1560 : pfile_in_zip_read_info->stream.opaque = (voidpf)0; -; 1561 : pfile_in_zip_read_info->stream.next_in = (voidpf)0; -; 1562 : pfile_in_zip_read_info->stream.avail_in = 0; -; 1563 : -; 1564 : err=BZ2_bzDecompressInit(&pfile_in_zip_read_info->bstream, 0, 0); -; 1565 : if (err == Z_OK) -; 1566 : pfile_in_zip_read_info->stream_initialised=Z_BZIP2ED; -; 1567 : else -; 1568 : { -; 1569 : TRYFREE(pfile_in_zip_read_info); -; 1570 : return err; -; 1571 : } -; 1572 : #else -; 1573 : pfile_in_zip_read_info->raw=1; - - 00176 c7 83 c8 00 00 - 00 01 00 00 00 mov DWORD PTR [ebx+200], 1 -$LN2@unzOpenCur: - -; 1591 : } -; 1592 : /* windowBits is passed < 0 to tell that there is no zlib header. -; 1593 : * Note that in this case inflate *requires* an extra "dummy" byte -; 1594 : * after the compressed stream in order to complete decompression and -; 1595 : * return Z_STREAM_END. -; 1596 : * In unzip, i don't wait absolutely Z_STREAM_END because I known the -; 1597 : * size of both compressed and uncompressed data -; 1598 : */ -; 1599 : } -; 1600 : pfile_in_zip_read_info->rest_read_compressed = -; 1601 : s->cur_file_info.compressed_size ; - - 00180 8b 8e 98 00 00 - 00 mov ecx, DWORD PTR [esi+152] - 00186 89 4b 78 mov DWORD PTR [ebx+120], ecx - 00189 8b 96 9c 00 00 - 00 mov edx, DWORD PTR [esi+156] - 0018f 89 53 7c mov DWORD PTR [ebx+124], edx - -; 1602 : pfile_in_zip_read_info->rest_read_uncompressed = -; 1603 : s->cur_file_info.uncompressed_size ; - - 00192 8b 86 a0 00 00 - 00 mov eax, DWORD PTR [esi+160] - -; 1604 : -; 1605 : -; 1606 : pfile_in_zip_read_info->pos_in_zipfile = -; 1607 : s->cur_file_info_internal.offset_curfile + SIZEZIPLOCALHEADER + -; 1608 : iSizeVar; - - 00198 8b 54 24 14 mov edx, DWORD PTR _iSizeVar$[esp+32] - 0019c 89 83 80 00 00 - 00 mov DWORD PTR [ebx+128], eax - 001a2 8b 8e a4 00 00 - 00 mov ecx, DWORD PTR [esi+164] - 001a8 33 c0 xor eax, eax - 001aa 89 8b 84 00 00 - 00 mov DWORD PTR [ebx+132], ecx - 001b0 03 96 d8 00 00 - 00 add edx, DWORD PTR [esi+216] - 001b6 13 86 dc 00 00 - 00 adc eax, DWORD PTR [esi+220] - 001bc 83 c2 1e add edx, 30 ; 0000001eH - 001bf 13 c7 adc eax, edi - 001c1 89 43 44 mov DWORD PTR [ebx+68], eax - 001c4 89 53 40 mov DWORD PTR [ebx+64], edx - -; 1609 : -; 1610 : pfile_in_zip_read_info->stream.avail_in = (uInt)0; - - 001c7 89 7b 08 mov DWORD PTR [ebx+8], edi - -; 1611 : -; 1612 : s->pfile_in_zip_read = pfile_in_zip_read_info; - - 001ca 89 9e e0 00 00 - 00 mov DWORD PTR [esi+224], ebx - -; 1613 : s->encrypted = 0; - - 001d0 89 be e4 00 00 - 00 mov DWORD PTR [esi+228], edi - -; 1614 : -; 1615 : # ifndef NOUNCRYPT -; 1616 : if (password != NULL) -; 1617 : { -; 1618 : int i; -; 1619 : s->pcrc_32_tab = get_crc_table(); -; 1620 : init_keys(password,s->keys,s->pcrc_32_tab); -; 1621 : if (ZSEEK64(s->z_filefunc, s->filestream, -; 1622 : s->pfile_in_zip_read->pos_in_zipfile + -; 1623 : s->pfile_in_zip_read->byte_before_the_zipfile, -; 1624 : SEEK_SET)!=0) -; 1625 : return UNZ_INTERNALERROR; -; 1626 : if(ZREAD64(s->z_filefunc, s->filestream,source, 12)<12) -; 1627 : return UNZ_INTERNALERROR; -; 1628 : -; 1629 : for (i = 0; i<12; i++) -; 1630 : zdecode(s->keys,s->pcrc_32_tab,source[i]); -; 1631 : -; 1632 : s->pfile_in_zip_read->pos_in_zipfile+=12; -; 1633 : s->encrypted=1; -; 1634 : } -; 1635 : # endif -; 1636 : -; 1637 : -; 1638 : return UNZ_OK; - - 001d6 33 c0 xor eax, eax - -; 1639 : } - - 001d8 5f pop edi - 001d9 5e pop esi - 001da 5b pop ebx - 001db 8b e5 mov esp, ebp - 001dd 5d pop ebp - 001de c2 14 00 ret 20 ; 00000014H -$LN6@unzOpenCur: - -; 1574 : #endif -; 1575 : } -; 1576 : else if ((s->cur_file_info.compression_method==Z_DEFLATED) && (!raw)) - - 001e1 83 f8 08 cmp eax, 8 - 001e4 75 9a jne SHORT $LN2@unzOpenCur - 001e6 3b d7 cmp edx, edi - 001e8 75 96 jne SHORT $LN2@unzOpenCur - -; 1577 : { -; 1578 : pfile_in_zip_read_info->stream.zalloc = (alloc_func)0; -; 1579 : pfile_in_zip_read_info->stream.zfree = (free_func)0; -; 1580 : pfile_in_zip_read_info->stream.opaque = (voidpf)0; -; 1581 : pfile_in_zip_read_info->stream.next_in = 0; -; 1582 : pfile_in_zip_read_info->stream.avail_in = 0; -; 1583 : -; 1584 : err=inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS); - - 001ea 6a 38 push 56 ; 00000038H - 001ec 68 00 00 00 00 push OFFSET ??_C@_05BOAHNBIE@1?42?46?$AA@ - 001f1 8d 43 04 lea eax, DWORD PTR [ebx+4] - 001f4 6a f1 push -15 ; fffffff1H - 001f6 50 push eax - 001f7 89 7b 24 mov DWORD PTR [ebx+36], edi - 001fa 89 7b 28 mov DWORD PTR [ebx+40], edi - 001fd 89 7b 2c mov DWORD PTR [ebx+44], edi - 00200 89 38 mov DWORD PTR [eax], edi - 00202 89 7b 08 mov DWORD PTR [ebx+8], edi - 00205 e8 00 00 00 00 call _inflateInit2_@16 - 0020a 89 44 24 10 mov DWORD PTR _err$[esp+32], eax - -; 1585 : if (err == Z_OK) - - 0020e 3b c7 cmp eax, edi - 00210 75 0c jne SHORT $LN3@unzOpenCur - -; 1586 : pfile_in_zip_read_info->stream_initialised=Z_DEFLATED; - - 00212 c7 43 48 08 00 - 00 00 mov DWORD PTR [ebx+72], 8 - -; 1587 : else - - 00219 e9 62 ff ff ff jmp $LN2@unzOpenCur -$LN3@unzOpenCur: - -; 1588 : { -; 1589 : TRYFREE(pfile_in_zip_read_info); - - 0021e 53 push ebx - 0021f e8 00 00 00 00 call _free - -; 1590 : return err; - - 00224 8b 44 24 14 mov eax, DWORD PTR _err$[esp+36] - 00228 83 c4 04 add esp, 4 - -; 1639 : } - - 0022b 5f pop edi - 0022c 5e pop esi - 0022d 5b pop ebx - 0022e 8b e5 mov esp, ebp - 00230 5d pop ebp - 00231 c2 14 00 ret 20 ; 00000014H -_unzOpenCurrentFile3@20 ENDP -_TEXT ENDS -PUBLIC _unzGoToFilePos@8 -; Function compile flags: /Ogtp -; COMDAT _unzGoToFilePos@8 -_TEXT SEGMENT -_file_pos64$ = -16 ; size = 16 -_file$ = 8 ; size = 4 -_file_pos$ = 12 ; size = 4 -_unzGoToFilePos@8 PROC ; COMDAT - -; 1363 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - -; 1364 : unz64_file_pos file_pos64; -; 1365 : if (file_pos == NULL) - - 00006 8b 45 0c mov eax, DWORD PTR _file_pos$[ebp] - 00009 33 c9 xor ecx, ecx - 0000b 83 ec 10 sub esp, 16 ; 00000010H - 0000e 3b c1 cmp eax, ecx - 00010 75 0b jne SHORT $LN1@unzGoToFil@2 - -; 1366 : return UNZ_PARAMERROR; - - 00012 b8 9a ff ff ff mov eax, -102 ; ffffff9aH - -; 1371 : } - - 00017 8b e5 mov esp, ebp - 00019 5d pop ebp - 0001a c2 08 00 ret 8 -$LN1@unzGoToFil@2: - -; 1367 : -; 1368 : file_pos64.pos_in_zip_directory = file_pos->pos_in_zip_directory; - - 0001d 8b 10 mov edx, DWORD PTR [eax] - -; 1369 : file_pos64.num_of_file = file_pos->num_of_file; - - 0001f 8b 40 04 mov eax, DWORD PTR [eax+4] - 00022 89 4c 24 04 mov DWORD PTR _file_pos64$[esp+20], ecx - 00026 89 4c 24 0c mov DWORD PTR _file_pos64$[esp+28], ecx - -; 1370 : return unzGoToFilePos64(file,&file_pos64); - - 0002a 8d 0c 24 lea ecx, DWORD PTR _file_pos64$[esp+16] - 0002d 89 14 24 mov DWORD PTR _file_pos64$[esp+16], edx - 00030 8b 55 08 mov edx, DWORD PTR _file$[ebp] - 00033 51 push ecx - 00034 52 push edx - 00035 89 44 24 10 mov DWORD PTR _file_pos64$[esp+32], eax - 00039 e8 00 00 00 00 call _unzGoToFilePos64@8 - -; 1371 : } - - 0003e 8b e5 mov esp, ebp - 00040 5d pop ebp - 00041 c2 08 00 ret 8 -_unzGoToFilePos@8 ENDP -_TEXT ENDS -PUBLIC _unzLocateFile@12 -; Function compile flags: /Ogtp -; COMDAT _unzLocateFile@12 -_TEXT SEGMENT -_cur_file_info_internalSaved$ = -376 ; size = 8 -_num_fileSaved$ = -368 ; size = 8 -_pos_in_central_dirSaved$ = -360 ; size = 8 -_cur_file_infoSaved$ = -352 ; size = 88 -_szCurrentFileName$82683 = -264 ; size = 257 -_file$ = 8 ; size = 4 -_szFileName$ = 12 ; size = 4 -_iCaseSensitivity$ = 16 ; size = 4 -_unzLocateFile@12 PROC ; COMDAT - -; 1233 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 81 ec 7c 01 00 - 00 sub esp, 380 ; 0000017cH - 0000c 53 push ebx - -; 1234 : unz64_s* s; -; 1235 : int err; -; 1236 : -; 1237 : /* We remember the 'current' position in the file so that we can jump -; 1238 : * back there if we fail. -; 1239 : */ -; 1240 : unz_file_info64 cur_file_infoSaved; -; 1241 : unz_file_info64_internal cur_file_info_internalSaved; -; 1242 : ZPOS64_T num_fileSaved; -; 1243 : ZPOS64_T pos_in_central_dirSaved; -; 1244 : -; 1245 : -; 1246 : if (file==NULL) - - 0000d 8b 5d 08 mov ebx, DWORD PTR _file$[ebp] - 00010 56 push esi - 00011 57 push edi - 00012 85 db test ebx, ebx - 00014 75 0e jne SHORT $LN7@unzLocateF -$LN14@unzLocateF: - -; 1247 : return UNZ_PARAMERROR; - - 00016 b8 9a ff ff ff mov eax, -102 ; ffffff9aH - -; 1286 : return err; -; 1287 : } - - 0001b 5f pop edi - 0001c 5e pop esi - 0001d 5b pop ebx - 0001e 8b e5 mov esp, ebp - 00020 5d pop ebp - 00021 c2 0c 00 ret 12 ; 0000000cH -$LN7@unzLocateF: - -; 1248 : -; 1249 : if (strlen(szFileName)>=UNZ_MAXFILENAMEINZIP) - - 00024 8b 45 0c mov eax, DWORD PTR _szFileName$[ebp] - 00027 8d 50 01 lea edx, DWORD PTR [eax+1] - 0002a 8d 9b 00 00 00 - 00 npad 6 -$LL13@unzLocateF: - 00030 8a 08 mov cl, BYTE PTR [eax] - 00032 40 inc eax - 00033 84 c9 test cl, cl - 00035 75 f9 jne SHORT $LL13@unzLocateF - 00037 2b c2 sub eax, edx - 00039 3d 00 01 00 00 cmp eax, 256 ; 00000100H - -; 1250 : return UNZ_PARAMERROR; - - 0003e 73 d6 jae SHORT $LN14@unzLocateF - -; 1251 : -; 1252 : s=(unz64_s*)file; -; 1253 : if (!s->current_file_ok) - - 00040 8b 43 60 mov eax, DWORD PTR [ebx+96] - 00043 0b 43 64 or eax, DWORD PTR [ebx+100] - 00046 75 0e jne SHORT $LN5@unzLocateF - -; 1254 : return UNZ_END_OF_LIST_OF_FILE; - - 00048 b8 9c ff ff ff mov eax, -100 ; ffffff9cH - -; 1286 : return err; -; 1287 : } - - 0004d 5f pop edi - 0004e 5e pop esi - 0004f 5b pop ebx - 00050 8b e5 mov esp, ebp - 00052 5d pop ebp - 00053 c2 0c 00 ret 12 ; 0000000cH -$LN5@unzLocateF: - -; 1255 : -; 1256 : /* Save the current state */ -; 1257 : num_fileSaved = s->num_file; - - 00056 8b 4b 50 mov ecx, DWORD PTR [ebx+80] - 00059 8b 53 54 mov edx, DWORD PTR [ebx+84] - -; 1258 : pos_in_central_dirSaved = s->pos_in_central_dir; - - 0005c 8b 43 58 mov eax, DWORD PTR [ebx+88] - 0005f 89 4c 24 18 mov DWORD PTR _num_fileSaved$[esp+392], ecx - 00063 8b 4b 5c mov ecx, DWORD PTR [ebx+92] - 00066 89 4c 24 24 mov DWORD PTR _pos_in_central_dirSaved$[esp+396], ecx - 0006a 89 54 24 1c mov DWORD PTR _num_fileSaved$[esp+396], edx - -; 1259 : cur_file_infoSaved = s->cur_file_info; -; 1260 : cur_file_info_internalSaved = s->cur_file_info_internal; - - 0006e 8b 93 d8 00 00 - 00 mov edx, DWORD PTR [ebx+216] - 00074 89 44 24 20 mov DWORD PTR _pos_in_central_dirSaved$[esp+392], eax - 00078 8b 83 dc 00 00 - 00 mov eax, DWORD PTR [ebx+220] - 0007e 8d b3 80 00 00 - 00 lea esi, DWORD PTR [ebx+128] - 00084 b9 16 00 00 00 mov ecx, 22 ; 00000016H - 00089 8d 7c 24 28 lea edi, DWORD PTR _cur_file_infoSaved$[esp+392] - -; 1261 : -; 1262 : err = unzGoToFirstFile(file); - - 0008d 53 push ebx - 0008e f3 a5 rep movsd - 00090 89 54 24 14 mov DWORD PTR _cur_file_info_internalSaved$[esp+396], edx - 00094 89 44 24 18 mov DWORD PTR _cur_file_info_internalSaved$[esp+400], eax - 00098 e8 00 00 00 00 call _unzGoToFirstFile@4 - -; 1263 : -; 1264 : while (err == UNZ_OK) - - 0009d 85 c0 test eax, eax - 0009f 75 44 jne SHORT $LN3@unzLocateF - 000a1 8b 75 10 mov esi, DWORD PTR _iCaseSensitivity$[ebp] -$LL4@unzLocateF: - -; 1265 : { -; 1266 : char szCurrentFileName[UNZ_MAXFILENAMEINZIP+1]; -; 1267 : err = unzGetCurrentFileInfo64(file,NULL, -; 1268 : szCurrentFileName,sizeof(szCurrentFileName)-1, -; 1269 : NULL,0,NULL,0); - - 000a4 6a 00 push 0 - 000a6 6a 00 push 0 - 000a8 6a 00 push 0 - 000aa 6a 00 push 0 - 000ac 68 00 01 00 00 push 256 ; 00000100H - 000b1 8d 8c 24 94 00 - 00 00 lea ecx, DWORD PTR _szCurrentFileName$82683[esp+412] - 000b8 51 push ecx - 000b9 6a 00 push 0 - 000bb 53 push ebx - 000bc e8 00 00 00 00 call _unzGetCurrentFileInfo64@32 - -; 1270 : if (err == UNZ_OK) - - 000c1 85 c0 test eax, eax - 000c3 75 20 jne SHORT $LN3@unzLocateF - -; 1271 : { -; 1272 : if (unzStringFileNameCompare(szCurrentFileName, -; 1273 : szFileName,iCaseSensitivity)==0) - - 000c5 8b 55 0c mov edx, DWORD PTR _szFileName$[ebp] - 000c8 56 push esi - 000c9 52 push edx - 000ca 8d 84 24 88 00 - 00 00 lea eax, DWORD PTR _szCurrentFileName$82683[esp+400] - 000d1 50 push eax - 000d2 e8 00 00 00 00 call _unzStringFileNameCompare@12 - 000d7 85 c0 test eax, eax - 000d9 74 54 je SHORT $LN11@unzLocateF - -; 1274 : return UNZ_OK; -; 1275 : err = unzGoToNextFile(file); - - 000db 53 push ebx - 000dc e8 00 00 00 00 call _unzGoToNextFile@4 - 000e1 85 c0 test eax, eax - 000e3 74 bf je SHORT $LL4@unzLocateF -$LN3@unzLocateF: - -; 1276 : } -; 1277 : } -; 1278 : -; 1279 : /* We failed, so restore the state of the 'current file' to where we -; 1280 : * were. -; 1281 : */ -; 1282 : s->num_file = num_fileSaved ; - - 000e5 8b 4c 24 18 mov ecx, DWORD PTR _num_fileSaved$[esp+392] - 000e9 8b 54 24 1c mov edx, DWORD PTR _num_fileSaved$[esp+396] - 000ed 89 4b 50 mov DWORD PTR [ebx+80], ecx - -; 1283 : s->pos_in_central_dir = pos_in_central_dirSaved ; - - 000f0 8b 4c 24 20 mov ecx, DWORD PTR _pos_in_central_dirSaved$[esp+392] - 000f4 89 4b 58 mov DWORD PTR [ebx+88], ecx - 000f7 89 53 54 mov DWORD PTR [ebx+84], edx - 000fa 8b 54 24 24 mov edx, DWORD PTR _pos_in_central_dirSaved$[esp+396] - -; 1284 : s->cur_file_info = cur_file_infoSaved; - - 000fe b9 16 00 00 00 mov ecx, 22 ; 00000016H - 00103 8d 74 24 28 lea esi, DWORD PTR _cur_file_infoSaved$[esp+392] - 00107 8d bb 80 00 00 - 00 lea edi, DWORD PTR [ebx+128] - 0010d 89 53 5c mov DWORD PTR [ebx+92], edx - -; 1285 : s->cur_file_info_internal = cur_file_info_internalSaved; - - 00110 8b 54 24 14 mov edx, DWORD PTR _cur_file_info_internalSaved$[esp+396] - 00114 f3 a5 rep movsd - 00116 8b 4c 24 10 mov ecx, DWORD PTR _cur_file_info_internalSaved$[esp+392] - 0011a 89 8b d8 00 00 - 00 mov DWORD PTR [ebx+216], ecx - 00120 89 93 dc 00 00 - 00 mov DWORD PTR [ebx+220], edx - -; 1286 : return err; -; 1287 : } - - 00126 5f pop edi - 00127 5e pop esi - 00128 5b pop ebx - 00129 8b e5 mov esp, ebp - 0012b 5d pop ebp - 0012c c2 0c 00 ret 12 ; 0000000cH -$LN11@unzLocateF: - 0012f 5f pop edi - 00130 5e pop esi - 00131 33 c0 xor eax, eax - 00133 5b pop ebx - 00134 8b e5 mov esp, ebp - 00136 5d pop ebp - 00137 c2 0c 00 ret 12 ; 0000000cH -_unzLocateFile@12 ENDP -_TEXT ENDS -PUBLIC _unzOpen64@4 -; Function compile flags: /Ogtp -; COMDAT _unzOpen64@4 -_TEXT SEGMENT -_path$ = 8 ; size = 4 -_unzOpen64@4 PROC ; COMDAT - -; 799 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 800 : return unzOpenInternal(path, NULL, 1); - - 00003 8b 45 08 mov eax, DWORD PTR _path$[ebp] - 00006 6a 01 push 1 - 00008 50 push eax - 00009 33 c0 xor eax, eax - 0000b e8 00 00 00 00 call _unzOpenInternal - 00010 83 c4 08 add esp, 8 - -; 801 : } - - 00013 5d pop ebp - 00014 c2 04 00 ret 4 -_unzOpen64@4 ENDP -_TEXT ENDS -PUBLIC _unzOpen@4 -; Function compile flags: /Ogtp -; COMDAT _unzOpen@4 -_TEXT SEGMENT -_path$ = 8 ; size = 4 -_unzOpen@4 PROC ; COMDAT - -; 794 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 795 : return unzOpenInternal(path, NULL, 0); - - 00003 8b 45 08 mov eax, DWORD PTR _path$[ebp] - 00006 6a 00 push 0 - 00008 50 push eax - 00009 33 c0 xor eax, eax - 0000b e8 00 00 00 00 call _unzOpenInternal - 00010 83 c4 08 add esp, 8 - -; 796 : } - - 00013 5d pop ebp - 00014 c2 04 00 ret 4 -_unzOpen@4 ENDP -_TEXT ENDS -PUBLIC _unzOpen2_64@8 -; Function compile flags: /Ogtp -; COMDAT _unzOpen2_64@8 -_TEXT SEGMENT -_zlib_filefunc64_32_def_fill$82412 = -44 ; size = 44 -_path$ = 8 ; size = 4 -_pzlib_filefunc_def$ = 12 ; size = 4 -_unzOpen2_64@8 PROC ; COMDAT - -; 780 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 83 ec 30 sub esp, 48 ; 00000030H - 00009 56 push esi - -; 781 : if (pzlib_filefunc_def != NULL) - - 0000a 8b 75 0c mov esi, DWORD PTR _pzlib_filefunc_def$[ebp] - 0000d 33 c0 xor eax, eax - 0000f 57 push edi - -; 787 : return unzOpenInternal(path, &zlib_filefunc64_32_def_fill, 1); - - 00010 6a 01 push 1 - 00012 3b f0 cmp esi, eax - 00014 74 2b je SHORT $LN2@unzOpen2_6 - -; 782 : { -; 783 : zlib_filefunc64_32_def zlib_filefunc64_32_def_fill; -; 784 : zlib_filefunc64_32_def_fill.zfile_func64 = *pzlib_filefunc_def; - - 00016 b9 08 00 00 00 mov ecx, 8 - 0001b 8d 7c 24 10 lea edi, DWORD PTR _zlib_filefunc64_32_def_fill$82412[esp+60] - 0001f f3 a5 rep movsd - -; 785 : zlib_filefunc64_32_def_fill.ztell32_file = NULL; - - 00021 89 44 24 34 mov DWORD PTR _zlib_filefunc64_32_def_fill$82412[esp+96], eax - -; 786 : zlib_filefunc64_32_def_fill.zseek32_file = NULL; - - 00025 89 44 24 38 mov DWORD PTR _zlib_filefunc64_32_def_fill$82412[esp+100], eax - -; 787 : return unzOpenInternal(path, &zlib_filefunc64_32_def_fill, 1); - - 00029 8b 45 08 mov eax, DWORD PTR _path$[ebp] - 0002c 50 push eax - 0002d 8d 44 24 14 lea eax, DWORD PTR _zlib_filefunc64_32_def_fill$82412[esp+64] - -; 788 : } -; 789 : else -; 790 : return unzOpenInternal(path, NULL, 1); - - 00031 e8 00 00 00 00 call _unzOpenInternal - 00036 83 c4 08 add esp, 8 - -; 791 : } - - 00039 5f pop edi - 0003a 5e pop esi - 0003b 8b e5 mov esp, ebp - 0003d 5d pop ebp - 0003e c2 08 00 ret 8 -$LN2@unzOpen2_6: - -; 788 : } -; 789 : else -; 790 : return unzOpenInternal(path, NULL, 1); - - 00041 8b 4d 08 mov ecx, DWORD PTR _path$[ebp] - 00044 51 push ecx - 00045 33 c0 xor eax, eax - 00047 e8 00 00 00 00 call _unzOpenInternal - 0004c 83 c4 08 add esp, 8 - -; 791 : } - - 0004f 5f pop edi - 00050 5e pop esi - 00051 8b e5 mov esp, ebp - 00053 5d pop ebp - 00054 c2 08 00 ret 8 -_unzOpen2_64@8 ENDP -_TEXT ENDS -PUBLIC _unzOpen2@8 -; Function compile flags: /Ogtp -; COMDAT _unzOpen2@8 -_TEXT SEGMENT -_zlib_filefunc64_32_def_fill$82402 = -44 ; size = 44 -_path$ = 8 ; size = 4 -_pzlib_filefunc32_def$ = 12 ; size = 4 -_unzOpen2@8 PROC ; COMDAT - -; 767 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - -; 768 : if (pzlib_filefunc32_def != NULL) - - 00006 8b 4d 0c mov ecx, DWORD PTR _pzlib_filefunc32_def$[ebp] - 00009 83 ec 30 sub esp, 48 ; 00000030H - 0000c 85 c9 test ecx, ecx - 0000e 74 21 je SHORT $LN2@unzOpen2 - -; 769 : { -; 770 : zlib_filefunc64_32_def zlib_filefunc64_32_def_fill; -; 771 : fill_zlib_filefunc64_32_def_from_filefunc32(&zlib_filefunc64_32_def_fill,pzlib_filefunc32_def); - - 00010 8d 44 24 04 lea eax, DWORD PTR _zlib_filefunc64_32_def_fill$82402[esp+48] - 00014 e8 00 00 00 00 call _fill_zlib_filefunc64_32_def_from_filefunc32 - -; 772 : return unzOpenInternal(path, &zlib_filefunc64_32_def_fill, 0); - - 00019 8b 45 08 mov eax, DWORD PTR _path$[ebp] - 0001c 6a 00 push 0 - 0001e 50 push eax - 0001f 8d 44 24 0c lea eax, DWORD PTR _zlib_filefunc64_32_def_fill$82402[esp+56] - -; 773 : } -; 774 : else -; 775 : return unzOpenInternal(path, NULL, 0); - - 00023 e8 00 00 00 00 call _unzOpenInternal - 00028 83 c4 08 add esp, 8 - -; 776 : } - - 0002b 8b e5 mov esp, ebp - 0002d 5d pop ebp - 0002e c2 08 00 ret 8 -$LN2@unzOpen2: - -; 773 : } -; 774 : else -; 775 : return unzOpenInternal(path, NULL, 0); - - 00031 8b 4d 08 mov ecx, DWORD PTR _path$[ebp] - 00034 6a 00 push 0 - 00036 51 push ecx - 00037 33 c0 xor eax, eax - 00039 e8 00 00 00 00 call _unzOpenInternal - 0003e 83 c4 08 add esp, 8 - -; 776 : } - - 00041 8b e5 mov esp, ebp - 00043 5d pop ebp - 00044 c2 08 00 ret 8 -_unzOpen2@8 ENDP -PUBLIC _unzOpenCurrentFile2@16 -; Function compile flags: /Ogtp -; COMDAT _unzOpenCurrentFile2@16 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_method$ = 12 ; size = 4 -_level$ = 16 ; size = 4 -_raw$ = 20 ; size = 4 -_unzOpenCurrentFile2@16 PROC ; COMDAT - -; 1652 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1653 : return unzOpenCurrentFile3(file, method, level, raw, NULL); - - 00003 8b 45 14 mov eax, DWORD PTR _raw$[ebp] - 00006 8b 4d 10 mov ecx, DWORD PTR _level$[ebp] - 00009 8b 55 0c mov edx, DWORD PTR _method$[ebp] - 0000c 6a 00 push 0 - 0000e 50 push eax - 0000f 8b 45 08 mov eax, DWORD PTR _file$[ebp] - 00012 51 push ecx - 00013 52 push edx - 00014 50 push eax - 00015 e8 00 00 00 00 call _unzOpenCurrentFile3@20 - -; 1654 : } - - 0001a 5d pop ebp - 0001b c2 10 00 ret 16 ; 00000010H -_unzOpenCurrentFile2@16 ENDP -_TEXT ENDS -PUBLIC _unzOpenCurrentFilePassword@8 -; Function compile flags: /Ogtp -; COMDAT _unzOpenCurrentFilePassword@8 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_password$ = 12 ; size = 4 -_unzOpenCurrentFilePassword@8 PROC ; COMDAT - -; 1647 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1648 : return unzOpenCurrentFile3(file, NULL, NULL, 0, password); - - 00003 8b 45 0c mov eax, DWORD PTR _password$[ebp] - 00006 8b 4d 08 mov ecx, DWORD PTR _file$[ebp] - 00009 50 push eax - 0000a 6a 00 push 0 - 0000c 6a 00 push 0 - 0000e 6a 00 push 0 - 00010 51 push ecx - 00011 e8 00 00 00 00 call _unzOpenCurrentFile3@20 - -; 1649 : } - - 00016 5d pop ebp - 00017 c2 08 00 ret 8 -_unzOpenCurrentFilePassword@8 ENDP -_TEXT ENDS -PUBLIC _unzOpenCurrentFile@4 -; Function compile flags: /Ogtp -; COMDAT _unzOpenCurrentFile@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_unzOpenCurrentFile@4 PROC ; COMDAT - -; 1642 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1643 : return unzOpenCurrentFile3(file, NULL, NULL, 0, NULL); - - 00003 8b 45 08 mov eax, DWORD PTR _file$[ebp] - 00006 6a 00 push 0 - 00008 6a 00 push 0 - 0000a 6a 00 push 0 - 0000c 6a 00 push 0 - 0000e 50 push eax - 0000f e8 00 00 00 00 call _unzOpenCurrentFile3@20 - -; 1644 : } - - 00014 5d pop ebp - 00015 c2 04 00 ret 4 -_unzOpenCurrentFile@4 ENDP -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/zip.cod b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/zip.cod deleted file mode 100644 index 3f8b8c18..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/zip.cod +++ /dev/null @@ -1,7865 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.30319.01 - - TITLE D:\FMU\FMUSolution\zlib-1.2.6\contrib\minizip\zip.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC _zip_copyright -PUBLIC ??_C@_01JOAMLHOP@?9?$AA@ ; `string' -EXTRN _rand:PROC -EXTRN _srand:PROC -EXTRN __time64:PROC -?calls@?1??crypthead@@9@9 DD 01H DUP (?) ; `crypthead'::`2'::calls -; COMDAT ??_C@_01JOAMLHOP@?9?$AA@ -CONST SEGMENT -??_C@_01JOAMLHOP@?9?$AA@ DB '-', 00H ; `string' -_zip_copyright DB ' zip 1.01 Copyright 1998-2004 Gilles Vollant - http://' - DB 'www.winimage.com/zLibDll', 00H -; Function compile flags: /Ogtp -; File d:\fmu\fmusolution\zlib-1.2.6\contrib\minizip\zip.c -; COMDAT _zip64local_getByte -_TEXT SEGMENT -_c$ = -1 ; size = 1 -_pi$ = 8 ; size = 4 -_zip64local_getByte PROC ; COMDAT -; _pzlib_filefunc_def$ = esi -; _filestream$ = edi - -; 350 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - -; 351 : unsigned char c; -; 352 : int err = (int)ZREAD64(*pzlib_filefunc_def,filestream,&c,1); - - 00004 8b 4e 1c mov ecx, DWORD PTR [esi+28] - 00007 8b 56 04 mov edx, DWORD PTR [esi+4] - 0000a 6a 01 push 1 - 0000c 8d 45 ff lea eax, DWORD PTR _c$[ebp] - 0000f 50 push eax - 00010 57 push edi - 00011 51 push ecx - 00012 ff d2 call edx - 00014 83 c4 10 add esp, 16 ; 00000010H - -; 353 : if (err==1) - - 00017 83 f8 01 cmp eax, 1 - 0001a 75 0f jne SHORT $LN4@zip64local - -; 354 : { -; 355 : *pi = (int)c; - - 0001c 0f b6 45 ff movzx eax, BYTE PTR _c$[ebp] - 00020 8b 4d 08 mov ecx, DWORD PTR _pi$[ebp] - 00023 89 01 mov DWORD PTR [ecx], eax - -; 356 : return ZIP_OK; - - 00025 33 c0 xor eax, eax - -; 361 : return ZIP_ERRNO; -; 362 : else -; 363 : return ZIP_EOF; -; 364 : } -; 365 : } - - 00027 8b e5 mov esp, ebp - 00029 5d pop ebp - 0002a c3 ret 0 -$LN4@zip64local: - -; 357 : } -; 358 : else -; 359 : { -; 360 : if (ZERROR64(*pzlib_filefunc_def,filestream)) - - 0002b 8b 56 1c mov edx, DWORD PTR [esi+28] - 0002e 8b 46 18 mov eax, DWORD PTR [esi+24] - 00031 57 push edi - 00032 52 push edx - 00033 ff d0 call eax - 00035 83 c4 08 add esp, 8 - 00038 f7 d8 neg eax - 0003a 1b c0 sbb eax, eax - -; 361 : return ZIP_ERRNO; -; 362 : else -; 363 : return ZIP_EOF; -; 364 : } -; 365 : } - - 0003c 8b e5 mov esp, ebp - 0003e 5d pop ebp - 0003f c3 ret 0 -_zip64local_getByte ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _zip64local_TmzDateToDosDate -_TEXT SEGMENT -_zip64local_TmzDateToDosDate PROC ; COMDAT -; _ptm$ = edx - -; 334 : uLong year = (uLong)ptm->tm_year; - - 00000 8b 4a 14 mov ecx, DWORD PTR [edx+20] - -; 335 : if (year>=1980) - - 00003 81 f9 bc 07 00 - 00 cmp ecx, 1980 ; 000007bcH - 00009 72 08 jb SHORT $LN3@zip64local@2 - -; 336 : year-=1980; - - 0000b 81 e9 bc 07 00 - 00 sub ecx, 1980 ; 000007bcH - 00011 eb 08 jmp SHORT $LN1@zip64local@2 -$LN3@zip64local@2: - -; 337 : else if (year>=80) - - 00013 83 f9 50 cmp ecx, 80 ; 00000050H - 00016 72 03 jb SHORT $LN1@zip64local@2 - -; 338 : year-=80; - - 00018 83 e9 50 sub ecx, 80 ; 00000050H -$LN1@zip64local@2: - -; 339 : return -; 340 : (uLong) (((ptm->tm_mday) + (32 * (ptm->tm_mon+1)) + (512 * year)) << 16) | -; 341 : ((ptm->tm_sec/2) + (32* ptm->tm_min) + (2048 * (uLong)ptm->tm_hour)); - - 0001b 8b 42 08 mov eax, DWORD PTR [edx+8] - 0001e c1 e0 06 shl eax, 6 - 00021 03 42 04 add eax, DWORD PTR [edx+4] - 00024 56 push esi - 00025 8b 32 mov esi, DWORD PTR [edx] - 00027 d1 ee shr esi, 1 - 00029 c1 e0 05 shl eax, 5 - 0002c 03 c6 add eax, esi - 0002e 8b 72 10 mov esi, DWORD PTR [edx+16] - 00031 03 c9 add ecx, ecx - 00033 8d 4c ce 01 lea ecx, DWORD PTR [esi+ecx*8+1] - 00037 c1 e1 05 shl ecx, 5 - 0003a 03 4a 0c add ecx, DWORD PTR [edx+12] - 0003d 5e pop esi - 0003e c1 e1 10 shl ecx, 16 ; 00000010H - 00041 0b c1 or eax, ecx - -; 342 : } - - 00043 c3 ret 0 -_zip64local_TmzDateToDosDate ENDP -_TEXT ENDS -EXTRN _memset:PROC -; Function compile flags: /Ogtp -; COMDAT _zip64local_putValue_inmemory -_TEXT SEGMENT -_x$ = 8 ; size = 8 -_zip64local_putValue_inmemory PROC ; COMDAT -; _dest$ = edi -; _nbByte$ = esi - -; 312 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 313 : unsigned char* buf=(unsigned char*)dest; -; 314 : int n; -; 315 : for (n = 0; n < nbByte; n++) { - - 00003 8b 55 0c mov edx, DWORD PTR _x$[ebp+4] - 00006 8b 45 08 mov eax, DWORD PTR _x$[ebp] - 00009 33 c9 xor ecx, ecx - 0000b 85 f6 test esi, esi - 0000d 7e 10 jle SHORT $LN5@zip64local@3 - 0000f 90 npad 1 -$LL7@zip64local@3: - -; 316 : buf[n] = (unsigned char)(x & 0xff); - - 00010 88 04 39 mov BYTE PTR [ecx+edi], al - -; 317 : x >>= 8; - - 00013 0f ac d0 08 shrd eax, edx, 8 - 00017 41 inc ecx - 00018 c1 ea 08 shr edx, 8 - 0001b 3b ce cmp ecx, esi - 0001d 7c f1 jl SHORT $LL7@zip64local@3 -$LN5@zip64local@3: - -; 318 : } -; 319 : -; 320 : if (x != 0) - - 0001f 0b c2 or eax, edx - 00021 74 13 je SHORT $LN3@zip64local@3 - -; 321 : { /* data overflow - hack for ZIP64 */ -; 322 : for (n = 0; n < nbByte; n++) - - 00023 85 f6 test esi, esi - 00025 7e 0f jle SHORT $LN3@zip64local@3 - 00027 56 push esi - 00028 68 ff 00 00 00 push 255 ; 000000ffH - 0002d 57 push edi - 0002e e8 00 00 00 00 call _memset - 00033 83 c4 0c add esp, 12 ; 0000000cH -$LN3@zip64local@3: - -; 323 : { -; 324 : buf[n] = 0xff; -; 325 : } -; 326 : } -; 327 : } - - 00036 5d pop ebp - 00037 c3 ret 0 -_zip64local_putValue_inmemory ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _zip64local_putValue -_TEXT SEGMENT -_filestream$ = 8 ; size = 4 -_buf$ = 12 ; size = 8 -_x$ = 12 ; size = 8 -_zip64local_putValue PROC ; COMDAT -; _pzlib_filefunc_def$ = edi -; _nbByte$ = esi - -; 288 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 289 : unsigned char buf[8]; -; 290 : int n; -; 291 : for (n = 0; n < nbByte; n++) - - 00003 8b 55 10 mov edx, DWORD PTR _x$[ebp+4] - 00006 8b 45 0c mov eax, DWORD PTR _x$[ebp] - 00009 33 c9 xor ecx, ecx - 0000b 85 f6 test esi, esi - 0000d 7e 11 jle SHORT $LN7@zip64local@4 - 0000f 90 npad 1 -$LL9@zip64local@4: - -; 292 : { -; 293 : buf[n] = (unsigned char)(x & 0xff); - - 00010 88 44 0d 0c mov BYTE PTR _buf$[ebp+ecx], al - -; 294 : x >>= 8; - - 00014 0f ac d0 08 shrd eax, edx, 8 - 00018 41 inc ecx - 00019 c1 ea 08 shr edx, 8 - 0001c 3b ce cmp ecx, esi - 0001e 7c f0 jl SHORT $LL9@zip64local@4 -$LN7@zip64local@4: - -; 295 : } -; 296 : if (x != 0) - - 00020 0b c2 or eax, edx - 00022 74 16 je SHORT $LN5@zip64local@4 - -; 297 : { /* data overflow - hack for ZIP64 (X Roche) */ -; 298 : for (n = 0; n < nbByte; n++) - - 00024 85 f6 test esi, esi - 00026 7e 12 jle SHORT $LN5@zip64local@4 - 00028 56 push esi - 00029 8d 45 0c lea eax, DWORD PTR _buf$[ebp] - 0002c 68 ff 00 00 00 push 255 ; 000000ffH - 00031 50 push eax - 00032 e8 00 00 00 00 call _memset - 00037 83 c4 0c add esp, 12 ; 0000000cH -$LN5@zip64local@4: - -; 299 : { -; 300 : buf[n] = 0xff; -; 301 : } -; 302 : } -; 303 : -; 304 : if (ZWRITE64(*pzlib_filefunc_def,filestream,buf,nbByte)!=(uLong)nbByte) - - 0003a 8b 55 08 mov edx, DWORD PTR _filestream$[ebp] - 0003d 8b 47 1c mov eax, DWORD PTR [edi+28] - 00040 56 push esi - 00041 8d 4d 0c lea ecx, DWORD PTR _buf$[ebp] - 00044 51 push ecx - 00045 8b 4f 08 mov ecx, DWORD PTR [edi+8] - 00048 52 push edx - 00049 50 push eax - 0004a ff d1 call ecx - 0004c 2b c6 sub eax, esi - 0004e 83 c4 10 add esp, 16 ; 00000010H - 00051 f7 d8 neg eax - 00053 1b c0 sbb eax, eax - -; 305 : return ZIP_ERRNO; -; 306 : else -; 307 : return ZIP_OK; -; 308 : } - - 00055 5d pop ebp - 00056 c3 ret 0 -_zip64local_putValue ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _init_linkedlist -_TEXT SEGMENT -_init_linkedlist PROC ; COMDAT -; _ll$ = eax - -; 215 : ll->first_block = ll->last_block = NULL; - - 00000 c7 40 04 00 00 - 00 00 mov DWORD PTR [eax+4], 0 - 00007 c7 00 00 00 00 - 00 mov DWORD PTR [eax], 0 - -; 216 : } - - 0000d c3 ret 0 -_init_linkedlist ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _free_datablock -_TEXT SEGMENT -_free_datablock PROC ; COMDAT -; _ldi$ = eax - -; 205 : while (ldi!=NULL) - - 00000 85 c0 test eax, eax - 00002 74 13 je SHORT $LN2@free_datab - 00004 56 push esi -$LL3@free_datab: - -; 206 : { -; 207 : linkedlist_datablock_internal* ldinext = ldi->next_datablock; - - 00005 8b 30 mov esi, DWORD PTR [eax] - -; 208 : TRYFREE(ldi); - - 00007 50 push eax - 00008 e8 00 00 00 00 call _free - 0000d 83 c4 04 add esp, 4 - -; 209 : ldi = ldinext; - - 00010 8b c6 mov eax, esi - 00012 85 f6 test esi, esi - 00014 75 ef jne SHORT $LL3@free_datab - 00016 5e pop esi -$LN2@free_datab: - -; 210 : } -; 211 : } - - 00017 c3 ret 0 -_free_datablock ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _allocate_new_datablock -_TEXT SEGMENT -_allocate_new_datablock PROC ; COMDAT - -; 191 : linkedlist_datablock_internal* ldi; -; 192 : ldi = (linkedlist_datablock_internal*) -; 193 : ALLOC(sizeof(linkedlist_datablock_internal)); - - 00000 68 00 10 00 00 push 4096 ; 00001000H - 00005 e8 00 00 00 00 call _malloc - 0000a 83 c4 04 add esp, 4 - -; 194 : if (ldi!=NULL) - - 0000d 85 c0 test eax, eax - 0000f 74 14 je SHORT $LN1@allocate_n - -; 195 : { -; 196 : ldi->next_datablock = NULL ; - - 00011 c7 00 00 00 00 - 00 mov DWORD PTR [eax], 0 - -; 197 : ldi->filled_in_this_block = 0 ; - - 00017 c7 40 08 00 00 - 00 00 mov DWORD PTR [eax+8], 0 - -; 198 : ldi->avail_in_this_block = SIZEDATA_INDATABLOCK ; - - 0001e c7 40 04 f0 0f - 00 00 mov DWORD PTR [eax+4], 4080 ; 00000ff0H -$LN1@allocate_n: - -; 199 : } -; 200 : return ldi; -; 201 : } - - 00025 c3 ret 0 -_allocate_new_datablock ENDP -; Function compile flags: /Ogtp -; File d:\fmu\fmusolution\zlib-1.2.6\contrib\minizip\crypt.h -_TEXT ENDS -; COMDAT _update_keys -_TEXT SEGMENT -_update_keys PROC ; COMDAT -; _pkeys$ = esi -; _pcrc_32_tab$ = edi -; _c$ = eax - -; 50 : (*(pkeys+0)) = CRC32((*(pkeys+0)), c); - - 00000 8b 0e mov ecx, DWORD PTR [esi] - 00002 8b d1 mov edx, ecx - 00004 33 d0 xor edx, eax - 00006 c1 e9 08 shr ecx, 8 - 00009 81 e2 ff 00 00 - 00 and edx, 255 ; 000000ffH - 0000f 8b 14 97 mov edx, DWORD PTR [edi+edx*4] - 00012 33 d1 xor edx, ecx - -; 51 : (*(pkeys+1)) += (*(pkeys+0)) & 0xff; - - 00014 0f b6 ca movzx ecx, dl - -; 52 : (*(pkeys+1)) = (*(pkeys+1)) * 134775813L + 1; - - 00017 03 4e 04 add ecx, DWORD PTR [esi+4] - 0001a 89 16 mov DWORD PTR [esi], edx - -; 53 : { -; 54 : register int keyshift = (int)((*(pkeys+1)) >> 24); -; 55 : (*(pkeys+2)) = CRC32((*(pkeys+2)), keyshift); - - 0001c 8b 56 08 mov edx, DWORD PTR [esi+8] - 0001f 69 c9 05 84 08 - 08 imul ecx, 134775813 ; 08088405H - 00025 41 inc ecx - 00026 89 4e 04 mov DWORD PTR [esi+4], ecx - 00029 c1 e9 18 shr ecx, 24 ; 00000018H - 0002c 33 ca xor ecx, edx - 0002e 81 e1 ff 00 00 - 00 and ecx, 255 ; 000000ffH - 00034 c1 ea 08 shr edx, 8 - 00037 33 14 8f xor edx, DWORD PTR [edi+ecx*4] - 0003a 89 56 08 mov DWORD PTR [esi+8], edx - -; 56 : } -; 57 : return c; -; 58 : } - - 0003d c3 ret 0 -_update_keys ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _decrypt_byte -_TEXT SEGMENT -_decrypt_byte PROC ; COMDAT -; _pkeys$ = eax - -; 37 : unsigned temp; /* POTENTIAL BUG: temp*(temp^1) may overflow in an -; 38 : * unpredictable manner on 16-bit systems; not a problem -; 39 : * with any known compiler so far, though */ -; 40 : -; 41 : temp = ((unsigned)(*(pkeys+2)) & 0xffff) | 2; - - 00000 8b 48 08 mov ecx, DWORD PTR [eax+8] - 00003 81 e1 fd ff 00 - 00 and ecx, 65533 ; 0000fffdH - 00009 83 c9 02 or ecx, 2 - -; 42 : return (int)(((temp * (temp ^ 1)) >> 8) & 0xff); - - 0000c 8b c1 mov eax, ecx - 0000e 83 f0 01 xor eax, 1 - 00011 0f af c1 imul eax, ecx - 00014 c1 e8 08 shr eax, 8 - 00017 25 ff 00 00 00 and eax, 255 ; 000000ffH - -; 43 : } - - 0001c c3 ret 0 -_decrypt_byte ENDP -; Function compile flags: /Ogtp -; File c:\program files\microsoft visual studio 10.0\vc\include\time.inl -_TEXT ENDS -; COMDAT _time -_TEXT SEGMENT -_time PROC ; COMDAT - -; 133 : return _time64(_Time); - - 00000 6a 00 push 0 - 00002 e8 00 00 00 00 call __time64 - 00007 83 c4 04 add esp, 4 - -; 134 : } - - 0000a c3 ret 0 -_time ENDP -PUBLIC _Write_GlobalComment -; Function compile flags: /Ogtp -; File d:\fmu\fmusolution\zlib-1.2.6\contrib\minizip\zip.c -; COMDAT _Write_GlobalComment -_TEXT SEGMENT -_global_comment$ = 8 ; size = 4 -_Write_GlobalComment PROC ; COMDAT -; _zi$ = eax - -; 1865 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - 00004 56 push esi - 00005 57 push edi - 00006 8b f8 mov edi, eax - -; 1866 : int err = ZIP_OK; -; 1867 : uInt size_global_comment = 0; -; 1868 : -; 1869 : if(global_comment != NULL) - - 00008 8b 45 08 mov eax, DWORD PTR _global_comment$[ebp] - 0000b 33 db xor ebx, ebx - 0000d 85 c0 test eax, eax - 0000f 74 0e je SHORT $LN3@Write_Glob - -; 1870 : size_global_comment = (uInt)strlen(global_comment); - - 00011 8d 50 01 lea edx, DWORD PTR [eax+1] -$LL6@Write_Glob: - 00014 8a 08 mov cl, BYTE PTR [eax] - 00016 40 inc eax - 00017 84 c9 test cl, cl - 00019 75 f9 jne SHORT $LL6@Write_Glob - 0001b 2b c2 sub eax, edx - 0001d 8b d8 mov ebx, eax -$LN3@Write_Glob: - -; 1871 : -; 1872 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_global_comment,2); - - 0001f 8b 47 2c mov eax, DWORD PTR [edi+44] - 00022 6a 00 push 0 - 00024 53 push ebx - 00025 50 push eax - 00026 be 02 00 00 00 mov esi, 2 - 0002b e8 00 00 00 00 call _zip64local_putValue - 00030 8b f0 mov esi, eax - 00032 83 c4 0c add esp, 12 ; 0000000cH - -; 1873 : -; 1874 : if (err == ZIP_OK && size_global_comment > 0) - - 00035 85 f6 test esi, esi - 00037 75 25 jne SHORT $LN9@Write_Glob - 00039 85 db test ebx, ebx - 0003b 74 21 je SHORT $LN9@Write_Glob - -; 1875 : { -; 1876 : if (ZWRITE64(zi->z_filefunc,zi->filestream, global_comment, size_global_comment) != size_global_comment) - - 0003d 8b 4d 08 mov ecx, DWORD PTR _global_comment$[ebp] - 00040 8b 57 2c mov edx, DWORD PTR [edi+44] - 00043 8b 47 1c mov eax, DWORD PTR [edi+28] - 00046 53 push ebx - 00047 51 push ecx - 00048 8b 4f 08 mov ecx, DWORD PTR [edi+8] - 0004b 52 push edx - 0004c 50 push eax - 0004d ff d1 call ecx - 0004f 83 c4 10 add esp, 16 ; 00000010H - 00052 3b c3 cmp eax, ebx - 00054 74 08 je SHORT $LN9@Write_Glob - -; 1877 : err = ZIP_ERRNO; - - 00056 83 c8 ff or eax, -1 - -; 1878 : } -; 1879 : return err; -; 1880 : } - - 00059 5f pop edi - 0005a 5e pop esi - 0005b 5b pop ebx - 0005c 5d pop ebp - 0005d c3 ret 0 -$LN9@Write_Glob: - 0005e 5f pop edi - 0005f 8b c6 mov eax, esi - 00061 5e pop esi - 00062 5b pop ebx - 00063 5d pop ebp - 00064 c3 ret 0 -_Write_GlobalComment ENDP -_TEXT ENDS -PUBLIC _Write_EndOfCentralDirectoryRecord -; Function compile flags: /Ogtp -; COMDAT _Write_EndOfCentralDirectoryRecord -_TEXT SEGMENT -tv145 = -8 ; size = 8 -_size_centraldir$ = 8 ; size = 4 -_centraldir_pos_inzip$ = 12 ; size = 8 -_Write_EndOfCentralDirectoryRecord PROC ; COMDAT -; _zi$ = eax - -; 1817 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 08 sub esp, 8 - 00006 56 push esi - 00007 57 push edi - 00008 8b f8 mov edi, eax - -; 1818 : int err = ZIP_OK; -; 1819 : -; 1820 : /*signature*/ -; 1821 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ENDHEADERMAGIC,4); - - 0000a 8b 47 2c mov eax, DWORD PTR [edi+44] - 0000d 6a 00 push 0 - 0000f 68 50 4b 05 06 push 101010256 ; 06054b50H - 00014 50 push eax - 00015 be 04 00 00 00 mov esi, 4 - 0001a e8 00 00 00 00 call _zip64local_putValue - 0001f 83 c4 0c add esp, 12 ; 0000000cH - -; 1822 : -; 1823 : if (err==ZIP_OK) /* number of this disk */ - - 00022 85 c0 test eax, eax - 00024 0f 85 0f 01 00 - 00 jne $LN1@Write_EndO - -; 1824 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,2); - - 0002a 8b 4f 2c mov ecx, DWORD PTR [edi+44] - 0002d 50 push eax - 0002e 50 push eax - 0002f 51 push ecx - 00030 8d 70 02 lea esi, DWORD PTR [eax+2] - 00033 e8 00 00 00 00 call _zip64local_putValue - 00038 83 c4 0c add esp, 12 ; 0000000cH - -; 1825 : -; 1826 : if (err==ZIP_OK) /* number of the disk with the start of the central directory */ - - 0003b 85 c0 test eax, eax - 0003d 0f 85 f6 00 00 - 00 jne $LN1@Write_EndO - -; 1827 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,2); - - 00043 8b 57 2c mov edx, DWORD PTR [edi+44] - 00046 50 push eax - 00047 50 push eax - 00048 52 push edx - 00049 e8 00 00 00 00 call _zip64local_putValue - 0004e 83 c4 0c add esp, 12 ; 0000000cH - -; 1828 : -; 1829 : if (err==ZIP_OK) /* total number of entries in the central dir on this disk */ - - 00051 85 c0 test eax, eax - 00053 0f 85 e0 00 00 - 00 jne $LN1@Write_EndO - -; 1830 : { -; 1831 : { -; 1832 : if(zi->number_entry >= 0xFFFF) - - 00059 39 87 fc 00 01 - 00 cmp DWORD PTR [edi+65788], eax - 0005f 77 0c ja SHORT $LN15@Write_EndO - 00061 81 bf f8 00 01 - 00 ff ff 00 00 cmp DWORD PTR [edi+65784], 65535 ; 0000ffffH - 0006b 72 0d jb SHORT $LN9@Write_EndO -$LN15@Write_EndO: - -; 1833 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xffff,2); // use value in ZIP64 record - - 0006d 8b 47 2c mov eax, DWORD PTR [edi+44] - 00070 6a 00 push 0 - 00072 68 ff ff 00 00 push 65535 ; 0000ffffH - 00077 50 push eax - -; 1834 : else - - 00078 eb 0d jmp SHORT $LN24@Write_EndO -$LN9@Write_EndO: - -; 1835 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->number_entry,2); - - 0007a 8b 8f f8 00 01 - 00 mov ecx, DWORD PTR [edi+65784] - 00080 8b 57 2c mov edx, DWORD PTR [edi+44] - 00083 6a 00 push 0 - 00085 51 push ecx - 00086 52 push edx -$LN24@Write_EndO: - 00087 e8 00 00 00 00 call _zip64local_putValue - 0008c 83 c4 0c add esp, 12 ; 0000000cH - -; 1836 : } -; 1837 : } -; 1838 : -; 1839 : if (err==ZIP_OK) /* total number of entries in the central dir */ - - 0008f 85 c0 test eax, eax - 00091 0f 85 a2 00 00 - 00 jne $LN1@Write_EndO - -; 1840 : { -; 1841 : if(zi->number_entry >= 0xFFFF) - - 00097 39 87 fc 00 01 - 00 cmp DWORD PTR [edi+65788], eax - 0009d 77 0c ja SHORT $LN16@Write_EndO - 0009f 81 bf f8 00 01 - 00 ff ff 00 00 cmp DWORD PTR [edi+65784], 65535 ; 0000ffffH - 000a9 72 0d jb SHORT $LN6@Write_EndO -$LN16@Write_EndO: - -; 1842 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xffff,2); // use value in ZIP64 record - - 000ab 8b 47 2c mov eax, DWORD PTR [edi+44] - 000ae 6a 00 push 0 - 000b0 68 ff ff 00 00 push 65535 ; 0000ffffH - 000b5 50 push eax - -; 1843 : else - - 000b6 eb 0d jmp SHORT $LN25@Write_EndO -$LN6@Write_EndO: - -; 1844 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->number_entry,2); - - 000b8 8b 8f f8 00 01 - 00 mov ecx, DWORD PTR [edi+65784] - 000be 8b 57 2c mov edx, DWORD PTR [edi+44] - 000c1 6a 00 push 0 - 000c3 51 push ecx - 000c4 52 push edx -$LN25@Write_EndO: - 000c5 be 02 00 00 00 mov esi, 2 - 000ca e8 00 00 00 00 call _zip64local_putValue - 000cf 83 c4 0c add esp, 12 ; 0000000cH - -; 1845 : } -; 1846 : -; 1847 : if (err==ZIP_OK) /* size of the central directory */ - - 000d2 85 c0 test eax, eax - 000d4 75 63 jne SHORT $LN1@Write_EndO - -; 1848 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_centraldir,4); - - 000d6 8b 4f 2c mov ecx, DWORD PTR [edi+44] - 000d9 50 push eax - 000da 8b 45 08 mov eax, DWORD PTR _size_centraldir$[ebp] - 000dd 50 push eax - 000de 51 push ecx - 000df be 04 00 00 00 mov esi, 4 - 000e4 e8 00 00 00 00 call _zip64local_putValue - 000e9 83 c4 0c add esp, 12 ; 0000000cH - -; 1849 : -; 1850 : if (err==ZIP_OK) /* offset of start of central directory with respect to the starting disk number */ - - 000ec 85 c0 test eax, eax - 000ee 75 49 jne SHORT $LN1@Write_EndO - -; 1851 : { -; 1852 : ZPOS64_T pos = centraldir_pos_inzip - zi->add_position_when_writting_offset; - - 000f0 8b 45 0c mov eax, DWORD PTR _centraldir_pos_inzip$[ebp] - 000f3 8b 55 10 mov edx, DWORD PTR _centraldir_pos_inzip$[ebp+4] - 000f6 8b c8 mov ecx, eax - 000f8 2b 8f f0 00 01 - 00 sub ecx, DWORD PTR [edi+65776] - 000fe 1b 97 f4 00 01 - 00 sbb edx, DWORD PTR [edi+65780] - -; 1853 : if(pos >= 0xffffffff) - - 00104 89 55 fc mov DWORD PTR tv145[ebp+4], edx - 00107 75 05 jne SHORT $LN17@Write_EndO - 00109 83 f9 ff cmp ecx, -1 - 0010c 72 16 jb SHORT $LN2@Write_EndO -$LN17@Write_EndO: - -; 1854 : { -; 1855 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (uLong)0xffffffff,4); - - 0010e 8b 47 2c mov eax, DWORD PTR [edi+44] - 00111 6a 00 push 0 - 00113 6a ff push -1 - 00115 50 push eax - -; 1856 : } -; 1857 : else -; 1858 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (uLong)(centraldir_pos_inzip - zi->add_position_when_writting_offset),4); - - 00116 e8 00 00 00 00 call _zip64local_putValue - 0011b 83 c4 0c add esp, 12 ; 0000000cH - -; 1859 : } -; 1860 : -; 1861 : return err; -; 1862 : } - - 0011e 5f pop edi - 0011f 5e pop esi - 00120 8b e5 mov esp, ebp - 00122 5d pop ebp - 00123 c3 ret 0 -$LN2@Write_EndO: - -; 1856 : } -; 1857 : else -; 1858 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (uLong)(centraldir_pos_inzip - zi->add_position_when_writting_offset),4); - - 00124 2b 87 f0 00 01 - 00 sub eax, DWORD PTR [edi+65776] - 0012a 8b 4f 2c mov ecx, DWORD PTR [edi+44] - 0012d 6a 00 push 0 - 0012f 50 push eax - 00130 51 push ecx - 00131 e8 00 00 00 00 call _zip64local_putValue - 00136 83 c4 0c add esp, 12 ; 0000000cH -$LN1@Write_EndO: - -; 1859 : } -; 1860 : -; 1861 : return err; -; 1862 : } - - 00139 5f pop edi - 0013a 5e pop esi - 0013b 8b e5 mov esp, ebp - 0013d 5d pop ebp - 0013e c3 ret 0 -_Write_EndOfCentralDirectoryRecord ENDP -_TEXT ENDS -PUBLIC _Write_Zip64EndOfCentralDirectoryRecord -; Function compile flags: /Ogtp -; COMDAT _Write_Zip64EndOfCentralDirectoryRecord -_TEXT SEGMENT -_size_centraldir$ = 8 ; size = 4 -_centraldir_pos_inzip$ = 12 ; size = 8 -_Write_Zip64EndOfCentralDirectoryRecord PROC ; COMDAT -; _zi$ = eax - -; 1778 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 56 push esi - 00004 57 push edi - 00005 8b f8 mov edi, eax - -; 1779 : int err = ZIP_OK; -; 1780 : -; 1781 : uLong Zip64DataSize = 44; -; 1782 : -; 1783 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ZIP64ENDHEADERMAGIC,4); - - 00007 8b 47 2c mov eax, DWORD PTR [edi+44] - 0000a 6a 00 push 0 - 0000c 68 50 4b 06 06 push 101075792 ; 06064b50H - 00011 50 push eax - 00012 be 04 00 00 00 mov esi, 4 - 00017 e8 00 00 00 00 call _zip64local_putValue - 0001c 83 c4 0c add esp, 12 ; 0000000cH - -; 1784 : -; 1785 : if (err==ZIP_OK) /* size of this 'zip64 end of central directory' */ - - 0001f 85 c0 test eax, eax - 00021 0f 85 ec 00 00 - 00 jne $LN1@Write_Zip6 - -; 1786 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(ZPOS64_T)Zip64DataSize,8); // why ZPOS64_T of this ? - - 00027 8b 4f 2c mov ecx, DWORD PTR [edi+44] - 0002a 50 push eax - 0002b 6a 2c push 44 ; 0000002cH - 0002d 51 push ecx - 0002e 8d 70 08 lea esi, DWORD PTR [eax+8] - 00031 e8 00 00 00 00 call _zip64local_putValue - 00036 83 c4 0c add esp, 12 ; 0000000cH - -; 1787 : -; 1788 : if (err==ZIP_OK) /* version made by */ - - 00039 85 c0 test eax, eax - 0003b 0f 85 d2 00 00 - 00 jne $LN1@Write_Zip6 - -; 1789 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2); - - 00041 8b 57 2c mov edx, DWORD PTR [edi+44] - 00044 50 push eax - 00045 6a 2d push 45 ; 0000002dH - 00047 52 push edx - 00048 8d 70 02 lea esi, DWORD PTR [eax+2] - 0004b e8 00 00 00 00 call _zip64local_putValue - 00050 83 c4 0c add esp, 12 ; 0000000cH - -; 1790 : -; 1791 : if (err==ZIP_OK) /* version needed */ - - 00053 85 c0 test eax, eax - 00055 0f 85 b8 00 00 - 00 jne $LN1@Write_Zip6 - -; 1792 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2); - - 0005b 50 push eax - 0005c 8b 47 2c mov eax, DWORD PTR [edi+44] - 0005f 6a 2d push 45 ; 0000002dH - 00061 50 push eax - 00062 e8 00 00 00 00 call _zip64local_putValue - 00067 83 c4 0c add esp, 12 ; 0000000cH - -; 1793 : -; 1794 : if (err==ZIP_OK) /* number of this disk */ - - 0006a 85 c0 test eax, eax - 0006c 0f 85 a1 00 00 - 00 jne $LN1@Write_Zip6 - -; 1795 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); - - 00072 8b 4f 2c mov ecx, DWORD PTR [edi+44] - 00075 50 push eax - 00076 50 push eax - 00077 51 push ecx - 00078 8d 70 04 lea esi, DWORD PTR [eax+4] - 0007b e8 00 00 00 00 call _zip64local_putValue - 00080 83 c4 0c add esp, 12 ; 0000000cH - -; 1796 : -; 1797 : if (err==ZIP_OK) /* number of the disk with the start of the central directory */ - - 00083 85 c0 test eax, eax - 00085 0f 85 88 00 00 - 00 jne $LN1@Write_Zip6 - -; 1798 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); - - 0008b 8b 57 2c mov edx, DWORD PTR [edi+44] - 0008e 50 push eax - 0008f 50 push eax - 00090 52 push edx - 00091 e8 00 00 00 00 call _zip64local_putValue - 00096 83 c4 0c add esp, 12 ; 0000000cH - -; 1799 : -; 1800 : if (err==ZIP_OK) /* total number of entries in the central dir on this disk */ - - 00099 85 c0 test eax, eax - 0009b 75 76 jne SHORT $LN1@Write_Zip6 - -; 1801 : err = zip64local_putValue(&zi->z_filefunc, zi->filestream, zi->number_entry, 8); - - 0009d 8b 87 fc 00 01 - 00 mov eax, DWORD PTR [edi+65788] - 000a3 8b 8f f8 00 01 - 00 mov ecx, DWORD PTR [edi+65784] - 000a9 8b 57 2c mov edx, DWORD PTR [edi+44] - 000ac 50 push eax - 000ad 51 push ecx - 000ae 52 push edx - 000af be 08 00 00 00 mov esi, 8 - 000b4 e8 00 00 00 00 call _zip64local_putValue - 000b9 83 c4 0c add esp, 12 ; 0000000cH - -; 1802 : -; 1803 : if (err==ZIP_OK) /* total number of entries in the central dir */ - - 000bc 85 c0 test eax, eax - 000be 75 53 jne SHORT $LN1@Write_Zip6 - -; 1804 : err = zip64local_putValue(&zi->z_filefunc, zi->filestream, zi->number_entry, 8); - - 000c0 8b 87 fc 00 01 - 00 mov eax, DWORD PTR [edi+65788] - 000c6 8b 8f f8 00 01 - 00 mov ecx, DWORD PTR [edi+65784] - 000cc 8b 57 2c mov edx, DWORD PTR [edi+44] - 000cf 50 push eax - 000d0 51 push ecx - 000d1 52 push edx - 000d2 e8 00 00 00 00 call _zip64local_putValue - 000d7 83 c4 0c add esp, 12 ; 0000000cH - -; 1805 : -; 1806 : if (err==ZIP_OK) /* size of the central directory */ - - 000da 85 c0 test eax, eax - 000dc 75 35 jne SHORT $LN1@Write_Zip6 - -; 1807 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(ZPOS64_T)size_centraldir,8); - - 000de 8b 4f 2c mov ecx, DWORD PTR [edi+44] - 000e1 50 push eax - 000e2 8b 45 08 mov eax, DWORD PTR _size_centraldir$[ebp] - 000e5 50 push eax - 000e6 51 push ecx - 000e7 e8 00 00 00 00 call _zip64local_putValue - 000ec 83 c4 0c add esp, 12 ; 0000000cH - -; 1808 : -; 1809 : if (err==ZIP_OK) /* offset of start of central directory with respect to the starting disk number */ - - 000ef 85 c0 test eax, eax - 000f1 75 20 jne SHORT $LN1@Write_Zip6 - -; 1810 : { -; 1811 : ZPOS64_T pos = centraldir_pos_inzip - zi->add_position_when_writting_offset; - - 000f3 8b 45 0c mov eax, DWORD PTR _centraldir_pos_inzip$[ebp] - 000f6 2b 87 f0 00 01 - 00 sub eax, DWORD PTR [edi+65776] - 000fc 8b 4d 10 mov ecx, DWORD PTR _centraldir_pos_inzip$[ebp+4] - 000ff 1b 8f f4 00 01 - 00 sbb ecx, DWORD PTR [edi+65780] - -; 1812 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream, (ZPOS64_T)pos,8); - - 00105 8b 57 2c mov edx, DWORD PTR [edi+44] - 00108 51 push ecx - 00109 50 push eax - 0010a 52 push edx - 0010b e8 00 00 00 00 call _zip64local_putValue - 00110 83 c4 0c add esp, 12 ; 0000000cH -$LN1@Write_Zip6: - -; 1813 : } -; 1814 : return err; -; 1815 : } - - 00113 5f pop edi - 00114 5e pop esi - 00115 5d pop ebp - 00116 c3 ret 0 -_Write_Zip64EndOfCentralDirectoryRecord ENDP -_TEXT ENDS -PUBLIC _Write_Zip64EndOfCentralDirectoryLocator -; Function compile flags: /Ogtp -; COMDAT _Write_Zip64EndOfCentralDirectoryLocator -_TEXT SEGMENT -_pos$ = 8 ; size = 8 -_zip64eocd_pos_inzip$ = 8 ; size = 8 -_Write_Zip64EndOfCentralDirectoryLocator PROC ; COMDAT -; _zi$ = eax - -; 1756 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 53 push ebx - -; 1757 : int err = ZIP_OK; -; 1758 : ZPOS64_T pos = zip64eocd_pos_inzip - zi->add_position_when_writting_offset; - - 00004 8b 5d 08 mov ebx, DWORD PTR _zip64eocd_pos_inzip$[ebp] - 00007 56 push esi - 00008 57 push edi - 00009 8b f8 mov edi, eax - 0000b 2b 9f f0 00 01 - 00 sub ebx, DWORD PTR [edi+65776] - 00011 8b 45 0c mov eax, DWORD PTR _zip64eocd_pos_inzip$[ebp+4] - 00014 1b 87 f4 00 01 - 00 sbb eax, DWORD PTR [edi+65780] - -; 1759 : -; 1760 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)ZIP64ENDLOCHEADERMAGIC,4); - - 0001a 6a 00 push 0 - 0001c 89 45 0c mov DWORD PTR _pos$[ebp+4], eax - 0001f 8b 47 2c mov eax, DWORD PTR [edi+44] - 00022 68 50 4b 06 07 push 117853008 ; 07064b50H - 00027 50 push eax - 00028 be 04 00 00 00 mov esi, 4 - 0002d e8 00 00 00 00 call _zip64local_putValue - 00032 83 c4 0c add esp, 12 ; 0000000cH - -; 1761 : -; 1762 : /*num disks*/ -; 1763 : if (err==ZIP_OK) /* number of the disk with the start of the central directory */ - - 00035 85 c0 test eax, eax - 00037 75 3e jne SHORT $LN1@Write_Zip6@2 - -; 1764 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); - - 00039 8b 4f 2c mov ecx, DWORD PTR [edi+44] - 0003c 50 push eax - 0003d 50 push eax - 0003e 51 push ecx - 0003f e8 00 00 00 00 call _zip64local_putValue - 00044 83 c4 0c add esp, 12 ; 0000000cH - -; 1765 : -; 1766 : /*relative offset*/ -; 1767 : if (err==ZIP_OK) /* Relative offset to the Zip64EndOfCentralDirectory */ - - 00047 85 c0 test eax, eax - 00049 75 2c jne SHORT $LN1@Write_Zip6@2 - -; 1768 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream, pos,8); - - 0004b 8b 55 0c mov edx, DWORD PTR _pos$[ebp+4] - 0004e 8b 47 2c mov eax, DWORD PTR [edi+44] - 00051 52 push edx - 00052 53 push ebx - 00053 50 push eax - 00054 be 08 00 00 00 mov esi, 8 - 00059 e8 00 00 00 00 call _zip64local_putValue - 0005e 83 c4 0c add esp, 12 ; 0000000cH - -; 1769 : -; 1770 : /*total disks*/ /* Do not support spawning of disk so always say 1 here*/ -; 1771 : if (err==ZIP_OK) /* number of the disk with the start of the central directory */ - - 00061 85 c0 test eax, eax - 00063 75 12 jne SHORT $LN1@Write_Zip6@2 - -; 1772 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)1,4); - - 00065 8b 4f 2c mov ecx, DWORD PTR [edi+44] - 00068 50 push eax - 00069 6a 01 push 1 - 0006b 51 push ecx - 0006c 8d 70 04 lea esi, DWORD PTR [eax+4] - 0006f e8 00 00 00 00 call _zip64local_putValue - 00074 83 c4 0c add esp, 12 ; 0000000cH -$LN1@Write_Zip6@2: - -; 1773 : -; 1774 : return err; -; 1775 : } - - 00077 5f pop edi - 00078 5e pop esi - 00079 5b pop ebx - 0007a 5d pop ebp - 0007b c3 ret 0 -_Write_Zip64EndOfCentralDirectoryLocator ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _zip64FlushWriteBuffer -_TEXT SEGMENT -tv232 = -16 ; size = 4 -_t$83443 = -12 ; size = 4 -_err$ = -8 ; size = 4 -tv222 = -4 ; size = 4 -_zip64FlushWriteBuffer PROC ; COMDAT -; _zi$ = ebx - -; 1364 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 10 sub esp, 16 ; 00000010H - 00006 56 push esi - 00007 57 push edi - -; 1365 : int err=ZIP_OK; - - 00008 33 ff xor edi, edi - 0000a 89 7d f8 mov DWORD PTR _err$[ebp], edi - -; 1366 : -; 1367 : if (zi->ci.encrypt != 0) - - 0000d 39 bb ac 00 01 - 00 cmp DWORD PTR [ebx+65708], edi - 00013 74 51 je SHORT $LN2@zip64Flush - -; 1368 : { -; 1369 : #ifndef NOCRYPT -; 1370 : uInt i; -; 1371 : int t; -; 1372 : for (i=0;ici.pos_in_buffered_data;i++) - - 00015 39 7b 7c cmp DWORD PTR [ebx+124], edi - 00018 76 4c jbe SHORT $LN2@zip64Flush - 0001a 8d 83 a4 00 00 - 00 lea eax, DWORD PTR [ebx+164] - 00020 89 45 fc mov DWORD PTR tv222[ebp], eax - 00023 b8 5c ff ff ff mov eax, -164 ; ffffff5cH - 00028 2b c3 sub eax, ebx - 0002a 8d b3 d0 00 01 - 00 lea esi, DWORD PTR [ebx+65744] - 00030 89 45 f0 mov DWORD PTR tv232[ebp], eax -$LL10@zip64Flush: - -; 1373 : zi->ci.buffered_data[i] = zencode(zi->ci.keys, zi->ci.pcrc_32_tab, zi->ci.buffered_data[i],t); - - 00033 8b c6 mov eax, esi - 00035 e8 00 00 00 00 call _decrypt_byte - 0003a 8b 4d fc mov ecx, DWORD PTR tv222[ebp] - 0003d 8b bb dc 00 01 - 00 mov edi, DWORD PTR [ebx+65756] - 00043 89 45 f4 mov DWORD PTR _t$83443[ebp], eax - 00046 0f b6 01 movzx eax, BYTE PTR [ecx] - 00049 e8 00 00 00 00 call _update_keys - 0004e 8b 45 fc mov eax, DWORD PTR tv222[ebp] - 00051 8a 55 f4 mov dl, BYTE PTR _t$83443[ebp] - 00054 30 10 xor BYTE PTR [eax], dl - 00056 8b 4d f0 mov ecx, DWORD PTR tv232[ebp] - 00059 40 inc eax - 0005a 03 c8 add ecx, eax - 0005c 89 45 fc mov DWORD PTR tv222[ebp], eax - 0005f 3b 4b 7c cmp ecx, DWORD PTR [ebx+124] - 00062 72 cf jb SHORT $LL10@zip64Flush - -; 1368 : { -; 1369 : #ifndef NOCRYPT -; 1370 : uInt i; -; 1371 : int t; -; 1372 : for (i=0;ici.pos_in_buffered_data;i++) - - 00064 33 ff xor edi, edi -$LN2@zip64Flush: - -; 1374 : #endif -; 1375 : } -; 1376 : -; 1377 : if (ZWRITE64(zi->z_filefunc,zi->filestream,zi->ci.buffered_data,zi->ci.pos_in_buffered_data) != zi->ci.pos_in_buffered_data) - - 00066 8b 73 7c mov esi, DWORD PTR [ebx+124] - 00069 8b 4b 2c mov ecx, DWORD PTR [ebx+44] - 0006c 8b 53 1c mov edx, DWORD PTR [ebx+28] - 0006f 56 push esi - 00070 8d 83 a4 00 00 - 00 lea eax, DWORD PTR [ebx+164] - 00076 50 push eax - 00077 8b 43 08 mov eax, DWORD PTR [ebx+8] - 0007a 51 push ecx - 0007b 52 push edx - 0007c ff d0 call eax - 0007e 83 c4 10 add esp, 16 ; 00000010H - 00081 3b c6 cmp eax, esi - 00083 74 07 je SHORT $LN1@zip64Flush - -; 1378 : err = ZIP_ERRNO; - - 00085 c7 45 f8 ff ff - ff ff mov DWORD PTR _err$[ebp], -1 -$LN1@zip64Flush: - -; 1379 : -; 1380 : zi->ci.totalCompressedData += zi->ci.pos_in_buffered_data; - - 0008c 01 b3 c0 00 01 - 00 add DWORD PTR [ebx+65728], esi - -; 1381 : -; 1382 : #ifdef HAVE_BZIP2 -; 1383 : if(zi->ci.method == Z_BZIP2ED) -; 1384 : { -; 1385 : zi->ci.totalUncompressedData += zi->ci.bstream.total_in_lo32; -; 1386 : zi->ci.bstream.total_in_lo32 = 0; -; 1387 : zi->ci.bstream.total_in_hi32 = 0; -; 1388 : } -; 1389 : else -; 1390 : #endif -; 1391 : { -; 1392 : zi->ci.totalUncompressedData += zi->ci.stream.total_in; - - 00092 8b 4b 48 mov ecx, DWORD PTR [ebx+72] - -; 1393 : zi->ci.stream.total_in = 0; -; 1394 : } -; 1395 : -; 1396 : -; 1397 : zi->ci.pos_in_buffered_data = 0; -; 1398 : -; 1399 : return err; - - 00095 8b 45 f8 mov eax, DWORD PTR _err$[ebp] - 00098 11 bb c4 00 01 - 00 adc DWORD PTR [ebx+65732], edi - 0009e 01 8b c8 00 01 - 00 add DWORD PTR [ebx+65736], ecx - 000a4 89 7b 48 mov DWORD PTR [ebx+72], edi - 000a7 89 7b 7c mov DWORD PTR [ebx+124], edi - 000aa 11 bb cc 00 01 - 00 adc DWORD PTR [ebx+65740], edi - 000b0 5f pop edi - 000b1 5e pop esi - -; 1400 : } - - 000b2 8b e5 mov esp, ebp - 000b4 5d pop ebp - 000b5 c3 ret 0 -_zip64FlushWriteBuffer ENDP -_TEXT ENDS -PUBLIC _Write_LocalFileHeader -; Function compile flags: /Ogtp -; COMDAT _Write_LocalFileHeader -_TEXT SEGMENT -_size_extrafield$ = -4 ; size = 4 -_filename$ = 8 ; size = 4 -_size_extrafield_local$ = 12 ; size = 4 -_extrafield_local$ = 16 ; size = 4 -_Write_LocalFileHeader PROC ; COMDAT -; _zi$ = eax - -; 959 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - 00005 56 push esi - 00006 57 push edi - 00007 8b f8 mov edi, eax - -; 960 : /* write the local header */ -; 961 : int err; -; 962 : uInt size_filename = (uInt)strlen(filename); - - 00009 8b 45 08 mov eax, DWORD PTR _filename$[ebp] - 0000c 8d 48 01 lea ecx, DWORD PTR [eax+1] - 0000f 90 npad 1 -$LL26@Write_Loca: - 00010 8a 10 mov dl, BYTE PTR [eax] - 00012 40 inc eax - 00013 84 d2 test dl, dl - 00015 75 f9 jne SHORT $LL26@Write_Loca - 00017 2b c1 sub eax, ecx - -; 963 : uInt size_extrafield = size_extrafield_local; -; 964 : -; 965 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)LOCALHEADERMAGIC, 4); - - 00019 8b 4f 2c mov ecx, DWORD PTR [edi+44] - 0001c 6a 00 push 0 - 0001e 8b d8 mov ebx, eax - 00020 8b 45 0c mov eax, DWORD PTR _size_extrafield_local$[ebp] - 00023 68 50 4b 03 04 push 67324752 ; 04034b50H - 00028 51 push ecx - 00029 be 04 00 00 00 mov esi, 4 - 0002e 89 45 fc mov DWORD PTR _size_extrafield$[ebp], eax - 00031 e8 00 00 00 00 call _zip64local_putValue - 00036 83 c4 0c add esp, 12 ; 0000000cH - -; 966 : -; 967 : if (err==ZIP_OK) - - 00039 85 c0 test eax, eax - 0003b 0f 85 f1 00 00 - 00 jne $LN8@Write_Loca - -; 968 : { -; 969 : if(zi->ci.zip64) -; 970 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)45,2);/* version needed to extract */ - - 00041 50 push eax - 00042 8d 70 02 lea esi, DWORD PTR [eax+2] - 00045 39 87 b0 00 01 - 00 cmp DWORD PTR [edi+65712], eax - 0004b 74 08 je SHORT $LN20@Write_Loca - 0004d 8b 57 2c mov edx, DWORD PTR [edi+44] - 00050 6a 2d push 45 ; 0000002dH - 00052 52 push edx - -; 971 : else - - 00053 eb 06 jmp SHORT $LN34@Write_Loca -$LN20@Write_Loca: - -; 972 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)20,2);/* version needed to extract */ - - 00055 8b 47 2c mov eax, DWORD PTR [edi+44] - 00058 6a 14 push 20 ; 00000014H - 0005a 50 push eax -$LN34@Write_Loca: - 0005b e8 00 00 00 00 call _zip64local_putValue - 00060 83 c4 0c add esp, 12 ; 0000000cH - -; 973 : } -; 974 : -; 975 : if (err==ZIP_OK) - - 00063 85 c0 test eax, eax - 00065 0f 85 c7 00 00 - 00 jne $LN8@Write_Loca - -; 976 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.flag,2); - - 0006b 8b 8f 98 00 00 - 00 mov ecx, DWORD PTR [edi+152] - 00071 8b 57 2c mov edx, DWORD PTR [edi+44] - 00074 50 push eax - 00075 51 push ecx - 00076 52 push edx - 00077 8d 70 02 lea esi, DWORD PTR [eax+2] - 0007a e8 00 00 00 00 call _zip64local_putValue - 0007f 83 c4 0c add esp, 12 ; 0000000cH - -; 977 : -; 978 : if (err==ZIP_OK) - - 00082 85 c0 test eax, eax - 00084 0f 85 a8 00 00 - 00 jne $LN8@Write_Loca - -; 979 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.method,2); - - 0008a 8b 87 9c 00 00 - 00 mov eax, DWORD PTR [edi+156] - 00090 8b 4f 2c mov ecx, DWORD PTR [edi+44] - 00093 6a 00 push 0 - 00095 50 push eax - 00096 51 push ecx - 00097 e8 00 00 00 00 call _zip64local_putValue - 0009c 83 c4 0c add esp, 12 ; 0000000cH - -; 980 : -; 981 : if (err==ZIP_OK) - - 0009f 85 c0 test eax, eax - 000a1 0f 85 8b 00 00 - 00 jne $LN8@Write_Loca - -; 982 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.dosDate,4); - - 000a7 8b 97 a4 00 01 - 00 mov edx, DWORD PTR [edi+65700] - 000ad 50 push eax - 000ae 8b 47 2c mov eax, DWORD PTR [edi+44] - 000b1 52 push edx - 000b2 50 push eax - 000b3 be 04 00 00 00 mov esi, 4 - 000b8 e8 00 00 00 00 call _zip64local_putValue - 000bd 83 c4 0c add esp, 12 ; 0000000cH - -; 983 : -; 984 : // CRC / Compressed size / Uncompressed size will be filled in later and rewritten later -; 985 : if (err==ZIP_OK) - - 000c0 85 c0 test eax, eax - 000c2 75 6e jne SHORT $LN8@Write_Loca - -; 986 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* crc 32, unknown */ - - 000c4 8b 4f 2c mov ecx, DWORD PTR [edi+44] - 000c7 50 push eax - 000c8 50 push eax - 000c9 51 push ecx - 000ca e8 00 00 00 00 call _zip64local_putValue - 000cf 83 c4 0c add esp, 12 ; 0000000cH - -; 987 : if (err==ZIP_OK) - - 000d2 85 c0 test eax, eax - 000d4 75 5c jne SHORT $LN8@Write_Loca - -; 988 : { -; 989 : if(zi->ci.zip64) -; 990 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xFFFFFFFF,4); /* compressed size, unknown */ - - 000d6 50 push eax - 000d7 39 87 b0 00 01 - 00 cmp DWORD PTR [edi+65712], eax - 000dd 74 08 je SHORT $LN13@Write_Loca - 000df 8b 57 2c mov edx, DWORD PTR [edi+44] - 000e2 6a ff push -1 - 000e4 52 push edx - -; 991 : else - - 000e5 eb 06 jmp SHORT $LN35@Write_Loca -$LN13@Write_Loca: - -; 992 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* compressed size, unknown */ - - 000e7 8b 47 2c mov eax, DWORD PTR [edi+44] - 000ea 6a 00 push 0 - 000ec 50 push eax -$LN35@Write_Loca: - 000ed e8 00 00 00 00 call _zip64local_putValue - 000f2 83 c4 0c add esp, 12 ; 0000000cH - -; 993 : } -; 994 : if (err==ZIP_OK) - - 000f5 85 c0 test eax, eax - 000f7 75 39 jne SHORT $LN8@Write_Loca - -; 995 : { -; 996 : if(zi->ci.zip64) -; 997 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0xFFFFFFFF,4); /* uncompressed size, unknown */ - - 000f9 50 push eax - 000fa 8d 70 04 lea esi, DWORD PTR [eax+4] - 000fd 39 87 b0 00 01 - 00 cmp DWORD PTR [edi+65712], eax - 00103 74 08 je SHORT $LN10@Write_Loca - 00105 8b 4f 2c mov ecx, DWORD PTR [edi+44] - 00108 6a ff push -1 - 0010a 51 push ecx - -; 998 : else - - 0010b eb 06 jmp SHORT $LN36@Write_Loca -$LN10@Write_Loca: - -; 999 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* uncompressed size, unknown */ - - 0010d 8b 57 2c mov edx, DWORD PTR [edi+44] - 00110 6a 00 push 0 - 00112 52 push edx -$LN36@Write_Loca: - 00113 e8 00 00 00 00 call _zip64local_putValue - 00118 83 c4 0c add esp, 12 ; 0000000cH - -; 1000 : } -; 1001 : -; 1002 : if (err==ZIP_OK) - - 0011b 85 c0 test eax, eax - 0011d 75 13 jne SHORT $LN8@Write_Loca - -; 1003 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_filename,2); - - 0011f 50 push eax - 00120 8b 47 2c mov eax, DWORD PTR [edi+44] - 00123 53 push ebx - 00124 50 push eax - 00125 be 02 00 00 00 mov esi, 2 - 0012a e8 00 00 00 00 call _zip64local_putValue - 0012f 83 c4 0c add esp, 12 ; 0000000cH -$LN8@Write_Loca: - -; 1004 : -; 1005 : if(zi->ci.zip64) - - 00132 83 bf b0 00 01 - 00 00 cmp DWORD PTR [edi+65712], 0 - 00139 74 08 je SHORT $LN31@Write_Loca - -; 1006 : { -; 1007 : size_extrafield += 20; - - 0013b 8b 4d 0c mov ecx, DWORD PTR _size_extrafield_local$[ebp] - 0013e 83 c1 14 add ecx, 20 ; 00000014H - 00141 eb 03 jmp SHORT $LN7@Write_Loca -$LN31@Write_Loca: - 00143 8b 4d fc mov ecx, DWORD PTR _size_extrafield$[ebp] -$LN7@Write_Loca: - -; 1008 : } -; 1009 : -; 1010 : if (err==ZIP_OK) - - 00146 85 c0 test eax, eax - 00148 0f 85 cb 00 00 - 00 jne $LN1@Write_Loca - -; 1011 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_extrafield,2); - - 0014e 50 push eax - 0014f 51 push ecx - 00150 8b 4f 2c mov ecx, DWORD PTR [edi+44] - 00153 51 push ecx - 00154 8d 70 02 lea esi, DWORD PTR [eax+2] - 00157 e8 00 00 00 00 call _zip64local_putValue - 0015c 8b f0 mov esi, eax - 0015e 83 c4 0c add esp, 12 ; 0000000cH - -; 1012 : -; 1013 : if ((err==ZIP_OK) && (size_filename > 0)) - - 00161 85 f6 test esi, esi - 00163 0f 85 ae 00 00 - 00 jne $LN28@Write_Loca - 00169 85 db test ebx, ebx - 0016b 74 23 je SHORT $LN24@Write_Loca - -; 1014 : { -; 1015 : if (ZWRITE64(zi->z_filefunc,zi->filestream,filename,size_filename)!=size_filename) - - 0016d 8b 55 08 mov edx, DWORD PTR _filename$[ebp] - 00170 8b 47 2c mov eax, DWORD PTR [edi+44] - 00173 8b 4f 1c mov ecx, DWORD PTR [edi+28] - 00176 53 push ebx - 00177 52 push edx - 00178 8b 57 08 mov edx, DWORD PTR [edi+8] - 0017b 50 push eax - 0017c 51 push ecx - 0017d ff d2 call edx - 0017f 83 c4 10 add esp, 16 ; 00000010H - 00182 3b c3 cmp eax, ebx - 00184 74 0a je SHORT $LN24@Write_Loca -$LN37@Write_Loca: - -; 1016 : err = ZIP_ERRNO; - - 00186 83 c8 ff or eax, -1 - -; 1045 : } - - 00189 5f pop edi - 0018a 5e pop esi - 0018b 5b pop ebx - 0018c 8b e5 mov esp, ebp - 0018e 5d pop ebp - 0018f c3 ret 0 -$LN24@Write_Loca: - -; 1017 : } -; 1018 : -; 1019 : if ((err==ZIP_OK) && (size_extrafield_local > 0)) - - 00190 8b 5d 0c mov ebx, DWORD PTR _size_extrafield_local$[ebp] - 00193 85 db test ebx, ebx - 00195 74 19 je SHORT $LN25@Write_Loca - -; 1020 : { -; 1021 : if (ZWRITE64(zi->z_filefunc, zi->filestream, extrafield_local, size_extrafield_local) != size_extrafield_local) - - 00197 8b 45 10 mov eax, DWORD PTR _extrafield_local$[ebp] - 0019a 8b 4f 2c mov ecx, DWORD PTR [edi+44] - 0019d 8b 57 1c mov edx, DWORD PTR [edi+28] - 001a0 53 push ebx - 001a1 50 push eax - 001a2 8b 47 08 mov eax, DWORD PTR [edi+8] - 001a5 51 push ecx - 001a6 52 push edx - 001a7 ff d0 call eax - 001a9 83 c4 10 add esp, 16 ; 00000010H - 001ac 3b c3 cmp eax, ebx - -; 1022 : err = ZIP_ERRNO; -; 1023 : } -; 1024 : -; 1025 : -; 1026 : if ((err==ZIP_OK) && (zi->ci.zip64)) - - 001ae 75 d6 jne SHORT $LN37@Write_Loca -$LN25@Write_Loca: - 001b0 83 bf b0 00 01 - 00 00 cmp DWORD PTR [edi+65712], 0 - 001b7 74 5e je SHORT $LN28@Write_Loca - -; 1027 : { -; 1028 : // write the Zip64 extended info -; 1029 : short HeaderID = 1; -; 1030 : short DataSize = 16; -; 1031 : ZPOS64_T CompressedSize = 0; -; 1032 : ZPOS64_T UncompressedSize = 0; -; 1033 : -; 1034 : // Remember position of Zip64 extended info for the local file header. (needed when we update size after done with file) -; 1035 : zi->ci.pos_zip64extrainfo = ZTELL64(zi->z_filefunc,zi->filestream); - - 001b9 8b 4f 2c mov ecx, DWORD PTR [edi+44] - 001bc 8b c7 mov eax, edi - 001be e8 00 00 00 00 call _call_ztell64 - -; 1036 : -; 1037 : err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (short)HeaderID,2); - - 001c3 8b 4f 2c mov ecx, DWORD PTR [edi+44] - 001c6 6a 00 push 0 - 001c8 6a 01 push 1 - 001ca 51 push ecx - 001cb be 02 00 00 00 mov esi, 2 - 001d0 89 87 b8 00 01 - 00 mov DWORD PTR [edi+65720], eax - 001d6 89 97 bc 00 01 - 00 mov DWORD PTR [edi+65724], edx - 001dc e8 00 00 00 00 call _zip64local_putValue - -; 1038 : err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (short)DataSize,2); - - 001e1 8b 57 2c mov edx, DWORD PTR [edi+44] - 001e4 6a 00 push 0 - 001e6 6a 10 push 16 ; 00000010H - 001e8 52 push edx - 001e9 e8 00 00 00 00 call _zip64local_putValue - -; 1039 : -; 1040 : err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)UncompressedSize,8); - - 001ee 8b 47 2c mov eax, DWORD PTR [edi+44] - 001f1 6a 00 push 0 - 001f3 6a 00 push 0 - 001f5 50 push eax - 001f6 be 08 00 00 00 mov esi, 8 - 001fb e8 00 00 00 00 call _zip64local_putValue - -; 1041 : err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)CompressedSize,8); - - 00200 8b 4f 2c mov ecx, DWORD PTR [edi+44] - 00203 6a 00 push 0 - 00205 6a 00 push 0 - 00207 51 push ecx - 00208 e8 00 00 00 00 call _zip64local_putValue - 0020d 83 c4 30 add esp, 48 ; 00000030H - -; 1045 : } - - 00210 5f pop edi - 00211 5e pop esi - 00212 5b pop ebx - 00213 8b e5 mov esp, ebp - 00215 5d pop ebp - 00216 c3 ret 0 -$LN28@Write_Loca: - -; 1042 : } -; 1043 : -; 1044 : return err; - - 00217 8b c6 mov eax, esi -$LN1@Write_Loca: - -; 1045 : } - - 00219 5f pop edi - 0021a 5e pop esi - 0021b 5b pop ebx - 0021c 8b e5 mov esp, ebp - 0021e 5d pop ebp - 0021f c3 ret 0 -_Write_LocalFileHeader ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _zip64local_SearchCentralDir -_TEXT SEGMENT -_uSizeFile$ = -40 ; size = 8 -_uPosFound$ = -32 ; size = 8 -_uBackRead$ = -24 ; size = 8 -_uMaxBack$ = -16 ; size = 8 -_uReadSize$82829 = -8 ; size = 4 -_buf$ = -4 ; size = 4 -_pzlib_filefunc_def$ = 8 ; size = 4 -_filestream$ = 12 ; size = 4 -_zip64local_SearchCentralDir PROC ; COMDAT - -; 481 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 2c sub esp, 44 ; 0000002cH - 00006 53 push ebx - -; 482 : unsigned char* buf; -; 483 : ZPOS64_T uSizeFile; -; 484 : ZPOS64_T uBackRead; -; 485 : ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */ -; 486 : ZPOS64_T uPosFound=0; -; 487 : -; 488 : if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0) - - 00007 8b 5d 08 mov ebx, DWORD PTR _pzlib_filefunc_def$[ebp] - 0000a 56 push esi - 0000b 8b 75 0c mov esi, DWORD PTR _filestream$[ebp] - 0000e 57 push edi - 0000f 33 ff xor edi, edi - 00011 57 push edi - 00012 57 push edi - 00013 8d 57 02 lea edx, DWORD PTR [edi+2] - 00016 8b c3 mov eax, ebx - 00018 c7 45 f0 ff ff - 00 00 mov DWORD PTR _uMaxBack$[ebp], 65535 ; 0000ffffH - 0001f 89 7d f4 mov DWORD PTR _uMaxBack$[ebp+4], edi - 00022 89 7d e0 mov DWORD PTR _uPosFound$[ebp], edi - 00025 89 7d e4 mov DWORD PTR _uPosFound$[ebp+4], edi - 00028 e8 00 00 00 00 call _call_zseek64 - 0002d 83 c4 08 add esp, 8 - 00030 85 c0 test eax, eax - 00032 74 0b je SHORT $LN14@zip64local@5 -$LN40@zip64local@5: - -; 489 : return 0; - - 00034 33 c0 xor eax, eax - 00036 33 d2 xor edx, edx - -; 534 : } - - 00038 5f pop edi - 00039 5e pop esi - 0003a 5b pop ebx - 0003b 8b e5 mov esp, ebp - 0003d 5d pop ebp - 0003e c3 ret 0 -$LN14@zip64local@5: - -; 490 : -; 491 : -; 492 : uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream); - - 0003f 8b ce mov ecx, esi - 00041 8b c3 mov eax, ebx - 00043 e8 00 00 00 00 call _call_ztell64 - 00048 8b da mov ebx, edx - 0004a 8b f0 mov esi, eax - 0004c 89 75 d8 mov DWORD PTR _uSizeFile$[ebp], esi - 0004f 89 5d dc mov DWORD PTR _uSizeFile$[ebp+4], ebx - -; 493 : -; 494 : if (uMaxBack>uSizeFile) - - 00052 85 db test ebx, ebx - 00054 77 12 ja SHORT $LN13@zip64local@5 - 00056 72 08 jb SHORT $LN27@zip64local@5 - 00058 81 fe ff ff 00 - 00 cmp esi, 65535 ; 0000ffffH - 0005e 73 08 jae SHORT $LN13@zip64local@5 -$LN27@zip64local@5: - -; 495 : uMaxBack = uSizeFile; - - 00060 89 75 f0 mov DWORD PTR _uMaxBack$[ebp], esi - 00063 89 5d f4 mov DWORD PTR _uMaxBack$[ebp+4], ebx - 00066 8b fb mov edi, ebx -$LN13@zip64local@5: - -; 496 : -; 497 : buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); - - 00068 68 04 04 00 00 push 1028 ; 00000404H - 0006d e8 00 00 00 00 call _malloc - 00072 83 c4 04 add esp, 4 - 00075 89 45 fc mov DWORD PTR _buf$[ebp], eax - -; 498 : if (buf==NULL) - - 00078 85 c0 test eax, eax - -; 499 : return 0; - - 0007a 74 b8 je SHORT $LN40@zip64local@5 - -; 500 : -; 501 : uBackRead = 4; - - 0007c 33 c9 xor ecx, ecx - 0007e ba 04 00 00 00 mov edx, 4 - -; 502 : while (uBackReaduMaxBack) - - 000b2 81 c2 00 04 00 - 00 add edx, 1024 ; 00000400H - 000b8 83 d1 00 adc ecx, 0 - 000bb 3b cf cmp ecx, edi - 000bd 72 0e jb SHORT $LN9@zip64local@5 - 000bf 77 04 ja SHORT $LN29@zip64local@5 - 000c1 3b d0 cmp edx, eax - 000c3 76 08 jbe SHORT $LN9@zip64local@5 -$LN29@zip64local@5: - -; 508 : uBackRead = uMaxBack; - - 000c5 89 45 e8 mov DWORD PTR _uBackRead$[ebp], eax - 000c8 89 7d ec mov DWORD PTR _uBackRead$[ebp+4], edi - -; 509 : else - - 000cb eb 06 jmp SHORT $LN8@zip64local@5 -$LN9@zip64local@5: - -; 510 : uBackRead+=BUFREADCOMMENT; - - 000cd 89 55 e8 mov DWORD PTR _uBackRead$[ebp], edx - 000d0 89 4d ec mov DWORD PTR _uBackRead$[ebp+4], ecx -$LN8@zip64local@5: - -; 511 : uReadPos = uSizeFile-uBackRead ; -; 512 : -; 513 : uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? -; 514 : (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos); - - 000d3 8b 45 dc mov eax, DWORD PTR _uSizeFile$[ebp+4] - 000d6 8b fe mov edi, esi - 000d8 2b 7d e8 sub edi, DWORD PTR _uBackRead$[ebp] - 000db 8b ce mov ecx, esi - 000dd 1b 5d ec sbb ebx, DWORD PTR _uBackRead$[ebp+4] - 000e0 2b cf sub ecx, edi - 000e2 1b c3 sbb eax, ebx - 000e4 85 c0 test eax, eax - 000e6 72 13 jb SHORT $LN17@zip64local@5 - 000e8 77 08 ja SHORT $LN30@zip64local@5 - 000ea 81 f9 04 04 00 - 00 cmp ecx, 1028 ; 00000404H - 000f0 76 09 jbe SHORT $LN17@zip64local@5 -$LN30@zip64local@5: - 000f2 c7 45 f8 04 04 - 00 00 mov DWORD PTR _uReadSize$82829[ebp], 1028 ; 00000404H - 000f9 eb 05 jmp SHORT $LN18@zip64local@5 -$LN17@zip64local@5: - 000fb 2b f7 sub esi, edi - 000fd 89 75 f8 mov DWORD PTR _uReadSize$82829[ebp], esi -$LN18@zip64local@5: - -; 515 : if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) - - 00100 8b 75 0c mov esi, DWORD PTR _filestream$[ebp] - 00103 8b 45 08 mov eax, DWORD PTR _pzlib_filefunc_def$[ebp] - 00106 53 push ebx - 00107 57 push edi - 00108 33 d2 xor edx, edx - 0010a e8 00 00 00 00 call _call_zseek64 - 0010f 83 c4 08 add esp, 8 - 00112 85 c0 test eax, eax - 00114 75 78 jne SHORT $LN31@zip64local@5 - -; 516 : break; -; 517 : -; 518 : if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) - - 00116 8b 75 f8 mov esi, DWORD PTR _uReadSize$82829[ebp] - 00119 8b 45 fc mov eax, DWORD PTR _buf$[ebp] - 0011c 8b 4d 0c mov ecx, DWORD PTR _filestream$[ebp] - 0011f 56 push esi - 00120 50 push eax - 00121 8b 45 08 mov eax, DWORD PTR _pzlib_filefunc_def$[ebp] - 00124 8b 50 1c mov edx, DWORD PTR [eax+28] - 00127 8b 40 04 mov eax, DWORD PTR [eax+4] - 0012a 51 push ecx - 0012b 52 push edx - 0012c ff d0 call eax - 0012e 83 c4 10 add esp, 16 ; 00000010H - 00131 3b c6 cmp eax, esi - 00133 75 59 jne SHORT $LN31@zip64local@5 - -; 519 : break; -; 520 : -; 521 : for (i=(int)uReadSize-3; (i--)>0;) - - 00135 8d 46 fd lea eax, DWORD PTR [esi-3] - 00138 85 c0 test eax, eax - 0013a 7e 38 jle SHORT $LN26@zip64local@5 - 0013c 8d 64 24 00 npad 4 -$LL5@zip64local@5: - -; 522 : if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && -; 523 : ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06)) - - 00140 8b 4d fc mov ecx, DWORD PTR _buf$[ebp] - 00143 48 dec eax - 00144 80 3c 08 50 cmp BYTE PTR [eax+ecx], 80 ; 00000050H - 00148 75 15 jne SHORT $LN3@zip64local@5 - 0014a 80 7c 08 01 4b cmp BYTE PTR [eax+ecx+1], 75 ; 0000004bH - 0014f 75 0e jne SHORT $LN3@zip64local@5 - 00151 80 7c 08 02 05 cmp BYTE PTR [eax+ecx+2], 5 - 00156 75 07 jne SHORT $LN3@zip64local@5 - 00158 80 7c 08 03 06 cmp BYTE PTR [eax+ecx+3], 6 - 0015d 74 06 je SHORT $LN21@zip64local@5 -$LN3@zip64local@5: - -; 519 : break; -; 520 : -; 521 : for (i=(int)uReadSize-3; (i--)>0;) - - 0015f 85 c0 test eax, eax - 00161 7f dd jg SHORT $LL5@zip64local@5 - -; 526 : break; -; 527 : } -; 528 : -; 529 : if (uPosFound!=0) - - 00163 eb 0f jmp SHORT $LN26@zip64local@5 -$LN21@zip64local@5: - -; 524 : { -; 525 : uPosFound = uReadPos+i; - - 00165 99 cdq - 00166 03 c7 add eax, edi - 00168 13 d3 adc edx, ebx - 0016a 89 45 e0 mov DWORD PTR _uPosFound$[ebp], eax - -; 526 : break; -; 527 : } -; 528 : -; 529 : if (uPosFound!=0) - - 0016d 0b c2 or eax, edx - 0016f 89 55 e4 mov DWORD PTR _uPosFound$[ebp+4], edx - 00172 75 1a jne SHORT $LN31@zip64local@5 -$LN26@zip64local@5: - -; 502 : while (uBackReadlast_block == NULL) - - 0001b 83 7b 04 00 cmp DWORD PTR [ebx+4], 0 - 0001f 75 0e jne SHORT $LN10@add_data_i - -; 234 : { -; 235 : ll->first_block = ll->last_block = allocate_new_datablock(); - - 00021 e8 00 00 00 00 call _allocate_new_datablock - 00026 89 43 04 mov DWORD PTR [ebx+4], eax - 00029 89 03 mov DWORD PTR [ebx], eax - -; 236 : if (ll->first_block == NULL) - - 0002b 85 c0 test eax, eax - -; 237 : return ZIP_INTERNALERROR; - - 0002d 74 e1 je SHORT $LN22@add_data_i -$LN10@add_data_i: - -; 238 : } -; 239 : -; 240 : ldi = ll->last_block; -; 241 : from_copy = (unsigned char*)buf; - - 0002f 8b 45 0c mov eax, DWORD PTR _buf$[ebp] - 00032 56 push esi - 00033 8b 73 04 mov esi, DWORD PTR [ebx+4] - 00036 89 45 fc mov DWORD PTR _from_copy$[ebp], eax - -; 242 : -; 243 : while (len>0) - - 00039 85 ff test edi, edi - 0003b 74 53 je SHORT $LN8@add_data_i - 0003d 8d 49 00 npad 3 -$LL9@add_data_i: - -; 244 : { -; 245 : uInt copy_this; -; 246 : uInt i; -; 247 : unsigned char* to_copy; -; 248 : -; 249 : if (ldi->avail_in_this_block==0) - - 00040 83 7e 04 00 cmp DWORD PTR [esi+4], 0 - 00044 75 10 jne SHORT $LN7@add_data_i - -; 250 : { -; 251 : ldi->next_datablock = allocate_new_datablock(); - - 00046 e8 00 00 00 00 call _allocate_new_datablock - 0004b 89 06 mov DWORD PTR [esi], eax - -; 252 : if (ldi->next_datablock == NULL) - - 0004d 85 c0 test eax, eax - 0004f 74 48 je SHORT $LN17@add_data_i - -; 254 : ldi = ldi->next_datablock ; - - 00051 8b f0 mov esi, eax - -; 255 : ll->last_block = ldi; - - 00053 89 73 04 mov DWORD PTR [ebx+4], esi -$LN7@add_data_i: - -; 256 : } -; 257 : -; 258 : if (ldi->avail_in_this_block < len) - - 00056 8b 4e 04 mov ecx, DWORD PTR [esi+4] - 00059 3b cf cmp ecx, edi - -; 259 : copy_this = (uInt)ldi->avail_in_this_block; -; 260 : else - - 0005b 72 02 jb SHORT $LN4@add_data_i - -; 261 : copy_this = (uInt)len; - - 0005d 8b cf mov ecx, edi -$LN4@add_data_i: - -; 262 : -; 263 : to_copy = &(ldi->data[ldi->filled_in_this_block]); - - 0005f 8b 56 08 mov edx, DWORD PTR [esi+8] - 00062 8d 44 32 10 lea eax, DWORD PTR [edx+esi+16] - -; 264 : -; 265 : for (i=0;ifilled_in_this_block += copy_this; - - 00080 01 4e 08 add DWORD PTR [esi+8], ecx - -; 269 : ldi->avail_in_this_block -= copy_this; - - 00083 29 4e 04 sub DWORD PTR [esi+4], ecx - -; 270 : from_copy += copy_this ; - - 00086 01 4d fc add DWORD PTR _from_copy$[ebp], ecx - -; 271 : len -= copy_this; - - 00089 2b f9 sub edi, ecx - 0008b 89 7d 10 mov DWORD PTR _len$[ebp], edi - 0008e 75 b0 jne SHORT $LL9@add_data_i -$LN8@add_data_i: - 00090 5e pop esi - 00091 5f pop edi - -; 272 : } -; 273 : return ZIP_OK; - - 00092 33 c0 xor eax, eax - 00094 5b pop ebx - -; 274 : } - - 00095 8b e5 mov esp, ebp - 00097 5d pop ebp - 00098 c3 ret 0 -$LN17@add_data_i: - 00099 5e pop esi - 0009a 5f pop edi - -; 253 : return ZIP_INTERNALERROR; - - 0009b b8 98 ff ff ff mov eax, -104 ; ffffff98H - 000a0 5b pop ebx - -; 274 : } - - 000a1 8b e5 mov esp, ebp - 000a3 5d pop ebp - 000a4 c3 ret 0 -_add_data_in_datablock ENDP -; Function compile flags: /Ogtp -_TEXT ENDS -; COMDAT _free_linkedlist -_TEXT SEGMENT -_free_linkedlist PROC ; COMDAT -; _ll$ = esi - -; 220 : free_datablock(ll->first_block); - - 00000 8b 06 mov eax, DWORD PTR [esi] - 00002 e8 00 00 00 00 call _free_datablock - -; 221 : ll->first_block = ll->last_block = NULL; - - 00007 c7 46 04 00 00 - 00 00 mov DWORD PTR [esi+4], 0 - 0000e c7 06 00 00 00 - 00 mov DWORD PTR [esi], 0 - -; 222 : } - - 00014 c3 ret 0 -_free_linkedlist ENDP -; Function compile flags: /Ogtp -; File d:\fmu\fmusolution\zlib-1.2.6\contrib\minizip\crypt.h -_TEXT ENDS -; COMDAT _init_keys -_TEXT SEGMENT -_init_keys PROC ; COMDAT -; _passwd$ = edx -; _pkeys$ = ecx -; _pcrc_32_tab$ = eax - -; 66 : { - - 00000 53 push ebx - 00001 56 push esi - 00002 8b f1 mov esi, ecx - 00004 57 push edi - 00005 8b da mov ebx, edx - 00007 8b f8 mov edi, eax - -; 67 : *(pkeys+0) = 305419896L; - - 00009 c7 06 78 56 34 - 12 mov DWORD PTR [esi], 305419896 ; 12345678H - -; 68 : *(pkeys+1) = 591751049L; - - 0000f c7 46 04 89 67 - 45 23 mov DWORD PTR [esi+4], 591751049 ; 23456789H - -; 69 : *(pkeys+2) = 878082192L; - - 00016 c7 46 08 90 78 - 56 34 mov DWORD PTR [esi+8], 878082192 ; 34567890H - -; 70 : while (*passwd != '\0') { - - 0001d 8a 03 mov al, BYTE PTR [ebx] - 0001f 84 c0 test al, al - 00021 74 10 je SHORT $LN1@init_keys -$LL2@init_keys: - -; 71 : update_keys(pkeys,pcrc_32_tab,(int)*passwd); - - 00023 0f be c0 movsx eax, al - 00026 e8 00 00 00 00 call _update_keys - 0002b 8a 43 01 mov al, BYTE PTR [ebx+1] - -; 72 : passwd++; - - 0002e 43 inc ebx - 0002f 84 c0 test al, al - 00031 75 f0 jne SHORT $LL2@init_keys -$LN1@init_keys: - 00033 5f pop edi - 00034 5e pop esi - 00035 5b pop ebx - -; 73 : } -; 74 : } - - 00036 c3 ret 0 -_init_keys ENDP -; Function compile flags: /Ogtp -; File d:\fmu\fmusolution\zlib-1.2.6\contrib\minizip\zip.c -; COMDAT _zip64local_SearchCentralDir64 -_TEXT SEGMENT -_relativeOffset$ = -40 ; size = 8 -_uSizeFile$ = -40 ; size = 8 -_uPosFound$ = -32 ; size = 8 -_uBackRead$ = -24 ; size = 8 -_uMaxBack$ = -16 ; size = 8 -_uReadSize$82869 = -8 ; size = 4 -_uL$ = -4 ; size = 4 -_buf$ = -4 ; size = 4 -_pzlib_filefunc_def$ = 8 ; size = 4 -_filestream$ = 12 ; size = 4 -_zip64local_SearchCentralDir64 PROC ; COMDAT - -; 543 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 2c sub esp, 44 ; 0000002cH - -; 544 : unsigned char* buf; -; 545 : ZPOS64_T uSizeFile; -; 546 : ZPOS64_T uBackRead; -; 547 : ZPOS64_T uMaxBack=0xffff; /* maximum size of global comment */ -; 548 : ZPOS64_T uPosFound=0; -; 549 : uLong uL; -; 550 : ZPOS64_T relativeOffset; -; 551 : -; 552 : if (ZSEEK64(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0) - - 00006 8b 45 08 mov eax, DWORD PTR _pzlib_filefunc_def$[ebp] - 00009 53 push ebx - 0000a 8b 5d 0c mov ebx, DWORD PTR _filestream$[ebp] - 0000d 56 push esi - 0000e 57 push edi - 0000f 33 ff xor edi, edi - 00011 57 push edi - 00012 57 push edi - 00013 8d 57 02 lea edx, DWORD PTR [edi+2] - 00016 8b f3 mov esi, ebx - 00018 c7 45 f0 ff ff - 00 00 mov DWORD PTR _uMaxBack$[ebp], 65535 ; 0000ffffH - 0001f 89 7d f4 mov DWORD PTR _uMaxBack$[ebp+4], edi - 00022 89 7d e0 mov DWORD PTR _uPosFound$[ebp], edi - 00025 89 7d e4 mov DWORD PTR _uPosFound$[ebp+4], edi - 00028 e8 00 00 00 00 call _call_zseek64 - 0002d 83 c4 08 add esp, 8 - 00030 85 c0 test eax, eax - 00032 74 0b je SHORT $LN25@zip64local@9 -$LN50@zip64local@9: - -; 553 : return 0; - - 00034 33 c0 xor eax, eax - 00036 33 d2 xor edx, edx - -; 638 : } - - 00038 5f pop edi - 00039 5e pop esi - 0003a 5b pop ebx - 0003b 8b e5 mov esp, ebp - 0003d 5d pop ebp - 0003e c3 ret 0 -$LN25@zip64local@9: - -; 554 : -; 555 : uSizeFile = ZTELL64(*pzlib_filefunc_def,filestream); - - 0003f 8b 45 08 mov eax, DWORD PTR _pzlib_filefunc_def$[ebp] - 00042 8b cb mov ecx, ebx - 00044 e8 00 00 00 00 call _call_ztell64 - 00049 8b f0 mov esi, eax - 0004b 89 75 d8 mov DWORD PTR _uSizeFile$[ebp], esi - 0004e 89 55 dc mov DWORD PTR _uSizeFile$[ebp+4], edx - -; 556 : -; 557 : if (uMaxBack>uSizeFile) - - 00051 85 d2 test edx, edx - 00053 77 12 ja SHORT $LN24@zip64local@9 - 00055 72 08 jb SHORT $LN38@zip64local@9 - 00057 81 fe ff ff 00 - 00 cmp esi, 65535 ; 0000ffffH - 0005d 73 08 jae SHORT $LN24@zip64local@9 -$LN38@zip64local@9: - -; 558 : uMaxBack = uSizeFile; - - 0005f 89 75 f0 mov DWORD PTR _uMaxBack$[ebp], esi - 00062 89 55 f4 mov DWORD PTR _uMaxBack$[ebp+4], edx - 00065 8b fa mov edi, edx -$LN24@zip64local@9: - -; 559 : -; 560 : buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); - - 00067 68 04 04 00 00 push 1028 ; 00000404H - 0006c e8 00 00 00 00 call _malloc - 00071 83 c4 04 add esp, 4 - 00074 89 45 fc mov DWORD PTR _buf$[ebp], eax - -; 561 : if (buf==NULL) - - 00077 85 c0 test eax, eax - -; 562 : return 0; - - 00079 74 b9 je SHORT $LN50@zip64local@9 - -; 563 : -; 564 : uBackRead = 4; - - 0007b 33 c9 xor ecx, ecx - 0007d ba 04 00 00 00 mov edx, 4 - -; 565 : while (uBackReaduMaxBack) - - 000af 81 c2 00 04 00 - 00 add edx, 1024 ; 00000400H - 000b5 83 d1 00 adc ecx, 0 - 000b8 3b cf cmp ecx, edi - 000ba 72 0e jb SHORT $LN20@zip64local@9 - 000bc 77 04 ja SHORT $LN40@zip64local@9 - 000be 3b d0 cmp edx, eax - 000c0 76 08 jbe SHORT $LN20@zip64local@9 -$LN40@zip64local@9: - -; 571 : uBackRead = uMaxBack; - - 000c2 89 45 e8 mov DWORD PTR _uBackRead$[ebp], eax - 000c5 89 7d ec mov DWORD PTR _uBackRead$[ebp+4], edi - -; 572 : else - - 000c8 eb 06 jmp SHORT $LN19@zip64local@9 -$LN20@zip64local@9: - -; 573 : uBackRead+=BUFREADCOMMENT; - - 000ca 89 55 e8 mov DWORD PTR _uBackRead$[ebp], edx - 000cd 89 4d ec mov DWORD PTR _uBackRead$[ebp+4], ecx -$LN19@zip64local@9: - -; 574 : uReadPos = uSizeFile-uBackRead ; - - 000d0 8b 5d dc mov ebx, DWORD PTR _uSizeFile$[ebp+4] - -; 575 : -; 576 : uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? -; 577 : (BUFREADCOMMENT+4) : (uLong)(uSizeFile-uReadPos); - - 000d3 8b 45 dc mov eax, DWORD PTR _uSizeFile$[ebp+4] - 000d6 8b fe mov edi, esi - 000d8 2b 7d e8 sub edi, DWORD PTR _uBackRead$[ebp] - 000db 8b ce mov ecx, esi - 000dd 1b 5d ec sbb ebx, DWORD PTR _uBackRead$[ebp+4] - 000e0 2b cf sub ecx, edi - 000e2 1b c3 sbb eax, ebx - 000e4 85 c0 test eax, eax - 000e6 72 13 jb SHORT $LN28@zip64local@9 - 000e8 77 08 ja SHORT $LN41@zip64local@9 - 000ea 81 f9 04 04 00 - 00 cmp ecx, 1028 ; 00000404H - 000f0 76 09 jbe SHORT $LN28@zip64local@9 -$LN41@zip64local@9: - 000f2 c7 45 f8 04 04 - 00 00 mov DWORD PTR _uReadSize$82869[ebp], 1028 ; 00000404H - 000f9 eb 05 jmp SHORT $LN29@zip64local@9 -$LN28@zip64local@9: - 000fb 2b f7 sub esi, edi - 000fd 89 75 f8 mov DWORD PTR _uReadSize$82869[ebp], esi -$LN29@zip64local@9: - -; 578 : if (ZSEEK64(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) - - 00100 8b 75 0c mov esi, DWORD PTR _filestream$[ebp] - 00103 8b 45 08 mov eax, DWORD PTR _pzlib_filefunc_def$[ebp] - 00106 53 push ebx - 00107 57 push edi - 00108 33 d2 xor edx, edx - 0010a e8 00 00 00 00 call _call_zseek64 - 0010f 83 c4 08 add esp, 8 - 00112 85 c0 test eax, eax - 00114 75 78 jne SHORT $LN46@zip64local@9 - -; 579 : break; -; 580 : -; 581 : if (ZREAD64(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) - - 00116 8b 75 f8 mov esi, DWORD PTR _uReadSize$82869[ebp] - 00119 8b 45 fc mov eax, DWORD PTR _buf$[ebp] - 0011c 8b 4d 0c mov ecx, DWORD PTR _filestream$[ebp] - 0011f 56 push esi - 00120 50 push eax - 00121 8b 45 08 mov eax, DWORD PTR _pzlib_filefunc_def$[ebp] - 00124 8b 50 1c mov edx, DWORD PTR [eax+28] - 00127 8b 40 04 mov eax, DWORD PTR [eax+4] - 0012a 51 push ecx - 0012b 52 push edx - 0012c ff d0 call eax - 0012e 83 c4 10 add esp, 16 ; 00000010H - 00131 3b c6 cmp eax, esi - 00133 75 59 jne SHORT $LN46@zip64local@9 - -; 582 : break; -; 583 : -; 584 : for (i=(int)uReadSize-3; (i--)>0;) - - 00135 8d 46 fd lea eax, DWORD PTR [esi-3] - 00138 85 c0 test eax, eax - 0013a 7e 38 jle SHORT $LN37@zip64local@9 - 0013c 8d 64 24 00 npad 4 -$LL16@zip64local@9: - -; 585 : { -; 586 : // Signature "0x07064b50" Zip64 end of central directory locater -; 587 : if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && ((*(buf+i+2))==0x06) && ((*(buf+i+3))==0x07)) - - 00140 8b 4d fc mov ecx, DWORD PTR _buf$[ebp] - 00143 48 dec eax - 00144 80 3c 08 50 cmp BYTE PTR [eax+ecx], 80 ; 00000050H - 00148 75 15 jne SHORT $LN14@zip64local@9 - 0014a 80 7c 08 01 4b cmp BYTE PTR [eax+ecx+1], 75 ; 0000004bH - 0014f 75 0e jne SHORT $LN14@zip64local@9 - 00151 80 7c 08 02 06 cmp BYTE PTR [eax+ecx+2], 6 - 00156 75 07 jne SHORT $LN14@zip64local@9 - 00158 80 7c 08 03 07 cmp BYTE PTR [eax+ecx+3], 7 - 0015d 74 06 je SHORT $LN32@zip64local@9 -$LN14@zip64local@9: - -; 582 : break; -; 583 : -; 584 : for (i=(int)uReadSize-3; (i--)>0;) - - 0015f 85 c0 test eax, eax - 00161 7f dd jg SHORT $LL16@zip64local@9 - -; 590 : break; -; 591 : } -; 592 : } -; 593 : -; 594 : if (uPosFound!=0) - - 00163 eb 0f jmp SHORT $LN37@zip64local@9 -$LN32@zip64local@9: - -; 588 : { -; 589 : uPosFound = uReadPos+i; - - 00165 99 cdq - 00166 03 c7 add eax, edi - 00168 13 d3 adc edx, ebx - 0016a 89 45 e0 mov DWORD PTR _uPosFound$[ebp], eax - -; 590 : break; -; 591 : } -; 592 : } -; 593 : -; 594 : if (uPosFound!=0) - - 0016d 0b c2 or eax, edx - 0016f 89 55 e4 mov DWORD PTR _uPosFound$[ebp+4], edx - 00172 75 1a jne SHORT $LN46@zip64local@9 -$LN37@zip64local@9: - -; 565 : while (uBackRead> 7) & 0xff; - - 00045 e8 00 00 00 00 call _rand - 0004a 8b d8 mov ebx, eax - 0004c c1 fb 07 sar ebx, 7 - -; 118 : header[n] = (unsigned char)zencode(pkeys, pcrc_32_tab, c, t); - - 0004f 8b c6 mov eax, esi - 00051 81 e3 ff 00 00 - 00 and ebx, 255 ; 000000ffH - 00057 e8 00 00 00 00 call _decrypt_byte - 0005c 89 45 f8 mov DWORD PTR _t$[ebp], eax - 0005f 8b c3 mov eax, ebx - 00061 e8 00 00 00 00 call _update_keys - 00066 32 5d f8 xor bl, BYTE PTR _t$[ebp] - 00069 8b 45 f4 mov eax, DWORD PTR _n$[ebp] - 0006c 88 5c 05 e8 mov BYTE PTR _header$[ebp+eax], bl - 00070 40 inc eax - 00071 89 45 f4 mov DWORD PTR _n$[ebp], eax - 00074 83 f8 0a cmp eax, 10 ; 0000000aH - 00077 7c cc jl SHORT $LL6@crypthead - -; 119 : } -; 120 : /* Encrypt random header (last two bytes is high word of crc) */ -; 121 : init_keys(passwd, pkeys, pcrc_32_tab); - - 00079 8b 55 08 mov edx, DWORD PTR _passwd$[ebp] - 0007c 8b c7 mov eax, edi - 0007e 8b ce mov ecx, esi - 00080 e8 00 00 00 00 call _init_keys - -; 122 : for (n = 0; n < RAND_HEAD_LEN-2; n++) - - 00085 8b 45 0c mov eax, DWORD PTR _buf$[ebp] - 00088 8d 4d e8 lea ecx, DWORD PTR _header$[ebp] - 0008b 33 db xor ebx, ebx - 0008d 2b c1 sub eax, ecx - 0008f 89 45 f4 mov DWORD PTR tv280[ebp], eax -$LL3@crypthead: - -; 123 : { -; 124 : buf[n] = (unsigned char)zencode(pkeys, pcrc_32_tab, header[n], t); - - 00092 8b c6 mov eax, esi - 00094 e8 00 00 00 00 call _decrypt_byte - 00099 89 45 f8 mov DWORD PTR _t$[ebp], eax - 0009c 0f b6 44 1d e8 movzx eax, BYTE PTR _header$[ebp+ebx] - 000a1 e8 00 00 00 00 call _update_keys - 000a6 8a 44 1d e8 mov al, BYTE PTR _header$[ebp+ebx] - 000aa 8b 55 f4 mov edx, DWORD PTR tv280[ebp] - 000ad 32 45 f8 xor al, BYTE PTR _t$[ebp] - 000b0 03 d3 add edx, ebx - 000b2 43 inc ebx - 000b3 88 44 15 e8 mov BYTE PTR _header$[ebp+edx], al - 000b7 83 fb 0a cmp ebx, 10 ; 0000000aH - 000ba 7c d6 jl SHORT $LL3@crypthead - -; 125 : } -; 126 : buf[n++] = (unsigned char)zencode(pkeys, pcrc_32_tab, (int)(crcForCrypting >> 16) & 0xff, t); - - 000bc 8b c6 mov eax, esi - 000be e8 00 00 00 00 call _decrypt_byte - 000c3 89 45 f8 mov DWORD PTR _t$[ebp], eax - 000c6 8b 45 10 mov eax, DWORD PTR _crcForCrypting$[ebp] - 000c9 c1 e8 10 shr eax, 16 ; 00000010H - 000cc 89 45 f4 mov DWORD PTR tv243[ebp], eax - 000cf 25 ff 00 00 00 and eax, 255 ; 000000ffH - 000d4 e8 00 00 00 00 call _update_keys - 000d9 8a 45 f4 mov al, BYTE PTR tv243[ebp] - 000dc 32 45 f8 xor al, BYTE PTR _t$[ebp] - 000df 8b 4d 0c mov ecx, DWORD PTR _buf$[ebp] - 000e2 88 04 0b mov BYTE PTR [ebx+ecx], al - -; 127 : buf[n++] = (unsigned char)zencode(pkeys, pcrc_32_tab, (int)(crcForCrypting >> 24) & 0xff, t); - - 000e5 8b c6 mov eax, esi - 000e7 e8 00 00 00 00 call _decrypt_byte - 000ec 89 45 f8 mov DWORD PTR _t$[ebp], eax - 000ef 8b 45 10 mov eax, DWORD PTR _crcForCrypting$[ebp] - 000f2 c1 e8 18 shr eax, 24 ; 00000018H - 000f5 e8 00 00 00 00 call _update_keys - 000fa 32 45 f8 xor al, BYTE PTR _t$[ebp] - 000fd 8b 55 0c mov edx, DWORD PTR _buf$[ebp] - 00100 5f pop edi - 00101 88 44 13 01 mov BYTE PTR [ebx+edx+1], al - 00105 5e pop esi - 00106 8d 43 02 lea eax, DWORD PTR [ebx+2] - 00109 5b pop ebx - -; 128 : return n; -; 129 : } - - 0010a 8b e5 mov esp, ebp - 0010c 5d pop ebp - 0010d c3 ret 0 -_crypthead ENDP -PUBLIC _LoadCentralDirectoryRecord -; Function compile flags: /Ogtp -; File d:\fmu\fmusolution\zlib-1.2.6\contrib\minizip\zip.c -; COMDAT _LoadCentralDirectoryRecord -_TEXT SEGMENT -tv439 = -56 ; size = 8 -_offset_central_dir$ = -56 ; size = 8 -_number_entry$ = -56 ; size = 8 -_sizeEndOfCentralDirectory$82917 = -56 ; size = 8 -_number_entry_CD$ = -48 ; size = 8 -_size_central_dir_to_read$82952 = -40 ; size = 8 -_central_pos$ = -40 ; size = 8 -_buf_read$82954 = -28 ; size = 4 -_size_comment$ = -28 ; size = 4 -_number_disk$ = -28 ; size = 4 -_VersionNeeded$ = -28 ; size = 4 -_VersionMadeBy$ = -28 ; size = 4 -_read_this$82960 = -24 ; size = 8 -_size_central_dir$ = -24 ; size = 8 -_number_disk_with_CD$ = -20 ; size = 4 -_byte_before_the_zipfile$ = -16 ; size = 8 -_uL$ = -12 ; size = 4 -_err$ = -4 ; size = 4 -_LoadCentralDirectoryRecord PROC ; COMDAT -; _pziinit$ = edi - -; 641 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 ec 38 sub esp, 56 ; 00000038H - -; 642 : int err=ZIP_OK; -; 643 : ZPOS64_T byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/ -; 644 : -; 645 : ZPOS64_T size_central_dir; /* size of the central directory */ -; 646 : ZPOS64_T offset_central_dir; /* offset of start of central directory */ -; 647 : ZPOS64_T central_pos; -; 648 : uLong uL; -; 649 : -; 650 : uLong number_disk; /* number of the current dist, used for -; 651 : spaning ZIP, unsupported, always 0*/ -; 652 : uLong number_disk_with_CD; /* number the the disk with central dir, used -; 653 : for spaning ZIP, unsupported, always 0*/ -; 654 : ZPOS64_T number_entry; -; 655 : ZPOS64_T number_entry_CD; /* total number of entries in -; 656 : the central dir -; 657 : (same than number_entry on nospan) */ -; 658 : uLong VersionMadeBy; -; 659 : uLong VersionNeeded; -; 660 : uLong size_comment; -; 661 : -; 662 : int hasZIP64Record = 0; -; 663 : -; 664 : // check first if we find a ZIP64 record -; 665 : central_pos = zip64local_SearchCentralDir64(&pziinit->z_filefunc,pziinit->filestream); - - 00006 8b 47 2c mov eax, DWORD PTR [edi+44] - 00009 53 push ebx - 0000a 56 push esi - 0000b 50 push eax - 0000c 33 db xor ebx, ebx - 0000e 57 push edi - 0000f 89 5d fc mov DWORD PTR _err$[ebp], ebx - 00012 e8 00 00 00 00 call _zip64local_SearchCentralDir64 - 00017 83 c4 08 add esp, 8 - 0001a 89 45 d8 mov DWORD PTR _central_pos$[ebp], eax - 0001d 89 55 dc mov DWORD PTR _central_pos$[ebp+4], edx - -; 666 : if(central_pos > 0) - - 00020 3b d3 cmp edx, ebx - 00022 0f 87 ad 00 00 - 00 ja $LN51@LoadCentra - 00028 72 08 jb SHORT $LN53@LoadCentra - 0002a 3b c3 cmp eax, ebx - -; 667 : { -; 668 : hasZIP64Record = 1; - - 0002c 0f 87 a3 00 00 - 00 ja $LN51@LoadCentra -$LN53@LoadCentra: - -; 669 : } -; 670 : else if(central_pos == 0) - - 00032 8b c8 mov ecx, eax - 00034 0b ca or ecx, edx - 00036 75 13 jne SHORT $LN42@LoadCentra - -; 671 : { -; 672 : central_pos = zip64local_SearchCentralDir(&pziinit->z_filefunc,pziinit->filestream); - - 00038 8b 57 2c mov edx, DWORD PTR [edi+44] - 0003b 52 push edx - 0003c 57 push edi - 0003d e8 00 00 00 00 call _zip64local_SearchCentralDir - 00042 83 c4 08 add esp, 8 - 00045 89 45 d8 mov DWORD PTR _central_pos$[ebp], eax - 00048 89 55 dc mov DWORD PTR _central_pos$[ebp+4], edx -$LN42@LoadCentra: - -; 735 : { -; 736 : // Read End of central Directory info -; 737 : if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0) - - 0004b 8b 77 2c mov esi, DWORD PTR [edi+44] - 0004e 52 push edx - 0004f 50 push eax - 00050 33 d2 xor edx, edx - 00052 8b c7 mov eax, edi - 00054 e8 00 00 00 00 call _call_zseek64 - 00059 83 c4 08 add esp, 8 - -; 738 : err=ZIP_ERRNO; - - 0005c 83 ce ff or esi, -1 - 0005f 85 c0 test eax, eax - 00061 74 03 je SHORT $LN27@LoadCentra - 00063 89 75 fc mov DWORD PTR _err$[ebp], esi -$LN27@LoadCentra: - -; 739 : -; 740 : /* the signature, already checked */ -; 741 : if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&uL)!=ZIP_OK) - - 00066 8d 45 f4 lea eax, DWORD PTR _uL$[ebp] - 00069 50 push eax - 0006a 8b 47 2c mov eax, DWORD PTR [edi+44] - 0006d 8b cf mov ecx, edi - 0006f e8 00 00 00 00 call _zip64local_getLong - 00074 83 c4 04 add esp, 4 - 00077 85 c0 test eax, eax - 00079 74 03 je SHORT $LN26@LoadCentra - -; 742 : err=ZIP_ERRNO; - - 0007b 89 75 fc mov DWORD PTR _err$[ebp], esi -$LN26@LoadCentra: - -; 743 : -; 744 : /* number of this disk */ -; 745 : if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream,&number_disk)!=ZIP_OK) - - 0007e 8b 47 2c mov eax, DWORD PTR [edi+44] - 00081 8d 4d e4 lea ecx, DWORD PTR _number_disk$[ebp] - 00084 51 push ecx - 00085 8b cf mov ecx, edi - 00087 e8 00 00 00 00 call _zip64local_getShort - 0008c 83 c4 04 add esp, 4 - 0008f 85 c0 test eax, eax - 00091 74 03 je SHORT $LN25@LoadCentra - -; 746 : err=ZIP_ERRNO; - - 00093 89 75 fc mov DWORD PTR _err$[ebp], esi -$LN25@LoadCentra: - -; 747 : -; 748 : /* number of the disk with the start of the central directory */ -; 749 : if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream,&number_disk_with_CD)!=ZIP_OK) - - 00096 8b 47 2c mov eax, DWORD PTR [edi+44] - 00099 8d 55 ec lea edx, DWORD PTR _number_disk_with_CD$[ebp] - 0009c 52 push edx - 0009d 8b cf mov ecx, edi - 0009f e8 00 00 00 00 call _zip64local_getShort - 000a4 83 c4 04 add esp, 4 - 000a7 85 c0 test eax, eax - 000a9 74 03 je SHORT $LN24@LoadCentra - -; 750 : err=ZIP_ERRNO; - - 000ab 89 75 fc mov DWORD PTR _err$[ebp], esi -$LN24@LoadCentra: - -; 751 : -; 752 : /* total number of entries in the central dir on this disk */ -; 753 : number_entry = 0; -; 754 : if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK) - - 000ae 8d 45 f4 lea eax, DWORD PTR _uL$[ebp] - 000b1 50 push eax - 000b2 8b 47 2c mov eax, DWORD PTR [edi+44] - 000b5 8b cf mov ecx, edi - 000b7 33 f6 xor esi, esi - 000b9 e8 00 00 00 00 call _zip64local_getShort - 000be 83 c4 04 add esp, 4 - 000c1 85 c0 test eax, eax - 000c3 0f 84 46 01 00 - 00 je $LN23@LoadCentra - -; 755 : err=ZIP_ERRNO; - - 000c9 c7 45 fc ff ff - ff ff mov DWORD PTR _err$[ebp], -1 - -; 756 : else - - 000d0 e9 3f 01 00 00 jmp $LN22@LoadCentra -$LN51@LoadCentra: - -; 673 : } -; 674 : -; 675 : /* disable to allow appending to empty ZIP archive -; 676 : if (central_pos==0) -; 677 : err=ZIP_ERRNO; -; 678 : */ -; 679 : -; 680 : if(hasZIP64Record) -; 681 : { -; 682 : ZPOS64_T sizeEndOfCentralDirectory; -; 683 : if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, central_pos, ZLIB_FILEFUNC_SEEK_SET) != 0) - - 000d5 8b 77 2c mov esi, DWORD PTR [edi+44] - 000d8 52 push edx - 000d9 50 push eax - 000da 33 d2 xor edx, edx - 000dc 8b c7 mov eax, edi - 000de e8 00 00 00 00 call _call_zseek64 - 000e3 83 c4 08 add esp, 8 - -; 684 : err=ZIP_ERRNO; - - 000e6 83 ce ff or esi, -1 - 000e9 85 c0 test eax, eax - 000eb 74 03 je SHORT $LN41@LoadCentra - 000ed 89 75 fc mov DWORD PTR _err$[ebp], esi -$LN41@LoadCentra: - -; 685 : -; 686 : /* the signature, already checked */ -; 687 : if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&uL)!=ZIP_OK) - - 000f0 8d 45 f4 lea eax, DWORD PTR _uL$[ebp] - 000f3 50 push eax - 000f4 8b 47 2c mov eax, DWORD PTR [edi+44] - 000f7 8b cf mov ecx, edi - 000f9 e8 00 00 00 00 call _zip64local_getLong - 000fe 83 c4 04 add esp, 4 - 00101 85 c0 test eax, eax - 00103 74 03 je SHORT $LN40@LoadCentra - -; 688 : err=ZIP_ERRNO; - - 00105 89 75 fc mov DWORD PTR _err$[ebp], esi -$LN40@LoadCentra: - -; 689 : -; 690 : /* size of zip64 end of central directory record */ -; 691 : if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream, &sizeEndOfCentralDirectory)!=ZIP_OK) - - 00108 8b 47 2c mov eax, DWORD PTR [edi+44] - 0010b 8d 4d c8 lea ecx, DWORD PTR _sizeEndOfCentralDirectory$82917[ebp] - 0010e 51 push ecx - 0010f 8b cf mov ecx, edi - 00111 e8 00 00 00 00 call _zip64local_getLong64 - 00116 83 c4 04 add esp, 4 - 00119 85 c0 test eax, eax - 0011b 74 03 je SHORT $LN39@LoadCentra - -; 692 : err=ZIP_ERRNO; - - 0011d 89 75 fc mov DWORD PTR _err$[ebp], esi -$LN39@LoadCentra: - -; 693 : -; 694 : /* version made by */ -; 695 : if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &VersionMadeBy)!=ZIP_OK) - - 00120 8b 47 2c mov eax, DWORD PTR [edi+44] - 00123 8d 55 e4 lea edx, DWORD PTR _VersionMadeBy$[ebp] - 00126 52 push edx - 00127 8b cf mov ecx, edi - 00129 e8 00 00 00 00 call _zip64local_getShort - 0012e 83 c4 04 add esp, 4 - 00131 85 c0 test eax, eax - 00133 74 03 je SHORT $LN38@LoadCentra - -; 696 : err=ZIP_ERRNO; - - 00135 89 75 fc mov DWORD PTR _err$[ebp], esi -$LN38@LoadCentra: - -; 697 : -; 698 : /* version needed to extract */ -; 699 : if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &VersionNeeded)!=ZIP_OK) - - 00138 8d 45 e4 lea eax, DWORD PTR _VersionNeeded$[ebp] - 0013b 50 push eax - 0013c 8b 47 2c mov eax, DWORD PTR [edi+44] - 0013f 8b cf mov ecx, edi - 00141 e8 00 00 00 00 call _zip64local_getShort - 00146 83 c4 04 add esp, 4 - 00149 85 c0 test eax, eax - 0014b 74 03 je SHORT $LN37@LoadCentra - -; 700 : err=ZIP_ERRNO; - - 0014d 89 75 fc mov DWORD PTR _err$[ebp], esi -$LN37@LoadCentra: - -; 701 : -; 702 : /* number of this disk */ -; 703 : if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&number_disk)!=ZIP_OK) - - 00150 8b 47 2c mov eax, DWORD PTR [edi+44] - 00153 8d 4d e4 lea ecx, DWORD PTR _number_disk$[ebp] - 00156 51 push ecx - 00157 8b cf mov ecx, edi - 00159 e8 00 00 00 00 call _zip64local_getLong - 0015e 83 c4 04 add esp, 4 - 00161 85 c0 test eax, eax - 00163 74 03 je SHORT $LN36@LoadCentra - -; 704 : err=ZIP_ERRNO; - - 00165 89 75 fc mov DWORD PTR _err$[ebp], esi -$LN36@LoadCentra: - -; 705 : -; 706 : /* number of the disk with the start of the central directory */ -; 707 : if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream,&number_disk_with_CD)!=ZIP_OK) - - 00168 8b 47 2c mov eax, DWORD PTR [edi+44] - 0016b 8d 55 ec lea edx, DWORD PTR _number_disk_with_CD$[ebp] - 0016e 52 push edx - 0016f 8b cf mov ecx, edi - 00171 e8 00 00 00 00 call _zip64local_getLong - 00176 83 c4 04 add esp, 4 - 00179 85 c0 test eax, eax - 0017b 74 03 je SHORT $LN35@LoadCentra - -; 708 : err=ZIP_ERRNO; - - 0017d 89 75 fc mov DWORD PTR _err$[ebp], esi -$LN35@LoadCentra: - -; 709 : -; 710 : /* total number of entries in the central directory on this disk */ -; 711 : if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream, &number_entry)!=ZIP_OK) - - 00180 8d 45 c8 lea eax, DWORD PTR _number_entry$[ebp] - 00183 50 push eax - 00184 8b 47 2c mov eax, DWORD PTR [edi+44] - 00187 8b cf mov ecx, edi - 00189 e8 00 00 00 00 call _zip64local_getLong64 - 0018e 83 c4 04 add esp, 4 - 00191 85 c0 test eax, eax - 00193 74 03 je SHORT $LN34@LoadCentra - -; 712 : err=ZIP_ERRNO; - - 00195 89 75 fc mov DWORD PTR _err$[ebp], esi -$LN34@LoadCentra: - -; 713 : -; 714 : /* total number of entries in the central directory */ -; 715 : if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream,&number_entry_CD)!=ZIP_OK) - - 00198 8b 47 2c mov eax, DWORD PTR [edi+44] - 0019b 8d 4d d0 lea ecx, DWORD PTR _number_entry_CD$[ebp] - 0019e 51 push ecx - 0019f 8b cf mov ecx, edi - 001a1 e8 00 00 00 00 call _zip64local_getLong64 - 001a6 83 c4 04 add esp, 4 - 001a9 85 c0 test eax, eax - 001ab 74 03 je SHORT $LN33@LoadCentra - -; 716 : err=ZIP_ERRNO; - - 001ad 89 75 fc mov DWORD PTR _err$[ebp], esi -$LN33@LoadCentra: - -; 717 : -; 718 : if ((number_entry_CD!=number_entry) || (number_disk_with_CD!=0) || (number_disk!=0)) - - 001b0 8b 55 d0 mov edx, DWORD PTR _number_entry_CD$[ebp] - 001b3 3b 55 c8 cmp edx, DWORD PTR _number_entry$[ebp] - 001b6 75 12 jne SHORT $LN31@LoadCentra - 001b8 8b 45 d4 mov eax, DWORD PTR _number_entry_CD$[ebp+4] - 001bb 3b 45 cc cmp eax, DWORD PTR _number_entry$[ebp+4] - 001be 75 0a jne SHORT $LN31@LoadCentra - 001c0 39 5d ec cmp DWORD PTR _number_disk_with_CD$[ebp], ebx - 001c3 75 05 jne SHORT $LN31@LoadCentra - 001c5 39 5d e4 cmp DWORD PTR _number_disk$[ebp], ebx - 001c8 74 07 je SHORT $LN32@LoadCentra -$LN31@LoadCentra: - -; 719 : err=ZIP_BADZIPFILE; - - 001ca c7 45 fc 99 ff - ff ff mov DWORD PTR _err$[ebp], -103 ; ffffff99H -$LN32@LoadCentra: - -; 720 : -; 721 : /* size of the central directory */ -; 722 : if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream,&size_central_dir)!=ZIP_OK) - - 001d1 8b 47 2c mov eax, DWORD PTR [edi+44] - 001d4 8d 4d e8 lea ecx, DWORD PTR _size_central_dir$[ebp] - 001d7 51 push ecx - 001d8 8b cf mov ecx, edi - 001da e8 00 00 00 00 call _zip64local_getLong64 - 001df 83 c4 04 add esp, 4 - 001e2 85 c0 test eax, eax - 001e4 74 03 je SHORT $LN30@LoadCentra - -; 723 : err=ZIP_ERRNO; - - 001e6 89 75 fc mov DWORD PTR _err$[ebp], esi -$LN30@LoadCentra: - -; 724 : -; 725 : /* offset of start of central directory with respect to the -; 726 : starting disk number */ -; 727 : if (zip64local_getLong64(&pziinit->z_filefunc, pziinit->filestream,&offset_central_dir)!=ZIP_OK) - - 001e9 8b 47 2c mov eax, DWORD PTR [edi+44] - 001ec 8d 55 c8 lea edx, DWORD PTR _offset_central_dir$[ebp] - 001ef 52 push edx - 001f0 8b cf mov ecx, edi - 001f2 e8 00 00 00 00 call _zip64local_getLong64 - 001f7 83 c4 04 add esp, 4 - 001fa 85 c0 test eax, eax - 001fc 74 03 je SHORT $LN29@LoadCentra - -; 728 : err=ZIP_ERRNO; - - 001fe 89 75 fc mov DWORD PTR _err$[ebp], esi -$LN29@LoadCentra: - -; 729 : -; 730 : // TODO.. -; 731 : // read the comment from the standard central header. -; 732 : size_comment = 0; -; 733 : } -; 734 : else - - 00201 8b 75 c8 mov esi, DWORD PTR _offset_central_dir$[ebp] - 00204 89 5d e4 mov DWORD PTR _size_comment$[ebp], ebx - 00207 8b 5d cc mov ebx, DWORD PTR _offset_central_dir$[ebp+4] - 0020a e9 c7 00 00 00 jmp $LN13@LoadCentra -$LN23@LoadCentra: - -; 757 : number_entry = uL; - - 0020f 8b 75 f4 mov esi, DWORD PTR _uL$[ebp] - 00212 33 db xor ebx, ebx -$LN22@LoadCentra: - -; 758 : -; 759 : /* total number of entries in the central dir */ -; 760 : number_entry_CD = 0; - - 00214 33 c0 xor eax, eax - -; 761 : if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK) - - 00216 8d 4d f4 lea ecx, DWORD PTR _uL$[ebp] - 00219 89 45 d0 mov DWORD PTR _number_entry_CD$[ebp], eax - 0021c 89 45 d4 mov DWORD PTR _number_entry_CD$[ebp+4], eax - 0021f 8b 47 2c mov eax, DWORD PTR [edi+44] - 00222 51 push ecx - 00223 8b cf mov ecx, edi - 00225 e8 00 00 00 00 call _zip64local_getShort - 0022a 83 c4 04 add esp, 4 - 0022d 85 c0 test eax, eax - 0022f 74 0b je SHORT $LN21@LoadCentra - -; 762 : err=ZIP_ERRNO; - - 00231 c7 45 fc ff ff - ff ff mov DWORD PTR _err$[ebp], -1 - -; 763 : else - - 00238 33 c0 xor eax, eax - 0023a eb 0b jmp SHORT $LN20@LoadCentra -$LN21@LoadCentra: - -; 764 : number_entry_CD = uL; - - 0023c 8b 55 f4 mov edx, DWORD PTR _uL$[ebp] - 0023f 33 c0 xor eax, eax - 00241 89 55 d0 mov DWORD PTR _number_entry_CD$[ebp], edx - 00244 89 45 d4 mov DWORD PTR _number_entry_CD$[ebp+4], eax -$LN20@LoadCentra: - -; 765 : -; 766 : if ((number_entry_CD!=number_entry) || (number_disk_with_CD!=0) || (number_disk!=0)) - - 00247 39 75 d0 cmp DWORD PTR _number_entry_CD$[ebp], esi - 0024a 75 0f jne SHORT $LN18@LoadCentra - 0024c 39 5d d4 cmp DWORD PTR _number_entry_CD$[ebp+4], ebx - 0024f 75 0a jne SHORT $LN18@LoadCentra - 00251 39 45 ec cmp DWORD PTR _number_disk_with_CD$[ebp], eax - 00254 75 05 jne SHORT $LN18@LoadCentra - 00256 39 45 e4 cmp DWORD PTR _number_disk$[ebp], eax - 00259 74 07 je SHORT $LN19@LoadCentra -$LN18@LoadCentra: - -; 767 : err=ZIP_BADZIPFILE; - - 0025b c7 45 fc 99 ff - ff ff mov DWORD PTR _err$[ebp], -103 ; ffffff99H -$LN19@LoadCentra: - -; 768 : -; 769 : /* size of the central directory */ -; 770 : size_central_dir = 0; - - 00262 89 45 e8 mov DWORD PTR _size_central_dir$[ebp], eax - 00265 89 45 ec mov DWORD PTR _size_central_dir$[ebp+4], eax - -; 771 : if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK) - - 00268 8d 45 f4 lea eax, DWORD PTR _uL$[ebp] - 0026b 50 push eax - 0026c 8b 47 2c mov eax, DWORD PTR [edi+44] - 0026f 8b cf mov ecx, edi - 00271 e8 00 00 00 00 call _zip64local_getLong - 00276 83 c4 04 add esp, 4 - 00279 85 c0 test eax, eax - 0027b 74 09 je SHORT $LN17@LoadCentra - -; 772 : err=ZIP_ERRNO; - - 0027d c7 45 fc ff ff - ff ff mov DWORD PTR _err$[ebp], -1 - -; 773 : else - - 00284 eb 0d jmp SHORT $LN16@LoadCentra -$LN17@LoadCentra: - -; 774 : size_central_dir = uL; - - 00286 8b 4d f4 mov ecx, DWORD PTR _uL$[ebp] - 00289 89 4d e8 mov DWORD PTR _size_central_dir$[ebp], ecx - 0028c c7 45 ec 00 00 - 00 00 mov DWORD PTR _size_central_dir$[ebp+4], 0 -$LN16@LoadCentra: - -; 775 : -; 776 : /* offset of start of central directory with respect to the starting disk number */ -; 777 : offset_central_dir = 0; -; 778 : if (zip64local_getLong(&pziinit->z_filefunc, pziinit->filestream, &uL)!=ZIP_OK) - - 00293 8b 47 2c mov eax, DWORD PTR [edi+44] - 00296 8d 55 f4 lea edx, DWORD PTR _uL$[ebp] - 00299 52 push edx - 0029a 8b cf mov ecx, edi - 0029c 33 f6 xor esi, esi - 0029e 33 db xor ebx, ebx - 002a0 e8 00 00 00 00 call _zip64local_getLong - 002a5 83 c4 04 add esp, 4 - 002a8 85 c0 test eax, eax - 002aa 74 09 je SHORT $LN15@LoadCentra - -; 779 : err=ZIP_ERRNO; - - 002ac c7 45 fc ff ff - ff ff mov DWORD PTR _err$[ebp], -1 - -; 780 : else - - 002b3 eb 05 jmp SHORT $LN14@LoadCentra -$LN15@LoadCentra: - -; 781 : offset_central_dir = uL; - - 002b5 8b 75 f4 mov esi, DWORD PTR _uL$[ebp] - 002b8 33 db xor ebx, ebx -$LN14@LoadCentra: - -; 782 : -; 783 : -; 784 : /* zipfile global comment length */ -; 785 : if (zip64local_getShort(&pziinit->z_filefunc, pziinit->filestream, &size_comment)!=ZIP_OK) - - 002ba 8d 45 e4 lea eax, DWORD PTR _size_comment$[ebp] - 002bd 50 push eax - 002be 8b 47 2c mov eax, DWORD PTR [edi+44] - 002c1 8b cf mov ecx, edi - 002c3 e8 00 00 00 00 call _zip64local_getShort - 002c8 83 c4 04 add esp, 4 - 002cb 85 c0 test eax, eax - 002cd 74 07 je SHORT $LN13@LoadCentra - -; 786 : err=ZIP_ERRNO; - - 002cf c7 45 fc ff ff - ff ff mov DWORD PTR _err$[ebp], -1 -$LN13@LoadCentra: - -; 787 : } -; 788 : -; 789 : if ((central_posz_filefunc, pziinit->filestream); - - 002f6 8b 4f 2c mov ecx, DWORD PTR [edi+44] - 002f9 8b 57 1c mov edx, DWORD PTR [edi+28] - 002fc 8b 47 14 mov eax, DWORD PTR [edi+20] - 002ff 51 push ecx - 00300 52 push edx - 00301 ff d0 call eax - 00303 83 c4 08 add esp, 8 - -; 796 : return ZIP_ERRNO; - - 00306 83 c8 ff or eax, -1 - -; 842 : } - - 00309 5e pop esi - 0030a 5b pop ebx - 0030b 8b e5 mov esp, ebp - 0030d 5d pop ebp - 0030e c3 ret 0 -$LN11@LoadCentra: - -; 797 : } -; 798 : -; 799 : if (size_comment>0) - - 0030f 8b 55 e4 mov edx, DWORD PTR _size_comment$[ebp] - 00312 85 d2 test edx, edx - 00314 74 39 je SHORT $LN9@LoadCentra - -; 800 : { -; 801 : pziinit->globalcomment = (char*)ALLOC(size_comment+1); - - 00316 42 inc edx - 00317 52 push edx - 00318 e8 00 00 00 00 call _malloc - 0031d 83 c4 04 add esp, 4 - 00320 89 87 00 01 01 - 00 mov DWORD PTR [edi+65792], eax - -; 802 : if (pziinit->globalcomment) - - 00326 85 c0 test eax, eax - 00328 74 1f je SHORT $LN64@LoadCentra - -; 803 : { -; 804 : size_comment = ZREAD64(pziinit->z_filefunc, pziinit->filestream, pziinit->globalcomment,size_comment); - - 0032a 8b 4d e4 mov ecx, DWORD PTR _size_comment$[ebp] - 0032d 8b 57 2c mov edx, DWORD PTR [edi+44] - 00330 51 push ecx - 00331 8b 4f 04 mov ecx, DWORD PTR [edi+4] - 00334 50 push eax - 00335 8b 47 1c mov eax, DWORD PTR [edi+28] - 00338 52 push edx - 00339 50 push eax - 0033a ff d1 call ecx - -; 805 : pziinit->globalcomment[size_comment]=0; - - 0033c 8b 97 00 01 01 - 00 mov edx, DWORD PTR [edi+65792] - 00342 83 c4 10 add esp, 16 ; 00000010H - 00345 c6 04 10 00 mov BYTE PTR [eax+edx], 0 -$LN64@LoadCentra: - 00349 8b 45 dc mov eax, DWORD PTR _central_pos$[ebp+4] - 0034c 8b 4d d8 mov ecx, DWORD PTR _central_pos$[ebp] -$LN9@LoadCentra: - -; 806 : } -; 807 : } -; 808 : -; 809 : byte_before_the_zipfile = central_pos - (offset_central_dir+size_central_dir); - - 0034f 8b 55 ec mov edx, DWORD PTR _size_central_dir$[ebp+4] - 00352 2b ce sub ecx, esi - 00354 1b c3 sbb eax, ebx - 00356 2b 4d e8 sub ecx, DWORD PTR _size_central_dir$[ebp] - -; 810 : pziinit->add_position_when_writting_offset = byte_before_the_zipfile; -; 811 : -; 812 : { -; 813 : ZPOS64_T size_central_dir_to_read = size_central_dir; -; 814 : size_t buf_size = SIZEDATA_INDATABLOCK; -; 815 : void* buf_read = (void*)ALLOC(buf_size); - - 00359 68 f0 0f 00 00 push 4080 ; 00000ff0H - 0035e 1b c2 sbb eax, edx - 00360 89 45 f4 mov DWORD PTR _byte_before_the_zipfile$[ebp+4], eax - 00363 89 87 f4 00 01 - 00 mov DWORD PTR [edi+65780], eax - 00369 8b 45 e8 mov eax, DWORD PTR _size_central_dir$[ebp] - 0036c 89 4d f0 mov DWORD PTR _byte_before_the_zipfile$[ebp], ecx - 0036f 89 8f f0 00 01 - 00 mov DWORD PTR [edi+65776], ecx - 00375 89 45 d8 mov DWORD PTR _size_central_dir_to_read$82952[ebp], eax - 00378 89 55 dc mov DWORD PTR _size_central_dir_to_read$82952[ebp+4], edx - 0037b e8 00 00 00 00 call _malloc - -; 816 : if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, offset_central_dir + byte_before_the_zipfile, ZLIB_FILEFUNC_SEEK_SET) != 0) - - 00380 8b 4d f4 mov ecx, DWORD PTR _byte_before_the_zipfile$[ebp+4] - 00383 89 45 e4 mov DWORD PTR _buf_read$82954[ebp], eax - 00386 8b 45 f0 mov eax, DWORD PTR _byte_before_the_zipfile$[ebp] - 00389 83 c4 04 add esp, 4 - 0038c 03 c6 add eax, esi - 0038e 8b 77 2c mov esi, DWORD PTR [edi+44] - 00391 13 cb adc ecx, ebx - 00393 51 push ecx - 00394 89 45 c8 mov DWORD PTR tv439[ebp], eax - 00397 50 push eax - 00398 33 d2 xor edx, edx - 0039a 8b c7 mov eax, edi - 0039c 89 4d cc mov DWORD PTR tv439[ebp+4], ecx - 0039f e8 00 00 00 00 call _call_zseek64 - 003a4 83 c4 08 add esp, 8 - 003a7 85 c0 test eax, eax - 003a9 74 07 je SHORT $LN48@LoadCentra - -; 817 : err=ZIP_ERRNO; - - 003ab c7 45 fc ff ff - ff ff mov DWORD PTR _err$[ebp], -1 -$LN48@LoadCentra: - -; 818 : -; 819 : while ((size_central_dir_to_read>0) && (err==ZIP_OK)) - - 003b2 83 7d ec 00 cmp DWORD PTR _size_central_dir$[ebp+4], 0 - 003b6 77 06 ja SHORT $LN7@LoadCentra - 003b8 83 7d e8 00 cmp DWORD PTR _size_central_dir$[ebp], 0 - 003bc 76 78 jbe SHORT $LN58@LoadCentra -$LN7@LoadCentra: - 003be 83 7d fc 00 cmp DWORD PTR _err$[ebp], 0 - 003c2 75 72 jne SHORT $LN58@LoadCentra - -; 820 : { -; 821 : ZPOS64_T read_this = SIZEDATA_INDATABLOCK; -; 822 : if (read_this > size_central_dir_to_read) - - 003c4 8b 5d dc mov ebx, DWORD PTR _size_central_dir_to_read$82952[ebp+4] - 003c7 be f0 0f 00 00 mov esi, 4080 ; 00000ff0H - 003cc c7 45 ec 00 00 - 00 00 mov DWORD PTR _read_this$82960[ebp+4], 0 - 003d3 85 db test ebx, ebx - 003d5 77 0d ja SHORT $LN5@LoadCentra - 003d7 72 05 jb SHORT $LN56@LoadCentra - 003d9 39 75 d8 cmp DWORD PTR _size_central_dir_to_read$82952[ebp], esi - 003dc 73 06 jae SHORT $LN5@LoadCentra -$LN56@LoadCentra: - -; 823 : read_this = size_central_dir_to_read; - - 003de 8b 75 d8 mov esi, DWORD PTR _size_central_dir_to_read$82952[ebp] - 003e1 89 5d ec mov DWORD PTR _read_this$82960[ebp+4], ebx -$LN5@LoadCentra: - -; 824 : -; 825 : if (ZREAD64(pziinit->z_filefunc, pziinit->filestream,buf_read,(uLong)read_this) != read_this) - - 003e4 8b 4d e4 mov ecx, DWORD PTR _buf_read$82954[ebp] - 003e7 8b 57 2c mov edx, DWORD PTR [edi+44] - 003ea 8b 47 1c mov eax, DWORD PTR [edi+28] - 003ed 56 push esi - 003ee 51 push ecx - 003ef 8b 4f 04 mov ecx, DWORD PTR [edi+4] - 003f2 52 push edx - 003f3 50 push eax - 003f4 ff d1 call ecx - 003f6 83 c4 10 add esp, 16 ; 00000010H - 003f9 33 c9 xor ecx, ecx - 003fb 3b c6 cmp eax, esi - 003fd 75 05 jne SHORT $LN57@LoadCentra - 003ff 3b 4d ec cmp ecx, DWORD PTR _read_this$82960[ebp+4] - 00402 74 09 je SHORT $LN52@LoadCentra -$LN57@LoadCentra: - -; 826 : err=ZIP_ERRNO; - - 00404 c7 45 fc ff ff - ff ff mov DWORD PTR _err$[ebp], -1 - -; 827 : -; 828 : if (err==ZIP_OK) - - 0040b eb 14 jmp SHORT $LN3@LoadCentra -$LN52@LoadCentra: - -; 829 : err = add_data_in_datablock(&pziinit->central_dir,buf_read, (uLong)read_this); - - 0040d 8b 55 e4 mov edx, DWORD PTR _buf_read$82954[ebp] - 00410 56 push esi - 00411 52 push edx - 00412 8d 47 30 lea eax, DWORD PTR [edi+48] - 00415 50 push eax - 00416 e8 00 00 00 00 call _add_data_in_datablock - 0041b 83 c4 0c add esp, 12 ; 0000000cH - 0041e 89 45 fc mov DWORD PTR _err$[ebp], eax -$LN3@LoadCentra: - -; 830 : -; 831 : size_central_dir_to_read-=read_this; - - 00421 29 75 d8 sub DWORD PTR _size_central_dir_to_read$82952[ebp], esi - 00424 1b 5d ec sbb ebx, DWORD PTR _read_this$82960[ebp+4] - 00427 89 5d dc mov DWORD PTR _size_central_dir_to_read$82952[ebp+4], ebx - 0042a 85 db test ebx, ebx - 0042c 77 90 ja SHORT $LN7@LoadCentra - -; 818 : -; 819 : while ((size_central_dir_to_read>0) && (err==ZIP_OK)) - - 0042e 72 06 jb SHORT $LN58@LoadCentra - 00430 83 7d d8 00 cmp DWORD PTR _size_central_dir_to_read$82952[ebp], 0 - 00434 77 88 ja SHORT $LN7@LoadCentra -$LN58@LoadCentra: - -; 832 : } -; 833 : TRYFREE(buf_read); - - 00436 8b 45 e4 mov eax, DWORD PTR _buf_read$82954[ebp] - 00439 85 c0 test eax, eax - 0043b 74 09 je SHORT $LN2@LoadCentra - 0043d 50 push eax - 0043e e8 00 00 00 00 call _free - 00443 83 c4 04 add esp, 4 -$LN2@LoadCentra: - -; 834 : } -; 835 : pziinit->begin_pos = byte_before_the_zipfile; - - 00446 8b 55 f4 mov edx, DWORD PTR _byte_before_the_zipfile$[ebp+4] - -; 836 : pziinit->number_entry = number_entry_CD; - - 00449 8b 45 d0 mov eax, DWORD PTR _number_entry_CD$[ebp] - 0044c 8b 4d f0 mov ecx, DWORD PTR _byte_before_the_zipfile$[ebp] - -; 837 : -; 838 : if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, offset_central_dir+byte_before_the_zipfile,ZLIB_FILEFUNC_SEEK_SET) != 0) - - 0044f 8b 77 2c mov esi, DWORD PTR [edi+44] - 00452 89 97 ec 00 01 - 00 mov DWORD PTR [edi+65772], edx - 00458 8b 55 cc mov edx, DWORD PTR tv439[ebp+4] - 0045b 89 87 f8 00 01 - 00 mov DWORD PTR [edi+65784], eax - 00461 8b 45 c8 mov eax, DWORD PTR tv439[ebp] - 00464 52 push edx - 00465 89 8f e8 00 01 - 00 mov DWORD PTR [edi+65768], ecx - 0046b 8b 4d d4 mov ecx, DWORD PTR _number_entry_CD$[ebp+4] - 0046e 50 push eax - 0046f 33 d2 xor edx, edx - 00471 8b c7 mov eax, edi - 00473 89 8f fc 00 01 - 00 mov DWORD PTR [edi+65788], ecx - 00479 e8 00 00 00 00 call _call_zseek64 - 0047e 83 c4 08 add esp, 8 - 00481 85 c0 test eax, eax - 00483 74 07 je SHORT $LN1@LoadCentra - -; 839 : err=ZIP_ERRNO; - - 00485 c7 45 fc ff ff - ff ff mov DWORD PTR _err$[ebp], -1 -$LN1@LoadCentra: - -; 840 : -; 841 : return err; - - 0048c 8b 45 fc mov eax, DWORD PTR _err$[ebp] - -; 842 : } - - 0048f 5e pop esi - 00490 5b pop ebx - 00491 8b e5 mov esp, ebp - 00493 5d pop ebp - 00494 c3 ret 0 -_LoadCentralDirectoryRecord ENDP -PUBLIC _zipCloseFileInZipRaw64@16 -; Function compile flags: /Ogtp -; COMDAT _zipCloseFileInZipRaw64@16 -_TEXT SEGMENT -_err$ = -28 ; size = 4 -tv525 = -24 ; size = 4 -_datasize$ = -24 ; size = 2 -_cur_pos_inzip$83552 = -24 ; size = 8 -_compressed_size$ = -16 ; size = 8 -tv511 = -8 ; size = 8 -_file$ = 8 ; size = 4 -_uncompressed_size$ = 12 ; size = 8 -_crc32$ = 20 ; size = 4 -_zipCloseFileInZipRaw64@16 PROC ; COMDAT - -; 1515 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 83 ec 1c sub esp, 28 ; 0000001cH - 00009 53 push ebx - -; 1516 : zip64_internal* zi; -; 1517 : ZPOS64_T compressed_size; -; 1518 : uLong invalidValue = 0xffffffff; -; 1519 : short datasize = 0; -; 1520 : int err=ZIP_OK; -; 1521 : -; 1522 : if (file == NULL) - - 0000a 8b 5d 08 mov ebx, DWORD PTR _file$[ebp] - 0000d 33 c0 xor eax, eax - 0000f 56 push esi - 00010 57 push edi - 00011 89 44 24 10 mov DWORD PTR _datasize$[esp+40], eax - 00015 89 44 24 0c mov DWORD PTR _err$[esp+40], eax - 00019 3b d8 cmp ebx, eax - 0001b 75 0e jne SHORT $LN45@zipCloseFi -$LN89@zipCloseFi: - -; 1523 : return ZIP_PARAMERROR; - - 0001d b8 9a ff ff ff mov eax, -102 ; ffffff9aH - -; 1745 : zi->in_opened_file_inzip = 0; -; 1746 : -; 1747 : return err; -; 1748 : } - - 00022 5f pop edi - 00023 5e pop esi - 00024 5b pop ebx - 00025 8b e5 mov esp, ebp - 00027 5d pop ebp - 00028 c2 10 00 ret 16 ; 00000010H -$LN45@zipCloseFi: - -; 1524 : zi = (zip64_internal*)file; -; 1525 : -; 1526 : if (zi->in_opened_file_inzip == 0) - - 0002b 39 43 38 cmp DWORD PTR [ebx+56], eax - -; 1527 : return ZIP_PARAMERROR; - - 0002e 74 ed je SHORT $LN89@zipCloseFi - -; 1528 : zi->ci.stream.avail_in = 0; -; 1529 : -; 1530 : if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) - - 00030 83 bb 9c 00 00 - 00 08 cmp DWORD PTR [ebx+156], 8 - 00037 89 43 44 mov DWORD PTR [ebx+68], eax - 0003a 75 4e jne SHORT $LN36@zipCloseFi - 0003c 39 83 a0 00 00 - 00 cmp DWORD PTR [ebx+160], eax - 00042 75 46 jne SHORT $LN36@zipCloseFi - 00044 8d 7b 40 lea edi, DWORD PTR [ebx+64] -$LN42@zipCloseFi: - -; 1531 : { -; 1532 : while (err==ZIP_OK) -; 1533 : { -; 1534 : uLong uTotalOutBefore; -; 1535 : if (zi->ci.stream.avail_out == 0) - - 00047 83 7b 50 00 cmp DWORD PTR [ebx+80], 0 - 0004b 75 15 jne SHORT $LN40@zipCloseFi - -; 1536 : { -; 1537 : if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) - - 0004d e8 00 00 00 00 call _zip64FlushWriteBuffer - -; 1538 : err = ZIP_ERRNO; -; 1539 : zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; -; 1540 : zi->ci.stream.next_out = zi->ci.buffered_data; - - 00052 8d 83 a4 00 00 - 00 lea eax, DWORD PTR [ebx+164] - 00058 c7 43 50 00 00 - 01 00 mov DWORD PTR [ebx+80], 65536 ; 00010000H - 0005f 89 43 4c mov DWORD PTR [ebx+76], eax -$LN40@zipCloseFi: - -; 1541 : } -; 1542 : uTotalOutBefore = zi->ci.stream.total_out; - - 00062 8b 73 54 mov esi, DWORD PTR [ebx+84] - -; 1543 : err=deflate(&zi->ci.stream, Z_FINISH); - - 00065 6a 04 push 4 - 00067 57 push edi - 00068 e8 00 00 00 00 call _deflate@8 - -; 1544 : zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ; - - 0006d 8b 4b 54 mov ecx, DWORD PTR [ebx+84] - 00070 2b ce sub ecx, esi - 00072 01 4b 7c add DWORD PTR [ebx+124], ecx - 00075 89 44 24 0c mov DWORD PTR _err$[esp+40], eax - 00079 85 c0 test eax, eax - 0007b 74 ca je SHORT $LN42@zipCloseFi - -; 1545 : } -; 1546 : } -; 1547 : else if ((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw)) -; 1548 : { -; 1549 : #ifdef HAVE_BZIP2 -; 1550 : err = BZ_FINISH_OK; -; 1551 : while (err==BZ_FINISH_OK) -; 1552 : { -; 1553 : uLong uTotalOutBefore; -; 1554 : if (zi->ci.bstream.avail_out == 0) -; 1555 : { -; 1556 : if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) -; 1557 : err = ZIP_ERRNO; -; 1558 : zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE; -; 1559 : zi->ci.bstream.next_out = (char*)zi->ci.buffered_data; -; 1560 : } -; 1561 : uTotalOutBefore = zi->ci.bstream.total_out_lo32; -; 1562 : err=BZ2_bzCompress(&zi->ci.bstream, BZ_FINISH); -; 1563 : if(err == BZ_STREAM_END) -; 1564 : err = Z_STREAM_END; -; 1565 : -; 1566 : zi->ci.pos_in_buffered_data += (uInt)(zi->ci.bstream.total_out_lo32 - uTotalOutBefore); -; 1567 : } -; 1568 : -; 1569 : if(err == BZ_FINISH_OK) -; 1570 : err = ZIP_OK; -; 1571 : #endif -; 1572 : } -; 1573 : -; 1574 : if (err==Z_STREAM_END) - - 0007d 83 f8 01 cmp eax, 1 - 00080 75 08 jne SHORT $LN36@zipCloseFi - -; 1575 : err=ZIP_OK; /* this is normal */ - - 00082 c7 44 24 0c 00 - 00 00 00 mov DWORD PTR _err$[esp+40], 0 -$LN36@zipCloseFi: - -; 1576 : -; 1577 : if ((zi->ci.pos_in_buffered_data>0) && (err==ZIP_OK)) - - 0008a 83 7b 7c 00 cmp DWORD PTR [ebx+124], 0 - 0008e 76 19 jbe SHORT $LN69@zipCloseFi - 00090 83 7c 24 0c 00 cmp DWORD PTR _err$[esp+40], 0 - 00095 75 12 jne SHORT $LN69@zipCloseFi - -; 1578 : { -; 1579 : if (zip64FlushWriteBuffer(zi)==ZIP_ERRNO) - - 00097 e8 00 00 00 00 call _zip64FlushWriteBuffer - 0009c 83 ce ff or esi, -1 - 0009f 3b c6 cmp eax, esi - 000a1 75 09 jne SHORT $LN34@zipCloseFi - -; 1580 : err = ZIP_ERRNO; - - 000a3 89 74 24 0c mov DWORD PTR _err$[esp+40], esi - 000a7 eb 03 jmp SHORT $LN34@zipCloseFi -$LN69@zipCloseFi: - 000a9 83 ce ff or esi, -1 -$LN34@zipCloseFi: - -; 1581 : } -; 1582 : -; 1583 : if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) - - 000ac 83 bb 9c 00 00 - 00 08 cmp DWORD PTR [ebx+156], 8 - 000b3 75 24 jne SHORT $LN33@zipCloseFi - 000b5 83 bb a0 00 00 - 00 00 cmp DWORD PTR [ebx+160], 0 - 000bc 75 3f jne SHORT $LN31@zipCloseFi - -; 1584 : { -; 1585 : int tmp_err = deflateEnd(&zi->ci.stream); - - 000be 8d 53 40 lea edx, DWORD PTR [ebx+64] - 000c1 52 push edx - 000c2 e8 00 00 00 00 call _deflateEnd@4 - -; 1586 : if (err == ZIP_OK) - - 000c7 83 7c 24 0c 00 cmp DWORD PTR _err$[esp+40], 0 - 000cc 75 04 jne SHORT $LN32@zipCloseFi - -; 1587 : err = tmp_err; - - 000ce 89 44 24 0c mov DWORD PTR _err$[esp+40], eax -$LN32@zipCloseFi: - -; 1588 : zi->ci.stream_initialised = 0; - - 000d2 c7 43 78 00 00 - 00 00 mov DWORD PTR [ebx+120], 0 -$LN33@zipCloseFi: - -; 1589 : } -; 1590 : #ifdef HAVE_BZIP2 -; 1591 : else if((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw)) -; 1592 : { -; 1593 : int tmperr = BZ2_bzCompressEnd(&zi->ci.bstream); -; 1594 : if (err==ZIP_OK) -; 1595 : err = tmperr; -; 1596 : zi->ci.stream_initialised = 0; -; 1597 : } -; 1598 : #endif -; 1599 : -; 1600 : if (!zi->ci.raw) - - 000d9 83 bb a0 00 00 - 00 00 cmp DWORD PTR [ebx+160], 0 - 000e0 75 1b jne SHORT $LN31@zipCloseFi - -; 1601 : { -; 1602 : crc32 = (uLong)zi->ci.crc32; - - 000e2 8b 83 a8 00 01 - 00 mov eax, DWORD PTR [ebx+65704] - -; 1603 : uncompressed_size = zi->ci.totalUncompressedData; - - 000e8 8b 8b c8 00 01 - 00 mov ecx, DWORD PTR [ebx+65736] - 000ee 8b 93 cc 00 01 - 00 mov edx, DWORD PTR [ebx+65740] - 000f4 89 45 14 mov DWORD PTR _crc32$[ebp], eax - 000f7 89 4d 0c mov DWORD PTR _uncompressed_size$[ebp], ecx - 000fa 89 55 10 mov DWORD PTR _uncompressed_size$[ebp+4], edx -$LN31@zipCloseFi: - -; 1604 : } -; 1605 : compressed_size = zi->ci.totalCompressedData; -; 1606 : -; 1607 : # ifndef NOCRYPT -; 1608 : compressed_size += zi->ci.crypt_header_size; - - 000fd 8b 83 e0 00 01 - 00 mov eax, DWORD PTR [ebx+65760] - 00103 99 cdq - 00104 03 83 c0 00 01 - 00 add eax, DWORD PTR [ebx+65728] - 0010a 13 93 c4 00 01 - 00 adc edx, DWORD PTR [ebx+65732] - 00110 89 44 24 18 mov DWORD PTR _compressed_size$[esp+40], eax - 00114 89 54 24 1c mov DWORD PTR _compressed_size$[esp+44], edx - -; 1609 : # endif -; 1610 : -; 1611 : // update Current Item crc and sizes, -; 1612 : if(compressed_size >= 0xffffffff || uncompressed_size >= 0xffffffff || zi->ci.pos_local_header >= 0xffffffff) - - 00118 85 d2 test edx, edx - 0011a 77 24 ja SHORT $LN55@zipCloseFi - 0011c 72 04 jb SHORT $LN53@zipCloseFi - 0011e 3b c6 cmp eax, esi - 00120 73 1e jae SHORT $LN55@zipCloseFi -$LN53@zipCloseFi: - 00122 83 7d 10 00 cmp DWORD PTR _uncompressed_size$[ebp+4], 0 - 00126 77 18 ja SHORT $LN55@zipCloseFi - 00128 72 05 jb SHORT $LN54@zipCloseFi - 0012a 39 75 0c cmp DWORD PTR _uncompressed_size$[ebp], esi - 0012d 73 11 jae SHORT $LN55@zipCloseFi -$LN54@zipCloseFi: - 0012f 83 bb 84 00 00 - 00 00 cmp DWORD PTR [ebx+132], 0 - 00136 77 08 ja SHORT $LN55@zipCloseFi - 00138 39 b3 80 00 00 - 00 cmp DWORD PTR [ebx+128], esi - 0013e 72 2c jb SHORT $LN30@zipCloseFi -$LN55@zipCloseFi: - -; 1613 : { -; 1614 : /*version Made by*/ -; 1615 : zip64local_putValue_inmemory(zi->ci.central_header+4,(uLong)45,2); - - 00140 8b bb 88 00 00 - 00 mov edi, DWORD PTR [ebx+136] - 00146 6a 00 push 0 - 00148 6a 2d push 45 ; 0000002dH - 0014a 83 c7 04 add edi, 4 - 0014d be 02 00 00 00 mov esi, 2 - 00152 e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1616 : /*version needed*/ -; 1617 : zip64local_putValue_inmemory(zi->ci.central_header+6,(uLong)45,2); - - 00157 8b bb 88 00 00 - 00 mov edi, DWORD PTR [ebx+136] - 0015d 6a 00 push 0 - 0015f 6a 2d push 45 ; 0000002dH - 00161 83 c7 06 add edi, 6 - 00164 e8 00 00 00 00 call _zip64local_putValue_inmemory - 00169 83 c4 10 add esp, 16 ; 00000010H -$LN30@zipCloseFi: - -; 1618 : -; 1619 : } -; 1620 : -; 1621 : zip64local_putValue_inmemory(zi->ci.central_header+16,crc32,4); /*crc*/ - - 0016c 8b bb 88 00 00 - 00 mov edi, DWORD PTR [ebx+136] - 00172 33 c0 xor eax, eax - 00174 50 push eax - 00175 89 44 24 28 mov DWORD PTR tv511[esp+48], eax - 00179 8b 45 14 mov eax, DWORD PTR _crc32$[ebp] - 0017c 50 push eax - 0017d 83 c7 10 add edi, 16 ; 00000010H - 00180 be 04 00 00 00 mov esi, 4 - 00185 e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1622 : -; 1623 : -; 1624 : if(compressed_size >= 0xffffffff) - - 0018a 8b 44 24 24 mov eax, DWORD PTR _compressed_size$[esp+52] - 0018e 83 c4 08 add esp, 8 - 00191 85 c0 test eax, eax - 00193 75 09 jne SHORT $LN56@zipCloseFi - 00195 8b 4c 24 18 mov ecx, DWORD PTR _compressed_size$[esp+40] - 00199 83 f9 ff cmp ecx, -1 - 0019c 72 06 jb SHORT $LN28@zipCloseFi -$LN56@zipCloseFi: - -; 1625 : zip64local_putValue_inmemory(zi->ci.central_header+20, invalidValue,4); /*compr size*/ - - 0019e 6a 00 push 0 - 001a0 6a ff push -1 - -; 1626 : else - - 001a2 eb 02 jmp SHORT $LN86@zipCloseFi -$LN28@zipCloseFi: - -; 1627 : zip64local_putValue_inmemory(zi->ci.central_header+20, compressed_size,4); /*compr size*/ - - 001a4 50 push eax - 001a5 51 push ecx -$LN86@zipCloseFi: - 001a6 8b bb 88 00 00 - 00 mov edi, DWORD PTR [ebx+136] - 001ac 83 c7 14 add edi, 20 ; 00000014H - 001af e8 00 00 00 00 call _zip64local_putValue_inmemory - 001b4 83 c4 08 add esp, 8 - -; 1628 : -; 1629 : /// set internal file attributes field -; 1630 : if (zi->ci.stream.data_type == Z_ASCII) - - 001b7 83 7b 6c 01 cmp DWORD PTR [ebx+108], 1 - 001bb 75 1a jne SHORT $LN26@zipCloseFi - -; 1631 : zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)Z_ASCII,2); - - 001bd 8b bb 88 00 00 - 00 mov edi, DWORD PTR [ebx+136] - 001c3 6a 00 push 0 - 001c5 6a 01 push 1 - 001c7 83 c7 24 add edi, 36 ; 00000024H - 001ca be 02 00 00 00 mov esi, 2 - 001cf e8 00 00 00 00 call _zip64local_putValue_inmemory - 001d4 83 c4 08 add esp, 8 -$LN26@zipCloseFi: - -; 1632 : -; 1633 : if(uncompressed_size >= 0xffffffff) - - 001d7 8b 4d 10 mov ecx, DWORD PTR _uncompressed_size$[ebp+4] - 001da 85 c9 test ecx, ecx - 001dc 75 08 jne SHORT $LN57@zipCloseFi - 001de 8b 45 0c mov eax, DWORD PTR _uncompressed_size$[ebp] - 001e1 83 f8 ff cmp eax, -1 - 001e4 72 06 jb SHORT $LN25@zipCloseFi -$LN57@zipCloseFi: - -; 1634 : zip64local_putValue_inmemory(zi->ci.central_header+24, invalidValue,4); /*uncompr size*/ - - 001e6 6a 00 push 0 - 001e8 6a ff push -1 - -; 1635 : else - - 001ea eb 02 jmp SHORT $LN87@zipCloseFi -$LN25@zipCloseFi: - -; 1636 : zip64local_putValue_inmemory(zi->ci.central_header+24, uncompressed_size,4); /*uncompr size*/ - - 001ec 51 push ecx - 001ed 50 push eax -$LN87@zipCloseFi: - 001ee 8b bb 88 00 00 - 00 mov edi, DWORD PTR [ebx+136] - 001f4 be 04 00 00 00 mov esi, 4 - 001f9 83 c7 18 add edi, 24 ; 00000018H - 001fc e8 00 00 00 00 call _zip64local_putValue_inmemory - 00201 83 c4 08 add esp, 8 - -; 1637 : -; 1638 : // Add ZIP64 extra info field for uncompressed size -; 1639 : if(uncompressed_size >= 0xffffffff) - - 00204 83 7d 10 00 cmp DWORD PTR _uncompressed_size$[ebp+4], 0 - 00208 77 08 ja SHORT $LN58@zipCloseFi - 0020a 83 c9 ff or ecx, -1 - 0020d 39 4d 0c cmp DWORD PTR _uncompressed_size$[ebp], ecx - 00210 72 0a jb SHORT $LN71@zipCloseFi -$LN58@zipCloseFi: - -; 1640 : datasize += 8; - - 00212 b8 08 00 00 00 mov eax, 8 - 00217 83 c9 ff or ecx, -1 - 0021a eb 04 jmp SHORT $LN23@zipCloseFi -$LN71@zipCloseFi: - 0021c 8b 44 24 10 mov eax, DWORD PTR _datasize$[esp+40] -$LN23@zipCloseFi: - -; 1641 : -; 1642 : // Add ZIP64 extra info field for compressed size -; 1643 : if(compressed_size >= 0xffffffff) - - 00220 83 7c 24 1c 00 cmp DWORD PTR _compressed_size$[esp+44], 0 - 00225 77 06 ja SHORT $LN59@zipCloseFi - 00227 39 4c 24 18 cmp DWORD PTR _compressed_size$[esp+40], ecx - 0022b 72 03 jb SHORT $LN22@zipCloseFi -$LN59@zipCloseFi: - -; 1644 : datasize += 8; - - 0022d 83 c0 08 add eax, 8 -$LN22@zipCloseFi: - -; 1645 : -; 1646 : // Add ZIP64 extra info field for relative offset to local file header of current file -; 1647 : if(zi->ci.pos_local_header >= 0xffffffff) - - 00230 83 bb 84 00 00 - 00 00 cmp DWORD PTR [ebx+132], 0 - 00237 77 08 ja SHORT $LN60@zipCloseFi - 00239 39 8b 80 00 00 - 00 cmp DWORD PTR [ebx+128], ecx - 0023f 72 03 jb SHORT $LN21@zipCloseFi -$LN60@zipCloseFi: - -; 1648 : datasize += 8; - - 00241 83 c0 08 add eax, 8 -$LN21@zipCloseFi: - -; 1649 : -; 1650 : if(datasize > 0) - - 00244 66 85 c0 test ax, ax - 00247 0f 8e f6 00 00 - 00 jle $LN20@zipCloseFi - -; 1651 : { -; 1652 : char* p = NULL; -; 1653 : -; 1654 : if((uLong)(datasize + 4) > zi->ci.size_centralExtraFree) - - 0024d 98 cwde - 0024e 89 44 24 10 mov DWORD PTR tv525[esp+40], eax - 00252 83 c0 04 add eax, 4 - 00255 3b 83 94 00 00 - 00 cmp eax, DWORD PTR [ebx+148] - 0025b 76 0e jbe SHORT $LN19@zipCloseFi - -; 1655 : { -; 1656 : // we can not write more data to the buffer that we have room for. -; 1657 : return ZIP_BADZIPFILE; - - 0025d b8 99 ff ff ff mov eax, -103 ; ffffff99H - -; 1745 : zi->in_opened_file_inzip = 0; -; 1746 : -; 1747 : return err; -; 1748 : } - - 00262 5f pop edi - 00263 5e pop esi - 00264 5b pop ebx - 00265 8b e5 mov esp, ebp - 00267 5d pop ebp - 00268 c2 10 00 ret 16 ; 00000010H -$LN19@zipCloseFi: - -; 1658 : } -; 1659 : -; 1660 : p = zi->ci.central_header + zi->ci.size_centralheader; - - 0026b 8b bb 88 00 00 - 00 mov edi, DWORD PTR [ebx+136] - 00271 03 bb 90 00 00 - 00 add edi, DWORD PTR [ebx+144] - -; 1661 : -; 1662 : // Add Extra Information Header for 'ZIP64 information' -; 1663 : zip64local_putValue_inmemory(p, 0x0001, 2); // HeaderID - - 00277 6a 00 push 0 - 00279 6a 01 push 1 - 0027b be 02 00 00 00 mov esi, 2 - 00280 e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1664 : p += 2; -; 1665 : zip64local_putValue_inmemory(p, datasize, 2); // DataSize - - 00285 8b 44 24 18 mov eax, DWORD PTR tv525[esp+48] - 00289 99 cdq - 0028a 52 push edx - 0028b 03 fe add edi, esi - 0028d 50 push eax - 0028e e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1666 : p += 2; -; 1667 : -; 1668 : if(uncompressed_size >= 0xffffffff) - - 00293 8b 45 10 mov eax, DWORD PTR _uncompressed_size$[ebp+4] - 00296 83 c4 10 add esp, 16 ; 00000010H - 00299 03 fe add edi, esi - 0029b 85 c0 test eax, eax - 0029d 75 06 jne SHORT $LN61@zipCloseFi - 0029f 83 7d 0c ff cmp DWORD PTR _uncompressed_size$[ebp], -1 - 002a3 72 14 jb SHORT $LN18@zipCloseFi -$LN61@zipCloseFi: - -; 1669 : { -; 1670 : zip64local_putValue_inmemory(p, uncompressed_size, 8); - - 002a5 8b 4d 0c mov ecx, DWORD PTR _uncompressed_size$[ebp] - 002a8 50 push eax - 002a9 51 push ecx - 002aa be 08 00 00 00 mov esi, 8 - 002af e8 00 00 00 00 call _zip64local_putValue_inmemory - 002b4 83 c4 08 add esp, 8 - -; 1671 : p += 8; - - 002b7 03 fe add edi, esi -$LN18@zipCloseFi: - -; 1672 : } -; 1673 : -; 1674 : if(compressed_size >= 0xffffffff) - - 002b9 8b 44 24 1c mov eax, DWORD PTR _compressed_size$[esp+44] - 002bd 85 c0 test eax, eax - 002bf 75 07 jne SHORT $LN62@zipCloseFi - 002c1 83 7c 24 18 ff cmp DWORD PTR _compressed_size$[esp+40], -1 - 002c6 72 15 jb SHORT $LN17@zipCloseFi -$LN62@zipCloseFi: - -; 1675 : { -; 1676 : zip64local_putValue_inmemory(p, compressed_size, 8); - - 002c8 8b 54 24 18 mov edx, DWORD PTR _compressed_size$[esp+40] - 002cc 50 push eax - 002cd 52 push edx - 002ce be 08 00 00 00 mov esi, 8 - 002d3 e8 00 00 00 00 call _zip64local_putValue_inmemory - 002d8 83 c4 08 add esp, 8 - -; 1677 : p += 8; - - 002db 03 fe add edi, esi -$LN17@zipCloseFi: - -; 1678 : } -; 1679 : -; 1680 : if(zi->ci.pos_local_header >= 0xffffffff) - - 002dd 8b 83 84 00 00 - 00 mov eax, DWORD PTR [ebx+132] - 002e3 8b 8b 80 00 00 - 00 mov ecx, DWORD PTR [ebx+128] - 002e9 85 c0 test eax, eax - 002eb 75 05 jne SHORT $LN63@zipCloseFi - 002ed 83 f9 ff cmp ecx, -1 - 002f0 72 0f jb SHORT $LN16@zipCloseFi -$LN63@zipCloseFi: - -; 1681 : { -; 1682 : zip64local_putValue_inmemory(p, zi->ci.pos_local_header, 8); - - 002f2 50 push eax - 002f3 51 push ecx - 002f4 be 08 00 00 00 mov esi, 8 - 002f9 e8 00 00 00 00 call _zip64local_putValue_inmemory - 002fe 83 c4 08 add esp, 8 -$LN16@zipCloseFi: - -; 1683 : p += 8; -; 1684 : } -; 1685 : -; 1686 : // Update how much extra free space we got in the memory buffer -; 1687 : // and increase the centralheader size so the new ZIP64 fields are included -; 1688 : // ( 4 below is the size of HeaderID and DataSize field ) -; 1689 : zi->ci.size_centralExtraFree -= datasize + 4; - - 00301 8b 44 24 10 mov eax, DWORD PTR tv525[esp+40] - -; 1690 : zi->ci.size_centralheader += datasize + 4; -; 1691 : -; 1692 : // Update the extra info size field -; 1693 : zi->ci.size_centralExtra += datasize + 4; -; 1694 : zip64local_putValue_inmemory(zi->ci.central_header+30,(uLong)zi->ci.size_centralExtra,2); - - 00305 8b bb 88 00 00 - 00 mov edi, DWORD PTR [ebx+136] - 0030b 8d 50 04 lea edx, DWORD PTR [eax+4] - 0030e 01 93 90 00 00 - 00 add DWORD PTR [ebx+144], edx - 00314 b9 fc ff ff ff mov ecx, -4 ; fffffffcH - 00319 2b c8 sub ecx, eax - 0031b 01 8b 94 00 00 - 00 add DWORD PTR [ebx+148], ecx - 00321 83 c0 04 add eax, 4 - 00324 01 83 8c 00 00 - 00 add DWORD PTR [ebx+140], eax - 0032a 8b 83 8c 00 00 - 00 mov eax, DWORD PTR [ebx+140] - 00330 6a 00 push 0 - 00332 50 push eax - 00333 83 c7 1e add edi, 30 ; 0000001eH - 00336 be 02 00 00 00 mov esi, 2 - 0033b e8 00 00 00 00 call _zip64local_putValue_inmemory - 00340 83 c4 08 add esp, 8 -$LN20@zipCloseFi: - -; 1695 : } -; 1696 : -; 1697 : if (err==ZIP_OK) - - 00343 83 7c 24 0c 00 cmp DWORD PTR _err$[esp+40], 0 - 00348 75 1e jne SHORT $LN15@zipCloseFi - -; 1698 : err = add_data_in_datablock(&zi->central_dir, zi->ci.central_header, (uLong)zi->ci.size_centralheader); - - 0034a 8b 83 90 00 00 - 00 mov eax, DWORD PTR [ebx+144] - 00350 8b 8b 88 00 00 - 00 mov ecx, DWORD PTR [ebx+136] - 00356 50 push eax - 00357 51 push ecx - 00358 8d 53 30 lea edx, DWORD PTR [ebx+48] - 0035b 52 push edx - 0035c e8 00 00 00 00 call _add_data_in_datablock - 00361 83 c4 0c add esp, 12 ; 0000000cH - 00364 89 44 24 0c mov DWORD PTR _err$[esp+40], eax -$LN15@zipCloseFi: - -; 1699 : -; 1700 : free(zi->ci.central_header); - - 00368 8b 83 88 00 00 - 00 mov eax, DWORD PTR [ebx+136] - 0036e 50 push eax - 0036f e8 00 00 00 00 call _free - 00374 83 c4 04 add esp, 4 - -; 1701 : -; 1702 : if (err==ZIP_OK) - - 00377 83 7c 24 0c 00 cmp DWORD PTR _err$[esp+40], 0 - 0037c 0f 85 5d 01 00 - 00 jne $LN1@zipCloseFi - -; 1703 : { -; 1704 : // Update the LocalFileHeader with the new values. -; 1705 : -; 1706 : ZPOS64_T cur_pos_inzip = ZTELL64(zi->z_filefunc,zi->filestream); - - 00382 8b 4b 2c mov ecx, DWORD PTR [ebx+44] - 00385 8b c3 mov eax, ebx - 00387 e8 00 00 00 00 call _call_ztell64 - -; 1707 : -; 1708 : if (ZSEEK64(zi->z_filefunc,zi->filestream, zi->ci.pos_local_header + 14,ZLIB_FILEFUNC_SEEK_SET)!=0) - - 0038c 8b 8b 80 00 00 - 00 mov ecx, DWORD PTR [ebx+128] - 00392 8b 73 2c mov esi, DWORD PTR [ebx+44] - 00395 89 54 24 14 mov DWORD PTR _cur_pos_inzip$83552[esp+44], edx - 00399 8b 93 84 00 00 - 00 mov edx, DWORD PTR [ebx+132] - 0039f 83 c1 0e add ecx, 14 ; 0000000eH - 003a2 83 d2 00 adc edx, 0 - 003a5 52 push edx - 003a6 89 44 24 14 mov DWORD PTR _cur_pos_inzip$83552[esp+44], eax - 003aa 51 push ecx - 003ab 33 d2 xor edx, edx - 003ad 8b c3 mov eax, ebx - 003af e8 00 00 00 00 call _call_zseek64 - 003b4 83 c4 08 add esp, 8 - 003b7 85 c0 test eax, eax - 003b9 74 09 je SHORT $LN51@zipCloseFi - -; 1709 : err = ZIP_ERRNO; - - 003bb 83 cf ff or edi, -1 - 003be 89 7c 24 0c mov DWORD PTR _err$[esp+40], edi - -; 1710 : -; 1711 : if (err==ZIP_OK) - - 003c2 eb 22 jmp SHORT $LN12@zipCloseFi -$LN51@zipCloseFi: - -; 1712 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,crc32,4); /* crc 32, unknown */ - - 003c4 8b 44 24 24 mov eax, DWORD PTR tv511[esp+44] - 003c8 8b 4d 14 mov ecx, DWORD PTR _crc32$[ebp] - 003cb 8b 53 2c mov edx, DWORD PTR [ebx+44] - 003ce 50 push eax - 003cf 51 push ecx - 003d0 52 push edx - 003d1 be 04 00 00 00 mov esi, 4 - 003d6 8b fb mov edi, ebx - 003d8 e8 00 00 00 00 call _zip64local_putValue - 003dd 83 c4 0c add esp, 12 ; 0000000cH - 003e0 89 44 24 0c mov DWORD PTR _err$[esp+40], eax - 003e4 8b f8 mov edi, eax -$LN12@zipCloseFi: - -; 1713 : -; 1714 : if(uncompressed_size >= 0xffffffff || compressed_size >= 0xffffffff ) - - 003e6 83 7d 10 00 cmp DWORD PTR _uncompressed_size$[ebp+4], 0 - 003ea 77 4c ja SHORT $LN10@zipCloseFi - 003ec 72 06 jb SHORT $LN64@zipCloseFi - 003ee 83 7d 0c ff cmp DWORD PTR _uncompressed_size$[ebp], -1 - 003f2 73 44 jae SHORT $LN10@zipCloseFi -$LN64@zipCloseFi: - 003f4 8b 44 24 1c mov eax, DWORD PTR _compressed_size$[esp+44] - 003f8 85 c0 test eax, eax - 003fa 77 3c ja SHORT $LN10@zipCloseFi - 003fc 72 07 jb SHORT $LN65@zipCloseFi - 003fe 83 7c 24 18 ff cmp DWORD PTR _compressed_size$[esp+40], -1 - 00403 73 33 jae SHORT $LN10@zipCloseFi -$LN65@zipCloseFi: - -; 1730 : } -; 1731 : else -; 1732 : { -; 1733 : if (err==ZIP_OK) /* compressed size, unknown */ - - 00405 85 ff test edi, edi - 00407 0f 85 ad 00 00 - 00 jne $LN5@zipCloseFi - -; 1734 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,compressed_size,4); - - 0040d 8b 4b 2c mov ecx, DWORD PTR [ebx+44] - 00410 50 push eax - 00411 8b 44 24 1c mov eax, DWORD PTR _compressed_size$[esp+44] - 00415 50 push eax - 00416 8d 77 04 lea esi, DWORD PTR [edi+4] - 00419 51 push ecx - 0041a 8b fb mov edi, ebx - 0041c e8 00 00 00 00 call _zip64local_putValue - 00421 83 c4 0c add esp, 12 ; 0000000cH - 00424 89 44 24 0c mov DWORD PTR _err$[esp+40], eax - -; 1735 : -; 1736 : if (err==ZIP_OK) /* uncompressed size, unknown */ - - 00428 85 c0 test eax, eax - 0042a 0f 85 8a 00 00 - 00 jne $LN5@zipCloseFi - -; 1737 : err = zip64local_putValue(&zi->z_filefunc,zi->filestream,uncompressed_size,4); - - 00430 8b 55 10 mov edx, DWORD PTR _uncompressed_size$[ebp+4] - 00433 8b 45 0c mov eax, DWORD PTR _uncompressed_size$[ebp] - 00436 eb 66 jmp SHORT $LN90@zipCloseFi -$LN10@zipCloseFi: - -; 1715 : { -; 1716 : if(zi->ci.pos_zip64extrainfo > 0) - - 00438 8b 83 bc 00 01 - 00 mov eax, DWORD PTR [ebx+65724] - 0043e 8b 8b b8 00 01 - 00 mov ecx, DWORD PTR [ebx+65720] - 00444 85 c0 test eax, eax - 00446 75 04 jne SHORT $LN66@zipCloseFi - 00448 85 c9 test ecx, ecx - 0044a 74 66 je SHORT $LN9@zipCloseFi -$LN66@zipCloseFi: - -; 1717 : { -; 1718 : // Update the size in the ZIP64 extended field. -; 1719 : if (ZSEEK64(zi->z_filefunc,zi->filestream, zi->ci.pos_zip64extrainfo + 4,ZLIB_FILEFUNC_SEEK_SET)!=0) - - 0044c 8b 73 2c mov esi, DWORD PTR [ebx+44] - 0044f 83 c1 04 add ecx, 4 - 00452 83 d0 00 adc eax, 0 - 00455 50 push eax - 00456 51 push ecx - 00457 33 d2 xor edx, edx - 00459 8b c3 mov eax, ebx - 0045b e8 00 00 00 00 call _call_zseek64 - 00460 83 c4 08 add esp, 8 - 00463 85 c0 test eax, eax - 00465 74 0a je SHORT $LN8@zipCloseFi - -; 1720 : err = ZIP_ERRNO; - - 00467 c7 44 24 0c ff - ff ff ff mov DWORD PTR _err$[esp+40], -1 - -; 1721 : -; 1722 : if (err==ZIP_OK) /* compressed size, unknown */ - - 0046f eb 49 jmp SHORT $LN5@zipCloseFi -$LN8@zipCloseFi: - 00471 85 ff test edi, edi - 00473 75 45 jne SHORT $LN5@zipCloseFi - -; 1723 : err = zip64local_putValue(&zi->z_filefunc, zi->filestream, uncompressed_size, 8); - - 00475 8b 55 10 mov edx, DWORD PTR _uncompressed_size$[ebp+4] - 00478 8b 45 0c mov eax, DWORD PTR _uncompressed_size$[ebp] - 0047b 8b 4b 2c mov ecx, DWORD PTR [ebx+44] - 0047e 52 push edx - 0047f 50 push eax - 00480 8d 77 08 lea esi, DWORD PTR [edi+8] - 00483 51 push ecx - 00484 8b fb mov edi, ebx - 00486 e8 00 00 00 00 call _zip64local_putValue - 0048b 83 c4 0c add esp, 12 ; 0000000cH - 0048e 89 44 24 0c mov DWORD PTR _err$[esp+40], eax - -; 1724 : -; 1725 : if (err==ZIP_OK) /* uncompressed size, unknown */ - - 00492 85 c0 test eax, eax - 00494 75 24 jne SHORT $LN5@zipCloseFi - -; 1726 : err = zip64local_putValue(&zi->z_filefunc, zi->filestream, compressed_size, 8); - - 00496 8b 54 24 1c mov edx, DWORD PTR _compressed_size$[esp+44] - 0049a 8b 44 24 18 mov eax, DWORD PTR _compressed_size$[esp+40] -$LN90@zipCloseFi: - 0049e 8b 4b 2c mov ecx, DWORD PTR [ebx+44] - 004a1 52 push edx - 004a2 50 push eax - 004a3 51 push ecx - 004a4 e8 00 00 00 00 call _zip64local_putValue - 004a9 83 c4 0c add esp, 12 ; 0000000cH - 004ac 89 44 24 0c mov DWORD PTR _err$[esp+40], eax - -; 1727 : } -; 1728 : else - - 004b0 eb 08 jmp SHORT $LN5@zipCloseFi -$LN9@zipCloseFi: - -; 1729 : err = ZIP_BADZIPFILE; // Caller passed zip64 = 0, so no room for zip64 info -> fatal - - 004b2 c7 44 24 0c 99 - ff ff ff mov DWORD PTR _err$[esp+40], -103 ; ffffff99H -$LN5@zipCloseFi: - -; 1738 : } -; 1739 : -; 1740 : if (ZSEEK64(zi->z_filefunc,zi->filestream, cur_pos_inzip,ZLIB_FILEFUNC_SEEK_SET)!=0) - - 004ba 8b 54 24 14 mov edx, DWORD PTR _cur_pos_inzip$83552[esp+44] - 004be 8b 44 24 10 mov eax, DWORD PTR _cur_pos_inzip$83552[esp+40] - 004c2 8b 73 2c mov esi, DWORD PTR [ebx+44] - 004c5 52 push edx - 004c6 50 push eax - 004c7 33 d2 xor edx, edx - 004c9 8b c3 mov eax, ebx - 004cb e8 00 00 00 00 call _call_zseek64 - 004d0 83 c4 08 add esp, 8 - 004d3 85 c0 test eax, eax - 004d5 74 08 je SHORT $LN1@zipCloseFi - -; 1741 : err = ZIP_ERRNO; - - 004d7 c7 44 24 0c ff - ff ff ff mov DWORD PTR _err$[esp+40], -1 -$LN1@zipCloseFi: - -; 1742 : } -; 1743 : -; 1744 : zi->number_entry ++; - - 004df 83 83 f8 00 01 - 00 01 add DWORD PTR [ebx+65784], 1 - 004e6 b8 00 00 00 00 mov eax, 0 - -; 1745 : zi->in_opened_file_inzip = 0; -; 1746 : -; 1747 : return err; -; 1748 : } - - 004eb 5f pop edi - 004ec 11 83 fc 00 01 - 00 adc DWORD PTR [ebx+65788], eax - 004f2 89 43 38 mov DWORD PTR [ebx+56], eax - 004f5 8b 44 24 08 mov eax, DWORD PTR _err$[esp+36] - 004f9 5e pop esi - 004fa 5b pop ebx - 004fb 8b e5 mov esp, ebp - 004fd 5d pop ebp - 004fe c2 10 00 ret 16 ; 00000010H -_zipCloseFileInZipRaw64@16 ENDP -_TEXT ENDS -PUBLIC _zipCloseFileInZipRaw@12 -; Function compile flags: /Ogtp -; COMDAT _zipCloseFileInZipRaw@12 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_uncompressed_size$ = 12 ; size = 4 -_crc32$ = 16 ; size = 4 -_zipCloseFileInZipRaw@12 PROC ; COMDAT - -; 1510 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - -; 1511 : return zipCloseFileInZipRaw64 (file, uncompressed_size, crc32); - - 00006 8b 45 10 mov eax, DWORD PTR _crc32$[ebp] - 00009 8b 4d 0c mov ecx, DWORD PTR _uncompressed_size$[ebp] - 0000c 8b 55 08 mov edx, DWORD PTR _file$[ebp] - 0000f 50 push eax - 00010 6a 00 push 0 - 00012 51 push ecx - 00013 52 push edx - 00014 e8 00 00 00 00 call _zipCloseFileInZipRaw64@16 - -; 1512 : } - - 00019 8b e5 mov esp, ebp - 0001b 5d pop ebp - 0001c c2 0c 00 ret 12 ; 0000000cH -_zipCloseFileInZipRaw@12 ENDP -_TEXT ENDS -PUBLIC _zipWriteInFileInZip@12 -; Function compile flags: /Ogtp -; COMDAT _zipWriteInFileInZip@12 -_TEXT SEGMENT -_err$ = -4 ; size = 4 -_file$ = 8 ; size = 4 -_buf$ = 12 ; size = 4 -_len$ = 16 ; size = 4 -_zipWriteInFileInZip@12 PROC ; COMDAT - -; 1403 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 51 push ecx - 00004 53 push ebx - -; 1404 : zip64_internal* zi; -; 1405 : int err=ZIP_OK; -; 1406 : -; 1407 : if (file == NULL) - - 00005 8b 5d 08 mov ebx, DWORD PTR _file$[ebp] - 00008 c7 45 fc 00 00 - 00 00 mov DWORD PTR _err$[ebp], 0 - 0000f 85 db test ebx, ebx - 00011 75 0c jne SHORT $LN15@zipWriteIn -$LN24@zipWriteIn: - -; 1408 : return ZIP_PARAMERROR; - - 00013 b8 9a ff ff ff mov eax, -102 ; ffffff9aH - 00018 5b pop ebx - -; 1507 : } - - 00019 8b e5 mov esp, ebp - 0001b 5d pop ebp - 0001c c2 0c 00 ret 12 ; 0000000cH -$LN15@zipWriteIn: - -; 1409 : zi = (zip64_internal*)file; -; 1410 : -; 1411 : if (zi->in_opened_file_inzip == 0) - - 0001f 83 7b 38 00 cmp DWORD PTR [ebx+56], 0 - -; 1412 : return ZIP_PARAMERROR; - - 00023 74 ee je SHORT $LN24@zipWriteIn - -; 1413 : -; 1414 : zi->ci.crc32 = crc32(zi->ci.crc32,buf,(uInt)len); - - 00025 8b 45 0c mov eax, DWORD PTR _buf$[ebp] - 00028 8b 8b a8 00 01 - 00 mov ecx, DWORD PTR [ebx+65704] - 0002e 56 push esi - 0002f 8b 75 10 mov esi, DWORD PTR _len$[ebp] - 00032 57 push edi - 00033 56 push esi - 00034 50 push eax - 00035 51 push ecx - 00036 e8 00 00 00 00 call _crc32@12 - -; 1415 : -; 1416 : #ifdef HAVE_BZIP2 -; 1417 : if(zi->ci.method == Z_BZIP2ED && (!zi->ci.raw)) -; 1418 : { -; 1419 : zi->ci.bstream.next_in = (void*)buf; -; 1420 : zi->ci.bstream.avail_in = len; -; 1421 : err = BZ_RUN_OK; -; 1422 : -; 1423 : while ((err==BZ_RUN_OK) && (zi->ci.bstream.avail_in>0)) -; 1424 : { -; 1425 : if (zi->ci.bstream.avail_out == 0) -; 1426 : { -; 1427 : if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) -; 1428 : err = ZIP_ERRNO; -; 1429 : zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE; -; 1430 : zi->ci.bstream.next_out = (char*)zi->ci.buffered_data; -; 1431 : } -; 1432 : -; 1433 : -; 1434 : if(err != BZ_RUN_OK) -; 1435 : break; -; 1436 : -; 1437 : if ((zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw)) -; 1438 : { -; 1439 : uLong uTotalOutBefore_lo = zi->ci.bstream.total_out_lo32; -; 1440 : // uLong uTotalOutBefore_hi = zi->ci.bstream.total_out_hi32; -; 1441 : err=BZ2_bzCompress(&zi->ci.bstream, BZ_RUN); -; 1442 : -; 1443 : zi->ci.pos_in_buffered_data += (uInt)(zi->ci.bstream.total_out_lo32 - uTotalOutBefore_lo) ; -; 1444 : } -; 1445 : } -; 1446 : -; 1447 : if(err == BZ_RUN_OK) -; 1448 : err = ZIP_OK; -; 1449 : } -; 1450 : else -; 1451 : #endif -; 1452 : { -; 1453 : zi->ci.stream.next_in = (Bytef*)buf; - - 0003b 8b 55 0c mov edx, DWORD PTR _buf$[ebp] - 0003e 8d 7b 40 lea edi, DWORD PTR [ebx+64] - 00041 89 83 a8 00 01 - 00 mov DWORD PTR [ebx+65704], eax - 00047 89 17 mov DWORD PTR [edi], edx - -; 1454 : zi->ci.stream.avail_in = len; - - 00049 89 73 44 mov DWORD PTR [ebx+68], esi - 0004c 8d 64 24 00 npad 4 -$LL13@zipWriteIn: - -; 1455 : -; 1456 : while ((err==ZIP_OK) && (zi->ci.stream.avail_in>0)) - - 00050 83 7b 44 00 cmp DWORD PTR [ebx+68], 0 - 00054 76 55 jbe SHORT $LN23@zipWriteIn - -; 1457 : { -; 1458 : if (zi->ci.stream.avail_out == 0) - - 00056 83 7b 50 00 cmp DWORD PTR [ebx+80], 0 - 0005a 75 1d jne SHORT $LN11@zipWriteIn - -; 1459 : { -; 1460 : if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) - - 0005c e8 00 00 00 00 call _zip64FlushWriteBuffer - 00061 83 f8 ff cmp eax, -1 - 00064 75 03 jne SHORT $LN10@zipWriteIn - -; 1461 : err = ZIP_ERRNO; - - 00066 89 45 fc mov DWORD PTR _err$[ebp], eax -$LN10@zipWriteIn: - -; 1462 : zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; -; 1463 : zi->ci.stream.next_out = zi->ci.buffered_data; - - 00069 8d 83 a4 00 00 - 00 lea eax, DWORD PTR [ebx+164] - 0006f c7 43 50 00 00 - 01 00 mov DWORD PTR [ebx+80], 65536 ; 00010000H - 00076 89 43 4c mov DWORD PTR [ebx+76], eax -$LN11@zipWriteIn: - -; 1464 : } -; 1465 : -; 1466 : -; 1467 : if(err != ZIP_OK) - - 00079 83 7d fc 00 cmp DWORD PTR _err$[ebp], 0 - 0007d 75 2c jne SHORT $LN23@zipWriteIn - -; 1468 : break; -; 1469 : -; 1470 : if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) - - 0007f 83 bb 9c 00 00 - 00 08 cmp DWORD PTR [ebx+156], 8 - 00086 75 2f jne SHORT $LN8@zipWriteIn - 00088 83 bb a0 00 00 - 00 00 cmp DWORD PTR [ebx+160], 0 - 0008f 75 26 jne SHORT $LN8@zipWriteIn - -; 1471 : { -; 1472 : uLong uTotalOutBefore = zi->ci.stream.total_out; - - 00091 8b 73 54 mov esi, DWORD PTR [ebx+84] - -; 1473 : err=deflate(&zi->ci.stream, Z_NO_FLUSH); - - 00094 6a 00 push 0 - 00096 57 push edi - 00097 e8 00 00 00 00 call _deflate@8 - -; 1474 : if(uTotalOutBefore > zi->ci.stream.total_out) -; 1475 : { -; 1476 : int bBreak = 0; -; 1477 : bBreak++; -; 1478 : } -; 1479 : -; 1480 : zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ; - - 0009c 8b 4b 54 mov ecx, DWORD PTR [ebx+84] - 0009f 2b ce sub ecx, esi - 000a1 01 4b 7c add DWORD PTR [ebx+124], ecx - 000a4 89 45 fc mov DWORD PTR _err$[ebp], eax - 000a7 85 c0 test eax, eax - 000a9 74 a5 je SHORT $LL13@zipWriteIn -$LN23@zipWriteIn: - -; 1501 : } -; 1502 : } -; 1503 : }// while(...) -; 1504 : } -; 1505 : -; 1506 : return err; - - 000ab 8b 45 fc mov eax, DWORD PTR _err$[ebp] - 000ae 5f pop edi - 000af 5e pop esi - 000b0 5b pop ebx - -; 1507 : } - - 000b1 8b e5 mov esp, ebp - 000b3 5d pop ebp - 000b4 c2 0c 00 ret 12 ; 0000000cH -$LN8@zipWriteIn: - -; 1481 : } -; 1482 : else -; 1483 : { -; 1484 : uInt copy_this,i; -; 1485 : if (zi->ci.stream.avail_in < zi->ci.stream.avail_out) - - 000b7 8b 43 50 mov eax, DWORD PTR [ebx+80] - 000ba 8b 73 44 mov esi, DWORD PTR [ebx+68] - 000bd 3b f0 cmp esi, eax - -; 1486 : copy_this = zi->ci.stream.avail_in; -; 1487 : else - - 000bf 72 02 jb SHORT $LN4@zipWriteIn - -; 1488 : copy_this = zi->ci.stream.avail_out; - - 000c1 8b f0 mov esi, eax -$LN4@zipWriteIn: - -; 1489 : -; 1490 : for (i = 0; i < copy_this; i++) - - 000c3 33 c0 xor eax, eax - 000c5 85 f6 test esi, esi - 000c7 74 17 je SHORT $LN1@zipWriteIn - 000c9 8d a4 24 00 00 - 00 00 npad 7 -$LL3@zipWriteIn: - -; 1491 : *(((char*)zi->ci.stream.next_out)+i) = -; 1492 : *(((const char*)zi->ci.stream.next_in)+i); - - 000d0 8b 17 mov edx, DWORD PTR [edi] - 000d2 8a 14 10 mov dl, BYTE PTR [eax+edx] - 000d5 8b 4b 4c mov ecx, DWORD PTR [ebx+76] - 000d8 88 14 08 mov BYTE PTR [eax+ecx], dl - 000db 40 inc eax - 000dc 3b c6 cmp eax, esi - 000de 72 f0 jb SHORT $LL3@zipWriteIn -$LN1@zipWriteIn: - -; 1493 : { -; 1494 : zi->ci.stream.avail_in -= copy_this; - - 000e0 29 73 44 sub DWORD PTR [ebx+68], esi - -; 1495 : zi->ci.stream.avail_out-= copy_this; - - 000e3 29 73 50 sub DWORD PTR [ebx+80], esi - -; 1496 : zi->ci.stream.next_in+= copy_this; - - 000e6 01 37 add DWORD PTR [edi], esi - -; 1497 : zi->ci.stream.next_out+= copy_this; - - 000e8 01 73 4c add DWORD PTR [ebx+76], esi - -; 1498 : zi->ci.stream.total_in+= copy_this; - - 000eb 01 73 48 add DWORD PTR [ebx+72], esi - -; 1499 : zi->ci.stream.total_out+= copy_this; - - 000ee 01 73 54 add DWORD PTR [ebx+84], esi - -; 1500 : zi->ci.pos_in_buffered_data += copy_this; - - 000f1 01 73 7c add DWORD PTR [ebx+124], esi - 000f4 e9 57 ff ff ff jmp $LL13@zipWriteIn -_zipWriteInFileInZip@12 ENDP -_TEXT ENDS -PUBLIC _zipOpen3@16 -EXTRN __chkstk:PROC -; Function compile flags: /Ogtp -; COMDAT _zipOpen3@16 -_TEXT SEGMENT -_ziinit$ = -65800 ; size = 65800 -_pathname$ = 8 ; size = 4 -_append$ = 12 ; size = 4 -_globalcomment$ = 16 ; size = 4 -_zipOpen3@16 PROC ; COMDAT -; _pzlib_filefunc64_32_def$ = ecx - -; 850 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 b8 0c 01 01 00 mov eax, 65804 ; 0001010cH - 0000b e8 00 00 00 00 call __chkstk - 00010 53 push ebx - 00011 56 push esi - -; 851 : zip64_internal ziinit; -; 852 : zip64_internal* zi; -; 853 : int err=ZIP_OK; - - 00012 33 db xor ebx, ebx - 00014 8b f1 mov esi, ecx - 00016 57 push edi - -; 854 : -; 855 : ziinit.z_filefunc.zseek32_file = NULL; - - 00017 89 5c 24 38 mov DWORD PTR _ziinit$[esp+65856], ebx - -; 856 : ziinit.z_filefunc.ztell32_file = NULL; - - 0001b 89 5c 24 34 mov DWORD PTR _ziinit$[esp+65852], ebx - -; 857 : if (pzlib_filefunc64_32_def==NULL) - - 0001f 3b f3 cmp esi, ebx - 00021 75 0b jne SHORT $LN11@zipOpen3 - -; 858 : fill_fopen64_filefunc(&ziinit.z_filefunc.zfile_func64); - - 00023 8d 44 24 10 lea eax, DWORD PTR _ziinit$[esp+65816] - 00027 e8 00 00 00 00 call _fill_fopen64_filefunc - -; 859 : else - - 0002c eb 0b jmp SHORT $LN10@zipOpen3 -$LN11@zipOpen3: - -; 860 : ziinit.z_filefunc = *pzlib_filefunc64_32_def; - - 0002e b9 0b 00 00 00 mov ecx, 11 ; 0000000bH - 00033 8d 7c 24 10 lea edi, DWORD PTR _ziinit$[esp+65816] - 00037 f3 a5 rep movsd -$LN10@zipOpen3: - -; 861 : -; 862 : ziinit.filestream = ZOPEN64(ziinit.z_filefunc, -; 863 : pathname, -; 864 : (append == APPEND_STATUS_CREATE) ? -; 865 : (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_CREATE) : -; 866 : (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_EXISTING)); - - 00039 8b 7d 0c mov edi, DWORD PTR _append$[ebp] - 0003c 8b 75 08 mov esi, DWORD PTR _pathname$[ebp] - 0003f 33 d2 xor edx, edx - 00041 3b fb cmp edi, ebx - 00043 0f 94 c2 sete dl - 00046 8d 44 24 10 lea eax, DWORD PTR _ziinit$[esp+65816] - 0004a 8d 14 95 07 00 - 00 00 lea edx, DWORD PTR [edx*4+7] - 00051 e8 00 00 00 00 call _call_zopen64 - 00056 8b f0 mov esi, eax - 00058 89 74 24 3c mov DWORD PTR _ziinit$[esp+65860], esi - -; 867 : -; 868 : if (ziinit.filestream == NULL) - - 0005c 3b f3 cmp esi, ebx - -; 869 : return NULL; - - 0005e 0f 84 83 00 00 - 00 je $LN15@zipOpen3 - -; 870 : -; 871 : if (append == APPEND_STATUS_CREATEAFTER) - - 00064 83 ff 01 cmp edi, 1 - 00067 75 11 jne SHORT $LN8@zipOpen3 - -; 872 : ZSEEK64(ziinit.z_filefunc,ziinit.filestream,0,SEEK_END); - - 00069 53 push ebx - 0006a 53 push ebx - 0006b 8d 57 01 lea edx, DWORD PTR [edi+1] - 0006e 8d 44 24 18 lea eax, DWORD PTR _ziinit$[esp+65824] - 00072 e8 00 00 00 00 call _call_zseek64 - 00077 83 c4 08 add esp, 8 -$LN8@zipOpen3: - -; 873 : -; 874 : ziinit.begin_pos = ZTELL64(ziinit.z_filefunc,ziinit.filestream); - - 0007a 8b ce mov ecx, esi - 0007c 8d 44 24 10 lea eax, DWORD PTR _ziinit$[esp+65816] - 00080 e8 00 00 00 00 call _call_ztell64 - 00085 89 84 24 f8 00 - 01 00 mov DWORD PTR _ziinit$[esp+131584], eax - -; 875 : ziinit.in_opened_file_inzip = 0; -; 876 : ziinit.ci.stream_initialised = 0; -; 877 : ziinit.number_entry = 0; -; 878 : ziinit.add_position_when_writting_offset = 0; -; 879 : init_linkedlist(&(ziinit.central_dir)); - - 0008c 8d 44 24 40 lea eax, DWORD PTR _ziinit$[esp+65864] - 00090 89 94 24 fc 00 - 01 00 mov DWORD PTR _ziinit$[esp+131588], edx - 00097 89 5c 24 48 mov DWORD PTR _ziinit$[esp+65872], ebx - 0009b 89 9c 24 88 00 - 00 00 mov DWORD PTR _ziinit$[esp+65936], ebx - 000a2 89 9c 24 08 01 - 01 00 mov DWORD PTR _ziinit$[esp+131600], ebx - 000a9 89 9c 24 0c 01 - 01 00 mov DWORD PTR _ziinit$[esp+131604], ebx - 000b0 89 9c 24 00 01 - 01 00 mov DWORD PTR _ziinit$[esp+131592], ebx - 000b7 89 9c 24 04 01 - 01 00 mov DWORD PTR _ziinit$[esp+131596], ebx - 000be e8 00 00 00 00 call _init_linkedlist - -; 880 : -; 881 : -; 882 : -; 883 : zi = (zip64_internal*)ALLOC(sizeof(zip64_internal)); - - 000c3 68 08 01 01 00 push 65800 ; 00010108H - 000c8 e8 00 00 00 00 call _malloc - 000cd 8b f0 mov esi, eax - 000cf 83 c4 04 add esp, 4 - -; 884 : if (zi==NULL) - - 000d2 3b f3 cmp esi, ebx - 000d4 75 1c jne SHORT $LN7@zipOpen3 - -; 885 : { -; 886 : ZCLOSE64(ziinit.z_filefunc,ziinit.filestream); - - 000d6 8b 44 24 3c mov eax, DWORD PTR _ziinit$[esp+65860] - 000da 8b 4c 24 2c mov ecx, DWORD PTR _ziinit$[esp+65844] - 000de 50 push eax - 000df 51 push ecx - 000e0 ff 54 24 2c call DWORD PTR _ziinit$[esp+65844] - 000e4 83 c4 08 add esp, 8 -$LN15@zipOpen3: - -; 887 : return NULL; - - 000e7 33 c0 xor eax, eax - -; 916 : return (zipFile)zi; -; 917 : } -; 918 : } - - 000e9 5f pop edi - 000ea 5e pop esi - 000eb 5b pop ebx - 000ec 8b e5 mov esp, ebp - 000ee 5d pop ebp - 000ef c2 0c 00 ret 12 ; 0000000cH -$LN7@zipOpen3: - -; 888 : } -; 889 : -; 890 : /* now we add file in a zipfile */ -; 891 : # ifndef NO_ADDFILEINEXISTINGZIP -; 892 : ziinit.globalcomment = NULL; - - 000f2 33 c9 xor ecx, ecx - 000f4 89 8c 24 10 01 - 01 00 mov DWORD PTR _ziinit$[esp+131608], ecx - -; 893 : if (append == APPEND_STATUS_ADDINZIP) - - 000fb 83 ff 02 cmp edi, 2 - 000fe 75 12 jne SHORT $LN14@zipOpen3 - -; 894 : { -; 895 : // Read and Cache Central Directory Records -; 896 : err = LoadCentralDirectoryRecord(&ziinit); - - 00100 8d 7c 24 10 lea edi, DWORD PTR _ziinit$[esp+65816] - 00104 e8 00 00 00 00 call _LoadCentralDirectoryRecord - 00109 8b 8c 24 10 01 - 01 00 mov ecx, DWORD PTR _ziinit$[esp+131608] - 00110 eb 02 jmp SHORT $LN6@zipOpen3 -$LN14@zipOpen3: - 00112 8b c1 mov eax, ecx -$LN6@zipOpen3: - -; 897 : } -; 898 : -; 899 : if (globalcomment) - - 00114 8b 55 10 mov edx, DWORD PTR _globalcomment$[ebp] - 00117 3b d3 cmp edx, ebx - 00119 74 02 je SHORT $LN5@zipOpen3 - -; 900 : { -; 901 : *globalcomment = ziinit.globalcomment; - - 0011b 89 0a mov DWORD PTR [edx], ecx -$LN5@zipOpen3: - -; 902 : } -; 903 : # endif /* !NO_ADDFILEINEXISTINGZIP*/ -; 904 : -; 905 : if (err != ZIP_OK) - - 0011d 3b c3 cmp eax, ebx - 0011f 74 21 je SHORT $LN4@zipOpen3 - -; 906 : { -; 907 : # ifndef NO_ADDFILEINEXISTINGZIP -; 908 : TRYFREE(ziinit.globalcomment); - - 00121 3b cb cmp ecx, ebx - 00123 74 09 je SHORT $LN3@zipOpen3 - 00125 51 push ecx - 00126 e8 00 00 00 00 call _free - 0012b 83 c4 04 add esp, 4 -$LN3@zipOpen3: - -; 909 : # endif /* !NO_ADDFILEINEXISTINGZIP*/ -; 910 : TRYFREE(zi); - - 0012e 56 push esi - 0012f e8 00 00 00 00 call _free - 00134 83 c4 04 add esp, 4 - -; 911 : return NULL; - - 00137 33 c0 xor eax, eax - -; 916 : return (zipFile)zi; -; 917 : } -; 918 : } - - 00139 5f pop edi - 0013a 5e pop esi - 0013b 5b pop ebx - 0013c 8b e5 mov esp, ebp - 0013e 5d pop ebp - 0013f c2 0c 00 ret 12 ; 0000000cH -$LN4@zipOpen3: - -; 912 : } -; 913 : else -; 914 : { -; 915 : *zi = ziinit; - - 00142 68 08 01 01 00 push 65800 ; 00010108H - 00147 8d 54 24 14 lea edx, DWORD PTR _ziinit$[esp+65820] - 0014b 52 push edx - 0014c 56 push esi - 0014d e8 00 00 00 00 call _memcpy - 00152 83 c4 0c add esp, 12 ; 0000000cH - -; 916 : return (zipFile)zi; -; 917 : } -; 918 : } - - 00155 5f pop edi - 00156 8b c6 mov eax, esi - 00158 5e pop esi - 00159 5b pop ebx - 0015a 8b e5 mov esp, ebp - 0015c 5d pop ebp - 0015d c2 0c 00 ret 12 ; 0000000cH -_zipOpen3@16 ENDP -PUBLIC _zipCloseFileInZip@4 -; Function compile flags: /Ogtp -; COMDAT _zipCloseFileInZip@4 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_zipCloseFileInZip@4 PROC ; COMDAT - -; 1751 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1752 : return zipCloseFileInZipRaw (file,0,0); - - 00003 8b 45 08 mov eax, DWORD PTR _file$[ebp] - 00006 6a 00 push 0 - 00008 6a 00 push 0 - 0000a 50 push eax - 0000b e8 00 00 00 00 call _zipCloseFileInZipRaw@12 - -; 1753 : } - - 00010 5d pop ebp - 00011 c2 04 00 ret 4 -_zipCloseFileInZip@4 ENDP -_TEXT ENDS -PUBLIC _zipOpenNewFileInZip4_64@76 -; Function compile flags: /Ogtp -; COMDAT _zipOpenNewFileInZip4_64@76 -_TEXT SEGMENT -_size_comment$ = -20 ; size = 4 -tv878 = -16 ; size = 4 -_size_filename$ = -16 ; size = 4 -_bufHead$83231 = -12 ; size = 12 -_file$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_zipfi$ = 16 ; size = 4 -_extrafield_local$ = 20 ; size = 4 -_size_extrafield_local$ = 24 ; size = 4 -_extrafield_global$ = 28 ; size = 4 -_size_extrafield_global$ = 32 ; size = 4 -_comment$ = 36 ; size = 4 -_method$ = 40 ; size = 4 -_level$ = 44 ; size = 4 -_raw$ = 48 ; size = 4 -_windowBits$ = 52 ; size = 4 -_memLevel$ = 56 ; size = 4 -_strategy$ = 60 ; size = 4 -_password$ = 64 ; size = 4 -_crcForCrypting$ = 68 ; size = 4 -_versionMadeBy$ = 72 ; size = 4 -_flagBase$ = 76 ; size = 4 -_zip64$ = 80 ; size = 4 -_zipOpenNewFileInZip4_64@76 PROC ; COMDAT - -; 1062 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 83 ec 14 sub esp, 20 ; 00000014H - 00009 53 push ebx - -; 1063 : zip64_internal* zi; -; 1064 : uInt size_filename; -; 1065 : uInt size_comment; -; 1066 : uInt i; -; 1067 : int err = ZIP_OK; -; 1068 : -; 1069 : # ifdef NOCRYPT -; 1070 : (crcForCrypting); -; 1071 : if (password != NULL) -; 1072 : return ZIP_PARAMERROR; -; 1073 : # endif -; 1074 : -; 1075 : if (file == NULL) - - 0000a 8b 5d 08 mov ebx, DWORD PTR _file$[ebp] - 0000d 56 push esi - 0000e 57 push edi - 0000f 33 ff xor edi, edi - 00011 3b df cmp ebx, edi - 00013 75 0e jne SHORT $LN41@zipOpenNew -$LN64@zipOpenNew: - -; 1076 : return ZIP_PARAMERROR; - - 00015 b8 9a ff ff ff mov eax, -102 ; ffffff9aH - -; 1263 : } - - 0001a 5f pop edi - 0001b 5e pop esi - 0001c 5b pop ebx - 0001d 8b e5 mov esp, ebp - 0001f 5d pop ebp - 00020 c2 4c 00 ret 76 ; 0000004cH -$LN41@zipOpenNew: - -; 1077 : -; 1078 : #ifdef HAVE_BZIP2 -; 1079 : if ((method!=0) && (method!=Z_DEFLATED) && (method!=Z_BZIP2ED)) -; 1080 : return ZIP_PARAMERROR; -; 1081 : #else -; 1082 : if ((method!=0) && (method!=Z_DEFLATED)) - - 00023 8b 45 28 mov eax, DWORD PTR _method$[ebp] - 00026 3b c7 cmp eax, edi - 00028 74 05 je SHORT $LN40@zipOpenNew - 0002a 83 f8 08 cmp eax, 8 - -; 1083 : return ZIP_PARAMERROR; - - 0002d 75 e6 jne SHORT $LN64@zipOpenNew -$LN40@zipOpenNew: - -; 1084 : #endif -; 1085 : -; 1086 : zi = (zip64_internal*)file; -; 1087 : -; 1088 : if (zi->in_opened_file_inzip == 1) - - 0002f 83 7b 38 01 cmp DWORD PTR [ebx+56], 1 - 00033 75 0e jne SHORT $LN38@zipOpenNew - -; 1089 : { -; 1090 : err = zipCloseFileInZip (file); - - 00035 53 push ebx - 00036 e8 00 00 00 00 call _zipCloseFileInZip@4 - -; 1091 : if (err != ZIP_OK) - - 0003b 3b c7 cmp eax, edi - -; 1092 : return err; - - 0003d 0f 85 7d 04 00 - 00 jne $LN42@zipOpenNew -$LN38@zipOpenNew: - -; 1093 : } -; 1094 : -; 1095 : if (filename==NULL) - - 00043 39 7d 0c cmp DWORD PTR _filename$[ebp], edi - 00046 75 07 jne SHORT $LN37@zipOpenNew - -; 1096 : filename="-"; - - 00048 c7 45 0c 00 00 - 00 00 mov DWORD PTR _filename$[ebp], OFFSET ??_C@_01JOAMLHOP@?9?$AA@ -$LN37@zipOpenNew: - -; 1097 : -; 1098 : if (comment==NULL) - - 0004f 8b 45 24 mov eax, DWORD PTR _comment$[ebp] - 00052 3b c7 cmp eax, edi - 00054 75 06 jne SHORT $LN36@zipOpenNew - -; 1099 : size_comment = 0; - - 00056 89 7c 24 0c mov DWORD PTR _size_comment$[esp+32], edi - -; 1100 : else - - 0005a eb 11 jmp SHORT $LN35@zipOpenNew -$LN36@zipOpenNew: - -; 1101 : size_comment = (uInt)strlen(comment); - - 0005c 8d 50 01 lea edx, DWORD PTR [eax+1] - 0005f 90 npad 1 -$LL52@zipOpenNew: - 00060 8a 08 mov cl, BYTE PTR [eax] - 00062 40 inc eax - 00063 84 c9 test cl, cl - 00065 75 f9 jne SHORT $LL52@zipOpenNew - 00067 2b c2 sub eax, edx - 00069 89 44 24 0c mov DWORD PTR _size_comment$[esp+32], eax -$LN35@zipOpenNew: - -; 1102 : -; 1103 : size_filename = (uInt)strlen(filename); - - 0006d 8b 45 0c mov eax, DWORD PTR _filename$[ebp] - 00070 8d 50 01 lea edx, DWORD PTR [eax+1] -$LL53@zipOpenNew: - 00073 8a 08 mov cl, BYTE PTR [eax] - 00075 40 inc eax - 00076 84 c9 test cl, cl - 00078 75 f9 jne SHORT $LL53@zipOpenNew - 0007a 2b c2 sub eax, edx - -; 1104 : -; 1105 : if (zipfi == NULL) - - 0007c 8b 55 10 mov edx, DWORD PTR _zipfi$[ebp] - 0007f 8b f0 mov esi, eax - 00081 89 74 24 10 mov DWORD PTR _size_filename$[esp+32], esi - 00085 3b d7 cmp edx, edi - 00087 75 08 jne SHORT $LN34@zipOpenNew - -; 1106 : zi->ci.dosDate = 0; - - 00089 89 bb a4 00 01 - 00 mov DWORD PTR [ebx+65700], edi - -; 1107 : else - - 0008f eb 12 jmp SHORT $LN31@zipOpenNew -$LN34@zipOpenNew: - -; 1108 : { -; 1109 : if (zipfi->dosDate != 0) - - 00091 8b 42 18 mov eax, DWORD PTR [edx+24] - 00094 3b c7 cmp eax, edi - -; 1110 : zi->ci.dosDate = zipfi->dosDate; -; 1111 : else - - 00096 75 05 jne SHORT $LN61@zipOpenNew - -; 1112 : zi->ci.dosDate = zip64local_TmzDateToDosDate(&zipfi->tmz_date); - - 00098 e8 00 00 00 00 call _zip64local_TmzDateToDosDate -$LN61@zipOpenNew: - 0009d 89 83 a4 00 01 - 00 mov DWORD PTR [ebx+65700], eax -$LN31@zipOpenNew: - -; 1113 : } -; 1114 : -; 1115 : zi->ci.flag = flagBase; -; 1116 : if ((level==8) || (level==9)) - - 000a3 8b 4d 2c mov ecx, DWORD PTR _level$[ebp] - 000a6 8b 45 4c mov eax, DWORD PTR _flagBase$[ebp] - 000a9 89 83 98 00 00 - 00 mov DWORD PTR [ebx+152], eax - 000af 83 f9 08 cmp ecx, 8 - 000b2 74 05 je SHORT $LN29@zipOpenNew - 000b4 83 f9 09 cmp ecx, 9 - 000b7 75 09 jne SHORT $LN30@zipOpenNew -$LN29@zipOpenNew: - -; 1117 : zi->ci.flag |= 2; - - 000b9 83 c8 02 or eax, 2 - 000bc 89 83 98 00 00 - 00 mov DWORD PTR [ebx+152], eax -$LN30@zipOpenNew: - -; 1118 : if ((level==2)) - - 000c2 83 f9 02 cmp ecx, 2 - 000c5 75 09 jne SHORT $LN28@zipOpenNew - -; 1119 : zi->ci.flag |= 4; - - 000c7 83 8b 98 00 00 - 00 04 or DWORD PTR [ebx+152], 4 - -; 1120 : if ((level==1)) - - 000ce eb 0c jmp SHORT $LN27@zipOpenNew -$LN28@zipOpenNew: - 000d0 83 f9 01 cmp ecx, 1 - 000d3 75 07 jne SHORT $LN27@zipOpenNew - -; 1121 : zi->ci.flag |= 6; - - 000d5 83 8b 98 00 00 - 00 06 or DWORD PTR [ebx+152], 6 -$LN27@zipOpenNew: - -; 1122 : if (password != NULL) - - 000dc 39 7d 40 cmp DWORD PTR _password$[ebp], edi - 000df 74 07 je SHORT $LN26@zipOpenNew - -; 1123 : zi->ci.flag |= 1; - - 000e1 83 8b 98 00 00 - 00 01 or DWORD PTR [ebx+152], 1 -$LN26@zipOpenNew: - -; 1124 : -; 1125 : zi->ci.crc32 = 0; -; 1126 : zi->ci.method = method; - - 000e8 8b 45 28 mov eax, DWORD PTR _method$[ebp] - -; 1127 : zi->ci.encrypt = 0; -; 1128 : zi->ci.stream_initialised = 0; -; 1129 : zi->ci.pos_in_buffered_data = 0; -; 1130 : zi->ci.raw = raw; - - 000eb 8b 4d 30 mov ecx, DWORD PTR _raw$[ebp] - 000ee 89 83 9c 00 00 - 00 mov DWORD PTR [ebx+156], eax - 000f4 89 8b a0 00 00 - 00 mov DWORD PTR [ebx+160], ecx - -; 1131 : zi->ci.pos_local_header = ZTELL64(zi->z_filefunc,zi->filestream); - - 000fa 8b 4b 2c mov ecx, DWORD PTR [ebx+44] - 000fd 8b c3 mov eax, ebx - 000ff 89 bb a8 00 01 - 00 mov DWORD PTR [ebx+65704], edi - 00105 89 bb ac 00 01 - 00 mov DWORD PTR [ebx+65708], edi - 0010b 89 7b 78 mov DWORD PTR [ebx+120], edi - 0010e 89 7b 7c mov DWORD PTR [ebx+124], edi - 00111 e8 00 00 00 00 call _call_ztell64 - 00116 89 83 80 00 00 - 00 mov DWORD PTR [ebx+128], eax - 0011c 89 93 84 00 00 - 00 mov DWORD PTR [ebx+132], edx - -; 1132 : -; 1133 : zi->ci.size_centralheader = SIZECENTRALHEADER + size_filename + size_extrafield_global + size_comment; - - 00122 8b 54 24 0c mov edx, DWORD PTR _size_comment$[esp+32] - 00126 8d 04 16 lea eax, DWORD PTR [esi+edx] - 00129 8b 75 20 mov esi, DWORD PTR _size_extrafield_global$[ebp] - 0012c 8d 44 30 2e lea eax, DWORD PTR [eax+esi+46] - 00130 89 83 90 00 00 - 00 mov DWORD PTR [ebx+144], eax - -; 1134 : zi->ci.size_centralExtraFree = 32; // Extra space we have reserved in case we need to add ZIP64 extra info data -; 1135 : -; 1136 : zi->ci.central_header = (char*)ALLOC((uInt)zi->ci.size_centralheader + zi->ci.size_centralExtraFree); - - 00136 83 c0 20 add eax, 32 ; 00000020H - 00139 50 push eax - 0013a c7 83 94 00 00 - 00 20 00 00 00 mov DWORD PTR [ebx+148], 32 ; 00000020H - 00144 e8 00 00 00 00 call _malloc - 00149 83 c4 04 add esp, 4 - -; 1137 : -; 1138 : zi->ci.size_centralExtra = size_extrafield_global; -; 1139 : zip64local_putValue_inmemory(zi->ci.central_header,(uLong)CENTRALHEADERMAGIC,4); - - 0014c 57 push edi - 0014d 89 b3 8c 00 00 - 00 mov DWORD PTR [ebx+140], esi - 00153 68 50 4b 01 02 push 33639248 ; 02014b50H - 00158 be 04 00 00 00 mov esi, 4 - 0015d 8b f8 mov edi, eax - 0015f 89 83 88 00 00 - 00 mov DWORD PTR [ebx+136], eax - 00165 e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1140 : /* version info */ -; 1141 : zip64local_putValue_inmemory(zi->ci.central_header+4,(uLong)versionMadeBy,2); - - 0016a 8b bb 88 00 00 - 00 mov edi, DWORD PTR [ebx+136] - 00170 8b 4d 48 mov ecx, DWORD PTR _versionMadeBy$[ebp] - 00173 6a 00 push 0 - 00175 03 fe add edi, esi - 00177 51 push ecx - 00178 be 02 00 00 00 mov esi, 2 - 0017d e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1142 : zip64local_putValue_inmemory(zi->ci.central_header+6,(uLong)20,2); - - 00182 8b bb 88 00 00 - 00 mov edi, DWORD PTR [ebx+136] - 00188 6a 00 push 0 - 0018a 6a 14 push 20 ; 00000014H - 0018c 83 c7 06 add edi, 6 - 0018f e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1143 : zip64local_putValue_inmemory(zi->ci.central_header+8,(uLong)zi->ci.flag,2); - - 00194 8b 93 98 00 00 - 00 mov edx, DWORD PTR [ebx+152] - 0019a 8b bb 88 00 00 - 00 mov edi, DWORD PTR [ebx+136] - 001a0 6a 00 push 0 - 001a2 52 push edx - 001a3 83 c7 08 add edi, 8 - 001a6 e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1144 : zip64local_putValue_inmemory(zi->ci.central_header+10,(uLong)zi->ci.method,2); - - 001ab 8b 83 9c 00 00 - 00 mov eax, DWORD PTR [ebx+156] - 001b1 8b bb 88 00 00 - 00 mov edi, DWORD PTR [ebx+136] - 001b7 6a 00 push 0 - 001b9 50 push eax - 001ba 83 c7 0a add edi, 10 ; 0000000aH - 001bd e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1145 : zip64local_putValue_inmemory(zi->ci.central_header+12,(uLong)zi->ci.dosDate,4); - - 001c2 8b 8b a4 00 01 - 00 mov ecx, DWORD PTR [ebx+65700] - 001c8 8b bb 88 00 00 - 00 mov edi, DWORD PTR [ebx+136] - 001ce 6a 00 push 0 - 001d0 51 push ecx - 001d1 83 c7 0c add edi, 12 ; 0000000cH - 001d4 be 04 00 00 00 mov esi, 4 - 001d9 e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1146 : zip64local_putValue_inmemory(zi->ci.central_header+16,(uLong)0,4); /*crc*/ - - 001de 8b bb 88 00 00 - 00 mov edi, DWORD PTR [ebx+136] - 001e4 6a 00 push 0 - 001e6 6a 00 push 0 - 001e8 83 c7 10 add edi, 16 ; 00000010H - 001eb e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1147 : zip64local_putValue_inmemory(zi->ci.central_header+20,(uLong)0,4); /*compr size*/ - - 001f0 8b bb 88 00 00 - 00 mov edi, DWORD PTR [ebx+136] - 001f6 6a 00 push 0 - 001f8 6a 00 push 0 - 001fa 83 c7 14 add edi, 20 ; 00000014H - 001fd e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1148 : zip64local_putValue_inmemory(zi->ci.central_header+24,(uLong)0,4); /*uncompr size*/ - - 00202 8b bb 88 00 00 - 00 mov edi, DWORD PTR [ebx+136] - 00208 83 c4 40 add esp, 64 ; 00000040H - 0020b 6a 00 push 0 - 0020d 6a 00 push 0 - 0020f 83 c7 18 add edi, 24 ; 00000018H - 00212 e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1149 : zip64local_putValue_inmemory(zi->ci.central_header+28,(uLong)size_filename,2); - - 00217 8b 54 24 18 mov edx, DWORD PTR _size_filename$[esp+40] - 0021b 8b bb 88 00 00 - 00 mov edi, DWORD PTR [ebx+136] - 00221 6a 00 push 0 - 00223 52 push edx - 00224 83 c7 1c add edi, 28 ; 0000001cH - 00227 be 02 00 00 00 mov esi, 2 - 0022c e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1150 : zip64local_putValue_inmemory(zi->ci.central_header+30,(uLong)size_extrafield_global,2); - - 00231 8b 45 20 mov eax, DWORD PTR _size_extrafield_global$[ebp] - 00234 8b bb 88 00 00 - 00 mov edi, DWORD PTR [ebx+136] - 0023a 6a 00 push 0 - 0023c 50 push eax - 0023d 83 c7 1e add edi, 30 ; 0000001eH - 00240 e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1151 : zip64local_putValue_inmemory(zi->ci.central_header+32,(uLong)size_comment,2); - - 00245 8b 4c 24 24 mov ecx, DWORD PTR _size_comment$[esp+56] - 00249 8b bb 88 00 00 - 00 mov edi, DWORD PTR [ebx+136] - 0024f 6a 00 push 0 - 00251 51 push ecx - 00252 83 c7 20 add edi, 32 ; 00000020H - 00255 e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1152 : zip64local_putValue_inmemory(zi->ci.central_header+34,(uLong)0,2); /*disk nm start*/ - - 0025a 8b bb 88 00 00 - 00 mov edi, DWORD PTR [ebx+136] - 00260 6a 00 push 0 - 00262 6a 00 push 0 - 00264 83 c7 22 add edi, 34 ; 00000022H - 00267 e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1153 : -; 1154 : if (zipfi==NULL) -; 1155 : zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)0,2); - - 0026c 8b bb 88 00 00 - 00 mov edi, DWORD PTR [ebx+136] - 00272 8b 45 10 mov eax, DWORD PTR _zipfi$[ebp] - 00275 83 c4 28 add esp, 40 ; 00000028H - 00278 83 c7 24 add edi, 36 ; 00000024H - 0027b 6a 00 push 0 - 0027d 85 c0 test eax, eax - 0027f 75 0f jne SHORT $LN25@zipOpenNew - 00281 50 push eax - 00282 e8 00 00 00 00 call _zip64local_putValue_inmemory - 00287 83 c4 08 add esp, 8 - -; 1158 : -; 1159 : if (zipfi==NULL) -; 1160 : zip64local_putValue_inmemory(zi->ci.central_header+38,(uLong)0,4); - - 0028a 6a 00 push 0 - 0028c 6a 00 push 0 - -; 1161 : else - - 0028e eb 15 jmp SHORT $LN62@zipOpenNew -$LN25@zipOpenNew: - -; 1156 : else -; 1157 : zip64local_putValue_inmemory(zi->ci.central_header+36,(uLong)zipfi->internal_fa,2); - - 00290 8b 50 1c mov edx, DWORD PTR [eax+28] - 00293 52 push edx - 00294 e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1162 : zip64local_putValue_inmemory(zi->ci.central_header+38,(uLong)zipfi->external_fa,4); - - 00299 8b 45 10 mov eax, DWORD PTR _zipfi$[ebp] - 0029c 8b 48 20 mov ecx, DWORD PTR [eax+32] - 0029f 83 c4 08 add esp, 8 - 002a2 6a 00 push 0 - 002a4 51 push ecx -$LN62@zipOpenNew: - 002a5 8b bb 88 00 00 - 00 mov edi, DWORD PTR [ebx+136] - 002ab be 04 00 00 00 mov esi, 4 - 002b0 83 c7 26 add edi, 38 ; 00000026H - 002b3 e8 00 00 00 00 call _zip64local_putValue_inmemory - 002b8 83 c4 08 add esp, 8 - -; 1163 : -; 1164 : if(zi->ci.pos_local_header >= 0xffffffff) - - 002bb 83 bb 84 00 00 - 00 00 cmp DWORD PTR [ebx+132], 0 - 002c2 77 09 ja SHORT $LN54@zipOpenNew - 002c4 83 bb 80 00 00 - 00 ff cmp DWORD PTR [ebx+128], -1 - 002cb 72 06 jb SHORT $LN21@zipOpenNew -$LN54@zipOpenNew: - -; 1165 : zip64local_putValue_inmemory(zi->ci.central_header+42,(uLong)0xffffffff,4); - - 002cd 6a 00 push 0 - 002cf 6a ff push -1 - -; 1166 : else - - 002d1 eb 16 jmp SHORT $LN63@zipOpenNew -$LN21@zipOpenNew: - -; 1167 : zip64local_putValue_inmemory(zi->ci.central_header+42,(uLong)zi->ci.pos_local_header - zi->add_position_when_writting_offset,4); - - 002d3 8b 93 80 00 00 - 00 mov edx, DWORD PTR [ebx+128] - 002d9 33 c0 xor eax, eax - 002db 2b 93 f0 00 01 - 00 sub edx, DWORD PTR [ebx+65776] - 002e1 1b 83 f4 00 01 - 00 sbb eax, DWORD PTR [ebx+65780] - 002e7 50 push eax - 002e8 52 push edx -$LN63@zipOpenNew: - 002e9 8b bb 88 00 00 - 00 mov edi, DWORD PTR [ebx+136] - 002ef be 04 00 00 00 mov esi, 4 - 002f4 83 c7 2a add edi, 42 ; 0000002aH - 002f7 e8 00 00 00 00 call _zip64local_putValue_inmemory - -; 1168 : -; 1169 : for (i=0;ici.central_header+SIZECENTRALHEADER+i) = *(filename+i); - - 00310 8b 7d 0c mov edi, DWORD PTR _filename$[ebp] - 00313 8b 93 88 00 00 - 00 mov edx, DWORD PTR [ebx+136] - 00319 89 4c 24 10 mov DWORD PTR tv878[esp+32], ecx - 0031d 8a 0c 38 mov cl, BYTE PTR [eax+edi] - 00320 88 4c 02 2e mov BYTE PTR [edx+eax+46], cl - 00324 8b 4c 24 10 mov ecx, DWORD PTR tv878[esp+32] - 00328 40 inc eax - 00329 3b c6 cmp eax, esi - 0032b 72 e3 jb SHORT $LL19@zipOpenNew -$LN17@zipOpenNew: - -; 1171 : -; 1172 : for (i=0;ici.central_header+SIZECENTRALHEADER+size_filename+i) = -; 1174 : *(((const char*)extrafield_global)+i); - - 00336 8b 8b 88 00 00 - 00 mov ecx, DWORD PTR [ebx+136] - 0033c 8b 55 1c mov edx, DWORD PTR _extrafield_global$[ebp] - 0033f 8a 14 10 mov dl, BYTE PTR [eax+edx] - 00342 03 c8 add ecx, eax - 00344 40 inc eax - 00345 88 54 31 2e mov BYTE PTR [ecx+esi+46], dl - 00349 3b c7 cmp eax, edi - 0034b 72 e9 jb SHORT $LN16@zipOpenNew - -; 1171 : -; 1172 : for (i=0;ici.central_header+SIZECENTRALHEADER+size_filename+ -; 1178 : size_extrafield_global+i) = *(comment+i); - - 00360 8b 8b 88 00 00 - 00 mov ecx, DWORD PTR [ebx+136] - 00366 8b 55 24 mov edx, DWORD PTR _comment$[ebp] - 00369 8a 14 10 mov dl, BYTE PTR [eax+edx] - 0036c 03 c8 add ecx, eax - 0036e 03 ce add ecx, esi - 00370 40 inc eax - 00371 88 54 39 2e mov BYTE PTR [ecx+edi+46], dl - 00375 3b 44 24 0c cmp eax, DWORD PTR _size_comment$[esp+32] - 00379 72 e5 jb SHORT $LL13@zipOpenNew - -; 1175 : -; 1176 : for (i=0;ici.central_header == NULL) - - 0037d 39 8b 88 00 00 - 00 cmp DWORD PTR [ebx+136], ecx - 00383 75 0e jne SHORT $LN10@zipOpenNew - -; 1180 : return ZIP_INTERNALERROR; - - 00385 b8 98 ff ff ff mov eax, -104 ; ffffff98H - -; 1263 : } - - 0038a 5f pop edi - 0038b 5e pop esi - 0038c 5b pop ebx - 0038d 8b e5 mov esp, ebp - 0038f 5d pop ebp - 00390 c2 4c 00 ret 76 ; 0000004cH -$LN10@zipOpenNew: - -; 1181 : -; 1182 : zi->ci.zip64 = zip64; - - 00393 8b 45 50 mov eax, DWORD PTR _zip64$[ebp] - -; 1183 : zi->ci.totalCompressedData = 0; -; 1184 : zi->ci.totalUncompressedData = 0; -; 1185 : zi->ci.pos_zip64extrainfo = 0; -; 1186 : -; 1187 : err = Write_LocalFileHeader(zi, filename, size_extrafield_local, extrafield_local); - - 00396 8b 55 18 mov edx, DWORD PTR _size_extrafield_local$[ebp] - 00399 89 8b c0 00 01 - 00 mov DWORD PTR [ebx+65728], ecx - 0039f 89 8b c4 00 01 - 00 mov DWORD PTR [ebx+65732], ecx - 003a5 89 8b c8 00 01 - 00 mov DWORD PTR [ebx+65736], ecx - 003ab 89 8b cc 00 01 - 00 mov DWORD PTR [ebx+65740], ecx - 003b1 89 8b b8 00 01 - 00 mov DWORD PTR [ebx+65720], ecx - 003b7 89 8b bc 00 01 - 00 mov DWORD PTR [ebx+65724], ecx - 003bd 8b 4d 14 mov ecx, DWORD PTR _extrafield_local$[ebp] - 003c0 51 push ecx - 003c1 89 83 b0 00 01 - 00 mov DWORD PTR [ebx+65712], eax - 003c7 8b 45 0c mov eax, DWORD PTR _filename$[ebp] - 003ca 52 push edx - 003cb 50 push eax - 003cc 8b c3 mov eax, ebx - 003ce e8 00 00 00 00 call _Write_LocalFileHeader - -; 1188 : -; 1189 : #ifdef HAVE_BZIP2 -; 1190 : zi->ci.bstream.avail_in = (uInt)0; -; 1191 : zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE; -; 1192 : zi->ci.bstream.next_out = (char*)zi->ci.buffered_data; -; 1193 : zi->ci.bstream.total_in_hi32 = 0; -; 1194 : zi->ci.bstream.total_in_lo32 = 0; -; 1195 : zi->ci.bstream.total_out_hi32 = 0; -; 1196 : zi->ci.bstream.total_out_lo32 = 0; -; 1197 : #endif -; 1198 : -; 1199 : zi->ci.stream.avail_in = (uInt)0; - - 003d3 33 f6 xor esi, esi - 003d5 8b f8 mov edi, eax - 003d7 83 c4 0c add esp, 12 ; 0000000cH - -; 1200 : zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; -; 1201 : zi->ci.stream.next_out = zi->ci.buffered_data; - - 003da 8d 8b a4 00 00 - 00 lea ecx, DWORD PTR [ebx+164] - 003e0 89 73 44 mov DWORD PTR [ebx+68], esi - 003e3 c7 43 50 00 00 - 01 00 mov DWORD PTR [ebx+80], 65536 ; 00010000H - 003ea 89 4b 4c mov DWORD PTR [ebx+76], ecx - -; 1202 : zi->ci.stream.total_in = 0; - - 003ed 89 73 48 mov DWORD PTR [ebx+72], esi - -; 1203 : zi->ci.stream.total_out = 0; - - 003f0 89 73 54 mov DWORD PTR [ebx+84], esi - -; 1204 : zi->ci.stream.data_type = Z_BINARY; - - 003f3 89 73 6c mov DWORD PTR [ebx+108], esi - -; 1205 : -; 1206 : #ifdef HAVE_BZIP2 -; 1207 : if ((err==ZIP_OK) && (zi->ci.method == Z_DEFLATED || zi->ci.method == Z_BZIP2ED) && (!zi->ci.raw)) -; 1208 : #else -; 1209 : if ((err==ZIP_OK) && (zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) - - 003f6 3b fe cmp edi, esi - 003f8 75 4f jne SHORT $LN6@zipOpenNew - 003fa 83 bb 9c 00 00 - 00 08 cmp DWORD PTR [ebx+156], 8 - 00401 75 46 jne SHORT $LN6@zipOpenNew - 00403 39 b3 a0 00 00 - 00 cmp DWORD PTR [ebx+160], esi - 00409 75 3e jne SHORT $LN6@zipOpenNew - -; 1210 : #endif -; 1211 : { -; 1212 : if(zi->ci.method == Z_DEFLATED) -; 1213 : { -; 1214 : zi->ci.stream.zalloc = (alloc_func)0; -; 1215 : zi->ci.stream.zfree = (free_func)0; -; 1216 : zi->ci.stream.opaque = (voidpf)0; -; 1217 : -; 1218 : if (windowBits>0) - - 0040b 8b 45 34 mov eax, DWORD PTR _windowBits$[ebp] - 0040e 89 73 60 mov DWORD PTR [ebx+96], esi - 00411 89 73 64 mov DWORD PTR [ebx+100], esi - 00414 89 73 68 mov DWORD PTR [ebx+104], esi - 00417 3b c6 cmp eax, esi - 00419 7e 02 jle SHORT $LN7@zipOpenNew - -; 1219 : windowBits = -windowBits; - - 0041b f7 d8 neg eax -$LN7@zipOpenNew: - -; 1220 : -; 1221 : err = deflateInit2(&zi->ci.stream, level, Z_DEFLATED, windowBits, memLevel, strategy); - - 0041d 8b 55 3c mov edx, DWORD PTR _strategy$[ebp] - 00420 8b 4d 38 mov ecx, DWORD PTR _memLevel$[ebp] - 00423 6a 38 push 56 ; 00000038H - 00425 68 00 00 00 00 push OFFSET ??_C@_05BOAHNBIE@1?42?46?$AA@ - 0042a 52 push edx - 0042b 8b 55 2c mov edx, DWORD PTR _level$[ebp] - 0042e 51 push ecx - 0042f 50 push eax - 00430 6a 08 push 8 - 00432 52 push edx - 00433 8d 43 40 lea eax, DWORD PTR [ebx+64] - 00436 50 push eax - 00437 e8 00 00 00 00 call _deflateInit2_@32 - 0043c 8b f8 mov edi, eax - -; 1222 : -; 1223 : if (err==Z_OK) - - 0043e 3b fe cmp edi, esi - 00440 75 07 jne SHORT $LN6@zipOpenNew - -; 1224 : zi->ci.stream_initialised = Z_DEFLATED; - - 00442 c7 43 78 08 00 - 00 00 mov DWORD PTR [ebx+120], 8 -$LN6@zipOpenNew: - -; 1225 : } -; 1226 : else if(zi->ci.method == Z_BZIP2ED) -; 1227 : { -; 1228 : #ifdef HAVE_BZIP2 -; 1229 : // Init BZip stuff here -; 1230 : zi->ci.bstream.bzalloc = 0; -; 1231 : zi->ci.bstream.bzfree = 0; -; 1232 : zi->ci.bstream.opaque = (voidpf)0; -; 1233 : -; 1234 : err = BZ2_bzCompressInit(&zi->ci.bstream, level, 0,35); -; 1235 : if(err == BZ_OK) -; 1236 : zi->ci.stream_initialised = Z_BZIP2ED; -; 1237 : #endif -; 1238 : } -; 1239 : -; 1240 : } -; 1241 : -; 1242 : # ifndef NOCRYPT -; 1243 : zi->ci.crypt_header_size = 0; - - 00449 89 b3 e0 00 01 - 00 mov DWORD PTR [ebx+65760], esi - -; 1244 : if ((err==Z_OK) && (password != NULL)) - - 0044f 3b fe cmp edi, esi - 00451 75 6b jne SHORT $LN1@zipOpenNew - 00453 8b 55 40 mov edx, DWORD PTR _password$[ebp] - 00456 3b d6 cmp edx, esi - 00458 74 5d je SHORT $LN51@zipOpenNew - -; 1245 : { -; 1246 : unsigned char bufHead[RAND_HEAD_LEN]; -; 1247 : unsigned int sizeHead; -; 1248 : zi->ci.encrypt = 1; - - 0045a c7 83 ac 00 01 - 00 01 00 00 00 mov DWORD PTR [ebx+65708], 1 - -; 1249 : zi->ci.pcrc_32_tab = get_crc_table(); - - 00464 e8 00 00 00 00 call _get_crc_table@0 - -; 1250 : /*init_keys(password,zi->ci.keys,zi->ci.pcrc_32_tab);*/ -; 1251 : -; 1252 : sizeHead=crypthead(password,bufHead,RAND_HEAD_LEN,zi->ci.keys,zi->ci.pcrc_32_tab,crcForCrypting); - - 00469 8b 4d 44 mov ecx, DWORD PTR _crcForCrypting$[ebp] - 0046c 51 push ecx - 0046d 8d 74 24 18 lea esi, DWORD PTR _bufHead$83231[esp+36] - 00471 56 push esi - 00472 8d 8b d0 00 01 - 00 lea ecx, DWORD PTR [ebx+65744] - 00478 52 push edx - 00479 89 83 dc 00 01 - 00 mov DWORD PTR [ebx+65756], eax - 0047f e8 00 00 00 00 call _crypthead - -; 1253 : zi->ci.crypt_header_size = sizeHead; -; 1254 : -; 1255 : if (ZWRITE64(zi->z_filefunc,zi->filestream,bufHead,sizeHead) != sizeHead) - - 00484 8b 4b 1c mov ecx, DWORD PTR [ebx+28] - 00487 83 c4 0c add esp, 12 ; 0000000cH - 0048a 8b f0 mov esi, eax - 0048c 8b 43 2c mov eax, DWORD PTR [ebx+44] - 0048f 56 push esi - 00490 8d 54 24 18 lea edx, DWORD PTR _bufHead$83231[esp+36] - 00494 52 push edx - 00495 8b 53 08 mov edx, DWORD PTR [ebx+8] - 00498 50 push eax - 00499 51 push ecx - 0049a 89 b3 e0 00 01 - 00 mov DWORD PTR [ebx+65760], esi - 004a0 ff d2 call edx - 004a2 83 c4 10 add esp, 16 ; 00000010H - 004a5 3b c6 cmp eax, esi - 004a7 74 0e je SHORT $LN51@zipOpenNew - -; 1256 : err = ZIP_ERRNO; - - 004a9 83 cf ff or edi, -1 - -; 1262 : return err; - - 004ac 8b c7 mov eax, edi - -; 1263 : } - - 004ae 5f pop edi - 004af 5e pop esi - 004b0 5b pop ebx - 004b1 8b e5 mov esp, ebp - 004b3 5d pop ebp - 004b4 c2 4c 00 ret 76 ; 0000004cH -$LN51@zipOpenNew: - -; 1257 : } -; 1258 : # endif -; 1259 : -; 1260 : if (err==Z_OK) -; 1261 : zi->in_opened_file_inzip = 1; - - 004b7 c7 43 38 01 00 - 00 00 mov DWORD PTR [ebx+56], 1 -$LN1@zipOpenNew: - -; 1262 : return err; - - 004be 8b c7 mov eax, edi -$LN42@zipOpenNew: - -; 1263 : } - - 004c0 5f pop edi - 004c1 5e pop esi - 004c2 5b pop ebx - 004c3 8b e5 mov esp, ebp - 004c5 5d pop ebp - 004c6 c2 4c 00 ret 76 ; 0000004cH -_zipOpenNewFileInZip4_64@76 ENDP -_TEXT ENDS -PUBLIC _zipOpen64@8 -; Function compile flags: /Ogtp -; COMDAT _zipOpen64@8 -_TEXT SEGMENT -_pathname$ = 8 ; size = 4 -_append$ = 12 ; size = 4 -_zipOpen64@8 PROC ; COMDAT - -; 954 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 955 : return zipOpen3(pathname,append,NULL,NULL); - - 00003 8b 45 0c mov eax, DWORD PTR _append$[ebp] - 00006 8b 4d 08 mov ecx, DWORD PTR _pathname$[ebp] - 00009 6a 00 push 0 - 0000b 50 push eax - 0000c 51 push ecx - 0000d 33 c9 xor ecx, ecx - 0000f e8 00 00 00 00 call _zipOpen3@16 - -; 956 : } - - 00014 5d pop ebp - 00015 c2 08 00 ret 8 -_zipOpen64@8 ENDP -_TEXT ENDS -PUBLIC _zipOpen@8 -; Function compile flags: /Ogtp -; COMDAT _zipOpen@8 -_TEXT SEGMENT -_pathname$ = 8 ; size = 4 -_append$ = 12 ; size = 4 -_zipOpen@8 PROC ; COMDAT - -; 949 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 950 : return zipOpen3((const void*)pathname,append,NULL,NULL); - - 00003 8b 45 0c mov eax, DWORD PTR _append$[ebp] - 00006 8b 4d 08 mov ecx, DWORD PTR _pathname$[ebp] - 00009 6a 00 push 0 - 0000b 50 push eax - 0000c 51 push ecx - 0000d 33 c9 xor ecx, ecx - 0000f e8 00 00 00 00 call _zipOpen3@16 - -; 951 : } - - 00014 5d pop ebp - 00015 c2 08 00 ret 8 -_zipOpen@8 ENDP -_TEXT ENDS -PUBLIC _zipOpen2_64@16 -; Function compile flags: /Ogtp -; COMDAT _zipOpen2_64@16 -_TEXT SEGMENT -_zlib_filefunc64_32_def_fill$83029 = -44 ; size = 44 -_pathname$ = 8 ; size = 4 -_append$ = 12 ; size = 4 -_globalcomment$ = 16 ; size = 4 -_pzlib_filefunc_def$ = 20 ; size = 4 -_zipOpen2_64@16 PROC ; COMDAT - -; 933 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - -; 938 : zlib_filefunc64_32_def_fill.ztell32_file = NULL; -; 939 : zlib_filefunc64_32_def_fill.zseek32_file = NULL; -; 940 : return zipOpen3(pathname, append, globalcomment, &zlib_filefunc64_32_def_fill); - - 00006 8b 55 08 mov edx, DWORD PTR _pathname$[ebp] - 00009 83 ec 30 sub esp, 48 ; 00000030H - 0000c 56 push esi - 0000d 8b 75 14 mov esi, DWORD PTR _pzlib_filefunc_def$[ebp] - 00010 33 c0 xor eax, eax - 00012 57 push edi - 00013 3b f0 cmp esi, eax - 00015 74 2d je SHORT $LN2@zipOpen2_6 - -; 934 : if (pzlib_filefunc_def != NULL) -; 935 : { -; 936 : zlib_filefunc64_32_def zlib_filefunc64_32_def_fill; -; 937 : zlib_filefunc64_32_def_fill.zfile_func64 = *pzlib_filefunc_def; - - 00017 b9 08 00 00 00 mov ecx, 8 - 0001c 8d 7c 24 0c lea edi, DWORD PTR _zlib_filefunc64_32_def_fill$83029[esp+56] - 00020 f3 a5 rep movsd - -; 938 : zlib_filefunc64_32_def_fill.ztell32_file = NULL; -; 939 : zlib_filefunc64_32_def_fill.zseek32_file = NULL; -; 940 : return zipOpen3(pathname, append, globalcomment, &zlib_filefunc64_32_def_fill); - - 00022 8b 4d 0c mov ecx, DWORD PTR _append$[ebp] - 00025 89 44 24 30 mov DWORD PTR _zlib_filefunc64_32_def_fill$83029[esp+92], eax - 00029 89 44 24 34 mov DWORD PTR _zlib_filefunc64_32_def_fill$83029[esp+96], eax - 0002d 8b 45 10 mov eax, DWORD PTR _globalcomment$[ebp] - 00030 50 push eax - 00031 51 push ecx - 00032 8d 4c 24 14 lea ecx, DWORD PTR _zlib_filefunc64_32_def_fill$83029[esp+64] - -; 941 : } -; 942 : else -; 943 : return zipOpen3(pathname, append, globalcomment, NULL); - - 00036 52 push edx - 00037 e8 00 00 00 00 call _zipOpen3@16 - -; 944 : } - - 0003c 5f pop edi - 0003d 5e pop esi - 0003e 8b e5 mov esp, ebp - 00040 5d pop ebp - 00041 c2 10 00 ret 16 ; 00000010H -$LN2@zipOpen2_6: - -; 941 : } -; 942 : else -; 943 : return zipOpen3(pathname, append, globalcomment, NULL); - - 00044 8b 45 10 mov eax, DWORD PTR _globalcomment$[ebp] - 00047 8b 4d 0c mov ecx, DWORD PTR _append$[ebp] - 0004a 50 push eax - 0004b 51 push ecx - 0004c 33 c9 xor ecx, ecx - 0004e 52 push edx - 0004f e8 00 00 00 00 call _zipOpen3@16 - -; 944 : } - - 00054 5f pop edi - 00055 5e pop esi - 00056 8b e5 mov esp, ebp - 00058 5d pop ebp - 00059 c2 10 00 ret 16 ; 00000010H -_zipOpen2_64@16 ENDP -_TEXT ENDS -PUBLIC _zipOpen2@16 -; Function compile flags: /Ogtp -; COMDAT _zipOpen2@16 -_TEXT SEGMENT -_zlib_filefunc64_32_def_fill$83015 = -44 ; size = 44 -_pathname$ = 8 ; size = 4 -_append$ = 12 ; size = 4 -_globalcomment$ = 16 ; size = 4 -_pzlib_filefunc32_def$ = 20 ; size = 4 -_zipOpen2@16 PROC ; COMDAT - -; 921 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - -; 922 : if (pzlib_filefunc32_def != NULL) - - 00006 8b 4d 14 mov ecx, DWORD PTR _pzlib_filefunc32_def$[ebp] - 00009 83 ec 30 sub esp, 48 ; 00000030H - 0000c 85 c9 test ecx, ecx - 0000e 74 24 je SHORT $LN2@zipOpen2 - -; 923 : { -; 924 : zlib_filefunc64_32_def zlib_filefunc64_32_def_fill; -; 925 : fill_zlib_filefunc64_32_def_from_filefunc32(&zlib_filefunc64_32_def_fill,pzlib_filefunc32_def); - - 00010 8d 44 24 04 lea eax, DWORD PTR _zlib_filefunc64_32_def_fill$83015[esp+48] - 00014 e8 00 00 00 00 call _fill_zlib_filefunc64_32_def_from_filefunc32 - -; 926 : return zipOpen3(pathname, append, globalcomment, &zlib_filefunc64_32_def_fill); - - 00019 8b 45 10 mov eax, DWORD PTR _globalcomment$[ebp] - 0001c 8b 4d 0c mov ecx, DWORD PTR _append$[ebp] - -; 927 : } -; 928 : else -; 929 : return zipOpen3(pathname, append, globalcomment, NULL); - - 0001f 8b 55 08 mov edx, DWORD PTR _pathname$[ebp] - 00022 50 push eax - 00023 51 push ecx - 00024 8d 4c 24 0c lea ecx, DWORD PTR _zlib_filefunc64_32_def_fill$83015[esp+56] - 00028 52 push edx - 00029 e8 00 00 00 00 call _zipOpen3@16 - -; 930 : } - - 0002e 8b e5 mov esp, ebp - 00030 5d pop ebp - 00031 c2 10 00 ret 16 ; 00000010H -$LN2@zipOpen2: - -; 927 : } -; 928 : else -; 929 : return zipOpen3(pathname, append, globalcomment, NULL); - - 00034 8b 45 10 mov eax, DWORD PTR _globalcomment$[ebp] - 00037 8b 4d 0c mov ecx, DWORD PTR _append$[ebp] - 0003a 8b 55 08 mov edx, DWORD PTR _pathname$[ebp] - 0003d 50 push eax - 0003e 51 push ecx - 0003f 33 c9 xor ecx, ecx - 00041 52 push edx - 00042 e8 00 00 00 00 call _zipOpen3@16 - -; 930 : } - - 00047 8b e5 mov esp, ebp - 00049 5d pop ebp - 0004a c2 10 00 ret 16 ; 00000010H -_zipOpen2@16 ENDP -PUBLIC _zipClose@8 -; Function compile flags: /Ogtp -; COMDAT _zipClose@8 -_TEXT SEGMENT -_size_centraldir$ = -20 ; size = 4 -_centraldir_pos_inzip$ = -16 ; size = 8 -_Zip64EOCDpos$83683 = -8 ; size = 8 -_file$ = 8 ; size = 4 -_global_comment$ = 12 ; size = 4 -_zipClose@8 PROC ; COMDAT - -; 1883 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - 00003 83 e4 f8 and esp, -8 ; fffffff8H - 00006 83 ec 14 sub esp, 20 ; 00000014H - 00009 53 push ebx - 0000a 56 push esi - 0000b 57 push edi - -; 1884 : zip64_internal* zi; -; 1885 : int err = 0; -; 1886 : uLong size_centraldir = 0; -; 1887 : ZPOS64_T centraldir_pos_inzip; -; 1888 : ZPOS64_T pos; -; 1889 : -; 1890 : if (file == NULL) - - 0000c 8b 7d 08 mov edi, DWORD PTR _file$[ebp] - 0000f 33 db xor ebx, ebx - 00011 89 5c 24 0c mov DWORD PTR _size_centraldir$[esp+32], ebx - 00015 85 ff test edi, edi - 00017 75 0c jne SHORT $LN16@zipClose - -; 1891 : return ZIP_PARAMERROR; - - 00019 8d 43 9a lea eax, DWORD PTR [ebx-102] - -; 1947 : -; 1948 : return err; -; 1949 : } - - 0001c 5f pop edi - 0001d 5e pop esi - 0001e 5b pop ebx - 0001f 8b e5 mov esp, ebp - 00021 5d pop ebp - 00022 c2 08 00 ret 8 -$LN16@zipClose: - -; 1892 : -; 1893 : zi = (zip64_internal*)file; -; 1894 : -; 1895 : if (zi->in_opened_file_inzip == 1) - - 00025 83 7f 38 01 cmp DWORD PTR [edi+56], 1 - 00029 75 08 jne SHORT $LN15@zipClose - -; 1896 : { -; 1897 : err = zipCloseFileInZip (file); - - 0002b 57 push edi - 0002c e8 00 00 00 00 call _zipCloseFileInZip@4 - 00031 8b d8 mov ebx, eax -$LN15@zipClose: - -; 1898 : } -; 1899 : -; 1900 : #ifndef NO_ADDFILEINEXISTINGZIP -; 1901 : if (global_comment==NULL) - - 00033 83 7d 0c 00 cmp DWORD PTR _global_comment$[ebp], 0 - 00037 75 09 jne SHORT $LN14@zipClose - -; 1902 : global_comment = zi->globalcomment; - - 00039 8b 87 00 01 01 - 00 mov eax, DWORD PTR [edi+65792] - 0003f 89 45 0c mov DWORD PTR _global_comment$[ebp], eax -$LN14@zipClose: - -; 1903 : #endif -; 1904 : -; 1905 : centraldir_pos_inzip = ZTELL64(zi->z_filefunc,zi->filestream); - - 00042 8b 4f 2c mov ecx, DWORD PTR [edi+44] - 00045 8b c7 mov eax, edi - 00047 e8 00 00 00 00 call _call_ztell64 - 0004c 89 44 24 10 mov DWORD PTR _centraldir_pos_inzip$[esp+32], eax - 00050 89 54 24 14 mov DWORD PTR _centraldir_pos_inzip$[esp+36], edx - -; 1906 : -; 1907 : if (err==ZIP_OK) - - 00054 85 db test ebx, ebx - 00056 75 3d jne SHORT $LN11@zipClose - -; 1908 : { -; 1909 : linkedlist_datablock_internal* ldi = zi->central_dir.first_block; - - 00058 8b 77 30 mov esi, DWORD PTR [edi+48] - -; 1910 : while (ldi!=NULL) - - 0005b 85 f6 test esi, esi - 0005d 74 36 je SHORT $LN11@zipClose - 0005f 90 npad 1 -$LL12@zipClose: - -; 1911 : { -; 1912 : if ((err==ZIP_OK) && (ldi->filled_in_this_block>0)) - - 00060 85 db test ebx, ebx - 00062 75 24 jne SHORT $LN9@zipClose - 00064 8b 46 08 mov eax, DWORD PTR [esi+8] - 00067 85 c0 test eax, eax - 00069 74 1d je SHORT $LN9@zipClose - -; 1913 : { -; 1914 : if (ZWRITE64(zi->z_filefunc,zi->filestream, ldi->data, ldi->filled_in_this_block) != ldi->filled_in_this_block) - - 0006b 8b 57 2c mov edx, DWORD PTR [edi+44] - 0006e 50 push eax - 0006f 8b 47 1c mov eax, DWORD PTR [edi+28] - 00072 8d 4e 10 lea ecx, DWORD PTR [esi+16] - 00075 51 push ecx - 00076 8b 4f 08 mov ecx, DWORD PTR [edi+8] - 00079 52 push edx - 0007a 50 push eax - 0007b ff d1 call ecx - 0007d 83 c4 10 add esp, 16 ; 00000010H - 00080 3b 46 08 cmp eax, DWORD PTR [esi+8] - 00083 74 03 je SHORT $LN9@zipClose - -; 1915 : err = ZIP_ERRNO; - - 00085 83 cb ff or ebx, -1 -$LN9@zipClose: - -; 1916 : } -; 1917 : -; 1918 : size_centraldir += ldi->filled_in_this_block; - - 00088 8b 56 08 mov edx, DWORD PTR [esi+8] - -; 1919 : ldi = ldi->next_datablock; - - 0008b 8b 36 mov esi, DWORD PTR [esi] - 0008d 01 54 24 0c add DWORD PTR _size_centraldir$[esp+32], edx - 00091 85 f6 test esi, esi - 00093 75 cb jne SHORT $LL12@zipClose -$LN11@zipClose: - -; 1920 : } -; 1921 : } -; 1922 : free_linkedlist(&(zi->central_dir)); - - 00095 8d 77 30 lea esi, DWORD PTR [edi+48] - 00098 e8 00 00 00 00 call _free_linkedlist - -; 1923 : -; 1924 : pos = centraldir_pos_inzip - zi->add_position_when_writting_offset; - - 0009d 8b 74 24 10 mov esi, DWORD PTR _centraldir_pos_inzip$[esp+32] - 000a1 8b 44 24 14 mov eax, DWORD PTR _centraldir_pos_inzip$[esp+36] - 000a5 8b ce mov ecx, esi - 000a7 2b 8f f0 00 01 - 00 sub ecx, DWORD PTR [edi+65776] - 000ad 1b 87 f4 00 01 - 00 sbb eax, DWORD PTR [edi+65780] - -; 1925 : if(pos >= 0xffffffff || zi->number_entry > 0xFFFF) - - 000b3 85 c0 test eax, eax - 000b5 77 1c ja SHORT $LN22@zipClose - 000b7 72 05 jb SHORT $LN21@zipClose - 000b9 83 f9 ff cmp ecx, -1 - 000bc 73 15 jae SHORT $LN22@zipClose -$LN21@zipClose: - 000be 83 bf fc 00 01 - 00 00 cmp DWORD PTR [edi+65788], 0 - 000c5 77 0c ja SHORT $LN22@zipClose - 000c7 81 bf f8 00 01 - 00 ff ff 00 00 cmp DWORD PTR [edi+65784], 65535 ; 0000ffffH - 000d1 76 3b jbe SHORT $LN8@zipClose -$LN22@zipClose: - -; 1926 : { -; 1927 : ZPOS64_T Zip64EOCDpos = ZTELL64(zi->z_filefunc,zi->filestream); - - 000d3 8b 4f 2c mov ecx, DWORD PTR [edi+44] - 000d6 8b c7 mov eax, edi - 000d8 e8 00 00 00 00 call _call_ztell64 - -; 1928 : Write_Zip64EndOfCentralDirectoryRecord(zi, size_centraldir, centraldir_pos_inzip); - - 000dd 8b 4c 24 0c mov ecx, DWORD PTR _size_centraldir$[esp+32] - 000e1 89 44 24 18 mov DWORD PTR _Zip64EOCDpos$83683[esp+32], eax - 000e5 8b 44 24 14 mov eax, DWORD PTR _centraldir_pos_inzip$[esp+36] - 000e9 50 push eax - 000ea 56 push esi - 000eb 51 push ecx - 000ec 8b c7 mov eax, edi - 000ee 89 54 24 28 mov DWORD PTR _Zip64EOCDpos$83683[esp+48], edx - 000f2 e8 00 00 00 00 call _Write_Zip64EndOfCentralDirectoryRecord - -; 1929 : -; 1930 : Write_Zip64EndOfCentralDirectoryLocator(zi, Zip64EOCDpos); - - 000f7 8b 54 24 28 mov edx, DWORD PTR _Zip64EOCDpos$83683[esp+48] - 000fb 8b 44 24 24 mov eax, DWORD PTR _Zip64EOCDpos$83683[esp+44] - 000ff 83 c4 0c add esp, 12 ; 0000000cH - 00102 52 push edx - 00103 50 push eax - 00104 8b c7 mov eax, edi - 00106 e8 00 00 00 00 call _Write_Zip64EndOfCentralDirectoryLocator - 0010b 83 c4 08 add esp, 8 -$LN8@zipClose: - -; 1931 : } -; 1932 : -; 1933 : if (err==ZIP_OK) - - 0010e 85 db test ebx, ebx - 00110 75 2b jne SHORT $LN5@zipClose - -; 1934 : err = Write_EndOfCentralDirectoryRecord(zi, size_centraldir, centraldir_pos_inzip); - - 00112 8b 4c 24 14 mov ecx, DWORD PTR _centraldir_pos_inzip$[esp+36] - 00116 8b 54 24 0c mov edx, DWORD PTR _size_centraldir$[esp+32] - 0011a 51 push ecx - 0011b 56 push esi - 0011c 52 push edx - 0011d 8b c7 mov eax, edi - 0011f e8 00 00 00 00 call _Write_EndOfCentralDirectoryRecord - 00124 8b d8 mov ebx, eax - 00126 83 c4 0c add esp, 12 ; 0000000cH - -; 1935 : -; 1936 : if(err == ZIP_OK) - - 00129 85 db test ebx, ebx - 0012b 75 10 jne SHORT $LN5@zipClose - -; 1937 : err = Write_GlobalComment(zi, global_comment); - - 0012d 8b 45 0c mov eax, DWORD PTR _global_comment$[ebp] - 00130 50 push eax - 00131 8b c7 mov eax, edi - 00133 e8 00 00 00 00 call _Write_GlobalComment - 00138 83 c4 04 add esp, 4 - 0013b 8b d8 mov ebx, eax -$LN5@zipClose: - -; 1938 : -; 1939 : if (ZCLOSE64(zi->z_filefunc,zi->filestream) != 0) - - 0013d 8b 4f 2c mov ecx, DWORD PTR [edi+44] - 00140 8b 57 1c mov edx, DWORD PTR [edi+28] - 00143 8b 47 14 mov eax, DWORD PTR [edi+20] - 00146 51 push ecx - 00147 52 push edx - 00148 ff d0 call eax - 0014a 83 c4 08 add esp, 8 - 0014d 85 c0 test eax, eax - 0014f 74 07 je SHORT $LN3@zipClose - -; 1940 : if (err == ZIP_OK) - - 00151 85 db test ebx, ebx - 00153 75 03 jne SHORT $LN3@zipClose - -; 1941 : err = ZIP_ERRNO; - - 00155 83 cb ff or ebx, -1 -$LN3@zipClose: - -; 1942 : -; 1943 : #ifndef NO_ADDFILEINEXISTINGZIP -; 1944 : TRYFREE(zi->globalcomment); - - 00158 8b 87 00 01 01 - 00 mov eax, DWORD PTR [edi+65792] - 0015e 85 c0 test eax, eax - 00160 74 09 je SHORT $LN2@zipClose - 00162 50 push eax - 00163 e8 00 00 00 00 call _free - 00168 83 c4 04 add esp, 4 -$LN2@zipClose: - -; 1945 : #endif -; 1946 : TRYFREE(zi); - - 0016b 57 push edi - 0016c e8 00 00 00 00 call _free - 00171 83 c4 04 add esp, 4 - -; 1947 : -; 1948 : return err; -; 1949 : } - - 00174 5f pop edi - 00175 5e pop esi - 00176 8b c3 mov eax, ebx - 00178 5b pop ebx - 00179 8b e5 mov esp, ebp - 0017b 5d pop ebp - 0017c c2 08 00 ret 8 -_zipClose@8 ENDP -_TEXT ENDS -PUBLIC _zipOpenNewFileInZip@40 -; Function compile flags: /Ogtp -; COMDAT _zipOpenNewFileInZip@40 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_zipfi$ = 16 ; size = 4 -_extrafield_local$ = 20 ; size = 4 -_size_extrafield_local$ = 24 ; size = 4 -_extrafield_global$ = 28 ; size = 4 -_size_extrafield_global$ = 32 ; size = 4 -_comment$ = 36 ; size = 4 -_method$ = 40 ; size = 4 -_level$ = 44 ; size = 4 -_zipOpenNewFileInZip@40 PROC ; COMDAT - -; 1354 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1355 : return zipOpenNewFileInZip4_64 (file, filename, zipfi, -; 1356 : extrafield_local, size_extrafield_local, -; 1357 : extrafield_global, size_extrafield_global, -; 1358 : comment, method, level, 0, -; 1359 : -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, -; 1360 : NULL, 0, VERSIONMADEBY, 0, 0); - - 00003 6a 00 push 0 - 00005 8b 45 2c mov eax, DWORD PTR _level$[ebp] - 00008 6a 00 push 0 - 0000a 8b 4d 28 mov ecx, DWORD PTR _method$[ebp] - 0000d 8b 55 24 mov edx, DWORD PTR _comment$[ebp] - 00010 6a 00 push 0 - 00012 6a 00 push 0 - 00014 6a 00 push 0 - 00016 6a 00 push 0 - 00018 6a 08 push 8 - 0001a 6a f1 push -15 ; fffffff1H - 0001c 6a 00 push 0 - 0001e 50 push eax - 0001f 8b 45 20 mov eax, DWORD PTR _size_extrafield_global$[ebp] - 00022 51 push ecx - 00023 8b 4d 1c mov ecx, DWORD PTR _extrafield_global$[ebp] - 00026 52 push edx - 00027 8b 55 18 mov edx, DWORD PTR _size_extrafield_local$[ebp] - 0002a 50 push eax - 0002b 8b 45 14 mov eax, DWORD PTR _extrafield_local$[ebp] - 0002e 51 push ecx - 0002f 8b 4d 10 mov ecx, DWORD PTR _zipfi$[ebp] - 00032 52 push edx - 00033 8b 55 0c mov edx, DWORD PTR _filename$[ebp] - 00036 50 push eax - 00037 8b 45 08 mov eax, DWORD PTR _file$[ebp] - 0003a 51 push ecx - 0003b 52 push edx - 0003c 50 push eax - 0003d e8 00 00 00 00 call _zipOpenNewFileInZip4_64@76 - -; 1361 : } - - 00042 5d pop ebp - 00043 c2 28 00 ret 40 ; 00000028H -_zipOpenNewFileInZip@40 ENDP -_TEXT ENDS -PUBLIC _zipOpenNewFileInZip64@44 -; Function compile flags: /Ogtp -; COMDAT _zipOpenNewFileInZip64@44 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_zipfi$ = 16 ; size = 4 -_extrafield_local$ = 20 ; size = 4 -_size_extrafield_local$ = 24 ; size = 4 -_extrafield_global$ = 28 ; size = 4 -_size_extrafield_global$ = 32 ; size = 4 -_comment$ = 36 ; size = 4 -_method$ = 40 ; size = 4 -_level$ = 44 ; size = 4 -_zip64$ = 48 ; size = 4 -_zipOpenNewFileInZip64@44 PROC ; COMDAT - -; 1341 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1342 : return zipOpenNewFileInZip4_64 (file, filename, zipfi, -; 1343 : extrafield_local, size_extrafield_local, -; 1344 : extrafield_global, size_extrafield_global, -; 1345 : comment, method, level, 0, -; 1346 : -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, -; 1347 : NULL, 0, VERSIONMADEBY, 0, zip64); - - 00003 8b 45 30 mov eax, DWORD PTR _zip64$[ebp] - 00006 50 push eax - 00007 8b 4d 2c mov ecx, DWORD PTR _level$[ebp] - 0000a 6a 00 push 0 - 0000c 8b 55 28 mov edx, DWORD PTR _method$[ebp] - 0000f 8b 45 24 mov eax, DWORD PTR _comment$[ebp] - 00012 6a 00 push 0 - 00014 6a 00 push 0 - 00016 6a 00 push 0 - 00018 6a 00 push 0 - 0001a 6a 08 push 8 - 0001c 6a f1 push -15 ; fffffff1H - 0001e 6a 00 push 0 - 00020 51 push ecx - 00021 8b 4d 20 mov ecx, DWORD PTR _size_extrafield_global$[ebp] - 00024 52 push edx - 00025 8b 55 1c mov edx, DWORD PTR _extrafield_global$[ebp] - 00028 50 push eax - 00029 8b 45 18 mov eax, DWORD PTR _size_extrafield_local$[ebp] - 0002c 51 push ecx - 0002d 8b 4d 14 mov ecx, DWORD PTR _extrafield_local$[ebp] - 00030 52 push edx - 00031 8b 55 10 mov edx, DWORD PTR _zipfi$[ebp] - 00034 50 push eax - 00035 8b 45 0c mov eax, DWORD PTR _filename$[ebp] - 00038 51 push ecx - 00039 8b 4d 08 mov ecx, DWORD PTR _file$[ebp] - 0003c 52 push edx - 0003d 50 push eax - 0003e 51 push ecx - 0003f e8 00 00 00 00 call _zipOpenNewFileInZip4_64@76 - -; 1348 : } - - 00044 5d pop ebp - 00045 c2 2c 00 ret 44 ; 0000002cH -_zipOpenNewFileInZip64@44 ENDP -_TEXT ENDS -PUBLIC _zipOpenNewFileInZip2_64@48 -; Function compile flags: /Ogtp -; COMDAT _zipOpenNewFileInZip2_64@48 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_zipfi$ = 16 ; size = 4 -_extrafield_local$ = 20 ; size = 4 -_size_extrafield_local$ = 24 ; size = 4 -_extrafield_global$ = 28 ; size = 4 -_size_extrafield_global$ = 32 ; size = 4 -_comment$ = 36 ; size = 4 -_method$ = 40 ; size = 4 -_level$ = 44 ; size = 4 -_raw$ = 48 ; size = 4 -_zip64$ = 52 ; size = 4 -_zipOpenNewFileInZip2_64@48 PROC ; COMDAT - -; 1328 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1329 : return zipOpenNewFileInZip4_64 (file, filename, zipfi, -; 1330 : extrafield_local, size_extrafield_local, -; 1331 : extrafield_global, size_extrafield_global, -; 1332 : comment, method, level, raw, -; 1333 : -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, -; 1334 : NULL, 0, VERSIONMADEBY, 0, zip64); - - 00003 8b 45 34 mov eax, DWORD PTR _zip64$[ebp] - 00006 50 push eax - 00007 8b 4d 30 mov ecx, DWORD PTR _raw$[ebp] - 0000a 8b 55 2c mov edx, DWORD PTR _level$[ebp] - 0000d 6a 00 push 0 - 0000f 8b 45 28 mov eax, DWORD PTR _method$[ebp] - 00012 6a 00 push 0 - 00014 6a 00 push 0 - 00016 6a 00 push 0 - 00018 6a 00 push 0 - 0001a 6a 08 push 8 - 0001c 6a f1 push -15 ; fffffff1H - 0001e 51 push ecx - 0001f 8b 4d 24 mov ecx, DWORD PTR _comment$[ebp] - 00022 52 push edx - 00023 8b 55 20 mov edx, DWORD PTR _size_extrafield_global$[ebp] - 00026 50 push eax - 00027 8b 45 1c mov eax, DWORD PTR _extrafield_global$[ebp] - 0002a 51 push ecx - 0002b 8b 4d 18 mov ecx, DWORD PTR _size_extrafield_local$[ebp] - 0002e 52 push edx - 0002f 8b 55 14 mov edx, DWORD PTR _extrafield_local$[ebp] - 00032 50 push eax - 00033 8b 45 10 mov eax, DWORD PTR _zipfi$[ebp] - 00036 51 push ecx - 00037 8b 4d 0c mov ecx, DWORD PTR _filename$[ebp] - 0003a 52 push edx - 0003b 8b 55 08 mov edx, DWORD PTR _file$[ebp] - 0003e 50 push eax - 0003f 51 push ecx - 00040 52 push edx - 00041 e8 00 00 00 00 call _zipOpenNewFileInZip4_64@76 - -; 1335 : } - - 00046 5d pop ebp - 00047 c2 30 00 ret 48 ; 00000030H -_zipOpenNewFileInZip2_64@48 ENDP -_TEXT ENDS -PUBLIC _zipOpenNewFileInZip2@44 -; Function compile flags: /Ogtp -; COMDAT _zipOpenNewFileInZip2@44 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_zipfi$ = 16 ; size = 4 -_extrafield_local$ = 20 ; size = 4 -_size_extrafield_local$ = 24 ; size = 4 -_extrafield_global$ = 28 ; size = 4 -_size_extrafield_global$ = 32 ; size = 4 -_comment$ = 36 ; size = 4 -_method$ = 40 ; size = 4 -_level$ = 44 ; size = 4 -_raw$ = 48 ; size = 4 -_zipOpenNewFileInZip2@44 PROC ; COMDAT - -; 1315 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1316 : return zipOpenNewFileInZip4_64 (file, filename, zipfi, -; 1317 : extrafield_local, size_extrafield_local, -; 1318 : extrafield_global, size_extrafield_global, -; 1319 : comment, method, level, raw, -; 1320 : -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, -; 1321 : NULL, 0, VERSIONMADEBY, 0, 0); - - 00003 8b 45 30 mov eax, DWORD PTR _raw$[ebp] - 00006 6a 00 push 0 - 00008 8b 4d 2c mov ecx, DWORD PTR _level$[ebp] - 0000b 6a 00 push 0 - 0000d 8b 55 28 mov edx, DWORD PTR _method$[ebp] - 00010 6a 00 push 0 - 00012 6a 00 push 0 - 00014 6a 00 push 0 - 00016 6a 00 push 0 - 00018 6a 08 push 8 - 0001a 6a f1 push -15 ; fffffff1H - 0001c 50 push eax - 0001d 8b 45 24 mov eax, DWORD PTR _comment$[ebp] - 00020 51 push ecx - 00021 8b 4d 20 mov ecx, DWORD PTR _size_extrafield_global$[ebp] - 00024 52 push edx - 00025 8b 55 1c mov edx, DWORD PTR _extrafield_global$[ebp] - 00028 50 push eax - 00029 8b 45 18 mov eax, DWORD PTR _size_extrafield_local$[ebp] - 0002c 51 push ecx - 0002d 8b 4d 14 mov ecx, DWORD PTR _extrafield_local$[ebp] - 00030 52 push edx - 00031 8b 55 10 mov edx, DWORD PTR _zipfi$[ebp] - 00034 50 push eax - 00035 8b 45 0c mov eax, DWORD PTR _filename$[ebp] - 00038 51 push ecx - 00039 8b 4d 08 mov ecx, DWORD PTR _file$[ebp] - 0003c 52 push edx - 0003d 50 push eax - 0003e 51 push ecx - 0003f e8 00 00 00 00 call _zipOpenNewFileInZip4_64@76 - -; 1322 : } - - 00044 5d pop ebp - 00045 c2 2c 00 ret 44 ; 0000002cH -_zipOpenNewFileInZip2@44 ENDP -_TEXT ENDS -PUBLIC _zipOpenNewFileInZip3_64@68 -; Function compile flags: /Ogtp -; COMDAT _zipOpenNewFileInZip3_64@68 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_zipfi$ = 16 ; size = 4 -_extrafield_local$ = 20 ; size = 4 -_size_extrafield_local$ = 24 ; size = 4 -_extrafield_global$ = 28 ; size = 4 -_size_extrafield_global$ = 32 ; size = 4 -_comment$ = 36 ; size = 4 -_method$ = 40 ; size = 4 -_level$ = 44 ; size = 4 -_raw$ = 48 ; size = 4 -_windowBits$ = 52 ; size = 4 -_memLevel$ = 56 ; size = 4 -_strategy$ = 60 ; size = 4 -_password$ = 64 ; size = 4 -_crcForCrypting$ = 68 ; size = 4 -_zip64$ = 72 ; size = 4 -_zipOpenNewFileInZip3_64@68 PROC ; COMDAT - -; 1302 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1303 : return zipOpenNewFileInZip4_64 (file, filename, zipfi, -; 1304 : extrafield_local, size_extrafield_local, -; 1305 : extrafield_global, size_extrafield_global, -; 1306 : comment, method, level, raw, -; 1307 : windowBits, memLevel, strategy, -; 1308 : password, crcForCrypting, VERSIONMADEBY, 0, zip64); - - 00003 8b 45 48 mov eax, DWORD PTR _zip64$[ebp] - 00006 8b 4d 44 mov ecx, DWORD PTR _crcForCrypting$[ebp] - 00009 8b 55 40 mov edx, DWORD PTR _password$[ebp] - 0000c 50 push eax - 0000d 8b 45 3c mov eax, DWORD PTR _strategy$[ebp] - 00010 6a 00 push 0 - 00012 6a 00 push 0 - 00014 51 push ecx - 00015 8b 4d 38 mov ecx, DWORD PTR _memLevel$[ebp] - 00018 52 push edx - 00019 8b 55 34 mov edx, DWORD PTR _windowBits$[ebp] - 0001c 50 push eax - 0001d 8b 45 30 mov eax, DWORD PTR _raw$[ebp] - 00020 51 push ecx - 00021 8b 4d 2c mov ecx, DWORD PTR _level$[ebp] - 00024 52 push edx - 00025 8b 55 28 mov edx, DWORD PTR _method$[ebp] - 00028 50 push eax - 00029 8b 45 24 mov eax, DWORD PTR _comment$[ebp] - 0002c 51 push ecx - 0002d 8b 4d 20 mov ecx, DWORD PTR _size_extrafield_global$[ebp] - 00030 52 push edx - 00031 8b 55 1c mov edx, DWORD PTR _extrafield_global$[ebp] - 00034 50 push eax - 00035 8b 45 18 mov eax, DWORD PTR _size_extrafield_local$[ebp] - 00038 51 push ecx - 00039 8b 4d 14 mov ecx, DWORD PTR _extrafield_local$[ebp] - 0003c 52 push edx - 0003d 8b 55 10 mov edx, DWORD PTR _zipfi$[ebp] - 00040 50 push eax - 00041 8b 45 0c mov eax, DWORD PTR _filename$[ebp] - 00044 51 push ecx - 00045 8b 4d 08 mov ecx, DWORD PTR _file$[ebp] - 00048 52 push edx - 00049 50 push eax - 0004a 51 push ecx - 0004b e8 00 00 00 00 call _zipOpenNewFileInZip4_64@76 - -; 1309 : } - - 00050 5d pop ebp - 00051 c2 44 00 ret 68 ; 00000044H -_zipOpenNewFileInZip3_64@68 ENDP -_TEXT ENDS -PUBLIC _zipOpenNewFileInZip3@64 -; Function compile flags: /Ogtp -; COMDAT _zipOpenNewFileInZip3@64 -_TEXT SEGMENT -_file$ = 8 ; size = 4 -_filename$ = 12 ; size = 4 -_zipfi$ = 16 ; size = 4 -_extrafield_local$ = 20 ; size = 4 -_size_extrafield_local$ = 24 ; size = 4 -_extrafield_global$ = 28 ; size = 4 -_size_extrafield_global$ = 32 ; size = 4 -_comment$ = 36 ; size = 4 -_method$ = 40 ; size = 4 -_level$ = 44 ; size = 4 -_raw$ = 48 ; size = 4 -_windowBits$ = 52 ; size = 4 -_memLevel$ = 56 ; size = 4 -_strategy$ = 60 ; size = 4 -_password$ = 64 ; size = 4 -_crcForCrypting$ = 68 ; size = 4 -_zipOpenNewFileInZip3@64 PROC ; COMDAT - -; 1287 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 1288 : return zipOpenNewFileInZip4_64 (file, filename, zipfi, -; 1289 : extrafield_local, size_extrafield_local, -; 1290 : extrafield_global, size_extrafield_global, -; 1291 : comment, method, level, raw, -; 1292 : windowBits, memLevel, strategy, -; 1293 : password, crcForCrypting, VERSIONMADEBY, 0, 0); - - 00003 8b 45 44 mov eax, DWORD PTR _crcForCrypting$[ebp] - 00006 8b 4d 40 mov ecx, DWORD PTR _password$[ebp] - 00009 8b 55 3c mov edx, DWORD PTR _strategy$[ebp] - 0000c 6a 00 push 0 - 0000e 6a 00 push 0 - 00010 6a 00 push 0 - 00012 50 push eax - 00013 8b 45 38 mov eax, DWORD PTR _memLevel$[ebp] - 00016 51 push ecx - 00017 8b 4d 34 mov ecx, DWORD PTR _windowBits$[ebp] - 0001a 52 push edx - 0001b 8b 55 30 mov edx, DWORD PTR _raw$[ebp] - 0001e 50 push eax - 0001f 8b 45 2c mov eax, DWORD PTR _level$[ebp] - 00022 51 push ecx - 00023 8b 4d 28 mov ecx, DWORD PTR _method$[ebp] - 00026 52 push edx - 00027 8b 55 24 mov edx, DWORD PTR _comment$[ebp] - 0002a 50 push eax - 0002b 8b 45 20 mov eax, DWORD PTR _size_extrafield_global$[ebp] - 0002e 51 push ecx - 0002f 8b 4d 1c mov ecx, DWORD PTR _extrafield_global$[ebp] - 00032 52 push edx - 00033 8b 55 18 mov edx, DWORD PTR _size_extrafield_local$[ebp] - 00036 50 push eax - 00037 8b 45 14 mov eax, DWORD PTR _extrafield_local$[ebp] - 0003a 51 push ecx - 0003b 8b 4d 10 mov ecx, DWORD PTR _zipfi$[ebp] - 0003e 52 push edx - 0003f 8b 55 0c mov edx, DWORD PTR _filename$[ebp] - 00042 50 push eax - 00043 8b 45 08 mov eax, DWORD PTR _file$[ebp] - 00046 51 push ecx - 00047 52 push edx - 00048 50 push eax - 00049 e8 00 00 00 00 call _zipOpenNewFileInZip4_64@76 - -; 1294 : } - - 0004e 5d pop ebp - 0004f c2 40 00 ret 64 ; 00000040H -_zipOpenNewFileInZip3@64 ENDP -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/zlib.res b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/zlib.res deleted file mode 100644 index ba2ab479..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/zlib.res and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/zlibvc.lastbuildstate b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/zlibvc.lastbuildstate deleted file mode 100644 index 78f6c206..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/zlibvc.lastbuildstate +++ /dev/null @@ -1,2 +0,0 @@ -#v4.0:v100 -Release|Win32|D:\FMU\FMUSolution\| diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/zlibvc.write.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/zlibvc.write.1.tlog deleted file mode 100644 index e308dc80..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/zlibvc.write.1.tlog +++ /dev/null @@ -1,6 +0,0 @@ -^D:\zlib-1.2.6\contrib\vstudio\vc10\zlibvc.vcxproj -D:\Visual Studio\FMUSimulator\Release\zlibwapi.lib -D:\Visual Studio\FMUSimulator\Release\zlibwapi.exp -^D:\FMU\FMUSolution\zlib-1.2.6\contrib\vstudio\vc10\zlibvc.vcxproj -D:\FMU\FMUSolution\Release\zlibwapi.lib -D:\FMU\FMUSolution\Release\zlibwapi.exp diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/zutil.cod b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/zutil.cod deleted file mode 100644 index 0041cff6..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/Tmp/zutil.cod +++ /dev/null @@ -1,234 +0,0 @@ -; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.30319.01 - - TITLE D:\FMU\FMUSolution\zlib-1.2.6\zutil.c - .686P - .XMM - include listing.inc - .model flat - -INCLUDELIB OLDNAMES - -PUBLIC ??_C@_0BF@CJFPCCEG@incompatible?5version?$AA@ ; `string' -PUBLIC ??_C@_0N@DFPGLBGC@buffer?5error?$AA@ ; `string' -PUBLIC ??_C@_0BE@OGGJBMCE@insufficient?5memory?$AA@ ; `string' -PUBLIC ??_C@_0L@HAHMBNLP@data?5error?$AA@ ; `string' -PUBLIC ??_C@_0N@MKKNPMJD@stream?5error?$AA@ ; `string' -PUBLIC ??_C@_0L@KIJFAKBJ@file?5error?$AA@ ; `string' -PUBLIC ??_C@_0L@FNAOCBOG@stream?5end?$AA@ ; `string' -PUBLIC ??_C@_0BA@MOKMMFOD@need?5dictionary?$AA@ ; `string' -PUBLIC _z_errmsg -_z_errmsg DD FLAT:??_C@_0BA@MOKMMFOD@need?5dictionary?$AA@ - DD FLAT:??_C@_0L@FNAOCBOG@stream?5end?$AA@ - DD FLAT:??_C@_00CNPNBAHC@?$AA@ - DD FLAT:??_C@_0L@KIJFAKBJ@file?5error?$AA@ - DD FLAT:??_C@_0N@MKKNPMJD@stream?5error?$AA@ - DD FLAT:??_C@_0L@HAHMBNLP@data?5error?$AA@ - DD FLAT:??_C@_0BE@OGGJBMCE@insufficient?5memory?$AA@ - DD FLAT:??_C@_0N@DFPGLBGC@buffer?5error?$AA@ - DD FLAT:??_C@_0BF@CJFPCCEG@incompatible?5version?$AA@ - DD FLAT:??_C@_00CNPNBAHC@?$AA@ -; COMDAT ??_C@_0BF@CJFPCCEG@incompatible?5version?$AA@ -CONST SEGMENT -??_C@_0BF@CJFPCCEG@incompatible?5version?$AA@ DB 'incompatible version', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0N@DFPGLBGC@buffer?5error?$AA@ -CONST SEGMENT -??_C@_0N@DFPGLBGC@buffer?5error?$AA@ DB 'buffer error', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BE@OGGJBMCE@insufficient?5memory?$AA@ -CONST SEGMENT -??_C@_0BE@OGGJBMCE@insufficient?5memory?$AA@ DB 'insufficient memory', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0L@HAHMBNLP@data?5error?$AA@ -CONST SEGMENT -??_C@_0L@HAHMBNLP@data?5error?$AA@ DB 'data error', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0N@MKKNPMJD@stream?5error?$AA@ -CONST SEGMENT -??_C@_0N@MKKNPMJD@stream?5error?$AA@ DB 'stream error', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0L@KIJFAKBJ@file?5error?$AA@ -CONST SEGMENT -??_C@_0L@KIJFAKBJ@file?5error?$AA@ DB 'file error', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0L@FNAOCBOG@stream?5end?$AA@ -CONST SEGMENT -??_C@_0L@FNAOCBOG@stream?5end?$AA@ DB 'stream end', 00H ; `string' -CONST ENDS -; COMDAT ??_C@_0BA@MOKMMFOD@need?5dictionary?$AA@ -CONST SEGMENT -??_C@_0BA@MOKMMFOD@need?5dictionary?$AA@ DB 'need dictionary', 00H ; `string' -CONST ENDS -PUBLIC _zcfree -; Function compile flags: /Ogtp -; File d:\fmu\fmusolution\zlib-1.2.6\zutil.c -; COMDAT _zcfree -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_ptr$ = 12 ; size = 4 -_zcfree PROC ; COMDAT - -; 294 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 295 : free(ptr); - - 00003 8b 45 0c mov eax, DWORD PTR _ptr$[ebp] - 00006 50 push eax - 00007 e8 00 00 00 00 call _free - 0000c 83 c4 04 add esp, 4 - -; 296 : if (opaque) return; /* make compiler happy */ -; 297 : } - - 0000f 5d pop ebp - 00010 c3 ret 0 -_zcfree ENDP -_TEXT ENDS -PUBLIC _zcalloc -; Function compile flags: /Ogtp -; COMDAT _zcalloc -_TEXT SEGMENT -_opaque$ = 8 ; size = 4 -_items$ = 12 ; size = 4 -_size$ = 16 ; size = 4 -_zcalloc PROC ; COMDAT - -; 285 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 286 : if (opaque) items += size - size; /* make compiler happy */ -; 287 : return sizeof(uInt) > 2 ? (voidpf)malloc(items * size) : -; 288 : (voidpf)calloc(items, size); - - 00003 8b 45 0c mov eax, DWORD PTR _items$[ebp] - 00006 0f af 45 10 imul eax, DWORD PTR _size$[ebp] - 0000a 50 push eax - 0000b e8 00 00 00 00 call _malloc - 00010 83 c4 04 add esp, 4 - -; 289 : } - - 00013 5d pop ebp - 00014 c3 ret 0 -_zcalloc ENDP -_TEXT ENDS -PUBLIC _zError@4 -; Function compile flags: /Ogtp -; COMDAT _zError@4 -_TEXT SEGMENT -_err$ = 8 ; size = 4 -_zError@4 PROC ; COMDAT - -; 115 : { - - 00000 55 push ebp - 00001 8b ec mov ebp, esp - -; 116 : return ERR_MSG(err); - - 00003 8b 45 08 mov eax, DWORD PTR _err$[ebp] - 00006 8d 0c 85 00 00 - 00 00 lea ecx, DWORD PTR [eax*4] - 0000d ba 08 00 00 00 mov edx, OFFSET _z_errmsg+8 - 00012 2b d1 sub edx, ecx - 00014 8b 02 mov eax, DWORD PTR [edx] - -; 117 : } - - 00016 5d pop ebp - 00017 c2 04 00 ret 4 -_zError@4 ENDP -_TEXT ENDS -PUBLIC _zlibVersion@0 -; Function compile flags: /Ogtp -; COMDAT _zlibVersion@0 -_TEXT SEGMENT -_zlibVersion@0 PROC ; COMDAT - -; 29 : return ZLIB_VERSION; - - 00000 b8 00 00 00 00 mov eax, OFFSET ??_C@_05BOAHNBIE@1?42?46?$AA@ - -; 30 : } - - 00005 c3 ret 0 -_zlibVersion@0 ENDP -PUBLIC _zlibCompileFlags@0 -; Function compile flags: /Ogtp -; COMDAT _zlibCompileFlags@0 -_TEXT SEGMENT -_zlibCompileFlags@0 PROC ; COMDAT - -; 34 : uLong flags; -; 35 : -; 36 : flags = 0; -; 37 : switch ((int)(sizeof(uInt))) { -; 38 : case 2: break; -; 39 : case 4: flags += 1; break; -; 40 : case 8: flags += 2; break; -; 41 : default: flags += 3; -; 42 : } -; 43 : switch ((int)(sizeof(uLong))) { -; 44 : case 2: break; -; 45 : case 4: flags += 1 << 2; break; -; 46 : case 8: flags += 2 << 2; break; -; 47 : default: flags += 3 << 2; -; 48 : } -; 49 : switch ((int)(sizeof(voidpf))) { -; 50 : case 2: break; -; 51 : case 4: flags += 1 << 4; break; -; 52 : case 8: flags += 2 << 4; break; -; 53 : default: flags += 3 << 4; -; 54 : } -; 55 : switch ((int)(sizeof(z_off_t))) { -; 56 : case 2: break; -; 57 : case 4: flags += 1 << 6; break; -; 58 : case 8: flags += 2 << 6; break; -; 59 : default: flags += 3 << 6; -; 60 : } -; 61 : #ifdef DEBUG -; 62 : flags += 1 << 8; -; 63 : #endif -; 64 : #if defined(ASMV) || defined(ASMINF) -; 65 : flags += 1 << 9; -; 66 : #endif -; 67 : #ifdef ZLIB_WINAPI -; 68 : flags += 1 << 10; -; 69 : #endif -; 70 : #ifdef BUILDFIXED -; 71 : flags += 1 << 12; -; 72 : #endif -; 73 : #ifdef DYNAMIC_CRC_TABLE -; 74 : flags += 1 << 13; -; 75 : #endif -; 76 : #ifdef NO_GZCOMPRESS -; 77 : flags += 1L << 16; -; 78 : #endif -; 79 : #ifdef NO_GZIP -; 80 : flags += 1L << 17; -; 81 : #endif -; 82 : #ifdef PKZIP_BUG_WORKAROUND -; 83 : flags += 1L << 20; -; 84 : #endif -; 85 : #ifdef FASTEST -; 86 : flags += 1L << 21; -; 87 : #endif -; 88 : #ifdef Z_SOLO -; 89 : return flags; -; 90 : #else -; 91 : return flags + gzflags(); - - 00000 e8 00 00 00 00 call _gzflags@0 - 00005 05 55 06 00 00 add eax, 1621 ; 00000655H - -; 92 : #endif -; 93 : } - - 0000a c3 ret 0 -_zlibCompileFlags@0 ENDP -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/zlibwapi.dll b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/zlibwapi.dll deleted file mode 100644 index 6cc06adc..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/zlibwapi.dll and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/zlibwapi.map b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/zlibwapi.map deleted file mode 100644 index 5788b8a0..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibDllRelease/zlibwapi.map +++ /dev/null @@ -1,940 +0,0 @@ - zlibwapi - - Timestamp is 4f881a96 (Fri Apr 13 15:22:46 2012) - - Preferred load address is 10000000 - - Start Length Name Class - 0001:00000000 0001834aH .text CODE - 0002:00000000 00000110H .idata$5 DATA - 0002:00000110 00000004H .CRT$XCA DATA - 0002:00000114 00000004H .CRT$XCZ DATA - 0002:00000118 00000004H .CRT$XIA DATA - 0002:0000011c 00000010H .CRT$XIC DATA - 0002:0000012c 00000004H .CRT$XIZ DATA - 0002:00000130 00000004H .CRT$XPA DATA - 0002:00000134 00000004H .CRT$XPX DATA - 0002:00000138 00000004H .CRT$XPXA DATA - 0002:0000013c 00000004H .CRT$XPZ DATA - 0002:00000140 00000004H .CRT$XTA DATA - 0002:00000144 00000004H .CRT$XTZ DATA - 0002:00000148 00005d98H .rdata DATA - 0002:00005ee0 00000004H .rtc$IAA DATA - 0002:00005ee4 00000004H .rtc$IZZ DATA - 0002:00005ee8 00000004H .rtc$TAA DATA - 0002:00005eec 00000004H .rtc$TZZ DATA - 0002:00005ef0 000003fcH .xdata$x DATA - 0002:000062ec 00000014H .idata$2 DATA - 0002:00006300 00000014H .idata$3 DATA - 0002:00006314 00000110H .idata$4 DATA - 0002:00006424 000004caH .idata$6 DATA - 0002:000068f0 00000c0cH .edata DATA - 0003:00000000 00000fc0H .data DATA - 0003:00000fc0 00001de4H .bss DATA - 0004:00000000 00000058H .rsrc$01 DATA - 0004:00000060 00000330H .rsrc$02 DATA - - Address Publics by Value Rva+Base Lib:Object - - 0000:00000000 ___safe_se_handler_count 00000000 - 0000:00000000 __except_list 00000000 - 0000:00000000 ___safe_se_handler_table 00000000 - 0000:00000000 ___ImageBase 10000000 - 0001:00000000 _adler32@12 10001000 f adler32.obj - 0001:00000330 _adler32_combine@12 10001330 f adler32.obj - 0001:00000350 _compress2@20 10001350 f compress.obj - 0001:00000400 _compress@16 10001400 f compress.obj - 0001:00000420 _compressBound@4 10001420 f compress.obj - 0001:00000440 _get_crc_table@0 10001440 f crc32.obj - 0001:00000450 _crc32@12 10001450 f crc32.obj - 0001:00000860 _crc32_combine@12 10001860 f crc32.obj - 0001:00000880 _deflateInit_@16 10001880 f deflate.obj - 0001:000008b0 _deflateInit2_@32 100018b0 f deflate.obj - 0001:00000af0 _deflateSetDictionary@12 10001af0 f deflate.obj - 0001:00000c80 _deflateResetKeep@4 10001c80 f deflate.obj - 0001:00000d30 _deflateReset@4 10001d30 f deflate.obj - 0001:00000d60 _deflateSetHeader@8 10001d60 f deflate.obj - 0001:00000d90 _deflatePending@12 10001d90 f deflate.obj - 0001:00000dd0 _deflatePrime@12 10001dd0 f deflate.obj - 0001:00000e60 _deflateParams@12 10001e60 f deflate.obj - 0001:00000f60 _deflateTune@20 10001f60 f deflate.obj - 0001:00000fb0 _deflateBound@8 10001fb0 f deflate.obj - 0001:00001110 _deflate@8 10002110 f deflate.obj - 0001:00001970 _deflateEnd@4 10002970 f deflate.obj - 0001:00001a50 _deflateCopy@8 10002a50 f deflate.obj - 0001:00002ba0 _gzclose@4 10003ba0 f gzclose.obj - 0001:00002e60 _gzopen@8 10003e60 f gzlib.obj - 0001:00002e80 _gzdopen@8 10003e80 f gzlib.obj - 0001:00002ed0 _gzbuffer@8 10003ed0 f gzlib.obj - 0001:00002f10 _gzrewind@4 10003f10 f gzlib.obj - 0001:00002f70 _gzseek64@16 10003f70 f gzlib.obj - 0001:000030e0 _gzseek@12 100040e0 f gzlib.obj - 0001:00003120 _gztell64@4 10004120 f gzlib.obj - 0001:00003170 _gztell@4 10004170 f gzlib.obj - 0001:000031a0 _gzoffset64@4 100041a0 f gzlib.obj - 0001:000031f0 _gzoffset@4 100041f0 f gzlib.obj - 0001:00003220 _gzeof@4 10004220 f gzlib.obj - 0001:00003250 _gzerror@8 10004250 f gzlib.obj - 0001:00003290 _gzclearerr@4 10004290 f gzlib.obj - 0001:000032d0 _gz_error 100042d0 f gzlib.obj - 0001:00003820 _gzread@12 10004820 f gzread.obj - 0001:000039a0 _gzgetc_@4 100049a0 f gzread.obj - 0001:00003a00 _gzgetc@4 10004a00 f gzread.obj - 0001:00003a10 _gzungetc@8 10004a10 f gzread.obj - 0001:00003b00 _gzgets@12 10004b00 f gzread.obj - 0001:00003c10 _gzdirect@4 10004c10 f gzread.obj - 0001:00003c50 _gzclose_r@4 10004c50 f gzread.obj - 0001:00003f90 _gzwrite@12 10004f90 f gzwrite.obj - 0001:000040a0 _gzputc@8 100050a0 f gzwrite.obj - 0001:00004150 _gzputs@8 10005150 f gzwrite.obj - 0001:00004190 _gzprintf 10005190 f gzwrite.obj - 0001:00004260 _gzflush@8 10005260 f gzwrite.obj - 0001:000042e0 _gzsetparams@12 100052e0 f gzwrite.obj - 0001:00004390 _gzclose_w@4 10005390 f gzwrite.obj - 0001:00004450 _gzflags@0 10005450 f gzwrite.obj - 0001:00004460 _inflateBackInit_@20 10005460 f infback.obj - 0001:00004550 _inflateBack@20 10005550 f infback.obj - 0001:00005250 _inflateBackEnd@4 10006250 f infback.obj - 0001:00005290 _inflateResetKeep@4 10006290 f inflate.obj - 0001:00005310 _inflateReset@4 10006310 f inflate.obj - 0001:00005340 _inflateReset2@8 10006340 f inflate.obj - 0001:000053d0 _inflateInit2_@16 100063d0 f inflate.obj - 0001:00005490 _inflateInit_@12 10006490 f inflate.obj - 0001:000054b0 _inflatePrime@12 100064b0 f inflate.obj - 0001:00005640 _inflate@8 10006640 f inflate.obj - 0001:00006b40 _inflateEnd@4 10007b40 f inflate.obj - 0001:00006ba0 _inflateSetDictionary@12 10007ba0 f inflate.obj - 0001:00006c70 _inflateGetHeader@8 10007c70 f inflate.obj - 0001:00006d10 _inflateSync@4 10007d10 f inflate.obj - 0001:00006e00 _inflateSyncPoint@4 10007e00 f inflate.obj - 0001:00006e40 _inflateCopy@8 10007e40 f inflate.obj - 0001:00006fa0 _inflateUndermine@8 10007fa0 f inflate.obj - 0001:00006fd0 _inflateMark@4 10007fd0 f inflate.obj - 0001:00007040 _inflate_table 10008040 f inftrees.obj - 0001:00007430 _call_zopen64 10008430 f ioapi.obj - 0001:00007450 _call_zseek64 10008450 f ioapi.obj - 0001:000074b0 _call_ztell64 100084b0 f ioapi.obj - 0001:000074e0 _fill_zlib_filefunc64_32_def_from_filefunc32 100084e0 f ioapi.obj - 0001:00007660 _fill_fopen64_filefunc 10008660 f ioapi.obj - 0001:00007750 _win32_open64_file_funcW 10008750 f iowin32.obj - 0001:000077b0 _win32_open_file_func 100087b0 f iowin32.obj - 0001:000077b0 _win32_open64_file_funcA 100087b0 f iowin32.obj - 0001:000077b0 _win32_open64_file_func 100087b0 f iowin32.obj - 0001:00007810 _win32_read_file_func 10008810 f iowin32.obj - 0001:00007860 _win32_write_file_func 10008860 f iowin32.obj - 0001:000078b0 _win32_tell_file_func 100088b0 f iowin32.obj - 0001:000078f0 _win32_tell64_file_func 100088f0 f iowin32.obj - 0001:00007960 _win32_seek_file_func 10008960 f iowin32.obj - 0001:000079c0 _win32_seek64_file_func 100089c0 f iowin32.obj - 0001:00007a20 _win32_close_file_func 10008a20 f iowin32.obj - 0001:00007a50 _win32_error_file_func 10008a50 f iowin32.obj - 0001:00007a70 _fill_win32_filefunc 10008a70 f iowin32.obj - 0001:00007ab0 _fill_win32_filefunc64 10008ab0 f iowin32.obj - 0001:00007ab0 _fill_win32_filefunc64A 10008ab0 f iowin32.obj - 0001:00007af0 _fill_win32_filefunc64W 10008af0 f iowin32.obj - 0001:00007b30 __tr_init 10008b30 f trees.obj - 0001:00008ad0 __tr_stored_block 10009ad0 f trees.obj - 0001:00008b60 __tr_flush_bits 10009b60 f trees.obj - 0001:00008b70 __tr_align 10009b70 f trees.obj - 0001:00008c60 __tr_flush_block 10009c60 f trees.obj - 0001:00009430 _uncompress@16 1000a430 f uncompr.obj - 0001:00009760 _unzStringFileNameCompare@12 1000a760 f unzip.obj - 0001:0000a000 _unzOpen2@8 1000b000 f unzip.obj - 0001:0000a050 _unzOpen2_64@8 1000b050 f unzip.obj - 0001:0000a0b0 _unzOpen@4 1000b0b0 f unzip.obj - 0001:0000a0d0 _unzOpen64@4 1000b0d0 f unzip.obj - 0001:0000a0f0 _unzClose@4 1000b0f0 f unzip.obj - 0001:0000a130 _unzGetGlobalInfo64@8 1000b130 f unzip.obj - 0001:0000a170 _unzGetGlobalInfo@8 1000b170 f unzip.obj - 0001:0000a760 _unzGetCurrentFileInfo64@32 1000b760 f unzip.obj - 0001:0000a790 _unzGetCurrentFileInfo@32 1000b790 f unzip.obj - 0001:0000a870 _unzGoToFirstFile@4 1000b870 f unzip.obj - 0001:0000a8e0 _unzGoToNextFile@4 1000b8e0 f unzip.obj - 0001:0000a990 _unzLocateFile@12 1000b990 f unzip.obj - 0001:0000aad0 _unzGetFilePos64@8 1000bad0 f unzip.obj - 0001:0000ab20 _unzGetFilePos@8 1000bb20 f unzip.obj - 0001:0000ab50 _unzGoToFilePos64@8 1000bb50 f unzip.obj - 0001:0000abc0 _unzGoToFilePos@8 1000bbc0 f unzip.obj - 0001:0000ae40 _unzOpenCurrentFile3@20 1000be40 f unzip.obj - 0001:0000b080 _unzOpenCurrentFile@4 1000c080 f unzip.obj - 0001:0000b0a0 _unzOpenCurrentFilePassword@8 1000c0a0 f unzip.obj - 0001:0000b0c0 _unzOpenCurrentFile2@16 1000c0c0 f unzip.obj - 0001:0000b0e0 _unzGetCurrentFileZStreamPos64@4 1000c0e0 f unzip.obj - 0001:0000b120 _unzReadCurrentFile@12 1000c120 f unzip.obj - 0001:0000b3c0 _unztell@4 1000c3c0 f unzip.obj - 0001:0000b3f0 _unztell64@4 1000c3f0 f unzip.obj - 0001:0000b420 _unzeof@4 1000c420 f unzip.obj - 0001:0000b460 _unzGetLocalExtrafield@12 1000c460 f unzip.obj - 0001:0000b520 _unzCloseCurrentFile@4 1000c520 f unzip.obj - 0001:0000b5d0 _unzGetGlobalComment@12 1000c5d0 f unzip.obj - 0001:0000bf30 _LoadCentralDirectoryRecord 1000cf30 f zip.obj - 0001:0000c3d0 _zipOpen3@16 1000d3d0 f zip.obj - 0001:0000c530 _zipOpen2@16 1000d530 f zip.obj - 0001:0000c580 _zipOpen2_64@16 1000d580 f zip.obj - 0001:0000c5e0 _zipOpen64@8 1000d5e0 f zip.obj - 0001:0000c5e0 _zipOpen@8 1000d5e0 f zip.obj - 0001:0000c600 _Write_LocalFileHeader 1000d600 f zip.obj - 0001:0000c820 _zipOpenNewFileInZip4_64@76 1000d820 f zip.obj - 0001:0000ccf0 _zipOpenNewFileInZip3@64 1000dcf0 f zip.obj - 0001:0000cd50 _zipOpenNewFileInZip3_64@68 1000dd50 f zip.obj - 0001:0000cdb0 _zipOpenNewFileInZip2@44 1000ddb0 f zip.obj - 0001:0000ce00 _zipOpenNewFileInZip2_64@48 1000de00 f zip.obj - 0001:0000ce50 _zipOpenNewFileInZip64@44 1000de50 f zip.obj - 0001:0000cea0 _zipOpenNewFileInZip@40 1000dea0 f zip.obj - 0001:0000cfb0 _zipWriteInFileInZip@12 1000dfb0 f zip.obj - 0001:0000d0b0 _zipCloseFileInZipRaw@12 1000e0b0 f zip.obj - 0001:0000d0d0 _zipCloseFileInZipRaw64@16 1000e0d0 f zip.obj - 0001:0000d5e0 _zipCloseFileInZip@4 1000e5e0 f zip.obj - 0001:0000d600 _Write_Zip64EndOfCentralDirectoryLocator 1000e600 f zip.obj - 0001:0000d680 _Write_Zip64EndOfCentralDirectoryRecord 1000e680 f zip.obj - 0001:0000d7a0 _Write_EndOfCentralDirectoryRecord 1000e7a0 f zip.obj - 0001:0000d8e0 _Write_GlobalComment 1000e8e0 f zip.obj - 0001:0000d950 _zipClose@8 1000e950 f zip.obj - 0001:0000dad0 _zlibVersion@0 1000ead0 f zutil.obj - 0001:0000dae0 _zlibCompileFlags@0 1000eae0 f zutil.obj - 0001:0000daf0 _zError@4 1000eaf0 f zutil.obj - 0001:0000db10 _zcalloc 1000eb10 f zutil.obj - 0001:0000db30 _zcfree 1000eb30 f zutil.obj - 0001:0000db50 _longest_match 1000eb50 f match686.obj - 0001:0000dd38 _match_init 1000ed38 f match686.obj - 0001:0000de40 _inflate_fast 1000ee40 f inffas32.obj - 0001:0000e4d3 _sprintf 1000f4d3 f LIBCMT:sprintf.obj - 0001:0000e557 __lseeki64_nolock 1000f557 f LIBCMT:lseeki64.obj - 0001:0000e5dc __lseeki64 1000f5dc f LIBCMT:lseeki64.obj - 0001:0000e6c6 _free 1000f6c6 f LIBCMT:free.obj - 0001:0000e700 _malloc 1000f700 f LIBCMT:malloc.obj - 0001:0000e7a0 _memmove 1000f7a0 f LIBCMT:memmove.obj - 0001:0000eb01 __get_sys_err_msg 1000fb01 f i LIBCMT:strerror.obj - 0001:0000eb29 _strerror 1000fb29 f LIBCMT:strerror.obj - 0001:0000eba0 _memchr 1000fba0 f LIBCMT:memchr.obj - 0001:0000ec4d __get_errno_from_oserr 1000fc4d f LIBCMT:dosmap.obj - 0001:0000ec8f __errno 1000fc8f f LIBCMT:dosmap.obj - 0001:0000eca2 ___doserrno 1000fca2 f LIBCMT:dosmap.obj - 0001:0000ecb5 __dosmaperr 1000fcb5 f LIBCMT:dosmap.obj - 0001:0000ecd8 __ftelli64_nolock 1000fcd8 f LIBCMT:ftelli64.obj - 0001:0000f022 __ftelli64 10010022 f LIBCMT:ftelli64.obj - 0001:0000f08f __fseeki64_nolock 1001008f f LIBCMT:fseeki64.obj - 0001:0000f12b __fseeki64 1001012b f LIBCMT:fseeki64.obj - 0001:0000f1aa __fsopen 100101aa f LIBCMT:fopen.obj - 0001:0000f266 _fopen 10010266 f LIBCMT:fopen.obj - 0001:0000f27d __fread_nolock_s 1001027d f LIBCMT:fread.obj - 0001:0000f439 _fread_s 10010439 f LIBCMT:fread.obj - 0001:0000f4c7 _fread 100104c7 f LIBCMT:fread.obj - 0001:0000f4e4 _ferror 100104e4 f LIBCMT:feoferr.obj - 0001:0000f50c __fwrite_nolock 1001050c f LIBCMT:fwrite.obj - 0001:0000f663 _fwrite 10010663 f LIBCMT:fwrite.obj - 0001:0000f6dd __fclose_nolock 100106dd f LIBCMT:fclose.obj - 0001:0000f74a _fclose 1001074a f LIBCMT:fclose.obj - 0001:0000f7be _srand 100107be f LIBCMT:rand.obj - 0001:0000f7d0 _rand 100107d0 f LIBCMT:rand.obj - 0001:0000f7f1 __time64 100107f1 f LIBCMT:time64.obj - 0001:0000f842 __CRT_INIT@12 10010842 f LIBCMT:dllcrt0.obj - 0001:0000fa9c __DllMainCRTStartup@12 10010a9c f LIBCMT:dllcrt0.obj - 0001:0000fabf __flsbuf 10010abf f LIBCMT:_flsbuf.obj - 0001:0000fc23 ??0_LocaleUpdate@@QAE@PAUlocaleinfo_struct@@@Z 10010c23 f i LIBCMT:output.obj - 0001:0000fd2a __output_l 10010d2a f LIBCMT:output.obj - 0001:000108d6 __initp_misc_invarg 100118d6 f LIBCMT:invarg.obj - 0001:000108e5 __call_reportfault 100118e5 f LIBCMT:invarg.obj - 0001:00010a0e __invoke_watson 10011a0e f LIBCMT:invarg.obj - 0001:00010a33 __invalid_parameter 10011a33 f LIBCMT:invarg.obj - 0001:00010a60 __invalid_parameter_noinfo 10011a60 f LIBCMT:invarg.obj - 0001:00010a70 __ioinit 10011a70 f LIBCMT:ioinit.obj - 0001:00010cb5 __ioterm 10011cb5 f LIBCMT:ioinit.obj - 0001:00010d08 __set_osfhnd 10011d08 f LIBCMT:osfinfo.obj - 0001:00010d89 __free_osfhnd 10011d89 f LIBCMT:osfinfo.obj - 0001:00010e0f __get_osfhandle 10011e0f f LIBCMT:osfinfo.obj - 0001:00010e78 ___lock_fhandle 10011e78 f LIBCMT:osfinfo.obj - 0001:00010f17 __unlock_fhandle 10011f17 f LIBCMT:osfinfo.obj - 0001:00010f3e __alloc_osfhnd 10011f3e f LIBCMT:osfinfo.obj - 0001:000110e0 __SEH_prolog4 100120e0 f LIBCMT:sehprolg4.obj - 0001:00011125 __SEH_epilog4 10012125 f LIBCMT:sehprolg4.obj - 0001:00011140 __except_handler4 10012140 f LIBCMT:chandler4.obj - 0001:000112cf __heap_init 100122cf f LIBCMT:heapinit.obj - 0001:000112ed __heap_term 100122ed f LIBCMT:heapinit.obj - 0001:00011301 ___crtCorExitProcess 10012301 f LIBCMT:crt0dat.obj - 0001:0001132c ___crtExitProcess 1001232c f LIBCMT:crt0dat.obj - 0001:00011344 __lockexit 10012344 f LIBCMT:crt0dat.obj - 0001:0001134d __unlockexit 1001234d f LIBCMT:crt0dat.obj - 0001:00011356 __init_pointers 10012356 f LIBCMT:crt0dat.obj - 0001:00011389 __initterm_e 10012389 f LIBCMT:crt0dat.obj - 0001:000113ad __cinit 100123ad f LIBCMT:crt0dat.obj - 0001:00011584 __exit 10012584 f LIBCMT:crt0dat.obj - 0001:0001159a __cexit 1001259a f LIBCMT:crt0dat.obj - 0001:000115a9 __amsg_exit 100125a9 f LIBCMT:crt0dat.obj - 0001:000115c7 __GET_RTERRMSG 100125c7 f LIBCMT:crt0msg.obj - 0001:000115ed __NMSG_WRITE 100125ed f LIBCMT:crt0msg.obj - 0001:0001179c __FF_MSGBANNER 1001279c f LIBCMT:crt0msg.obj - 0001:000117d5 __initp_heap_handler 100127d5 f LIBCMT:handler.obj - 0001:000117e4 __callnewh 100127e4 f LIBCMT:handler.obj - 0001:0001180c __VEC_memcpy 1001280c f LIBCMT:p4_memcpy.obj - 0001:0001190f ___sse2_available_init 1001290f f LIBCMT:cpu_disp.obj - 0001:0001191f ___sys_nerr 1001291f f LIBCMT:syserr.obj - 0001:00011925 ___sys_errlist 10012925 f LIBCMT:syserr.obj - 0001:0001192b _strcpy_s 1001292b f LIBCMT:strcpy_s.obj - 0001:0001198a __malloc_crt 1001298a f LIBCMT:crtheap.obj - 0001:000119cf __calloc_crt 100129cf f LIBCMT:crtheap.obj - 0001:00011a1b __realloc_crt 10012a1b f LIBCMT:crtheap.obj - 0001:00011a69 __encoded_null 10012a69 f LIBCMT:tidtable.obj - 0001:00011a72 ___crtTlsAlloc@4 10012a72 f LIBCMT:tidtable.obj - 0001:00011a7b ___set_flsgetvalue 10012a7b f LIBCMT:tidtable.obj - 0001:00011aaf __mtterm 10012aaf f LIBCMT:tidtable.obj - 0001:00011aec __initptd 10012aec f LIBCMT:tidtable.obj - 0001:00011ba0 __getptd_noexit 10012ba0 f LIBCMT:tidtable.obj - 0001:00011c19 __getptd 10012c19 f LIBCMT:tidtable.obj - 0001:00011c33 __freefls@4 10012c33 f LIBCMT:tidtable.obj - 0001:00011d62 __freeptd 10012d62 f LIBCMT:tidtable.obj - 0001:00011dd0 __mtinit 10012dd0 f LIBCMT:tidtable.obj - 0001:00011f4b __vsnprintf_l 10012f4b f LIBCMT:vsnprint.obj - 0001:00011ff7 _vsnprintf 10012ff7 f LIBCMT:vsnprint.obj - 0001:00011ff7 __vsnprintf 10012ff7 f LIBCMT:vsnprint.obj - 0001:00012014 __read_nolock 10013014 f LIBCMT:read.obj - 0001:000125cb __read 100135cb f LIBCMT:read.obj - 0001:000125cb _read 100135cb f LIBCMT:read.obj - 0001:000126c1 __fileno 100136c1 f LIBCMT:fileno.obj - 0001:000126e7 @__security_check_cookie@4 100136e7 f LIBCMT:secchk.obj - 0001:00012700 __alloca_probe 10013700 LIBCMT:chkstk.obj - 0001:00012700 __chkstk 10013700 f LIBCMT:chkstk.obj - 0001:0001272b ___iob_func 1001372b f LIBCMT:_file.obj - 0001:00012731 ___initstdio 10013731 f LIBCMT:_file.obj - 0001:000127e2 ___endstdio 100137e2 f LIBCMT:_file.obj - 0001:00012802 __lock_file 10013802 f LIBCMT:_file.obj - 0001:00012843 __lock_file2 10013843 f LIBCMT:_file.obj - 0001:00012875 __unlock_file 10013875 f LIBCMT:_file.obj - 0001:000128b1 __unlock_file2 100138b1 f LIBCMT:_file.obj - 0001:000128e0 __flush 100138e0 f LIBCMT:fflush.obj - 0001:00012948 __fflush_nolock 10013948 f LIBCMT:fflush.obj - 0001:00012a6a __flushall 10013a6a f LIBCMT:fflush.obj - 0001:00012a73 __openfile 10013a73 f LIBCMT:_open.obj - 0001:00012d0a __getstream 10013d0a f LIBCMT:stream.obj - 0001:00012e40 __local_unwind4 10013e40 f LIBCMT:exsup4.obj - 0001:00012f16 __seh_longjmp_unwind4@4 10013f16 f LIBCMT:exsup4.obj - 0001:00012f32 @_EH4_CallFilterFunc@8 10013f32 f LIBCMT:exsup4.obj - 0001:00012f49 @_EH4_TransferToHandler@8 10013f49 f LIBCMT:exsup4.obj - 0001:00012f62 @_EH4_GlobalUnwind2@8 10013f62 f LIBCMT:exsup4.obj - 0001:00012f7b @_EH4_LocalUnwind@16 10013f7b f LIBCMT:exsup4.obj - 0001:00012f92 __filbuf 10013f92 f LIBCMT:_filbuf.obj - 0001:000130b4 _memcpy_s 100140b4 f LIBCMT:memcpy_s.obj - 0001:00013130 _memset 10014130 f LIBCMT:memset.obj - 0001:000131aa __write_nolock 100141aa f LIBCMT:write.obj - 0001:000138a7 _write 100148a7 f LIBCMT:write.obj - 0001:000138a7 __write 100148a7 f LIBCMT:write.obj - 0001:00013980 _memcpy 10014980 f LIBCMT:memcpy.obj - 0001:00013ce1 __lseek_nolock 10014ce1 f LIBCMT:lseek.obj - 0001:00013d56 __close_nolock 10014d56 f LIBCMT:close.obj - 0001:00013df2 _close 10014df2 f LIBCMT:close.obj - 0001:00013df2 __close 10014df2 f LIBCMT:close.obj - 0001:00013eb6 __freebuf 10014eb6 f LIBCMT:_freebuf.obj - 0001:00013ef0 __aulldiv 10014ef0 f LIBCMT:ulldiv.obj - 0001:00013f58 __setenvp 10014f58 f LIBCMT:stdenvp.obj - 0001:000141ce __setargv 100151ce f LIBCMT:stdargv.obj - 0001:00014289 ___crtGetEnvironmentStringsA 10015289 f LIBCMT:a_env.obj - 0001:00014320 __RTC_Initialize 10015320 f LIBCMT:_initsect_.obj - 0001:00014346 __RTC_Terminate 10015346 f LIBCMT:_initsect_.obj - 0001:0001436c __XcptFilter 1001536c f LIBCMT:winxfltr.obj - 0001:000144b6 ___CppXcptFilter 100154b6 f LIBCMT:winxfltr.obj - 0001:000144d6 _DllMain@12 100154d6 f LIBCMT:dllmain.obj - 0001:000144dc ___security_init_cookie 100154dc f LIBCMT:gs_support.obj - 0001:00014577 __getbuf 10015577 f LIBCMT:_getbuf.obj - 0001:000145c0 __isatty 100155c0 f LIBCMT:isatty.obj - 0001:00014839 ___updatetmbcinfo 10015839 f LIBCMT:mbctype.obj - 0001:00014959 __setmbcp_nolock 10015959 f LIBCMT:mbctype.obj - 0001:00014b42 __setmbcp 10015b42 f LIBCMT:mbctype.obj - 0001:00014cdc ___initmbctable 10015cdc f LIBCMT:mbctype.obj - 0001:00014cfa ___addlocaleref 10015cfa f LIBCMT:localref.obj - 0001:00014d89 ___removelocaleref 10015d89 f LIBCMT:localref.obj - 0001:00014e22 ___freetlocinfo 10015e22 f LIBCMT:localref.obj - 0001:00014f6d __updatetlocinfoEx_nolock 10015f6d f LIBCMT:localref.obj - 0001:00014fba ___updatetlocinfo 10015fba f LIBCMT:localref.obj - 0001:00015033 __initp_misc_cfltcvt_tab 10016033 f LIBCMT:cmiscdat.obj - 0001:00015056 __get_printf_count_output 10016056 f LIBCMT:printf.obj - 0001:00015070 _strlen 10016070 f LIBCMT:strlen.obj - 0001:000150fb __wctomb_s_l 100160fb f LIBCMT:wctomb.obj - 0001:00015250 _wctomb_s 10016250 f LIBCMT:wctomb.obj - 0001:0001526d __isleadbyte_l 1001626d f i LIBCMT:_wctype.obj - 0001:000152a5 _isleadbyte 100162a5 f i LIBCMT:_wctype.obj - 0001:000152c0 __aulldvrm 100162c0 f LIBCMT:ulldvrm.obj - 0001:00015355 __crt_debugger_hook 10016355 f LIBCMT:dbghook.obj - 0001:0001535d __mtinitlocks 1001635d f LIBCMT:mlock.obj - 0001:000153a7 __mtdeletelocks 100163a7 f LIBCMT:mlock.obj - 0001:000153fe __unlock 100163fe f LIBCMT:mlock.obj - 0001:00015415 __mtinitlocknum 10016415 f LIBCMT:mlock.obj - 0001:000154d7 __lock 100164d7 f LIBCMT:mlock.obj - 0001:00015510 __ValidateImageBase 10016510 f LIBCMT:pesect.obj - 0001:00015550 __FindPESection 10016550 f LIBCMT:pesect.obj - 0001:000155a0 __IsNonwritableInCurrentImage 100165a0 f LIBCMT:pesect.obj - 0001:0001565c ?terminate@@YAXXZ 1001665c f LIBCMT:hooks.obj - 0001:00015695 __initp_eh_hooks 10016695 f LIBCMT:hooks.obj - 0001:000156a6 __initp_misc_winsig 100166a6 f LIBCMT:winsig.obj - 0001:000156fb ___get_sigabrt 100166fb f LIBCMT:winsig.obj - 0001:00015708 _raise 10016708 f LIBCMT:winsig.obj - 0001:000158ab __initp_misc_rand_s 100168ab f LIBCMT:rand_s.obj - 0001:000158ba __initp_misc_purevirt 100168ba f LIBCMT:inithelp.obj - 0001:0001597f ___onexitinit 1001697f f LIBCMT:onexit.obj - 0001:000159b0 __onexit 100169b0 f LIBCMT:onexit.obj - 0001:000159ec _atexit 100169ec f LIBCMT:onexit.obj - 0001:00015a03 ___crtMessageBoxW 10016a03 f LIBCMT:crtmboxw.obj - 0001:00015b6f _wcscat_s 10016b6f f LIBCMT:wcscat_s.obj - 0001:00015be4 _wcsncpy_s 10016be4 f LIBCMT:wcsncpy_s.obj - 0001:00015cb1 _wcslen 10016cb1 f LIBCMT:wcslen.obj - 0001:00015ccc _wcscpy_s 10016ccc f LIBCMT:wcscpy_s.obj - 0001:00015d2f __set_error_mode 10016d2f f LIBCMT:errmode.obj - 0001:00015d6e __calloc_impl 10016d6e f LIBCMT:calloc_impl.obj - 0001:00015df0 _realloc 10016df0 f LIBCMT:realloc.obj - 0001:00015e9d ___report_gsfailure 10016e9d f LIBCMT:gs_report.obj - 0001:00015fa3 __fcloseall 10016fa3 f LIBCMT:closeall.obj - 0001:0001603f __commit 1001703f f LIBCMT:commit.obj - 0001:0001684c _open 1001784c f LIBCMT:open.obj - 0001:0001684c __open 1001784c f LIBCMT:open.obj - 0001:000168fa __sopen_helper 100178fa f LIBCMT:open.obj - 0001:000169be __sopen_s 100179be f LIBCMT:open.obj - 0001:000169de __mbsnbicmp_l 100179de f LIBCMT:mbsnbicm.obj - 0001:00016be2 __mbsnbicmp 10017be2 f LIBCMT:mbsnbicm.obj - 0001:00016bfc __mbsnbcmp_l 10017bfc f LIBCMT:mbsnbcmp.obj - 0001:00016d48 __mbsnbcmp 10017d48 f LIBCMT:mbsnbcmp.obj - 0001:00016d70 __global_unwind2 10017d70 f LIBCMT:exsup.obj - 0001:00016dd5 __local_unwind2 10017dd5 f LIBCMT:exsup.obj - 0001:00016e59 __abnormal_termination 10017e59 f LIBCMT:exsup.obj - 0001:00016e7c __NLG_Notify1 10017e7c f LIBCMT:exsup.obj - 0001:00016e85 __NLG_Notify 10017e85 f LIBCMT:exsup.obj - 0001:00016e9c __NLG_Dispatch2 10017e9c LIBCMT:exsup.obj - 0001:00016e9c __NLG_Dispatch 10017e9c LIBCMT:exsup.obj - 0001:00016ea4 __NLG_Call 10017ea4 f LIBCMT:exsup.obj - 0001:00016ea6 __NLG_Return2 10017ea6 LIBCMT:exsup.obj - 0001:00016ea7 __VEC_memzero 10017ea7 f LIBCMT:p4_memset.obj - 0001:00016f61 __putwch_nolock 10017f61 f LIBCMT:putwch.obj - 0001:00016fa3 __mbtowc_l 10017fa3 f LIBCMT:mbtowc.obj - 0001:000170b9 _mbtowc 100180b9 f LIBCMT:mbtowc.obj - 0001:00017126 __ismbblead 10018126 f LIBCMT:ismbbyte.obj - 0001:0001713e __freea 1001813e f i LIBCMT:a_map.obj - 0001:00017345 ___crtLCMapStringA 10018345 f LIBCMT:a_map.obj - 0001:00017472 ___crtGetStringTypeA 10018472 f LIBCMT:a_str.obj - 0001:000174b2 ___free_lc_time 100184b2 f LIBCMT:inittime.obj - 0001:00017829 ___free_lconv_num 10018829 f LIBCMT:initnum.obj - 0001:00017892 ___free_lconv_mon 10018892 f LIBCMT:initmon.obj - 0001:00017990 __fptrap 10018990 f LIBCMT:crt0fp.obj - 0001:00017999 _abort 10018999 f LIBCMT:abort.obj - 0001:000179cc __msize 100189cc f LIBCMT:msize.obj - 0001:000179ff __chsize_nolock 100189ff f LIBCMT:chsize.obj - 0001:00017bb5 __setmode_nolock 10018bb5 f LIBCMT:setmode.obj - 0001:00017c70 __get_fmode 10018c70 f LIBCMT:setmode.obj - 0001:00017c9d __strnicmp_l 10018c9d f LIBCMT:strnicmp.obj - 0001:00017d7f __strnicmp 10018d7f f LIBCMT:strnicmp.obj - 0001:00017dd2 _strncmp 10018dd2 f LIBCMT:strncmp.obj - 0001:00017e92 ___initconout 10018e92 f LIBCMT:initcon.obj - 0001:00017eb1 ___termconout 10018eb1 f LIBCMT:initcon.obj - 0001:00017ed0 __alloca_probe_16 10018ed0 f LIBCMT:alloca16.obj - 0001:00017ee6 __alloca_probe_8 10018ee6 LIBCMT:alloca16.obj - 0001:00017efc __isctype_l 10018efc f LIBCMT:isctype.obj - 0001:00017fb4 __tolower_l 10018fb4 f LIBCMT:tolower.obj - 0001:000180d0 ___ascii_strnicmp 100190d0 f LIBCMT:_strnicm.obj - 0001:00018140 _strcspn 10019140 f LIBCMT:strcspn.obj - 0001:00018190 _strcmp 10019190 f LIBCMT:strcmp.obj - 0001:00018220 _strpbrk 10019220 f LIBCMT:strpbrk.obj - 0001:00018260 __allmul 10019260 f LIBCMT:llmul.obj - 0001:00018294 _RtlUnwind@16 10019294 f kernel32:KERNEL32.dll - 0001:000182a0 __alldiv 100192a0 f LIBCMT:lldiv.obj - 0002:00000000 __imp__CreateFileA@28 1001a000 kernel32:KERNEL32.dll - 0002:00000004 __imp__SetFilePointer@16 1001a004 kernel32:KERNEL32.dll - 0002:00000008 __imp__WriteFile@20 1001a008 kernel32:KERNEL32.dll - 0002:0000000c __imp__ReadFile@20 1001a00c kernel32:KERNEL32.dll - 0002:00000010 __imp__CreateFileW@28 1001a010 kernel32:KERNEL32.dll - 0002:00000014 __imp__GetLastError@0 1001a014 kernel32:KERNEL32.dll - 0002:00000018 __imp__CloseHandle@4 1001a018 kernel32:KERNEL32.dll - 0002:0000001c __imp__HeapFree@12 1001a01c kernel32:KERNEL32.dll - 0002:00000020 __imp__HeapAlloc@12 1001a020 kernel32:KERNEL32.dll - 0002:00000024 __imp__GetSystemTimeAsFileTime@4 1001a024 kernel32:KERNEL32.dll - 0002:00000028 __imp__GetCurrentThreadId@0 1001a028 kernel32:KERNEL32.dll - 0002:0000002c __imp__DecodePointer@4 1001a02c kernel32:KERNEL32.dll - 0002:00000030 __imp__GetCommandLineA@0 1001a030 kernel32:KERNEL32.dll - 0002:00000034 __imp__UnhandledExceptionFilter@4 1001a034 kernel32:KERNEL32.dll - 0002:00000038 __imp__SetUnhandledExceptionFilter@4 1001a038 kernel32:KERNEL32.dll - 0002:0000003c __imp__IsDebuggerPresent@0 1001a03c kernel32:KERNEL32.dll - 0002:00000040 __imp__EncodePointer@4 1001a040 kernel32:KERNEL32.dll - 0002:00000044 __imp__TerminateProcess@8 1001a044 kernel32:KERNEL32.dll - 0002:00000048 __imp__GetCurrentProcess@0 1001a048 kernel32:KERNEL32.dll - 0002:0000004c __imp__SetHandleCount@4 1001a04c kernel32:KERNEL32.dll - 0002:00000050 __imp__GetStdHandle@4 1001a050 kernel32:KERNEL32.dll - 0002:00000054 __imp__InitializeCriticalSectionAndSpinCount@8 1001a054 kernel32:KERNEL32.dll - 0002:00000058 __imp__GetFileType@4 1001a058 kernel32:KERNEL32.dll - 0002:0000005c __imp__GetStartupInfoW@4 1001a05c kernel32:KERNEL32.dll - 0002:00000060 __imp__DeleteCriticalSection@4 1001a060 kernel32:KERNEL32.dll - 0002:00000064 __imp__SetStdHandle@8 1001a064 kernel32:KERNEL32.dll - 0002:00000068 __imp__EnterCriticalSection@4 1001a068 kernel32:KERNEL32.dll - 0002:0000006c __imp__LeaveCriticalSection@4 1001a06c kernel32:KERNEL32.dll - 0002:00000070 __imp__HeapCreate@12 1001a070 kernel32:KERNEL32.dll - 0002:00000074 __imp__HeapDestroy@4 1001a074 kernel32:KERNEL32.dll - 0002:00000078 __imp__GetProcAddress@8 1001a078 kernel32:KERNEL32.dll - 0002:0000007c __imp__GetModuleHandleW@4 1001a07c kernel32:KERNEL32.dll - 0002:00000080 __imp__ExitProcess@4 1001a080 kernel32:KERNEL32.dll - 0002:00000084 __imp__GetModuleFileNameW@12 1001a084 kernel32:KERNEL32.dll - 0002:00000088 __imp__IsProcessorFeaturePresent@4 1001a088 kernel32:KERNEL32.dll - 0002:0000008c __imp__Sleep@4 1001a08c kernel32:KERNEL32.dll - 0002:00000090 __imp__TlsAlloc@0 1001a090 kernel32:KERNEL32.dll - 0002:00000094 __imp__TlsGetValue@4 1001a094 kernel32:KERNEL32.dll - 0002:00000098 __imp__TlsSetValue@8 1001a098 kernel32:KERNEL32.dll - 0002:0000009c __imp__TlsFree@4 1001a09c kernel32:KERNEL32.dll - 0002:000000a0 __imp__InterlockedIncrement@4 1001a0a0 kernel32:KERNEL32.dll - 0002:000000a4 __imp__SetLastError@4 1001a0a4 kernel32:KERNEL32.dll - 0002:000000a8 __imp__InterlockedDecrement@4 1001a0a8 kernel32:KERNEL32.dll - 0002:000000ac __imp__MultiByteToWideChar@24 1001a0ac kernel32:KERNEL32.dll - 0002:000000b0 __imp__RtlUnwind@16 1001a0b0 kernel32:KERNEL32.dll - 0002:000000b4 __imp__WideCharToMultiByte@32 1001a0b4 kernel32:KERNEL32.dll - 0002:000000b8 __imp__GetConsoleCP@0 1001a0b8 kernel32:KERNEL32.dll - 0002:000000bc __imp__GetConsoleMode@8 1001a0bc kernel32:KERNEL32.dll - 0002:000000c0 __imp__GetModuleFileNameA@12 1001a0c0 kernel32:KERNEL32.dll - 0002:000000c4 __imp__FreeEnvironmentStringsW@4 1001a0c4 kernel32:KERNEL32.dll - 0002:000000c8 __imp__GetEnvironmentStringsW@0 1001a0c8 kernel32:KERNEL32.dll - 0002:000000cc __imp__QueryPerformanceCounter@4 1001a0cc kernel32:KERNEL32.dll - 0002:000000d0 __imp__GetTickCount@0 1001a0d0 kernel32:KERNEL32.dll - 0002:000000d4 __imp__GetCurrentProcessId@0 1001a0d4 kernel32:KERNEL32.dll - 0002:000000d8 __imp__GetCPInfo@8 1001a0d8 kernel32:KERNEL32.dll - 0002:000000dc __imp__GetACP@0 1001a0dc kernel32:KERNEL32.dll - 0002:000000e0 __imp__GetOEMCP@0 1001a0e0 kernel32:KERNEL32.dll - 0002:000000e4 __imp__IsValidCodePage@4 1001a0e4 kernel32:KERNEL32.dll - 0002:000000e8 __imp__LoadLibraryW@4 1001a0e8 kernel32:KERNEL32.dll - 0002:000000ec __imp__HeapReAlloc@16 1001a0ec kernel32:KERNEL32.dll - 0002:000000f0 __imp__FlushFileBuffers@4 1001a0f0 kernel32:KERNEL32.dll - 0002:000000f4 __imp__WriteConsoleW@20 1001a0f4 kernel32:KERNEL32.dll - 0002:000000f8 __imp__LCMapStringW@24 1001a0f8 kernel32:KERNEL32.dll - 0002:000000fc __imp__GetStringTypeW@16 1001a0fc kernel32:KERNEL32.dll - 0002:00000100 __imp__HeapSize@12 1001a100 kernel32:KERNEL32.dll - 0002:00000104 __imp__SetEndOfFile@4 1001a104 kernel32:KERNEL32.dll - 0002:00000108 __imp__GetProcessHeap@0 1001a108 kernel32:KERNEL32.dll - 0002:0000010c \177KERNEL32_NULL_THUNK_DATA 1001a10c kernel32:KERNEL32.dll - 0002:00000110 ___xc_a 1001a110 LIBCMT:crt0init.obj - 0002:00000114 ___xc_z 1001a114 LIBCMT:crt0init.obj - 0002:00000118 ___xi_a 1001a118 LIBCMT:crt0init.obj - 0002:0000012c ___xi_z 1001a12c LIBCMT:crt0init.obj - 0002:00000130 ___xp_a 1001a130 LIBCMT:crt0init.obj - 0002:0000013c ___xp_z 1001a13c LIBCMT:crt0init.obj - 0002:00000140 ___xt_a 1001a140 LIBCMT:crt0init.obj - 0002:00000144 ___xt_z 1001a144 LIBCMT:crt0init.obj - 0002:00000148 ??_C@_0EA@FCLIIPNN@Visual?5C?$CL?$CL?5CRT?3?5Not?5enough?5memor@ 1001a148 LIBCMT:strerror.obj - 0002:00000188 __pDefaultRawDllMain 1001a188 LIBCMT:dllcrt0.obj - 0002:00000188 __pRawDllMain 1001a188 LIBCMT:dllcrt0.obj - 0002:0000018c ??_C@_1O@CEDCILHN@?$AA?$CI?$AAn?$AAu?$AAl?$AAl?$AA?$CJ?$AA?$AA@ 1001a18c LIBCMT:output.obj - 0002:0000019c ??_C@_06OJHGLDPL@?$CInull?$CJ?$AA@ 1001a19c LIBCMT:output.obj - 0002:000001a8 ___lookuptable 1001a1a8 LIBCMT:output.obj - 0002:00000204 ??_C@_0P@MIGLKIOC@CorExitProcess?$AA@ 1001a204 LIBCMT:crt0dat.obj - 0002:00000214 ??_C@_1BI@BGOHAHKC@?$AAm?$AAs?$AAc?$AAo?$AAr?$AAe?$AAe?$AA?4?$AAd?$AAl?$AAl?$AA?$AA@ 1001a214 LIBCMT:crt0dat.obj - 0002:0000022c ??_C@_1BO@BKOMIGKJ@?$AAr?$AAu?$AAn?$AAt?$AAi?$AAm?$AAe?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?5?$AA?$AA@ 1001a22c LIBCMT:crt0msg.obj - 0002:0000024c ??_C@_15JNBOKNOG@?$AA?$AN?$AA?6?$AA?$AA@ 1001a24c LIBCMT:crt0msg.obj - 0002:00000254 ??_C@_1BM@JBBEPPHI@?$AAT?$AAL?$AAO?$AAS?$AAS?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AN?$AA?6?$AA?$AA@ 1001a254 LIBCMT:crt0msg.obj - 0002:00000270 ??_C@_1BK@KMOMNAAI@?$AAS?$AAI?$AAN?$AAG?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AN?$AA?6?$AA?$AA@ 1001a270 LIBCMT:crt0msg.obj - 0002:0000028c ??_C@_1BO@BFCDCGC@?$AAD?$AAO?$AAM?$AAA?$AAI?$AAN?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AN?$AA?6?$AA?$AA@ 1001a28c LIBCMT:crt0msg.obj - 0002:000002b0 ??_C@_1BOO@KGEDBGAJ@?$AAR?$AA6?$AA0?$AA3?$AA3?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAA?$AAt?$AAt?$AAe?$AAm?$AAp?$AAt?$AA?5?$AAt?$AAo?$AA?5?$AAu?$AAs?$AAe?$AA?5?$AAM?$AAS?$AAI?$AAL?$AA?5?$AAc?$AAo?$AAd@ 1001a2b0 LIBCMT:crt0msg.obj - 0002:000004a0 ??_C@_1GG@GOPILAJP@?$AAR?$AA6?$AA0?$AA3?$AA2?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAl?$AAo@ 1001a4a0 LIBCMT:crt0msg.obj - 0002:00000508 ??_C@_1MG@ENCOOIDF@?$AAR?$AA6?$AA0?$AA3?$AA1?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAA?$AAt?$AAt?$AAe?$AAm?$AAp?$AAt?$AA?5?$AAt?$AAo?$AA?5?$AAi?$AAn?$AAi?$AAt?$AAi?$AAa?$AAl?$AAi?$AAz?$AAe?$AA?5?$AAt@ 1001a508 LIBCMT:crt0msg.obj - 0002:000005d0 ??_C@_1DO@BMFCDCD@?$AAR?$AA6?$AA0?$AA3?$AA0?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAC?$AAR?$AAT?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAi?$AAn?$AAi?$AAt?$AAi?$AAa?$AAl?$AAi?$AAz?$AAe?$AAd?$AA?$AN?$AA?6?$AA?$AA@ 1001a5d0 LIBCMT:crt0msg.obj - 0002:00000610 ??_C@_1EK@HHFLMAOL@?$AAR?$AA6?$AA0?$AA2?$AA8?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAu?$AAn?$AAa?$AAb?$AAl?$AAe?$AA?5?$AAt?$AAo?$AA?5?$AAi?$AAn?$AAi?$AAt?$AAi?$AAa?$AAl?$AAi?$AAz?$AAe?$AA?5?$AAh?$AAe@ 1001a610 LIBCMT:crt0msg.obj - 0002:00000660 ??_C@_1GK@MFGOKLAG@?$AAR?$AA6?$AA0?$AA2?$AA7?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAl?$AAo@ 1001a660 LIBCMT:crt0msg.obj - 0002:000006d0 ??_C@_1GK@MCAAGJMO@?$AAR?$AA6?$AA0?$AA2?$AA6?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAs?$AAt@ 1001a6d0 LIBCMT:crt0msg.obj - 0002:00000740 ??_C@_1EM@MAADIHMB@?$AAR?$AA6?$AA0?$AA2?$AA5?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAp?$AAu?$AAr?$AAe?$AA?5?$AAv?$AAi?$AAr?$AAt?$AAu?$AAa?$AAl?$AA?5?$AAf?$AAu?$AAn?$AAc?$AAt?$AAi?$AAo?$AAn?$AA?5?$AAc@ 1001a740 LIBCMT:crt0msg.obj - 0002:00000790 ??_C@_1GK@FHCKBEFA@?$AAR?$AA6?$AA0?$AA2?$AA4?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AA_?$AAo@ 1001a790 LIBCMT:crt0msg.obj - 0002:00000800 ??_C@_1FC@ECHBIFBC@?$AAR?$AA6?$AA0?$AA1?$AA9?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAu?$AAn?$AAa?$AAb?$AAl?$AAe?$AA?5?$AAt?$AAo?$AA?5?$AAo?$AAp?$AAe?$AAn?$AA?5?$AAc?$AAo?$AAn?$AAs?$AAo?$AAl?$AAe?$AA?5@ 1001a800 LIBCMT:crt0msg.obj - 0002:00000858 ??_C@_1EC@JIBHAOPH@?$AAR?$AA6?$AA0?$AA1?$AA8?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAu?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAh?$AAe?$AAa?$AAp?$AA?5?$AAe?$AAr?$AAr?$AAo?$AAr?$AA?$AN?$AA?6@ 1001a858 LIBCMT:crt0msg.obj - 0002:000008a0 ??_C@_1FK@BEOGODMC@?$AAR?$AA6?$AA0?$AA1?$AA7?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAu?$AAn?$AAe?$AAx?$AAp?$AAe?$AAc?$AAt?$AAe?$AAd?$AA?5?$AAm?$AAu?$AAl?$AAt?$AAi?$AAt?$AAh?$AAr?$AAe?$AAa?$AAd?$AA?5@ 1001a8a0 LIBCMT:crt0msg.obj - 0002:00000900 ??_C@_1FI@LOGNIKDM@?$AAR?$AA6?$AA0?$AA1?$AA6?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAt?$AAh@ 1001a900 LIBCMT:crt0msg.obj - 0002:00000958 ??_C@_1EG@BEHAGFJD@?$AAR?$AA6?$AA0?$AA1?$AA0?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAa?$AAb?$AAo?$AAr?$AAt?$AA?$CI?$AA?$CJ?$AA?5?$AAh?$AAa?$AAs?$AA?5?$AAb?$AAe?$AAe?$AAn?$AA?5?$AAc?$AAa?$AAl?$AAl?$AAe?$AAd@ 1001a958 LIBCMT:crt0msg.obj - 0002:000009a0 ??_C@_1FI@HONFMGBI@?$AAR?$AA6?$AA0?$AA0?$AA9?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAe?$AAn@ 1001a9a0 LIBCMT:crt0msg.obj - 0002:000009f8 ??_C@_1FE@LLNEDJMD@?$AAR?$AA6?$AA0?$AA0?$AA8?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAe?$AAn?$AAo?$AAu?$AAg?$AAh?$AA?5?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?5?$AAf?$AAo?$AAr?$AA?5?$AAa?$AAr@ 1001a9f8 LIBCMT:crt0msg.obj - 0002:00000a50 ??_C@_1FK@PGACCAFB@?$AAR?$AA6?$AA0?$AA0?$AA2?$AA?$AN?$AA?6?$AA?9?$AA?5?$AAf?$AAl?$AAo?$AAa?$AAt?$AAi?$AAn?$AAg?$AA?5?$AAp?$AAo?$AAi?$AAn?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AA?5@ 1001aa50 LIBCMT:crt0msg.obj - 0002:00000b60 ??_C@_1EK@MBDPDCGA@?$AAM?$AAi?$AAc?$AAr?$AAo?$AAs?$AAo?$AAf?$AAt?$AA?5?$AAV?$AAi?$AAs?$AAu?$AAa?$AAl?$AA?5?$AAC?$AA?$CL?$AA?$CL?$AA?5?$AAR?$AAu?$AAn?$AAt?$AAi?$AAm?$AAe?$AA?5?$AAL?$AAi?$AAb@ 1001ab60 LIBCMT:crt0msg.obj - 0002:00000bac ??_C@_15IABLJNFO@?$AA?6?$AA?6?$AA?$AA@ 1001abac LIBCMT:crt0msg.obj - 0002:00000bb4 ??_C@_17LGKOMLJ@?$AA?4?$AA?4?$AA?4?$AA?$AA@ 1001abb4 LIBCMT:crt0msg.obj - 0002:00000bbc ??_C@_1CO@EAEJAADC@?$AA?$DM?$AAp?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAn?$AAa?$AAm?$AAe?$AA?5?$AAu?$AAn?$AAk?$AAn?$AAo?$AAw?$AAn?$AA?$DO?$AA?$AA@ 1001abbc LIBCMT:crt0msg.obj - 0002:00000bec ??_C@_1DE@JNGNBFGO@?$AAR?$AAu?$AAn?$AAt?$AAi?$AAm?$AAe?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?$CB?$AA?6?$AA?6?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?3?$AA?5?$AA?$AA@ 1001abec LIBCMT:crt0msg.obj - 0002:00000c20 ??_C@_0BG@KLEAJEFJ@Illegal?5byte?5sequence?$AA@ 1001ac20 LIBCMT:syserr.obj - 0002:00000c38 ??_C@_0BE@ICMCHPHH@Directory?5not?5empty?$AA@ 1001ac38 LIBCMT:syserr.obj - 0002:00000c4c ??_C@_0BJ@IHEHINLI@Function?5not?5implemented?$AA@ 1001ac4c LIBCMT:syserr.obj - 0002:00000c68 ??_C@_0BD@CLHBCGPB@No?5locks?5available?$AA@ 1001ac68 LIBCMT:syserr.obj - 0002:00000c7c ??_C@_0BC@BEDIHIDK@Filename?5too?5long?$AA@ 1001ac7c LIBCMT:syserr.obj - 0002:00000c90 ??_C@_0BK@JAEBMJJM@Resource?5deadlock?5avoided?$AA@ 1001ac90 LIBCMT:syserr.obj - 0002:00000cac ??_C@_0BB@FCBJFCAJ@Result?5too?5large?$AA@ 1001acac LIBCMT:syserr.obj - 0002:00000cc0 ??_C@_0N@MMJPGLJK@Domain?5error?$AA@ 1001acc0 LIBCMT:syserr.obj - 0002:00000cd0 ??_C@_0M@LHEPIIOM@Broken?5pipe?$AA@ 1001acd0 LIBCMT:syserr.obj - 0002:00000cdc ??_C@_0P@PKCJJLLM@Too?5many?5links?$AA@ 1001acdc LIBCMT:syserr.obj - 0002:00000cec ??_C@_0BG@DDBFNKBH@Read?9only?5file?5system?$AA@ 1001acec LIBCMT:syserr.obj - 0002:00000d04 ??_C@_0N@FEHLOILP@Invalid?5seek?$AA@ 1001ad04 LIBCMT:syserr.obj - 0002:00000d14 ??_C@_0BI@FEALHKLD@No?5space?5left?5on?5device?$AA@ 1001ad14 LIBCMT:syserr.obj - 0002:00000d2c ??_C@_0P@LFMMIPAE@File?5too?5large?$AA@ 1001ad2c LIBCMT:syserr.obj - 0002:00000d3c ??_C@_0CE@ONOKNLPF@Inappropriate?5I?1O?5control?5operat@ 1001ad3c LIBCMT:syserr.obj - 0002:00000d60 ??_C@_0BE@INBJMKGG@Too?5many?5open?5files?$AA@ 1001ad60 LIBCMT:syserr.obj - 0002:00000d74 ??_C@_0BO@IIFBODJE@Too?5many?5open?5files?5in?5system?$AA@ 1001ad74 LIBCMT:syserr.obj - 0002:00000d94 ??_C@_0BB@HMGGCEBG@Invalid?5argument?$AA@ 1001ad94 LIBCMT:syserr.obj - 0002:00000da8 ??_C@_0P@NDHGCGKE@Is?5a?5directory?$AA@ 1001ada8 LIBCMT:syserr.obj - 0002:00000db8 ??_C@_0BA@CJBACOOL@Not?5a?5directory?$AA@ 1001adb8 LIBCMT:syserr.obj - 0002:00000dc8 ??_C@_0P@NLEIANHE@No?5such?5device?$AA@ 1001adc8 LIBCMT:syserr.obj - 0002:00000dd8 ??_C@_0O@OAMDNOCP@Improper?5link?$AA@ 1001add8 LIBCMT:syserr.obj - 0002:00000de8 ??_C@_0M@NAAJNNGH@File?5exists?$AA@ 1001ade8 LIBCMT:syserr.obj - 0002:00000df4 ??_C@_0BA@BIBLIOEK@Resource?5device?$AA@ 1001adf4 LIBCMT:syserr.obj - 0002:00000e04 ??_C@_0O@NIPGCINC@Unknown?5error?$AA@ 1001ae04 LIBCMT:syserr.obj - 0002:00000e14 ??_C@_0M@LOEHLCJD@Bad?5address?$AA@ 1001ae14 LIBCMT:syserr.obj - 0002:00000e20 ??_C@_0BC@HFNFNKAI@Permission?5denied?$AA@ 1001ae20 LIBCMT:syserr.obj - 0002:00000e34 ??_C@_0BB@IMDKMPFB@Not?5enough?5space?$AA@ 1001ae34 LIBCMT:syserr.obj - 0002:00000e48 ??_C@_0CB@EPFKGNAK@Resource?5temporarily?5unavailable@ 1001ae48 LIBCMT:syserr.obj - 0002:00000e6c ??_C@_0BD@LOHELEP@No?5child?5processes?$AA@ 1001ae6c LIBCMT:syserr.obj - 0002:00000e80 ??_C@_0BE@NFGDDCEF@Bad?5file?5descriptor?$AA@ 1001ae80 LIBCMT:syserr.obj - 0002:00000e94 ??_C@_0BC@HKPNECK@Exec?5format?5error?$AA@ 1001ae94 LIBCMT:syserr.obj - 0002:00000ea8 ??_C@_0BC@MFFGCDFL@Arg?5list?5too?5long?$AA@ 1001aea8 LIBCMT:syserr.obj - 0002:00000ebc ??_C@_0BK@DPKMCKJ@No?5such?5device?5or?5address?$AA@ 1001aebc LIBCMT:syserr.obj - 0002:00000ed8 ??_C@_0BD@KKNFOBBD@Input?1output?5error?$AA@ 1001aed8 LIBCMT:syserr.obj - 0002:00000eec ??_C@_0BK@FJBOAFDK@Interrupted?5function?5call?$AA@ 1001aeec LIBCMT:syserr.obj - 0002:00000f08 ??_C@_0BA@FKIAIBGA@No?5such?5process?$AA@ 1001af08 LIBCMT:syserr.obj - 0002:00000f18 ??_C@_0BK@FMDHKPNF@No?5such?5file?5or?5directory?$AA@ 1001af18 LIBCMT:syserr.obj - 0002:00000f34 ??_C@_0BI@BJFCGOHL@Operation?5not?5permitted?$AA@ 1001af34 LIBCMT:syserr.obj - 0002:00000f4c ??_C@_08INEPGKHH@No?5error?$AA@ 1001af4c LIBCMT:syserr.obj - 0002:00000f58 ??_C@_1BK@DBDEIDLH@?$AAK?$AAE?$AAR?$AAN?$AAE?$AAL?$AA3?$AA2?$AA?4?$AAD?$AAL?$AAL?$AA?$AA@ 1001af58 LIBCMT:tidtable.obj - 0002:00000f74 ??_C@_07PEJMOBNF@FlsFree?$AA@ 1001af74 LIBCMT:tidtable.obj - 0002:00000f7c ??_C@_0M@JCPCPOEF@FlsSetValue?$AA@ 1001af7c LIBCMT:tidtable.obj - 0002:00000f88 ??_C@_0M@GDNOONDI@FlsGetValue?$AA@ 1001af88 LIBCMT:tidtable.obj - 0002:00000f94 ??_C@_08KNHFBNJ@FlsAlloc?$AA@ 1001af94 LIBCMT:tidtable.obj - 0002:00000fc0 __XcptActTab 1001afc0 LIBCMT:winxfltr.obj - 0002:00001050 __First_FPE_Indx 1001b050 LIBCMT:winxfltr.obj - 0002:00001054 __Num_FPE 1001b054 LIBCMT:winxfltr.obj - 0002:00001058 __XcptActTabSize 1001b058 LIBCMT:winxfltr.obj - 0002:0000105c __XcptActTabCount 1001b05c LIBCMT:winxfltr.obj - 0002:00001060 ??_C@_1BC@GDGBMEMK@?$AAH?$AAH?$AA?3?$AAm?$AAm?$AA?3?$AAs?$AAs?$AA?$AA@ 1001b060 LIBCMT:nlsdata2.obj - 0002:00001074 ??_C@_1CI@KNAKOEBC@?$AAd?$AAd?$AAd?$AAd?$AA?0?$AA?5?$AAM?$AAM?$AAM?$AAM?$AA?5?$AAd?$AAd?$AA?0?$AA?5?$AAy?$AAy?$AAy?$AAy?$AA?$AA@ 1001b074 LIBCMT:nlsdata2.obj - 0002:0000109c ??_C@_1BC@IEBCMHCM@?$AAM?$AAM?$AA?1?$AAd?$AAd?$AA?1?$AAy?$AAy?$AA?$AA@ 1001b09c LIBCMT:nlsdata2.obj - 0002:000010b0 ??_C@_15CLMNNGEL@?$AAP?$AAM?$AA?$AA@ 1001b0b0 LIBCMT:nlsdata2.obj - 0002:000010b8 ??_C@_15ODEHAHHF@?$AAA?$AAM?$AA?$AA@ 1001b0b8 LIBCMT:nlsdata2.obj - 0002:000010c0 ??_C@_1BC@FEMKIFH@?$AAD?$AAe?$AAc?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@ 1001b0c0 LIBCMT:nlsdata2.obj - 0002:000010d4 ??_C@_1BC@BGLIFPF@?$AAN?$AAo?$AAv?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@ 1001b0d4 LIBCMT:nlsdata2.obj - 0002:000010e8 ??_C@_1BA@EPANDLNG@?$AAO?$AAc?$AAt?$AAo?$AAb?$AAe?$AAr?$AA?$AA@ 1001b0e8 LIBCMT:nlsdata2.obj - 0002:000010f8 ??_C@_1BE@DKAAMBJL@?$AAS?$AAe?$AAp?$AAt?$AAe?$AAm?$AAb?$AAe?$AAr?$AA?$AA@ 1001b0f8 LIBCMT:nlsdata2.obj - 0002:0000110c ??_C@_1O@PAHLKOAC@?$AAA?$AAu?$AAg?$AAu?$AAs?$AAt?$AA?$AA@ 1001b10c LIBCMT:nlsdata2.obj - 0002:0000111c ??_C@_19BIFMLPCD@?$AAJ?$AAu?$AAl?$AAy?$AA?$AA@ 1001b11c LIBCMT:nlsdata2.obj - 0002:00001128 ??_C@_19EPFLPGAP@?$AAJ?$AAu?$AAn?$AAe?$AA?$AA@ 1001b128 LIBCMT:nlsdata2.obj - 0002:00001134 ??_C@_1M@GJNLMHFD@?$AAA?$AAp?$AAr?$AAi?$AAl?$AA?$AA@ 1001b134 LIBCMT:nlsdata2.obj - 0002:00001140 ??_C@_1M@IKEENEDF@?$AAM?$AAa?$AAr?$AAc?$AAh?$AA?$AA@ 1001b140 LIBCMT:nlsdata2.obj - 0002:0000114c ??_C@_1BC@JGDDFFAM@?$AAF?$AAe?$AAb?$AAr?$AAu?$AAa?$AAr?$AAy?$AA?$AA@ 1001b14c LIBCMT:nlsdata2.obj - 0002:00001160 ??_C@_1BA@EFMEIEBA@?$AAJ?$AAa?$AAn?$AAu?$AAa?$AAr?$AAy?$AA?$AA@ 1001b160 LIBCMT:nlsdata2.obj - 0002:00001170 ??_C@_17EGKACKIF@?$AAD?$AAe?$AAc?$AA?$AA@ 1001b170 LIBCMT:nlsdata2.obj - 0002:00001178 ??_C@_17BBDMLCIG@?$AAN?$AAo?$AAv?$AA?$AA@ 1001b178 LIBCMT:nlsdata2.obj - 0002:00001180 ??_C@_17FNLKOI@?$AAO?$AAc?$AAt?$AA?$AA@ 1001b180 LIBCMT:nlsdata2.obj - 0002:00001188 ??_C@_17HCHCOKMG@?$AAS?$AAe?$AAp?$AA?$AA@ 1001b188 LIBCMT:nlsdata2.obj - 0002:00001190 ??_C@_17ICPELBCN@?$AAA?$AAu?$AAg?$AA?$AA@ 1001b190 LIBCMT:nlsdata2.obj - 0002:00001198 ??_C@_17IJPCKHK@?$AAJ?$AAu?$AAl?$AA?$AA@ 1001b198 LIBCMT:nlsdata2.obj - 0002:000011a0 ??_C@_17KCJGOCPB@?$AAJ?$AAu?$AAn?$AA?$AA@ 1001b1a0 LIBCMT:nlsdata2.obj - 0002:000011a8 ??_C@_17PNNKMEED@?$AAM?$AAa?$AAy?$AA?$AA@ 1001b1a8 LIBCMT:nlsdata2.obj - 0002:000011b0 ??_C@_17LFPOIHDD@?$AAA?$AAp?$AAr?$AA?$AA@ 1001b1b0 LIBCMT:nlsdata2.obj - 0002:000011b8 ??_C@_17CKNLEDEC@?$AAM?$AAa?$AAr?$AA?$AA@ 1001b1b8 LIBCMT:nlsdata2.obj - 0002:000011c0 ??_C@_17LMDJEKJN@?$AAF?$AAe?$AAb?$AA?$AA@ 1001b1c0 LIBCMT:nlsdata2.obj - 0002:000011c8 ??_C@_17DKNBKCHM@?$AAJ?$AAa?$AAn?$AA?$AA@ 1001b1c8 LIBCMT:nlsdata2.obj - 0002:000011d0 ??_C@_1BC@ENMNNPAJ@?$AAS?$AAa?$AAt?$AAu?$AAr?$AAd?$AAa?$AAy?$AA?$AA@ 1001b1d0 LIBCMT:nlsdata2.obj - 0002:000011e4 ??_C@_1O@PDICJHAG@?$AAF?$AAr?$AAi?$AAd?$AAa?$AAy?$AA?$AA@ 1001b1e4 LIBCMT:nlsdata2.obj - 0002:000011f4 ??_C@_1BC@HHMNLIHE@?$AAT?$AAh?$AAu?$AAr?$AAs?$AAd?$AAa?$AAy?$AA?$AA@ 1001b1f4 LIBCMT:nlsdata2.obj - 0002:00001208 ??_C@_1BE@EBOGMDOH@?$AAW?$AAe?$AAd?$AAn?$AAe?$AAs?$AAd?$AAa?$AAy?$AA?$AA@ 1001b208 LIBCMT:nlsdata2.obj - 0002:0000121c ??_C@_1BA@ENFBFFEK@?$AAT?$AAu?$AAe?$AAs?$AAd?$AAa?$AAy?$AA?$AA@ 1001b21c LIBCMT:nlsdata2.obj - 0002:0000122c ??_C@_1O@MMNBFLIA@?$AAM?$AAo?$AAn?$AAd?$AAa?$AAy?$AA?$AA@ 1001b22c LIBCMT:nlsdata2.obj - 0002:0000123c ??_C@_1O@IHNHDHPB@?$AAS?$AAu?$AAn?$AAd?$AAa?$AAy?$AA?$AA@ 1001b23c LIBCMT:nlsdata2.obj - 0002:0000124c ??_C@_17GGIBDPIH@?$AAS?$AAa?$AAt?$AA?$AA@ 1001b24c LIBCMT:nlsdata2.obj - 0002:00001254 ??_C@_17HFOLPPLP@?$AAF?$AAr?$AAi?$AA?$AA@ 1001b254 LIBCMT:nlsdata2.obj - 0002:0000125c ??_C@_17PDPHAADD@?$AAT?$AAh?$AAu?$AA?$AA@ 1001b25c LIBCMT:nlsdata2.obj - 0002:00001264 ??_C@_17CJEDCEPE@?$AAW?$AAe?$AAd?$AA?$AA@ 1001b264 LIBCMT:nlsdata2.obj - 0002:0000126c ??_C@_17BMKGEGOJ@?$AAT?$AAu?$AAe?$AA?$AA@ 1001b26c LIBCMT:nlsdata2.obj - 0002:00001274 ??_C@_17KBOMKBF@?$AAM?$AAo?$AAn?$AA?$AA@ 1001b274 LIBCMT:nlsdata2.obj - 0002:0000127c ??_C@_17MBGCMIPB@?$AAS?$AAu?$AAn?$AA?$AA@ 1001b27c LIBCMT:nlsdata2.obj - 0002:00001284 ??_C@_08JCCMCCIL@HH?3mm?3ss?$AA@ 1001b284 LIBCMT:nlsdata2.obj - 0002:00001290 ??_C@_0BE@CKGJFCPC@dddd?0?5MMMM?5dd?0?5yyyy?$AA@ 1001b290 LIBCMT:nlsdata2.obj - 0002:000012a4 ??_C@_08BPBNCDIB@MM?1dd?1yy?$AA@ 1001b2a4 LIBCMT:nlsdata2.obj - 0002:000012b0 ??_C@_02CJNFDJBF@PM?$AA@ 1001b2b0 LIBCMT:nlsdata2.obj - 0002:000012b4 ??_C@_02DEDBPAFC@AM?$AA@ 1001b2b4 LIBCMT:nlsdata2.obj - 0002:000012b8 ??_C@_08EDHMEBNP@December?$AA@ 1001b2b8 LIBCMT:nlsdata2.obj - 0002:000012c4 ??_C@_08HCHEGEOA@November?$AA@ 1001b2c4 LIBCMT:nlsdata2.obj - 0002:000012d0 ??_C@_07JJNFCEND@October?$AA@ 1001b2d0 LIBCMT:nlsdata2.obj - 0002:000012d8 ??_C@_09BHHEALKD@September?$AA@ 1001b2d8 LIBCMT:nlsdata2.obj - 0002:000012e4 ??_C@_06LBBHFDDG@August?$AA@ 1001b2e4 LIBCMT:nlsdata2.obj - 0002:000012ec ??_C@_04MIEPOIFP@July?$AA@ 1001b2ec LIBCMT:nlsdata2.obj - 0002:000012f4 ??_C@_04CNLMGBGM@June?$AA@ 1001b2f4 LIBCMT:nlsdata2.obj - 0002:000012fc ??_C@_05DMJDNLEJ@April?$AA@ 1001b2fc LIBCMT:nlsdata2.obj - 0002:00001304 ??_C@_05HPCKOFNC@March?$AA@ 1001b304 LIBCMT:nlsdata2.obj - 0002:0000130c ??_C@_08GNJGEPFN@February?$AA@ 1001b30c LIBCMT:nlsdata2.obj - 0002:00001318 ??_C@_07CGJPFGJA@January?$AA@ 1001b318 LIBCMT:nlsdata2.obj - 0002:00001320 ??_C@_03MKABNOCG@Dec?$AA@ 1001b320 LIBCMT:nlsdata2.obj - 0002:00001324 ??_C@_03JPJOFNIA@Nov?$AA@ 1001b324 LIBCMT:nlsdata2.obj - 0002:00001328 ??_C@_03BMAOKBAD@Oct?$AA@ 1001b328 LIBCMT:nlsdata2.obj - 0002:0000132c ??_C@_03GGCAPAJC@Sep?$AA@ 1001b32c LIBCMT:nlsdata2.obj - 0002:00001330 ??_C@_03IFJFEIGA@Aug?$AA@ 1001b330 LIBCMT:nlsdata2.obj - 0002:00001334 ??_C@_03LBGABGKK@Jul?$AA@ 1001b334 LIBCMT:nlsdata2.obj - 0002:00001338 ??_C@_03IDFGHECI@Jun?$AA@ 1001b338 LIBCMT:nlsdata2.obj - 0002:0000133c ??_C@_03CNMDKL@May?$AA@ 1001b33c LIBCMT:nlsdata2.obj - 0002:00001340 ??_C@_03LEOLGMJP@Apr?$AA@ 1001b340 LIBCMT:nlsdata2.obj - 0002:00001344 ??_C@_03ODNJBKGA@Mar?$AA@ 1001b344 LIBCMT:nlsdata2.obj - 0002:00001348 ??_C@_03HJBDCHOM@Feb?$AA@ 1001b348 LIBCMT:nlsdata2.obj - 0002:0000134c ??_C@_03JIHJHPIE@Jan?$AA@ 1001b34c LIBCMT:nlsdata2.obj - 0002:00001350 ??_C@_08INBOOONO@Saturday?$AA@ 1001b350 LIBCMT:nlsdata2.obj - 0002:0000135c ??_C@_06JECMNKMI@Friday?$AA@ 1001b35c LIBCMT:nlsdata2.obj - 0002:00001364 ??_C@_08HACCIKIA@Thursday?$AA@ 1001b364 LIBCMT:nlsdata2.obj - 0002:00001370 ??_C@_09DLIGFAKA@Wednesday?$AA@ 1001b370 LIBCMT:nlsdata2.obj - 0002:0000137c ??_C@_07BAAGCFCM@Tuesday?$AA@ 1001b37c LIBCMT:nlsdata2.obj - 0002:00001384 ??_C@_06JLEDEDGH@Monday?$AA@ 1001b384 LIBCMT:nlsdata2.obj - 0002:0000138c ??_C@_06OOPIFAJ@Sunday?$AA@ 1001b38c LIBCMT:nlsdata2.obj - 0002:00001394 ??_C@_03FEFJNEK@Sat?$AA@ 1001b394 LIBCMT:nlsdata2.obj - 0002:00001398 ??_C@_03IDIOELNC@Fri?$AA@ 1001b398 LIBCMT:nlsdata2.obj - 0002:0000139c ??_C@_03IOFIKPDN@Thu?$AA@ 1001b39c LIBCMT:nlsdata2.obj - 0002:000013a0 ??_C@_03MHOMLAJA@Wed?$AA@ 1001b3a0 LIBCMT:nlsdata2.obj - 0002:000013a4 ??_C@_03NAGEINEP@Tue?$AA@ 1001b3a4 LIBCMT:nlsdata2.obj - 0002:000013a8 ??_C@_03PDAGKDH@Mon?$AA@ 1001b3a8 LIBCMT:nlsdata2.obj - 0002:000013ac ??_C@_03KOEHGMDN@Sun?$AA@ 1001b3ac LIBCMT:nlsdata2.obj - 0002:000013b0 ___lookuptable_s 1001b3b0 LIBCMT:outputs.obj - 0002:0000140c ??_C@_0BI@DFKBFLJE@GetProcessWindowStation?$AA@ 1001b40c LIBCMT:crtmboxw.obj - 0002:00001424 ??_C@_0BK@DEKFELLI@GetUserObjectInformationW?$AA@ 1001b424 LIBCMT:crtmboxw.obj - 0002:00001440 ??_C@_0BD@HHGDFDBJ@GetLastActivePopup?$AA@ 1001b440 LIBCMT:crtmboxw.obj - 0002:00001454 ??_C@_0BA@HNOPNCHB@GetActiveWindow?$AA@ 1001b454 LIBCMT:crtmboxw.obj - 0002:00001464 ??_C@_0M@DLDCCGNP@MessageBoxW?$AA@ 1001b464 LIBCMT:crtmboxw.obj - 0002:00001470 ??_C@_1BG@GOEBHBDC@?$AAU?$AAS?$AAE?$AAR?$AA3?$AA2?$AA?4?$AAD?$AAL?$AAL?$AA?$AA@ 1001b470 LIBCMT:crtmboxw.obj - 0002:00001490 ___newctype 1001b490 LIBCMT:ctype.obj - 0002:00001790 __wctype 1001b790 LIBCMT:ctype.obj - 0002:00001998 ___newclmap 1001b998 LIBCMT:ctype.obj - 0002:00001b18 ___newcumap 1001bb18 LIBCMT:ctype.obj - 0002:00001c98 ??_C@_1BA@BALFACEM@?$AAC?$AAO?$AAN?$AAO?$AAU?$AAT?$AA$?$AA?$AA@ 1001bc98 LIBCMT:initcon.obj - 0002:00001d28 ??_C@_05BOAHNBIE@1?42?46?$AA@ 1001bd28 compress.obj - 0002:00001d30 _z_errmsg 1001bd30 zutil.obj - 0002:00001d58 _zip_copyright 1001bd58 zip.obj - 0002:00001da8 _unz_copyright 1001bda8 unzip.obj - 0002:00002448 __dist_code 1001c448 trees.obj - 0002:00002648 __length_code 1001c648 trees.obj - 0002:00002838 _inflate_copyright 1001c838 inftrees.obj - 0002:00003ab8 _deflate_copyright 1001dab8 deflate.obj - 0002:00005b80 ??_C@_07EBNKNFJN@?$DMfd?3?$CFd?$DO?$AA@ 1001fb80 gzlib.obj - 0002:00005b88 ??_C@_00CNPNBAHC@?$AA@ 1001fb88 gzlib.obj - 0002:00005b8c ??_C@_0O@BNNCBLEN@out?5of?5memory?$AA@ 1001fb8c gzlib.obj - 0002:00005b9c ??_C@_02LMMGGCAJ@?3?5?$AA@ 1001fb9c gzlib.obj - 0002:00005ba0 ??_C@_0BH@CFIIDOJD@unexpected?5end?5of?5file?$AA@ 1001fba0 gzread.obj - 0002:00005bb8 ??_C@_0CH@CPOLIEKA@internal?5error?3?5inflate?5stream?5c@ 1001fbb8 gzread.obj - 0002:00005be0 ??_C@_0BG@HCKBMIHF@compressed?5data?5error?$AA@ 1001fbe0 gzread.obj - 0002:00005bf8 ??_C@_0CF@MLPJFDMM@requested?5length?5does?5not?5fit?5in@ 1001fbf8 gzread.obj - 0002:00005c20 ??_C@_0BP@IIKIGMCC@out?5of?5room?5to?5push?5characters?$AA@ 1001fc20 gzread.obj - 0002:00005c40 ??_C@_0CH@DEEGAHIB@internal?5error?3?5deflate?5stream?5c@ 1001fc40 gzwrite.obj - 0002:00005c68 ??_C@_0BD@PJCBIDD@invalid?5block?5type?$AA@ 1001fc68 infback.obj - 0002:00005c7c ??_C@_0BN@LGAADGOK@invalid?5stored?5block?5lengths?$AA@ 1001fc7c infback.obj - 0002:00005c9c ??_C@_0CE@GMIGFPBB@too?5many?5length?5or?5distance?5symb@ 1001fc9c infback.obj - 0002:00005cc0 ??_C@_0BJ@HDEPPGOH@invalid?5code?5lengths?5set?$AA@ 1001fcc0 infback.obj - 0002:00005cdc ??_C@_0BK@BMMPFBBH@invalid?5bit?5length?5repeat?$AA@ 1001fcdc infback.obj - 0002:00005cf8 ??_C@_0CF@DGDMADCD@invalid?5code?5?9?9?5missing?5end?9of?9b@ 1001fcf8 infback.obj - 0002:00005d20 ??_C@_0BM@IIMGAINC@invalid?5literal?1lengths?5set?$AA@ 1001fd20 infback.obj - 0002:00005d3c ??_C@_0BG@GMDFCBGP@invalid?5distances?5set?$AA@ 1001fd3c infback.obj - 0002:00005d54 ??_C@_0BM@FFFLPBBC@invalid?5literal?1length?5code?$AA@ 1001fd54 infback.obj - 0002:00005d70 ??_C@_0BG@LBKINIKP@invalid?5distance?5code?$AA@ 1001fd70 infback.obj - 0002:00005d88 ??_C@_0BO@ECPMAOGG@invalid?5distance?5too?5far?5back?$AA@ 1001fd88 infback.obj - 0002:00005da8 ??_C@_0BH@LIBMMIGA@incorrect?5header?5check?$AA@ 1001fda8 inflate.obj - 0002:00005dc0 ??_C@_0BL@IHKGDAEE@unknown?5compression?5method?$AA@ 1001fdc0 inflate.obj - 0002:00005ddc ??_C@_0BE@EMOGCLGO@invalid?5window?5size?$AA@ 1001fddc inflate.obj - 0002:00005df0 ??_C@_0BJ@BLBBCOMO@unknown?5header?5flags?5set?$AA@ 1001fdf0 inflate.obj - 0002:00005e0c ??_C@_0BE@GONKLEPM@header?5crc?5mismatch?$AA@ 1001fe0c inflate.obj - 0002:00005e20 ??_C@_0BF@MEIGEHBE@incorrect?5data?5check?$AA@ 1001fe20 inflate.obj - 0002:00005e38 ??_C@_0BH@FGKKJGOC@incorrect?5length?5check?$AA@ 1001fe38 inflate.obj - 0002:00005e50 ??_C@_02JDPG@rb?$AA@ 1001fe50 ioapi.obj - 0002:00005e54 ??_C@_03HMFOOINA@r?$CLb?$AA@ 1001fe54 ioapi.obj - 0002:00005e58 ??_C@_02GMLFBBN@wb?$AA@ 1001fe58 ioapi.obj - 0002:00005e5c ??_C@_01JOAMLHOP@?9?$AA@ 1001fe5c zip.obj - 0002:00005e60 ??_C@_0BF@CJFPCCEG@incompatible?5version?$AA@ 1001fe60 zutil.obj - 0002:00005e78 ??_C@_0N@DFPGLBGC@buffer?5error?$AA@ 1001fe78 zutil.obj - 0002:00005e88 ??_C@_0BE@OGGJBMCE@insufficient?5memory?$AA@ 1001fe88 zutil.obj - 0002:00005e9c ??_C@_0L@HAHMBNLP@data?5error?$AA@ 1001fe9c zutil.obj - 0002:00005ea8 ??_C@_0N@MKKNPMJD@stream?5error?$AA@ 1001fea8 zutil.obj - 0002:00005eb8 ??_C@_0L@KIJFAKBJ@file?5error?$AA@ 1001feb8 zutil.obj - 0002:00005ec4 ??_C@_0L@FNAOCBOG@stream?5end?$AA@ 1001fec4 zutil.obj - 0002:00005ed0 ??_C@_0BA@MOKMMFOD@need?5dictionary?$AA@ 1001fed0 zutil.obj - 0002:00005ee0 ___rtc_iaa 1001fee0 LIBCMT:_initsect_.obj - 0002:00005ee4 ___rtc_izz 1001fee4 LIBCMT:_initsect_.obj - 0002:00005ee8 ___rtc_taa 1001fee8 LIBCMT:_initsect_.obj - 0002:00005eec ___rtc_tzz 1001feec LIBCMT:_initsect_.obj - 0002:000062ec __IMPORT_DESCRIPTOR_KERNEL32 100202ec kernel32:KERNEL32.dll - 0002:00006300 __NULL_IMPORT_DESCRIPTOR 10020300 kernel32:KERNEL32.dll - 0003:00000180 ___nullstring 10022180 LIBCMT:output.obj - 0003:00000184 ___wnullstring 10022184 LIBCMT:output.obj - 0003:00000188 ___badioinfo 10022188 LIBCMT:ioinit.obj - 0003:000001d0 __sys_errlist 100221d0 LIBCMT:syserr.obj - 0003:00000280 __sys_nerr 10022280 LIBCMT:syserr.obj - 0003:00000284 ___flsindex 10022284 LIBCMT:tidtable.obj - 0003:00000288 ___getvalueindex 10022288 LIBCMT:tidtable.obj - 0003:00000290 __lookuptrailbytes 10022290 LIBCMT:read.obj - 0003:00000390 ___security_cookie 10022390 LIBCMT:gs_cookie.obj - 0003:00000394 ___security_cookie_complement 10022394 LIBCMT:gs_cookie.obj - 0003:000003a0 __iob 100223a0 LIBCMT:_file.obj - 0003:00000620 ___initialmbcinfo 10022620 LIBCMT:mbctype.obj - 0003:00000840 __mbctype 10022840 LIBCMT:mbctype.obj - 0003:00000948 __mbcasemap 10022948 LIBCMT:mbctype.obj - 0003:00000a48 ___ptmbcinfo 10022a48 LIBCMT:mbctype.obj - 0003:00000b40 ___globallocalestatus 10022b40 LIBCMT:glstatus.obj - 0003:00000b44 ___clocalestr 10022b44 LIBCMT:nlsdata2.obj - 0003:00000b48 ___lc_time_c 10022b48 LIBCMT:nlsdata2.obj - 0003:00000cb0 ___initiallocinfo 10022cb0 LIBCMT:nlsdata2.obj - 0003:00000d88 ___ptlocinfo 10022d88 LIBCMT:nlsdata2.obj - 0003:00000d8c __cfltcvt_tab 10022d8c LIBCMT:cmiscdat.obj - 0003:00000ee0 __NLG_Destination 10022ee0 LIBCMT:exsup.obj - 0003:00000ef0 ___lconv_static_decimal 10022ef0 LIBCMT:lconv.obj - 0003:00000ef4 ___lconv_static_W_decimal 10022ef4 LIBCMT:lconv.obj - 0003:00000ef8 ___lconv_c 10022ef8 LIBCMT:lconv.obj - 0003:00000f48 ___lconv 10022f48 LIBCMT:lconv.obj - 0003:00000f4c __pctype 10022f4c LIBCMT:ctype.obj - 0003:00000f50 __pwctype 10022f50 LIBCMT:ctype.obj - 0003:00000f54 ___abort_behavior 10022f54 LIBCMT:abort.obj - 0003:00000f58 __confh 10022f58 LIBCMT:initcon.obj - 0003:00000f70 ___mb_cur_max 10022f70 LIBCMT:nlsdata1.obj - 0003:00000f74 ___decimal_point 10022f74 LIBCMT:nlsdata1.obj - 0003:00000f78 ___decimal_point_length 10022f78 LIBCMT:nlsdata1.obj - 0003:00000fc4 __aenvptr 10022fc4 LIBCMT:dllcrt0.obj - 0003:00000fc8 __wenvptr 10022fc8 LIBCMT:dllcrt0.obj - 0003:00000fcc ___error_mode 10022fcc LIBCMT:dllcrt0.obj - 0003:00000fd0 ___app_type 10022fd0 LIBCMT:dllcrt0.obj - 0003:00000fd4 ___pInvalidArgHandler 10022fd4 LIBCMT:invarg.obj - 0003:00000fd8 __crtheap 10022fd8 LIBCMT:heapinit.obj - 0003:00000fdc __umaskval 10022fdc LIBCMT:crt0dat.obj - 0003:00000fe0 ___argc 10022fe0 LIBCMT:crt0dat.obj - 0003:00000fe4 ___argv 10022fe4 LIBCMT:crt0dat.obj - 0003:00000fe8 ___wargv 10022fe8 LIBCMT:crt0dat.obj - 0003:00000fec __environ 10022fec LIBCMT:crt0dat.obj - 0003:00000ff0 ___initenv 10022ff0 LIBCMT:crt0dat.obj - 0003:00000ff4 __wenviron 10022ff4 LIBCMT:crt0dat.obj - 0003:00000ff8 ___winitenv 10022ff8 LIBCMT:crt0dat.obj - 0003:00000ffc __pgmptr 10022ffc LIBCMT:crt0dat.obj - 0003:00001000 __wpgmptr 10023000 LIBCMT:crt0dat.obj - 0003:00001004 __exitflag 10023004 LIBCMT:crt0dat.obj - 0003:00001008 __C_Termination_Done 10023008 LIBCMT:crt0dat.obj - 0003:0000100c __C_Exit_Done 1002300c LIBCMT:crt0dat.obj - 0003:00001638 ?_pnhHeap@@3P6AHI@ZA 10023638 LIBCMT:handler.obj - 0003:0000163c __newmode 1002363c LIBCMT:_newmode.obj - 0003:00001640 __maxwait 10023640 LIBCMT:crtheap.obj - 0003:00001644 _gpFlsAlloc 10023644 LIBCMT:tidtable.obj - 0003:00001648 _gpFlsGetValue 10023648 LIBCMT:tidtable.obj - 0003:0000164c _gpFlsSetValue 1002364c LIBCMT:tidtable.obj - 0003:00001650 _gpFlsFree 10023650 LIBCMT:tidtable.obj - 0003:00001654 __cflush 10023654 LIBCMT:_file.obj - 0003:00001764 ___mbulinfo 10023764 LIBCMT:mbctype.obj - 0003:00001770 ___mbcodepage 10023770 LIBCMT:mbctype.obj - 0003:00001774 ___ismbcodepage 10023774 LIBCMT:mbctype.obj - 0003:00001778 ___mblcid 10023778 LIBCMT:mbctype.obj - 0003:000018d0 ?__pInconsistency@@3P6AXXZA 100238d0 LIBCMT:hooks.obj - 0003:000018ec ___pPurecall 100238ec LIBCMT:inithelp.obj - 0003:00001c2c __commode 10023c2c LIBCMT:ncommode.obj - 0003:00001c30 ___lconv_static_null 10023c30 LIBCMT:lconv.obj - 0003:00001c34 ___lconv_static_W_null 10023c34 LIBCMT:lconv.obj - 0003:00001c38 __stdbuf 10023c38 LIBCMT:_sftbuf.obj - 0003:00001c40 ___locale_changed 10023c40 LIBCMT:setlocal.obj - 0003:00001c44 __fmode 10023c44 LIBCMT:txtmode.obj - 0003:00001c4c __debugger_hook_dummy 10023c4c - 0003:00001c50 ___piob 10023c50 - 0003:00001c60 __bufin 10023c60 - 0003:00002c60 __nstream 10024c60 - 0003:00002c64 ___sse2_available 10024c64 - 0003:00002c68 ___env_initialized 10024c68 - 0003:00002c6c ___onexitend 10024c6c - 0003:00002c70 ___onexitbegin 10024c70 - 0003:00002c74 ___mbctype_initialized 10024c74 - 0003:00002c78 __FPinit 10024c78 - 0003:00002c7c ___dyn_tls_init_callback 10024c7c - 0003:00002c80 __pDestructExceptionObject 10024c80 - 0003:00002c84 __nhandle 10024c84 - 0003:00002ca0 ___pioinfo 10024ca0 - 0003:00002da0 __acmdln 10024da0 - - entry point at 0001:0000fa9c - - Static symbols - - 0001:00000270 _adler32_combine_ 10001270 f CIL library: CIL module - 0001:00000470 _crc32_little 10001470 f CIL library: CIL module - 0001:00000730 _gf2_matrix_times 10001730 f CIL library: CIL module - 0001:00000750 _gf2_matrix_square 10001750 f CIL library: CIL module - 0001:00000780 _crc32_combine_ 10001780 f CIL library: CIL module - 0001:00001090 _putShortMSB 10002090 f CIL library: CIL module - 0001:000010c0 _flush_pending 100020c0 f CIL library: CIL module - 0001:00001bf0 _read_buf 10002bf0 f CIL library: CIL module - 0001:00001c60 _lm_init 10002c60 f CIL library: CIL module - 0001:00001d00 _fill_window 10002d00 f CIL library: CIL module - 0001:00001ed0 _deflate_stored 10002ed0 f CIL library: CIL module - 0001:00002060 _deflate_fast 10003060 f CIL library: CIL module - 0001:00002390 _deflate_slow 10003390 f CIL library: CIL module - 0001:00002790 _deflate_rle 10003790 f CIL library: CIL module - 0001:00002a40 _deflate_huff 10003a40 f CIL library: CIL module - 0001:00002bd0 _gz_reset 10003bd0 f CIL library: CIL module - 0001:00002c10 _gz_open 10003c10 f CIL library: CIL module - 0001:000033d0 _gz_load 100043d0 f CIL library: CIL module - 0001:00003440 _gz_avail 10004440 f CIL library: CIL module - 0001:000034b0 _gz_look 100044b0 f CIL library: CIL module - 0001:00003630 _gz_decomp 10004630 f CIL library: CIL module - 0001:00003730 _gz_fetch 10004730 f CIL library: CIL module - 0001:000037b0 _gz_skip 100047b0 f CIL library: CIL module - 0001:00003ce0 _gz_init 10004ce0 f CIL library: CIL module - 0001:00003dd0 _gz_comp 10004dd0 f CIL library: CIL module - 0001:00003ee0 _gz_zero 10004ee0 f CIL library: CIL module - 0001:00004530 _fixedtables 10005530 f CIL library: CIL module - 0001:00005520 _fixedtables 10006520 f CIL library: CIL module - 0001:00005540 _updatewindow 10006540 f CIL library: CIL module - 0001:00006cb0 _syncsearch 10007cb0 f CIL library: CIL module - 0001:00007520 _fopen64_file_func 10008520 f CIL library: CIL module - 0001:00007570 _fread_file_func 10008570 f CIL library: CIL module - 0001:00007590 _fwrite_file_func 10008590 f CIL library: CIL module - 0001:000075b0 _ftell64_file_func 100085b0 f CIL library: CIL module - 0001:000075d0 _fseek64_file_func 100085d0 f CIL library: CIL module - 0001:00007620 _fclose_file_func 10008620 f CIL library: CIL module - 0001:00007640 _ferror_file_func 10008640 f CIL library: CIL module - 0001:000076a0 _win32_translate_open_mode 100086a0 f CIL library: CIL module - 0001:00007710 _win32_build_iowin 10008710 f CIL library: CIL module - 0001:00007b90 _init_block 10008b90 f CIL library: CIL module - 0001:00007c10 _pqdownheap 10008c10 f CIL library: CIL module - 0001:00007cf0 _gen_bitlen 10008cf0 f CIL library: CIL module - 0001:00007ef0 _gen_codes 10008ef0 f CIL library: CIL module - 0001:00007f50 _build_tree 10008f50 f CIL library: CIL module - 0001:00008150 _scan_tree 10009150 f CIL library: CIL module - 0001:00008230 _send_tree 10009230 f CIL library: CIL module - 0001:000087b0 _build_bl_tree 100097b0 f CIL library: CIL module - 0001:00008880 _send_all_trees 10009880 f CIL library: CIL module - 0001:00008e70 _compress_block 10009e70 f CIL library: CIL module - 0001:00009250 _detect_data_type 1000a250 f CIL library: CIL module - 0001:000092c0 _bi_reverse 1000a2c0 f CIL library: CIL module - 0001:000092e0 _bi_flush 1000a2e0 f CIL library: CIL module - 0001:00009360 _bi_windup 1000a360 f CIL library: CIL module - 0001:000093c0 _copy_block 1000a3c0 f CIL library: CIL module - 0001:000094e0 _unz64local_getShort 1000a4e0 f CIL library: CIL module - 0001:00009540 _unz64local_getLong 1000a540 f CIL library: CIL module - 0001:000095d0 _unz64local_getLong64 1000a5d0 f CIL library: CIL module - 0001:00009710 _strcmpcasenosensitive_internal 1000a710 f CIL library: CIL module - 0001:000097b0 _zip64local_SearchCentralDir 1000a7b0 f CIL library: CIL module - 0001:000097b0 _unz64local_SearchCentralDir 1000a7b0 f CIL library: CIL module - 0001:00009960 _unz64local_SearchCentralDir64 1000a960 f CIL library: CIL module - 0001:00009bf0 _unzOpenInternal 1000abf0 f CIL library: CIL module - 0001:0000a1a0 _unz64local_DosDateToTmuDate 1000b1a0 f CIL library: CIL module - 0001:0000a220 _unz64local_GetCurrentFileInfoInternal 1000b220 f CIL library: CIL module - 0001:0000ac10 _unz64local_CheckCurrentFileCoherencyHeader 1000bc10 f CIL library: CIL module - 0001:0000b660 _decrypt_byte 1000c660 f CIL library: CIL module - 0001:0000b680 _update_keys 1000c680 f CIL library: CIL module - 0001:0000b6c0 _init_keys 1000c6c0 f CIL library: CIL module - 0001:0000b700 _crypthead 1000c700 f CIL library: CIL module - 0001:0000b810 _allocate_new_datablock 1000c810 f CIL library: CIL module - 0001:0000b840 _free_datablock 1000c840 f CIL library: CIL module - 0001:0000b860 _init_linkedlist 1000c860 f CIL library: CIL module - 0001:0000b870 _free_linkedlist 1000c870 f CIL library: CIL module - 0001:0000b890 _add_data_in_datablock 1000c890 f CIL library: CIL module - 0001:0000b940 _zip64local_putValue 1000c940 f CIL library: CIL module - 0001:0000b9a0 _zip64local_putValue_inmemory 1000c9a0 f CIL library: CIL module - 0001:0000b9e0 _zip64local_TmzDateToDosDate 1000c9e0 f CIL library: CIL module - 0001:0000ba30 _unz64local_getByte 1000ca30 f CIL library: CIL module - 0001:0000ba30 _zip64local_getByte 1000ca30 f CIL library: CIL module - 0001:0000ba70 _zip64local_getShort 1000ca70 f CIL library: CIL module - 0001:0000bad0 _zip64local_getLong 1000cad0 f CIL library: CIL module - 0001:0000bb60 _zip64local_getLong64 1000cb60 f CIL library: CIL module - 0001:0000bca0 _zip64local_SearchCentralDir64 1000cca0 f CIL library: CIL module - 0001:0000cef0 _zip64FlushWriteBuffer 1000def0 f CIL library: CIL module - 0001:0000f9a6 ___DllMainCRTStartup 100109a6 f LIBCMT:dllcrt0.obj - 0001:0000fcaa _write_char 10010caa f LIBCMT:output.obj - 0001:0000fcdd _write_string 10010cdd f LIBCMT:output.obj - 0001:00011444 _doexit 10012444 f LIBCMT:crt0dat.obj - 0001:00012990 _flsall 10013990 f LIBCMT:fflush.obj - 0001:00012ed0 __unwind_handler4 10013ed0 f LIBCMT:exsup4.obj - 0001:00014034 _parse_cmdline 10015034 f LIBCMT:stdargv.obj - 0001:00014616 ?CPtoLCID@@YAHH@Z 10015616 f LIBCMT:mbctype.obj - 0001:00014645 ?setSBCS@@YAXPAUthreadmbcinfostruct@@@Z 10015645 f LIBCMT:mbctype.obj - 0001:000146a9 ?setSBUpLow@@YAXPAUthreadmbcinfostruct@@@Z 100156a9 f LIBCMT:mbctype.obj - 0001:000148dd ?getSystemCP@@YAHH@Z 100158dd f LIBCMT:mbctype.obj - 0001:000156c4 _siglookup 100166c4 f LIBCMT:winsig.obj - 0001:000158c9 __onexit_nolock 100168c9 f LIBCMT:onexit.obj - 0001:00016118 __tsopen_nolock 10017118 f LIBCMT:open.obj - 0001:00016d90 __unwind_handler 10017d90 f LIBCMT:exsup.obj - 0001:000170d3 ?x_ismbbtype_l@@YAHPAUlocaleinfo_struct@@IHH@Z 100180d3 f LIBCMT:ismbbyte.obj - 0001:0001715e ?__crtLCMapStringA_stat@@YAHPAUlocaleinfo_struct@@KKPBDHPADHHH@Z 1001815e f LIBCMT:a_map.obj - 0001:0001738b ?__crtGetStringTypeA_stat@@YAHPAUlocaleinfo_struct@@KPBDHPAGHHH@Z 1001838b f LIBCMT:a_str.obj diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/CL.read.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/CL.read.1.tlog deleted file mode 100644 index 90e735ec..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/CL.read.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/CL.write.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/CL.write.1.tlog deleted file mode 100644 index f9dc838a..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/CL.write.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/Lib-link-cvtres.read.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/Lib-link-cvtres.read.1.tlog deleted file mode 100644 index 225e945f..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/Lib-link-cvtres.read.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/Lib-link-cvtres.write.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/Lib-link-cvtres.write.1.tlog deleted file mode 100644 index 4c6ed42b..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/Lib-link-cvtres.write.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/Lib-link.read.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/Lib-link.read.1.tlog deleted file mode 100644 index 46b134b1..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/Lib-link.read.1.tlog +++ /dev/null @@ -1 +0,0 @@ -ÿþ \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/Lib-link.write.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/Lib-link.write.1.tlog deleted file mode 100644 index 46b134b1..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/Lib-link.write.1.tlog +++ /dev/null @@ -1 +0,0 @@ -ÿþ \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/cl.command.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/cl.command.1.tlog deleted file mode 100644 index 2dfca3f0..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/cl.command.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/lib.command.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/lib.command.1.tlog deleted file mode 100644 index 548a22c6..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/lib.command.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/rc.command.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/rc.command.1.tlog deleted file mode 100644 index 0a121962..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/rc.command.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/rc.read.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/rc.read.1.tlog deleted file mode 100644 index 6f0a1878..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/rc.read.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/rc.write.1.tlog b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/rc.write.1.tlog deleted file mode 100644 index e60040f0..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/rc.write.1.tlog and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/zlib.res b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/zlib.res deleted file mode 100644 index ba2ab479..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/zlib.res and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/zlibstat.lastbuildstate b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/zlibstat.lastbuildstate deleted file mode 100644 index 666a5486..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/Tmp/zlibstat.lastbuildstate +++ /dev/null @@ -1,2 +0,0 @@ -#v4.0:v100 -Debug|Win32|D:\zlib-1.2.6\contrib\vstudio\vc10\| diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/zlibstat.lib b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/zlibstat.lib deleted file mode 100644 index 25b86daa..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/x86/ZlibStatDebug/zlibstat.lib and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlib.rc b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlib.rc deleted file mode 100644 index 8f22fab9..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlib.rc +++ /dev/null @@ -1,32 +0,0 @@ -#include - -#define IDR_VERSION1 1 -IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE - FILEVERSION 1.2.6,1 - PRODUCTVERSION 1.2.6,1 - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK - FILEFLAGS 0 - FILEOS VOS_DOS_WINDOWS32 - FILETYPE VFT_DLL - FILESUBTYPE 0 // not used -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904E4" - //language ID = U.S. English, char set = Windows, Multilingual - - BEGIN - VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" - VALUE "FileVersion", "1.2.6\0" - VALUE "InternalName", "zlib\0" - VALUE "OriginalFilename", "zlib.dll\0" - VALUE "ProductName", "ZLib.DLL\0" - VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" - VALUE "LegalCopyright", "(C) 1995-2012 Jean-loup Gailly & Mark Adler\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x0409, 1252 - END -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibstat.vcxproj b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibstat.vcxproj deleted file mode 100644 index 2682fca2..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibstat.vcxproj +++ /dev/null @@ -1,457 +0,0 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - ReleaseWithoutAsm - Itanium - - - ReleaseWithoutAsm - Win32 - - - ReleaseWithoutAsm - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8} - - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\ZlibStat$(Configuration)\ - x86\ZlibStat$(Configuration)\Tmp\ - x86\ZlibStat$(Configuration)\ - x86\ZlibStat$(Configuration)\Tmp\ - x86\ZlibStat$(Configuration)\ - x86\ZlibStat$(Configuration)\Tmp\ - x64\ZlibStat$(Configuration)\ - x64\ZlibStat$(Configuration)\Tmp\ - ia64\ZlibStat$(Configuration)\ - ia64\ZlibStat$(Configuration)\Tmp\ - x64\ZlibStat$(Configuration)\ - x64\ZlibStat$(Configuration)\Tmp\ - ia64\ZlibStat$(Configuration)\ - ia64\ZlibStat$(Configuration)\Tmp\ - x64\ZlibStat$(Configuration)\ - x64\ZlibStat$(Configuration)\Tmp\ - ia64\ZlibStat$(Configuration)\ - ia64\ZlibStat$(Configuration)\Tmp\ - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - - - MultiThreadedDebug - false - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - OldStyle - - - 0x040c - - - /MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;%(PreprocessorDefinitions) - true - - - MultiThreaded - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions) - ..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies) - $(OutDir)zlibstat.lib - true - - - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - true - - - MultiThreaded - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - X64 - - - Disabled - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - OldStyle - - - 0x040c - - - /MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - Itanium - - - Disabled - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - OldStyle - - - 0x040c - - - /MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - X64 - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions) - ..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies) - $(OutDir)zlibstat.lib - true - - - - - Itanium - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - X64 - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - Itanium - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - - - - - - - - - - true - true - true - true - true - true - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibstat.vcxproj.filters b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibstat.vcxproj.filters deleted file mode 100644 index c8c7f7ea..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibstat.vcxproj.filters +++ /dev/null @@ -1,77 +0,0 @@ - - - - - {174213f6-7f66-4ae8-a3a8-a1e0a1e6ffdd} - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Source Files - - - - - Source Files - - - \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibstat.vcxproj.user b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibstat.vcxproj.user deleted file mode 100644 index 695b5c78..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibstat.vcxproj.user +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibvc.def b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibvc.def deleted file mode 100644 index 571b0a66..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibvc.def +++ /dev/null @@ -1,137 +0,0 @@ -LIBRARY -; zlib data compression and ZIP file I/O library - -VERSION 1.24 - -EXPORTS - adler32 @1 - compress @2 - crc32 @3 - deflate @4 - deflateCopy @5 - deflateEnd @6 - deflateInit2_ @7 - deflateInit_ @8 - deflateParams @9 - deflateReset @10 - deflateSetDictionary @11 - gzclose @12 - gzdopen @13 - gzerror @14 - gzflush @15 - gzopen @16 - gzread @17 - gzwrite @18 - inflate @19 - inflateEnd @20 - inflateInit2_ @21 - inflateInit_ @22 - inflateReset @23 - inflateSetDictionary @24 - inflateSync @25 - uncompress @26 - zlibVersion @27 - gzprintf @28 - gzputc @29 - gzgetc @30 - gzseek @31 - gzrewind @32 - gztell @33 - gzeof @34 - gzsetparams @35 - zError @36 - inflateSyncPoint @37 - get_crc_table @38 - compress2 @39 - gzputs @40 - gzgets @41 - inflateCopy @42 - inflateBackInit_ @43 - inflateBack @44 - inflateBackEnd @45 - compressBound @46 - deflateBound @47 - gzclearerr @48 - gzungetc @49 - zlibCompileFlags @50 - deflatePrime @51 - deflatePending @52 - - unzOpen @61 - unzClose @62 - unzGetGlobalInfo @63 - unzGetCurrentFileInfo @64 - unzGoToFirstFile @65 - unzGoToNextFile @66 - unzOpenCurrentFile @67 - unzReadCurrentFile @68 - unzOpenCurrentFile3 @69 - unztell @70 - unzeof @71 - unzCloseCurrentFile @72 - unzGetGlobalComment @73 - unzStringFileNameCompare @74 - unzLocateFile @75 - unzGetLocalExtrafield @76 - unzOpen2 @77 - unzOpenCurrentFile2 @78 - unzOpenCurrentFilePassword @79 - - zipOpen @80 - zipOpenNewFileInZip @81 - zipWriteInFileInZip @82 - zipCloseFileInZip @83 - zipClose @84 - zipOpenNewFileInZip2 @86 - zipCloseFileInZipRaw @87 - zipOpen2 @88 - zipOpenNewFileInZip3 @89 - - unzGetFilePos @100 - unzGoToFilePos @101 - - fill_win32_filefunc @110 - -; zlibwapi v1.2.4 added: - fill_win32_filefunc64 @111 - fill_win32_filefunc64A @112 - fill_win32_filefunc64W @113 - - unzOpen64 @120 - unzOpen2_64 @121 - unzGetGlobalInfo64 @122 - unzGetCurrentFileInfo64 @124 - unzGetCurrentFileZStreamPos64 @125 - unztell64 @126 - unzGetFilePos64 @127 - unzGoToFilePos64 @128 - - zipOpen64 @130 - zipOpen2_64 @131 - zipOpenNewFileInZip64 @132 - zipOpenNewFileInZip2_64 @133 - zipOpenNewFileInZip3_64 @134 - zipOpenNewFileInZip4_64 @135 - zipCloseFileInZipRaw64 @136 - -; zlib1 v1.2.4 added: - adler32_combine @140 - crc32_combine @142 - deflateSetHeader @144 - deflateTune @145 - gzbuffer @146 - gzclose_r @147 - gzclose_w @148 - gzdirect @149 - gzoffset @150 - inflateGetHeader @156 - inflateMark @157 - inflatePrime @158 - inflateReset2 @159 - inflateUndermine @160 - -; zlib1 v1.2.6 added: - gzgetc_ @161 - gzflags @162 - inflateResetKeep @163 - deflateResetKeep @164 diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibvc.sdf b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibvc.sdf deleted file mode 100644 index 872d0ca0..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibvc.sdf and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibvc.sln b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibvc.sln deleted file mode 100644 index 6f6ffd5e..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibvc.sln +++ /dev/null @@ -1,135 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlibvc.vcxproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibstat", "zlibstat.vcxproj", "{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlib", "testzlib.vcxproj", "{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlibdll", "testzlibdll.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694366A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minizip", "minizip.vcxproj", "{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniunz", "miniunz.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694382A}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Itanium = Debug|Itanium - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Itanium = Release|Itanium - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - ReleaseWithoutAsm|Itanium = ReleaseWithoutAsm|Itanium - ReleaseWithoutAsm|Win32 = ReleaseWithoutAsm|Win32 - ReleaseWithoutAsm|x64 = ReleaseWithoutAsm|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.ActiveCfg = Debug|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.Build.0 = Debug|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.ActiveCfg = Debug|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.Build.0 = Debug|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.ActiveCfg = Release|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.Build.0 = Release|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = Release|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = Release|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.ActiveCfg = Debug|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.Build.0 = Debug|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.ActiveCfg = Debug|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.Build.0 = Debug|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.ActiveCfg = Debug|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.Build.0 = Debug|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.ActiveCfg = Release|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.Build.0 = Release|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.ActiveCfg = Release|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.Build.0 = Release|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.ActiveCfg = Release|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.Build.0 = Release|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.Build.0 = Debug|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.Build.0 = Release|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.ActiveCfg = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.Build.0 = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.ActiveCfg = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.Build.0 = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.ActiveCfg = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.Build.0 = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.Build.0 = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.Build.0 = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.Build.0 = Debug|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.Build.0 = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.ActiveCfg = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.Build.0 = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.ActiveCfg = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.Build.0 = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.ActiveCfg = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.Build.0 = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.Build.0 = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.Build.0 = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibvc.suo b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibvc.suo deleted file mode 100644 index 2f7bcb10..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibvc.suo and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibvc.vcxproj b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibvc.vcxproj deleted file mode 100644 index 7015a542..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibvc.vcxproj +++ /dev/null @@ -1,659 +0,0 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - ReleaseWithoutAsm - Itanium - - - ReleaseWithoutAsm - Win32 - - - ReleaseWithoutAsm - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {8FD826F8-3739-44E6-8CC8-997122E53B8D} - - - - DynamicLibrary - false - true - - - DynamicLibrary - false - true - - - DynamicLibrary - false - - - DynamicLibrary - false - true - - - DynamicLibrary - false - true - - - DynamicLibrary - false - - - DynamicLibrary - false - true - - - DynamicLibrary - false - true - - - DynamicLibrary - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - $(SolutionDir)$(Configuration)\ - x86\ZlibDll$(Configuration)\Tmp\ - true - false - x86\ZlibDll$(Configuration)\ - x86\ZlibDll$(Configuration)\Tmp\ - false - false - $(SolutionDir)$(Configuration)\ - x86\ZlibDll$(Configuration)\Tmp\ - false - false - x64\ZlibDll$(Configuration)\ - x64\ZlibDll$(Configuration)\Tmp\ - true - false - ia64\ZlibDll$(Configuration)\ - ia64\ZlibDll$(Configuration)\Tmp\ - true - false - x64\ZlibDll$(Configuration)\ - x64\ZlibDll$(Configuration)\Tmp\ - false - false - ia64\ZlibDll$(Configuration)\ - ia64\ZlibDll$(Configuration)\Tmp\ - false - false - x64\ZlibDll$(Configuration)\ - x64\ZlibDll$(Configuration)\Tmp\ - false - false - ia64\ZlibDll$(Configuration)\ - ia64\ZlibDll$(Configuration)\Tmp\ - false - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - $(OutDir)zlibvc.tlb - - - Disabled - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions) - - - MultiThreadedDebug - false - $(IntDir)zlibvc.pch - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - EditAndContinue - - - _DEBUG;%(PreprocessorDefinitions) - 0x040c - - - /MACHINE:I386 %(AdditionalOptions) - ..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies) - $(OutDir)$(TargetName)$(TargetExt) - true - .\zlibvc.def - true - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - false - - - $(OutDir)zlibwapi.lib - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - /MACHINE:I386 %(AdditionalOptions) - $(OutDir)zlibwapi.dll - true - false - .\zlibvc.def - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - false - - - $(OutDir)zlibwapi.lib - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;%(PreprocessorDefinitions) - true - - - MultiThreaded - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - /MACHINE:I386 %(AdditionalOptions) - ..\..\masmx86\match686.obj;..\..\masmx86\inffas32.obj;%(AdditionalDependencies) - $(OutDir)zlibwapi.dll - true - false - .\zlibvc.def - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - false - - - $(OutDir)zlibwapi.lib - - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - X64 - $(OutDir)zlibvc.tlb - - - Disabled - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibvc.pch - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - ProgramDatabase - - - _DEBUG;%(PreprocessorDefinitions) - 0x040c - - - ..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies) - $(OutDir)zlibwapi.dll - true - .\zlibvc.def - true - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineX64 - - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Itanium - $(OutDir)zlibvc.tlb - - - Disabled - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibvc.pch - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - ProgramDatabase - - - _DEBUG;%(PreprocessorDefinitions) - 0x040c - - - $(OutDir)zlibwapi.dll - true - .\zlibvc.def - true - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineIA64 - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - X64 - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - $(OutDir)zlibwapi.dll - true - false - .\zlibvc.def - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineX64 - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Itanium - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - $(OutDir)zlibwapi.dll - true - false - .\zlibvc.def - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineIA64 - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - X64 - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;ASMV;ASMINF;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - ..\..\masmx64\gvmat64.obj;..\..\masmx64\inffasx64.obj;%(AdditionalDependencies) - $(OutDir)zlibwapi.dll - true - false - .\zlibvc.def - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineX64 - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Itanium - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - $(OutDir)zlibwapi.dll - true - false - .\zlibvc.def - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineIA64 - - - - - - - - - - - - - - true - true - true - true - true - true - - - - - - - - - - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibvc.vcxproj.filters b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibvc.vcxproj.filters deleted file mode 100644 index 180b71cd..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibvc.vcxproj.filters +++ /dev/null @@ -1,118 +0,0 @@ - - - - - {07934a85-8b61-443d-a0ee-b2eedb74f3cd} - cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90 - - - {1d99675b-433d-4a21-9e50-ed4ab8b19762} - h;hpp;hxx;hm;inl;fi;fd - - - {431c0958-fa71-44d0-9084-2d19d100c0cc} - ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Source Files - - - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibvc.vcxproj.user b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibvc.vcxproj.user deleted file mode 100644 index 695b5c78..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc10/zlibvc.vcxproj.user +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/miniunz.vcproj b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/miniunz.vcproj deleted file mode 100644 index 7da32b91..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/miniunz.vcproj +++ /dev/null @@ -1,565 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/minizip.vcproj b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/minizip.vcproj deleted file mode 100644 index e57e07d9..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/minizip.vcproj +++ /dev/null @@ -1,562 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/testzlib.vcproj b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/testzlib.vcproj deleted file mode 100644 index 9cb0bf87..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/testzlib.vcproj +++ /dev/null @@ -1,852 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/testzlibdll.vcproj b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/testzlibdll.vcproj deleted file mode 100644 index b1ddde05..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/testzlibdll.vcproj +++ /dev/null @@ -1,565 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/zlib.rc b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/zlib.rc deleted file mode 100644 index 8f22fab9..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/zlib.rc +++ /dev/null @@ -1,32 +0,0 @@ -#include - -#define IDR_VERSION1 1 -IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE - FILEVERSION 1.2.6,1 - PRODUCTVERSION 1.2.6,1 - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK - FILEFLAGS 0 - FILEOS VOS_DOS_WINDOWS32 - FILETYPE VFT_DLL - FILESUBTYPE 0 // not used -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904E4" - //language ID = U.S. English, char set = Windows, Multilingual - - BEGIN - VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" - VALUE "FileVersion", "1.2.6\0" - VALUE "InternalName", "zlib\0" - VALUE "OriginalFilename", "zlib.dll\0" - VALUE "ProductName", "ZLib.DLL\0" - VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" - VALUE "LegalCopyright", "(C) 1995-2012 Jean-loup Gailly & Mark Adler\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x0409, 1252 - END -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/zlibstat.vcproj b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/zlibstat.vcproj deleted file mode 100644 index 61c76c7c..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/zlibstat.vcproj +++ /dev/null @@ -1,835 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/zlibvc.def b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/zlibvc.def deleted file mode 100644 index 571b0a66..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/zlibvc.def +++ /dev/null @@ -1,137 +0,0 @@ -LIBRARY -; zlib data compression and ZIP file I/O library - -VERSION 1.24 - -EXPORTS - adler32 @1 - compress @2 - crc32 @3 - deflate @4 - deflateCopy @5 - deflateEnd @6 - deflateInit2_ @7 - deflateInit_ @8 - deflateParams @9 - deflateReset @10 - deflateSetDictionary @11 - gzclose @12 - gzdopen @13 - gzerror @14 - gzflush @15 - gzopen @16 - gzread @17 - gzwrite @18 - inflate @19 - inflateEnd @20 - inflateInit2_ @21 - inflateInit_ @22 - inflateReset @23 - inflateSetDictionary @24 - inflateSync @25 - uncompress @26 - zlibVersion @27 - gzprintf @28 - gzputc @29 - gzgetc @30 - gzseek @31 - gzrewind @32 - gztell @33 - gzeof @34 - gzsetparams @35 - zError @36 - inflateSyncPoint @37 - get_crc_table @38 - compress2 @39 - gzputs @40 - gzgets @41 - inflateCopy @42 - inflateBackInit_ @43 - inflateBack @44 - inflateBackEnd @45 - compressBound @46 - deflateBound @47 - gzclearerr @48 - gzungetc @49 - zlibCompileFlags @50 - deflatePrime @51 - deflatePending @52 - - unzOpen @61 - unzClose @62 - unzGetGlobalInfo @63 - unzGetCurrentFileInfo @64 - unzGoToFirstFile @65 - unzGoToNextFile @66 - unzOpenCurrentFile @67 - unzReadCurrentFile @68 - unzOpenCurrentFile3 @69 - unztell @70 - unzeof @71 - unzCloseCurrentFile @72 - unzGetGlobalComment @73 - unzStringFileNameCompare @74 - unzLocateFile @75 - unzGetLocalExtrafield @76 - unzOpen2 @77 - unzOpenCurrentFile2 @78 - unzOpenCurrentFilePassword @79 - - zipOpen @80 - zipOpenNewFileInZip @81 - zipWriteInFileInZip @82 - zipCloseFileInZip @83 - zipClose @84 - zipOpenNewFileInZip2 @86 - zipCloseFileInZipRaw @87 - zipOpen2 @88 - zipOpenNewFileInZip3 @89 - - unzGetFilePos @100 - unzGoToFilePos @101 - - fill_win32_filefunc @110 - -; zlibwapi v1.2.4 added: - fill_win32_filefunc64 @111 - fill_win32_filefunc64A @112 - fill_win32_filefunc64W @113 - - unzOpen64 @120 - unzOpen2_64 @121 - unzGetGlobalInfo64 @122 - unzGetCurrentFileInfo64 @124 - unzGetCurrentFileZStreamPos64 @125 - unztell64 @126 - unzGetFilePos64 @127 - unzGoToFilePos64 @128 - - zipOpen64 @130 - zipOpen2_64 @131 - zipOpenNewFileInZip64 @132 - zipOpenNewFileInZip2_64 @133 - zipOpenNewFileInZip3_64 @134 - zipOpenNewFileInZip4_64 @135 - zipCloseFileInZipRaw64 @136 - -; zlib1 v1.2.4 added: - adler32_combine @140 - crc32_combine @142 - deflateSetHeader @144 - deflateTune @145 - gzbuffer @146 - gzclose_r @147 - gzclose_w @148 - gzdirect @149 - gzoffset @150 - inflateGetHeader @156 - inflateMark @157 - inflatePrime @158 - inflateReset2 @159 - inflateUndermine @160 - -; zlib1 v1.2.6 added: - gzgetc_ @161 - gzflags @162 - inflateResetKeep @163 - deflateResetKeep @164 diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/zlibvc.sln b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/zlibvc.sln deleted file mode 100644 index b4829671..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/zlibvc.sln +++ /dev/null @@ -1,144 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlibvc.vcproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibstat", "zlibstat.vcproj", "{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlib", "testzlib.vcproj", "{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestZlibDll", "testzlibdll.vcproj", "{C52F9E7B-498A-42BE-8DB4-85A15694366A}" - ProjectSection(ProjectDependencies) = postProject - {8FD826F8-3739-44E6-8CC8-997122E53B8D} = {8FD826F8-3739-44E6-8CC8-997122E53B8D} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minizip", "minizip.vcproj", "{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}" - ProjectSection(ProjectDependencies) = postProject - {8FD826F8-3739-44E6-8CC8-997122E53B8D} = {8FD826F8-3739-44E6-8CC8-997122E53B8D} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniunz", "miniunz.vcproj", "{C52F9E7B-498A-42BE-8DB4-85A15694382A}" - ProjectSection(ProjectDependencies) = postProject - {8FD826F8-3739-44E6-8CC8-997122E53B8D} = {8FD826F8-3739-44E6-8CC8-997122E53B8D} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Itanium = Debug|Itanium - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Itanium = Release|Itanium - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - ReleaseWithoutAsm|Itanium = ReleaseWithoutAsm|Itanium - ReleaseWithoutAsm|Win32 = ReleaseWithoutAsm|Win32 - ReleaseWithoutAsm|x64 = ReleaseWithoutAsm|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.ActiveCfg = Debug|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.Build.0 = Debug|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.ActiveCfg = Debug|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.Build.0 = Debug|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.ActiveCfg = Release|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.Build.0 = Release|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = Release|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = Release|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.ActiveCfg = Debug|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.Build.0 = Debug|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.ActiveCfg = Debug|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.Build.0 = Debug|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.ActiveCfg = Debug|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.Build.0 = Debug|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.ActiveCfg = Release|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.Build.0 = Release|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.ActiveCfg = Release|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.Build.0 = Release|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.ActiveCfg = Release|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.Build.0 = Release|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.Build.0 = Debug|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.Build.0 = Release|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.ActiveCfg = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.Build.0 = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.ActiveCfg = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.Build.0 = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.ActiveCfg = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.Build.0 = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.Build.0 = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.Build.0 = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.Build.0 = Debug|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.Build.0 = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.ActiveCfg = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.Build.0 = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.ActiveCfg = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.Build.0 = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.ActiveCfg = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.Build.0 = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.Build.0 = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.Build.0 = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/zlibvc.vcproj b/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/zlibvc.vcproj deleted file mode 100644 index c9a89471..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/contrib/vstudio/vc9/zlibvc.vcproj +++ /dev/null @@ -1,1156 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/crc32.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/crc32.c deleted file mode 100644 index c12471e6..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/crc32.c +++ /dev/null @@ -1,447 +0,0 @@ -/* crc32.c -- compute the CRC-32 of a data stream - * Copyright (C) 1995-2006, 2010, 2011 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - * - * Thanks to Rodney Brown for his contribution of faster - * CRC methods: exclusive-oring 32 bits of data at a time, and pre-computing - * tables for updating the shift register in one step with three exclusive-ors - * instead of four steps with four exclusive-ors. This results in about a - * factor of two increase in speed on a Power PC G4 (PPC7455) using gcc -O3. - */ - -/* @(#) $Id$ */ - -/* - Note on the use of DYNAMIC_CRC_TABLE: there is no mutex or semaphore - protection on the static variables used to control the first-use generation - of the crc tables. Therefore, if you #define DYNAMIC_CRC_TABLE, you should - first call get_crc_table() to initialize the tables before allowing more than - one thread to use crc32(). - - DYNAMIC_CRC_TABLE and MAKECRCH can be #defined to write out crc32.h. - */ - -#ifdef MAKECRCH -# include -# ifndef DYNAMIC_CRC_TABLE -# define DYNAMIC_CRC_TABLE -# endif /* !DYNAMIC_CRC_TABLE */ -#endif /* MAKECRCH */ - -#include "zutil.h" /* for STDC and FAR definitions */ - -#define local static - -/* Find a four-byte integer type for crc32_little() and crc32_big(). */ -#ifndef NOBYFOUR -# ifdef STDC /* need ANSI C limits.h to determine sizes */ -# include -# define BYFOUR -# if (UINT_MAX == 0xffffffffUL) - typedef unsigned int u4; -# else -# if (ULONG_MAX == 0xffffffffUL) - typedef unsigned long u4; -# else -# if (USHRT_MAX == 0xffffffffUL) - typedef unsigned short u4; -# else -# undef BYFOUR /* can't find a four-byte integer type! */ -# endif -# endif -# endif -# endif /* STDC */ -#endif /* !NOBYFOUR */ - -/* Definitions for doing the crc four data bytes at a time. */ -#ifdef BYFOUR - typedef u4 crc_table_t; -# define REV(w) ((((w)>>24)&0xff)+(((w)>>8)&0xff00)+ \ - (((w)&0xff00)<<8)+(((w)&0xff)<<24)) - local unsigned long crc32_little OF((unsigned long, - const unsigned char FAR *, unsigned)); - local unsigned long crc32_big OF((unsigned long, - const unsigned char FAR *, unsigned)); -# define TBLS 8 -#else - typedef unsigned long crc_table_t; -# define TBLS 1 -#endif /* BYFOUR */ - -/* Local functions for crc concatenation */ -local unsigned long gf2_matrix_times OF((unsigned long *mat, - unsigned long vec)); -local void gf2_matrix_square OF((unsigned long *square, unsigned long *mat)); -local uLong crc32_combine_ OF((uLong crc1, uLong crc2, z_off64_t len2)); - - -#ifdef DYNAMIC_CRC_TABLE - -local volatile int crc_table_empty = 1; -local crc_table_t FAR crc_table[TBLS][256]; -local void make_crc_table OF((void)); -#ifdef MAKECRCH - local void write_table OF((FILE *, const crc_table_t FAR *)); -#endif /* MAKECRCH */ -/* - Generate tables for a byte-wise 32-bit CRC calculation on the polynomial: - x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1. - - Polynomials over GF(2) are represented in binary, one bit per coefficient, - with the lowest powers in the most significant bit. Then adding polynomials - is just exclusive-or, and multiplying a polynomial by x is a right shift by - one. If we call the above polynomial p, and represent a byte as the - polynomial q, also with the lowest power in the most significant bit (so the - byte 0xb1 is the polynomial x^7+x^3+x+1), then the CRC is (q*x^32) mod p, - where a mod b means the remainder after dividing a by b. - - This calculation is done using the shift-register method of multiplying and - taking the remainder. The register is initialized to zero, and for each - incoming bit, x^32 is added mod p to the register if the bit is a one (where - x^32 mod p is p+x^32 = x^26+...+1), and the register is multiplied mod p by - x (which is shifting right by one and adding x^32 mod p if the bit shifted - out is a one). We start with the highest power (least significant bit) of - q and repeat for all eight bits of q. - - The first table is simply the CRC of all possible eight bit values. This is - all the information needed to generate CRCs on data a byte at a time for all - combinations of CRC register values and incoming bytes. The remaining tables - allow for word-at-a-time CRC calculation for both big-endian and little- - endian machines, where a word is four bytes. -*/ -local void make_crc_table() -{ - crc_table_t c; - int n, k; - crc_table_t poly; /* polynomial exclusive-or pattern */ - /* terms of polynomial defining this crc (except x^32): */ - static volatile int first = 1; /* flag to limit concurrent making */ - static const unsigned char p[] = {0,1,2,4,5,7,8,10,11,12,16,22,23,26}; - - /* See if another task is already doing this (not thread-safe, but better - than nothing -- significantly reduces duration of vulnerability in - case the advice about DYNAMIC_CRC_TABLE is ignored) */ - if (first) { - first = 0; - - /* make exclusive-or pattern from polynomial (0xedb88320UL) */ - poly = 0; - for (n = 0; n < (int)(sizeof(p)/sizeof(unsigned char)); n++) - poly |= (crc_table_t)1 << (31 - p[n]); - - /* generate a crc for every 8-bit value */ - for (n = 0; n < 256; n++) { - c = (crc_table_t)n; - for (k = 0; k < 8; k++) - c = c & 1 ? poly ^ (c >> 1) : c >> 1; - crc_table[0][n] = c; - } - -#ifdef BYFOUR - /* generate crc for each value followed by one, two, and three zeros, - and then the byte reversal of those as well as the first table */ - for (n = 0; n < 256; n++) { - c = crc_table[0][n]; - crc_table[4][n] = REV(c); - for (k = 1; k < 4; k++) { - c = crc_table[0][c & 0xff] ^ (c >> 8); - crc_table[k][n] = c; - crc_table[k + 4][n] = REV(c); - } - } -#endif /* BYFOUR */ - - crc_table_empty = 0; - } - else { /* not first */ - /* wait for the other guy to finish (not efficient, but rare) */ - while (crc_table_empty) - ; - } - -#ifdef MAKECRCH - /* write out CRC tables to crc32.h */ - { - FILE *out; - - out = fopen("crc32.h", "w"); - if (out == NULL) return; - fprintf(out, "/* crc32.h -- tables for rapid CRC calculation\n"); - fprintf(out, " * Generated automatically by crc32.c\n */\n\n"); - fprintf(out, "local const crc_table_t FAR "); - fprintf(out, "crc_table[TBLS][256] =\n{\n {\n"); - write_table(out, crc_table[0]); -# ifdef BYFOUR - fprintf(out, "#ifdef BYFOUR\n"); - for (k = 1; k < 8; k++) { - fprintf(out, " },\n {\n"); - write_table(out, crc_table[k]); - } - fprintf(out, "#endif\n"); -# endif /* BYFOUR */ - fprintf(out, " }\n};\n"); - fclose(out); - } -#endif /* MAKECRCH */ -} - -#ifdef MAKECRCH -local void write_table(out, table) - FILE *out; - const crc_table_t FAR *table; -{ - int n; - - for (n = 0; n < 256; n++) - fprintf(out, "%s0x%08lxUL%s", n % 5 ? "" : " ", - (unsigned long)(table[n]), - n == 255 ? "\n" : (n % 5 == 4 ? ",\n" : ", ")); -} -#endif /* MAKECRCH */ - -#else /* !DYNAMIC_CRC_TABLE */ -/* ======================================================================== - * Tables of CRC-32s of all single-byte values, made by make_crc_table(). - */ -#include "crc32.h" -#endif /* DYNAMIC_CRC_TABLE */ - -/* ========================================================================= - * This function can be used by asm versions of crc32() - */ -const unsigned long FAR * ZEXPORT get_crc_table() -{ -#ifdef DYNAMIC_CRC_TABLE - if (crc_table_empty) - make_crc_table(); -#endif /* DYNAMIC_CRC_TABLE */ - return (const unsigned long FAR *)crc_table; -} - -/* ========================================================================= */ -#define DO1 crc = crc_table[0][((int)crc ^ (*buf++)) & 0xff] ^ (crc >> 8) -#define DO8 DO1; DO1; DO1; DO1; DO1; DO1; DO1; DO1 - -/* ========================================================================= */ -unsigned long ZEXPORT crc32(crc, buf, len) - unsigned long crc; - const unsigned char FAR *buf; - uInt len; -{ - if (buf == Z_NULL) return 0UL; - -#ifdef DYNAMIC_CRC_TABLE - if (crc_table_empty) - make_crc_table(); -#endif /* DYNAMIC_CRC_TABLE */ - -#ifdef BYFOUR - if (sizeof(void *) == sizeof(ptrdiff_t)) { - u4 endian; - - endian = 1; - if (*((unsigned char *)(&endian))) - return crc32_little(crc, buf, len); - else - return crc32_big(crc, buf, len); - } -#endif /* BYFOUR */ - crc = crc ^ 0xffffffffUL; - while (len >= 8) { - DO8; - len -= 8; - } - if (len) do { - DO1; - } while (--len); - return crc ^ 0xffffffffUL; -} - -#ifdef BYFOUR - -/* ========================================================================= */ -#define DOLIT4 c ^= *buf4++; \ - c = crc_table[3][c & 0xff] ^ crc_table[2][(c >> 8) & 0xff] ^ \ - crc_table[1][(c >> 16) & 0xff] ^ crc_table[0][c >> 24] -#define DOLIT32 DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4 - -/* ========================================================================= */ -local unsigned long crc32_little(crc, buf, len) - unsigned long crc; - const unsigned char FAR *buf; - unsigned len; -{ - register u4 c; - register const u4 FAR *buf4; - - c = (u4)crc; - c = ~c; - while (len && ((ptrdiff_t)buf & 3)) { - c = crc_table[0][(c ^ *buf++) & 0xff] ^ (c >> 8); - len--; - } - - buf4 = (const u4 FAR *)(const void FAR *)buf; - while (len >= 32) { - DOLIT32; - len -= 32; - } - while (len >= 4) { - DOLIT4; - len -= 4; - } - buf = (const unsigned char FAR *)buf4; - - if (len) do { - c = crc_table[0][(c ^ *buf++) & 0xff] ^ (c >> 8); - } while (--len); - c = ~c; - return (unsigned long)c; -} - -/* ========================================================================= */ -#define DOBIG4 c ^= *++buf4; \ - c = crc_table[4][c & 0xff] ^ crc_table[5][(c >> 8) & 0xff] ^ \ - crc_table[6][(c >> 16) & 0xff] ^ crc_table[7][c >> 24] -#define DOBIG32 DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4 - -/* ========================================================================= */ -local unsigned long crc32_big(crc, buf, len) - unsigned long crc; - const unsigned char FAR *buf; - unsigned len; -{ - register u4 c; - register const u4 FAR *buf4; - - c = REV((u4)crc); - c = ~c; - while (len && ((ptrdiff_t)buf & 3)) { - c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8); - len--; - } - - buf4 = (const u4 FAR *)(const void FAR *)buf; - buf4--; - while (len >= 32) { - DOBIG32; - len -= 32; - } - while (len >= 4) { - DOBIG4; - len -= 4; - } - buf4++; - buf = (const unsigned char FAR *)buf4; - - if (len) do { - c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8); - } while (--len); - c = ~c; - return (unsigned long)(REV(c)); -} - -#endif /* BYFOUR */ - -#define GF2_DIM 32 /* dimension of GF(2) vectors (length of CRC) */ - -/* ========================================================================= */ -local unsigned long gf2_matrix_times(mat, vec) - unsigned long *mat; - unsigned long vec; -{ - unsigned long sum; - - sum = 0; - while (vec) { - if (vec & 1) - sum ^= *mat; - vec >>= 1; - mat++; - } - return sum; -} - -/* ========================================================================= */ -local void gf2_matrix_square(square, mat) - unsigned long *square; - unsigned long *mat; -{ - int n; - - for (n = 0; n < GF2_DIM; n++) - square[n] = gf2_matrix_times(mat, mat[n]); -} - -/* ========================================================================= */ -local uLong crc32_combine_(crc1, crc2, len2) - uLong crc1; - uLong crc2; - z_off64_t len2; -{ - int n; - unsigned long row; - unsigned long even[GF2_DIM]; /* even-power-of-two zeros operator */ - unsigned long odd[GF2_DIM]; /* odd-power-of-two zeros operator */ - - /* degenerate case (also disallow negative lengths) */ - if (len2 <= 0) - return crc1; - - /* put operator for one zero bit in odd */ - odd[0] = 0xedb88320UL; /* CRC-32 polynomial */ - row = 1; - for (n = 1; n < GF2_DIM; n++) { - odd[n] = row; - row <<= 1; - } - - /* put operator for two zero bits in even */ - gf2_matrix_square(even, odd); - - /* put operator for four zero bits in odd */ - gf2_matrix_square(odd, even); - - /* apply len2 zeros to crc1 (first square will put the operator for one - zero byte, eight zero bits, in even) */ - do { - /* apply zeros operator for this bit of len2 */ - gf2_matrix_square(even, odd); - if (len2 & 1) - crc1 = gf2_matrix_times(even, crc1); - len2 >>= 1; - - /* if no more bits set, then done */ - if (len2 == 0) - break; - - /* another iteration of the loop with odd and even swapped */ - gf2_matrix_square(odd, even); - if (len2 & 1) - crc1 = gf2_matrix_times(odd, crc1); - len2 >>= 1; - - /* if no more bits set, then done */ - } while (len2 != 0); - - /* return combined crc */ - crc1 ^= crc2; - return crc1; -} - -/* ========================================================================= */ -uLong ZEXPORT crc32_combine(crc1, crc2, len2) - uLong crc1; - uLong crc2; - z_off_t len2; -{ - return crc32_combine_(crc1, crc2, len2); -} - -uLong ZEXPORT crc32_combine64(crc1, crc2, len2) - uLong crc1; - uLong crc2; - z_off64_t len2; -{ - return crc32_combine_(crc1, crc2, len2); -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/crc32.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/crc32.h deleted file mode 100644 index c3e7171c..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/crc32.h +++ /dev/null @@ -1,441 +0,0 @@ -/* crc32.h -- tables for rapid CRC calculation - * Generated automatically by crc32.c - */ - -local const crc_table_t FAR crc_table[TBLS][256] = -{ - { - 0x00000000UL, 0x77073096UL, 0xee0e612cUL, 0x990951baUL, 0x076dc419UL, - 0x706af48fUL, 0xe963a535UL, 0x9e6495a3UL, 0x0edb8832UL, 0x79dcb8a4UL, - 0xe0d5e91eUL, 0x97d2d988UL, 0x09b64c2bUL, 0x7eb17cbdUL, 0xe7b82d07UL, - 0x90bf1d91UL, 0x1db71064UL, 0x6ab020f2UL, 0xf3b97148UL, 0x84be41deUL, - 0x1adad47dUL, 0x6ddde4ebUL, 0xf4d4b551UL, 0x83d385c7UL, 0x136c9856UL, - 0x646ba8c0UL, 0xfd62f97aUL, 0x8a65c9ecUL, 0x14015c4fUL, 0x63066cd9UL, - 0xfa0f3d63UL, 0x8d080df5UL, 0x3b6e20c8UL, 0x4c69105eUL, 0xd56041e4UL, - 0xa2677172UL, 0x3c03e4d1UL, 0x4b04d447UL, 0xd20d85fdUL, 0xa50ab56bUL, - 0x35b5a8faUL, 0x42b2986cUL, 0xdbbbc9d6UL, 0xacbcf940UL, 0x32d86ce3UL, - 0x45df5c75UL, 0xdcd60dcfUL, 0xabd13d59UL, 0x26d930acUL, 0x51de003aUL, - 0xc8d75180UL, 0xbfd06116UL, 0x21b4f4b5UL, 0x56b3c423UL, 0xcfba9599UL, - 0xb8bda50fUL, 0x2802b89eUL, 0x5f058808UL, 0xc60cd9b2UL, 0xb10be924UL, - 0x2f6f7c87UL, 0x58684c11UL, 0xc1611dabUL, 0xb6662d3dUL, 0x76dc4190UL, - 0x01db7106UL, 0x98d220bcUL, 0xefd5102aUL, 0x71b18589UL, 0x06b6b51fUL, - 0x9fbfe4a5UL, 0xe8b8d433UL, 0x7807c9a2UL, 0x0f00f934UL, 0x9609a88eUL, - 0xe10e9818UL, 0x7f6a0dbbUL, 0x086d3d2dUL, 0x91646c97UL, 0xe6635c01UL, - 0x6b6b51f4UL, 0x1c6c6162UL, 0x856530d8UL, 0xf262004eUL, 0x6c0695edUL, - 0x1b01a57bUL, 0x8208f4c1UL, 0xf50fc457UL, 0x65b0d9c6UL, 0x12b7e950UL, - 0x8bbeb8eaUL, 0xfcb9887cUL, 0x62dd1ddfUL, 0x15da2d49UL, 0x8cd37cf3UL, - 0xfbd44c65UL, 0x4db26158UL, 0x3ab551ceUL, 0xa3bc0074UL, 0xd4bb30e2UL, - 0x4adfa541UL, 0x3dd895d7UL, 0xa4d1c46dUL, 0xd3d6f4fbUL, 0x4369e96aUL, - 0x346ed9fcUL, 0xad678846UL, 0xda60b8d0UL, 0x44042d73UL, 0x33031de5UL, - 0xaa0a4c5fUL, 0xdd0d7cc9UL, 0x5005713cUL, 0x270241aaUL, 0xbe0b1010UL, - 0xc90c2086UL, 0x5768b525UL, 0x206f85b3UL, 0xb966d409UL, 0xce61e49fUL, - 0x5edef90eUL, 0x29d9c998UL, 0xb0d09822UL, 0xc7d7a8b4UL, 0x59b33d17UL, - 0x2eb40d81UL, 0xb7bd5c3bUL, 0xc0ba6cadUL, 0xedb88320UL, 0x9abfb3b6UL, - 0x03b6e20cUL, 0x74b1d29aUL, 0xead54739UL, 0x9dd277afUL, 0x04db2615UL, - 0x73dc1683UL, 0xe3630b12UL, 0x94643b84UL, 0x0d6d6a3eUL, 0x7a6a5aa8UL, - 0xe40ecf0bUL, 0x9309ff9dUL, 0x0a00ae27UL, 0x7d079eb1UL, 0xf00f9344UL, - 0x8708a3d2UL, 0x1e01f268UL, 0x6906c2feUL, 0xf762575dUL, 0x806567cbUL, - 0x196c3671UL, 0x6e6b06e7UL, 0xfed41b76UL, 0x89d32be0UL, 0x10da7a5aUL, - 0x67dd4accUL, 0xf9b9df6fUL, 0x8ebeeff9UL, 0x17b7be43UL, 0x60b08ed5UL, - 0xd6d6a3e8UL, 0xa1d1937eUL, 0x38d8c2c4UL, 0x4fdff252UL, 0xd1bb67f1UL, - 0xa6bc5767UL, 0x3fb506ddUL, 0x48b2364bUL, 0xd80d2bdaUL, 0xaf0a1b4cUL, - 0x36034af6UL, 0x41047a60UL, 0xdf60efc3UL, 0xa867df55UL, 0x316e8eefUL, - 0x4669be79UL, 0xcb61b38cUL, 0xbc66831aUL, 0x256fd2a0UL, 0x5268e236UL, - 0xcc0c7795UL, 0xbb0b4703UL, 0x220216b9UL, 0x5505262fUL, 0xc5ba3bbeUL, - 0xb2bd0b28UL, 0x2bb45a92UL, 0x5cb36a04UL, 0xc2d7ffa7UL, 0xb5d0cf31UL, - 0x2cd99e8bUL, 0x5bdeae1dUL, 0x9b64c2b0UL, 0xec63f226UL, 0x756aa39cUL, - 0x026d930aUL, 0x9c0906a9UL, 0xeb0e363fUL, 0x72076785UL, 0x05005713UL, - 0x95bf4a82UL, 0xe2b87a14UL, 0x7bb12baeUL, 0x0cb61b38UL, 0x92d28e9bUL, - 0xe5d5be0dUL, 0x7cdcefb7UL, 0x0bdbdf21UL, 0x86d3d2d4UL, 0xf1d4e242UL, - 0x68ddb3f8UL, 0x1fda836eUL, 0x81be16cdUL, 0xf6b9265bUL, 0x6fb077e1UL, - 0x18b74777UL, 0x88085ae6UL, 0xff0f6a70UL, 0x66063bcaUL, 0x11010b5cUL, - 0x8f659effUL, 0xf862ae69UL, 0x616bffd3UL, 0x166ccf45UL, 0xa00ae278UL, - 0xd70dd2eeUL, 0x4e048354UL, 0x3903b3c2UL, 0xa7672661UL, 0xd06016f7UL, - 0x4969474dUL, 0x3e6e77dbUL, 0xaed16a4aUL, 0xd9d65adcUL, 0x40df0b66UL, - 0x37d83bf0UL, 0xa9bcae53UL, 0xdebb9ec5UL, 0x47b2cf7fUL, 0x30b5ffe9UL, - 0xbdbdf21cUL, 0xcabac28aUL, 0x53b39330UL, 0x24b4a3a6UL, 0xbad03605UL, - 0xcdd70693UL, 0x54de5729UL, 0x23d967bfUL, 0xb3667a2eUL, 0xc4614ab8UL, - 0x5d681b02UL, 0x2a6f2b94UL, 0xb40bbe37UL, 0xc30c8ea1UL, 0x5a05df1bUL, - 0x2d02ef8dUL -#ifdef BYFOUR - }, - { - 0x00000000UL, 0x191b3141UL, 0x32366282UL, 0x2b2d53c3UL, 0x646cc504UL, - 0x7d77f445UL, 0x565aa786UL, 0x4f4196c7UL, 0xc8d98a08UL, 0xd1c2bb49UL, - 0xfaefe88aUL, 0xe3f4d9cbUL, 0xacb54f0cUL, 0xb5ae7e4dUL, 0x9e832d8eUL, - 0x87981ccfUL, 0x4ac21251UL, 0x53d92310UL, 0x78f470d3UL, 0x61ef4192UL, - 0x2eaed755UL, 0x37b5e614UL, 0x1c98b5d7UL, 0x05838496UL, 0x821b9859UL, - 0x9b00a918UL, 0xb02dfadbUL, 0xa936cb9aUL, 0xe6775d5dUL, 0xff6c6c1cUL, - 0xd4413fdfUL, 0xcd5a0e9eUL, 0x958424a2UL, 0x8c9f15e3UL, 0xa7b24620UL, - 0xbea97761UL, 0xf1e8e1a6UL, 0xe8f3d0e7UL, 0xc3de8324UL, 0xdac5b265UL, - 0x5d5daeaaUL, 0x44469febUL, 0x6f6bcc28UL, 0x7670fd69UL, 0x39316baeUL, - 0x202a5aefUL, 0x0b07092cUL, 0x121c386dUL, 0xdf4636f3UL, 0xc65d07b2UL, - 0xed705471UL, 0xf46b6530UL, 0xbb2af3f7UL, 0xa231c2b6UL, 0x891c9175UL, - 0x9007a034UL, 0x179fbcfbUL, 0x0e848dbaUL, 0x25a9de79UL, 0x3cb2ef38UL, - 0x73f379ffUL, 0x6ae848beUL, 0x41c51b7dUL, 0x58de2a3cUL, 0xf0794f05UL, - 0xe9627e44UL, 0xc24f2d87UL, 0xdb541cc6UL, 0x94158a01UL, 0x8d0ebb40UL, - 0xa623e883UL, 0xbf38d9c2UL, 0x38a0c50dUL, 0x21bbf44cUL, 0x0a96a78fUL, - 0x138d96ceUL, 0x5ccc0009UL, 0x45d73148UL, 0x6efa628bUL, 0x77e153caUL, - 0xbabb5d54UL, 0xa3a06c15UL, 0x888d3fd6UL, 0x91960e97UL, 0xded79850UL, - 0xc7cca911UL, 0xece1fad2UL, 0xf5facb93UL, 0x7262d75cUL, 0x6b79e61dUL, - 0x4054b5deUL, 0x594f849fUL, 0x160e1258UL, 0x0f152319UL, 0x243870daUL, - 0x3d23419bUL, 0x65fd6ba7UL, 0x7ce65ae6UL, 0x57cb0925UL, 0x4ed03864UL, - 0x0191aea3UL, 0x188a9fe2UL, 0x33a7cc21UL, 0x2abcfd60UL, 0xad24e1afUL, - 0xb43fd0eeUL, 0x9f12832dUL, 0x8609b26cUL, 0xc94824abUL, 0xd05315eaUL, - 0xfb7e4629UL, 0xe2657768UL, 0x2f3f79f6UL, 0x362448b7UL, 0x1d091b74UL, - 0x04122a35UL, 0x4b53bcf2UL, 0x52488db3UL, 0x7965de70UL, 0x607eef31UL, - 0xe7e6f3feUL, 0xfefdc2bfUL, 0xd5d0917cUL, 0xcccba03dUL, 0x838a36faUL, - 0x9a9107bbUL, 0xb1bc5478UL, 0xa8a76539UL, 0x3b83984bUL, 0x2298a90aUL, - 0x09b5fac9UL, 0x10aecb88UL, 0x5fef5d4fUL, 0x46f46c0eUL, 0x6dd93fcdUL, - 0x74c20e8cUL, 0xf35a1243UL, 0xea412302UL, 0xc16c70c1UL, 0xd8774180UL, - 0x9736d747UL, 0x8e2de606UL, 0xa500b5c5UL, 0xbc1b8484UL, 0x71418a1aUL, - 0x685abb5bUL, 0x4377e898UL, 0x5a6cd9d9UL, 0x152d4f1eUL, 0x0c367e5fUL, - 0x271b2d9cUL, 0x3e001cddUL, 0xb9980012UL, 0xa0833153UL, 0x8bae6290UL, - 0x92b553d1UL, 0xddf4c516UL, 0xc4eff457UL, 0xefc2a794UL, 0xf6d996d5UL, - 0xae07bce9UL, 0xb71c8da8UL, 0x9c31de6bUL, 0x852aef2aUL, 0xca6b79edUL, - 0xd37048acUL, 0xf85d1b6fUL, 0xe1462a2eUL, 0x66de36e1UL, 0x7fc507a0UL, - 0x54e85463UL, 0x4df36522UL, 0x02b2f3e5UL, 0x1ba9c2a4UL, 0x30849167UL, - 0x299fa026UL, 0xe4c5aeb8UL, 0xfdde9ff9UL, 0xd6f3cc3aUL, 0xcfe8fd7bUL, - 0x80a96bbcUL, 0x99b25afdUL, 0xb29f093eUL, 0xab84387fUL, 0x2c1c24b0UL, - 0x350715f1UL, 0x1e2a4632UL, 0x07317773UL, 0x4870e1b4UL, 0x516bd0f5UL, - 0x7a468336UL, 0x635db277UL, 0xcbfad74eUL, 0xd2e1e60fUL, 0xf9ccb5ccUL, - 0xe0d7848dUL, 0xaf96124aUL, 0xb68d230bUL, 0x9da070c8UL, 0x84bb4189UL, - 0x03235d46UL, 0x1a386c07UL, 0x31153fc4UL, 0x280e0e85UL, 0x674f9842UL, - 0x7e54a903UL, 0x5579fac0UL, 0x4c62cb81UL, 0x8138c51fUL, 0x9823f45eUL, - 0xb30ea79dUL, 0xaa1596dcUL, 0xe554001bUL, 0xfc4f315aUL, 0xd7626299UL, - 0xce7953d8UL, 0x49e14f17UL, 0x50fa7e56UL, 0x7bd72d95UL, 0x62cc1cd4UL, - 0x2d8d8a13UL, 0x3496bb52UL, 0x1fbbe891UL, 0x06a0d9d0UL, 0x5e7ef3ecUL, - 0x4765c2adUL, 0x6c48916eUL, 0x7553a02fUL, 0x3a1236e8UL, 0x230907a9UL, - 0x0824546aUL, 0x113f652bUL, 0x96a779e4UL, 0x8fbc48a5UL, 0xa4911b66UL, - 0xbd8a2a27UL, 0xf2cbbce0UL, 0xebd08da1UL, 0xc0fdde62UL, 0xd9e6ef23UL, - 0x14bce1bdUL, 0x0da7d0fcUL, 0x268a833fUL, 0x3f91b27eUL, 0x70d024b9UL, - 0x69cb15f8UL, 0x42e6463bUL, 0x5bfd777aUL, 0xdc656bb5UL, 0xc57e5af4UL, - 0xee530937UL, 0xf7483876UL, 0xb809aeb1UL, 0xa1129ff0UL, 0x8a3fcc33UL, - 0x9324fd72UL - }, - { - 0x00000000UL, 0x01c26a37UL, 0x0384d46eUL, 0x0246be59UL, 0x0709a8dcUL, - 0x06cbc2ebUL, 0x048d7cb2UL, 0x054f1685UL, 0x0e1351b8UL, 0x0fd13b8fUL, - 0x0d9785d6UL, 0x0c55efe1UL, 0x091af964UL, 0x08d89353UL, 0x0a9e2d0aUL, - 0x0b5c473dUL, 0x1c26a370UL, 0x1de4c947UL, 0x1fa2771eUL, 0x1e601d29UL, - 0x1b2f0bacUL, 0x1aed619bUL, 0x18abdfc2UL, 0x1969b5f5UL, 0x1235f2c8UL, - 0x13f798ffUL, 0x11b126a6UL, 0x10734c91UL, 0x153c5a14UL, 0x14fe3023UL, - 0x16b88e7aUL, 0x177ae44dUL, 0x384d46e0UL, 0x398f2cd7UL, 0x3bc9928eUL, - 0x3a0bf8b9UL, 0x3f44ee3cUL, 0x3e86840bUL, 0x3cc03a52UL, 0x3d025065UL, - 0x365e1758UL, 0x379c7d6fUL, 0x35dac336UL, 0x3418a901UL, 0x3157bf84UL, - 0x3095d5b3UL, 0x32d36beaUL, 0x331101ddUL, 0x246be590UL, 0x25a98fa7UL, - 0x27ef31feUL, 0x262d5bc9UL, 0x23624d4cUL, 0x22a0277bUL, 0x20e69922UL, - 0x2124f315UL, 0x2a78b428UL, 0x2bbade1fUL, 0x29fc6046UL, 0x283e0a71UL, - 0x2d711cf4UL, 0x2cb376c3UL, 0x2ef5c89aUL, 0x2f37a2adUL, 0x709a8dc0UL, - 0x7158e7f7UL, 0x731e59aeUL, 0x72dc3399UL, 0x7793251cUL, 0x76514f2bUL, - 0x7417f172UL, 0x75d59b45UL, 0x7e89dc78UL, 0x7f4bb64fUL, 0x7d0d0816UL, - 0x7ccf6221UL, 0x798074a4UL, 0x78421e93UL, 0x7a04a0caUL, 0x7bc6cafdUL, - 0x6cbc2eb0UL, 0x6d7e4487UL, 0x6f38fadeUL, 0x6efa90e9UL, 0x6bb5866cUL, - 0x6a77ec5bUL, 0x68315202UL, 0x69f33835UL, 0x62af7f08UL, 0x636d153fUL, - 0x612bab66UL, 0x60e9c151UL, 0x65a6d7d4UL, 0x6464bde3UL, 0x662203baUL, - 0x67e0698dUL, 0x48d7cb20UL, 0x4915a117UL, 0x4b531f4eUL, 0x4a917579UL, - 0x4fde63fcUL, 0x4e1c09cbUL, 0x4c5ab792UL, 0x4d98dda5UL, 0x46c49a98UL, - 0x4706f0afUL, 0x45404ef6UL, 0x448224c1UL, 0x41cd3244UL, 0x400f5873UL, - 0x4249e62aUL, 0x438b8c1dUL, 0x54f16850UL, 0x55330267UL, 0x5775bc3eUL, - 0x56b7d609UL, 0x53f8c08cUL, 0x523aaabbUL, 0x507c14e2UL, 0x51be7ed5UL, - 0x5ae239e8UL, 0x5b2053dfUL, 0x5966ed86UL, 0x58a487b1UL, 0x5deb9134UL, - 0x5c29fb03UL, 0x5e6f455aUL, 0x5fad2f6dUL, 0xe1351b80UL, 0xe0f771b7UL, - 0xe2b1cfeeUL, 0xe373a5d9UL, 0xe63cb35cUL, 0xe7fed96bUL, 0xe5b86732UL, - 0xe47a0d05UL, 0xef264a38UL, 0xeee4200fUL, 0xeca29e56UL, 0xed60f461UL, - 0xe82fe2e4UL, 0xe9ed88d3UL, 0xebab368aUL, 0xea695cbdUL, 0xfd13b8f0UL, - 0xfcd1d2c7UL, 0xfe976c9eUL, 0xff5506a9UL, 0xfa1a102cUL, 0xfbd87a1bUL, - 0xf99ec442UL, 0xf85cae75UL, 0xf300e948UL, 0xf2c2837fUL, 0xf0843d26UL, - 0xf1465711UL, 0xf4094194UL, 0xf5cb2ba3UL, 0xf78d95faUL, 0xf64fffcdUL, - 0xd9785d60UL, 0xd8ba3757UL, 0xdafc890eUL, 0xdb3ee339UL, 0xde71f5bcUL, - 0xdfb39f8bUL, 0xddf521d2UL, 0xdc374be5UL, 0xd76b0cd8UL, 0xd6a966efUL, - 0xd4efd8b6UL, 0xd52db281UL, 0xd062a404UL, 0xd1a0ce33UL, 0xd3e6706aUL, - 0xd2241a5dUL, 0xc55efe10UL, 0xc49c9427UL, 0xc6da2a7eUL, 0xc7184049UL, - 0xc25756ccUL, 0xc3953cfbUL, 0xc1d382a2UL, 0xc011e895UL, 0xcb4dafa8UL, - 0xca8fc59fUL, 0xc8c97bc6UL, 0xc90b11f1UL, 0xcc440774UL, 0xcd866d43UL, - 0xcfc0d31aUL, 0xce02b92dUL, 0x91af9640UL, 0x906dfc77UL, 0x922b422eUL, - 0x93e92819UL, 0x96a63e9cUL, 0x976454abUL, 0x9522eaf2UL, 0x94e080c5UL, - 0x9fbcc7f8UL, 0x9e7eadcfUL, 0x9c381396UL, 0x9dfa79a1UL, 0x98b56f24UL, - 0x99770513UL, 0x9b31bb4aUL, 0x9af3d17dUL, 0x8d893530UL, 0x8c4b5f07UL, - 0x8e0de15eUL, 0x8fcf8b69UL, 0x8a809decUL, 0x8b42f7dbUL, 0x89044982UL, - 0x88c623b5UL, 0x839a6488UL, 0x82580ebfUL, 0x801eb0e6UL, 0x81dcdad1UL, - 0x8493cc54UL, 0x8551a663UL, 0x8717183aUL, 0x86d5720dUL, 0xa9e2d0a0UL, - 0xa820ba97UL, 0xaa6604ceUL, 0xaba46ef9UL, 0xaeeb787cUL, 0xaf29124bUL, - 0xad6fac12UL, 0xacadc625UL, 0xa7f18118UL, 0xa633eb2fUL, 0xa4755576UL, - 0xa5b73f41UL, 0xa0f829c4UL, 0xa13a43f3UL, 0xa37cfdaaUL, 0xa2be979dUL, - 0xb5c473d0UL, 0xb40619e7UL, 0xb640a7beUL, 0xb782cd89UL, 0xb2cddb0cUL, - 0xb30fb13bUL, 0xb1490f62UL, 0xb08b6555UL, 0xbbd72268UL, 0xba15485fUL, - 0xb853f606UL, 0xb9919c31UL, 0xbcde8ab4UL, 0xbd1ce083UL, 0xbf5a5edaUL, - 0xbe9834edUL - }, - { - 0x00000000UL, 0xb8bc6765UL, 0xaa09c88bUL, 0x12b5afeeUL, 0x8f629757UL, - 0x37def032UL, 0x256b5fdcUL, 0x9dd738b9UL, 0xc5b428efUL, 0x7d084f8aUL, - 0x6fbde064UL, 0xd7018701UL, 0x4ad6bfb8UL, 0xf26ad8ddUL, 0xe0df7733UL, - 0x58631056UL, 0x5019579fUL, 0xe8a530faUL, 0xfa109f14UL, 0x42acf871UL, - 0xdf7bc0c8UL, 0x67c7a7adUL, 0x75720843UL, 0xcdce6f26UL, 0x95ad7f70UL, - 0x2d111815UL, 0x3fa4b7fbUL, 0x8718d09eUL, 0x1acfe827UL, 0xa2738f42UL, - 0xb0c620acUL, 0x087a47c9UL, 0xa032af3eUL, 0x188ec85bUL, 0x0a3b67b5UL, - 0xb28700d0UL, 0x2f503869UL, 0x97ec5f0cUL, 0x8559f0e2UL, 0x3de59787UL, - 0x658687d1UL, 0xdd3ae0b4UL, 0xcf8f4f5aUL, 0x7733283fUL, 0xeae41086UL, - 0x525877e3UL, 0x40edd80dUL, 0xf851bf68UL, 0xf02bf8a1UL, 0x48979fc4UL, - 0x5a22302aUL, 0xe29e574fUL, 0x7f496ff6UL, 0xc7f50893UL, 0xd540a77dUL, - 0x6dfcc018UL, 0x359fd04eUL, 0x8d23b72bUL, 0x9f9618c5UL, 0x272a7fa0UL, - 0xbafd4719UL, 0x0241207cUL, 0x10f48f92UL, 0xa848e8f7UL, 0x9b14583dUL, - 0x23a83f58UL, 0x311d90b6UL, 0x89a1f7d3UL, 0x1476cf6aUL, 0xaccaa80fUL, - 0xbe7f07e1UL, 0x06c36084UL, 0x5ea070d2UL, 0xe61c17b7UL, 0xf4a9b859UL, - 0x4c15df3cUL, 0xd1c2e785UL, 0x697e80e0UL, 0x7bcb2f0eUL, 0xc377486bUL, - 0xcb0d0fa2UL, 0x73b168c7UL, 0x6104c729UL, 0xd9b8a04cUL, 0x446f98f5UL, - 0xfcd3ff90UL, 0xee66507eUL, 0x56da371bUL, 0x0eb9274dUL, 0xb6054028UL, - 0xa4b0efc6UL, 0x1c0c88a3UL, 0x81dbb01aUL, 0x3967d77fUL, 0x2bd27891UL, - 0x936e1ff4UL, 0x3b26f703UL, 0x839a9066UL, 0x912f3f88UL, 0x299358edUL, - 0xb4446054UL, 0x0cf80731UL, 0x1e4da8dfUL, 0xa6f1cfbaUL, 0xfe92dfecUL, - 0x462eb889UL, 0x549b1767UL, 0xec277002UL, 0x71f048bbUL, 0xc94c2fdeUL, - 0xdbf98030UL, 0x6345e755UL, 0x6b3fa09cUL, 0xd383c7f9UL, 0xc1366817UL, - 0x798a0f72UL, 0xe45d37cbUL, 0x5ce150aeUL, 0x4e54ff40UL, 0xf6e89825UL, - 0xae8b8873UL, 0x1637ef16UL, 0x048240f8UL, 0xbc3e279dUL, 0x21e91f24UL, - 0x99557841UL, 0x8be0d7afUL, 0x335cb0caUL, 0xed59b63bUL, 0x55e5d15eUL, - 0x47507eb0UL, 0xffec19d5UL, 0x623b216cUL, 0xda874609UL, 0xc832e9e7UL, - 0x708e8e82UL, 0x28ed9ed4UL, 0x9051f9b1UL, 0x82e4565fUL, 0x3a58313aUL, - 0xa78f0983UL, 0x1f336ee6UL, 0x0d86c108UL, 0xb53aa66dUL, 0xbd40e1a4UL, - 0x05fc86c1UL, 0x1749292fUL, 0xaff54e4aUL, 0x322276f3UL, 0x8a9e1196UL, - 0x982bbe78UL, 0x2097d91dUL, 0x78f4c94bUL, 0xc048ae2eUL, 0xd2fd01c0UL, - 0x6a4166a5UL, 0xf7965e1cUL, 0x4f2a3979UL, 0x5d9f9697UL, 0xe523f1f2UL, - 0x4d6b1905UL, 0xf5d77e60UL, 0xe762d18eUL, 0x5fdeb6ebUL, 0xc2098e52UL, - 0x7ab5e937UL, 0x680046d9UL, 0xd0bc21bcUL, 0x88df31eaUL, 0x3063568fUL, - 0x22d6f961UL, 0x9a6a9e04UL, 0x07bda6bdUL, 0xbf01c1d8UL, 0xadb46e36UL, - 0x15080953UL, 0x1d724e9aUL, 0xa5ce29ffUL, 0xb77b8611UL, 0x0fc7e174UL, - 0x9210d9cdUL, 0x2aacbea8UL, 0x38191146UL, 0x80a57623UL, 0xd8c66675UL, - 0x607a0110UL, 0x72cfaefeUL, 0xca73c99bUL, 0x57a4f122UL, 0xef189647UL, - 0xfdad39a9UL, 0x45115eccUL, 0x764dee06UL, 0xcef18963UL, 0xdc44268dUL, - 0x64f841e8UL, 0xf92f7951UL, 0x41931e34UL, 0x5326b1daUL, 0xeb9ad6bfUL, - 0xb3f9c6e9UL, 0x0b45a18cUL, 0x19f00e62UL, 0xa14c6907UL, 0x3c9b51beUL, - 0x842736dbUL, 0x96929935UL, 0x2e2efe50UL, 0x2654b999UL, 0x9ee8defcUL, - 0x8c5d7112UL, 0x34e11677UL, 0xa9362eceUL, 0x118a49abUL, 0x033fe645UL, - 0xbb838120UL, 0xe3e09176UL, 0x5b5cf613UL, 0x49e959fdUL, 0xf1553e98UL, - 0x6c820621UL, 0xd43e6144UL, 0xc68bceaaUL, 0x7e37a9cfUL, 0xd67f4138UL, - 0x6ec3265dUL, 0x7c7689b3UL, 0xc4caeed6UL, 0x591dd66fUL, 0xe1a1b10aUL, - 0xf3141ee4UL, 0x4ba87981UL, 0x13cb69d7UL, 0xab770eb2UL, 0xb9c2a15cUL, - 0x017ec639UL, 0x9ca9fe80UL, 0x241599e5UL, 0x36a0360bUL, 0x8e1c516eUL, - 0x866616a7UL, 0x3eda71c2UL, 0x2c6fde2cUL, 0x94d3b949UL, 0x090481f0UL, - 0xb1b8e695UL, 0xa30d497bUL, 0x1bb12e1eUL, 0x43d23e48UL, 0xfb6e592dUL, - 0xe9dbf6c3UL, 0x516791a6UL, 0xccb0a91fUL, 0x740cce7aUL, 0x66b96194UL, - 0xde0506f1UL - }, - { - 0x00000000UL, 0x96300777UL, 0x2c610eeeUL, 0xba510999UL, 0x19c46d07UL, - 0x8ff46a70UL, 0x35a563e9UL, 0xa395649eUL, 0x3288db0eUL, 0xa4b8dc79UL, - 0x1ee9d5e0UL, 0x88d9d297UL, 0x2b4cb609UL, 0xbd7cb17eUL, 0x072db8e7UL, - 0x911dbf90UL, 0x6410b71dUL, 0xf220b06aUL, 0x4871b9f3UL, 0xde41be84UL, - 0x7dd4da1aUL, 0xebe4dd6dUL, 0x51b5d4f4UL, 0xc785d383UL, 0x56986c13UL, - 0xc0a86b64UL, 0x7af962fdUL, 0xecc9658aUL, 0x4f5c0114UL, 0xd96c0663UL, - 0x633d0ffaUL, 0xf50d088dUL, 0xc8206e3bUL, 0x5e10694cUL, 0xe44160d5UL, - 0x727167a2UL, 0xd1e4033cUL, 0x47d4044bUL, 0xfd850dd2UL, 0x6bb50aa5UL, - 0xfaa8b535UL, 0x6c98b242UL, 0xd6c9bbdbUL, 0x40f9bcacUL, 0xe36cd832UL, - 0x755cdf45UL, 0xcf0dd6dcUL, 0x593dd1abUL, 0xac30d926UL, 0x3a00de51UL, - 0x8051d7c8UL, 0x1661d0bfUL, 0xb5f4b421UL, 0x23c4b356UL, 0x9995bacfUL, - 0x0fa5bdb8UL, 0x9eb80228UL, 0x0888055fUL, 0xb2d90cc6UL, 0x24e90bb1UL, - 0x877c6f2fUL, 0x114c6858UL, 0xab1d61c1UL, 0x3d2d66b6UL, 0x9041dc76UL, - 0x0671db01UL, 0xbc20d298UL, 0x2a10d5efUL, 0x8985b171UL, 0x1fb5b606UL, - 0xa5e4bf9fUL, 0x33d4b8e8UL, 0xa2c90778UL, 0x34f9000fUL, 0x8ea80996UL, - 0x18980ee1UL, 0xbb0d6a7fUL, 0x2d3d6d08UL, 0x976c6491UL, 0x015c63e6UL, - 0xf4516b6bUL, 0x62616c1cUL, 0xd8306585UL, 0x4e0062f2UL, 0xed95066cUL, - 0x7ba5011bUL, 0xc1f40882UL, 0x57c40ff5UL, 0xc6d9b065UL, 0x50e9b712UL, - 0xeab8be8bUL, 0x7c88b9fcUL, 0xdf1ddd62UL, 0x492dda15UL, 0xf37cd38cUL, - 0x654cd4fbUL, 0x5861b24dUL, 0xce51b53aUL, 0x7400bca3UL, 0xe230bbd4UL, - 0x41a5df4aUL, 0xd795d83dUL, 0x6dc4d1a4UL, 0xfbf4d6d3UL, 0x6ae96943UL, - 0xfcd96e34UL, 0x468867adUL, 0xd0b860daUL, 0x732d0444UL, 0xe51d0333UL, - 0x5f4c0aaaUL, 0xc97c0dddUL, 0x3c710550UL, 0xaa410227UL, 0x10100bbeUL, - 0x86200cc9UL, 0x25b56857UL, 0xb3856f20UL, 0x09d466b9UL, 0x9fe461ceUL, - 0x0ef9de5eUL, 0x98c9d929UL, 0x2298d0b0UL, 0xb4a8d7c7UL, 0x173db359UL, - 0x810db42eUL, 0x3b5cbdb7UL, 0xad6cbac0UL, 0x2083b8edUL, 0xb6b3bf9aUL, - 0x0ce2b603UL, 0x9ad2b174UL, 0x3947d5eaUL, 0xaf77d29dUL, 0x1526db04UL, - 0x8316dc73UL, 0x120b63e3UL, 0x843b6494UL, 0x3e6a6d0dUL, 0xa85a6a7aUL, - 0x0bcf0ee4UL, 0x9dff0993UL, 0x27ae000aUL, 0xb19e077dUL, 0x44930ff0UL, - 0xd2a30887UL, 0x68f2011eUL, 0xfec20669UL, 0x5d5762f7UL, 0xcb676580UL, - 0x71366c19UL, 0xe7066b6eUL, 0x761bd4feUL, 0xe02bd389UL, 0x5a7ada10UL, - 0xcc4add67UL, 0x6fdfb9f9UL, 0xf9efbe8eUL, 0x43beb717UL, 0xd58eb060UL, - 0xe8a3d6d6UL, 0x7e93d1a1UL, 0xc4c2d838UL, 0x52f2df4fUL, 0xf167bbd1UL, - 0x6757bca6UL, 0xdd06b53fUL, 0x4b36b248UL, 0xda2b0dd8UL, 0x4c1b0aafUL, - 0xf64a0336UL, 0x607a0441UL, 0xc3ef60dfUL, 0x55df67a8UL, 0xef8e6e31UL, - 0x79be6946UL, 0x8cb361cbUL, 0x1a8366bcUL, 0xa0d26f25UL, 0x36e26852UL, - 0x95770cccUL, 0x03470bbbUL, 0xb9160222UL, 0x2f260555UL, 0xbe3bbac5UL, - 0x280bbdb2UL, 0x925ab42bUL, 0x046ab35cUL, 0xa7ffd7c2UL, 0x31cfd0b5UL, - 0x8b9ed92cUL, 0x1daede5bUL, 0xb0c2649bUL, 0x26f263ecUL, 0x9ca36a75UL, - 0x0a936d02UL, 0xa906099cUL, 0x3f360eebUL, 0x85670772UL, 0x13570005UL, - 0x824abf95UL, 0x147ab8e2UL, 0xae2bb17bUL, 0x381bb60cUL, 0x9b8ed292UL, - 0x0dbed5e5UL, 0xb7efdc7cUL, 0x21dfdb0bUL, 0xd4d2d386UL, 0x42e2d4f1UL, - 0xf8b3dd68UL, 0x6e83da1fUL, 0xcd16be81UL, 0x5b26b9f6UL, 0xe177b06fUL, - 0x7747b718UL, 0xe65a0888UL, 0x706a0fffUL, 0xca3b0666UL, 0x5c0b0111UL, - 0xff9e658fUL, 0x69ae62f8UL, 0xd3ff6b61UL, 0x45cf6c16UL, 0x78e20aa0UL, - 0xeed20dd7UL, 0x5483044eUL, 0xc2b30339UL, 0x612667a7UL, 0xf71660d0UL, - 0x4d476949UL, 0xdb776e3eUL, 0x4a6ad1aeUL, 0xdc5ad6d9UL, 0x660bdf40UL, - 0xf03bd837UL, 0x53aebca9UL, 0xc59ebbdeUL, 0x7fcfb247UL, 0xe9ffb530UL, - 0x1cf2bdbdUL, 0x8ac2bacaUL, 0x3093b353UL, 0xa6a3b424UL, 0x0536d0baUL, - 0x9306d7cdUL, 0x2957de54UL, 0xbf67d923UL, 0x2e7a66b3UL, 0xb84a61c4UL, - 0x021b685dUL, 0x942b6f2aUL, 0x37be0bb4UL, 0xa18e0cc3UL, 0x1bdf055aUL, - 0x8def022dUL - }, - { - 0x00000000UL, 0x41311b19UL, 0x82623632UL, 0xc3532d2bUL, 0x04c56c64UL, - 0x45f4777dUL, 0x86a75a56UL, 0xc796414fUL, 0x088ad9c8UL, 0x49bbc2d1UL, - 0x8ae8effaUL, 0xcbd9f4e3UL, 0x0c4fb5acUL, 0x4d7eaeb5UL, 0x8e2d839eUL, - 0xcf1c9887UL, 0x5112c24aUL, 0x1023d953UL, 0xd370f478UL, 0x9241ef61UL, - 0x55d7ae2eUL, 0x14e6b537UL, 0xd7b5981cUL, 0x96848305UL, 0x59981b82UL, - 0x18a9009bUL, 0xdbfa2db0UL, 0x9acb36a9UL, 0x5d5d77e6UL, 0x1c6c6cffUL, - 0xdf3f41d4UL, 0x9e0e5acdUL, 0xa2248495UL, 0xe3159f8cUL, 0x2046b2a7UL, - 0x6177a9beUL, 0xa6e1e8f1UL, 0xe7d0f3e8UL, 0x2483dec3UL, 0x65b2c5daUL, - 0xaaae5d5dUL, 0xeb9f4644UL, 0x28cc6b6fUL, 0x69fd7076UL, 0xae6b3139UL, - 0xef5a2a20UL, 0x2c09070bUL, 0x6d381c12UL, 0xf33646dfUL, 0xb2075dc6UL, - 0x715470edUL, 0x30656bf4UL, 0xf7f32abbUL, 0xb6c231a2UL, 0x75911c89UL, - 0x34a00790UL, 0xfbbc9f17UL, 0xba8d840eUL, 0x79dea925UL, 0x38efb23cUL, - 0xff79f373UL, 0xbe48e86aUL, 0x7d1bc541UL, 0x3c2ade58UL, 0x054f79f0UL, - 0x447e62e9UL, 0x872d4fc2UL, 0xc61c54dbUL, 0x018a1594UL, 0x40bb0e8dUL, - 0x83e823a6UL, 0xc2d938bfUL, 0x0dc5a038UL, 0x4cf4bb21UL, 0x8fa7960aUL, - 0xce968d13UL, 0x0900cc5cUL, 0x4831d745UL, 0x8b62fa6eUL, 0xca53e177UL, - 0x545dbbbaUL, 0x156ca0a3UL, 0xd63f8d88UL, 0x970e9691UL, 0x5098d7deUL, - 0x11a9ccc7UL, 0xd2fae1ecUL, 0x93cbfaf5UL, 0x5cd76272UL, 0x1de6796bUL, - 0xdeb55440UL, 0x9f844f59UL, 0x58120e16UL, 0x1923150fUL, 0xda703824UL, - 0x9b41233dUL, 0xa76bfd65UL, 0xe65ae67cUL, 0x2509cb57UL, 0x6438d04eUL, - 0xa3ae9101UL, 0xe29f8a18UL, 0x21cca733UL, 0x60fdbc2aUL, 0xafe124adUL, - 0xeed03fb4UL, 0x2d83129fUL, 0x6cb20986UL, 0xab2448c9UL, 0xea1553d0UL, - 0x29467efbUL, 0x687765e2UL, 0xf6793f2fUL, 0xb7482436UL, 0x741b091dUL, - 0x352a1204UL, 0xf2bc534bUL, 0xb38d4852UL, 0x70de6579UL, 0x31ef7e60UL, - 0xfef3e6e7UL, 0xbfc2fdfeUL, 0x7c91d0d5UL, 0x3da0cbccUL, 0xfa368a83UL, - 0xbb07919aUL, 0x7854bcb1UL, 0x3965a7a8UL, 0x4b98833bUL, 0x0aa99822UL, - 0xc9fab509UL, 0x88cbae10UL, 0x4f5def5fUL, 0x0e6cf446UL, 0xcd3fd96dUL, - 0x8c0ec274UL, 0x43125af3UL, 0x022341eaUL, 0xc1706cc1UL, 0x804177d8UL, - 0x47d73697UL, 0x06e62d8eUL, 0xc5b500a5UL, 0x84841bbcUL, 0x1a8a4171UL, - 0x5bbb5a68UL, 0x98e87743UL, 0xd9d96c5aUL, 0x1e4f2d15UL, 0x5f7e360cUL, - 0x9c2d1b27UL, 0xdd1c003eUL, 0x120098b9UL, 0x533183a0UL, 0x9062ae8bUL, - 0xd153b592UL, 0x16c5f4ddUL, 0x57f4efc4UL, 0x94a7c2efUL, 0xd596d9f6UL, - 0xe9bc07aeUL, 0xa88d1cb7UL, 0x6bde319cUL, 0x2aef2a85UL, 0xed796bcaUL, - 0xac4870d3UL, 0x6f1b5df8UL, 0x2e2a46e1UL, 0xe136de66UL, 0xa007c57fUL, - 0x6354e854UL, 0x2265f34dUL, 0xe5f3b202UL, 0xa4c2a91bUL, 0x67918430UL, - 0x26a09f29UL, 0xb8aec5e4UL, 0xf99fdefdUL, 0x3accf3d6UL, 0x7bfde8cfUL, - 0xbc6ba980UL, 0xfd5ab299UL, 0x3e099fb2UL, 0x7f3884abUL, 0xb0241c2cUL, - 0xf1150735UL, 0x32462a1eUL, 0x73773107UL, 0xb4e17048UL, 0xf5d06b51UL, - 0x3683467aUL, 0x77b25d63UL, 0x4ed7facbUL, 0x0fe6e1d2UL, 0xccb5ccf9UL, - 0x8d84d7e0UL, 0x4a1296afUL, 0x0b238db6UL, 0xc870a09dUL, 0x8941bb84UL, - 0x465d2303UL, 0x076c381aUL, 0xc43f1531UL, 0x850e0e28UL, 0x42984f67UL, - 0x03a9547eUL, 0xc0fa7955UL, 0x81cb624cUL, 0x1fc53881UL, 0x5ef42398UL, - 0x9da70eb3UL, 0xdc9615aaUL, 0x1b0054e5UL, 0x5a314ffcUL, 0x996262d7UL, - 0xd85379ceUL, 0x174fe149UL, 0x567efa50UL, 0x952dd77bUL, 0xd41ccc62UL, - 0x138a8d2dUL, 0x52bb9634UL, 0x91e8bb1fUL, 0xd0d9a006UL, 0xecf37e5eUL, - 0xadc26547UL, 0x6e91486cUL, 0x2fa05375UL, 0xe836123aUL, 0xa9070923UL, - 0x6a542408UL, 0x2b653f11UL, 0xe479a796UL, 0xa548bc8fUL, 0x661b91a4UL, - 0x272a8abdUL, 0xe0bccbf2UL, 0xa18dd0ebUL, 0x62defdc0UL, 0x23efe6d9UL, - 0xbde1bc14UL, 0xfcd0a70dUL, 0x3f838a26UL, 0x7eb2913fUL, 0xb924d070UL, - 0xf815cb69UL, 0x3b46e642UL, 0x7a77fd5bUL, 0xb56b65dcUL, 0xf45a7ec5UL, - 0x370953eeUL, 0x763848f7UL, 0xb1ae09b8UL, 0xf09f12a1UL, 0x33cc3f8aUL, - 0x72fd2493UL - }, - { - 0x00000000UL, 0x376ac201UL, 0x6ed48403UL, 0x59be4602UL, 0xdca80907UL, - 0xebc2cb06UL, 0xb27c8d04UL, 0x85164f05UL, 0xb851130eUL, 0x8f3bd10fUL, - 0xd685970dUL, 0xe1ef550cUL, 0x64f91a09UL, 0x5393d808UL, 0x0a2d9e0aUL, - 0x3d475c0bUL, 0x70a3261cUL, 0x47c9e41dUL, 0x1e77a21fUL, 0x291d601eUL, - 0xac0b2f1bUL, 0x9b61ed1aUL, 0xc2dfab18UL, 0xf5b56919UL, 0xc8f23512UL, - 0xff98f713UL, 0xa626b111UL, 0x914c7310UL, 0x145a3c15UL, 0x2330fe14UL, - 0x7a8eb816UL, 0x4de47a17UL, 0xe0464d38UL, 0xd72c8f39UL, 0x8e92c93bUL, - 0xb9f80b3aUL, 0x3cee443fUL, 0x0b84863eUL, 0x523ac03cUL, 0x6550023dUL, - 0x58175e36UL, 0x6f7d9c37UL, 0x36c3da35UL, 0x01a91834UL, 0x84bf5731UL, - 0xb3d59530UL, 0xea6bd332UL, 0xdd011133UL, 0x90e56b24UL, 0xa78fa925UL, - 0xfe31ef27UL, 0xc95b2d26UL, 0x4c4d6223UL, 0x7b27a022UL, 0x2299e620UL, - 0x15f32421UL, 0x28b4782aUL, 0x1fdeba2bUL, 0x4660fc29UL, 0x710a3e28UL, - 0xf41c712dUL, 0xc376b32cUL, 0x9ac8f52eUL, 0xada2372fUL, 0xc08d9a70UL, - 0xf7e75871UL, 0xae591e73UL, 0x9933dc72UL, 0x1c259377UL, 0x2b4f5176UL, - 0x72f11774UL, 0x459bd575UL, 0x78dc897eUL, 0x4fb64b7fUL, 0x16080d7dUL, - 0x2162cf7cUL, 0xa4748079UL, 0x931e4278UL, 0xcaa0047aUL, 0xfdcac67bUL, - 0xb02ebc6cUL, 0x87447e6dUL, 0xdefa386fUL, 0xe990fa6eUL, 0x6c86b56bUL, - 0x5bec776aUL, 0x02523168UL, 0x3538f369UL, 0x087faf62UL, 0x3f156d63UL, - 0x66ab2b61UL, 0x51c1e960UL, 0xd4d7a665UL, 0xe3bd6464UL, 0xba032266UL, - 0x8d69e067UL, 0x20cbd748UL, 0x17a11549UL, 0x4e1f534bUL, 0x7975914aUL, - 0xfc63de4fUL, 0xcb091c4eUL, 0x92b75a4cUL, 0xa5dd984dUL, 0x989ac446UL, - 0xaff00647UL, 0xf64e4045UL, 0xc1248244UL, 0x4432cd41UL, 0x73580f40UL, - 0x2ae64942UL, 0x1d8c8b43UL, 0x5068f154UL, 0x67023355UL, 0x3ebc7557UL, - 0x09d6b756UL, 0x8cc0f853UL, 0xbbaa3a52UL, 0xe2147c50UL, 0xd57ebe51UL, - 0xe839e25aUL, 0xdf53205bUL, 0x86ed6659UL, 0xb187a458UL, 0x3491eb5dUL, - 0x03fb295cUL, 0x5a456f5eUL, 0x6d2fad5fUL, 0x801b35e1UL, 0xb771f7e0UL, - 0xeecfb1e2UL, 0xd9a573e3UL, 0x5cb33ce6UL, 0x6bd9fee7UL, 0x3267b8e5UL, - 0x050d7ae4UL, 0x384a26efUL, 0x0f20e4eeUL, 0x569ea2ecUL, 0x61f460edUL, - 0xe4e22fe8UL, 0xd388ede9UL, 0x8a36abebUL, 0xbd5c69eaUL, 0xf0b813fdUL, - 0xc7d2d1fcUL, 0x9e6c97feUL, 0xa90655ffUL, 0x2c101afaUL, 0x1b7ad8fbUL, - 0x42c49ef9UL, 0x75ae5cf8UL, 0x48e900f3UL, 0x7f83c2f2UL, 0x263d84f0UL, - 0x115746f1UL, 0x944109f4UL, 0xa32bcbf5UL, 0xfa958df7UL, 0xcdff4ff6UL, - 0x605d78d9UL, 0x5737bad8UL, 0x0e89fcdaUL, 0x39e33edbUL, 0xbcf571deUL, - 0x8b9fb3dfUL, 0xd221f5ddUL, 0xe54b37dcUL, 0xd80c6bd7UL, 0xef66a9d6UL, - 0xb6d8efd4UL, 0x81b22dd5UL, 0x04a462d0UL, 0x33cea0d1UL, 0x6a70e6d3UL, - 0x5d1a24d2UL, 0x10fe5ec5UL, 0x27949cc4UL, 0x7e2adac6UL, 0x494018c7UL, - 0xcc5657c2UL, 0xfb3c95c3UL, 0xa282d3c1UL, 0x95e811c0UL, 0xa8af4dcbUL, - 0x9fc58fcaUL, 0xc67bc9c8UL, 0xf1110bc9UL, 0x740744ccUL, 0x436d86cdUL, - 0x1ad3c0cfUL, 0x2db902ceUL, 0x4096af91UL, 0x77fc6d90UL, 0x2e422b92UL, - 0x1928e993UL, 0x9c3ea696UL, 0xab546497UL, 0xf2ea2295UL, 0xc580e094UL, - 0xf8c7bc9fUL, 0xcfad7e9eUL, 0x9613389cUL, 0xa179fa9dUL, 0x246fb598UL, - 0x13057799UL, 0x4abb319bUL, 0x7dd1f39aUL, 0x3035898dUL, 0x075f4b8cUL, - 0x5ee10d8eUL, 0x698bcf8fUL, 0xec9d808aUL, 0xdbf7428bUL, 0x82490489UL, - 0xb523c688UL, 0x88649a83UL, 0xbf0e5882UL, 0xe6b01e80UL, 0xd1dadc81UL, - 0x54cc9384UL, 0x63a65185UL, 0x3a181787UL, 0x0d72d586UL, 0xa0d0e2a9UL, - 0x97ba20a8UL, 0xce0466aaUL, 0xf96ea4abUL, 0x7c78ebaeUL, 0x4b1229afUL, - 0x12ac6fadUL, 0x25c6adacUL, 0x1881f1a7UL, 0x2feb33a6UL, 0x765575a4UL, - 0x413fb7a5UL, 0xc429f8a0UL, 0xf3433aa1UL, 0xaafd7ca3UL, 0x9d97bea2UL, - 0xd073c4b5UL, 0xe71906b4UL, 0xbea740b6UL, 0x89cd82b7UL, 0x0cdbcdb2UL, - 0x3bb10fb3UL, 0x620f49b1UL, 0x55658bb0UL, 0x6822d7bbUL, 0x5f4815baUL, - 0x06f653b8UL, 0x319c91b9UL, 0xb48adebcUL, 0x83e01cbdUL, 0xda5e5abfUL, - 0xed3498beUL - }, - { - 0x00000000UL, 0x6567bcb8UL, 0x8bc809aaUL, 0xeeafb512UL, 0x5797628fUL, - 0x32f0de37UL, 0xdc5f6b25UL, 0xb938d79dUL, 0xef28b4c5UL, 0x8a4f087dUL, - 0x64e0bd6fUL, 0x018701d7UL, 0xb8bfd64aUL, 0xddd86af2UL, 0x3377dfe0UL, - 0x56106358UL, 0x9f571950UL, 0xfa30a5e8UL, 0x149f10faUL, 0x71f8ac42UL, - 0xc8c07bdfUL, 0xada7c767UL, 0x43087275UL, 0x266fcecdUL, 0x707fad95UL, - 0x1518112dUL, 0xfbb7a43fUL, 0x9ed01887UL, 0x27e8cf1aUL, 0x428f73a2UL, - 0xac20c6b0UL, 0xc9477a08UL, 0x3eaf32a0UL, 0x5bc88e18UL, 0xb5673b0aUL, - 0xd00087b2UL, 0x6938502fUL, 0x0c5fec97UL, 0xe2f05985UL, 0x8797e53dUL, - 0xd1878665UL, 0xb4e03addUL, 0x5a4f8fcfUL, 0x3f283377UL, 0x8610e4eaUL, - 0xe3775852UL, 0x0dd8ed40UL, 0x68bf51f8UL, 0xa1f82bf0UL, 0xc49f9748UL, - 0x2a30225aUL, 0x4f579ee2UL, 0xf66f497fUL, 0x9308f5c7UL, 0x7da740d5UL, - 0x18c0fc6dUL, 0x4ed09f35UL, 0x2bb7238dUL, 0xc518969fUL, 0xa07f2a27UL, - 0x1947fdbaUL, 0x7c204102UL, 0x928ff410UL, 0xf7e848a8UL, 0x3d58149bUL, - 0x583fa823UL, 0xb6901d31UL, 0xd3f7a189UL, 0x6acf7614UL, 0x0fa8caacUL, - 0xe1077fbeUL, 0x8460c306UL, 0xd270a05eUL, 0xb7171ce6UL, 0x59b8a9f4UL, - 0x3cdf154cUL, 0x85e7c2d1UL, 0xe0807e69UL, 0x0e2fcb7bUL, 0x6b4877c3UL, - 0xa20f0dcbUL, 0xc768b173UL, 0x29c70461UL, 0x4ca0b8d9UL, 0xf5986f44UL, - 0x90ffd3fcUL, 0x7e5066eeUL, 0x1b37da56UL, 0x4d27b90eUL, 0x284005b6UL, - 0xc6efb0a4UL, 0xa3880c1cUL, 0x1ab0db81UL, 0x7fd76739UL, 0x9178d22bUL, - 0xf41f6e93UL, 0x03f7263bUL, 0x66909a83UL, 0x883f2f91UL, 0xed589329UL, - 0x546044b4UL, 0x3107f80cUL, 0xdfa84d1eUL, 0xbacff1a6UL, 0xecdf92feUL, - 0x89b82e46UL, 0x67179b54UL, 0x027027ecUL, 0xbb48f071UL, 0xde2f4cc9UL, - 0x3080f9dbUL, 0x55e74563UL, 0x9ca03f6bUL, 0xf9c783d3UL, 0x176836c1UL, - 0x720f8a79UL, 0xcb375de4UL, 0xae50e15cUL, 0x40ff544eUL, 0x2598e8f6UL, - 0x73888baeUL, 0x16ef3716UL, 0xf8408204UL, 0x9d273ebcUL, 0x241fe921UL, - 0x41785599UL, 0xafd7e08bUL, 0xcab05c33UL, 0x3bb659edUL, 0x5ed1e555UL, - 0xb07e5047UL, 0xd519ecffUL, 0x6c213b62UL, 0x094687daUL, 0xe7e932c8UL, - 0x828e8e70UL, 0xd49eed28UL, 0xb1f95190UL, 0x5f56e482UL, 0x3a31583aUL, - 0x83098fa7UL, 0xe66e331fUL, 0x08c1860dUL, 0x6da63ab5UL, 0xa4e140bdUL, - 0xc186fc05UL, 0x2f294917UL, 0x4a4ef5afUL, 0xf3762232UL, 0x96119e8aUL, - 0x78be2b98UL, 0x1dd99720UL, 0x4bc9f478UL, 0x2eae48c0UL, 0xc001fdd2UL, - 0xa566416aUL, 0x1c5e96f7UL, 0x79392a4fUL, 0x97969f5dUL, 0xf2f123e5UL, - 0x05196b4dUL, 0x607ed7f5UL, 0x8ed162e7UL, 0xebb6de5fUL, 0x528e09c2UL, - 0x37e9b57aUL, 0xd9460068UL, 0xbc21bcd0UL, 0xea31df88UL, 0x8f566330UL, - 0x61f9d622UL, 0x049e6a9aUL, 0xbda6bd07UL, 0xd8c101bfUL, 0x366eb4adUL, - 0x53090815UL, 0x9a4e721dUL, 0xff29cea5UL, 0x11867bb7UL, 0x74e1c70fUL, - 0xcdd91092UL, 0xa8beac2aUL, 0x46111938UL, 0x2376a580UL, 0x7566c6d8UL, - 0x10017a60UL, 0xfeaecf72UL, 0x9bc973caUL, 0x22f1a457UL, 0x479618efUL, - 0xa939adfdUL, 0xcc5e1145UL, 0x06ee4d76UL, 0x6389f1ceUL, 0x8d2644dcUL, - 0xe841f864UL, 0x51792ff9UL, 0x341e9341UL, 0xdab12653UL, 0xbfd69aebUL, - 0xe9c6f9b3UL, 0x8ca1450bUL, 0x620ef019UL, 0x07694ca1UL, 0xbe519b3cUL, - 0xdb362784UL, 0x35999296UL, 0x50fe2e2eUL, 0x99b95426UL, 0xfcdee89eUL, - 0x12715d8cUL, 0x7716e134UL, 0xce2e36a9UL, 0xab498a11UL, 0x45e63f03UL, - 0x208183bbUL, 0x7691e0e3UL, 0x13f65c5bUL, 0xfd59e949UL, 0x983e55f1UL, - 0x2106826cUL, 0x44613ed4UL, 0xaace8bc6UL, 0xcfa9377eUL, 0x38417fd6UL, - 0x5d26c36eUL, 0xb389767cUL, 0xd6eecac4UL, 0x6fd61d59UL, 0x0ab1a1e1UL, - 0xe41e14f3UL, 0x8179a84bUL, 0xd769cb13UL, 0xb20e77abUL, 0x5ca1c2b9UL, - 0x39c67e01UL, 0x80fea99cUL, 0xe5991524UL, 0x0b36a036UL, 0x6e511c8eUL, - 0xa7166686UL, 0xc271da3eUL, 0x2cde6f2cUL, 0x49b9d394UL, 0xf0810409UL, - 0x95e6b8b1UL, 0x7b490da3UL, 0x1e2eb11bUL, 0x483ed243UL, 0x2d596efbUL, - 0xc3f6dbe9UL, 0xa6916751UL, 0x1fa9b0ccUL, 0x7ace0c74UL, 0x9461b966UL, - 0xf10605deUL -#endif - } -}; diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/deflate.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/deflate.c deleted file mode 100644 index 8bd480eb..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/deflate.c +++ /dev/null @@ -1,1965 +0,0 @@ -/* deflate.c -- compress data using the deflation algorithm - * Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* - * ALGORITHM - * - * The "deflation" process depends on being able to identify portions - * of the input text which are identical to earlier input (within a - * sliding window trailing behind the input currently being processed). - * - * The most straightforward technique turns out to be the fastest for - * most input files: try all possible matches and select the longest. - * The key feature of this algorithm is that insertions into the string - * dictionary are very simple and thus fast, and deletions are avoided - * completely. Insertions are performed at each input character, whereas - * string matches are performed only when the previous match ends. So it - * is preferable to spend more time in matches to allow very fast string - * insertions and avoid deletions. The matching algorithm for small - * strings is inspired from that of Rabin & Karp. A brute force approach - * is used to find longer strings when a small match has been found. - * A similar algorithm is used in comic (by Jan-Mark Wams) and freeze - * (by Leonid Broukhis). - * A previous version of this file used a more sophisticated algorithm - * (by Fiala and Greene) which is guaranteed to run in linear amortized - * time, but has a larger average cost, uses more memory and is patented. - * However the F&G algorithm may be faster for some highly redundant - * files if the parameter max_chain_length (described below) is too large. - * - * ACKNOWLEDGEMENTS - * - * The idea of lazy evaluation of matches is due to Jan-Mark Wams, and - * I found it in 'freeze' written by Leonid Broukhis. - * Thanks to many people for bug reports and testing. - * - * REFERENCES - * - * Deutsch, L.P.,"DEFLATE Compressed Data Format Specification". - * Available in http://tools.ietf.org/html/rfc1951 - * - * A description of the Rabin and Karp algorithm is given in the book - * "Algorithms" by R. Sedgewick, Addison-Wesley, p252. - * - * Fiala,E.R., and Greene,D.H. - * Data Compression with Finite Windows, Comm.ACM, 32,4 (1989) 490-595 - * - */ - -/* @(#) $Id$ */ - -#include "deflate.h" - -const char deflate_copyright[] = - " deflate 1.2.6 Copyright 1995-2012 Jean-loup Gailly and Mark Adler "; -/* - If you use the zlib library in a product, an acknowledgment is welcome - in the documentation of your product. If for some reason you cannot - include such an acknowledgment, I would appreciate that you keep this - copyright string in the executable of your product. - */ - -/* =========================================================================== - * Function prototypes. - */ -typedef enum { - need_more, /* block not completed, need more input or more output */ - block_done, /* block flush performed */ - finish_started, /* finish started, need only more output at next deflate */ - finish_done /* finish done, accept no more input or output */ -} block_state; - -typedef block_state (*compress_func) OF((deflate_state *s, int flush)); -/* Compression function. Returns the block state after the call. */ - -local void fill_window OF((deflate_state *s)); -local block_state deflate_stored OF((deflate_state *s, int flush)); -local block_state deflate_fast OF((deflate_state *s, int flush)); -#ifndef FASTEST -local block_state deflate_slow OF((deflate_state *s, int flush)); -#endif -local block_state deflate_rle OF((deflate_state *s, int flush)); -local block_state deflate_huff OF((deflate_state *s, int flush)); -local void lm_init OF((deflate_state *s)); -local void putShortMSB OF((deflate_state *s, uInt b)); -local void flush_pending OF((z_streamp strm)); -local int read_buf OF((z_streamp strm, Bytef *buf, unsigned size)); -#ifdef ASMV - void match_init OF((void)); /* asm code initialization */ - uInt longest_match OF((deflate_state *s, IPos cur_match)); -#else -local uInt longest_match OF((deflate_state *s, IPos cur_match)); -#endif - -#ifdef DEBUG -local void check_match OF((deflate_state *s, IPos start, IPos match, - int length)); -#endif - -/* =========================================================================== - * Local data - */ - -#define NIL 0 -/* Tail of hash chains */ - -#ifndef TOO_FAR -# define TOO_FAR 4096 -#endif -/* Matches of length 3 are discarded if their distance exceeds TOO_FAR */ - -/* Values for max_lazy_match, good_match and max_chain_length, depending on - * the desired pack level (0..9). The values given below have been tuned to - * exclude worst case performance for pathological files. Better values may be - * found for specific files. - */ -typedef struct config_s { - ush good_length; /* reduce lazy search above this match length */ - ush max_lazy; /* do not perform lazy search above this match length */ - ush nice_length; /* quit search above this match length */ - ush max_chain; - compress_func func; -} config; - -#ifdef FASTEST -local const config configuration_table[2] = { -/* good lazy nice chain */ -/* 0 */ {0, 0, 0, 0, deflate_stored}, /* store only */ -/* 1 */ {4, 4, 8, 4, deflate_fast}}; /* max speed, no lazy matches */ -#else -local const config configuration_table[10] = { -/* good lazy nice chain */ -/* 0 */ {0, 0, 0, 0, deflate_stored}, /* store only */ -/* 1 */ {4, 4, 8, 4, deflate_fast}, /* max speed, no lazy matches */ -/* 2 */ {4, 5, 16, 8, deflate_fast}, -/* 3 */ {4, 6, 32, 32, deflate_fast}, - -/* 4 */ {4, 4, 16, 16, deflate_slow}, /* lazy matches */ -/* 5 */ {8, 16, 32, 32, deflate_slow}, -/* 6 */ {8, 16, 128, 128, deflate_slow}, -/* 7 */ {8, 32, 128, 256, deflate_slow}, -/* 8 */ {32, 128, 258, 1024, deflate_slow}, -/* 9 */ {32, 258, 258, 4096, deflate_slow}}; /* max compression */ -#endif - -/* Note: the deflate() code requires max_lazy >= MIN_MATCH and max_chain >= 4 - * For deflate_fast() (levels <= 3) good is ignored and lazy has a different - * meaning. - */ - -#define EQUAL 0 -/* result of memcmp for equal strings */ - -#ifndef NO_DUMMY_DECL -struct static_tree_desc_s {int dummy;}; /* for buggy compilers */ -#endif - -/* rank Z_BLOCK between Z_NO_FLUSH and Z_PARTIAL_FLUSH */ -#define RANK(f) (((f) << 1) - ((f) > 4 ? 9 : 0)) - -/* =========================================================================== - * Update a hash value with the given input byte - * IN assertion: all calls to to UPDATE_HASH are made with consecutive - * input characters, so that a running hash key can be computed from the - * previous key instead of complete recalculation each time. - */ -#define UPDATE_HASH(s,h,c) (h = (((h)<hash_shift) ^ (c)) & s->hash_mask) - - -/* =========================================================================== - * Insert string str in the dictionary and set match_head to the previous head - * of the hash chain (the most recent string with same hash key). Return - * the previous length of the hash chain. - * If this file is compiled with -DFASTEST, the compression level is forced - * to 1, and no hash chains are maintained. - * IN assertion: all calls to to INSERT_STRING are made with consecutive - * input characters and the first MIN_MATCH bytes of str are valid - * (except for the last MIN_MATCH-1 bytes of the input file). - */ -#ifdef FASTEST -#define INSERT_STRING(s, str, match_head) \ - (UPDATE_HASH(s, s->ins_h, s->window[(str) + (MIN_MATCH-1)]), \ - match_head = s->head[s->ins_h], \ - s->head[s->ins_h] = (Pos)(str)) -#else -#define INSERT_STRING(s, str, match_head) \ - (UPDATE_HASH(s, s->ins_h, s->window[(str) + (MIN_MATCH-1)]), \ - match_head = s->prev[(str) & s->w_mask] = s->head[s->ins_h], \ - s->head[s->ins_h] = (Pos)(str)) -#endif - -/* =========================================================================== - * Initialize the hash table (avoiding 64K overflow for 16 bit systems). - * prev[] will be initialized on the fly. - */ -#define CLEAR_HASH(s) \ - s->head[s->hash_size-1] = NIL; \ - zmemzero((Bytef *)s->head, (unsigned)(s->hash_size-1)*sizeof(*s->head)); - -/* ========================================================================= */ -int ZEXPORT deflateInit_(strm, level, version, stream_size) - z_streamp strm; - int level; - const char *version; - int stream_size; -{ - return deflateInit2_(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, - Z_DEFAULT_STRATEGY, version, stream_size); - /* To do: ignore strm->next_in if we use it as window */ -} - -/* ========================================================================= */ -int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy, - version, stream_size) - z_streamp strm; - int level; - int method; - int windowBits; - int memLevel; - int strategy; - const char *version; - int stream_size; -{ - deflate_state *s; - int wrap = 1; - static const char my_version[] = ZLIB_VERSION; - - ushf *overlay; - /* We overlay pending_buf and d_buf+l_buf. This works since the average - * output size for (length,distance) codes is <= 24 bits. - */ - - if (version == Z_NULL || version[0] != my_version[0] || - stream_size != sizeof(z_stream)) { - return Z_VERSION_ERROR; - } - if (strm == Z_NULL) return Z_STREAM_ERROR; - - strm->msg = Z_NULL; - if (strm->zalloc == (alloc_func)0) { -#ifdef Z_SOLO - return Z_STREAM_ERROR; -#else - strm->zalloc = zcalloc; - strm->opaque = (voidpf)0; -#endif - } - if (strm->zfree == (free_func)0) -#ifdef Z_SOLO - return Z_STREAM_ERROR; -#else - strm->zfree = zcfree; -#endif - -#ifdef FASTEST - if (level != 0) level = 1; -#else - if (level == Z_DEFAULT_COMPRESSION) level = 6; -#endif - - if (windowBits < 0) { /* suppress zlib wrapper */ - wrap = 0; - windowBits = -windowBits; - } -#ifdef GZIP - else if (windowBits > 15) { - wrap = 2; /* write gzip wrapper instead */ - windowBits -= 16; - } -#endif - if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method != Z_DEFLATED || - windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || - strategy < 0 || strategy > Z_FIXED) { - return Z_STREAM_ERROR; - } - if (windowBits == 8) windowBits = 9; /* until 256-byte window bug fixed */ - s = (deflate_state *) ZALLOC(strm, 1, sizeof(deflate_state)); - if (s == Z_NULL) return Z_MEM_ERROR; - strm->state = (struct internal_state FAR *)s; - s->strm = strm; - - s->wrap = wrap; - s->gzhead = Z_NULL; - s->w_bits = windowBits; - s->w_size = 1 << s->w_bits; - s->w_mask = s->w_size - 1; - - s->hash_bits = memLevel + 7; - s->hash_size = 1 << s->hash_bits; - s->hash_mask = s->hash_size - 1; - s->hash_shift = ((s->hash_bits+MIN_MATCH-1)/MIN_MATCH); - - s->window = (Bytef *) ZALLOC(strm, s->w_size, 2*sizeof(Byte)); - s->prev = (Posf *) ZALLOC(strm, s->w_size, sizeof(Pos)); - s->head = (Posf *) ZALLOC(strm, s->hash_size, sizeof(Pos)); - - s->high_water = 0; /* nothing written to s->window yet */ - - s->lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */ - - overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2); - s->pending_buf = (uchf *) overlay; - s->pending_buf_size = (ulg)s->lit_bufsize * (sizeof(ush)+2L); - - if (s->window == Z_NULL || s->prev == Z_NULL || s->head == Z_NULL || - s->pending_buf == Z_NULL) { - s->status = FINISH_STATE; - strm->msg = (char*)ERR_MSG(Z_MEM_ERROR); - deflateEnd (strm); - return Z_MEM_ERROR; - } - s->d_buf = overlay + s->lit_bufsize/sizeof(ush); - s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize; - - s->level = level; - s->strategy = strategy; - s->method = (Byte)method; - - return deflateReset(strm); -} - -/* ========================================================================= */ -int ZEXPORT deflateSetDictionary (strm, dictionary, dictLength) - z_streamp strm; - const Bytef *dictionary; - uInt dictLength; -{ - deflate_state *s; - uInt str, n; - int wrap; - unsigned avail; - unsigned char *next; - - if (strm == Z_NULL || strm->state == Z_NULL || dictionary == Z_NULL) - return Z_STREAM_ERROR; - s = strm->state; - wrap = s->wrap; - if (wrap == 2 || (wrap == 1 && s->status != INIT_STATE) || s->lookahead) - return Z_STREAM_ERROR; - - /* when using zlib wrappers, compute Adler-32 for provided dictionary */ - if (wrap == 1) - strm->adler = adler32(strm->adler, dictionary, dictLength); - s->wrap = 0; /* avoid computing Adler-32 in read_buf */ - - /* if dictionary would fill window, just replace the history */ - if (dictLength >= s->w_size) { - if (wrap == 0) { /* already empty otherwise */ - CLEAR_HASH(s); - s->strstart = 0; - s->block_start = 0L; - s->insert = 0; - } - dictionary += dictLength - s->w_size; /* use the tail */ - dictLength = s->w_size; - } - - /* insert dictionary into window and hash */ - avail = strm->avail_in; - next = strm->next_in; - strm->avail_in = dictLength; - strm->next_in = (Bytef *)dictionary; - fill_window(s); - while (s->lookahead >= MIN_MATCH) { - str = s->strstart; - n = s->lookahead - (MIN_MATCH-1); - do { - UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); -#ifndef FASTEST - s->prev[str & s->w_mask] = s->head[s->ins_h]; -#endif - s->head[s->ins_h] = (Pos)str; - str++; - } while (--n); - s->strstart = str; - s->lookahead = MIN_MATCH-1; - fill_window(s); - } - s->strstart += s->lookahead; - s->block_start = (long)s->strstart; - s->insert = s->lookahead; - s->lookahead = 0; - s->match_length = s->prev_length = MIN_MATCH-1; - s->match_available = 0; - strm->next_in = next; - strm->avail_in = avail; - s->wrap = wrap; - return Z_OK; -} - -/* ========================================================================= */ -int ZEXPORT deflateResetKeep (strm) - z_streamp strm; -{ - deflate_state *s; - - if (strm == Z_NULL || strm->state == Z_NULL || - strm->zalloc == (alloc_func)0 || strm->zfree == (free_func)0) { - return Z_STREAM_ERROR; - } - - strm->total_in = strm->total_out = 0; - strm->msg = Z_NULL; /* use zfree if we ever allocate msg dynamically */ - strm->data_type = Z_UNKNOWN; - - s = (deflate_state *)strm->state; - s->pending = 0; - s->pending_out = s->pending_buf; - - if (s->wrap < 0) { - s->wrap = -s->wrap; /* was made negative by deflate(..., Z_FINISH); */ - } - s->status = s->wrap ? INIT_STATE : BUSY_STATE; - strm->adler = -#ifdef GZIP - s->wrap == 2 ? crc32(0L, Z_NULL, 0) : -#endif - adler32(0L, Z_NULL, 0); - s->last_flush = Z_NO_FLUSH; - - _tr_init(s); - - return Z_OK; -} - -/* ========================================================================= */ -int ZEXPORT deflateReset (strm) - z_streamp strm; -{ - int ret; - - ret = deflateResetKeep(strm); - if (ret == Z_OK) - lm_init(strm->state); - return ret; -} - -/* ========================================================================= */ -int ZEXPORT deflateSetHeader (strm, head) - z_streamp strm; - gz_headerp head; -{ - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - if (strm->state->wrap != 2) return Z_STREAM_ERROR; - strm->state->gzhead = head; - return Z_OK; -} - -/* ========================================================================= */ -int ZEXPORT deflatePending (strm, pending, bits) - unsigned *pending; - int *bits; - z_streamp strm; -{ - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - if (pending != Z_NULL) - *pending = strm->state->pending; - if (bits != Z_NULL) - *bits = strm->state->bi_valid; - return Z_OK; -} - -/* ========================================================================= */ -int ZEXPORT deflatePrime (strm, bits, value) - z_streamp strm; - int bits; - int value; -{ - deflate_state *s; - int put; - - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - s = strm->state; - if ((Bytef *)(s->d_buf) < s->pending_out + ((Buf_size + 7) >> 3)) - return Z_BUF_ERROR; - do { - put = Buf_size - s->bi_valid; - if (put > bits) - put = bits; - s->bi_buf |= (ush)((value & ((1 << put) - 1)) << s->bi_valid); - s->bi_valid += put; - _tr_flush_bits(s); - value >>= put; - bits -= put; - } while (bits); - return Z_OK; -} - -/* ========================================================================= */ -int ZEXPORT deflateParams(strm, level, strategy) - z_streamp strm; - int level; - int strategy; -{ - deflate_state *s; - compress_func func; - int err = Z_OK; - - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - s = strm->state; - -#ifdef FASTEST - if (level != 0) level = 1; -#else - if (level == Z_DEFAULT_COMPRESSION) level = 6; -#endif - if (level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED) { - return Z_STREAM_ERROR; - } - func = configuration_table[s->level].func; - - if ((strategy != s->strategy || func != configuration_table[level].func) && - strm->total_in != 0) { - /* Flush the last buffer: */ - err = deflate(strm, Z_BLOCK); - } - if (s->level != level) { - s->level = level; - s->max_lazy_match = configuration_table[level].max_lazy; - s->good_match = configuration_table[level].good_length; - s->nice_match = configuration_table[level].nice_length; - s->max_chain_length = configuration_table[level].max_chain; - } - s->strategy = strategy; - return err; -} - -/* ========================================================================= */ -int ZEXPORT deflateTune(strm, good_length, max_lazy, nice_length, max_chain) - z_streamp strm; - int good_length; - int max_lazy; - int nice_length; - int max_chain; -{ - deflate_state *s; - - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - s = strm->state; - s->good_match = good_length; - s->max_lazy_match = max_lazy; - s->nice_match = nice_length; - s->max_chain_length = max_chain; - return Z_OK; -} - -/* ========================================================================= - * For the default windowBits of 15 and memLevel of 8, this function returns - * a close to exact, as well as small, upper bound on the compressed size. - * They are coded as constants here for a reason--if the #define's are - * changed, then this function needs to be changed as well. The return - * value for 15 and 8 only works for those exact settings. - * - * For any setting other than those defaults for windowBits and memLevel, - * the value returned is a conservative worst case for the maximum expansion - * resulting from using fixed blocks instead of stored blocks, which deflate - * can emit on compressed data for some combinations of the parameters. - * - * This function could be more sophisticated to provide closer upper bounds for - * every combination of windowBits and memLevel. But even the conservative - * upper bound of about 14% expansion does not seem onerous for output buffer - * allocation. - */ -uLong ZEXPORT deflateBound(strm, sourceLen) - z_streamp strm; - uLong sourceLen; -{ - deflate_state *s; - uLong complen, wraplen; - Bytef *str; - - /* conservative upper bound for compressed data */ - complen = sourceLen + - ((sourceLen + 7) >> 3) + ((sourceLen + 63) >> 6) + 5; - - /* if can't get parameters, return conservative bound plus zlib wrapper */ - if (strm == Z_NULL || strm->state == Z_NULL) - return complen + 6; - - /* compute wrapper length */ - s = strm->state; - switch (s->wrap) { - case 0: /* raw deflate */ - wraplen = 0; - break; - case 1: /* zlib wrapper */ - wraplen = 6 + (s->strstart ? 4 : 0); - break; - case 2: /* gzip wrapper */ - wraplen = 18; - if (s->gzhead != Z_NULL) { /* user-supplied gzip header */ - if (s->gzhead->extra != Z_NULL) - wraplen += 2 + s->gzhead->extra_len; - str = s->gzhead->name; - if (str != Z_NULL) - do { - wraplen++; - } while (*str++); - str = s->gzhead->comment; - if (str != Z_NULL) - do { - wraplen++; - } while (*str++); - if (s->gzhead->hcrc) - wraplen += 2; - } - break; - default: /* for compiler happiness */ - wraplen = 6; - } - - /* if not default parameters, return conservative bound */ - if (s->w_bits != 15 || s->hash_bits != 8 + 7) - return complen + wraplen; - - /* default settings: return tight bound for that case */ - return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) + - (sourceLen >> 25) + 13 - 6 + wraplen; -} - -/* ========================================================================= - * Put a short in the pending buffer. The 16-bit value is put in MSB order. - * IN assertion: the stream state is correct and there is enough room in - * pending_buf. - */ -local void putShortMSB (s, b) - deflate_state *s; - uInt b; -{ - put_byte(s, (Byte)(b >> 8)); - put_byte(s, (Byte)(b & 0xff)); -} - -/* ========================================================================= - * Flush as much pending output as possible. All deflate() output goes - * through this function so some applications may wish to modify it - * to avoid allocating a large strm->next_out buffer and copying into it. - * (See also read_buf()). - */ -local void flush_pending(strm) - z_streamp strm; -{ - unsigned len; - deflate_state *s = strm->state; - - _tr_flush_bits(s); - len = s->pending; - if (len > strm->avail_out) len = strm->avail_out; - if (len == 0) return; - - zmemcpy(strm->next_out, s->pending_out, len); - strm->next_out += len; - s->pending_out += len; - strm->total_out += len; - strm->avail_out -= len; - s->pending -= len; - if (s->pending == 0) { - s->pending_out = s->pending_buf; - } -} - -/* ========================================================================= */ -int ZEXPORT deflate (strm, flush) - z_streamp strm; - int flush; -{ - int old_flush; /* value of flush param for previous deflate call */ - deflate_state *s; - - if (strm == Z_NULL || strm->state == Z_NULL || - flush > Z_BLOCK || flush < 0) { - return Z_STREAM_ERROR; - } - s = strm->state; - - if (strm->next_out == Z_NULL || - (strm->next_in == Z_NULL && strm->avail_in != 0) || - (s->status == FINISH_STATE && flush != Z_FINISH)) { - ERR_RETURN(strm, Z_STREAM_ERROR); - } - if (strm->avail_out == 0) ERR_RETURN(strm, Z_BUF_ERROR); - - s->strm = strm; /* just in case */ - old_flush = s->last_flush; - s->last_flush = flush; - - /* Write the header */ - if (s->status == INIT_STATE) { -#ifdef GZIP - if (s->wrap == 2) { - strm->adler = crc32(0L, Z_NULL, 0); - put_byte(s, 31); - put_byte(s, 139); - put_byte(s, 8); - if (s->gzhead == Z_NULL) { - put_byte(s, 0); - put_byte(s, 0); - put_byte(s, 0); - put_byte(s, 0); - put_byte(s, 0); - put_byte(s, s->level == 9 ? 2 : - (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2 ? - 4 : 0)); - put_byte(s, OS_CODE); - s->status = BUSY_STATE; - } - else { - put_byte(s, (s->gzhead->text ? 1 : 0) + - (s->gzhead->hcrc ? 2 : 0) + - (s->gzhead->extra == Z_NULL ? 0 : 4) + - (s->gzhead->name == Z_NULL ? 0 : 8) + - (s->gzhead->comment == Z_NULL ? 0 : 16) - ); - put_byte(s, (Byte)(s->gzhead->time & 0xff)); - put_byte(s, (Byte)((s->gzhead->time >> 8) & 0xff)); - put_byte(s, (Byte)((s->gzhead->time >> 16) & 0xff)); - put_byte(s, (Byte)((s->gzhead->time >> 24) & 0xff)); - put_byte(s, s->level == 9 ? 2 : - (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2 ? - 4 : 0)); - put_byte(s, s->gzhead->os & 0xff); - if (s->gzhead->extra != Z_NULL) { - put_byte(s, s->gzhead->extra_len & 0xff); - put_byte(s, (s->gzhead->extra_len >> 8) & 0xff); - } - if (s->gzhead->hcrc) - strm->adler = crc32(strm->adler, s->pending_buf, - s->pending); - s->gzindex = 0; - s->status = EXTRA_STATE; - } - } - else -#endif - { - uInt header = (Z_DEFLATED + ((s->w_bits-8)<<4)) << 8; - uInt level_flags; - - if (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2) - level_flags = 0; - else if (s->level < 6) - level_flags = 1; - else if (s->level == 6) - level_flags = 2; - else - level_flags = 3; - header |= (level_flags << 6); - if (s->strstart != 0) header |= PRESET_DICT; - header += 31 - (header % 31); - - s->status = BUSY_STATE; - putShortMSB(s, header); - - /* Save the adler32 of the preset dictionary: */ - if (s->strstart != 0) { - putShortMSB(s, (uInt)(strm->adler >> 16)); - putShortMSB(s, (uInt)(strm->adler & 0xffff)); - } - strm->adler = adler32(0L, Z_NULL, 0); - } - } -#ifdef GZIP - if (s->status == EXTRA_STATE) { - if (s->gzhead->extra != Z_NULL) { - uInt beg = s->pending; /* start of bytes to update crc */ - - while (s->gzindex < (s->gzhead->extra_len & 0xffff)) { - if (s->pending == s->pending_buf_size) { - if (s->gzhead->hcrc && s->pending > beg) - strm->adler = crc32(strm->adler, s->pending_buf + beg, - s->pending - beg); - flush_pending(strm); - beg = s->pending; - if (s->pending == s->pending_buf_size) - break; - } - put_byte(s, s->gzhead->extra[s->gzindex]); - s->gzindex++; - } - if (s->gzhead->hcrc && s->pending > beg) - strm->adler = crc32(strm->adler, s->pending_buf + beg, - s->pending - beg); - if (s->gzindex == s->gzhead->extra_len) { - s->gzindex = 0; - s->status = NAME_STATE; - } - } - else - s->status = NAME_STATE; - } - if (s->status == NAME_STATE) { - if (s->gzhead->name != Z_NULL) { - uInt beg = s->pending; /* start of bytes to update crc */ - int val; - - do { - if (s->pending == s->pending_buf_size) { - if (s->gzhead->hcrc && s->pending > beg) - strm->adler = crc32(strm->adler, s->pending_buf + beg, - s->pending - beg); - flush_pending(strm); - beg = s->pending; - if (s->pending == s->pending_buf_size) { - val = 1; - break; - } - } - val = s->gzhead->name[s->gzindex++]; - put_byte(s, val); - } while (val != 0); - if (s->gzhead->hcrc && s->pending > beg) - strm->adler = crc32(strm->adler, s->pending_buf + beg, - s->pending - beg); - if (val == 0) { - s->gzindex = 0; - s->status = COMMENT_STATE; - } - } - else - s->status = COMMENT_STATE; - } - if (s->status == COMMENT_STATE) { - if (s->gzhead->comment != Z_NULL) { - uInt beg = s->pending; /* start of bytes to update crc */ - int val; - - do { - if (s->pending == s->pending_buf_size) { - if (s->gzhead->hcrc && s->pending > beg) - strm->adler = crc32(strm->adler, s->pending_buf + beg, - s->pending - beg); - flush_pending(strm); - beg = s->pending; - if (s->pending == s->pending_buf_size) { - val = 1; - break; - } - } - val = s->gzhead->comment[s->gzindex++]; - put_byte(s, val); - } while (val != 0); - if (s->gzhead->hcrc && s->pending > beg) - strm->adler = crc32(strm->adler, s->pending_buf + beg, - s->pending - beg); - if (val == 0) - s->status = HCRC_STATE; - } - else - s->status = HCRC_STATE; - } - if (s->status == HCRC_STATE) { - if (s->gzhead->hcrc) { - if (s->pending + 2 > s->pending_buf_size) - flush_pending(strm); - if (s->pending + 2 <= s->pending_buf_size) { - put_byte(s, (Byte)(strm->adler & 0xff)); - put_byte(s, (Byte)((strm->adler >> 8) & 0xff)); - strm->adler = crc32(0L, Z_NULL, 0); - s->status = BUSY_STATE; - } - } - else - s->status = BUSY_STATE; - } -#endif - - /* Flush as much pending output as possible */ - if (s->pending != 0) { - flush_pending(strm); - if (strm->avail_out == 0) { - /* Since avail_out is 0, deflate will be called again with - * more output space, but possibly with both pending and - * avail_in equal to zero. There won't be anything to do, - * but this is not an error situation so make sure we - * return OK instead of BUF_ERROR at next call of deflate: - */ - s->last_flush = -1; - return Z_OK; - } - - /* Make sure there is something to do and avoid duplicate consecutive - * flushes. For repeated and useless calls with Z_FINISH, we keep - * returning Z_STREAM_END instead of Z_BUF_ERROR. - */ - } else if (strm->avail_in == 0 && RANK(flush) <= RANK(old_flush) && - flush != Z_FINISH) { - ERR_RETURN(strm, Z_BUF_ERROR); - } - - /* User must not provide more input after the first FINISH: */ - if (s->status == FINISH_STATE && strm->avail_in != 0) { - ERR_RETURN(strm, Z_BUF_ERROR); - } - - /* Start a new block or continue the current one. - */ - if (strm->avail_in != 0 || s->lookahead != 0 || - (flush != Z_NO_FLUSH && s->status != FINISH_STATE)) { - block_state bstate; - - bstate = s->strategy == Z_HUFFMAN_ONLY ? deflate_huff(s, flush) : - (s->strategy == Z_RLE ? deflate_rle(s, flush) : - (*(configuration_table[s->level].func))(s, flush)); - - if (bstate == finish_started || bstate == finish_done) { - s->status = FINISH_STATE; - } - if (bstate == need_more || bstate == finish_started) { - if (strm->avail_out == 0) { - s->last_flush = -1; /* avoid BUF_ERROR next call, see above */ - } - return Z_OK; - /* If flush != Z_NO_FLUSH && avail_out == 0, the next call - * of deflate should use the same flush parameter to make sure - * that the flush is complete. So we don't have to output an - * empty block here, this will be done at next call. This also - * ensures that for a very small output buffer, we emit at most - * one empty block. - */ - } - if (bstate == block_done) { - if (flush == Z_PARTIAL_FLUSH) { - _tr_align(s); - } else if (flush != Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */ - _tr_stored_block(s, (char*)0, 0L, 0); - /* For a full flush, this empty block will be recognized - * as a special marker by inflate_sync(). - */ - if (flush == Z_FULL_FLUSH) { - CLEAR_HASH(s); /* forget history */ - if (s->lookahead == 0) { - s->strstart = 0; - s->block_start = 0L; - s->insert = 0; - } - } - } - flush_pending(strm); - if (strm->avail_out == 0) { - s->last_flush = -1; /* avoid BUF_ERROR at next call, see above */ - return Z_OK; - } - } - } - Assert(strm->avail_out > 0, "bug2"); - - if (flush != Z_FINISH) return Z_OK; - if (s->wrap <= 0) return Z_STREAM_END; - - /* Write the trailer */ -#ifdef GZIP - if (s->wrap == 2) { - put_byte(s, (Byte)(strm->adler & 0xff)); - put_byte(s, (Byte)((strm->adler >> 8) & 0xff)); - put_byte(s, (Byte)((strm->adler >> 16) & 0xff)); - put_byte(s, (Byte)((strm->adler >> 24) & 0xff)); - put_byte(s, (Byte)(strm->total_in & 0xff)); - put_byte(s, (Byte)((strm->total_in >> 8) & 0xff)); - put_byte(s, (Byte)((strm->total_in >> 16) & 0xff)); - put_byte(s, (Byte)((strm->total_in >> 24) & 0xff)); - } - else -#endif - { - putShortMSB(s, (uInt)(strm->adler >> 16)); - putShortMSB(s, (uInt)(strm->adler & 0xffff)); - } - flush_pending(strm); - /* If avail_out is zero, the application will call deflate again - * to flush the rest. - */ - if (s->wrap > 0) s->wrap = -s->wrap; /* write the trailer only once! */ - return s->pending != 0 ? Z_OK : Z_STREAM_END; -} - -/* ========================================================================= */ -int ZEXPORT deflateEnd (strm) - z_streamp strm; -{ - int status; - - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - - status = strm->state->status; - if (status != INIT_STATE && - status != EXTRA_STATE && - status != NAME_STATE && - status != COMMENT_STATE && - status != HCRC_STATE && - status != BUSY_STATE && - status != FINISH_STATE) { - return Z_STREAM_ERROR; - } - - /* Deallocate in reverse order of allocations: */ - TRY_FREE(strm, strm->state->pending_buf); - TRY_FREE(strm, strm->state->head); - TRY_FREE(strm, strm->state->prev); - TRY_FREE(strm, strm->state->window); - - ZFREE(strm, strm->state); - strm->state = Z_NULL; - - return status == BUSY_STATE ? Z_DATA_ERROR : Z_OK; -} - -/* ========================================================================= - * Copy the source state to the destination state. - * To simplify the source, this is not supported for 16-bit MSDOS (which - * doesn't have enough memory anyway to duplicate compression states). - */ -int ZEXPORT deflateCopy (dest, source) - z_streamp dest; - z_streamp source; -{ -#ifdef MAXSEG_64K - return Z_STREAM_ERROR; -#else - deflate_state *ds; - deflate_state *ss; - ushf *overlay; - - - if (source == Z_NULL || dest == Z_NULL || source->state == Z_NULL) { - return Z_STREAM_ERROR; - } - - ss = source->state; - - zmemcpy((voidpf)dest, (voidpf)source, sizeof(z_stream)); - - ds = (deflate_state *) ZALLOC(dest, 1, sizeof(deflate_state)); - if (ds == Z_NULL) return Z_MEM_ERROR; - dest->state = (struct internal_state FAR *) ds; - zmemcpy((voidpf)ds, (voidpf)ss, sizeof(deflate_state)); - ds->strm = dest; - - ds->window = (Bytef *) ZALLOC(dest, ds->w_size, 2*sizeof(Byte)); - ds->prev = (Posf *) ZALLOC(dest, ds->w_size, sizeof(Pos)); - ds->head = (Posf *) ZALLOC(dest, ds->hash_size, sizeof(Pos)); - overlay = (ushf *) ZALLOC(dest, ds->lit_bufsize, sizeof(ush)+2); - ds->pending_buf = (uchf *) overlay; - - if (ds->window == Z_NULL || ds->prev == Z_NULL || ds->head == Z_NULL || - ds->pending_buf == Z_NULL) { - deflateEnd (dest); - return Z_MEM_ERROR; - } - /* following zmemcpy do not work for 16-bit MSDOS */ - zmemcpy(ds->window, ss->window, ds->w_size * 2 * sizeof(Byte)); - zmemcpy((voidpf)ds->prev, (voidpf)ss->prev, ds->w_size * sizeof(Pos)); - zmemcpy((voidpf)ds->head, (voidpf)ss->head, ds->hash_size * sizeof(Pos)); - zmemcpy(ds->pending_buf, ss->pending_buf, (uInt)ds->pending_buf_size); - - ds->pending_out = ds->pending_buf + (ss->pending_out - ss->pending_buf); - ds->d_buf = overlay + ds->lit_bufsize/sizeof(ush); - ds->l_buf = ds->pending_buf + (1+sizeof(ush))*ds->lit_bufsize; - - ds->l_desc.dyn_tree = ds->dyn_ltree; - ds->d_desc.dyn_tree = ds->dyn_dtree; - ds->bl_desc.dyn_tree = ds->bl_tree; - - return Z_OK; -#endif /* MAXSEG_64K */ -} - -/* =========================================================================== - * Read a new buffer from the current input stream, update the adler32 - * and total number of bytes read. All deflate() input goes through - * this function so some applications may wish to modify it to avoid - * allocating a large strm->next_in buffer and copying from it. - * (See also flush_pending()). - */ -local int read_buf(strm, buf, size) - z_streamp strm; - Bytef *buf; - unsigned size; -{ - unsigned len = strm->avail_in; - - if (len > size) len = size; - if (len == 0) return 0; - - strm->avail_in -= len; - - zmemcpy(buf, strm->next_in, len); - if (strm->state->wrap == 1) { - strm->adler = adler32(strm->adler, buf, len); - } -#ifdef GZIP - else if (strm->state->wrap == 2) { - strm->adler = crc32(strm->adler, buf, len); - } -#endif - strm->next_in += len; - strm->total_in += len; - - return (int)len; -} - -/* =========================================================================== - * Initialize the "longest match" routines for a new zlib stream - */ -local void lm_init (s) - deflate_state *s; -{ - s->window_size = (ulg)2L*s->w_size; - - CLEAR_HASH(s); - - /* Set the default configuration parameters: - */ - s->max_lazy_match = configuration_table[s->level].max_lazy; - s->good_match = configuration_table[s->level].good_length; - s->nice_match = configuration_table[s->level].nice_length; - s->max_chain_length = configuration_table[s->level].max_chain; - - s->strstart = 0; - s->block_start = 0L; - s->lookahead = 0; - s->insert = 0; - s->match_length = s->prev_length = MIN_MATCH-1; - s->match_available = 0; - s->ins_h = 0; -#ifndef FASTEST -#ifdef ASMV - match_init(); /* initialize the asm code */ -#endif -#endif -} - -#ifndef FASTEST -/* =========================================================================== - * Set match_start to the longest match starting at the given string and - * return its length. Matches shorter or equal to prev_length are discarded, - * in which case the result is equal to prev_length and match_start is - * garbage. - * IN assertions: cur_match is the head of the hash chain for the current - * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1 - * OUT assertion: the match length is not greater than s->lookahead. - */ -#ifndef ASMV -/* For 80x86 and 680x0, an optimized version will be provided in match.asm or - * match.S. The code will be functionally equivalent. - */ -local uInt longest_match(s, cur_match) - deflate_state *s; - IPos cur_match; /* current match */ -{ - unsigned chain_length = s->max_chain_length;/* max hash chain length */ - register Bytef *scan = s->window + s->strstart; /* current string */ - register Bytef *match; /* matched string */ - register int len; /* length of current match */ - int best_len = s->prev_length; /* best match length so far */ - int nice_match = s->nice_match; /* stop if match long enough */ - IPos limit = s->strstart > (IPos)MAX_DIST(s) ? - s->strstart - (IPos)MAX_DIST(s) : NIL; - /* Stop when cur_match becomes <= limit. To simplify the code, - * we prevent matches with the string of window index 0. - */ - Posf *prev = s->prev; - uInt wmask = s->w_mask; - -#ifdef UNALIGNED_OK - /* Compare two bytes at a time. Note: this is not always beneficial. - * Try with and without -DUNALIGNED_OK to check. - */ - register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1; - register ush scan_start = *(ushf*)scan; - register ush scan_end = *(ushf*)(scan+best_len-1); -#else - register Bytef *strend = s->window + s->strstart + MAX_MATCH; - register Byte scan_end1 = scan[best_len-1]; - register Byte scan_end = scan[best_len]; -#endif - - /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16. - * It is easy to get rid of this optimization if necessary. - */ - Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever"); - - /* Do not waste too much time if we already have a good match: */ - if (s->prev_length >= s->good_match) { - chain_length >>= 2; - } - /* Do not look for matches beyond the end of the input. This is necessary - * to make deflate deterministic. - */ - if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; - - Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead"); - - do { - Assert(cur_match < s->strstart, "no future"); - match = s->window + cur_match; - - /* Skip to next match if the match length cannot increase - * or if the match length is less than 2. Note that the checks below - * for insufficient lookahead only occur occasionally for performance - * reasons. Therefore uninitialized memory will be accessed, and - * conditional jumps will be made that depend on those values. - * However the length of the match is limited to the lookahead, so - * the output of deflate is not affected by the uninitialized values. - */ -#if (defined(UNALIGNED_OK) && MAX_MATCH == 258) - /* This code assumes sizeof(unsigned short) == 2. Do not use - * UNALIGNED_OK if your compiler uses a different size. - */ - if (*(ushf*)(match+best_len-1) != scan_end || - *(ushf*)match != scan_start) continue; - - /* It is not necessary to compare scan[2] and match[2] since they are - * always equal when the other bytes match, given that the hash keys - * are equal and that HASH_BITS >= 8. Compare 2 bytes at a time at - * strstart+3, +5, ... up to strstart+257. We check for insufficient - * lookahead only every 4th comparison; the 128th check will be made - * at strstart+257. If MAX_MATCH-2 is not a multiple of 8, it is - * necessary to put more guard bytes at the end of the window, or - * to check more often for insufficient lookahead. - */ - Assert(scan[2] == match[2], "scan[2]?"); - scan++, match++; - do { - } while (*(ushf*)(scan+=2) == *(ushf*)(match+=2) && - *(ushf*)(scan+=2) == *(ushf*)(match+=2) && - *(ushf*)(scan+=2) == *(ushf*)(match+=2) && - *(ushf*)(scan+=2) == *(ushf*)(match+=2) && - scan < strend); - /* The funny "do {}" generates better code on most compilers */ - - /* Here, scan <= window+strstart+257 */ - Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan"); - if (*scan == *match) scan++; - - len = (MAX_MATCH - 1) - (int)(strend-scan); - scan = strend - (MAX_MATCH-1); - -#else /* UNALIGNED_OK */ - - if (match[best_len] != scan_end || - match[best_len-1] != scan_end1 || - *match != *scan || - *++match != scan[1]) continue; - - /* The check at best_len-1 can be removed because it will be made - * again later. (This heuristic is not always a win.) - * It is not necessary to compare scan[2] and match[2] since they - * are always equal when the other bytes match, given that - * the hash keys are equal and that HASH_BITS >= 8. - */ - scan += 2, match++; - Assert(*scan == *match, "match[2]?"); - - /* We check for insufficient lookahead only every 8th comparison; - * the 256th check will be made at strstart+258. - */ - do { - } while (*++scan == *++match && *++scan == *++match && - *++scan == *++match && *++scan == *++match && - *++scan == *++match && *++scan == *++match && - *++scan == *++match && *++scan == *++match && - scan < strend); - - Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan"); - - len = MAX_MATCH - (int)(strend - scan); - scan = strend - MAX_MATCH; - -#endif /* UNALIGNED_OK */ - - if (len > best_len) { - s->match_start = cur_match; - best_len = len; - if (len >= nice_match) break; -#ifdef UNALIGNED_OK - scan_end = *(ushf*)(scan+best_len-1); -#else - scan_end1 = scan[best_len-1]; - scan_end = scan[best_len]; -#endif - } - } while ((cur_match = prev[cur_match & wmask]) > limit - && --chain_length != 0); - - if ((uInt)best_len <= s->lookahead) return (uInt)best_len; - return s->lookahead; -} -#endif /* ASMV */ - -#else /* FASTEST */ - -/* --------------------------------------------------------------------------- - * Optimized version for FASTEST only - */ -local uInt longest_match(s, cur_match) - deflate_state *s; - IPos cur_match; /* current match */ -{ - register Bytef *scan = s->window + s->strstart; /* current string */ - register Bytef *match; /* matched string */ - register int len; /* length of current match */ - register Bytef *strend = s->window + s->strstart + MAX_MATCH; - - /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16. - * It is easy to get rid of this optimization if necessary. - */ - Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever"); - - Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead"); - - Assert(cur_match < s->strstart, "no future"); - - match = s->window + cur_match; - - /* Return failure if the match length is less than 2: - */ - if (match[0] != scan[0] || match[1] != scan[1]) return MIN_MATCH-1; - - /* The check at best_len-1 can be removed because it will be made - * again later. (This heuristic is not always a win.) - * It is not necessary to compare scan[2] and match[2] since they - * are always equal when the other bytes match, given that - * the hash keys are equal and that HASH_BITS >= 8. - */ - scan += 2, match += 2; - Assert(*scan == *match, "match[2]?"); - - /* We check for insufficient lookahead only every 8th comparison; - * the 256th check will be made at strstart+258. - */ - do { - } while (*++scan == *++match && *++scan == *++match && - *++scan == *++match && *++scan == *++match && - *++scan == *++match && *++scan == *++match && - *++scan == *++match && *++scan == *++match && - scan < strend); - - Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan"); - - len = MAX_MATCH - (int)(strend - scan); - - if (len < MIN_MATCH) return MIN_MATCH - 1; - - s->match_start = cur_match; - return (uInt)len <= s->lookahead ? (uInt)len : s->lookahead; -} - -#endif /* FASTEST */ - -#ifdef DEBUG -/* =========================================================================== - * Check that the match at match_start is indeed a match. - */ -local void check_match(s, start, match, length) - deflate_state *s; - IPos start, match; - int length; -{ - /* check that the match is indeed a match */ - if (zmemcmp(s->window + match, - s->window + start, length) != EQUAL) { - fprintf(stderr, " start %u, match %u, length %d\n", - start, match, length); - do { - fprintf(stderr, "%c%c", s->window[match++], s->window[start++]); - } while (--length != 0); - z_error("invalid match"); - } - if (z_verbose > 1) { - fprintf(stderr,"\\[%d,%d]", start-match, length); - do { putc(s->window[start++], stderr); } while (--length != 0); - } -} -#else -# define check_match(s, start, match, length) -#endif /* DEBUG */ - -/* =========================================================================== - * Fill the window when the lookahead becomes insufficient. - * Updates strstart and lookahead. - * - * IN assertion: lookahead < MIN_LOOKAHEAD - * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD - * At least one byte has been read, or avail_in == 0; reads are - * performed for at least two bytes (required for the zip translate_eol - * option -- not supported here). - */ -local void fill_window(s) - deflate_state *s; -{ - register unsigned n, m; - register Posf *p; - unsigned more; /* Amount of free space at the end of the window. */ - uInt wsize = s->w_size; - - Assert(s->lookahead < MIN_LOOKAHEAD, "already enough lookahead"); - - do { - more = (unsigned)(s->window_size -(ulg)s->lookahead -(ulg)s->strstart); - - /* Deal with !@#$% 64K limit: */ - if (sizeof(int) <= 2) { - if (more == 0 && s->strstart == 0 && s->lookahead == 0) { - more = wsize; - - } else if (more == (unsigned)(-1)) { - /* Very unlikely, but possible on 16 bit machine if - * strstart == 0 && lookahead == 1 (input done a byte at time) - */ - more--; - } - } - - /* If the window is almost full and there is insufficient lookahead, - * move the upper half to the lower one to make room in the upper half. - */ - if (s->strstart >= wsize+MAX_DIST(s)) { - - zmemcpy(s->window, s->window+wsize, (unsigned)wsize); - s->match_start -= wsize; - s->strstart -= wsize; /* we now have strstart >= MAX_DIST */ - s->block_start -= (long) wsize; - - /* Slide the hash table (could be avoided with 32 bit values - at the expense of memory usage). We slide even when level == 0 - to keep the hash table consistent if we switch back to level > 0 - later. (Using level 0 permanently is not an optimal usage of - zlib, so we don't care about this pathological case.) - */ - n = s->hash_size; - p = &s->head[n]; - do { - m = *--p; - *p = (Pos)(m >= wsize ? m-wsize : NIL); - } while (--n); - - n = wsize; -#ifndef FASTEST - p = &s->prev[n]; - do { - m = *--p; - *p = (Pos)(m >= wsize ? m-wsize : NIL); - /* If n is not on any hash chain, prev[n] is garbage but - * its value will never be used. - */ - } while (--n); -#endif - more += wsize; - } - if (s->strm->avail_in == 0) break; - - /* If there was no sliding: - * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 && - * more == window_size - lookahead - strstart - * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1) - * => more >= window_size - 2*WSIZE + 2 - * In the BIG_MEM or MMAP case (not yet supported), - * window_size == input_size + MIN_LOOKAHEAD && - * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD. - * Otherwise, window_size == 2*WSIZE so more >= 2. - * If there was sliding, more >= WSIZE. So in all cases, more >= 2. - */ - Assert(more >= 2, "more < 2"); - - n = read_buf(s->strm, s->window + s->strstart + s->lookahead, more); - s->lookahead += n; - - /* Initialize the hash value now that we have some input: */ - if (s->lookahead + s->insert >= MIN_MATCH) { - uInt str = s->strstart - s->insert; - s->ins_h = s->window[str]; - UPDATE_HASH(s, s->ins_h, s->window[str + 1]); -#if MIN_MATCH != 3 - Call UPDATE_HASH() MIN_MATCH-3 more times -#endif - while (s->insert) { - UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); -#ifndef FASTEST - s->prev[str & s->w_mask] = s->head[s->ins_h]; -#endif - s->head[s->ins_h] = (Pos)str; - str++; - s->insert--; - if (s->lookahead + s->insert < MIN_MATCH) - break; - } - } - /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage, - * but this is not important since only literal bytes will be emitted. - */ - - } while (s->lookahead < MIN_LOOKAHEAD && s->strm->avail_in != 0); - - /* If the WIN_INIT bytes after the end of the current data have never been - * written, then zero those bytes in order to avoid memory check reports of - * the use of uninitialized (or uninitialised as Julian writes) bytes by - * the longest match routines. Update the high water mark for the next - * time through here. WIN_INIT is set to MAX_MATCH since the longest match - * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead. - */ - if (s->high_water < s->window_size) { - ulg curr = s->strstart + (ulg)(s->lookahead); - ulg init; - - if (s->high_water < curr) { - /* Previous high water mark below current data -- zero WIN_INIT - * bytes or up to end of window, whichever is less. - */ - init = s->window_size - curr; - if (init > WIN_INIT) - init = WIN_INIT; - zmemzero(s->window + curr, (unsigned)init); - s->high_water = curr + init; - } - else if (s->high_water < (ulg)curr + WIN_INIT) { - /* High water mark at or above current data, but below current data - * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up - * to end of window, whichever is less. - */ - init = (ulg)curr + WIN_INIT - s->high_water; - if (init > s->window_size - s->high_water) - init = s->window_size - s->high_water; - zmemzero(s->window + s->high_water, (unsigned)init); - s->high_water += init; - } - } - - Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD, - "not enough room for search"); -} - -/* =========================================================================== - * Flush the current block, with given end-of-file flag. - * IN assertion: strstart is set to the end of the current match. - */ -#define FLUSH_BLOCK_ONLY(s, last) { \ - _tr_flush_block(s, (s->block_start >= 0L ? \ - (charf *)&s->window[(unsigned)s->block_start] : \ - (charf *)Z_NULL), \ - (ulg)((long)s->strstart - s->block_start), \ - (last)); \ - s->block_start = s->strstart; \ - flush_pending(s->strm); \ - Tracev((stderr,"[FLUSH]")); \ -} - -/* Same but force premature exit if necessary. */ -#define FLUSH_BLOCK(s, last) { \ - FLUSH_BLOCK_ONLY(s, last); \ - if (s->strm->avail_out == 0) return (last) ? finish_started : need_more; \ -} - -/* =========================================================================== - * Copy without compression as much as possible from the input stream, return - * the current block state. - * This function does not insert new strings in the dictionary since - * uncompressible data is probably not useful. This function is used - * only for the level=0 compression option. - * NOTE: this function should be optimized to avoid extra copying from - * window to pending_buf. - */ -local block_state deflate_stored(s, flush) - deflate_state *s; - int flush; -{ - /* Stored blocks are limited to 0xffff bytes, pending_buf is limited - * to pending_buf_size, and each stored block has a 5 byte header: - */ - ulg max_block_size = 0xffff; - ulg max_start; - - if (max_block_size > s->pending_buf_size - 5) { - max_block_size = s->pending_buf_size - 5; - } - - /* Copy as much as possible from input to output: */ - for (;;) { - /* Fill the window as much as possible: */ - if (s->lookahead <= 1) { - - Assert(s->strstart < s->w_size+MAX_DIST(s) || - s->block_start >= (long)s->w_size, "slide too late"); - - fill_window(s); - if (s->lookahead == 0 && flush == Z_NO_FLUSH) return need_more; - - if (s->lookahead == 0) break; /* flush the current block */ - } - Assert(s->block_start >= 0L, "block gone"); - - s->strstart += s->lookahead; - s->lookahead = 0; - - /* Emit a stored block if pending_buf will be full: */ - max_start = s->block_start + max_block_size; - if (s->strstart == 0 || (ulg)s->strstart >= max_start) { - /* strstart == 0 is possible when wraparound on 16-bit machine */ - s->lookahead = (uInt)(s->strstart - max_start); - s->strstart = (uInt)max_start; - FLUSH_BLOCK(s, 0); - } - /* Flush if we may have to slide, otherwise block_start may become - * negative and the data will be gone: - */ - if (s->strstart - (uInt)s->block_start >= MAX_DIST(s)) { - FLUSH_BLOCK(s, 0); - } - } - s->insert = 0; - if (flush == Z_FINISH) { - FLUSH_BLOCK(s, 1); - return finish_done; - } - if ((long)s->strstart > s->block_start) - FLUSH_BLOCK(s, 0); - return block_done; -} - -/* =========================================================================== - * Compress as much as possible from the input stream, return the current - * block state. - * This function does not perform lazy evaluation of matches and inserts - * new strings in the dictionary only for unmatched strings or for short - * matches. It is used only for the fast compression options. - */ -local block_state deflate_fast(s, flush) - deflate_state *s; - int flush; -{ - IPos hash_head; /* head of the hash chain */ - int bflush; /* set if current block must be flushed */ - - for (;;) { - /* Make sure that we always have enough lookahead, except - * at the end of the input file. We need MAX_MATCH bytes - * for the next match, plus MIN_MATCH bytes to insert the - * string following the next match. - */ - if (s->lookahead < MIN_LOOKAHEAD) { - fill_window(s); - if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) { - return need_more; - } - if (s->lookahead == 0) break; /* flush the current block */ - } - - /* Insert the string window[strstart .. strstart+2] in the - * dictionary, and set hash_head to the head of the hash chain: - */ - hash_head = NIL; - if (s->lookahead >= MIN_MATCH) { - INSERT_STRING(s, s->strstart, hash_head); - } - - /* Find the longest match, discarding those <= prev_length. - * At this point we have always match_length < MIN_MATCH - */ - if (hash_head != NIL && s->strstart - hash_head <= MAX_DIST(s)) { - /* To simplify the code, we prevent matches with the string - * of window index 0 (in particular we have to avoid a match - * of the string with itself at the start of the input file). - */ - s->match_length = longest_match (s, hash_head); - /* longest_match() sets match_start */ - } - if (s->match_length >= MIN_MATCH) { - check_match(s, s->strstart, s->match_start, s->match_length); - - _tr_tally_dist(s, s->strstart - s->match_start, - s->match_length - MIN_MATCH, bflush); - - s->lookahead -= s->match_length; - - /* Insert new strings in the hash table only if the match length - * is not too large. This saves time but degrades compression. - */ -#ifndef FASTEST - if (s->match_length <= s->max_insert_length && - s->lookahead >= MIN_MATCH) { - s->match_length--; /* string at strstart already in table */ - do { - s->strstart++; - INSERT_STRING(s, s->strstart, hash_head); - /* strstart never exceeds WSIZE-MAX_MATCH, so there are - * always MIN_MATCH bytes ahead. - */ - } while (--s->match_length != 0); - s->strstart++; - } else -#endif - { - s->strstart += s->match_length; - s->match_length = 0; - s->ins_h = s->window[s->strstart]; - UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]); -#if MIN_MATCH != 3 - Call UPDATE_HASH() MIN_MATCH-3 more times -#endif - /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not - * matter since it will be recomputed at next deflate call. - */ - } - } else { - /* No match, output a literal byte */ - Tracevv((stderr,"%c", s->window[s->strstart])); - _tr_tally_lit (s, s->window[s->strstart], bflush); - s->lookahead--; - s->strstart++; - } - if (bflush) FLUSH_BLOCK(s, 0); - } - s->insert = s->strstart < MIN_MATCH-1 ? s->strstart : MIN_MATCH-1; - if (flush == Z_FINISH) { - FLUSH_BLOCK(s, 1); - return finish_done; - } - if (s->last_lit) - FLUSH_BLOCK(s, 0); - return block_done; -} - -#ifndef FASTEST -/* =========================================================================== - * Same as above, but achieves better compression. We use a lazy - * evaluation for matches: a match is finally adopted only if there is - * no better match at the next window position. - */ -local block_state deflate_slow(s, flush) - deflate_state *s; - int flush; -{ - IPos hash_head; /* head of hash chain */ - int bflush; /* set if current block must be flushed */ - - /* Process the input block. */ - for (;;) { - /* Make sure that we always have enough lookahead, except - * at the end of the input file. We need MAX_MATCH bytes - * for the next match, plus MIN_MATCH bytes to insert the - * string following the next match. - */ - if (s->lookahead < MIN_LOOKAHEAD) { - fill_window(s); - if (s->lookahead < MIN_LOOKAHEAD && flush == Z_NO_FLUSH) { - return need_more; - } - if (s->lookahead == 0) break; /* flush the current block */ - } - - /* Insert the string window[strstart .. strstart+2] in the - * dictionary, and set hash_head to the head of the hash chain: - */ - hash_head = NIL; - if (s->lookahead >= MIN_MATCH) { - INSERT_STRING(s, s->strstart, hash_head); - } - - /* Find the longest match, discarding those <= prev_length. - */ - s->prev_length = s->match_length, s->prev_match = s->match_start; - s->match_length = MIN_MATCH-1; - - if (hash_head != NIL && s->prev_length < s->max_lazy_match && - s->strstart - hash_head <= MAX_DIST(s)) { - /* To simplify the code, we prevent matches with the string - * of window index 0 (in particular we have to avoid a match - * of the string with itself at the start of the input file). - */ - s->match_length = longest_match (s, hash_head); - /* longest_match() sets match_start */ - - if (s->match_length <= 5 && (s->strategy == Z_FILTERED -#if TOO_FAR <= 32767 - || (s->match_length == MIN_MATCH && - s->strstart - s->match_start > TOO_FAR) -#endif - )) { - - /* If prev_match is also MIN_MATCH, match_start is garbage - * but we will ignore the current match anyway. - */ - s->match_length = MIN_MATCH-1; - } - } - /* If there was a match at the previous step and the current - * match is not better, output the previous match: - */ - if (s->prev_length >= MIN_MATCH && s->match_length <= s->prev_length) { - uInt max_insert = s->strstart + s->lookahead - MIN_MATCH; - /* Do not insert strings in hash table beyond this. */ - - check_match(s, s->strstart-1, s->prev_match, s->prev_length); - - _tr_tally_dist(s, s->strstart -1 - s->prev_match, - s->prev_length - MIN_MATCH, bflush); - - /* Insert in hash table all strings up to the end of the match. - * strstart-1 and strstart are already inserted. If there is not - * enough lookahead, the last two strings are not inserted in - * the hash table. - */ - s->lookahead -= s->prev_length-1; - s->prev_length -= 2; - do { - if (++s->strstart <= max_insert) { - INSERT_STRING(s, s->strstart, hash_head); - } - } while (--s->prev_length != 0); - s->match_available = 0; - s->match_length = MIN_MATCH-1; - s->strstart++; - - if (bflush) FLUSH_BLOCK(s, 0); - - } else if (s->match_available) { - /* If there was no match at the previous position, output a - * single literal. If there was a match but the current match - * is longer, truncate the previous match to a single literal. - */ - Tracevv((stderr,"%c", s->window[s->strstart-1])); - _tr_tally_lit(s, s->window[s->strstart-1], bflush); - if (bflush) { - FLUSH_BLOCK_ONLY(s, 0); - } - s->strstart++; - s->lookahead--; - if (s->strm->avail_out == 0) return need_more; - } else { - /* There is no previous match to compare with, wait for - * the next step to decide. - */ - s->match_available = 1; - s->strstart++; - s->lookahead--; - } - } - Assert (flush != Z_NO_FLUSH, "no flush?"); - if (s->match_available) { - Tracevv((stderr,"%c", s->window[s->strstart-1])); - _tr_tally_lit(s, s->window[s->strstart-1], bflush); - s->match_available = 0; - } - s->insert = s->strstart < MIN_MATCH-1 ? s->strstart : MIN_MATCH-1; - if (flush == Z_FINISH) { - FLUSH_BLOCK(s, 1); - return finish_done; - } - if (s->last_lit) - FLUSH_BLOCK(s, 0); - return block_done; -} -#endif /* FASTEST */ - -/* =========================================================================== - * For Z_RLE, simply look for runs of bytes, generate matches only of distance - * one. Do not maintain a hash table. (It will be regenerated if this run of - * deflate switches away from Z_RLE.) - */ -local block_state deflate_rle(s, flush) - deflate_state *s; - int flush; -{ - int bflush; /* set if current block must be flushed */ - uInt prev; /* byte at distance one to match */ - Bytef *scan, *strend; /* scan goes up to strend for length of run */ - - for (;;) { - /* Make sure that we always have enough lookahead, except - * at the end of the input file. We need MAX_MATCH bytes - * for the longest run, plus one for the unrolled loop. - */ - if (s->lookahead <= MAX_MATCH) { - fill_window(s); - if (s->lookahead <= MAX_MATCH && flush == Z_NO_FLUSH) { - return need_more; - } - if (s->lookahead == 0) break; /* flush the current block */ - } - - /* See how many times the previous byte repeats */ - s->match_length = 0; - if (s->lookahead >= MIN_MATCH && s->strstart > 0) { - scan = s->window + s->strstart - 1; - prev = *scan; - if (prev == *++scan && prev == *++scan && prev == *++scan) { - strend = s->window + s->strstart + MAX_MATCH; - do { - } while (prev == *++scan && prev == *++scan && - prev == *++scan && prev == *++scan && - prev == *++scan && prev == *++scan && - prev == *++scan && prev == *++scan && - scan < strend); - s->match_length = MAX_MATCH - (int)(strend - scan); - if (s->match_length > s->lookahead) - s->match_length = s->lookahead; - } - Assert(scan <= s->window+(uInt)(s->window_size-1), "wild scan"); - } - - /* Emit match if have run of MIN_MATCH or longer, else emit literal */ - if (s->match_length >= MIN_MATCH) { - check_match(s, s->strstart, s->strstart - 1, s->match_length); - - _tr_tally_dist(s, 1, s->match_length - MIN_MATCH, bflush); - - s->lookahead -= s->match_length; - s->strstart += s->match_length; - s->match_length = 0; - } else { - /* No match, output a literal byte */ - Tracevv((stderr,"%c", s->window[s->strstart])); - _tr_tally_lit (s, s->window[s->strstart], bflush); - s->lookahead--; - s->strstart++; - } - if (bflush) FLUSH_BLOCK(s, 0); - } - s->insert = 0; - if (flush == Z_FINISH) { - FLUSH_BLOCK(s, 1); - return finish_done; - } - if (s->last_lit) - FLUSH_BLOCK(s, 0); - return block_done; -} - -/* =========================================================================== - * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table. - * (It will be regenerated if this run of deflate switches away from Huffman.) - */ -local block_state deflate_huff(s, flush) - deflate_state *s; - int flush; -{ - int bflush; /* set if current block must be flushed */ - - for (;;) { - /* Make sure that we have a literal to write. */ - if (s->lookahead == 0) { - fill_window(s); - if (s->lookahead == 0) { - if (flush == Z_NO_FLUSH) - return need_more; - break; /* flush the current block */ - } - } - - /* Output a literal byte */ - s->match_length = 0; - Tracevv((stderr,"%c", s->window[s->strstart])); - _tr_tally_lit (s, s->window[s->strstart], bflush); - s->lookahead--; - s->strstart++; - if (bflush) FLUSH_BLOCK(s, 0); - } - s->insert = 0; - if (flush == Z_FINISH) { - FLUSH_BLOCK(s, 1); - return finish_done; - } - if (s->last_lit) - FLUSH_BLOCK(s, 0); - return block_done; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/deflate.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/deflate.h deleted file mode 100644 index fbac44d9..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/deflate.h +++ /dev/null @@ -1,346 +0,0 @@ -/* deflate.h -- internal compression state - * Copyright (C) 1995-2012 Jean-loup Gailly - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* WARNING: this file should *not* be used by applications. It is - part of the implementation of the compression library and is - subject to change. Applications should only use zlib.h. - */ - -/* @(#) $Id$ */ - -#ifndef DEFLATE_H -#define DEFLATE_H - -#include "zutil.h" - -/* define NO_GZIP when compiling if you want to disable gzip header and - trailer creation by deflate(). NO_GZIP would be used to avoid linking in - the crc code when it is not needed. For shared libraries, gzip encoding - should be left enabled. */ -#ifndef NO_GZIP -# define GZIP -#endif - -/* =========================================================================== - * Internal compression state. - */ - -#define LENGTH_CODES 29 -/* number of length codes, not counting the special END_BLOCK code */ - -#define LITERALS 256 -/* number of literal bytes 0..255 */ - -#define L_CODES (LITERALS+1+LENGTH_CODES) -/* number of Literal or Length codes, including the END_BLOCK code */ - -#define D_CODES 30 -/* number of distance codes */ - -#define BL_CODES 19 -/* number of codes used to transfer the bit lengths */ - -#define HEAP_SIZE (2*L_CODES+1) -/* maximum heap size */ - -#define MAX_BITS 15 -/* All codes must not exceed MAX_BITS bits */ - -#define Buf_size 16 -/* size of bit buffer in bi_buf */ - -#define INIT_STATE 42 -#define EXTRA_STATE 69 -#define NAME_STATE 73 -#define COMMENT_STATE 91 -#define HCRC_STATE 103 -#define BUSY_STATE 113 -#define FINISH_STATE 666 -/* Stream status */ - - -/* Data structure describing a single value and its code string. */ -typedef struct ct_data_s { - union { - ush freq; /* frequency count */ - ush code; /* bit string */ - } fc; - union { - ush dad; /* father node in Huffman tree */ - ush len; /* length of bit string */ - } dl; -} FAR ct_data; - -#define Freq fc.freq -#define Code fc.code -#define Dad dl.dad -#define Len dl.len - -typedef struct static_tree_desc_s static_tree_desc; - -typedef struct tree_desc_s { - ct_data *dyn_tree; /* the dynamic tree */ - int max_code; /* largest code with non zero frequency */ - static_tree_desc *stat_desc; /* the corresponding static tree */ -} FAR tree_desc; - -typedef ush Pos; -typedef Pos FAR Posf; -typedef unsigned IPos; - -/* A Pos is an index in the character window. We use short instead of int to - * save space in the various tables. IPos is used only for parameter passing. - */ - -typedef struct internal_state { - z_streamp strm; /* pointer back to this zlib stream */ - int status; /* as the name implies */ - Bytef *pending_buf; /* output still pending */ - ulg pending_buf_size; /* size of pending_buf */ - Bytef *pending_out; /* next pending byte to output to the stream */ - uInt pending; /* nb of bytes in the pending buffer */ - int wrap; /* bit 0 true for zlib, bit 1 true for gzip */ - gz_headerp gzhead; /* gzip header information to write */ - uInt gzindex; /* where in extra, name, or comment */ - Byte method; /* STORED (for zip only) or DEFLATED */ - int last_flush; /* value of flush param for previous deflate call */ - - /* used by deflate.c: */ - - uInt w_size; /* LZ77 window size (32K by default) */ - uInt w_bits; /* log2(w_size) (8..16) */ - uInt w_mask; /* w_size - 1 */ - - Bytef *window; - /* Sliding window. Input bytes are read into the second half of the window, - * and move to the first half later to keep a dictionary of at least wSize - * bytes. With this organization, matches are limited to a distance of - * wSize-MAX_MATCH bytes, but this ensures that IO is always - * performed with a length multiple of the block size. Also, it limits - * the window size to 64K, which is quite useful on MSDOS. - * To do: use the user input buffer as sliding window. - */ - - ulg window_size; - /* Actual size of window: 2*wSize, except when the user input buffer - * is directly used as sliding window. - */ - - Posf *prev; - /* Link to older string with same hash index. To limit the size of this - * array to 64K, this link is maintained only for the last 32K strings. - * An index in this array is thus a window index modulo 32K. - */ - - Posf *head; /* Heads of the hash chains or NIL. */ - - uInt ins_h; /* hash index of string to be inserted */ - uInt hash_size; /* number of elements in hash table */ - uInt hash_bits; /* log2(hash_size) */ - uInt hash_mask; /* hash_size-1 */ - - uInt hash_shift; - /* Number of bits by which ins_h must be shifted at each input - * step. It must be such that after MIN_MATCH steps, the oldest - * byte no longer takes part in the hash key, that is: - * hash_shift * MIN_MATCH >= hash_bits - */ - - long block_start; - /* Window position at the beginning of the current output block. Gets - * negative when the window is moved backwards. - */ - - uInt match_length; /* length of best match */ - IPos prev_match; /* previous match */ - int match_available; /* set if previous match exists */ - uInt strstart; /* start of string to insert */ - uInt match_start; /* start of matching string */ - uInt lookahead; /* number of valid bytes ahead in window */ - - uInt prev_length; - /* Length of the best match at previous step. Matches not greater than this - * are discarded. This is used in the lazy match evaluation. - */ - - uInt max_chain_length; - /* To speed up deflation, hash chains are never searched beyond this - * length. A higher limit improves compression ratio but degrades the - * speed. - */ - - uInt max_lazy_match; - /* Attempt to find a better match only when the current match is strictly - * smaller than this value. This mechanism is used only for compression - * levels >= 4. - */ -# define max_insert_length max_lazy_match - /* Insert new strings in the hash table only if the match length is not - * greater than this length. This saves time but degrades compression. - * max_insert_length is used only for compression levels <= 3. - */ - - int level; /* compression level (1..9) */ - int strategy; /* favor or force Huffman coding*/ - - uInt good_match; - /* Use a faster search when the previous match is longer than this */ - - int nice_match; /* Stop searching when current match exceeds this */ - - /* used by trees.c: */ - /* Didn't use ct_data typedef below to suppress compiler warning */ - struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */ - struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */ - struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */ - - struct tree_desc_s l_desc; /* desc. for literal tree */ - struct tree_desc_s d_desc; /* desc. for distance tree */ - struct tree_desc_s bl_desc; /* desc. for bit length tree */ - - ush bl_count[MAX_BITS+1]; - /* number of codes at each bit length for an optimal tree */ - - int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */ - int heap_len; /* number of elements in the heap */ - int heap_max; /* element of largest frequency */ - /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used. - * The same heap array is used to build all trees. - */ - - uch depth[2*L_CODES+1]; - /* Depth of each subtree used as tie breaker for trees of equal frequency - */ - - uchf *l_buf; /* buffer for literals or lengths */ - - uInt lit_bufsize; - /* Size of match buffer for literals/lengths. There are 4 reasons for - * limiting lit_bufsize to 64K: - * - frequencies can be kept in 16 bit counters - * - if compression is not successful for the first block, all input - * data is still in the window so we can still emit a stored block even - * when input comes from standard input. (This can also be done for - * all blocks if lit_bufsize is not greater than 32K.) - * - if compression is not successful for a file smaller than 64K, we can - * even emit a stored file instead of a stored block (saving 5 bytes). - * This is applicable only for zip (not gzip or zlib). - * - creating new Huffman trees less frequently may not provide fast - * adaptation to changes in the input data statistics. (Take for - * example a binary file with poorly compressible code followed by - * a highly compressible string table.) Smaller buffer sizes give - * fast adaptation but have of course the overhead of transmitting - * trees more frequently. - * - I can't count above 4 - */ - - uInt last_lit; /* running index in l_buf */ - - ushf *d_buf; - /* Buffer for distances. To simplify the code, d_buf and l_buf have - * the same number of elements. To use different lengths, an extra flag - * array would be necessary. - */ - - ulg opt_len; /* bit length of current block with optimal trees */ - ulg static_len; /* bit length of current block with static trees */ - uInt matches; /* number of string matches in current block */ - uInt insert; /* bytes at end of window left to insert */ - -#ifdef DEBUG - ulg compressed_len; /* total bit length of compressed file mod 2^32 */ - ulg bits_sent; /* bit length of compressed data sent mod 2^32 */ -#endif - - ush bi_buf; - /* Output buffer. bits are inserted starting at the bottom (least - * significant bits). - */ - int bi_valid; - /* Number of valid bits in bi_buf. All bits above the last valid bit - * are always zero. - */ - - ulg high_water; - /* High water mark offset in window for initialized bytes -- bytes above - * this are set to zero in order to avoid memory check warnings when - * longest match routines access bytes past the input. This is then - * updated to the new high water mark. - */ - -} FAR deflate_state; - -/* Output a byte on the stream. - * IN assertion: there is enough room in pending_buf. - */ -#define put_byte(s, c) {s->pending_buf[s->pending++] = (c);} - - -#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1) -/* Minimum amount of lookahead, except at the end of the input file. - * See deflate.c for comments about the MIN_MATCH+1. - */ - -#define MAX_DIST(s) ((s)->w_size-MIN_LOOKAHEAD) -/* In order to simplify the code, particularly on 16 bit machines, match - * distances are limited to MAX_DIST instead of WSIZE. - */ - -#define WIN_INIT MAX_MATCH -/* Number of bytes after end of data in window to initialize in order to avoid - memory checker errors from longest match routines */ - - /* in trees.c */ -void ZLIB_INTERNAL _tr_init OF((deflate_state *s)); -int ZLIB_INTERNAL _tr_tally OF((deflate_state *s, unsigned dist, unsigned lc)); -void ZLIB_INTERNAL _tr_flush_block OF((deflate_state *s, charf *buf, - ulg stored_len, int last)); -void ZLIB_INTERNAL _tr_flush_bits OF((deflate_state *s)); -void ZLIB_INTERNAL _tr_align OF((deflate_state *s)); -void ZLIB_INTERNAL _tr_stored_block OF((deflate_state *s, charf *buf, - ulg stored_len, int last)); - -#define d_code(dist) \ - ((dist) < 256 ? _dist_code[dist] : _dist_code[256+((dist)>>7)]) -/* Mapping from a distance to a distance code. dist is the distance - 1 and - * must not have side effects. _dist_code[256] and _dist_code[257] are never - * used. - */ - -#ifndef DEBUG -/* Inline versions of _tr_tally for speed: */ - -#if defined(GEN_TREES_H) || !defined(STDC) - extern uch ZLIB_INTERNAL _length_code[]; - extern uch ZLIB_INTERNAL _dist_code[]; -#else - extern const uch ZLIB_INTERNAL _length_code[]; - extern const uch ZLIB_INTERNAL _dist_code[]; -#endif - -# define _tr_tally_lit(s, c, flush) \ - { uch cc = (c); \ - s->d_buf[s->last_lit] = 0; \ - s->l_buf[s->last_lit++] = cc; \ - s->dyn_ltree[cc].Freq++; \ - flush = (s->last_lit == s->lit_bufsize-1); \ - } -# define _tr_tally_dist(s, distance, length, flush) \ - { uch len = (length); \ - ush dist = (distance); \ - s->d_buf[s->last_lit] = dist; \ - s->l_buf[s->last_lit++] = len; \ - dist--; \ - s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \ - s->dyn_dtree[d_code(dist)].Freq++; \ - flush = (s->last_lit == s->lit_bufsize-1); \ - } -#else -# define _tr_tally_lit(s, c, flush) flush = _tr_tally(s, 0, c) -# define _tr_tally_dist(s, distance, length, flush) \ - flush = _tr_tally(s, distance, length) -#endif - -#endif /* DEFLATE_H */ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/doc/algorithm.txt b/org.simantics.modelica/FMUSolution/zlib-1.2.6/doc/algorithm.txt deleted file mode 100644 index c97f4950..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/doc/algorithm.txt +++ /dev/null @@ -1,209 +0,0 @@ -1. Compression algorithm (deflate) - -The deflation algorithm used by gzip (also zip and zlib) is a variation of -LZ77 (Lempel-Ziv 1977, see reference below). It finds duplicated strings in -the input data. The second occurrence of a string is replaced by a -pointer to the previous string, in the form of a pair (distance, -length). Distances are limited to 32K bytes, and lengths are limited -to 258 bytes. When a string does not occur anywhere in the previous -32K bytes, it is emitted as a sequence of literal bytes. (In this -description, `string' must be taken as an arbitrary sequence of bytes, -and is not restricted to printable characters.) - -Literals or match lengths are compressed with one Huffman tree, and -match distances are compressed with another tree. The trees are stored -in a compact form at the start of each block. The blocks can have any -size (except that the compressed data for one block must fit in -available memory). A block is terminated when deflate() determines that -it would be useful to start another block with fresh trees. (This is -somewhat similar to the behavior of LZW-based _compress_.) - -Duplicated strings are found using a hash table. All input strings of -length 3 are inserted in the hash table. A hash index is computed for -the next 3 bytes. If the hash chain for this index is not empty, all -strings in the chain are compared with the current input string, and -the longest match is selected. - -The hash chains are searched starting with the most recent strings, to -favor small distances and thus take advantage of the Huffman encoding. -The hash chains are singly linked. There are no deletions from the -hash chains, the algorithm simply discards matches that are too old. - -To avoid a worst-case situation, very long hash chains are arbitrarily -truncated at a certain length, determined by a runtime option (level -parameter of deflateInit). So deflate() does not always find the longest -possible match but generally finds a match which is long enough. - -deflate() also defers the selection of matches with a lazy evaluation -mechanism. After a match of length N has been found, deflate() searches for -a longer match at the next input byte. If a longer match is found, the -previous match is truncated to a length of one (thus producing a single -literal byte) and the process of lazy evaluation begins again. Otherwise, -the original match is kept, and the next match search is attempted only N -steps later. - -The lazy match evaluation is also subject to a runtime parameter. If -the current match is long enough, deflate() reduces the search for a longer -match, thus speeding up the whole process. If compression ratio is more -important than speed, deflate() attempts a complete second search even if -the first match is already long enough. - -The lazy match evaluation is not performed for the fastest compression -modes (level parameter 1 to 3). For these fast modes, new strings -are inserted in the hash table only when no match was found, or -when the match is not too long. This degrades the compression ratio -but saves time since there are both fewer insertions and fewer searches. - - -2. Decompression algorithm (inflate) - -2.1 Introduction - -The key question is how to represent a Huffman code (or any prefix code) so -that you can decode fast. The most important characteristic is that shorter -codes are much more common than longer codes, so pay attention to decoding the -short codes fast, and let the long codes take longer to decode. - -inflate() sets up a first level table that covers some number of bits of -input less than the length of longest code. It gets that many bits from the -stream, and looks it up in the table. The table will tell if the next -code is that many bits or less and how many, and if it is, it will tell -the value, else it will point to the next level table for which inflate() -grabs more bits and tries to decode a longer code. - -How many bits to make the first lookup is a tradeoff between the time it -takes to decode and the time it takes to build the table. If building the -table took no time (and if you had infinite memory), then there would only -be a first level table to cover all the way to the longest code. However, -building the table ends up taking a lot longer for more bits since short -codes are replicated many times in such a table. What inflate() does is -simply to make the number of bits in the first table a variable, and then -to set that variable for the maximum speed. - -For inflate, which has 286 possible codes for the literal/length tree, the size -of the first table is nine bits. Also the distance trees have 30 possible -values, and the size of the first table is six bits. Note that for each of -those cases, the table ended up one bit longer than the ``average'' code -length, i.e. the code length of an approximately flat code which would be a -little more than eight bits for 286 symbols and a little less than five bits -for 30 symbols. - - -2.2 More details on the inflate table lookup - -Ok, you want to know what this cleverly obfuscated inflate tree actually -looks like. You are correct that it's not a Huffman tree. It is simply a -lookup table for the first, let's say, nine bits of a Huffman symbol. The -symbol could be as short as one bit or as long as 15 bits. If a particular -symbol is shorter than nine bits, then that symbol's translation is duplicated -in all those entries that start with that symbol's bits. For example, if the -symbol is four bits, then it's duplicated 32 times in a nine-bit table. If a -symbol is nine bits long, it appears in the table once. - -If the symbol is longer than nine bits, then that entry in the table points -to another similar table for the remaining bits. Again, there are duplicated -entries as needed. The idea is that most of the time the symbol will be short -and there will only be one table look up. (That's whole idea behind data -compression in the first place.) For the less frequent long symbols, there -will be two lookups. If you had a compression method with really long -symbols, you could have as many levels of lookups as is efficient. For -inflate, two is enough. - -So a table entry either points to another table (in which case nine bits in -the above example are gobbled), or it contains the translation for the symbol -and the number of bits to gobble. Then you start again with the next -ungobbled bit. - -You may wonder: why not just have one lookup table for how ever many bits the -longest symbol is? The reason is that if you do that, you end up spending -more time filling in duplicate symbol entries than you do actually decoding. -At least for deflate's output that generates new trees every several 10's of -kbytes. You can imagine that filling in a 2^15 entry table for a 15-bit code -would take too long if you're only decoding several thousand symbols. At the -other extreme, you could make a new table for every bit in the code. In fact, -that's essentially a Huffman tree. But then you spend too much time -traversing the tree while decoding, even for short symbols. - -So the number of bits for the first lookup table is a trade of the time to -fill out the table vs. the time spent looking at the second level and above of -the table. - -Here is an example, scaled down: - -The code being decoded, with 10 symbols, from 1 to 6 bits long: - -A: 0 -B: 10 -C: 1100 -D: 11010 -E: 11011 -F: 11100 -G: 11101 -H: 11110 -I: 111110 -J: 111111 - -Let's make the first table three bits long (eight entries): - -000: A,1 -001: A,1 -010: A,1 -011: A,1 -100: B,2 -101: B,2 -110: -> table X (gobble 3 bits) -111: -> table Y (gobble 3 bits) - -Each entry is what the bits decode as and how many bits that is, i.e. how -many bits to gobble. Or the entry points to another table, with the number of -bits to gobble implicit in the size of the table. - -Table X is two bits long since the longest code starting with 110 is five bits -long: - -00: C,1 -01: C,1 -10: D,2 -11: E,2 - -Table Y is three bits long since the longest code starting with 111 is six -bits long: - -000: F,2 -001: F,2 -010: G,2 -011: G,2 -100: H,2 -101: H,2 -110: I,3 -111: J,3 - -So what we have here are three tables with a total of 20 entries that had to -be constructed. That's compared to 64 entries for a single table. Or -compared to 16 entries for a Huffman tree (six two entry tables and one four -entry table). Assuming that the code ideally represents the probability of -the symbols, it takes on the average 1.25 lookups per symbol. That's compared -to one lookup for the single table, or 1.66 lookups per symbol for the -Huffman tree. - -There, I think that gives you a picture of what's going on. For inflate, the -meaning of a particular symbol is often more than just a letter. It can be a -byte (a "literal"), or it can be either a length or a distance which -indicates a base value and a number of bits to fetch after the code that is -added to the base value. Or it might be the special end-of-block code. The -data structures created in inftrees.c try to encode all that information -compactly in the tables. - - -Jean-loup Gailly Mark Adler -jloup@gzip.org madler@alumni.caltech.edu - - -References: - -[LZ77] Ziv J., Lempel A., ``A Universal Algorithm for Sequential Data -Compression,'' IEEE Transactions on Information Theory, Vol. 23, No. 3, -pp. 337-343. - -``DEFLATE Compressed Data Format Specification'' available in -http://tools.ietf.org/html/rfc1951 diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/doc/rfc1950.txt b/org.simantics.modelica/FMUSolution/zlib-1.2.6/doc/rfc1950.txt deleted file mode 100644 index ce6428a0..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/doc/rfc1950.txt +++ /dev/null @@ -1,619 +0,0 @@ - - - - - - -Network Working Group P. Deutsch -Request for Comments: 1950 Aladdin Enterprises -Category: Informational J-L. Gailly - Info-ZIP - May 1996 - - - ZLIB Compressed Data Format Specification version 3.3 - -Status of This Memo - - This memo provides information for the Internet community. This memo - does not specify an Internet standard of any kind. Distribution of - this memo is unlimited. - -IESG Note: - - The IESG takes no position on the validity of any Intellectual - Property Rights statements contained in this document. - -Notices - - Copyright (c) 1996 L. Peter Deutsch and Jean-Loup Gailly - - Permission is granted to copy and distribute this document for any - purpose and without charge, including translations into other - languages and incorporation into compilations, provided that the - copyright notice and this notice are preserved, and that any - substantive changes or deletions from the original are clearly - marked. - - A pointer to the latest version of this and related documentation in - HTML format can be found at the URL - . - -Abstract - - This specification defines a lossless compressed data format. The - data can be produced or consumed, even for an arbitrarily long - sequentially presented input data stream, using only an a priori - bounded amount of intermediate storage. The format presently uses - the DEFLATE compression method but can be easily extended to use - other compression methods. It can be implemented readily in a manner - not covered by patents. This specification also defines the ADLER-32 - checksum (an extension and improvement of the Fletcher checksum), - used for detection of data corruption, and provides an algorithm for - computing it. - - - - -Deutsch & Gailly Informational [Page 1] - -RFC 1950 ZLIB Compressed Data Format Specification May 1996 - - -Table of Contents - - 1. Introduction ................................................... 2 - 1.1. Purpose ................................................... 2 - 1.2. Intended audience ......................................... 3 - 1.3. Scope ..................................................... 3 - 1.4. Compliance ................................................ 3 - 1.5. Definitions of terms and conventions used ................ 3 - 1.6. Changes from previous versions ............................ 3 - 2. Detailed specification ......................................... 3 - 2.1. Overall conventions ....................................... 3 - 2.2. Data format ............................................... 4 - 2.3. Compliance ................................................ 7 - 3. References ..................................................... 7 - 4. Source code .................................................... 8 - 5. Security Considerations ........................................ 8 - 6. Acknowledgements ............................................... 8 - 7. Authors' Addresses ............................................. 8 - 8. Appendix: Rationale ............................................ 9 - 9. Appendix: Sample code ..........................................10 - -1. Introduction - - 1.1. Purpose - - The purpose of this specification is to define a lossless - compressed data format that: - - * Is independent of CPU type, operating system, file system, - and character set, and hence can be used for interchange; - - * Can be produced or consumed, even for an arbitrarily long - sequentially presented input data stream, using only an a - priori bounded amount of intermediate storage, and hence can - be used in data communications or similar structures such as - Unix filters; - - * Can use a number of different compression methods; - - * Can be implemented readily in a manner not covered by - patents, and hence can be practiced freely. - - The data format defined by this specification does not attempt to - allow random access to compressed data. - - - - - - - -Deutsch & Gailly Informational [Page 2] - -RFC 1950 ZLIB Compressed Data Format Specification May 1996 - - - 1.2. Intended audience - - This specification is intended for use by implementors of software - to compress data into zlib format and/or decompress data from zlib - format. - - The text of the specification assumes a basic background in - programming at the level of bits and other primitive data - representations. - - 1.3. Scope - - The specification specifies a compressed data format that can be - used for in-memory compression of a sequence of arbitrary bytes. - - 1.4. Compliance - - Unless otherwise indicated below, a compliant decompressor must be - able to accept and decompress any data set that conforms to all - the specifications presented here; a compliant compressor must - produce data sets that conform to all the specifications presented - here. - - 1.5. Definitions of terms and conventions used - - byte: 8 bits stored or transmitted as a unit (same as an octet). - (For this specification, a byte is exactly 8 bits, even on - machines which store a character on a number of bits different - from 8.) See below, for the numbering of bits within a byte. - - 1.6. Changes from previous versions - - Version 3.1 was the first public release of this specification. - In version 3.2, some terminology was changed and the Adler-32 - sample code was rewritten for clarity. In version 3.3, the - support for a preset dictionary was introduced, and the - specification was converted to RFC style. - -2. Detailed specification - - 2.1. Overall conventions - - In the diagrams below, a box like this: - - +---+ - | | <-- the vertical bars might be missing - +---+ - - - - -Deutsch & Gailly Informational [Page 3] - -RFC 1950 ZLIB Compressed Data Format Specification May 1996 - - - represents one byte; a box like this: - - +==============+ - | | - +==============+ - - represents a variable number of bytes. - - Bytes stored within a computer do not have a "bit order", since - they are always treated as a unit. However, a byte considered as - an integer between 0 and 255 does have a most- and least- - significant bit, and since we write numbers with the most- - significant digit on the left, we also write bytes with the most- - significant bit on the left. In the diagrams below, we number the - bits of a byte so that bit 0 is the least-significant bit, i.e., - the bits are numbered: - - +--------+ - |76543210| - +--------+ - - Within a computer, a number may occupy multiple bytes. All - multi-byte numbers in the format described here are stored with - the MOST-significant byte first (at the lower memory address). - For example, the decimal number 520 is stored as: - - 0 1 - +--------+--------+ - |00000010|00001000| - +--------+--------+ - ^ ^ - | | - | + less significant byte = 8 - + more significant byte = 2 x 256 - - 2.2. Data format - - A zlib stream has the following structure: - - 0 1 - +---+---+ - |CMF|FLG| (more-->) - +---+---+ - - - - - - - - -Deutsch & Gailly Informational [Page 4] - -RFC 1950 ZLIB Compressed Data Format Specification May 1996 - - - (if FLG.FDICT set) - - 0 1 2 3 - +---+---+---+---+ - | DICTID | (more-->) - +---+---+---+---+ - - +=====================+---+---+---+---+ - |...compressed data...| ADLER32 | - +=====================+---+---+---+---+ - - Any data which may appear after ADLER32 are not part of the zlib - stream. - - CMF (Compression Method and flags) - This byte is divided into a 4-bit compression method and a 4- - bit information field depending on the compression method. - - bits 0 to 3 CM Compression method - bits 4 to 7 CINFO Compression info - - CM (Compression method) - This identifies the compression method used in the file. CM = 8 - denotes the "deflate" compression method with a window size up - to 32K. This is the method used by gzip and PNG (see - references [1] and [2] in Chapter 3, below, for the reference - documents). CM = 15 is reserved. It might be used in a future - version of this specification to indicate the presence of an - extra field before the compressed data. - - CINFO (Compression info) - For CM = 8, CINFO is the base-2 logarithm of the LZ77 window - size, minus eight (CINFO=7 indicates a 32K window size). Values - of CINFO above 7 are not allowed in this version of the - specification. CINFO is not defined in this specification for - CM not equal to 8. - - FLG (FLaGs) - This flag byte is divided as follows: - - bits 0 to 4 FCHECK (check bits for CMF and FLG) - bit 5 FDICT (preset dictionary) - bits 6 to 7 FLEVEL (compression level) - - The FCHECK value must be such that CMF and FLG, when viewed as - a 16-bit unsigned integer stored in MSB order (CMF*256 + FLG), - is a multiple of 31. - - - - -Deutsch & Gailly Informational [Page 5] - -RFC 1950 ZLIB Compressed Data Format Specification May 1996 - - - FDICT (Preset dictionary) - If FDICT is set, a DICT dictionary identifier is present - immediately after the FLG byte. The dictionary is a sequence of - bytes which are initially fed to the compressor without - producing any compressed output. DICT is the Adler-32 checksum - of this sequence of bytes (see the definition of ADLER32 - below). The decompressor can use this identifier to determine - which dictionary has been used by the compressor. - - FLEVEL (Compression level) - These flags are available for use by specific compression - methods. The "deflate" method (CM = 8) sets these flags as - follows: - - 0 - compressor used fastest algorithm - 1 - compressor used fast algorithm - 2 - compressor used default algorithm - 3 - compressor used maximum compression, slowest algorithm - - The information in FLEVEL is not needed for decompression; it - is there to indicate if recompression might be worthwhile. - - compressed data - For compression method 8, the compressed data is stored in the - deflate compressed data format as described in the document - "DEFLATE Compressed Data Format Specification" by L. Peter - Deutsch. (See reference [3] in Chapter 3, below) - - Other compressed data formats are not specified in this version - of the zlib specification. - - ADLER32 (Adler-32 checksum) - This contains a checksum value of the uncompressed data - (excluding any dictionary data) computed according to Adler-32 - algorithm. This algorithm is a 32-bit extension and improvement - of the Fletcher algorithm, used in the ITU-T X.224 / ISO 8073 - standard. See references [4] and [5] in Chapter 3, below) - - Adler-32 is composed of two sums accumulated per byte: s1 is - the sum of all bytes, s2 is the sum of all s1 values. Both sums - are done modulo 65521. s1 is initialized to 1, s2 to zero. The - Adler-32 checksum is stored as s2*65536 + s1 in most- - significant-byte first (network) order. - - - - - - - - -Deutsch & Gailly Informational [Page 6] - -RFC 1950 ZLIB Compressed Data Format Specification May 1996 - - - 2.3. Compliance - - A compliant compressor must produce streams with correct CMF, FLG - and ADLER32, but need not support preset dictionaries. When the - zlib data format is used as part of another standard data format, - the compressor may use only preset dictionaries that are specified - by this other data format. If this other format does not use the - preset dictionary feature, the compressor must not set the FDICT - flag. - - A compliant decompressor must check CMF, FLG, and ADLER32, and - provide an error indication if any of these have incorrect values. - A compliant decompressor must give an error indication if CM is - not one of the values defined in this specification (only the - value 8 is permitted in this version), since another value could - indicate the presence of new features that would cause subsequent - data to be interpreted incorrectly. A compliant decompressor must - give an error indication if FDICT is set and DICTID is not the - identifier of a known preset dictionary. A decompressor may - ignore FLEVEL and still be compliant. When the zlib data format - is being used as a part of another standard format, a compliant - decompressor must support all the preset dictionaries specified by - the other format. When the other format does not use the preset - dictionary feature, a compliant decompressor must reject any - stream in which the FDICT flag is set. - -3. References - - [1] Deutsch, L.P.,"GZIP Compressed Data Format Specification", - available in ftp://ftp.uu.net/pub/archiving/zip/doc/ - - [2] Thomas Boutell, "PNG (Portable Network Graphics) specification", - available in ftp://ftp.uu.net/graphics/png/documents/ - - [3] Deutsch, L.P.,"DEFLATE Compressed Data Format Specification", - available in ftp://ftp.uu.net/pub/archiving/zip/doc/ - - [4] Fletcher, J. G., "An Arithmetic Checksum for Serial - Transmissions," IEEE Transactions on Communications, Vol. COM-30, - No. 1, January 1982, pp. 247-252. - - [5] ITU-T Recommendation X.224, Annex D, "Checksum Algorithms," - November, 1993, pp. 144, 145. (Available from - gopher://info.itu.ch). ITU-T X.244 is also the same as ISO 8073. - - - - - - - -Deutsch & Gailly Informational [Page 7] - -RFC 1950 ZLIB Compressed Data Format Specification May 1996 - - -4. Source code - - Source code for a C language implementation of a "zlib" compliant - library is available at ftp://ftp.uu.net/pub/archiving/zip/zlib/. - -5. Security Considerations - - A decoder that fails to check the ADLER32 checksum value may be - subject to undetected data corruption. - -6. Acknowledgements - - Trademarks cited in this document are the property of their - respective owners. - - Jean-Loup Gailly and Mark Adler designed the zlib format and wrote - the related software described in this specification. Glenn - Randers-Pehrson converted this document to RFC and HTML format. - -7. Authors' Addresses - - L. Peter Deutsch - Aladdin Enterprises - 203 Santa Margarita Ave. - Menlo Park, CA 94025 - - Phone: (415) 322-0103 (AM only) - FAX: (415) 322-1734 - EMail: - - - Jean-Loup Gailly - - EMail: - - Questions about the technical content of this specification can be - sent by email to - - Jean-Loup Gailly and - Mark Adler - - Editorial comments on this specification can be sent by email to - - L. Peter Deutsch and - Glenn Randers-Pehrson - - - - - - -Deutsch & Gailly Informational [Page 8] - -RFC 1950 ZLIB Compressed Data Format Specification May 1996 - - -8. Appendix: Rationale - - 8.1. Preset dictionaries - - A preset dictionary is specially useful to compress short input - sequences. The compressor can take advantage of the dictionary - context to encode the input in a more compact manner. The - decompressor can be initialized with the appropriate context by - virtually decompressing a compressed version of the dictionary - without producing any output. However for certain compression - algorithms such as the deflate algorithm this operation can be - achieved without actually performing any decompression. - - The compressor and the decompressor must use exactly the same - dictionary. The dictionary may be fixed or may be chosen among a - certain number of predefined dictionaries, according to the kind - of input data. The decompressor can determine which dictionary has - been chosen by the compressor by checking the dictionary - identifier. This document does not specify the contents of - predefined dictionaries, since the optimal dictionaries are - application specific. Standard data formats using this feature of - the zlib specification must precisely define the allowed - dictionaries. - - 8.2. The Adler-32 algorithm - - The Adler-32 algorithm is much faster than the CRC32 algorithm yet - still provides an extremely low probability of undetected errors. - - The modulo on unsigned long accumulators can be delayed for 5552 - bytes, so the modulo operation time is negligible. If the bytes - are a, b, c, the second sum is 3a + 2b + c + 3, and so is position - and order sensitive, unlike the first sum, which is just a - checksum. That 65521 is prime is important to avoid a possible - large class of two-byte errors that leave the check unchanged. - (The Fletcher checksum uses 255, which is not prime and which also - makes the Fletcher check insensitive to single byte changes 0 <-> - 255.) - - The sum s1 is initialized to 1 instead of zero to make the length - of the sequence part of s2, so that the length does not have to be - checked separately. (Any sequence of zeroes has a Fletcher - checksum of zero.) - - - - - - - - -Deutsch & Gailly Informational [Page 9] - -RFC 1950 ZLIB Compressed Data Format Specification May 1996 - - -9. Appendix: Sample code - - The following C code computes the Adler-32 checksum of a data buffer. - It is written for clarity, not for speed. The sample code is in the - ANSI C programming language. Non C users may find it easier to read - with these hints: - - & Bitwise AND operator. - >> Bitwise right shift operator. When applied to an - unsigned quantity, as here, right shift inserts zero bit(s) - at the left. - << Bitwise left shift operator. Left shift inserts zero - bit(s) at the right. - ++ "n++" increments the variable n. - % modulo operator: a % b is the remainder of a divided by b. - - #define BASE 65521 /* largest prime smaller than 65536 */ - - /* - Update a running Adler-32 checksum with the bytes buf[0..len-1] - and return the updated checksum. The Adler-32 checksum should be - initialized to 1. - - Usage example: - - unsigned long adler = 1L; - - while (read_buffer(buffer, length) != EOF) { - adler = update_adler32(adler, buffer, length); - } - if (adler != original_adler) error(); - */ - unsigned long update_adler32(unsigned long adler, - unsigned char *buf, int len) - { - unsigned long s1 = adler & 0xffff; - unsigned long s2 = (adler >> 16) & 0xffff; - int n; - - for (n = 0; n < len; n++) { - s1 = (s1 + buf[n]) % BASE; - s2 = (s2 + s1) % BASE; - } - return (s2 << 16) + s1; - } - - /* Return the adler32 of the bytes buf[0..len-1] */ - - - - -Deutsch & Gailly Informational [Page 10] - -RFC 1950 ZLIB Compressed Data Format Specification May 1996 - - - unsigned long adler32(unsigned char *buf, int len) - { - return update_adler32(1L, buf, len); - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Deutsch & Gailly Informational [Page 11] - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/doc/rfc1951.txt b/org.simantics.modelica/FMUSolution/zlib-1.2.6/doc/rfc1951.txt deleted file mode 100644 index 403c8c72..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/doc/rfc1951.txt +++ /dev/null @@ -1,955 +0,0 @@ - - - - - - -Network Working Group P. Deutsch -Request for Comments: 1951 Aladdin Enterprises -Category: Informational May 1996 - - - DEFLATE Compressed Data Format Specification version 1.3 - -Status of This Memo - - This memo provides information for the Internet community. This memo - does not specify an Internet standard of any kind. Distribution of - this memo is unlimited. - -IESG Note: - - The IESG takes no position on the validity of any Intellectual - Property Rights statements contained in this document. - -Notices - - Copyright (c) 1996 L. Peter Deutsch - - Permission is granted to copy and distribute this document for any - purpose and without charge, including translations into other - languages and incorporation into compilations, provided that the - copyright notice and this notice are preserved, and that any - substantive changes or deletions from the original are clearly - marked. - - A pointer to the latest version of this and related documentation in - HTML format can be found at the URL - . - -Abstract - - This specification defines a lossless compressed data format that - compresses data using a combination of the LZ77 algorithm and Huffman - coding, with efficiency comparable to the best currently available - general-purpose compression methods. The data can be produced or - consumed, even for an arbitrarily long sequentially presented input - data stream, using only an a priori bounded amount of intermediate - storage. The format can be implemented readily in a manner not - covered by patents. - - - - - - - - -Deutsch Informational [Page 1] - -RFC 1951 DEFLATE Compressed Data Format Specification May 1996 - - -Table of Contents - - 1. Introduction ................................................... 2 - 1.1. Purpose ................................................... 2 - 1.2. Intended audience ......................................... 3 - 1.3. Scope ..................................................... 3 - 1.4. Compliance ................................................ 3 - 1.5. Definitions of terms and conventions used ................ 3 - 1.6. Changes from previous versions ............................ 4 - 2. Compressed representation overview ............................. 4 - 3. Detailed specification ......................................... 5 - 3.1. Overall conventions ....................................... 5 - 3.1.1. Packing into bytes .................................. 5 - 3.2. Compressed block format ................................... 6 - 3.2.1. Synopsis of prefix and Huffman coding ............... 6 - 3.2.2. Use of Huffman coding in the "deflate" format ....... 7 - 3.2.3. Details of block format ............................. 9 - 3.2.4. Non-compressed blocks (BTYPE=00) ................... 11 - 3.2.5. Compressed blocks (length and distance codes) ...... 11 - 3.2.6. Compression with fixed Huffman codes (BTYPE=01) .... 12 - 3.2.7. Compression with dynamic Huffman codes (BTYPE=10) .. 13 - 3.3. Compliance ............................................... 14 - 4. Compression algorithm details ................................. 14 - 5. References .................................................... 16 - 6. Security Considerations ....................................... 16 - 7. Source code ................................................... 16 - 8. Acknowledgements .............................................. 16 - 9. Author's Address .............................................. 17 - -1. Introduction - - 1.1. Purpose - - The purpose of this specification is to define a lossless - compressed data format that: - * Is independent of CPU type, operating system, file system, - and character set, and hence can be used for interchange; - * Can be produced or consumed, even for an arbitrarily long - sequentially presented input data stream, using only an a - priori bounded amount of intermediate storage, and hence - can be used in data communications or similar structures - such as Unix filters; - * Compresses data with efficiency comparable to the best - currently available general-purpose compression methods, - and in particular considerably better than the "compress" - program; - * Can be implemented readily in a manner not covered by - patents, and hence can be practiced freely; - - - -Deutsch Informational [Page 2] - -RFC 1951 DEFLATE Compressed Data Format Specification May 1996 - - - * Is compatible with the file format produced by the current - widely used gzip utility, in that conforming decompressors - will be able to read data produced by the existing gzip - compressor. - - The data format defined by this specification does not attempt to: - - * Allow random access to compressed data; - * Compress specialized data (e.g., raster graphics) as well - as the best currently available specialized algorithms. - - A simple counting argument shows that no lossless compression - algorithm can compress every possible input data set. For the - format defined here, the worst case expansion is 5 bytes per 32K- - byte block, i.e., a size increase of 0.015% for large data sets. - English text usually compresses by a factor of 2.5 to 3; - executable files usually compress somewhat less; graphical data - such as raster images may compress much more. - - 1.2. Intended audience - - This specification is intended for use by implementors of software - to compress data into "deflate" format and/or decompress data from - "deflate" format. - - The text of the specification assumes a basic background in - programming at the level of bits and other primitive data - representations. Familiarity with the technique of Huffman coding - is helpful but not required. - - 1.3. Scope - - The specification specifies a method for representing a sequence - of bytes as a (usually shorter) sequence of bits, and a method for - packing the latter bit sequence into bytes. - - 1.4. Compliance - - Unless otherwise indicated below, a compliant decompressor must be - able to accept and decompress any data set that conforms to all - the specifications presented here; a compliant compressor must - produce data sets that conform to all the specifications presented - here. - - 1.5. Definitions of terms and conventions used - - Byte: 8 bits stored or transmitted as a unit (same as an octet). - For this specification, a byte is exactly 8 bits, even on machines - - - -Deutsch Informational [Page 3] - -RFC 1951 DEFLATE Compressed Data Format Specification May 1996 - - - which store a character on a number of bits different from eight. - See below, for the numbering of bits within a byte. - - String: a sequence of arbitrary bytes. - - 1.6. Changes from previous versions - - There have been no technical changes to the deflate format since - version 1.1 of this specification. In version 1.2, some - terminology was changed. Version 1.3 is a conversion of the - specification to RFC style. - -2. Compressed representation overview - - A compressed data set consists of a series of blocks, corresponding - to successive blocks of input data. The block sizes are arbitrary, - except that non-compressible blocks are limited to 65,535 bytes. - - Each block is compressed using a combination of the LZ77 algorithm - and Huffman coding. The Huffman trees for each block are independent - of those for previous or subsequent blocks; the LZ77 algorithm may - use a reference to a duplicated string occurring in a previous block, - up to 32K input bytes before. - - Each block consists of two parts: a pair of Huffman code trees that - describe the representation of the compressed data part, and a - compressed data part. (The Huffman trees themselves are compressed - using Huffman encoding.) The compressed data consists of a series of - elements of two types: literal bytes (of strings that have not been - detected as duplicated within the previous 32K input bytes), and - pointers to duplicated strings, where a pointer is represented as a - pair . The representation used in the - "deflate" format limits distances to 32K bytes and lengths to 258 - bytes, but does not limit the size of a block, except for - uncompressible blocks, which are limited as noted above. - - Each type of value (literals, distances, and lengths) in the - compressed data is represented using a Huffman code, using one code - tree for literals and lengths and a separate code tree for distances. - The code trees for each block appear in a compact form just before - the compressed data for that block. - - - - - - - - - - -Deutsch Informational [Page 4] - -RFC 1951 DEFLATE Compressed Data Format Specification May 1996 - - -3. Detailed specification - - 3.1. Overall conventions In the diagrams below, a box like this: - - +---+ - | | <-- the vertical bars might be missing - +---+ - - represents one byte; a box like this: - - +==============+ - | | - +==============+ - - represents a variable number of bytes. - - Bytes stored within a computer do not have a "bit order", since - they are always treated as a unit. However, a byte considered as - an integer between 0 and 255 does have a most- and least- - significant bit, and since we write numbers with the most- - significant digit on the left, we also write bytes with the most- - significant bit on the left. In the diagrams below, we number the - bits of a byte so that bit 0 is the least-significant bit, i.e., - the bits are numbered: - - +--------+ - |76543210| - +--------+ - - Within a computer, a number may occupy multiple bytes. All - multi-byte numbers in the format described here are stored with - the least-significant byte first (at the lower memory address). - For example, the decimal number 520 is stored as: - - 0 1 - +--------+--------+ - |00001000|00000010| - +--------+--------+ - ^ ^ - | | - | + more significant byte = 2 x 256 - + less significant byte = 8 - - 3.1.1. Packing into bytes - - This document does not address the issue of the order in which - bits of a byte are transmitted on a bit-sequential medium, - since the final data format described here is byte- rather than - - - -Deutsch Informational [Page 5] - -RFC 1951 DEFLATE Compressed Data Format Specification May 1996 - - - bit-oriented. However, we describe the compressed block format - in below, as a sequence of data elements of various bit - lengths, not a sequence of bytes. We must therefore specify - how to pack these data elements into bytes to form the final - compressed byte sequence: - - * Data elements are packed into bytes in order of - increasing bit number within the byte, i.e., starting - with the least-significant bit of the byte. - * Data elements other than Huffman codes are packed - starting with the least-significant bit of the data - element. - * Huffman codes are packed starting with the most- - significant bit of the code. - - In other words, if one were to print out the compressed data as - a sequence of bytes, starting with the first byte at the - *right* margin and proceeding to the *left*, with the most- - significant bit of each byte on the left as usual, one would be - able to parse the result from right to left, with fixed-width - elements in the correct MSB-to-LSB order and Huffman codes in - bit-reversed order (i.e., with the first bit of the code in the - relative LSB position). - - 3.2. Compressed block format - - 3.2.1. Synopsis of prefix and Huffman coding - - Prefix coding represents symbols from an a priori known - alphabet by bit sequences (codes), one code for each symbol, in - a manner such that different symbols may be represented by bit - sequences of different lengths, but a parser can always parse - an encoded string unambiguously symbol-by-symbol. - - We define a prefix code in terms of a binary tree in which the - two edges descending from each non-leaf node are labeled 0 and - 1 and in which the leaf nodes correspond one-for-one with (are - labeled with) the symbols of the alphabet; then the code for a - symbol is the sequence of 0's and 1's on the edges leading from - the root to the leaf labeled with that symbol. For example: - - - - - - - - - - - -Deutsch Informational [Page 6] - -RFC 1951 DEFLATE Compressed Data Format Specification May 1996 - - - /\ Symbol Code - 0 1 ------ ---- - / \ A 00 - /\ B B 1 - 0 1 C 011 - / \ D 010 - A /\ - 0 1 - / \ - D C - - A parser can decode the next symbol from an encoded input - stream by walking down the tree from the root, at each step - choosing the edge corresponding to the next input bit. - - Given an alphabet with known symbol frequencies, the Huffman - algorithm allows the construction of an optimal prefix code - (one which represents strings with those symbol frequencies - using the fewest bits of any possible prefix codes for that - alphabet). Such a code is called a Huffman code. (See - reference [1] in Chapter 5, references for additional - information on Huffman codes.) - - Note that in the "deflate" format, the Huffman codes for the - various alphabets must not exceed certain maximum code lengths. - This constraint complicates the algorithm for computing code - lengths from symbol frequencies. Again, see Chapter 5, - references for details. - - 3.2.2. Use of Huffman coding in the "deflate" format - - The Huffman codes used for each alphabet in the "deflate" - format have two additional rules: - - * All codes of a given bit length have lexicographically - consecutive values, in the same order as the symbols - they represent; - - * Shorter codes lexicographically precede longer codes. - - - - - - - - - - - - -Deutsch Informational [Page 7] - -RFC 1951 DEFLATE Compressed Data Format Specification May 1996 - - - We could recode the example above to follow this rule as - follows, assuming that the order of the alphabet is ABCD: - - Symbol Code - ------ ---- - A 10 - B 0 - C 110 - D 111 - - I.e., 0 precedes 10 which precedes 11x, and 110 and 111 are - lexicographically consecutive. - - Given this rule, we can define the Huffman code for an alphabet - just by giving the bit lengths of the codes for each symbol of - the alphabet in order; this is sufficient to determine the - actual codes. In our example, the code is completely defined - by the sequence of bit lengths (2, 1, 3, 3). The following - algorithm generates the codes as integers, intended to be read - from most- to least-significant bit. The code lengths are - initially in tree[I].Len; the codes are produced in - tree[I].Code. - - 1) Count the number of codes for each code length. Let - bl_count[N] be the number of codes of length N, N >= 1. - - 2) Find the numerical value of the smallest code for each - code length: - - code = 0; - bl_count[0] = 0; - for (bits = 1; bits <= MAX_BITS; bits++) { - code = (code + bl_count[bits-1]) << 1; - next_code[bits] = code; - } - - 3) Assign numerical values to all codes, using consecutive - values for all codes of the same length with the base - values determined at step 2. Codes that are never used - (which have a bit length of zero) must not be assigned a - value. - - for (n = 0; n <= max_code; n++) { - len = tree[n].Len; - if (len != 0) { - tree[n].Code = next_code[len]; - next_code[len]++; - } - - - -Deutsch Informational [Page 8] - -RFC 1951 DEFLATE Compressed Data Format Specification May 1996 - - - } - - Example: - - Consider the alphabet ABCDEFGH, with bit lengths (3, 3, 3, 3, - 3, 2, 4, 4). After step 1, we have: - - N bl_count[N] - - ----------- - 2 1 - 3 5 - 4 2 - - Step 2 computes the following next_code values: - - N next_code[N] - - ------------ - 1 0 - 2 0 - 3 2 - 4 14 - - Step 3 produces the following code values: - - Symbol Length Code - ------ ------ ---- - A 3 010 - B 3 011 - C 3 100 - D 3 101 - E 3 110 - F 2 00 - G 4 1110 - H 4 1111 - - 3.2.3. Details of block format - - Each block of compressed data begins with 3 header bits - containing the following data: - - first bit BFINAL - next 2 bits BTYPE - - Note that the header bits do not necessarily begin on a byte - boundary, since a block does not necessarily occupy an integral - number of bytes. - - - - - -Deutsch Informational [Page 9] - -RFC 1951 DEFLATE Compressed Data Format Specification May 1996 - - - BFINAL is set if and only if this is the last block of the data - set. - - BTYPE specifies how the data are compressed, as follows: - - 00 - no compression - 01 - compressed with fixed Huffman codes - 10 - compressed with dynamic Huffman codes - 11 - reserved (error) - - The only difference between the two compressed cases is how the - Huffman codes for the literal/length and distance alphabets are - defined. - - In all cases, the decoding algorithm for the actual data is as - follows: - - do - read block header from input stream. - if stored with no compression - skip any remaining bits in current partially - processed byte - read LEN and NLEN (see next section) - copy LEN bytes of data to output - otherwise - if compressed with dynamic Huffman codes - read representation of code trees (see - subsection below) - loop (until end of block code recognized) - decode literal/length value from input stream - if value < 256 - copy value (literal byte) to output stream - otherwise - if value = end of block (256) - break from loop - otherwise (value = 257..285) - decode distance from input stream - - move backwards distance bytes in the output - stream, and copy length bytes from this - position to the output stream. - end loop - while not last block - - Note that a duplicated string reference may refer to a string - in a previous block; i.e., the backward distance may cross one - or more block boundaries. However a distance cannot refer past - the beginning of the output stream. (An application using a - - - -Deutsch Informational [Page 10] - -RFC 1951 DEFLATE Compressed Data Format Specification May 1996 - - - preset dictionary might discard part of the output stream; a - distance can refer to that part of the output stream anyway) - Note also that the referenced string may overlap the current - position; for example, if the last 2 bytes decoded have values - X and Y, a string reference with - adds X,Y,X,Y,X to the output stream. - - We now specify each compression method in turn. - - 3.2.4. Non-compressed blocks (BTYPE=00) - - Any bits of input up to the next byte boundary are ignored. - The rest of the block consists of the following information: - - 0 1 2 3 4... - +---+---+---+---+================================+ - | LEN | NLEN |... LEN bytes of literal data...| - +---+---+---+---+================================+ - - LEN is the number of data bytes in the block. NLEN is the - one's complement of LEN. - - 3.2.5. Compressed blocks (length and distance codes) - - As noted above, encoded data blocks in the "deflate" format - consist of sequences of symbols drawn from three conceptually - distinct alphabets: either literal bytes, from the alphabet of - byte values (0..255), or pairs, - where the length is drawn from (3..258) and the distance is - drawn from (1..32,768). In fact, the literal and length - alphabets are merged into a single alphabet (0..285), where - values 0..255 represent literal bytes, the value 256 indicates - end-of-block, and values 257..285 represent length codes - (possibly in conjunction with extra bits following the symbol - code) as follows: - - - - - - - - - - - - - - - - -Deutsch Informational [Page 11] - -RFC 1951 DEFLATE Compressed Data Format Specification May 1996 - - - Extra Extra Extra - Code Bits Length(s) Code Bits Lengths Code Bits Length(s) - ---- ---- ------ ---- ---- ------- ---- ---- ------- - 257 0 3 267 1 15,16 277 4 67-82 - 258 0 4 268 1 17,18 278 4 83-98 - 259 0 5 269 2 19-22 279 4 99-114 - 260 0 6 270 2 23-26 280 4 115-130 - 261 0 7 271 2 27-30 281 5 131-162 - 262 0 8 272 2 31-34 282 5 163-194 - 263 0 9 273 3 35-42 283 5 195-226 - 264 0 10 274 3 43-50 284 5 227-257 - 265 1 11,12 275 3 51-58 285 0 258 - 266 1 13,14 276 3 59-66 - - The extra bits should be interpreted as a machine integer - stored with the most-significant bit first, e.g., bits 1110 - represent the value 14. - - Extra Extra Extra - Code Bits Dist Code Bits Dist Code Bits Distance - ---- ---- ---- ---- ---- ------ ---- ---- -------- - 0 0 1 10 4 33-48 20 9 1025-1536 - 1 0 2 11 4 49-64 21 9 1537-2048 - 2 0 3 12 5 65-96 22 10 2049-3072 - 3 0 4 13 5 97-128 23 10 3073-4096 - 4 1 5,6 14 6 129-192 24 11 4097-6144 - 5 1 7,8 15 6 193-256 25 11 6145-8192 - 6 2 9-12 16 7 257-384 26 12 8193-12288 - 7 2 13-16 17 7 385-512 27 12 12289-16384 - 8 3 17-24 18 8 513-768 28 13 16385-24576 - 9 3 25-32 19 8 769-1024 29 13 24577-32768 - - 3.2.6. Compression with fixed Huffman codes (BTYPE=01) - - The Huffman codes for the two alphabets are fixed, and are not - represented explicitly in the data. The Huffman code lengths - for the literal/length alphabet are: - - Lit Value Bits Codes - --------- ---- ----- - 0 - 143 8 00110000 through - 10111111 - 144 - 255 9 110010000 through - 111111111 - 256 - 279 7 0000000 through - 0010111 - 280 - 287 8 11000000 through - 11000111 - - - -Deutsch Informational [Page 12] - -RFC 1951 DEFLATE Compressed Data Format Specification May 1996 - - - The code lengths are sufficient to generate the actual codes, - as described above; we show the codes in the table for added - clarity. Literal/length values 286-287 will never actually - occur in the compressed data, but participate in the code - construction. - - Distance codes 0-31 are represented by (fixed-length) 5-bit - codes, with possible additional bits as shown in the table - shown in Paragraph 3.2.5, above. Note that distance codes 30- - 31 will never actually occur in the compressed data. - - 3.2.7. Compression with dynamic Huffman codes (BTYPE=10) - - The Huffman codes for the two alphabets appear in the block - immediately after the header bits and before the actual - compressed data, first the literal/length code and then the - distance code. Each code is defined by a sequence of code - lengths, as discussed in Paragraph 3.2.2, above. For even - greater compactness, the code length sequences themselves are - compressed using a Huffman code. The alphabet for code lengths - is as follows: - - 0 - 15: Represent code lengths of 0 - 15 - 16: Copy the previous code length 3 - 6 times. - The next 2 bits indicate repeat length - (0 = 3, ... , 3 = 6) - Example: Codes 8, 16 (+2 bits 11), - 16 (+2 bits 10) will expand to - 12 code lengths of 8 (1 + 6 + 5) - 17: Repeat a code length of 0 for 3 - 10 times. - (3 bits of length) - 18: Repeat a code length of 0 for 11 - 138 times - (7 bits of length) - - A code length of 0 indicates that the corresponding symbol in - the literal/length or distance alphabet will not occur in the - block, and should not participate in the Huffman code - construction algorithm given earlier. If only one distance - code is used, it is encoded using one bit, not zero bits; in - this case there is a single code length of one, with one unused - code. One distance code of zero bits means that there are no - distance codes used at all (the data is all literals). - - We can now define the format of the block: - - 5 Bits: HLIT, # of Literal/Length codes - 257 (257 - 286) - 5 Bits: HDIST, # of Distance codes - 1 (1 - 32) - 4 Bits: HCLEN, # of Code Length codes - 4 (4 - 19) - - - -Deutsch Informational [Page 13] - -RFC 1951 DEFLATE Compressed Data Format Specification May 1996 - - - (HCLEN + 4) x 3 bits: code lengths for the code length - alphabet given just above, in the order: 16, 17, 18, - 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 - - These code lengths are interpreted as 3-bit integers - (0-7); as above, a code length of 0 means the - corresponding symbol (literal/length or distance code - length) is not used. - - HLIT + 257 code lengths for the literal/length alphabet, - encoded using the code length Huffman code - - HDIST + 1 code lengths for the distance alphabet, - encoded using the code length Huffman code - - The actual compressed data of the block, - encoded using the literal/length and distance Huffman - codes - - The literal/length symbol 256 (end of data), - encoded using the literal/length Huffman code - - The code length repeat codes can cross from HLIT + 257 to the - HDIST + 1 code lengths. In other words, all code lengths form - a single sequence of HLIT + HDIST + 258 values. - - 3.3. Compliance - - A compressor may limit further the ranges of values specified in - the previous section and still be compliant; for example, it may - limit the range of backward pointers to some value smaller than - 32K. Similarly, a compressor may limit the size of blocks so that - a compressible block fits in memory. - - A compliant decompressor must accept the full range of possible - values defined in the previous section, and must accept blocks of - arbitrary size. - -4. Compression algorithm details - - While it is the intent of this document to define the "deflate" - compressed data format without reference to any particular - compression algorithm, the format is related to the compressed - formats produced by LZ77 (Lempel-Ziv 1977, see reference [2] below); - since many variations of LZ77 are patented, it is strongly - recommended that the implementor of a compressor follow the general - algorithm presented here, which is known not to be patented per se. - The material in this section is not part of the definition of the - - - -Deutsch Informational [Page 14] - -RFC 1951 DEFLATE Compressed Data Format Specification May 1996 - - - specification per se, and a compressor need not follow it in order to - be compliant. - - The compressor terminates a block when it determines that starting a - new block with fresh trees would be useful, or when the block size - fills up the compressor's block buffer. - - The compressor uses a chained hash table to find duplicated strings, - using a hash function that operates on 3-byte sequences. At any - given point during compression, let XYZ be the next 3 input bytes to - be examined (not necessarily all different, of course). First, the - compressor examines the hash chain for XYZ. If the chain is empty, - the compressor simply writes out X as a literal byte and advances one - byte in the input. If the hash chain is not empty, indicating that - the sequence XYZ (or, if we are unlucky, some other 3 bytes with the - same hash function value) has occurred recently, the compressor - compares all strings on the XYZ hash chain with the actual input data - sequence starting at the current point, and selects the longest - match. - - The compressor searches the hash chains starting with the most recent - strings, to favor small distances and thus take advantage of the - Huffman encoding. The hash chains are singly linked. There are no - deletions from the hash chains; the algorithm simply discards matches - that are too old. To avoid a worst-case situation, very long hash - chains are arbitrarily truncated at a certain length, determined by a - run-time parameter. - - To improve overall compression, the compressor optionally defers the - selection of matches ("lazy matching"): after a match of length N has - been found, the compressor searches for a longer match starting at - the next input byte. If it finds a longer match, it truncates the - previous match to a length of one (thus producing a single literal - byte) and then emits the longer match. Otherwise, it emits the - original match, and, as described above, advances N bytes before - continuing. - - Run-time parameters also control this "lazy match" procedure. If - compression ratio is most important, the compressor attempts a - complete second search regardless of the length of the first match. - In the normal case, if the current match is "long enough", the - compressor reduces the search for a longer match, thus speeding up - the process. If speed is most important, the compressor inserts new - strings in the hash table only when no match was found, or when the - match is not "too long". This degrades the compression ratio but - saves time since there are both fewer insertions and fewer searches. - - - - - -Deutsch Informational [Page 15] - -RFC 1951 DEFLATE Compressed Data Format Specification May 1996 - - -5. References - - [1] Huffman, D. A., "A Method for the Construction of Minimum - Redundancy Codes", Proceedings of the Institute of Radio - Engineers, September 1952, Volume 40, Number 9, pp. 1098-1101. - - [2] Ziv J., Lempel A., "A Universal Algorithm for Sequential Data - Compression", IEEE Transactions on Information Theory, Vol. 23, - No. 3, pp. 337-343. - - [3] Gailly, J.-L., and Adler, M., ZLIB documentation and sources, - available in ftp://ftp.uu.net/pub/archiving/zip/doc/ - - [4] Gailly, J.-L., and Adler, M., GZIP documentation and sources, - available as gzip-*.tar in ftp://prep.ai.mit.edu/pub/gnu/ - - [5] Schwartz, E. S., and Kallick, B. "Generating a canonical prefix - encoding." Comm. ACM, 7,3 (Mar. 1964), pp. 166-169. - - [6] Hirschberg and Lelewer, "Efficient decoding of prefix codes," - Comm. ACM, 33,4, April 1990, pp. 449-459. - -6. Security Considerations - - Any data compression method involves the reduction of redundancy in - the data. Consequently, any corruption of the data is likely to have - severe effects and be difficult to correct. Uncompressed text, on - the other hand, will probably still be readable despite the presence - of some corrupted bytes. - - It is recommended that systems using this data format provide some - means of validating the integrity of the compressed data. See - reference [3], for example. - -7. Source code - - Source code for a C language implementation of a "deflate" compliant - compressor and decompressor is available within the zlib package at - ftp://ftp.uu.net/pub/archiving/zip/zlib/. - -8. Acknowledgements - - Trademarks cited in this document are the property of their - respective owners. - - Phil Katz designed the deflate format. Jean-Loup Gailly and Mark - Adler wrote the related software described in this specification. - Glenn Randers-Pehrson converted this document to RFC and HTML format. - - - -Deutsch Informational [Page 16] - -RFC 1951 DEFLATE Compressed Data Format Specification May 1996 - - -9. Author's Address - - L. Peter Deutsch - Aladdin Enterprises - 203 Santa Margarita Ave. - Menlo Park, CA 94025 - - Phone: (415) 322-0103 (AM only) - FAX: (415) 322-1734 - EMail: - - Questions about the technical content of this specification can be - sent by email to: - - Jean-Loup Gailly and - Mark Adler - - Editorial comments on this specification can be sent by email to: - - L. Peter Deutsch and - Glenn Randers-Pehrson - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Deutsch Informational [Page 17] - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/doc/rfc1952.txt b/org.simantics.modelica/FMUSolution/zlib-1.2.6/doc/rfc1952.txt deleted file mode 100644 index a8e51b45..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/doc/rfc1952.txt +++ /dev/null @@ -1,675 +0,0 @@ - - - - - - -Network Working Group P. Deutsch -Request for Comments: 1952 Aladdin Enterprises -Category: Informational May 1996 - - - GZIP file format specification version 4.3 - -Status of This Memo - - This memo provides information for the Internet community. This memo - does not specify an Internet standard of any kind. Distribution of - this memo is unlimited. - -IESG Note: - - The IESG takes no position on the validity of any Intellectual - Property Rights statements contained in this document. - -Notices - - Copyright (c) 1996 L. Peter Deutsch - - Permission is granted to copy and distribute this document for any - purpose and without charge, including translations into other - languages and incorporation into compilations, provided that the - copyright notice and this notice are preserved, and that any - substantive changes or deletions from the original are clearly - marked. - - A pointer to the latest version of this and related documentation in - HTML format can be found at the URL - . - -Abstract - - This specification defines a lossless compressed data format that is - compatible with the widely used GZIP utility. The format includes a - cyclic redundancy check value for detecting data corruption. The - format presently uses the DEFLATE method of compression but can be - easily extended to use other compression methods. The format can be - implemented readily in a manner not covered by patents. - - - - - - - - - - -Deutsch Informational [Page 1] - -RFC 1952 GZIP File Format Specification May 1996 - - -Table of Contents - - 1. Introduction ................................................... 2 - 1.1. Purpose ................................................... 2 - 1.2. Intended audience ......................................... 3 - 1.3. Scope ..................................................... 3 - 1.4. Compliance ................................................ 3 - 1.5. Definitions of terms and conventions used ................. 3 - 1.6. Changes from previous versions ............................ 3 - 2. Detailed specification ......................................... 4 - 2.1. Overall conventions ....................................... 4 - 2.2. File format ............................................... 5 - 2.3. Member format ............................................. 5 - 2.3.1. Member header and trailer ........................... 6 - 2.3.1.1. Extra field ................................... 8 - 2.3.1.2. Compliance .................................... 9 - 3. References .................................................. 9 - 4. Security Considerations .................................... 10 - 5. Acknowledgements ........................................... 10 - 6. Author's Address ........................................... 10 - 7. Appendix: Jean-Loup Gailly's gzip utility .................. 11 - 8. Appendix: Sample CRC Code .................................. 11 - -1. Introduction - - 1.1. Purpose - - The purpose of this specification is to define a lossless - compressed data format that: - - * Is independent of CPU type, operating system, file system, - and character set, and hence can be used for interchange; - * Can compress or decompress a data stream (as opposed to a - randomly accessible file) to produce another data stream, - using only an a priori bounded amount of intermediate - storage, and hence can be used in data communications or - similar structures such as Unix filters; - * Compresses data with efficiency comparable to the best - currently available general-purpose compression methods, - and in particular considerably better than the "compress" - program; - * Can be implemented readily in a manner not covered by - patents, and hence can be practiced freely; - * Is compatible with the file format produced by the current - widely used gzip utility, in that conforming decompressors - will be able to read data produced by the existing gzip - compressor. - - - - -Deutsch Informational [Page 2] - -RFC 1952 GZIP File Format Specification May 1996 - - - The data format defined by this specification does not attempt to: - - * Provide random access to compressed data; - * Compress specialized data (e.g., raster graphics) as well as - the best currently available specialized algorithms. - - 1.2. Intended audience - - This specification is intended for use by implementors of software - to compress data into gzip format and/or decompress data from gzip - format. - - The text of the specification assumes a basic background in - programming at the level of bits and other primitive data - representations. - - 1.3. Scope - - The specification specifies a compression method and a file format - (the latter assuming only that a file can store a sequence of - arbitrary bytes). It does not specify any particular interface to - a file system or anything about character sets or encodings - (except for file names and comments, which are optional). - - 1.4. Compliance - - Unless otherwise indicated below, a compliant decompressor must be - able to accept and decompress any file that conforms to all the - specifications presented here; a compliant compressor must produce - files that conform to all the specifications presented here. The - material in the appendices is not part of the specification per se - and is not relevant to compliance. - - 1.5. Definitions of terms and conventions used - - byte: 8 bits stored or transmitted as a unit (same as an octet). - (For this specification, a byte is exactly 8 bits, even on - machines which store a character on a number of bits different - from 8.) See below for the numbering of bits within a byte. - - 1.6. Changes from previous versions - - There have been no technical changes to the gzip format since - version 4.1 of this specification. In version 4.2, some - terminology was changed, and the sample CRC code was rewritten for - clarity and to eliminate the requirement for the caller to do pre- - and post-conditioning. Version 4.3 is a conversion of the - specification to RFC style. - - - -Deutsch Informational [Page 3] - -RFC 1952 GZIP File Format Specification May 1996 - - -2. Detailed specification - - 2.1. Overall conventions - - In the diagrams below, a box like this: - - +---+ - | | <-- the vertical bars might be missing - +---+ - - represents one byte; a box like this: - - +==============+ - | | - +==============+ - - represents a variable number of bytes. - - Bytes stored within a computer do not have a "bit order", since - they are always treated as a unit. However, a byte considered as - an integer between 0 and 255 does have a most- and least- - significant bit, and since we write numbers with the most- - significant digit on the left, we also write bytes with the most- - significant bit on the left. In the diagrams below, we number the - bits of a byte so that bit 0 is the least-significant bit, i.e., - the bits are numbered: - - +--------+ - |76543210| - +--------+ - - This document does not address the issue of the order in which - bits of a byte are transmitted on a bit-sequential medium, since - the data format described here is byte- rather than bit-oriented. - - Within a computer, a number may occupy multiple bytes. All - multi-byte numbers in the format described here are stored with - the least-significant byte first (at the lower memory address). - For example, the decimal number 520 is stored as: - - 0 1 - +--------+--------+ - |00001000|00000010| - +--------+--------+ - ^ ^ - | | - | + more significant byte = 2 x 256 - + less significant byte = 8 - - - -Deutsch Informational [Page 4] - -RFC 1952 GZIP File Format Specification May 1996 - - - 2.2. File format - - A gzip file consists of a series of "members" (compressed data - sets). The format of each member is specified in the following - section. The members simply appear one after another in the file, - with no additional information before, between, or after them. - - 2.3. Member format - - Each member has the following structure: - - +---+---+---+---+---+---+---+---+---+---+ - |ID1|ID2|CM |FLG| MTIME |XFL|OS | (more-->) - +---+---+---+---+---+---+---+---+---+---+ - - (if FLG.FEXTRA set) - - +---+---+=================================+ - | XLEN |...XLEN bytes of "extra field"...| (more-->) - +---+---+=================================+ - - (if FLG.FNAME set) - - +=========================================+ - |...original file name, zero-terminated...| (more-->) - +=========================================+ - - (if FLG.FCOMMENT set) - - +===================================+ - |...file comment, zero-terminated...| (more-->) - +===================================+ - - (if FLG.FHCRC set) - - +---+---+ - | CRC16 | - +---+---+ - - +=======================+ - |...compressed blocks...| (more-->) - +=======================+ - - 0 1 2 3 4 5 6 7 - +---+---+---+---+---+---+---+---+ - | CRC32 | ISIZE | - +---+---+---+---+---+---+---+---+ - - - - -Deutsch Informational [Page 5] - -RFC 1952 GZIP File Format Specification May 1996 - - - 2.3.1. Member header and trailer - - ID1 (IDentification 1) - ID2 (IDentification 2) - These have the fixed values ID1 = 31 (0x1f, \037), ID2 = 139 - (0x8b, \213), to identify the file as being in gzip format. - - CM (Compression Method) - This identifies the compression method used in the file. CM - = 0-7 are reserved. CM = 8 denotes the "deflate" - compression method, which is the one customarily used by - gzip and which is documented elsewhere. - - FLG (FLaGs) - This flag byte is divided into individual bits as follows: - - bit 0 FTEXT - bit 1 FHCRC - bit 2 FEXTRA - bit 3 FNAME - bit 4 FCOMMENT - bit 5 reserved - bit 6 reserved - bit 7 reserved - - If FTEXT is set, the file is probably ASCII text. This is - an optional indication, which the compressor may set by - checking a small amount of the input data to see whether any - non-ASCII characters are present. In case of doubt, FTEXT - is cleared, indicating binary data. For systems which have - different file formats for ascii text and binary data, the - decompressor can use FTEXT to choose the appropriate format. - We deliberately do not specify the algorithm used to set - this bit, since a compressor always has the option of - leaving it cleared and a decompressor always has the option - of ignoring it and letting some other program handle issues - of data conversion. - - If FHCRC is set, a CRC16 for the gzip header is present, - immediately before the compressed data. The CRC16 consists - of the two least significant bytes of the CRC32 for all - bytes of the gzip header up to and not including the CRC16. - [The FHCRC bit was never set by versions of gzip up to - 1.2.4, even though it was documented with a different - meaning in gzip 1.2.4.] - - If FEXTRA is set, optional extra fields are present, as - described in a following section. - - - -Deutsch Informational [Page 6] - -RFC 1952 GZIP File Format Specification May 1996 - - - If FNAME is set, an original file name is present, - terminated by a zero byte. The name must consist of ISO - 8859-1 (LATIN-1) characters; on operating systems using - EBCDIC or any other character set for file names, the name - must be translated to the ISO LATIN-1 character set. This - is the original name of the file being compressed, with any - directory components removed, and, if the file being - compressed is on a file system with case insensitive names, - forced to lower case. There is no original file name if the - data was compressed from a source other than a named file; - for example, if the source was stdin on a Unix system, there - is no file name. - - If FCOMMENT is set, a zero-terminated file comment is - present. This comment is not interpreted; it is only - intended for human consumption. The comment must consist of - ISO 8859-1 (LATIN-1) characters. Line breaks should be - denoted by a single line feed character (10 decimal). - - Reserved FLG bits must be zero. - - MTIME (Modification TIME) - This gives the most recent modification time of the original - file being compressed. The time is in Unix format, i.e., - seconds since 00:00:00 GMT, Jan. 1, 1970. (Note that this - may cause problems for MS-DOS and other systems that use - local rather than Universal time.) If the compressed data - did not come from a file, MTIME is set to the time at which - compression started. MTIME = 0 means no time stamp is - available. - - XFL (eXtra FLags) - These flags are available for use by specific compression - methods. The "deflate" method (CM = 8) sets these flags as - follows: - - XFL = 2 - compressor used maximum compression, - slowest algorithm - XFL = 4 - compressor used fastest algorithm - - OS (Operating System) - This identifies the type of file system on which compression - took place. This may be useful in determining end-of-line - convention for text files. The currently defined values are - as follows: - - - - - - -Deutsch Informational [Page 7] - -RFC 1952 GZIP File Format Specification May 1996 - - - 0 - FAT filesystem (MS-DOS, OS/2, NT/Win32) - 1 - Amiga - 2 - VMS (or OpenVMS) - 3 - Unix - 4 - VM/CMS - 5 - Atari TOS - 6 - HPFS filesystem (OS/2, NT) - 7 - Macintosh - 8 - Z-System - 9 - CP/M - 10 - TOPS-20 - 11 - NTFS filesystem (NT) - 12 - QDOS - 13 - Acorn RISCOS - 255 - unknown - - XLEN (eXtra LENgth) - If FLG.FEXTRA is set, this gives the length of the optional - extra field. See below for details. - - CRC32 (CRC-32) - This contains a Cyclic Redundancy Check value of the - uncompressed data computed according to CRC-32 algorithm - used in the ISO 3309 standard and in section 8.1.1.6.2 of - ITU-T recommendation V.42. (See http://www.iso.ch for - ordering ISO documents. See gopher://info.itu.ch for an - online version of ITU-T V.42.) - - ISIZE (Input SIZE) - This contains the size of the original (uncompressed) input - data modulo 2^32. - - 2.3.1.1. Extra field - - If the FLG.FEXTRA bit is set, an "extra field" is present in - the header, with total length XLEN bytes. It consists of a - series of subfields, each of the form: - - +---+---+---+---+==================================+ - |SI1|SI2| LEN |... LEN bytes of subfield data ...| - +---+---+---+---+==================================+ - - SI1 and SI2 provide a subfield ID, typically two ASCII letters - with some mnemonic value. Jean-Loup Gailly - is maintaining a registry of subfield - IDs; please send him any subfield ID you wish to use. Subfield - IDs with SI2 = 0 are reserved for future use. The following - IDs are currently defined: - - - -Deutsch Informational [Page 8] - -RFC 1952 GZIP File Format Specification May 1996 - - - SI1 SI2 Data - ---------- ---------- ---- - 0x41 ('A') 0x70 ('P') Apollo file type information - - LEN gives the length of the subfield data, excluding the 4 - initial bytes. - - 2.3.1.2. Compliance - - A compliant compressor must produce files with correct ID1, - ID2, CM, CRC32, and ISIZE, but may set all the other fields in - the fixed-length part of the header to default values (255 for - OS, 0 for all others). The compressor must set all reserved - bits to zero. - - A compliant decompressor must check ID1, ID2, and CM, and - provide an error indication if any of these have incorrect - values. It must examine FEXTRA/XLEN, FNAME, FCOMMENT and FHCRC - at least so it can skip over the optional fields if they are - present. It need not examine any other part of the header or - trailer; in particular, a decompressor may ignore FTEXT and OS - and always produce binary output, and still be compliant. A - compliant decompressor must give an error indication if any - reserved bit is non-zero, since such a bit could indicate the - presence of a new field that would cause subsequent data to be - interpreted incorrectly. - -3. References - - [1] "Information Processing - 8-bit single-byte coded graphic - character sets - Part 1: Latin alphabet No.1" (ISO 8859-1:1987). - The ISO 8859-1 (Latin-1) character set is a superset of 7-bit - ASCII. Files defining this character set are available as - iso_8859-1.* in ftp://ftp.uu.net/graphics/png/documents/ - - [2] ISO 3309 - - [3] ITU-T recommendation V.42 - - [4] Deutsch, L.P.,"DEFLATE Compressed Data Format Specification", - available in ftp://ftp.uu.net/pub/archiving/zip/doc/ - - [5] Gailly, J.-L., GZIP documentation, available as gzip-*.tar in - ftp://prep.ai.mit.edu/pub/gnu/ - - [6] Sarwate, D.V., "Computation of Cyclic Redundancy Checks via Table - Look-Up", Communications of the ACM, 31(8), pp.1008-1013. - - - - -Deutsch Informational [Page 9] - -RFC 1952 GZIP File Format Specification May 1996 - - - [7] Schwaderer, W.D., "CRC Calculation", April 85 PC Tech Journal, - pp.118-133. - - [8] ftp://ftp.adelaide.edu.au/pub/rocksoft/papers/crc_v3.txt, - describing the CRC concept. - -4. Security Considerations - - Any data compression method involves the reduction of redundancy in - the data. Consequently, any corruption of the data is likely to have - severe effects and be difficult to correct. Uncompressed text, on - the other hand, will probably still be readable despite the presence - of some corrupted bytes. - - It is recommended that systems using this data format provide some - means of validating the integrity of the compressed data, such as by - setting and checking the CRC-32 check value. - -5. Acknowledgements - - Trademarks cited in this document are the property of their - respective owners. - - Jean-Loup Gailly designed the gzip format and wrote, with Mark Adler, - the related software described in this specification. Glenn - Randers-Pehrson converted this document to RFC and HTML format. - -6. Author's Address - - L. Peter Deutsch - Aladdin Enterprises - 203 Santa Margarita Ave. - Menlo Park, CA 94025 - - Phone: (415) 322-0103 (AM only) - FAX: (415) 322-1734 - EMail: - - Questions about the technical content of this specification can be - sent by email to: - - Jean-Loup Gailly and - Mark Adler - - Editorial comments on this specification can be sent by email to: - - L. Peter Deutsch and - Glenn Randers-Pehrson - - - -Deutsch Informational [Page 10] - -RFC 1952 GZIP File Format Specification May 1996 - - -7. Appendix: Jean-Loup Gailly's gzip utility - - The most widely used implementation of gzip compression, and the - original documentation on which this specification is based, were - created by Jean-Loup Gailly . Since this - implementation is a de facto standard, we mention some more of its - features here. Again, the material in this section is not part of - the specification per se, and implementations need not follow it to - be compliant. - - When compressing or decompressing a file, gzip preserves the - protection, ownership, and modification time attributes on the local - file system, since there is no provision for representing protection - attributes in the gzip file format itself. Since the file format - includes a modification time, the gzip decompressor provides a - command line switch that assigns the modification time from the file, - rather than the local modification time of the compressed input, to - the decompressed output. - -8. Appendix: Sample CRC Code - - The following sample code represents a practical implementation of - the CRC (Cyclic Redundancy Check). (See also ISO 3309 and ITU-T V.42 - for a formal specification.) - - The sample code is in the ANSI C programming language. Non C users - may find it easier to read with these hints: - - & Bitwise AND operator. - ^ Bitwise exclusive-OR operator. - >> Bitwise right shift operator. When applied to an - unsigned quantity, as here, right shift inserts zero - bit(s) at the left. - ! Logical NOT operator. - ++ "n++" increments the variable n. - 0xNNN 0x introduces a hexadecimal (base 16) constant. - Suffix L indicates a long value (at least 32 bits). - - /* Table of CRCs of all 8-bit messages. */ - unsigned long crc_table[256]; - - /* Flag: has the table been computed? Initially false. */ - int crc_table_computed = 0; - - /* Make the table for a fast CRC. */ - void make_crc_table(void) - { - unsigned long c; - - - -Deutsch Informational [Page 11] - -RFC 1952 GZIP File Format Specification May 1996 - - - int n, k; - for (n = 0; n < 256; n++) { - c = (unsigned long) n; - for (k = 0; k < 8; k++) { - if (c & 1) { - c = 0xedb88320L ^ (c >> 1); - } else { - c = c >> 1; - } - } - crc_table[n] = c; - } - crc_table_computed = 1; - } - - /* - Update a running crc with the bytes buf[0..len-1] and return - the updated crc. The crc should be initialized to zero. Pre- and - post-conditioning (one's complement) is performed within this - function so it shouldn't be done by the caller. Usage example: - - unsigned long crc = 0L; - - while (read_buffer(buffer, length) != EOF) { - crc = update_crc(crc, buffer, length); - } - if (crc != original_crc) error(); - */ - unsigned long update_crc(unsigned long crc, - unsigned char *buf, int len) - { - unsigned long c = crc ^ 0xffffffffL; - int n; - - if (!crc_table_computed) - make_crc_table(); - for (n = 0; n < len; n++) { - c = crc_table[(c ^ buf[n]) & 0xff] ^ (c >> 8); - } - return c ^ 0xffffffffL; - } - - /* Return the CRC of the bytes buf[0..len-1]. */ - unsigned long crc(unsigned char *buf, int len) - { - return update_crc(0L, buf, len); - } - - - - -Deutsch Informational [Page 12] - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/doc/txtvsbin.txt b/org.simantics.modelica/FMUSolution/zlib-1.2.6/doc/txtvsbin.txt deleted file mode 100644 index 3d0f0634..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/doc/txtvsbin.txt +++ /dev/null @@ -1,107 +0,0 @@ -A Fast Method for Identifying Plain Text Files -============================================== - - -Introduction ------------- - -Given a file coming from an unknown source, it is sometimes desirable -to find out whether the format of that file is plain text. Although -this may appear like a simple task, a fully accurate detection of the -file type requires heavy-duty semantic analysis on the file contents. -It is, however, possible to obtain satisfactory results by employing -various heuristics. - -Previous versions of PKZip and other zip-compatible compression tools -were using a crude detection scheme: if more than 80% (4/5) of the bytes -found in a certain buffer are within the range [7..127], the file is -labeled as plain text, otherwise it is labeled as binary. A prominent -limitation of this scheme is the restriction to Latin-based alphabets. -Other alphabets, like Greek, Cyrillic or Asian, make extensive use of -the bytes within the range [128..255], and texts using these alphabets -are most often misidentified by this scheme; in other words, the rate -of false negatives is sometimes too high, which means that the recall -is low. Another weakness of this scheme is a reduced precision, due to -the false positives that may occur when binary files containing large -amounts of textual characters are misidentified as plain text. - -In this article we propose a new, simple detection scheme that features -a much increased precision and a near-100% recall. This scheme is -designed to work on ASCII, Unicode and other ASCII-derived alphabets, -and it handles single-byte encodings (ISO-8859, MacRoman, KOI8, etc.) -and variable-sized encodings (ISO-2022, UTF-8, etc.). Wider encodings -(UCS-2/UTF-16 and UCS-4/UTF-32) are not handled, however. - - -The Algorithm -------------- - -The algorithm works by dividing the set of bytecodes [0..255] into three -categories: -- The white list of textual bytecodes: - 9 (TAB), 10 (LF), 13 (CR), 32 (SPACE) to 255. -- The gray list of tolerated bytecodes: - 7 (BEL), 8 (BS), 11 (VT), 12 (FF), 26 (SUB), 27 (ESC). -- The black list of undesired, non-textual bytecodes: - 0 (NUL) to 6, 14 to 31. - -If a file contains at least one byte that belongs to the white list and -no byte that belongs to the black list, then the file is categorized as -plain text; otherwise, it is categorized as binary. (The boundary case, -when the file is empty, automatically falls into the latter category.) - - -Rationale ---------- - -The idea behind this algorithm relies on two observations. - -The first observation is that, although the full range of 7-bit codes -[0..127] is properly specified by the ASCII standard, most control -characters in the range [0..31] are not used in practice. The only -widely-used, almost universally-portable control codes are 9 (TAB), -10 (LF) and 13 (CR). There are a few more control codes that are -recognized on a reduced range of platforms and text viewers/editors: -7 (BEL), 8 (BS), 11 (VT), 12 (FF), 26 (SUB) and 27 (ESC); but these -codes are rarely (if ever) used alone, without being accompanied by -some printable text. Even the newer, portable text formats such as -XML avoid using control characters outside the list mentioned here. - -The second observation is that most of the binary files tend to contain -control characters, especially 0 (NUL). Even though the older text -detection schemes observe the presence of non-ASCII codes from the range -[128..255], the precision rarely has to suffer if this upper range is -labeled as textual, because the files that are genuinely binary tend to -contain both control characters and codes from the upper range. On the -other hand, the upper range needs to be labeled as textual, because it -is used by virtually all ASCII extensions. In particular, this range is -used for encoding non-Latin scripts. - -Since there is no counting involved, other than simply observing the -presence or the absence of some byte values, the algorithm produces -consistent results, regardless what alphabet encoding is being used. -(If counting were involved, it could be possible to obtain different -results on a text encoded, say, using ISO-8859-16 versus UTF-8.) - -There is an extra category of plain text files that are "polluted" with -one or more black-listed codes, either by mistake or by peculiar design -considerations. In such cases, a scheme that tolerates a small fraction -of black-listed codes would provide an increased recall (i.e. more true -positives). This, however, incurs a reduced precision overall, since -false positives are more likely to appear in binary files that contain -large chunks of textual data. Furthermore, "polluted" plain text should -be regarded as binary by general-purpose text detection schemes, because -general-purpose text processing algorithms might not be applicable. -Under this premise, it is safe to say that our detection method provides -a near-100% recall. - -Experiments have been run on many files coming from various platforms -and applications. We tried plain text files, system logs, source code, -formatted office documents, compiled object code, etc. The results -confirm the optimistic assumptions about the capabilities of this -algorithm. - - --- -Cosmin Truta -Last updated: 2006-May-28 diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/README.examples b/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/README.examples deleted file mode 100644 index 56a31714..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/README.examples +++ /dev/null @@ -1,49 +0,0 @@ -This directory contains examples of the use of zlib and other relevant -programs and documentation. - -enough.c - calculation and justification of ENOUGH parameter in inftrees.h - - calculates the maximum table space used in inflate tree - construction over all possible Huffman codes - -fitblk.c - compress just enough input to nearly fill a requested output size - - zlib isn't designed to do this, but fitblk does it anyway - -gun.c - uncompress a gzip file - - illustrates the use of inflateBack() for high speed file-to-file - decompression using call-back functions - - is approximately twice as fast as gzip -d - - also provides Unix uncompress functionality, again twice as fast - -gzappend.c - append to a gzip file - - illustrates the use of the Z_BLOCK flush parameter for inflate() - - illustrates the use of deflatePrime() to start at any bit - -gzjoin.c - join gzip files without recalculating the crc or recompressing - - illustrates the use of the Z_BLOCK flush parameter for inflate() - - illustrates the use of crc32_combine() - -gzlog.c -gzlog.h - efficiently and robustly maintain a message log file in gzip format - - illustrates use of raw deflate, Z_PARTIAL_FLUSH, deflatePrime(), - and deflateSetDictionary() - - illustrates use of a gzip header extra field - -zlib_how.html - painfully comprehensive description of zpipe.c (see below) - - describes in excruciating detail the use of deflate() and inflate() - -zpipe.c - reads and writes zlib streams from stdin to stdout - - illustrates the proper use of deflate() and inflate() - - deeply commented in zlib_how.html (see above) - -zran.c - index a zlib or gzip stream and randomly access it - - illustrates the use of Z_BLOCK, inflatePrime(), and - inflateSetDictionary() to provide random access diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/enough.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/enough.c deleted file mode 100644 index c40410ba..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/enough.c +++ /dev/null @@ -1,569 +0,0 @@ -/* enough.c -- determine the maximum size of inflate's Huffman code tables over - * all possible valid and complete Huffman codes, subject to a length limit. - * Copyright (C) 2007, 2008 Mark Adler - * Version 1.3 17 February 2008 Mark Adler - */ - -/* Version history: - 1.0 3 Jan 2007 First version (derived from codecount.c version 1.4) - 1.1 4 Jan 2007 Use faster incremental table usage computation - Prune examine() search on previously visited states - 1.2 5 Jan 2007 Comments clean up - As inflate does, decrease root for short codes - Refuse cases where inflate would increase root - 1.3 17 Feb 2008 Add argument for initial root table size - Fix bug for initial root table size == max - 1 - Use a macro to compute the history index - */ - -/* - Examine all possible Huffman codes for a given number of symbols and a - maximum code length in bits to determine the maximum table size for zilb's - inflate. Only complete Huffman codes are counted. - - Two codes are considered distinct if the vectors of the number of codes per - length are not identical. So permutations of the symbol assignments result - in the same code for the counting, as do permutations of the assignments of - the bit values to the codes (i.e. only canonical codes are counted). - - We build a code from shorter to longer lengths, determining how many symbols - are coded at each length. At each step, we have how many symbols remain to - be coded, what the last code length used was, and how many bit patterns of - that length remain unused. Then we add one to the code length and double the - number of unused patterns to graduate to the next code length. We then - assign all portions of the remaining symbols to that code length that - preserve the properties of a correct and eventually complete code. Those - properties are: we cannot use more bit patterns than are available; and when - all the symbols are used, there are exactly zero possible bit patterns - remaining. - - The inflate Huffman decoding algorithm uses two-level lookup tables for - speed. There is a single first-level table to decode codes up to root bits - in length (root == 9 in the current inflate implementation). The table - has 1 << root entries and is indexed by the next root bits of input. Codes - shorter than root bits have replicated table entries, so that the correct - entry is pointed to regardless of the bits that follow the short code. If - the code is longer than root bits, then the table entry points to a second- - level table. The size of that table is determined by the longest code with - that root-bit prefix. If that longest code has length len, then the table - has size 1 << (len - root), to index the remaining bits in that set of - codes. Each subsequent root-bit prefix then has its own sub-table. The - total number of table entries required by the code is calculated - incrementally as the number of codes at each bit length is populated. When - all of the codes are shorter than root bits, then root is reduced to the - longest code length, resulting in a single, smaller, one-level table. - - The inflate algorithm also provides for small values of root (relative to - the log2 of the number of symbols), where the shortest code has more bits - than root. In that case, root is increased to the length of the shortest - code. This program, by design, does not handle that case, so it is verified - that the number of symbols is less than 2^(root + 1). - - In order to speed up the examination (by about ten orders of magnitude for - the default arguments), the intermediate states in the build-up of a code - are remembered and previously visited branches are pruned. The memory - required for this will increase rapidly with the total number of symbols and - the maximum code length in bits. However this is a very small price to pay - for the vast speedup. - - First, all of the possible Huffman codes are counted, and reachable - intermediate states are noted by a non-zero count in a saved-results array. - Second, the intermediate states that lead to (root + 1) bit or longer codes - are used to look at all sub-codes from those junctures for their inflate - memory usage. (The amount of memory used is not affected by the number of - codes of root bits or less in length.) Third, the visited states in the - construction of those sub-codes and the associated calculation of the table - size is recalled in order to avoid recalculating from the same juncture. - Beginning the code examination at (root + 1) bit codes, which is enabled by - identifying the reachable nodes, accounts for about six of the orders of - magnitude of improvement for the default arguments. About another four - orders of magnitude come from not revisiting previous states. Out of - approximately 2x10^16 possible Huffman codes, only about 2x10^6 sub-codes - need to be examined to cover all of the possible table memory usage cases - for the default arguments of 286 symbols limited to 15-bit codes. - - Note that an unsigned long long type is used for counting. It is quite easy - to exceed the capacity of an eight-byte integer with a large number of - symbols and a large maximum code length, so multiple-precision arithmetic - would need to replace the unsigned long long arithmetic in that case. This - program will abort if an overflow occurs. The big_t type identifies where - the counting takes place. - - An unsigned long long type is also used for calculating the number of - possible codes remaining at the maximum length. This limits the maximum - code length to the number of bits in a long long minus the number of bits - needed to represent the symbols in a flat code. The code_t type identifies - where the bit pattern counting takes place. - */ - -#include -#include -#include -#include - -#define local static - -/* special data types */ -typedef unsigned long long big_t; /* type for code counting */ -typedef unsigned long long code_t; /* type for bit pattern counting */ -struct tab { /* type for been here check */ - size_t len; /* length of bit vector in char's */ - char *vec; /* allocated bit vector */ -}; - -/* The array for saving results, num[], is indexed with this triplet: - - syms: number of symbols remaining to code - left: number of available bit patterns at length len - len: number of bits in the codes currently being assigned - - Those indices are constrained thusly when saving results: - - syms: 3..totsym (totsym == total symbols to code) - left: 2..syms - 1, but only the evens (so syms == 8 -> 2, 4, 6) - len: 1..max - 1 (max == maximum code length in bits) - - syms == 2 is not saved since that immediately leads to a single code. left - must be even, since it represents the number of available bit patterns at - the current length, which is double the number at the previous length. - left ends at syms-1 since left == syms immediately results in a single code. - (left > sym is not allowed since that would result in an incomplete code.) - len is less than max, since the code completes immediately when len == max. - - The offset into the array is calculated for the three indices with the - first one (syms) being outermost, and the last one (len) being innermost. - We build the array with length max-1 lists for the len index, with syms-3 - of those for each symbol. There are totsym-2 of those, with each one - varying in length as a function of sym. See the calculation of index in - count() for the index, and the calculation of size in main() for the size - of the array. - - For the deflate example of 286 symbols limited to 15-bit codes, the array - has 284,284 entries, taking up 2.17 MB for an 8-byte big_t. More than - half of the space allocated for saved results is actually used -- not all - possible triplets are reached in the generation of valid Huffman codes. - */ - -/* The array for tracking visited states, done[], is itself indexed identically - to the num[] array as described above for the (syms, left, len) triplet. - Each element in the array is further indexed by the (mem, rem) doublet, - where mem is the amount of inflate table space used so far, and rem is the - remaining unused entries in the current inflate sub-table. Each indexed - element is simply one bit indicating whether the state has been visited or - not. Since the ranges for mem and rem are not known a priori, each bit - vector is of a variable size, and grows as needed to accommodate the visited - states. mem and rem are used to calculate a single index in a triangular - array. Since the range of mem is expected in the default case to be about - ten times larger than the range of rem, the array is skewed to reduce the - memory usage, with eight times the range for mem than for rem. See the - calculations for offset and bit in beenhere() for the details. - - For the deflate example of 286 symbols limited to 15-bit codes, the bit - vectors grow to total approximately 21 MB, in addition to the 4.3 MB done[] - array itself. - */ - -/* Globals to avoid propagating constants or constant pointers recursively */ -local int max; /* maximum allowed bit length for the codes */ -local int root; /* size of base code table in bits */ -local int large; /* largest code table so far */ -local size_t size; /* number of elements in num and done */ -local int *code; /* number of symbols assigned to each bit length */ -local big_t *num; /* saved results array for code counting */ -local struct tab *done; /* states already evaluated array */ - -/* Index function for num[] and done[] */ -#define INDEX(i,j,k) (((size_t)((i-1)>>1)*((i-2)>>1)+(j>>1)-1)*(max-1)+k-1) - -/* Free allocated space. Uses globals code, num, and done. */ -local void cleanup(void) -{ - size_t n; - - if (done != NULL) { - for (n = 0; n < size; n++) - if (done[n].len) - free(done[n].vec); - free(done); - } - if (num != NULL) - free(num); - if (code != NULL) - free(code); -} - -/* Return the number of possible Huffman codes using bit patterns of lengths - len through max inclusive, coding syms symbols, with left bit patterns of - length len unused -- return -1 if there is an overflow in the counting. - Keep a record of previous results in num to prevent repeating the same - calculation. Uses the globals max and num. */ -local big_t count(int syms, int len, int left) -{ - big_t sum; /* number of possible codes from this juncture */ - big_t got; /* value returned from count() */ - int least; /* least number of syms to use at this juncture */ - int most; /* most number of syms to use at this juncture */ - int use; /* number of bit patterns to use in next call */ - size_t index; /* index of this case in *num */ - - /* see if only one possible code */ - if (syms == left) - return 1; - - /* note and verify the expected state */ - assert(syms > left && left > 0 && len < max); - - /* see if we've done this one already */ - index = INDEX(syms, left, len); - got = num[index]; - if (got) - return got; /* we have -- return the saved result */ - - /* we need to use at least this many bit patterns so that the code won't be - incomplete at the next length (more bit patterns than symbols) */ - least = (left << 1) - syms; - if (least < 0) - least = 0; - - /* we can use at most this many bit patterns, lest there not be enough - available for the remaining symbols at the maximum length (if there were - no limit to the code length, this would become: most = left - 1) */ - most = (((code_t)left << (max - len)) - syms) / - (((code_t)1 << (max - len)) - 1); - - /* count all possible codes from this juncture and add them up */ - sum = 0; - for (use = least; use <= most; use++) { - got = count(syms - use, len + 1, (left - use) << 1); - sum += got; - if (got == -1 || sum < got) /* overflow */ - return -1; - } - - /* verify that all recursive calls are productive */ - assert(sum != 0); - - /* save the result and return it */ - num[index] = sum; - return sum; -} - -/* Return true if we've been here before, set to true if not. Set a bit in a - bit vector to indicate visiting this state. Each (syms,len,left) state - has a variable size bit vector indexed by (mem,rem). The bit vector is - lengthened if needed to allow setting the (mem,rem) bit. */ -local int beenhere(int syms, int len, int left, int mem, int rem) -{ - size_t index; /* index for this state's bit vector */ - size_t offset; /* offset in this state's bit vector */ - int bit; /* mask for this state's bit */ - size_t length; /* length of the bit vector in bytes */ - char *vector; /* new or enlarged bit vector */ - - /* point to vector for (syms,left,len), bit in vector for (mem,rem) */ - index = INDEX(syms, left, len); - mem -= 1 << root; - offset = (mem >> 3) + rem; - offset = ((offset * (offset + 1)) >> 1) + rem; - bit = 1 << (mem & 7); - - /* see if we've been here */ - length = done[index].len; - if (offset < length && (done[index].vec[offset] & bit) != 0) - return 1; /* done this! */ - - /* we haven't been here before -- set the bit to show we have now */ - - /* see if we need to lengthen the vector in order to set the bit */ - if (length <= offset) { - /* if we have one already, enlarge it, zero out the appended space */ - if (length) { - do { - length <<= 1; - } while (length <= offset); - vector = realloc(done[index].vec, length); - if (vector != NULL) - memset(vector + done[index].len, 0, length - done[index].len); - } - - /* otherwise we need to make a new vector and zero it out */ - else { - length = 1 << (len - root); - while (length <= offset) - length <<= 1; - vector = calloc(length, sizeof(char)); - } - - /* in either case, bail if we can't get the memory */ - if (vector == NULL) { - fputs("abort: unable to allocate enough memory\n", stderr); - cleanup(); - exit(1); - } - - /* install the new vector */ - done[index].len = length; - done[index].vec = vector; - } - - /* set the bit */ - done[index].vec[offset] |= bit; - return 0; -} - -/* Examine all possible codes from the given node (syms, len, left). Compute - the amount of memory required to build inflate's decoding tables, where the - number of code structures used so far is mem, and the number remaining in - the current sub-table is rem. Uses the globals max, code, root, large, and - done. */ -local void examine(int syms, int len, int left, int mem, int rem) -{ - int least; /* least number of syms to use at this juncture */ - int most; /* most number of syms to use at this juncture */ - int use; /* number of bit patterns to use in next call */ - - /* see if we have a complete code */ - if (syms == left) { - /* set the last code entry */ - code[len] = left; - - /* complete computation of memory used by this code */ - while (rem < left) { - left -= rem; - rem = 1 << (len - root); - mem += rem; - } - assert(rem == left); - - /* if this is a new maximum, show the entries used and the sub-code */ - if (mem > large) { - large = mem; - printf("max %d: ", mem); - for (use = root + 1; use <= max; use++) - if (code[use]) - printf("%d[%d] ", code[use], use); - putchar('\n'); - fflush(stdout); - } - - /* remove entries as we drop back down in the recursion */ - code[len] = 0; - return; - } - - /* prune the tree if we can */ - if (beenhere(syms, len, left, mem, rem)) - return; - - /* we need to use at least this many bit patterns so that the code won't be - incomplete at the next length (more bit patterns than symbols) */ - least = (left << 1) - syms; - if (least < 0) - least = 0; - - /* we can use at most this many bit patterns, lest there not be enough - available for the remaining symbols at the maximum length (if there were - no limit to the code length, this would become: most = left - 1) */ - most = (((code_t)left << (max - len)) - syms) / - (((code_t)1 << (max - len)) - 1); - - /* occupy least table spaces, creating new sub-tables as needed */ - use = least; - while (rem < use) { - use -= rem; - rem = 1 << (len - root); - mem += rem; - } - rem -= use; - - /* examine codes from here, updating table space as we go */ - for (use = least; use <= most; use++) { - code[len] = use; - examine(syms - use, len + 1, (left - use) << 1, - mem + (rem ? 1 << (len - root) : 0), rem << 1); - if (rem == 0) { - rem = 1 << (len - root); - mem += rem; - } - rem--; - } - - /* remove entries as we drop back down in the recursion */ - code[len] = 0; -} - -/* Look at all sub-codes starting with root + 1 bits. Look at only the valid - intermediate code states (syms, left, len). For each completed code, - calculate the amount of memory required by inflate to build the decoding - tables. Find the maximum amount of memory required and show the code that - requires that maximum. Uses the globals max, root, and num. */ -local void enough(int syms) -{ - int n; /* number of remaing symbols for this node */ - int left; /* number of unused bit patterns at this length */ - size_t index; /* index of this case in *num */ - - /* clear code */ - for (n = 0; n <= max; n++) - code[n] = 0; - - /* look at all (root + 1) bit and longer codes */ - large = 1 << root; /* base table */ - if (root < max) /* otherwise, there's only a base table */ - for (n = 3; n <= syms; n++) - for (left = 2; left < n; left += 2) - { - /* look at all reachable (root + 1) bit nodes, and the - resulting codes (complete at root + 2 or more) */ - index = INDEX(n, left, root + 1); - if (root + 1 < max && num[index]) /* reachable node */ - examine(n, root + 1, left, 1 << root, 0); - - /* also look at root bit codes with completions at root + 1 - bits (not saved in num, since complete), just in case */ - if (num[index - 1] && n <= left << 1) - examine((n - left) << 1, root + 1, (n - left) << 1, - 1 << root, 0); - } - - /* done */ - printf("done: maximum of %d table entries\n", large); -} - -/* - Examine and show the total number of possible Huffman codes for a given - maximum number of symbols, initial root table size, and maximum code length - in bits -- those are the command arguments in that order. The default - values are 286, 9, and 15 respectively, for the deflate literal/length code. - The possible codes are counted for each number of coded symbols from two to - the maximum. The counts for each of those and the total number of codes are - shown. The maximum number of inflate table entires is then calculated - across all possible codes. Each new maximum number of table entries and the - associated sub-code (starting at root + 1 == 10 bits) is shown. - - To count and examine Huffman codes that are not length-limited, provide a - maximum length equal to the number of symbols minus one. - - For the deflate literal/length code, use "enough". For the deflate distance - code, use "enough 30 6". - - This uses the %llu printf format to print big_t numbers, which assumes that - big_t is an unsigned long long. If the big_t type is changed (for example - to a multiple precision type), the method of printing will also need to be - updated. - */ -int main(int argc, char **argv) -{ - int syms; /* total number of symbols to code */ - int n; /* number of symbols to code for this run */ - big_t got; /* return value of count() */ - big_t sum; /* accumulated number of codes over n */ - - /* set up globals for cleanup() */ - code = NULL; - num = NULL; - done = NULL; - - /* get arguments -- default to the deflate literal/length code */ - syms = 286; - root = 9; - max = 15; - if (argc > 1) { - syms = atoi(argv[1]); - if (argc > 2) { - root = atoi(argv[2]); - if (argc > 3) - max = atoi(argv[3]); - } - } - if (argc > 4 || syms < 2 || root < 1 || max < 1) { - fputs("invalid arguments, need: [sym >= 2 [root >= 1 [max >= 1]]]\n", - stderr); - return 1; - } - - /* if not restricting the code length, the longest is syms - 1 */ - if (max > syms - 1) - max = syms - 1; - - /* determine the number of bits in a code_t */ - n = 0; - while (((code_t)1 << n) != 0) - n++; - - /* make sure that the calculation of most will not overflow */ - if (max > n || syms - 2 >= (((code_t)0 - 1) >> (max - 1))) { - fputs("abort: code length too long for internal types\n", stderr); - return 1; - } - - /* reject impossible code requests */ - if (syms - 1 > ((code_t)1 << max) - 1) { - fprintf(stderr, "%d symbols cannot be coded in %d bits\n", - syms, max); - return 1; - } - - /* allocate code vector */ - code = calloc(max + 1, sizeof(int)); - if (code == NULL) { - fputs("abort: unable to allocate enough memory\n", stderr); - return 1; - } - - /* determine size of saved results array, checking for overflows, - allocate and clear the array (set all to zero with calloc()) */ - if (syms == 2) /* iff max == 1 */ - num = NULL; /* won't be saving any results */ - else { - size = syms >> 1; - if (size > ((size_t)0 - 1) / (n = (syms - 1) >> 1) || - (size *= n, size > ((size_t)0 - 1) / (n = max - 1)) || - (size *= n, size > ((size_t)0 - 1) / sizeof(big_t)) || - (num = calloc(size, sizeof(big_t))) == NULL) { - fputs("abort: unable to allocate enough memory\n", stderr); - cleanup(); - return 1; - } - } - - /* count possible codes for all numbers of symbols, add up counts */ - sum = 0; - for (n = 2; n <= syms; n++) { - got = count(n, 1, 2); - sum += got; - if (got == -1 || sum < got) { /* overflow */ - fputs("abort: can't count that high!\n", stderr); - cleanup(); - return 1; - } - printf("%llu %d-codes\n", got, n); - } - printf("%llu total codes for 2 to %d symbols", sum, syms); - if (max < syms - 1) - printf(" (%d-bit length limit)\n", max); - else - puts(" (no length limit)"); - - /* allocate and clear done array for beenhere() */ - if (syms == 2) - done = NULL; - else if (size > ((size_t)0 - 1) / sizeof(struct tab) || - (done = calloc(size, sizeof(struct tab))) == NULL) { - fputs("abort: unable to allocate enough memory\n", stderr); - cleanup(); - return 1; - } - - /* find and show maximum inflate table usage */ - if (root > max) /* reduce root to max length */ - root = max; - if (syms < ((code_t)1 << (root + 1))) - enough(syms); - else - puts("cannot handle minimum code lengths > root"); - - /* done */ - cleanup(); - return 0; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/fitblk.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/fitblk.c deleted file mode 100644 index c61de5c9..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/fitblk.c +++ /dev/null @@ -1,233 +0,0 @@ -/* fitblk.c: example of fitting compressed output to a specified size - Not copyrighted -- provided to the public domain - Version 1.1 25 November 2004 Mark Adler */ - -/* Version history: - 1.0 24 Nov 2004 First version - 1.1 25 Nov 2004 Change deflateInit2() to deflateInit() - Use fixed-size, stack-allocated raw buffers - Simplify code moving compression to subroutines - Use assert() for internal errors - Add detailed description of approach - */ - -/* Approach to just fitting a requested compressed size: - - fitblk performs three compression passes on a portion of the input - data in order to determine how much of that input will compress to - nearly the requested output block size. The first pass generates - enough deflate blocks to produce output to fill the requested - output size plus a specfied excess amount (see the EXCESS define - below). The last deflate block may go quite a bit past that, but - is discarded. The second pass decompresses and recompresses just - the compressed data that fit in the requested plus excess sized - buffer. The deflate process is terminated after that amount of - input, which is less than the amount consumed on the first pass. - The last deflate block of the result will be of a comparable size - to the final product, so that the header for that deflate block and - the compression ratio for that block will be about the same as in - the final product. The third compression pass decompresses the - result of the second step, but only the compressed data up to the - requested size minus an amount to allow the compressed stream to - complete (see the MARGIN define below). That will result in a - final compressed stream whose length is less than or equal to the - requested size. Assuming sufficient input and a requested size - greater than a few hundred bytes, the shortfall will typically be - less than ten bytes. - - If the input is short enough that the first compression completes - before filling the requested output size, then that compressed - stream is return with no recompression. - - EXCESS is chosen to be just greater than the shortfall seen in a - two pass approach similar to the above. That shortfall is due to - the last deflate block compressing more efficiently with a smaller - header on the second pass. EXCESS is set to be large enough so - that there is enough uncompressed data for the second pass to fill - out the requested size, and small enough so that the final deflate - block of the second pass will be close in size to the final deflate - block of the third and final pass. MARGIN is chosen to be just - large enough to assure that the final compression has enough room - to complete in all cases. - */ - -#include -#include -#include -#include "zlib.h" - -#define local static - -/* print nastygram and leave */ -local void quit(char *why) -{ - fprintf(stderr, "fitblk abort: %s\n", why); - exit(1); -} - -#define RAWLEN 4096 /* intermediate uncompressed buffer size */ - -/* compress from file to def until provided buffer is full or end of - input reached; return last deflate() return value, or Z_ERRNO if - there was read error on the file */ -local int partcompress(FILE *in, z_streamp def) -{ - int ret, flush; - unsigned char raw[RAWLEN]; - - flush = Z_NO_FLUSH; - do { - def->avail_in = fread(raw, 1, RAWLEN, in); - if (ferror(in)) - return Z_ERRNO; - def->next_in = raw; - if (feof(in)) - flush = Z_FINISH; - ret = deflate(def, flush); - assert(ret != Z_STREAM_ERROR); - } while (def->avail_out != 0 && flush == Z_NO_FLUSH); - return ret; -} - -/* recompress from inf's input to def's output; the input for inf and - the output for def are set in those structures before calling; - return last deflate() return value, or Z_MEM_ERROR if inflate() - was not able to allocate enough memory when it needed to */ -local int recompress(z_streamp inf, z_streamp def) -{ - int ret, flush; - unsigned char raw[RAWLEN]; - - flush = Z_NO_FLUSH; - do { - /* decompress */ - inf->avail_out = RAWLEN; - inf->next_out = raw; - ret = inflate(inf, Z_NO_FLUSH); - assert(ret != Z_STREAM_ERROR && ret != Z_DATA_ERROR && - ret != Z_NEED_DICT); - if (ret == Z_MEM_ERROR) - return ret; - - /* compress what was decompresed until done or no room */ - def->avail_in = RAWLEN - inf->avail_out; - def->next_in = raw; - if (inf->avail_out != 0) - flush = Z_FINISH; - ret = deflate(def, flush); - assert(ret != Z_STREAM_ERROR); - } while (ret != Z_STREAM_END && def->avail_out != 0); - return ret; -} - -#define EXCESS 256 /* empirically determined stream overage */ -#define MARGIN 8 /* amount to back off for completion */ - -/* compress from stdin to fixed-size block on stdout */ -int main(int argc, char **argv) -{ - int ret; /* return code */ - unsigned size; /* requested fixed output block size */ - unsigned have; /* bytes written by deflate() call */ - unsigned char *blk; /* intermediate and final stream */ - unsigned char *tmp; /* close to desired size stream */ - z_stream def, inf; /* zlib deflate and inflate states */ - - /* get requested output size */ - if (argc != 2) - quit("need one argument: size of output block"); - ret = strtol(argv[1], argv + 1, 10); - if (argv[1][0] != 0) - quit("argument must be a number"); - if (ret < 8) /* 8 is minimum zlib stream size */ - quit("need positive size of 8 or greater"); - size = (unsigned)ret; - - /* allocate memory for buffers and compression engine */ - blk = malloc(size + EXCESS); - def.zalloc = Z_NULL; - def.zfree = Z_NULL; - def.opaque = Z_NULL; - ret = deflateInit(&def, Z_DEFAULT_COMPRESSION); - if (ret != Z_OK || blk == NULL) - quit("out of memory"); - - /* compress from stdin until output full, or no more input */ - def.avail_out = size + EXCESS; - def.next_out = blk; - ret = partcompress(stdin, &def); - if (ret == Z_ERRNO) - quit("error reading input"); - - /* if it all fit, then size was undersubscribed -- done! */ - if (ret == Z_STREAM_END && def.avail_out >= EXCESS) { - /* write block to stdout */ - have = size + EXCESS - def.avail_out; - if (fwrite(blk, 1, have, stdout) != have || ferror(stdout)) - quit("error writing output"); - - /* clean up and print results to stderr */ - ret = deflateEnd(&def); - assert(ret != Z_STREAM_ERROR); - free(blk); - fprintf(stderr, - "%u bytes unused out of %u requested (all input)\n", - size - have, size); - return 0; - } - - /* it didn't all fit -- set up for recompression */ - inf.zalloc = Z_NULL; - inf.zfree = Z_NULL; - inf.opaque = Z_NULL; - inf.avail_in = 0; - inf.next_in = Z_NULL; - ret = inflateInit(&inf); - tmp = malloc(size + EXCESS); - if (ret != Z_OK || tmp == NULL) - quit("out of memory"); - ret = deflateReset(&def); - assert(ret != Z_STREAM_ERROR); - - /* do first recompression close to the right amount */ - inf.avail_in = size + EXCESS; - inf.next_in = blk; - def.avail_out = size + EXCESS; - def.next_out = tmp; - ret = recompress(&inf, &def); - if (ret == Z_MEM_ERROR) - quit("out of memory"); - - /* set up for next reocmpression */ - ret = inflateReset(&inf); - assert(ret != Z_STREAM_ERROR); - ret = deflateReset(&def); - assert(ret != Z_STREAM_ERROR); - - /* do second and final recompression (third compression) */ - inf.avail_in = size - MARGIN; /* assure stream will complete */ - inf.next_in = tmp; - def.avail_out = size; - def.next_out = blk; - ret = recompress(&inf, &def); - if (ret == Z_MEM_ERROR) - quit("out of memory"); - assert(ret == Z_STREAM_END); /* otherwise MARGIN too small */ - - /* done -- write block to stdout */ - have = size - def.avail_out; - if (fwrite(blk, 1, have, stdout) != have || ferror(stdout)) - quit("error writing output"); - - /* clean up and print results to stderr */ - free(tmp); - ret = inflateEnd(&inf); - assert(ret != Z_STREAM_ERROR); - ret = deflateEnd(&def); - assert(ret != Z_STREAM_ERROR); - free(blk); - fprintf(stderr, - "%u bytes unused out of %u requested (%lu input)\n", - size - have, size, def.total_in); - return 0; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/gun.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/gun.c deleted file mode 100644 index 72b0882a..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/gun.c +++ /dev/null @@ -1,701 +0,0 @@ -/* gun.c -- simple gunzip to give an example of the use of inflateBack() - * Copyright (C) 2003, 2005, 2008, 2010 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - Version 1.6 17 January 2010 Mark Adler */ - -/* Version history: - 1.0 16 Feb 2003 First version for testing of inflateBack() - 1.1 21 Feb 2005 Decompress concatenated gzip streams - Remove use of "this" variable (C++ keyword) - Fix return value for in() - Improve allocation failure checking - Add typecasting for void * structures - Add -h option for command version and usage - Add a bunch of comments - 1.2 20 Mar 2005 Add Unix compress (LZW) decompression - Copy file attributes from input file to output file - 1.3 12 Jun 2005 Add casts for error messages [Oberhumer] - 1.4 8 Dec 2006 LZW decompression speed improvements - 1.5 9 Feb 2008 Avoid warning in latest version of gcc - 1.6 17 Jan 2010 Avoid signed/unsigned comparison warnings - */ - -/* - gun [ -t ] [ name ... ] - - decompresses the data in the named gzip files. If no arguments are given, - gun will decompress from stdin to stdout. The names must end in .gz, -gz, - .z, -z, _z, or .Z. The uncompressed data will be written to a file name - with the suffix stripped. On success, the original file is deleted. On - failure, the output file is deleted. For most failures, the command will - continue to process the remaining names on the command line. A memory - allocation failure will abort the command. If -t is specified, then the - listed files or stdin will be tested as gzip files for integrity (without - checking for a proper suffix), no output will be written, and no files - will be deleted. - - Like gzip, gun allows concatenated gzip streams and will decompress them, - writing all of the uncompressed data to the output. Unlike gzip, gun allows - an empty file on input, and will produce no error writing an empty output - file. - - gun will also decompress files made by Unix compress, which uses LZW - compression. These files are automatically detected by virtue of their - magic header bytes. Since the end of Unix compress stream is marked by the - end-of-file, they cannot be concantenated. If a Unix compress stream is - encountered in an input file, it is the last stream in that file. - - Like gunzip and uncompress, the file attributes of the orignal compressed - file are maintained in the final uncompressed file, to the extent that the - user permissions allow it. - - On my Mac OS X PowerPC G4, gun is almost twice as fast as gunzip (version - 1.2.4) is on the same file, when gun is linked with zlib 1.2.2. Also the - LZW decompression provided by gun is about twice as fast as the standard - Unix uncompress command. - */ - -/* external functions and related types and constants */ -#include /* fprintf() */ -#include /* malloc(), free() */ -#include /* strerror(), strcmp(), strlen(), memcpy() */ -#include /* errno */ -#include /* open() */ -#include /* read(), write(), close(), chown(), unlink() */ -#include -#include /* stat(), chmod() */ -#include /* utime() */ -#include "zlib.h" /* inflateBackInit(), inflateBack(), */ - /* inflateBackEnd(), crc32() */ - -/* function declaration */ -#define local static - -/* buffer constants */ -#define SIZE 32768U /* input and output buffer sizes */ -#define PIECE 16384 /* limits i/o chunks for 16-bit int case */ - -/* structure for infback() to pass to input function in() -- it maintains the - input file and a buffer of size SIZE */ -struct ind { - int infile; - unsigned char *inbuf; -}; - -/* Load input buffer, assumed to be empty, and return bytes loaded and a - pointer to them. read() is called until the buffer is full, or until it - returns end-of-file or error. Return 0 on error. */ -local unsigned in(void *in_desc, unsigned char **buf) -{ - int ret; - unsigned len; - unsigned char *next; - struct ind *me = (struct ind *)in_desc; - - next = me->inbuf; - *buf = next; - len = 0; - do { - ret = PIECE; - if ((unsigned)ret > SIZE - len) - ret = (int)(SIZE - len); - ret = (int)read(me->infile, next, ret); - if (ret == -1) { - len = 0; - break; - } - next += ret; - len += ret; - } while (ret != 0 && len < SIZE); - return len; -} - -/* structure for infback() to pass to output function out() -- it maintains the - output file, a running CRC-32 check on the output and the total number of - bytes output, both for checking against the gzip trailer. (The length in - the gzip trailer is stored modulo 2^32, so it's ok if a long is 32 bits and - the output is greater than 4 GB.) */ -struct outd { - int outfile; - int check; /* true if checking crc and total */ - unsigned long crc; - unsigned long total; -}; - -/* Write output buffer and update the CRC-32 and total bytes written. write() - is called until all of the output is written or an error is encountered. - On success out() returns 0. For a write failure, out() returns 1. If the - output file descriptor is -1, then nothing is written. - */ -local int out(void *out_desc, unsigned char *buf, unsigned len) -{ - int ret; - struct outd *me = (struct outd *)out_desc; - - if (me->check) { - me->crc = crc32(me->crc, buf, len); - me->total += len; - } - if (me->outfile != -1) - do { - ret = PIECE; - if ((unsigned)ret > len) - ret = (int)len; - ret = (int)write(me->outfile, buf, ret); - if (ret == -1) - return 1; - buf += ret; - len -= ret; - } while (len != 0); - return 0; -} - -/* next input byte macro for use inside lunpipe() and gunpipe() */ -#define NEXT() (have ? 0 : (have = in(indp, &next)), \ - last = have ? (have--, (int)(*next++)) : -1) - -/* memory for gunpipe() and lunpipe() -- - the first 256 entries of prefix[] and suffix[] are never used, could - have offset the index, but it's faster to waste the memory */ -unsigned char inbuf[SIZE]; /* input buffer */ -unsigned char outbuf[SIZE]; /* output buffer */ -unsigned short prefix[65536]; /* index to LZW prefix string */ -unsigned char suffix[65536]; /* one-character LZW suffix */ -unsigned char match[65280 + 2]; /* buffer for reversed match or gzip - 32K sliding window */ - -/* throw out what's left in the current bits byte buffer (this is a vestigial - aspect of the compressed data format derived from an implementation that - made use of a special VAX machine instruction!) */ -#define FLUSHCODE() \ - do { \ - left = 0; \ - rem = 0; \ - if (chunk > have) { \ - chunk -= have; \ - have = 0; \ - if (NEXT() == -1) \ - break; \ - chunk--; \ - if (chunk > have) { \ - chunk = have = 0; \ - break; \ - } \ - } \ - have -= chunk; \ - next += chunk; \ - chunk = 0; \ - } while (0) - -/* Decompress a compress (LZW) file from indp to outfile. The compress magic - header (two bytes) has already been read and verified. There are have bytes - of buffered input at next. strm is used for passing error information back - to gunpipe(). - - lunpipe() will return Z_OK on success, Z_BUF_ERROR for an unexpected end of - file, read error, or write error (a write error indicated by strm->next_in - not equal to Z_NULL), or Z_DATA_ERROR for invalid input. - */ -local int lunpipe(unsigned have, unsigned char *next, struct ind *indp, - int outfile, z_stream *strm) -{ - int last; /* last byte read by NEXT(), or -1 if EOF */ - unsigned chunk; /* bytes left in current chunk */ - int left; /* bits left in rem */ - unsigned rem; /* unused bits from input */ - int bits; /* current bits per code */ - unsigned code; /* code, table traversal index */ - unsigned mask; /* mask for current bits codes */ - int max; /* maximum bits per code for this stream */ - unsigned flags; /* compress flags, then block compress flag */ - unsigned end; /* last valid entry in prefix/suffix tables */ - unsigned temp; /* current code */ - unsigned prev; /* previous code */ - unsigned final; /* last character written for previous code */ - unsigned stack; /* next position for reversed string */ - unsigned outcnt; /* bytes in output buffer */ - struct outd outd; /* output structure */ - unsigned char *p; - - /* set up output */ - outd.outfile = outfile; - outd.check = 0; - - /* process remainder of compress header -- a flags byte */ - flags = NEXT(); - if (last == -1) - return Z_BUF_ERROR; - if (flags & 0x60) { - strm->msg = (char *)"unknown lzw flags set"; - return Z_DATA_ERROR; - } - max = flags & 0x1f; - if (max < 9 || max > 16) { - strm->msg = (char *)"lzw bits out of range"; - return Z_DATA_ERROR; - } - if (max == 9) /* 9 doesn't really mean 9 */ - max = 10; - flags &= 0x80; /* true if block compress */ - - /* clear table */ - bits = 9; - mask = 0x1ff; - end = flags ? 256 : 255; - - /* set up: get first 9-bit code, which is the first decompressed byte, but - don't create a table entry until the next code */ - if (NEXT() == -1) /* no compressed data is ok */ - return Z_OK; - final = prev = (unsigned)last; /* low 8 bits of code */ - if (NEXT() == -1) /* missing a bit */ - return Z_BUF_ERROR; - if (last & 1) { /* code must be < 256 */ - strm->msg = (char *)"invalid lzw code"; - return Z_DATA_ERROR; - } - rem = (unsigned)last >> 1; /* remaining 7 bits */ - left = 7; - chunk = bits - 2; /* 7 bytes left in this chunk */ - outbuf[0] = (unsigned char)final; /* write first decompressed byte */ - outcnt = 1; - - /* decode codes */ - stack = 0; - for (;;) { - /* if the table will be full after this, increment the code size */ - if (end >= mask && bits < max) { - FLUSHCODE(); - bits++; - mask <<= 1; - mask++; - } - - /* get a code of length bits */ - if (chunk == 0) /* decrement chunk modulo bits */ - chunk = bits; - code = rem; /* low bits of code */ - if (NEXT() == -1) { /* EOF is end of compressed data */ - /* write remaining buffered output */ - if (outcnt && out(&outd, outbuf, outcnt)) { - strm->next_in = outbuf; /* signal write error */ - return Z_BUF_ERROR; - } - return Z_OK; - } - code += (unsigned)last << left; /* middle (or high) bits of code */ - left += 8; - chunk--; - if (bits > left) { /* need more bits */ - if (NEXT() == -1) /* can't end in middle of code */ - return Z_BUF_ERROR; - code += (unsigned)last << left; /* high bits of code */ - left += 8; - chunk--; - } - code &= mask; /* mask to current code length */ - left -= bits; /* number of unused bits */ - rem = (unsigned)last >> (8 - left); /* unused bits from last byte */ - - /* process clear code (256) */ - if (code == 256 && flags) { - FLUSHCODE(); - bits = 9; /* initialize bits and mask */ - mask = 0x1ff; - end = 255; /* empty table */ - continue; /* get next code */ - } - - /* special code to reuse last match */ - temp = code; /* save the current code */ - if (code > end) { - /* Be picky on the allowed code here, and make sure that the code - we drop through (prev) will be a valid index so that random - input does not cause an exception. The code != end + 1 check is - empirically derived, and not checked in the original uncompress - code. If this ever causes a problem, that check could be safely - removed. Leaving this check in greatly improves gun's ability - to detect random or corrupted input after a compress header. - In any case, the prev > end check must be retained. */ - if (code != end + 1 || prev > end) { - strm->msg = (char *)"invalid lzw code"; - return Z_DATA_ERROR; - } - match[stack++] = (unsigned char)final; - code = prev; - } - - /* walk through linked list to generate output in reverse order */ - p = match + stack; - while (code >= 256) { - *p++ = suffix[code]; - code = prefix[code]; - } - stack = p - match; - match[stack++] = (unsigned char)code; - final = code; - - /* link new table entry */ - if (end < mask) { - end++; - prefix[end] = (unsigned short)prev; - suffix[end] = (unsigned char)final; - } - - /* set previous code for next iteration */ - prev = temp; - - /* write output in forward order */ - while (stack > SIZE - outcnt) { - while (outcnt < SIZE) - outbuf[outcnt++] = match[--stack]; - if (out(&outd, outbuf, outcnt)) { - strm->next_in = outbuf; /* signal write error */ - return Z_BUF_ERROR; - } - outcnt = 0; - } - p = match + stack; - do { - outbuf[outcnt++] = *--p; - } while (p > match); - stack = 0; - - /* loop for next code with final and prev as the last match, rem and - left provide the first 0..7 bits of the next code, end is the last - valid table entry */ - } -} - -/* Decompress a gzip file from infile to outfile. strm is assumed to have been - successfully initialized with inflateBackInit(). The input file may consist - of a series of gzip streams, in which case all of them will be decompressed - to the output file. If outfile is -1, then the gzip stream(s) integrity is - checked and nothing is written. - - The return value is a zlib error code: Z_MEM_ERROR if out of memory, - Z_DATA_ERROR if the header or the compressed data is invalid, or if the - trailer CRC-32 check or length doesn't match, Z_BUF_ERROR if the input ends - prematurely or a write error occurs, or Z_ERRNO if junk (not a another gzip - stream) follows a valid gzip stream. - */ -local int gunpipe(z_stream *strm, int infile, int outfile) -{ - int ret, first, last; - unsigned have, flags, len; - unsigned char *next = NULL; - struct ind ind, *indp; - struct outd outd; - - /* setup input buffer */ - ind.infile = infile; - ind.inbuf = inbuf; - indp = &ind; - - /* decompress concatenated gzip streams */ - have = 0; /* no input data read in yet */ - first = 1; /* looking for first gzip header */ - strm->next_in = Z_NULL; /* so Z_BUF_ERROR means EOF */ - for (;;) { - /* look for the two magic header bytes for a gzip stream */ - if (NEXT() == -1) { - ret = Z_OK; - break; /* empty gzip stream is ok */ - } - if (last != 31 || (NEXT() != 139 && last != 157)) { - strm->msg = (char *)"incorrect header check"; - ret = first ? Z_DATA_ERROR : Z_ERRNO; - break; /* not a gzip or compress header */ - } - first = 0; /* next non-header is junk */ - - /* process a compress (LZW) file -- can't be concatenated after this */ - if (last == 157) { - ret = lunpipe(have, next, indp, outfile, strm); - break; - } - - /* process remainder of gzip header */ - ret = Z_BUF_ERROR; - if (NEXT() != 8) { /* only deflate method allowed */ - if (last == -1) break; - strm->msg = (char *)"unknown compression method"; - ret = Z_DATA_ERROR; - break; - } - flags = NEXT(); /* header flags */ - NEXT(); /* discard mod time, xflgs, os */ - NEXT(); - NEXT(); - NEXT(); - NEXT(); - NEXT(); - if (last == -1) break; - if (flags & 0xe0) { - strm->msg = (char *)"unknown header flags set"; - ret = Z_DATA_ERROR; - break; - } - if (flags & 4) { /* extra field */ - len = NEXT(); - len += (unsigned)(NEXT()) << 8; - if (last == -1) break; - while (len > have) { - len -= have; - have = 0; - if (NEXT() == -1) break; - len--; - } - if (last == -1) break; - have -= len; - next += len; - } - if (flags & 8) /* file name */ - while (NEXT() != 0 && last != -1) - ; - if (flags & 16) /* comment */ - while (NEXT() != 0 && last != -1) - ; - if (flags & 2) { /* header crc */ - NEXT(); - NEXT(); - } - if (last == -1) break; - - /* set up output */ - outd.outfile = outfile; - outd.check = 1; - outd.crc = crc32(0L, Z_NULL, 0); - outd.total = 0; - - /* decompress data to output */ - strm->next_in = next; - strm->avail_in = have; - ret = inflateBack(strm, in, indp, out, &outd); - if (ret != Z_STREAM_END) break; - next = strm->next_in; - have = strm->avail_in; - strm->next_in = Z_NULL; /* so Z_BUF_ERROR means EOF */ - - /* check trailer */ - ret = Z_BUF_ERROR; - if (NEXT() != (int)(outd.crc & 0xff) || - NEXT() != (int)((outd.crc >> 8) & 0xff) || - NEXT() != (int)((outd.crc >> 16) & 0xff) || - NEXT() != (int)((outd.crc >> 24) & 0xff)) { - /* crc error */ - if (last != -1) { - strm->msg = (char *)"incorrect data check"; - ret = Z_DATA_ERROR; - } - break; - } - if (NEXT() != (int)(outd.total & 0xff) || - NEXT() != (int)((outd.total >> 8) & 0xff) || - NEXT() != (int)((outd.total >> 16) & 0xff) || - NEXT() != (int)((outd.total >> 24) & 0xff)) { - /* length error */ - if (last != -1) { - strm->msg = (char *)"incorrect length check"; - ret = Z_DATA_ERROR; - } - break; - } - - /* go back and look for another gzip stream */ - } - - /* clean up and return */ - return ret; -} - -/* Copy file attributes, from -> to, as best we can. This is best effort, so - no errors are reported. The mode bits, including suid, sgid, and the sticky - bit are copied (if allowed), the owner's user id and group id are copied - (again if allowed), and the access and modify times are copied. */ -local void copymeta(char *from, char *to) -{ - struct stat was; - struct utimbuf when; - - /* get all of from's Unix meta data, return if not a regular file */ - if (stat(from, &was) != 0 || (was.st_mode & S_IFMT) != S_IFREG) - return; - - /* set to's mode bits, ignore errors */ - (void)chmod(to, was.st_mode & 07777); - - /* copy owner's user and group, ignore errors */ - (void)chown(to, was.st_uid, was.st_gid); - - /* copy access and modify times, ignore errors */ - when.actime = was.st_atime; - when.modtime = was.st_mtime; - (void)utime(to, &when); -} - -/* Decompress the file inname to the file outnname, of if test is true, just - decompress without writing and check the gzip trailer for integrity. If - inname is NULL or an empty string, read from stdin. If outname is NULL or - an empty string, write to stdout. strm is a pre-initialized inflateBack - structure. When appropriate, copy the file attributes from inname to - outname. - - gunzip() returns 1 if there is an out-of-memory error or an unexpected - return code from gunpipe(). Otherwise it returns 0. - */ -local int gunzip(z_stream *strm, char *inname, char *outname, int test) -{ - int ret; - int infile, outfile; - - /* open files */ - if (inname == NULL || *inname == 0) { - inname = "-"; - infile = 0; /* stdin */ - } - else { - infile = open(inname, O_RDONLY, 0); - if (infile == -1) { - fprintf(stderr, "gun cannot open %s\n", inname); - return 0; - } - } - if (test) - outfile = -1; - else if (outname == NULL || *outname == 0) { - outname = "-"; - outfile = 1; /* stdout */ - } - else { - outfile = open(outname, O_CREAT | O_TRUNC | O_WRONLY, 0666); - if (outfile == -1) { - close(infile); - fprintf(stderr, "gun cannot create %s\n", outname); - return 0; - } - } - errno = 0; - - /* decompress */ - ret = gunpipe(strm, infile, outfile); - if (outfile > 2) close(outfile); - if (infile > 2) close(infile); - - /* interpret result */ - switch (ret) { - case Z_OK: - case Z_ERRNO: - if (infile > 2 && outfile > 2) { - copymeta(inname, outname); /* copy attributes */ - unlink(inname); - } - if (ret == Z_ERRNO) - fprintf(stderr, "gun warning: trailing garbage ignored in %s\n", - inname); - break; - case Z_DATA_ERROR: - if (outfile > 2) unlink(outname); - fprintf(stderr, "gun data error on %s: %s\n", inname, strm->msg); - break; - case Z_MEM_ERROR: - if (outfile > 2) unlink(outname); - fprintf(stderr, "gun out of memory error--aborting\n"); - return 1; - case Z_BUF_ERROR: - if (outfile > 2) unlink(outname); - if (strm->next_in != Z_NULL) { - fprintf(stderr, "gun write error on %s: %s\n", - outname, strerror(errno)); - } - else if (errno) { - fprintf(stderr, "gun read error on %s: %s\n", - inname, strerror(errno)); - } - else { - fprintf(stderr, "gun unexpected end of file on %s\n", - inname); - } - break; - default: - if (outfile > 2) unlink(outname); - fprintf(stderr, "gun internal error--aborting\n"); - return 1; - } - return 0; -} - -/* Process the gun command line arguments. See the command syntax near the - beginning of this source file. */ -int main(int argc, char **argv) -{ - int ret, len, test; - char *outname; - unsigned char *window; - z_stream strm; - - /* initialize inflateBack state for repeated use */ - window = match; /* reuse LZW match buffer */ - strm.zalloc = Z_NULL; - strm.zfree = Z_NULL; - strm.opaque = Z_NULL; - ret = inflateBackInit(&strm, 15, window); - if (ret != Z_OK) { - fprintf(stderr, "gun out of memory error--aborting\n"); - return 1; - } - - /* decompress each file to the same name with the suffix removed */ - argc--; - argv++; - test = 0; - if (argc && strcmp(*argv, "-h") == 0) { - fprintf(stderr, "gun 1.6 (17 Jan 2010)\n"); - fprintf(stderr, "Copyright (C) 2003-2010 Mark Adler\n"); - fprintf(stderr, "usage: gun [-t] [file1.gz [file2.Z ...]]\n"); - return 0; - } - if (argc && strcmp(*argv, "-t") == 0) { - test = 1; - argc--; - argv++; - } - if (argc) - do { - if (test) - outname = NULL; - else { - len = (int)strlen(*argv); - if (strcmp(*argv + len - 3, ".gz") == 0 || - strcmp(*argv + len - 3, "-gz") == 0) - len -= 3; - else if (strcmp(*argv + len - 2, ".z") == 0 || - strcmp(*argv + len - 2, "-z") == 0 || - strcmp(*argv + len - 2, "_z") == 0 || - strcmp(*argv + len - 2, ".Z") == 0) - len -= 2; - else { - fprintf(stderr, "gun error: no gz type on %s--skipping\n", - *argv); - continue; - } - outname = malloc(len + 1); - if (outname == NULL) { - fprintf(stderr, "gun out of memory error--aborting\n"); - ret = 1; - break; - } - memcpy(outname, *argv, len); - outname[len] = 0; - } - ret = gunzip(&strm, *argv, outname, test); - if (outname != NULL) free(outname); - if (ret) break; - } while (argv++, --argc); - else - ret = gunzip(&strm, NULL, NULL, test); - - /* clean up */ - inflateBackEnd(&strm); - return ret; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/gzappend.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/gzappend.c deleted file mode 100644 index e9e878e1..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/gzappend.c +++ /dev/null @@ -1,500 +0,0 @@ -/* gzappend -- command to append to a gzip file - - Copyright (C) 2003 Mark Adler, all rights reserved - version 1.1, 4 Nov 2003 - - This software is provided 'as-is', without any express or implied - warranty. In no event will the author be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Mark Adler madler@alumni.caltech.edu - */ - -/* - * Change history: - * - * 1.0 19 Oct 2003 - First version - * 1.1 4 Nov 2003 - Expand and clarify some comments and notes - * - Add version and copyright to help - * - Send help to stdout instead of stderr - * - Add some preemptive typecasts - * - Add L to constants in lseek() calls - * - Remove some debugging information in error messages - * - Use new data_type definition for zlib 1.2.1 - * - Simplfy and unify file operations - * - Finish off gzip file in gztack() - * - Use deflatePrime() instead of adding empty blocks - * - Keep gzip file clean on appended file read errors - * - Use in-place rotate instead of auxiliary buffer - * (Why you ask? Because it was fun to write!) - */ - -/* - gzappend takes a gzip file and appends to it, compressing files from the - command line or data from stdin. The gzip file is written to directly, to - avoid copying that file, in case it's large. Note that this results in the - unfriendly behavior that if gzappend fails, the gzip file is corrupted. - - This program was written to illustrate the use of the new Z_BLOCK option of - zlib 1.2.x's inflate() function. This option returns from inflate() at each - block boundary to facilitate locating and modifying the last block bit at - the start of the final deflate block. Also whether using Z_BLOCK or not, - another required feature of zlib 1.2.x is that inflate() now provides the - number of unusued bits in the last input byte used. gzappend will not work - with versions of zlib earlier than 1.2.1. - - gzappend first decompresses the gzip file internally, discarding all but - the last 32K of uncompressed data, and noting the location of the last block - bit and the number of unused bits in the last byte of the compressed data. - The gzip trailer containing the CRC-32 and length of the uncompressed data - is verified. This trailer will be later overwritten. - - Then the last block bit is cleared by seeking back in the file and rewriting - the byte that contains it. Seeking forward, the last byte of the compressed - data is saved along with the number of unused bits to initialize deflate. - - A deflate process is initialized, using the last 32K of the uncompressed - data from the gzip file to initialize the dictionary. If the total - uncompressed data was less than 32K, then all of it is used to initialize - the dictionary. The deflate output bit buffer is also initialized with the - last bits from the original deflate stream. From here on, the data to - append is simply compressed using deflate, and written to the gzip file. - When that is complete, the new CRC-32 and uncompressed length are written - as the trailer of the gzip file. - */ - -#include -#include -#include -#include -#include -#include "zlib.h" - -#define local static -#define LGCHUNK 14 -#define CHUNK (1U << LGCHUNK) -#define DSIZE 32768U - -/* print an error message and terminate with extreme prejudice */ -local void bye(char *msg1, char *msg2) -{ - fprintf(stderr, "gzappend error: %s%s\n", msg1, msg2); - exit(1); -} - -/* return the greatest common divisor of a and b using Euclid's algorithm, - modified to be fast when one argument much greater than the other, and - coded to avoid unnecessary swapping */ -local unsigned gcd(unsigned a, unsigned b) -{ - unsigned c; - - while (a && b) - if (a > b) { - c = b; - while (a - c >= c) - c <<= 1; - a -= c; - } - else { - c = a; - while (b - c >= c) - c <<= 1; - b -= c; - } - return a + b; -} - -/* rotate list[0..len-1] left by rot positions, in place */ -local void rotate(unsigned char *list, unsigned len, unsigned rot) -{ - unsigned char tmp; - unsigned cycles; - unsigned char *start, *last, *to, *from; - - /* normalize rot and handle degenerate cases */ - if (len < 2) return; - if (rot >= len) rot %= len; - if (rot == 0) return; - - /* pointer to last entry in list */ - last = list + (len - 1); - - /* do simple left shift by one */ - if (rot == 1) { - tmp = *list; - memcpy(list, list + 1, len - 1); - *last = tmp; - return; - } - - /* do simple right shift by one */ - if (rot == len - 1) { - tmp = *last; - memmove(list + 1, list, len - 1); - *list = tmp; - return; - } - - /* otherwise do rotate as a set of cycles in place */ - cycles = gcd(len, rot); /* number of cycles */ - do { - start = from = list + cycles; /* start index is arbitrary */ - tmp = *from; /* save entry to be overwritten */ - for (;;) { - to = from; /* next step in cycle */ - from += rot; /* go right rot positions */ - if (from > last) from -= len; /* (pointer better not wrap) */ - if (from == start) break; /* all but one shifted */ - *to = *from; /* shift left */ - } - *to = tmp; /* complete the circle */ - } while (--cycles); -} - -/* structure for gzip file read operations */ -typedef struct { - int fd; /* file descriptor */ - int size; /* 1 << size is bytes in buf */ - unsigned left; /* bytes available at next */ - unsigned char *buf; /* buffer */ - unsigned char *next; /* next byte in buffer */ - char *name; /* file name for error messages */ -} file; - -/* reload buffer */ -local int readin(file *in) -{ - int len; - - len = read(in->fd, in->buf, 1 << in->size); - if (len == -1) bye("error reading ", in->name); - in->left = (unsigned)len; - in->next = in->buf; - return len; -} - -/* read from file in, exit if end-of-file */ -local int readmore(file *in) -{ - if (readin(in) == 0) bye("unexpected end of ", in->name); - return 0; -} - -#define read1(in) (in->left == 0 ? readmore(in) : 0, \ - in->left--, *(in->next)++) - -/* skip over n bytes of in */ -local void skip(file *in, unsigned n) -{ - unsigned bypass; - - if (n > in->left) { - n -= in->left; - bypass = n & ~((1U << in->size) - 1); - if (bypass) { - if (lseek(in->fd, (off_t)bypass, SEEK_CUR) == -1) - bye("seeking ", in->name); - n -= bypass; - } - readmore(in); - if (n > in->left) - bye("unexpected end of ", in->name); - } - in->left -= n; - in->next += n; -} - -/* read a four-byte unsigned integer, little-endian, from in */ -unsigned long read4(file *in) -{ - unsigned long val; - - val = read1(in); - val += (unsigned)read1(in) << 8; - val += (unsigned long)read1(in) << 16; - val += (unsigned long)read1(in) << 24; - return val; -} - -/* skip over gzip header */ -local void gzheader(file *in) -{ - int flags; - unsigned n; - - if (read1(in) != 31 || read1(in) != 139) bye(in->name, " not a gzip file"); - if (read1(in) != 8) bye("unknown compression method in", in->name); - flags = read1(in); - if (flags & 0xe0) bye("unknown header flags set in", in->name); - skip(in, 6); - if (flags & 4) { - n = read1(in); - n += (unsigned)(read1(in)) << 8; - skip(in, n); - } - if (flags & 8) while (read1(in) != 0) ; - if (flags & 16) while (read1(in) != 0) ; - if (flags & 2) skip(in, 2); -} - -/* decompress gzip file "name", return strm with a deflate stream ready to - continue compression of the data in the gzip file, and return a file - descriptor pointing to where to write the compressed data -- the deflate - stream is initialized to compress using level "level" */ -local int gzscan(char *name, z_stream *strm, int level) -{ - int ret, lastbit, left, full; - unsigned have; - unsigned long crc, tot; - unsigned char *window; - off_t lastoff, end; - file gz; - - /* open gzip file */ - gz.name = name; - gz.fd = open(name, O_RDWR, 0); - if (gz.fd == -1) bye("cannot open ", name); - gz.buf = malloc(CHUNK); - if (gz.buf == NULL) bye("out of memory", ""); - gz.size = LGCHUNK; - gz.left = 0; - - /* skip gzip header */ - gzheader(&gz); - - /* prepare to decompress */ - window = malloc(DSIZE); - if (window == NULL) bye("out of memory", ""); - strm->zalloc = Z_NULL; - strm->zfree = Z_NULL; - strm->opaque = Z_NULL; - ret = inflateInit2(strm, -15); - if (ret != Z_OK) bye("out of memory", " or library mismatch"); - - /* decompress the deflate stream, saving append information */ - lastbit = 0; - lastoff = lseek(gz.fd, 0L, SEEK_CUR) - gz.left; - left = 0; - strm->avail_in = gz.left; - strm->next_in = gz.next; - crc = crc32(0L, Z_NULL, 0); - have = full = 0; - do { - /* if needed, get more input */ - if (strm->avail_in == 0) { - readmore(&gz); - strm->avail_in = gz.left; - strm->next_in = gz.next; - } - - /* set up output to next available section of sliding window */ - strm->avail_out = DSIZE - have; - strm->next_out = window + have; - - /* inflate and check for errors */ - ret = inflate(strm, Z_BLOCK); - if (ret == Z_STREAM_ERROR) bye("internal stream error!", ""); - if (ret == Z_MEM_ERROR) bye("out of memory", ""); - if (ret == Z_DATA_ERROR) - bye("invalid compressed data--format violated in", name); - - /* update crc and sliding window pointer */ - crc = crc32(crc, window + have, DSIZE - have - strm->avail_out); - if (strm->avail_out) - have = DSIZE - strm->avail_out; - else { - have = 0; - full = 1; - } - - /* process end of block */ - if (strm->data_type & 128) { - if (strm->data_type & 64) - left = strm->data_type & 0x1f; - else { - lastbit = strm->data_type & 0x1f; - lastoff = lseek(gz.fd, 0L, SEEK_CUR) - strm->avail_in; - } - } - } while (ret != Z_STREAM_END); - inflateEnd(strm); - gz.left = strm->avail_in; - gz.next = strm->next_in; - - /* save the location of the end of the compressed data */ - end = lseek(gz.fd, 0L, SEEK_CUR) - gz.left; - - /* check gzip trailer and save total for deflate */ - if (crc != read4(&gz)) - bye("invalid compressed data--crc mismatch in ", name); - tot = strm->total_out; - if ((tot & 0xffffffffUL) != read4(&gz)) - bye("invalid compressed data--length mismatch in", name); - - /* if not at end of file, warn */ - if (gz.left || readin(&gz)) - fprintf(stderr, - "gzappend warning: junk at end of gzip file overwritten\n"); - - /* clear last block bit */ - lseek(gz.fd, lastoff - (lastbit != 0), SEEK_SET); - if (read(gz.fd, gz.buf, 1) != 1) bye("reading after seek on ", name); - *gz.buf = (unsigned char)(*gz.buf ^ (1 << ((8 - lastbit) & 7))); - lseek(gz.fd, -1L, SEEK_CUR); - if (write(gz.fd, gz.buf, 1) != 1) bye("writing after seek to ", name); - - /* if window wrapped, build dictionary from window by rotating */ - if (full) { - rotate(window, DSIZE, have); - have = DSIZE; - } - - /* set up deflate stream with window, crc, total_in, and leftover bits */ - ret = deflateInit2(strm, level, Z_DEFLATED, -15, 8, Z_DEFAULT_STRATEGY); - if (ret != Z_OK) bye("out of memory", ""); - deflateSetDictionary(strm, window, have); - strm->adler = crc; - strm->total_in = tot; - if (left) { - lseek(gz.fd, --end, SEEK_SET); - if (read(gz.fd, gz.buf, 1) != 1) bye("reading after seek on ", name); - deflatePrime(strm, 8 - left, *gz.buf); - } - lseek(gz.fd, end, SEEK_SET); - - /* clean up and return */ - free(window); - free(gz.buf); - return gz.fd; -} - -/* append file "name" to gzip file gd using deflate stream strm -- if last - is true, then finish off the deflate stream at the end */ -local void gztack(char *name, int gd, z_stream *strm, int last) -{ - int fd, len, ret; - unsigned left; - unsigned char *in, *out; - - /* open file to compress and append */ - fd = 0; - if (name != NULL) { - fd = open(name, O_RDONLY, 0); - if (fd == -1) - fprintf(stderr, "gzappend warning: %s not found, skipping ...\n", - name); - } - - /* allocate buffers */ - in = fd == -1 ? NULL : malloc(CHUNK); - out = malloc(CHUNK); - if (out == NULL) bye("out of memory", ""); - - /* compress input file and append to gzip file */ - do { - /* get more input */ - len = fd == -1 ? 0 : read(fd, in, CHUNK); - if (len == -1) { - fprintf(stderr, - "gzappend warning: error reading %s, skipping rest ...\n", - name); - len = 0; - } - strm->avail_in = (unsigned)len; - strm->next_in = in; - if (len) strm->adler = crc32(strm->adler, in, (unsigned)len); - - /* compress and write all available output */ - do { - strm->avail_out = CHUNK; - strm->next_out = out; - ret = deflate(strm, last && len == 0 ? Z_FINISH : Z_NO_FLUSH); - left = CHUNK - strm->avail_out; - while (left) { - len = write(gd, out + CHUNK - strm->avail_out - left, left); - if (len == -1) bye("writing gzip file", ""); - left -= (unsigned)len; - } - } while (strm->avail_out == 0 && ret != Z_STREAM_END); - } while (len != 0); - - /* write trailer after last entry */ - if (last) { - deflateEnd(strm); - out[0] = (unsigned char)(strm->adler); - out[1] = (unsigned char)(strm->adler >> 8); - out[2] = (unsigned char)(strm->adler >> 16); - out[3] = (unsigned char)(strm->adler >> 24); - out[4] = (unsigned char)(strm->total_in); - out[5] = (unsigned char)(strm->total_in >> 8); - out[6] = (unsigned char)(strm->total_in >> 16); - out[7] = (unsigned char)(strm->total_in >> 24); - len = 8; - do { - ret = write(gd, out + 8 - len, len); - if (ret == -1) bye("writing gzip file", ""); - len -= ret; - } while (len); - close(gd); - } - - /* clean up and return */ - free(out); - if (in != NULL) free(in); - if (fd > 0) close(fd); -} - -/* process the compression level option if present, scan the gzip file, and - append the specified files, or append the data from stdin if no other file - names are provided on the command line -- the gzip file must be writable - and seekable */ -int main(int argc, char **argv) -{ - int gd, level; - z_stream strm; - - /* ignore command name */ - argv++; - - /* provide usage if no arguments */ - if (*argv == NULL) { - printf("gzappend 1.1 (4 Nov 2003) Copyright (C) 2003 Mark Adler\n"); - printf( - "usage: gzappend [-level] file.gz [ addthis [ andthis ... ]]\n"); - return 0; - } - - /* set compression level */ - level = Z_DEFAULT_COMPRESSION; - if (argv[0][0] == '-') { - if (argv[0][1] < '0' || argv[0][1] > '9' || argv[0][2] != 0) - bye("invalid compression level", ""); - level = argv[0][1] - '0'; - if (*++argv == NULL) bye("no gzip file name after options", ""); - } - - /* prepare to append to gzip file */ - gd = gzscan(*argv++, &strm, level); - - /* append files on command line, or from stdin if none */ - if (*argv == NULL) - gztack(NULL, gd, &strm, 1); - else - do { - gztack(*argv, gd, &strm, argv[1] == NULL); - } while (*++argv != NULL); - return 0; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/gzjoin.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/gzjoin.c deleted file mode 100644 index 129347ce..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/gzjoin.c +++ /dev/null @@ -1,448 +0,0 @@ -/* gzjoin -- command to join gzip files into one gzip file - - Copyright (C) 2004 Mark Adler, all rights reserved - version 1.0, 11 Dec 2004 - - This software is provided 'as-is', without any express or implied - warranty. In no event will the author be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Mark Adler madler@alumni.caltech.edu - */ - -/* - * Change history: - * - * 1.0 11 Dec 2004 - First version - * 1.1 12 Jun 2005 - Changed ssize_t to long for portability - */ - -/* - gzjoin takes one or more gzip files on the command line and writes out a - single gzip file that will uncompress to the concatenation of the - uncompressed data from the individual gzip files. gzjoin does this without - having to recompress any of the data and without having to calculate a new - crc32 for the concatenated uncompressed data. gzjoin does however have to - decompress all of the input data in order to find the bits in the compressed - data that need to be modified to concatenate the streams. - - gzjoin does not do an integrity check on the input gzip files other than - checking the gzip header and decompressing the compressed data. They are - otherwise assumed to be complete and correct. - - Each joint between gzip files removes at least 18 bytes of previous trailer - and subsequent header, and inserts an average of about three bytes to the - compressed data in order to connect the streams. The output gzip file - has a minimal ten-byte gzip header with no file name or modification time. - - This program was written to illustrate the use of the Z_BLOCK option of - inflate() and the crc32_combine() function. gzjoin will not compile with - versions of zlib earlier than 1.2.3. - */ - -#include /* fputs(), fprintf(), fwrite(), putc() */ -#include /* exit(), malloc(), free() */ -#include /* open() */ -#include /* close(), read(), lseek() */ -#include "zlib.h" - /* crc32(), crc32_combine(), inflateInit2(), inflate(), inflateEnd() */ - -#define local static - -/* exit with an error (return a value to allow use in an expression) */ -local int bail(char *why1, char *why2) -{ - fprintf(stderr, "gzjoin error: %s%s, output incomplete\n", why1, why2); - exit(1); - return 0; -} - -/* -- simple buffered file input with access to the buffer -- */ - -#define CHUNK 32768 /* must be a power of two and fit in unsigned */ - -/* bin buffered input file type */ -typedef struct { - char *name; /* name of file for error messages */ - int fd; /* file descriptor */ - unsigned left; /* bytes remaining at next */ - unsigned char *next; /* next byte to read */ - unsigned char *buf; /* allocated buffer of length CHUNK */ -} bin; - -/* close a buffered file and free allocated memory */ -local void bclose(bin *in) -{ - if (in != NULL) { - if (in->fd != -1) - close(in->fd); - if (in->buf != NULL) - free(in->buf); - free(in); - } -} - -/* open a buffered file for input, return a pointer to type bin, or NULL on - failure */ -local bin *bopen(char *name) -{ - bin *in; - - in = malloc(sizeof(bin)); - if (in == NULL) - return NULL; - in->buf = malloc(CHUNK); - in->fd = open(name, O_RDONLY, 0); - if (in->buf == NULL || in->fd == -1) { - bclose(in); - return NULL; - } - in->left = 0; - in->next = in->buf; - in->name = name; - return in; -} - -/* load buffer from file, return -1 on read error, 0 or 1 on success, with - 1 indicating that end-of-file was reached */ -local int bload(bin *in) -{ - long len; - - if (in == NULL) - return -1; - if (in->left != 0) - return 0; - in->next = in->buf; - do { - len = (long)read(in->fd, in->buf + in->left, CHUNK - in->left); - if (len < 0) - return -1; - in->left += (unsigned)len; - } while (len != 0 && in->left < CHUNK); - return len == 0 ? 1 : 0; -} - -/* get a byte from the file, bail if end of file */ -#define bget(in) (in->left ? 0 : bload(in), \ - in->left ? (in->left--, *(in->next)++) : \ - bail("unexpected end of file on ", in->name)) - -/* get a four-byte little-endian unsigned integer from file */ -local unsigned long bget4(bin *in) -{ - unsigned long val; - - val = bget(in); - val += (unsigned long)(bget(in)) << 8; - val += (unsigned long)(bget(in)) << 16; - val += (unsigned long)(bget(in)) << 24; - return val; -} - -/* skip bytes in file */ -local void bskip(bin *in, unsigned skip) -{ - /* check pointer */ - if (in == NULL) - return; - - /* easy case -- skip bytes in buffer */ - if (skip <= in->left) { - in->left -= skip; - in->next += skip; - return; - } - - /* skip what's in buffer, discard buffer contents */ - skip -= in->left; - in->left = 0; - - /* seek past multiples of CHUNK bytes */ - if (skip > CHUNK) { - unsigned left; - - left = skip & (CHUNK - 1); - if (left == 0) { - /* exact number of chunks: seek all the way minus one byte to check - for end-of-file with a read */ - lseek(in->fd, skip - 1, SEEK_CUR); - if (read(in->fd, in->buf, 1) != 1) - bail("unexpected end of file on ", in->name); - return; - } - - /* skip the integral chunks, update skip with remainder */ - lseek(in->fd, skip - left, SEEK_CUR); - skip = left; - } - - /* read more input and skip remainder */ - bload(in); - if (skip > in->left) - bail("unexpected end of file on ", in->name); - in->left -= skip; - in->next += skip; -} - -/* -- end of buffered input functions -- */ - -/* skip the gzip header from file in */ -local void gzhead(bin *in) -{ - int flags; - - /* verify gzip magic header and compression method */ - if (bget(in) != 0x1f || bget(in) != 0x8b || bget(in) != 8) - bail(in->name, " is not a valid gzip file"); - - /* get and verify flags */ - flags = bget(in); - if ((flags & 0xe0) != 0) - bail("unknown reserved bits set in ", in->name); - - /* skip modification time, extra flags, and os */ - bskip(in, 6); - - /* skip extra field if present */ - if (flags & 4) { - unsigned len; - - len = bget(in); - len += (unsigned)(bget(in)) << 8; - bskip(in, len); - } - - /* skip file name if present */ - if (flags & 8) - while (bget(in) != 0) - ; - - /* skip comment if present */ - if (flags & 16) - while (bget(in) != 0) - ; - - /* skip header crc if present */ - if (flags & 2) - bskip(in, 2); -} - -/* write a four-byte little-endian unsigned integer to out */ -local void put4(unsigned long val, FILE *out) -{ - putc(val & 0xff, out); - putc((val >> 8) & 0xff, out); - putc((val >> 16) & 0xff, out); - putc((val >> 24) & 0xff, out); -} - -/* Load up zlib stream from buffered input, bail if end of file */ -local void zpull(z_streamp strm, bin *in) -{ - if (in->left == 0) - bload(in); - if (in->left == 0) - bail("unexpected end of file on ", in->name); - strm->avail_in = in->left; - strm->next_in = in->next; -} - -/* Write header for gzip file to out and initialize trailer. */ -local void gzinit(unsigned long *crc, unsigned long *tot, FILE *out) -{ - fwrite("\x1f\x8b\x08\0\0\0\0\0\0\xff", 1, 10, out); - *crc = crc32(0L, Z_NULL, 0); - *tot = 0; -} - -/* Copy the compressed data from name, zeroing the last block bit of the last - block if clr is true, and adding empty blocks as needed to get to a byte - boundary. If clr is false, then the last block becomes the last block of - the output, and the gzip trailer is written. crc and tot maintains the - crc and length (modulo 2^32) of the output for the trailer. The resulting - gzip file is written to out. gzinit() must be called before the first call - of gzcopy() to write the gzip header and to initialize crc and tot. */ -local void gzcopy(char *name, int clr, unsigned long *crc, unsigned long *tot, - FILE *out) -{ - int ret; /* return value from zlib functions */ - int pos; /* where the "last block" bit is in byte */ - int last; /* true if processing the last block */ - bin *in; /* buffered input file */ - unsigned char *start; /* start of compressed data in buffer */ - unsigned char *junk; /* buffer for uncompressed data -- discarded */ - z_off_t len; /* length of uncompressed data (support > 4 GB) */ - z_stream strm; /* zlib inflate stream */ - - /* open gzip file and skip header */ - in = bopen(name); - if (in == NULL) - bail("could not open ", name); - gzhead(in); - - /* allocate buffer for uncompressed data and initialize raw inflate - stream */ - junk = malloc(CHUNK); - strm.zalloc = Z_NULL; - strm.zfree = Z_NULL; - strm.opaque = Z_NULL; - strm.avail_in = 0; - strm.next_in = Z_NULL; - ret = inflateInit2(&strm, -15); - if (junk == NULL || ret != Z_OK) - bail("out of memory", ""); - - /* inflate and copy compressed data, clear last-block bit if requested */ - len = 0; - zpull(&strm, in); - start = strm.next_in; - last = start[0] & 1; - if (last && clr) - start[0] &= ~1; - strm.avail_out = 0; - for (;;) { - /* if input used and output done, write used input and get more */ - if (strm.avail_in == 0 && strm.avail_out != 0) { - fwrite(start, 1, strm.next_in - start, out); - start = in->buf; - in->left = 0; - zpull(&strm, in); - } - - /* decompress -- return early when end-of-block reached */ - strm.avail_out = CHUNK; - strm.next_out = junk; - ret = inflate(&strm, Z_BLOCK); - switch (ret) { - case Z_MEM_ERROR: - bail("out of memory", ""); - case Z_DATA_ERROR: - bail("invalid compressed data in ", in->name); - } - - /* update length of uncompressed data */ - len += CHUNK - strm.avail_out; - - /* check for block boundary (only get this when block copied out) */ - if (strm.data_type & 128) { - /* if that was the last block, then done */ - if (last) - break; - - /* number of unused bits in last byte */ - pos = strm.data_type & 7; - - /* find the next last-block bit */ - if (pos != 0) { - /* next last-block bit is in last used byte */ - pos = 0x100 >> pos; - last = strm.next_in[-1] & pos; - if (last && clr) - strm.next_in[-1] &= ~pos; - } - else { - /* next last-block bit is in next unused byte */ - if (strm.avail_in == 0) { - /* don't have that byte yet -- get it */ - fwrite(start, 1, strm.next_in - start, out); - start = in->buf; - in->left = 0; - zpull(&strm, in); - } - last = strm.next_in[0] & 1; - if (last && clr) - strm.next_in[0] &= ~1; - } - } - } - - /* update buffer with unused input */ - in->left = strm.avail_in; - in->next = strm.next_in; - - /* copy used input, write empty blocks to get to byte boundary */ - pos = strm.data_type & 7; - fwrite(start, 1, in->next - start - 1, out); - last = in->next[-1]; - if (pos == 0 || !clr) - /* already at byte boundary, or last file: write last byte */ - putc(last, out); - else { - /* append empty blocks to last byte */ - last &= ((0x100 >> pos) - 1); /* assure unused bits are zero */ - if (pos & 1) { - /* odd -- append an empty stored block */ - putc(last, out); - if (pos == 1) - putc(0, out); /* two more bits in block header */ - fwrite("\0\0\xff\xff", 1, 4, out); - } - else { - /* even -- append 1, 2, or 3 empty fixed blocks */ - switch (pos) { - case 6: - putc(last | 8, out); - last = 0; - case 4: - putc(last | 0x20, out); - last = 0; - case 2: - putc(last | 0x80, out); - putc(0, out); - } - } - } - - /* update crc and tot */ - *crc = crc32_combine(*crc, bget4(in), len); - *tot += (unsigned long)len; - - /* clean up */ - inflateEnd(&strm); - free(junk); - bclose(in); - - /* write trailer if this is the last gzip file */ - if (!clr) { - put4(*crc, out); - put4(*tot, out); - } -} - -/* join the gzip files on the command line, write result to stdout */ -int main(int argc, char **argv) -{ - unsigned long crc, tot; /* running crc and total uncompressed length */ - - /* skip command name */ - argc--; - argv++; - - /* show usage if no arguments */ - if (argc == 0) { - fputs("gzjoin usage: gzjoin f1.gz [f2.gz [f3.gz ...]] > fjoin.gz\n", - stderr); - return 0; - } - - /* join gzip files on command line and write to stdout */ - gzinit(&crc, &tot, stdout); - while (argc--) - gzcopy(*argv++, argc, &crc, &tot, stdout); - - /* done */ - return 0; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/gzlog.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/gzlog.c deleted file mode 100644 index d70aacab..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/gzlog.c +++ /dev/null @@ -1,1058 +0,0 @@ -/* - * gzlog.c - * Copyright (C) 2004, 2008 Mark Adler, all rights reserved - * For conditions of distribution and use, see copyright notice in gzlog.h - * version 2.0, 25 Apr 2008 - */ - -/* - gzlog provides a mechanism for frequently appending short strings to a gzip - file that is efficient both in execution time and compression ratio. The - strategy is to write the short strings in an uncompressed form to the end of - the gzip file, only compressing when the amount of uncompressed data has - reached a given threshold. - - gzlog also provides protection against interruptions in the process due to - system crashes. The status of the operation is recorded in an extra field - in the gzip file, and is only updated once the gzip file is brought to a - valid state. The last data to be appended or compressed is saved in an - auxiliary file, so that if the operation is interrupted, it can be completed - the next time an append operation is attempted. - - gzlog maintains another auxiliary file with the last 32K of data from the - compressed portion, which is preloaded for the compression of the subsequent - data. This minimizes the impact to the compression ratio of appending. - */ - -/* - Operations Concept: - - Files (log name "foo"): - foo.gz -- gzip file with the complete log - foo.add -- last message to append or last data to compress - foo.dict -- dictionary of the last 32K of data for next compression - foo.temp -- temporary dictionary file for compression after this one - foo.lock -- lock file for reading and writing the other files - foo.repairs -- log file for log file recovery operations (not compressed) - - gzip file structure: - - fixed-length (no file name) header with extra field (see below) - - compressed data ending initially with empty stored block - - uncompressed data filling out originally empty stored block and - subsequent stored blocks as needed (16K max each) - - gzip trailer - - no junk at end (no other gzip streams) - - When appending data, the information in the first three items above plus the - foo.add file are sufficient to recover an interrupted append operation. The - extra field has the necessary information to restore the start of the last - stored block and determine where to append the data in the foo.add file, as - well as the crc and length of the gzip data before the append operation. - - The foo.add file is created before the gzip file is marked for append, and - deleted after the gzip file is marked as complete. So if the append - operation is interrupted, the data to add will still be there. If due to - some external force, the foo.add file gets deleted between when the append - operation was interrupted and when recovery is attempted, the gzip file will - still be restored, but without the appended data. - - When compressing data, the information in the first two items above plus the - foo.add file are sufficient to recover an interrupted compress operation. - The extra field has the necessary information to find the end of the - compressed data, and contains both the crc and length of just the compressed - data and of the complete set of data including the contents of the foo.add - file. - - Again, the foo.add file is maintained during the compress operation in case - of an interruption. If in the unlikely event the foo.add file with the data - to be compressed is missing due to some external force, a gzip file with - just the previous compressed data will be reconstructed. In this case, all - of the data that was to be compressed is lost (approximately one megabyte). - This will not occur if all that happened was an interruption of the compress - operation. - - The third state that is marked is the replacement of the old dictionary with - the new dictionary after a compress operation. Once compression is - complete, the gzip file is marked as being in the replace state. This - completes the gzip file, so an interrupt after being so marked does not - result in recompression. Then the dictionary file is replaced, and the gzip - file is marked as completed. This state prevents the possibility of - restarting compression with the wrong dictionary file. - - All three operations are wrapped by a lock/unlock procedure. In order to - gain exclusive access to the log files, first a foo.lock file must be - exclusively created. When all operations are complete, the lock is - released by deleting the foo.lock file. If when attempting to create the - lock file, it already exists and the modify time of the lock file is more - than five minutes old (set by the PATIENCE define below), then the old - lock file is considered stale and deleted, and the exclusive creation of - the lock file is retried. To assure that there are no false assessments - of the staleness of the lock file, the operations periodically touch the - lock file to update the modified date. - - Following is the definition of the extra field with all of the information - required to enable the above append and compress operations and their - recovery if interrupted. Multi-byte values are stored little endian - (consistent with the gzip format). File pointers are eight bytes long. - The crc's and lengths for the gzip trailer are four bytes long. (Note that - the length at the end of a gzip file is used for error checking only, and - for large files is actually the length modulo 2^32.) The stored block - length is two bytes long. The gzip extra field two-byte identification is - "ap" for append. It is assumed that writing the extra field to the file is - an "atomic" operation. That is, either all of the extra field is written - to the file, or none of it is, if the operation is interrupted right at the - point of updating the extra field. This is a reasonable assumption, since - the extra field is within the first 52 bytes of the file, which is smaller - than any expected block size for a mass storage device (usually 512 bytes or - larger). - - Extra field (35 bytes): - - Pointer to first stored block length -- this points to the two-byte length - of the first stored block, which is followed by the two-byte, one's - complement of that length. The stored block length is preceded by the - three-bit header of the stored block, which is the actual start of the - stored block in the deflate format. See the bit offset field below. - - Pointer to the last stored block length. This is the same as above, but - for the last stored block of the uncompressed data in the gzip file. - Initially this is the same as the first stored block length pointer. - When the stored block gets to 16K (see the MAX_STORE define), then a new - stored block as added, at which point the last stored block length pointer - is different from the first stored block length pointer. When they are - different, the first bit of the last stored block header is eight bits, or - one byte back from the block length. - - Compressed data crc and length. This is the crc and length of the data - that is in the compressed portion of the deflate stream. These are used - only in the event that the foo.add file containing the data to compress is - lost after a compress operation is interrupted. - - Total data crc and length. This is the crc and length of all of the data - stored in the gzip file, compressed and uncompressed. It is used to - reconstruct the gzip trailer when compressing, as well as when recovering - interrupted operations. - - Final stored block length. This is used to quickly find where to append, - and allows the restoration of the original final stored block state when - an append operation is interrupted. - - First stored block start as the number of bits back from the final stored - block first length byte. This value is in the range of 3..10, and is - stored as the low three bits of the final byte of the extra field after - subtracting three (0..7). This allows the last-block bit of the stored - block header to be updated when a new stored block is added, for the case - when the first stored block and the last stored block are the same. (When - they are different, the numbers of bits back is known to be eight.) This - also allows for new compressed data to be appended to the old compressed - data in the compress operation, overwriting the previous first stored - block, or for the compressed data to be terminated and a valid gzip file - reconstructed on the off chance that a compression operation was - interrupted and the data to compress in the foo.add file was deleted. - - The operation in process. This is the next two bits in the last byte (the - bits under the mask 0x18). The are interpreted as 0: nothing in process, - 1: append in process, 2: compress in process, 3: replace in process. - - The top three bits of the last byte in the extra field are reserved and - are currently set to zero. - - Main procedure: - - Exclusively create the foo.lock file using the O_CREAT and O_EXCL modes of - the system open() call. If the modify time of an existing lock file is - more than PATIENCE seconds old, then the lock file is deleted and the - exclusive create is retried. - - Load the extra field from the foo.gz file, and see if an operation was in - progress but not completed. If so, apply the recovery procedure below. - - Perform the append procedure with the provided data. - - If the uncompressed data in the foo.gz file is 1MB or more, apply the - compress procedure. - - Delete the foo.lock file. - - Append procedure: - - Put what to append in the foo.add file so that the operation can be - restarted if this procedure is interrupted. - - Mark the foo.gz extra field with the append operation in progress. - + Restore the original last-block bit and stored block length of the last - stored block from the information in the extra field, in case a previous - append operation was interrupted. - - Append the provided data to the last stored block, creating new stored - blocks as needed and updating the stored blocks last-block bits and - lengths. - - Update the crc and length with the new data, and write the gzip trailer. - - Write over the extra field (with a single write operation) with the new - pointers, lengths, and crc's, and mark the gzip file as not in process. - Though there is still a foo.add file, it will be ignored since nothing - is in process. If a foo.add file is leftover from a previously - completed operation, it is truncated when writing new data to it. - - Delete the foo.add file. - - Compress and replace procedures: - - Read all of the uncompressed data in the stored blocks in foo.gz and write - it to foo.add. Also write foo.temp with the last 32K of that data to - provide a dictionary for the next invocation of this procedure. - - Rewrite the extra field marking foo.gz with a compression in process. - * If there is no data provided to compress (due to a missing foo.add file - when recovering), reconstruct and truncate the foo.gz file to contain - only the previous compressed data and proceed to the step after the next - one. Otherwise ... - - Compress the data with the dictionary in foo.dict, and write to the - foo.gz file starting at the bit immediately following the last previously - compressed block. If there is no foo.dict, proceed anyway with the - compression at slightly reduced efficiency. (For the foo.dict file to be - missing requires some external failure beyond simply the interruption of - a compress operation.) During this process, the foo.lock file is - periodically touched to assure that that file is not considered stale by - another process before we're done. The deflation is terminated with a - non-last empty static block (10 bits long), that is then located and - written over by a last-bit-set empty stored block. - - Append the crc and length of the data in the gzip file (previously - calculated during the append operations). - - Write over the extra field with the updated stored block offsets, bits - back, crc's, and lengths, and mark foo.gz as in process for a replacement - of the dictionary. - @ Delete the foo.add file. - - Replace foo.dict with foo.temp. - - Write over the extra field, marking foo.gz as complete. - - Recovery procedure: - - If not a replace recovery, read in the foo.add file, and provide that data - to the appropriate recovery below. If there is no foo.add file, provide - a zero data length to the recovery. In that case, the append recovery - restores the foo.gz to the previous compressed + uncompressed data state. - For the the compress recovery, a missing foo.add file results in foo.gz - being restored to the previous compressed-only data state. - - Append recovery: - - Pick up append at + step above - - Compress recovery: - - Pick up compress at * step above - - Replace recovery: - - Pick up compress at @ step above - - Log the repair with a date stamp in foo.repairs - */ - -#include -#include /* rename, fopen, fprintf, fclose */ -#include /* malloc, free */ -#include /* strlen, strrchr, strcpy, strncpy, strcmp */ -#include /* open */ -#include /* lseek, read, write, close, unlink, sleep, */ - /* ftruncate, fsync */ -#include /* errno */ -#include /* time, ctime */ -#include /* stat */ -#include /* utimes */ -#include "zlib.h" /* crc32 */ - -#include "gzlog.h" /* header for external access */ - -#define local static -typedef unsigned int uint; -typedef unsigned long ulong; - -/* Macro for debugging to deterministically force recovery operations */ -#ifdef DEBUG - #include /* longjmp */ - jmp_buf gzlog_jump; /* where to go back to */ - int gzlog_bail = 0; /* which point to bail at (1..8) */ - int gzlog_count = -1; /* number of times through to wait */ -# define BAIL(n) do { if (n == gzlog_bail && gzlog_count-- == 0) \ - longjmp(gzlog_jump, gzlog_bail); } while (0) -#else -# define BAIL(n) -#endif - -/* how old the lock file can be in seconds before considering it stale */ -#define PATIENCE 300 - -/* maximum stored block size in Kbytes -- must be in 1..63 */ -#define MAX_STORE 16 - -/* number of stored Kbytes to trigger compression (must be >= 32 to allow - dictionary construction, and <= 204 * MAX_STORE, in order for >> 10 to - discard the stored block headers contribution of five bytes each) */ -#define TRIGGER 1024 - -/* size of a deflate dictionary (this cannot be changed) */ -#define DICT 32768U - -/* values for the operation (2 bits) */ -#define NO_OP 0 -#define APPEND_OP 1 -#define COMPRESS_OP 2 -#define REPLACE_OP 3 - -/* macros to extract little-endian integers from an unsigned byte buffer */ -#define PULL2(p) ((p)[0]+((uint)((p)[1])<<8)) -#define PULL4(p) (PULL2(p)+((ulong)PULL2(p+2)<<16)) -#define PULL8(p) (PULL4(p)+((off_t)PULL4(p+4)<<32)) - -/* macros to store integers into a byte buffer in little-endian order */ -#define PUT2(p,a) do {(p)[0]=a;(p)[1]=(a)>>8;} while(0) -#define PUT4(p,a) do {PUT2(p,a);PUT2(p+2,a>>16);} while(0) -#define PUT8(p,a) do {PUT4(p,a);PUT4(p+4,a>>32);} while(0) - -/* internal structure for log information */ -#define LOGID "\106\035\172" /* should be three non-zero characters */ -struct log { - char id[4]; /* contains LOGID to detect inadvertent overwrites */ - int fd; /* file descriptor for .gz file, opened read/write */ - char *path; /* allocated path, e.g. "/var/log/foo" or "foo" */ - char *end; /* end of path, for appending suffices such as ".gz" */ - off_t first; /* offset of first stored block first length byte */ - int back; /* location of first block id in bits back from first */ - uint stored; /* bytes currently in last stored block */ - off_t last; /* offset of last stored block first length byte */ - ulong ccrc; /* crc of compressed data */ - ulong clen; /* length (modulo 2^32) of compressed data */ - ulong tcrc; /* crc of total data */ - ulong tlen; /* length (modulo 2^32) of total data */ - time_t lock; /* last modify time of our lock file */ -}; - -/* gzip header for gzlog */ -local unsigned char log_gzhead[] = { - 0x1f, 0x8b, /* magic gzip id */ - 8, /* compression method is deflate */ - 4, /* there is an extra field (no file name) */ - 0, 0, 0, 0, /* no modification time provided */ - 0, 0xff, /* no extra flags, no OS specified */ - 39, 0, 'a', 'p', 35, 0 /* extra field with "ap" subfield */ - /* 35 is EXTRA, 39 is EXTRA + 4 */ -}; - -#define HEAD sizeof(log_gzhead) /* should be 16 */ - -/* initial gzip extra field content (52 == HEAD + EXTRA + 1) */ -local unsigned char log_gzext[] = { - 52, 0, 0, 0, 0, 0, 0, 0, /* offset of first stored block length */ - 52, 0, 0, 0, 0, 0, 0, 0, /* offset of last stored block length */ - 0, 0, 0, 0, 0, 0, 0, 0, /* compressed data crc and length */ - 0, 0, 0, 0, 0, 0, 0, 0, /* total data crc and length */ - 0, 0, /* final stored block data length */ - 5 /* op is NO_OP, last bit 8 bits back */ -}; - -#define EXTRA sizeof(log_gzext) /* should be 35 */ - -/* initial gzip data and trailer */ -local unsigned char log_gzbody[] = { - 1, 0, 0, 0xff, 0xff, /* empty stored block (last) */ - 0, 0, 0, 0, /* crc */ - 0, 0, 0, 0 /* uncompressed length */ -}; - -#define BODY sizeof(log_gzbody) - -/* Exclusively create foo.lock in order to negotiate exclusive access to the - foo.* files. If the modify time of an existing lock file is greater than - PATIENCE seconds in the past, then consider the lock file to have been - abandoned, delete it, and try the exclusive create again. Save the lock - file modify time for verification of ownership. Return 0 on success, or -1 - on failure, usually due to an access restriction or invalid path. Note that - if stat() or unlink() fails, it may be due to another process noticing the - abandoned lock file a smidge sooner and deleting it, so those are not - flagged as an error. */ -local int log_lock(struct log *log) -{ - int fd; - struct stat st; - - strcpy(log->end, ".lock"); - while ((fd = open(log->path, O_CREAT | O_EXCL, 0644)) < 0) { - if (errno != EEXIST) - return -1; - if (stat(log->path, &st) == 0 && time(NULL) - st.st_mtime > PATIENCE) { - unlink(log->path); - continue; - } - sleep(2); /* relinquish the CPU for two seconds while waiting */ - } - close(fd); - if (stat(log->path, &st) == 0) - log->lock = st.st_mtime; - return 0; -} - -/* Update the modify time of the lock file to now, in order to prevent another - task from thinking that the lock is stale. Save the lock file modify time - for verification of ownership. */ -local void log_touch(struct log *log) -{ - struct stat st; - - strcpy(log->end, ".lock"); - utimes(log->path, NULL); - if (stat(log->path, &st) == 0) - log->lock = st.st_mtime; -} - -/* Check the log file modify time against what is expected. Return true if - this is not our lock. If it is our lock, touch it to keep it. */ -local int log_check(struct log *log) -{ - struct stat st; - - strcpy(log->end, ".lock"); - if (stat(log->path, &st) || st.st_mtime != log->lock) - return 1; - log_touch(log); - return 0; -} - -/* Unlock a previously acquired lock, but only if it's ours. */ -local void log_unlock(struct log *log) -{ - if (log_check(log)) - return; - strcpy(log->end, ".lock"); - unlink(log->path); - log->lock = 0; -} - -/* Check the gzip header and read in the extra field, filling in the values in - the log structure. Return op on success or -1 if the gzip header was not as - expected. op is the current operation in progress last written to the extra - field. This assumes that the gzip file has already been opened, with the - file descriptor log->fd. */ -local int log_head(struct log *log) -{ - int op; - unsigned char buf[HEAD + EXTRA]; - - if (lseek(log->fd, 0, SEEK_SET) < 0 || - read(log->fd, buf, HEAD + EXTRA) != HEAD + EXTRA || - memcmp(buf, log_gzhead, HEAD)) { - return -1; - } - log->first = PULL8(buf + HEAD); - log->last = PULL8(buf + HEAD + 8); - log->ccrc = PULL4(buf + HEAD + 16); - log->clen = PULL4(buf + HEAD + 20); - log->tcrc = PULL4(buf + HEAD + 24); - log->tlen = PULL4(buf + HEAD + 28); - log->stored = PULL2(buf + HEAD + 32); - log->back = 3 + (buf[HEAD + 34] & 7); - op = (buf[HEAD + 34] >> 3) & 3; - return op; -} - -/* Write over the extra field contents, marking the operation as op. Use fsync - to assure that the device is written to, and in the requested order. This - operation, and only this operation, is assumed to be atomic in order to - assure that the log is recoverable in the event of an interruption at any - point in the process. Return -1 if the write to foo.gz failed. */ -local int log_mark(struct log *log, int op) -{ - int ret; - unsigned char ext[EXTRA]; - - PUT8(ext, log->first); - PUT8(ext + 8, log->last); - PUT4(ext + 16, log->ccrc); - PUT4(ext + 20, log->clen); - PUT4(ext + 24, log->tcrc); - PUT4(ext + 28, log->tlen); - PUT2(ext + 32, log->stored); - ext[34] = log->back - 3 + (op << 3); - fsync(log->fd); - ret = lseek(log->fd, HEAD, SEEK_SET) < 0 || - write(log->fd, ext, EXTRA) != EXTRA ? -1 : 0; - fsync(log->fd); - return ret; -} - -/* Rewrite the last block header bits and subsequent zero bits to get to a byte - boundary, setting the last block bit if last is true, and then write the - remainder of the stored block header (length and one's complement). Leave - the file pointer after the end of the last stored block data. Return -1 if - there is a read or write failure on the foo.gz file */ -local int log_last(struct log *log, int last) -{ - int back, len, mask; - unsigned char buf[6]; - - /* determine the locations of the bytes and bits to modify */ - back = log->last == log->first ? log->back : 8; - len = back > 8 ? 2 : 1; /* bytes back from log->last */ - mask = 0x80 >> ((back - 1) & 7); /* mask for block last-bit */ - - /* get the byte to modify (one or two back) into buf[0] -- don't need to - read the byte if the last-bit is eight bits back, since in that case - the entire byte will be modified */ - buf[0] = 0; - if (back != 8 && (lseek(log->fd, log->last - len, SEEK_SET) < 0 || - read(log->fd, buf, 1) != 1)) - return -1; - - /* change the last-bit of the last stored block as requested -- note - that all bits above the last-bit are set to zero, per the type bits - of a stored block being 00 and per the convention that the bits to - bring the stream to a byte boundary are also zeros */ - buf[1] = 0; - buf[2 - len] = (*buf & (mask - 1)) + (last ? mask : 0); - - /* write the modified stored block header and lengths, move the file - pointer to after the last stored block data */ - PUT2(buf + 2, log->stored); - PUT2(buf + 4, log->stored ^ 0xffff); - return lseek(log->fd, log->last - len, SEEK_SET) < 0 || - write(log->fd, buf + 2 - len, len + 4) != len + 4 || - lseek(log->fd, log->stored, SEEK_CUR) < 0 ? -1 : 0; -} - -/* Append len bytes from data to the locked and open log file. len may be zero - if recovering and no .add file was found. In that case, the previous state - of the foo.gz file is restored. The data is appended uncompressed in - deflate stored blocks. Return -1 if there was an error reading or writing - the foo.gz file. */ -local int log_append(struct log *log, unsigned char *data, size_t len) -{ - uint put; - off_t end; - unsigned char buf[8]; - - /* set the last block last-bit and length, in case recovering an - interrupted append, then position the file pointer to append to the - block */ - if (log_last(log, 1)) - return -1; - - /* append, adding stored blocks and updating the offset of the last stored - block as needed, and update the total crc and length */ - while (len) { - /* append as much as we can to the last block */ - put = (MAX_STORE << 10) - log->stored; - if (put > len) - put = (uint)len; - if (put) { - if (write(log->fd, data, put) != put) - return -1; - BAIL(1); - log->tcrc = crc32(log->tcrc, data, put); - log->tlen += put; - log->stored += put; - data += put; - len -= put; - } - - /* if we need to, add a new empty stored block */ - if (len) { - /* mark current block as not last */ - if (log_last(log, 0)) - return -1; - - /* point to new, empty stored block */ - log->last += 4 + log->stored + 1; - log->stored = 0; - } - - /* mark last block as last, update its length */ - if (log_last(log, 1)) - return -1; - BAIL(2); - } - - /* write the new crc and length trailer, and truncate just in case (could - be recovering from partial append with a missing foo.add file) */ - PUT4(buf, log->tcrc); - PUT4(buf + 4, log->tlen); - if (write(log->fd, buf, 8) != 8 || - (end = lseek(log->fd, 0, SEEK_CUR)) < 0 || ftruncate(log->fd, end)) - return -1; - - /* write the extra field, marking the log file as done, delete .add file */ - if (log_mark(log, NO_OP)) - return -1; - strcpy(log->end, ".add"); - unlink(log->path); /* ignore error, since may not exist */ - return 0; -} - -/* Replace the foo.dict file with the foo.temp file. Also delete the foo.add - file, since the compress operation may have been interrupted before that was - done. Returns 1 if memory could not be allocated, or -1 if reading or - writing foo.gz fails, or if the rename fails for some reason other than - foo.temp not existing. foo.temp not existing is a permitted error, since - the replace operation may have been interrupted after the rename is done, - but before foo.gz is marked as complete. */ -local int log_replace(struct log *log) -{ - int ret; - char *dest; - - /* delete foo.add file */ - strcpy(log->end, ".add"); - unlink(log->path); /* ignore error, since may not exist */ - BAIL(3); - - /* rename foo.name to foo.dict, replacing foo.dict if it exists */ - strcpy(log->end, ".dict"); - dest = malloc(strlen(log->path) + 1); - if (dest == NULL) - return -2; - strcpy(dest, log->path); - strcpy(log->end, ".temp"); - ret = rename(log->path, dest); - free(dest); - if (ret && errno != ENOENT) - return -1; - BAIL(4); - - /* mark the foo.gz file as done */ - return log_mark(log, NO_OP); -} - -/* Compress the len bytes at data and append the compressed data to the - foo.gz deflate data immediately after the previous compressed data. This - overwrites the previous uncompressed data, which was stored in foo.add - and is the data provided in data[0..len-1]. If this operation is - interrupted, it picks up at the start of this routine, with the foo.add - file read in again. If there is no data to compress (len == 0), then we - simply terminate the foo.gz file after the previously compressed data, - appending a final empty stored block and the gzip trailer. Return -1 if - reading or writing the log.gz file failed, or -2 if there was a memory - allocation failure. */ -local int log_compress(struct log *log, unsigned char *data, size_t len) -{ - int fd; - uint got, max; - ssize_t dict; - off_t end; - z_stream strm; - unsigned char buf[DICT]; - - /* compress and append compressed data */ - if (len) { - /* set up for deflate, allocating memory */ - strm.zalloc = Z_NULL; - strm.zfree = Z_NULL; - strm.opaque = Z_NULL; - if (deflateInit2(&strm, Z_DEFAULT_COMPRESSION, Z_DEFLATED, -15, 8, - Z_DEFAULT_STRATEGY) != Z_OK) - return -2; - - /* read in dictionary (last 32K of data that was compressed) */ - strcpy(log->end, ".dict"); - fd = open(log->path, O_RDONLY, 0); - if (fd >= 0) { - dict = read(fd, buf, DICT); - close(fd); - if (dict < 0) { - deflateEnd(&strm); - return -1; - } - if (dict) - deflateSetDictionary(&strm, buf, (uint)dict); - } - log_touch(log); - - /* prime deflate with last bits of previous block, position write - pointer to write those bits and overwrite what follows */ - if (lseek(log->fd, log->first - (log->back > 8 ? 2 : 1), - SEEK_SET) < 0 || - read(log->fd, buf, 1) != 1 || lseek(log->fd, -1, SEEK_CUR) < 0) { - deflateEnd(&strm); - return -1; - } - deflatePrime(&strm, (8 - log->back) & 7, *buf); - - /* compress, finishing with a partial non-last empty static block */ - strm.next_in = data; - max = (((uint)0 - 1) >> 1) + 1; /* in case int smaller than size_t */ - do { - strm.avail_in = len > max ? max : (uint)len; - len -= strm.avail_in; - do { - strm.avail_out = DICT; - strm.next_out = buf; - deflate(&strm, len ? Z_NO_FLUSH : Z_PARTIAL_FLUSH); - got = DICT - strm.avail_out; - if (got && write(log->fd, buf, got) != got) { - deflateEnd(&strm); - return -1; - } - log_touch(log); - } while (strm.avail_out == 0); - } while (len); - deflateEnd(&strm); - BAIL(5); - - /* find start of empty static block -- scanning backwards the first one - bit is the second bit of the block, if the last byte is zero, then - we know the byte before that has a one in the top bit, since an - empty static block is ten bits long */ - if ((log->first = lseek(log->fd, -1, SEEK_CUR)) < 0 || - read(log->fd, buf, 1) != 1) - return -1; - log->first++; - if (*buf) { - log->back = 1; - while ((*buf & ((uint)1 << (8 - log->back++))) == 0) - ; /* guaranteed to terminate, since *buf != 0 */ - } - else - log->back = 10; - - /* update compressed crc and length */ - log->ccrc = log->tcrc; - log->clen = log->tlen; - } - else { - /* no data to compress -- fix up existing gzip stream */ - log->tcrc = log->ccrc; - log->tlen = log->clen; - } - - /* complete and truncate gzip stream */ - log->last = log->first; - log->stored = 0; - PUT4(buf, log->tcrc); - PUT4(buf + 4, log->tlen); - if (log_last(log, 1) || write(log->fd, buf, 8) != 8 || - (end = lseek(log->fd, 0, SEEK_CUR)) < 0 || ftruncate(log->fd, end)) - return -1; - BAIL(6); - - /* mark as being in the replace operation */ - if (log_mark(log, REPLACE_OP)) - return -1; - - /* execute the replace operation and mark the file as done */ - return log_replace(log); -} - -/* log a repair record to the .repairs file */ -local void log_log(struct log *log, int op, char *record) -{ - time_t now; - FILE *rec; - - now = time(NULL); - strcpy(log->end, ".repairs"); - rec = fopen(log->path, "a"); - if (rec == NULL) - return; - fprintf(rec, "%.24s %s recovery: %s\n", ctime(&now), op == APPEND_OP ? - "append" : (op == COMPRESS_OP ? "compress" : "replace"), record); - fclose(rec); - return; -} - -/* Recover the interrupted operation op. First read foo.add for recovering an - append or compress operation. Return -1 if there was an error reading or - writing foo.gz or reading an existing foo.add, or -2 if there was a memory - allocation failure. */ -local int log_recover(struct log *log, int op) -{ - int fd, ret = 0; - unsigned char *data = NULL; - size_t len = 0; - struct stat st; - - /* log recovery */ - log_log(log, op, "start"); - - /* load foo.add file if expected and present */ - if (op == APPEND_OP || op == COMPRESS_OP) { - strcpy(log->end, ".add"); - if (stat(log->path, &st) == 0 && st.st_size) { - len = (size_t)(st.st_size); - if (len != st.st_size || (data = malloc(st.st_size)) == NULL) { - log_log(log, op, "allocation failure"); - return -2; - } - if ((fd = open(log->path, O_RDONLY, 0)) < 0) { - log_log(log, op, ".add file read failure"); - return -1; - } - ret = read(fd, data, len) != len; - close(fd); - if (ret) { - log_log(log, op, ".add file read failure"); - return -1; - } - log_log(log, op, "loaded .add file"); - } - else - log_log(log, op, "missing .add file!"); - } - - /* recover the interrupted operation */ - switch (op) { - case APPEND_OP: - ret = log_append(log, data, len); - break; - case COMPRESS_OP: - ret = log_compress(log, data, len); - break; - case REPLACE_OP: - ret = log_replace(log); - } - - /* log status */ - log_log(log, op, ret ? "failure" : "complete"); - - /* clean up */ - if (data != NULL) - free(data); - return ret; -} - -/* Close the foo.gz file (if open) and release the lock. */ -local void log_close(struct log *log) -{ - if (log->fd >= 0) - close(log->fd); - log->fd = -1; - log_unlock(log); -} - -/* Open foo.gz, verify the header, and load the extra field contents, after - first creating the foo.lock file to gain exclusive access to the foo.* - files. If foo.gz does not exist or is empty, then write the initial header, - extra, and body content of an empty foo.gz log file. If there is an error - creating the lock file due to access restrictions, or an error reading or - writing the foo.gz file, or if the foo.gz file is not a proper log file for - this object (e.g. not a gzip file or does not contain the expected extra - field), then return true. If there is an error, the lock is released. - Otherwise, the lock is left in place. */ -local int log_open(struct log *log) -{ - int op; - - /* release open file resource if left over -- can occur if lock lost - between gzlog_open() and gzlog_write() */ - if (log->fd >= 0) - close(log->fd); - log->fd = -1; - - /* negotiate exclusive access */ - if (log_lock(log) < 0) - return -1; - - /* open the log file, foo.gz */ - strcpy(log->end, ".gz"); - log->fd = open(log->path, O_RDWR | O_CREAT, 0644); - if (log->fd < 0) { - log_close(log); - return -1; - } - - /* if new, initialize foo.gz with an empty log, delete old dictionary */ - if (lseek(log->fd, 0, SEEK_END) == 0) { - if (write(log->fd, log_gzhead, HEAD) != HEAD || - write(log->fd, log_gzext, EXTRA) != EXTRA || - write(log->fd, log_gzbody, BODY) != BODY) { - log_close(log); - return -1; - } - strcpy(log->end, ".dict"); - unlink(log->path); - } - - /* verify log file and load extra field information */ - if ((op = log_head(log)) < 0) { - log_close(log); - return -1; - } - - /* check for interrupted process and if so, recover */ - if (op != NO_OP && log_recover(log, op)) { - log_close(log); - return -1; - } - - /* touch the lock file to prevent another process from grabbing it */ - log_touch(log); - return 0; -} - -/* See gzlog.h for the description of the external methods below */ -gzlog *gzlog_open(char *path) -{ - size_t n; - struct log *log; - - /* check arguments */ - if (path == NULL || *path == 0) - return NULL; - - /* allocate and initialize log structure */ - log = malloc(sizeof(struct log)); - if (log == NULL) - return NULL; - strcpy(log->id, LOGID); - log->fd = -1; - - /* save path and end of path for name construction */ - n = strlen(path); - log->path = malloc(n + 9); /* allow for ".repairs" */ - if (log->path == NULL) { - free(log); - return NULL; - } - strcpy(log->path, path); - log->end = log->path + n; - - /* gain exclusive access and verify log file -- may perform a - recovery operation if needed */ - if (log_open(log)) { - free(log->path); - free(log); - return NULL; - } - - /* return pointer to log structure */ - return log; -} - -/* gzlog_compress() return values: - 0: all good - -1: file i/o error (usually access issue) - -2: memory allocation failure - -3: invalid log pointer argument */ -int gzlog_compress(gzlog *logd) -{ - int fd, ret; - uint block; - size_t len, next; - unsigned char *data, buf[5]; - struct log *log = logd; - - /* check arguments */ - if (log == NULL || strcmp(log->id, LOGID) || len < 0) - return -3; - - /* see if we lost the lock -- if so get it again and reload the extra - field information (it probably changed), recover last operation if - necessary */ - if (log_check(log) && log_open(log)) - return -1; - - /* create space for uncompressed data */ - len = ((size_t)(log->last - log->first) & ~(((size_t)1 << 10) - 1)) + - log->stored; - if ((data = malloc(len)) == NULL) - return -2; - - /* do statement here is just a cheap trick for error handling */ - do { - /* read in the uncompressed data */ - if (lseek(log->fd, log->first - 1, SEEK_SET) < 0) - break; - next = 0; - while (next < len) { - if (read(log->fd, buf, 5) != 5) - break; - block = PULL2(buf + 1); - if (next + block > len || - read(log->fd, (char *)data + next, block) != block) - break; - next += block; - } - if (lseek(log->fd, 0, SEEK_CUR) != log->last + 4 + log->stored) - break; - log_touch(log); - - /* write the uncompressed data to the .add file */ - strcpy(log->end, ".add"); - fd = open(log->path, O_WRONLY | O_CREAT | O_TRUNC, 0644); - if (fd < 0) - break; - ret = write(fd, data, len) != len; - if (ret | close(fd)) - break; - log_touch(log); - - /* write the dictionary for the next compress to the .temp file */ - strcpy(log->end, ".temp"); - fd = open(log->path, O_WRONLY | O_CREAT | O_TRUNC, 0644); - if (fd < 0) - break; - next = DICT > len ? len : DICT; - ret = write(fd, (char *)data + len - next, next) != next; - if (ret | close(fd)) - break; - log_touch(log); - - /* roll back to compressed data, mark the compress in progress */ - log->last = log->first; - log->stored = 0; - if (log_mark(log, COMPRESS_OP)) - break; - BAIL(7); - - /* compress and append the data (clears mark) */ - ret = log_compress(log, data, len); - free(data); - return ret; - } while (0); - - /* broke out of do above on i/o error */ - free(data); - return -1; -} - -/* gzlog_write() return values: - 0: all good - -1: file i/o error (usually access issue) - -2: memory allocation failure - -3: invalid log pointer argument */ -int gzlog_write(gzlog *logd, void *data, size_t len) -{ - int fd, ret; - struct log *log = logd; - - /* check arguments */ - if (log == NULL || strcmp(log->id, LOGID) || len < 0) - return -3; - if (data == NULL || len == 0) - return 0; - - /* see if we lost the lock -- if so get it again and reload the extra - field information (it probably changed), recover last operation if - necessary */ - if (log_check(log) && log_open(log)) - return -1; - - /* create and write .add file */ - strcpy(log->end, ".add"); - fd = open(log->path, O_WRONLY | O_CREAT | O_TRUNC, 0644); - if (fd < 0) - return -1; - ret = write(fd, data, len) != len; - if (ret | close(fd)) - return -1; - log_touch(log); - - /* mark log file with append in progress */ - if (log_mark(log, APPEND_OP)) - return -1; - BAIL(8); - - /* append data (clears mark) */ - if (log_append(log, data, len)) - return -1; - - /* check to see if it's time to compress -- if not, then done */ - if (((log->last - log->first) >> 10) + (log->stored >> 10) < TRIGGER) - return 0; - - /* time to compress */ - return gzlog_compress(log); -} - -/* gzlog_close() return values: - 0: ok - -3: invalid log pointer argument */ -int gzlog_close(gzlog *logd) -{ - struct log *log = logd; - - /* check arguments */ - if (log == NULL || strcmp(log->id, LOGID)) - return -3; - - /* close the log file and release the lock */ - log_close(log); - - /* free structure and return */ - if (log->path != NULL) - free(log->path); - strcpy(log->id, "bad"); - free(log); - return 0; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/gzlog.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/gzlog.h deleted file mode 100644 index c4614267..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/gzlog.h +++ /dev/null @@ -1,89 +0,0 @@ -/* gzlog.h - Copyright (C) 2004, 2008 Mark Adler, all rights reserved - version 2.0, 25 Apr 2008 - - This software is provided 'as-is', without any express or implied - warranty. In no event will the author be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Mark Adler madler@alumni.caltech.edu - */ - -/* Version History: - 1.0 26 Nov 2004 First version - 2.0 25 Apr 2008 Complete redesign for recovery of interrupted operations - Interface changed slightly in that now path is a prefix - Compression now occurs as needed during gzlog_write() - gzlog_write() now always leaves the log file as valid gzip - */ - -/* - The gzlog object allows writing short messages to a gzipped log file, - opening the log file locked for small bursts, and then closing it. The log - object works by appending stored (uncompressed) data to the gzip file until - 1 MB has been accumulated. At that time, the stored data is compressed, and - replaces the uncompressed data in the file. The log file is truncated to - its new size at that time. After each write operation, the log file is a - valid gzip file that can decompressed to recover what was written. - - The gzlog operations can be interupted at any point due to an application or - system crash, and the log file will be recovered the next time the log is - opened with gzlog_open(). - */ - -#ifndef GZLOG_H -#define GZLOG_H - -/* gzlog object type */ -typedef void gzlog; - -/* Open a gzlog object, creating the log file if it does not exist. Return - NULL on error. Note that gzlog_open() could take a while to complete if it - has to wait to verify that a lock is stale (possibly for five minutes), or - if there is significant contention with other instantiations of this object - when locking the resource. path is the prefix of the file names created by - this object. If path is "foo", then the log file will be "foo.gz", and - other auxiliary files will be created and destroyed during the process: - "foo.dict" for a compression dictionary, "foo.temp" for a temporary (next) - dictionary, "foo.add" for data being added or compressed, "foo.lock" for the - lock file, and "foo.repairs" to log recovery operations performed due to - interrupted gzlog operations. A gzlog_open() followed by a gzlog_close() - will recover a previously interrupted operation, if any. */ -gzlog *gzlog_open(char *path); - -/* Write to a gzlog object. Return zero on success, -1 if there is a file i/o - error on any of the gzlog files (this should not happen if gzlog_open() - succeeded, unless the device has run out of space or leftover auxiliary - files have permissions or ownership that prevent their use), -2 if there is - a memory allocation failure, or -3 if the log argument is invalid (e.g. if - it was not created by gzlog_open()). This function will write data to the - file uncompressed, until 1 MB has been accumulated, at which time that data - will be compressed. The log file will be a valid gzip file upon successful - return. */ -int gzlog_write(gzlog *log, void *data, size_t len); - -/* Force compression of any uncompressed data in the log. This should be used - sparingly, if at all. The main application would be when a log file will - not be appended to again. If this is used to compress frequently while - appending, it will both significantly increase the execution time and - reduce the compression ratio. The return codes are the same as for - gzlog_write(). */ -int gzlog_compress(gzlog *log); - -/* Close a gzlog object. Return zero on success, -3 if the log argument is - invalid. The log object is freed, and so cannot be referenced again. */ -int gzlog_close(gzlog *log); - -#endif diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/zlib_how.html b/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/zlib_how.html deleted file mode 100644 index 444ff1c9..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/zlib_how.html +++ /dev/null @@ -1,545 +0,0 @@ - - - - -zlib Usage Example - - - -

zlib Usage Example

-We often get questions about how the deflate() and inflate() functions should be used. -Users wonder when they should provide more input, when they should use more output, -what to do with a Z_BUF_ERROR, how to make sure the process terminates properly, and -so on. So for those who have read zlib.h (a few times), and -would like further edification, below is an annotated example in C of simple routines to compress and decompress -from an input file to an output file using deflate() and inflate() respectively. The -annotations are interspersed between lines of the code. So please read between the lines. -We hope this helps explain some of the intricacies of zlib. -

-Without further adieu, here is the program zpipe.c: -


-/* zpipe.c: example of proper use of zlib's inflate() and deflate()
-   Not copyrighted -- provided to the public domain
-   Version 1.4  11 December 2005  Mark Adler */
-
-/* Version history:
-   1.0  30 Oct 2004  First version
-   1.1   8 Nov 2004  Add void casting for unused return values
-                     Use switch statement for inflate() return values
-   1.2   9 Nov 2004  Add assertions to document zlib guarantees
-   1.3   6 Apr 2005  Remove incorrect assertion in inf()
-   1.4  11 Dec 2005  Add hack to avoid MSDOS end-of-line conversions
-                     Avoid some compiler warnings for input and output buffers
- */
-
-We now include the header files for the required definitions. From -stdio.h we use fopen(), fread(), fwrite(), -feof(), ferror(), and fclose() for file i/o, and -fputs() for error messages. From string.h we use -strcmp() for command line argument processing. -From assert.h we use the assert() macro. -From zlib.h -we use the basic compression functions deflateInit(), -deflate(), and deflateEnd(), and the basic decompression -functions inflateInit(), inflate(), and -inflateEnd(). -

-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-#include "zlib.h"
-
-This is an ugly hack required to avoid corruption of the input and output data on -Windows/MS-DOS systems. Without this, those systems would assume that the input and output -files are text, and try to convert the end-of-line characters from one standard to -another. That would corrupt binary data, and in particular would render the compressed data unusable. -This sets the input and output to binary which suppresses the end-of-line conversions. -SET_BINARY_MODE() will be used later on stdin and stdout, at the beginning of main(). -

-#if defined(MSDOS) || defined(OS2) || defined(WIN32) || defined(__CYGWIN__)
-#  include <fcntl.h>
-#  include <io.h>
-#  define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY)
-#else
-#  define SET_BINARY_MODE(file)
-#endif
-
-CHUNK is simply the buffer size for feeding data to and pulling data -from the zlib routines. Larger buffer sizes would be more efficient, -especially for inflate(). If the memory is available, buffers sizes -on the order of 128K or 256K bytes should be used. -

-#define CHUNK 16384
-
-The def() routine compresses data from an input file to an output file. The output data -will be in the zlib format, which is different from the gzip or zip -formats. The zlib format has a very small header of only two bytes to identify it as -a zlib stream and to provide decoding information, and a four-byte trailer with a fast -check value to verify the integrity of the uncompressed data after decoding. -

-/* Compress from file source to file dest until EOF on source.
-   def() returns Z_OK on success, Z_MEM_ERROR if memory could not be
-   allocated for processing, Z_STREAM_ERROR if an invalid compression
-   level is supplied, Z_VERSION_ERROR if the version of zlib.h and the
-   version of the library linked do not match, or Z_ERRNO if there is
-   an error reading or writing the files. */
-int def(FILE *source, FILE *dest, int level)
-{
-
-Here are the local variables for def(). ret will be used for zlib -return codes. flush will keep track of the current flushing state for deflate(), -which is either no flushing, or flush to completion after the end of the input file is reached. -have is the amount of data returned from deflate(). The strm structure -is used to pass information to and from the zlib routines, and to maintain the -deflate() state. in and out are the input and output buffers for -deflate(). -

-    int ret, flush;
-    unsigned have;
-    z_stream strm;
-    unsigned char in[CHUNK];
-    unsigned char out[CHUNK];
-
-The first thing we do is to initialize the zlib state for compression using -deflateInit(). This must be done before the first use of deflate(). -The zalloc, zfree, and opaque fields in the strm -structure must be initialized before calling deflateInit(). Here they are -set to the zlib constant Z_NULL to request that zlib use -the default memory allocation routines. An application may also choose to provide -custom memory allocation routines here. deflateInit() will allocate on the -order of 256K bytes for the internal state. -(See zlib Technical Details.) -

-deflateInit() is called with a pointer to the structure to be initialized and -the compression level, which is an integer in the range of -1 to 9. Lower compression -levels result in faster execution, but less compression. Higher levels result in -greater compression, but slower execution. The zlib constant Z_DEFAULT_COMPRESSION, -equal to -1, -provides a good compromise between compression and speed and is equivalent to level 6. -Level 0 actually does no compression at all, and in fact expands the data slightly to produce -the zlib format (it is not a byte-for-byte copy of the input). -More advanced applications of zlib -may use deflateInit2() here instead. Such an application may want to reduce how -much memory will be used, at some price in compression. Or it may need to request a -gzip header and trailer instead of a zlib header and trailer, or raw -encoding with no header or trailer at all. -

-We must check the return value of deflateInit() against the zlib constant -Z_OK to make sure that it was able to -allocate memory for the internal state, and that the provided arguments were valid. -deflateInit() will also check that the version of zlib that the zlib.h -file came from matches the version of zlib actually linked with the program. This -is especially important for environments in which zlib is a shared library. -

-Note that an application can initialize multiple, independent zlib streams, which can -operate in parallel. The state information maintained in the structure allows the zlib -routines to be reentrant. -


-    /* allocate deflate state */
-    strm.zalloc = Z_NULL;
-    strm.zfree = Z_NULL;
-    strm.opaque = Z_NULL;
-    ret = deflateInit(&strm, level);
-    if (ret != Z_OK)
-        return ret;
-
-With the pleasantries out of the way, now we can get down to business. The outer do-loop -reads all of the input file and exits at the bottom of the loop once end-of-file is reached. -This loop contains the only call of deflate(). So we must make sure that all of the -input data has been processed and that all of the output data has been generated and consumed -before we fall out of the loop at the bottom. -

-    /* compress until end of file */
-    do {
-
-We start off by reading data from the input file. The number of bytes read is put directly -into avail_in, and a pointer to those bytes is put into next_in. We also -check to see if end-of-file on the input has been reached. If we are at the end of file, then flush is set to the -zlib constant Z_FINISH, which is later passed to deflate() to -indicate that this is the last chunk of input data to compress. We need to use feof() -to check for end-of-file as opposed to seeing if fewer than CHUNK bytes have been read. The -reason is that if the input file length is an exact multiple of CHUNK, we will miss -the fact that we got to the end-of-file, and not know to tell deflate() to finish -up the compressed stream. If we are not yet at the end of the input, then the zlib -constant Z_NO_FLUSH will be passed to deflate to indicate that we are still -in the middle of the uncompressed data. -

-If there is an error in reading from the input file, the process is aborted with -deflateEnd() being called to free the allocated zlib state before returning -the error. We wouldn't want a memory leak, now would we? deflateEnd() can be called -at any time after the state has been initialized. Once that's done, deflateInit() (or -deflateInit2()) would have to be called to start a new compression process. There is -no point here in checking the deflateEnd() return code. The deallocation can't fail. -


-        strm.avail_in = fread(in, 1, CHUNK, source);
-        if (ferror(source)) {
-            (void)deflateEnd(&strm);
-            return Z_ERRNO;
-        }
-        flush = feof(source) ? Z_FINISH : Z_NO_FLUSH;
-        strm.next_in = in;
-
-The inner do-loop passes our chunk of input data to deflate(), and then -keeps calling deflate() until it is done producing output. Once there is no more -new output, deflate() is guaranteed to have consumed all of the input, i.e., -avail_in will be zero. -

-        /* run deflate() on input until output buffer not full, finish
-           compression if all of source has been read in */
-        do {
-
-Output space is provided to deflate() by setting avail_out to the number -of available output bytes and next_out to a pointer to that space. -

-            strm.avail_out = CHUNK;
-            strm.next_out = out;
-
-Now we call the compression engine itself, deflate(). It takes as many of the -avail_in bytes at next_in as it can process, and writes as many as -avail_out bytes to next_out. Those counters and pointers are then -updated past the input data consumed and the output data written. It is the amount of -output space available that may limit how much input is consumed. -Hence the inner loop to make sure that -all of the input is consumed by providing more output space each time. Since avail_in -and next_in are updated by deflate(), we don't have to mess with those -between deflate() calls until it's all used up. -

-The parameters to deflate() are a pointer to the strm structure containing -the input and output information and the internal compression engine state, and a parameter -indicating whether and how to flush data to the output. Normally deflate will consume -several K bytes of input data before producing any output (except for the header), in order -to accumulate statistics on the data for optimum compression. It will then put out a burst of -compressed data, and proceed to consume more input before the next burst. Eventually, -deflate() -must be told to terminate the stream, complete the compression with provided input data, and -write out the trailer check value. deflate() will continue to compress normally as long -as the flush parameter is Z_NO_FLUSH. Once the Z_FINISH parameter is provided, -deflate() will begin to complete the compressed output stream. However depending on how -much output space is provided, deflate() may have to be called several times until it -has provided the complete compressed stream, even after it has consumed all of the input. The flush -parameter must continue to be Z_FINISH for those subsequent calls. -

-There are other values of the flush parameter that are used in more advanced applications. You can -force deflate() to produce a burst of output that encodes all of the input data provided -so far, even if it wouldn't have otherwise, for example to control data latency on a link with -compressed data. You can also ask that deflate() do that as well as erase any history up to -that point so that what follows can be decompressed independently, for example for random access -applications. Both requests will degrade compression by an amount depending on how often such -requests are made. -

-deflate() has a return value that can indicate errors, yet we do not check it here. Why -not? Well, it turns out that deflate() can do no wrong here. Let's go through -deflate()'s return values and dispense with them one by one. The possible values are -Z_OK, Z_STREAM_END, Z_STREAM_ERROR, or Z_BUF_ERROR. Z_OK -is, well, ok. Z_STREAM_END is also ok and will be returned for the last call of -deflate(). This is already guaranteed by calling deflate() with Z_FINISH -until it has no more output. Z_STREAM_ERROR is only possible if the stream is not -initialized properly, but we did initialize it properly. There is no harm in checking for -Z_STREAM_ERROR here, for example to check for the possibility that some -other part of the application inadvertently clobbered the memory containing the zlib state. -Z_BUF_ERROR will be explained further below, but -suffice it to say that this is simply an indication that deflate() could not consume -more input or produce more output. deflate() can be called again with more output space -or more available input, which it will be in this code. -


-            ret = deflate(&strm, flush);    /* no bad return value */
-            assert(ret != Z_STREAM_ERROR);  /* state not clobbered */
-
-Now we compute how much output deflate() provided on the last call, which is the -difference between how much space was provided before the call, and how much output space -is still available after the call. Then that data, if any, is written to the output file. -We can then reuse the output buffer for the next call of deflate(). Again if there -is a file i/o error, we call deflateEnd() before returning to avoid a memory leak. -

-            have = CHUNK - strm.avail_out;
-            if (fwrite(out, 1, have, dest) != have || ferror(dest)) {
-                (void)deflateEnd(&strm);
-                return Z_ERRNO;
-            }
-
-The inner do-loop is repeated until the last deflate() call fails to fill the -provided output buffer. Then we know that deflate() has done as much as it can with -the provided input, and that all of that input has been consumed. We can then fall out of this -loop and reuse the input buffer. -

-The way we tell that deflate() has no more output is by seeing that it did not fill -the output buffer, leaving avail_out greater than zero. However suppose that -deflate() has no more output, but just so happened to exactly fill the output buffer! -avail_out is zero, and we can't tell that deflate() has done all it can. -As far as we know, deflate() -has more output for us. So we call it again. But now deflate() produces no output -at all, and avail_out remains unchanged as CHUNK. That deflate() call -wasn't able to do anything, either consume input or produce output, and so it returns -Z_BUF_ERROR. (See, I told you I'd cover this later.) However this is not a problem at -all. Now we finally have the desired indication that deflate() is really done, -and so we drop out of the inner loop to provide more input to deflate(). -

-With flush set to Z_FINISH, this final set of deflate() calls will -complete the output stream. Once that is done, subsequent calls of deflate() would return -Z_STREAM_ERROR if the flush parameter is not Z_FINISH, and do no more processing -until the state is reinitialized. -

-Some applications of zlib have two loops that call deflate() -instead of the single inner loop we have here. The first loop would call -without flushing and feed all of the data to deflate(). The second loop would call -deflate() with no more -data and the Z_FINISH parameter to complete the process. As you can see from this -example, that can be avoided by simply keeping track of the current flush state. -


-        } while (strm.avail_out == 0);
-        assert(strm.avail_in == 0);     /* all input will be used */
-
-Now we check to see if we have already processed all of the input file. That information was -saved in the flush variable, so we see if that was set to Z_FINISH. If so, -then we're done and we fall out of the outer loop. We're guaranteed to get Z_STREAM_END -from the last deflate() call, since we ran it until the last chunk of input was -consumed and all of the output was generated. -

-        /* done when last data in file processed */
-    } while (flush != Z_FINISH);
-    assert(ret == Z_STREAM_END);        /* stream will be complete */
-
-The process is complete, but we still need to deallocate the state to avoid a memory leak -(or rather more like a memory hemorrhage if you didn't do this). Then -finally we can return with a happy return value. -

-    /* clean up and return */
-    (void)deflateEnd(&strm);
-    return Z_OK;
-}
-
-Now we do the same thing for decompression in the inf() routine. inf() -decompresses what is hopefully a valid zlib stream from the input file and writes the -uncompressed data to the output file. Much of the discussion above for def() -applies to inf() as well, so the discussion here will focus on the differences between -the two. -

-/* Decompress from file source to file dest until stream ends or EOF.
-   inf() returns Z_OK on success, Z_MEM_ERROR if memory could not be
-   allocated for processing, Z_DATA_ERROR if the deflate data is
-   invalid or incomplete, Z_VERSION_ERROR if the version of zlib.h and
-   the version of the library linked do not match, or Z_ERRNO if there
-   is an error reading or writing the files. */
-int inf(FILE *source, FILE *dest)
-{
-
-The local variables have the same functionality as they do for def(). The -only difference is that there is no flush variable, since inflate() -can tell from the zlib stream itself when the stream is complete. -

-    int ret;
-    unsigned have;
-    z_stream strm;
-    unsigned char in[CHUNK];
-    unsigned char out[CHUNK];
-
-The initialization of the state is the same, except that there is no compression level, -of course, and two more elements of the structure are initialized. avail_in -and next_in must be initialized before calling inflateInit(). This -is because the application has the option to provide the start of the zlib stream in -order for inflateInit() to have access to information about the compression -method to aid in memory allocation. In the current implementation of zlib -(up through versions 1.2.x), the method-dependent memory allocations are deferred to the first call of -inflate() anyway. However those fields must be initialized since later versions -of zlib that provide more compression methods may take advantage of this interface. -In any case, no decompression is performed by inflateInit(), so the -avail_out and next_out fields do not need to be initialized before calling. -

-Here avail_in is set to zero and next_in is set to Z_NULL to -indicate that no input data is being provided. -


-    /* allocate inflate state */
-    strm.zalloc = Z_NULL;
-    strm.zfree = Z_NULL;
-    strm.opaque = Z_NULL;
-    strm.avail_in = 0;
-    strm.next_in = Z_NULL;
-    ret = inflateInit(&strm);
-    if (ret != Z_OK)
-        return ret;
-
-The outer do-loop decompresses input until inflate() indicates -that it has reached the end of the compressed data and has produced all of the uncompressed -output. This is in contrast to def() which processes all of the input file. -If end-of-file is reached before the compressed data self-terminates, then the compressed -data is incomplete and an error is returned. -

-    /* decompress until deflate stream ends or end of file */
-    do {
-
-We read input data and set the strm structure accordingly. If we've reached the -end of the input file, then we leave the outer loop and report an error, since the -compressed data is incomplete. Note that we may read more data than is eventually consumed -by inflate(), if the input file continues past the zlib stream. -For applications where zlib streams are embedded in other data, this routine would -need to be modified to return the unused data, or at least indicate how much of the input -data was not used, so the application would know where to pick up after the zlib stream. -

-        strm.avail_in = fread(in, 1, CHUNK, source);
-        if (ferror(source)) {
-            (void)inflateEnd(&strm);
-            return Z_ERRNO;
-        }
-        if (strm.avail_in == 0)
-            break;
-        strm.next_in = in;
-
-The inner do-loop has the same function it did in def(), which is to -keep calling inflate() until has generated all of the output it can with the -provided input. -

-        /* run inflate() on input until output buffer not full */
-        do {
-
-Just like in def(), the same output space is provided for each call of inflate(). -

-            strm.avail_out = CHUNK;
-            strm.next_out = out;
-
-Now we run the decompression engine itself. There is no need to adjust the flush parameter, since -the zlib format is self-terminating. The main difference here is that there are -return values that we need to pay attention to. Z_DATA_ERROR -indicates that inflate() detected an error in the zlib compressed data format, -which means that either the data is not a zlib stream to begin with, or that the data was -corrupted somewhere along the way since it was compressed. The other error to be processed is -Z_MEM_ERROR, which can occur since memory allocation is deferred until inflate() -needs it, unlike deflate(), whose memory is allocated at the start by deflateInit(). -

-Advanced applications may use -deflateSetDictionary() to prime deflate() with a set of likely data to improve the -first 32K or so of compression. This is noted in the zlib header, so inflate() -requests that that dictionary be provided before it can start to decompress. Without the dictionary, -correct decompression is not possible. For this routine, we have no idea what the dictionary is, -so the Z_NEED_DICT indication is converted to a Z_DATA_ERROR. -

-inflate() can also return Z_STREAM_ERROR, which should not be possible here, -but could be checked for as noted above for def(). Z_BUF_ERROR does not need to be -checked for here, for the same reasons noted for def(). Z_STREAM_END will be -checked for later. -


-            ret = inflate(&strm, Z_NO_FLUSH);
-            assert(ret != Z_STREAM_ERROR);  /* state not clobbered */
-            switch (ret) {
-            case Z_NEED_DICT:
-                ret = Z_DATA_ERROR;     /* and fall through */
-            case Z_DATA_ERROR:
-            case Z_MEM_ERROR:
-                (void)inflateEnd(&strm);
-                return ret;
-            }
-
-The output of inflate() is handled identically to that of deflate(). -

-            have = CHUNK - strm.avail_out;
-            if (fwrite(out, 1, have, dest) != have || ferror(dest)) {
-                (void)inflateEnd(&strm);
-                return Z_ERRNO;
-            }
-
-The inner do-loop ends when inflate() has no more output as indicated -by not filling the output buffer, just as for deflate(). In this case, we cannot -assert that strm.avail_in will be zero, since the deflate stream may end before the file -does. -

-        } while (strm.avail_out == 0);
-
-The outer do-loop ends when inflate() reports that it has reached the -end of the input zlib stream, has completed the decompression and integrity -check, and has provided all of the output. This is indicated by the inflate() -return value Z_STREAM_END. The inner loop is guaranteed to leave ret -equal to Z_STREAM_END if the last chunk of the input file read contained the end -of the zlib stream. So if the return value is not Z_STREAM_END, the -loop continues to read more input. -

-        /* done when inflate() says it's done */
-    } while (ret != Z_STREAM_END);
-
-At this point, decompression successfully completed, or we broke out of the loop due to no -more data being available from the input file. If the last inflate() return value -is not Z_STREAM_END, then the zlib stream was incomplete and a data error -is returned. Otherwise, we return with a happy return value. Of course, inflateEnd() -is called first to avoid a memory leak. -

-    /* clean up and return */
-    (void)inflateEnd(&strm);
-    return ret == Z_STREAM_END ? Z_OK : Z_DATA_ERROR;
-}
-
-That ends the routines that directly use zlib. The following routines make this -a command-line program by running data through the above routines from stdin to -stdout, and handling any errors reported by def() or inf(). -

-zerr() is used to interpret the possible error codes from def() -and inf(), as detailed in their comments above, and print out an error message. -Note that these are only a subset of the possible return values from deflate() -and inflate(). -


-/* report a zlib or i/o error */
-void zerr(int ret)
-{
-    fputs("zpipe: ", stderr);
-    switch (ret) {
-    case Z_ERRNO:
-        if (ferror(stdin))
-            fputs("error reading stdin\n", stderr);
-        if (ferror(stdout))
-            fputs("error writing stdout\n", stderr);
-        break;
-    case Z_STREAM_ERROR:
-        fputs("invalid compression level\n", stderr);
-        break;
-    case Z_DATA_ERROR:
-        fputs("invalid or incomplete deflate data\n", stderr);
-        break;
-    case Z_MEM_ERROR:
-        fputs("out of memory\n", stderr);
-        break;
-    case Z_VERSION_ERROR:
-        fputs("zlib version mismatch!\n", stderr);
-    }
-}
-
-Here is the main() routine used to test def() and inf(). The -zpipe command is simply a compression pipe from stdin to stdout, if -no arguments are given, or it is a decompression pipe if zpipe -d is used. If any other -arguments are provided, no compression or decompression is performed. Instead a usage -message is displayed. Examples are zpipe < foo.txt > foo.txt.z to compress, and -zpipe -d < foo.txt.z > foo.txt to decompress. -

-/* compress or decompress from stdin to stdout */
-int main(int argc, char **argv)
-{
-    int ret;
-
-    /* avoid end-of-line conversions */
-    SET_BINARY_MODE(stdin);
-    SET_BINARY_MODE(stdout);
-
-    /* do compression if no arguments */
-    if (argc == 1) {
-        ret = def(stdin, stdout, Z_DEFAULT_COMPRESSION);
-        if (ret != Z_OK)
-            zerr(ret);
-        return ret;
-    }
-
-    /* do decompression if -d specified */
-    else if (argc == 2 && strcmp(argv[1], "-d") == 0) {
-        ret = inf(stdin, stdout);
-        if (ret != Z_OK)
-            zerr(ret);
-        return ret;
-    }
-
-    /* otherwise, report usage */
-    else {
-        fputs("zpipe usage: zpipe [-d] < source > dest\n", stderr);
-        return 1;
-    }
-}
-
-
-Copyright (c) 2004, 2005 by Mark Adler
Last modified 11 December 2005
- - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/zpipe.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/zpipe.c deleted file mode 100644 index 83535d16..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/zpipe.c +++ /dev/null @@ -1,205 +0,0 @@ -/* zpipe.c: example of proper use of zlib's inflate() and deflate() - Not copyrighted -- provided to the public domain - Version 1.4 11 December 2005 Mark Adler */ - -/* Version history: - 1.0 30 Oct 2004 First version - 1.1 8 Nov 2004 Add void casting for unused return values - Use switch statement for inflate() return values - 1.2 9 Nov 2004 Add assertions to document zlib guarantees - 1.3 6 Apr 2005 Remove incorrect assertion in inf() - 1.4 11 Dec 2005 Add hack to avoid MSDOS end-of-line conversions - Avoid some compiler warnings for input and output buffers - */ - -#include -#include -#include -#include "zlib.h" - -#if defined(MSDOS) || defined(OS2) || defined(WIN32) || defined(__CYGWIN__) -# include -# include -# define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY) -#else -# define SET_BINARY_MODE(file) -#endif - -#define CHUNK 16384 - -/* Compress from file source to file dest until EOF on source. - def() returns Z_OK on success, Z_MEM_ERROR if memory could not be - allocated for processing, Z_STREAM_ERROR if an invalid compression - level is supplied, Z_VERSION_ERROR if the version of zlib.h and the - version of the library linked do not match, or Z_ERRNO if there is - an error reading or writing the files. */ -int def(FILE *source, FILE *dest, int level) -{ - int ret, flush; - unsigned have; - z_stream strm; - unsigned char in[CHUNK]; - unsigned char out[CHUNK]; - - /* allocate deflate state */ - strm.zalloc = Z_NULL; - strm.zfree = Z_NULL; - strm.opaque = Z_NULL; - ret = deflateInit(&strm, level); - if (ret != Z_OK) - return ret; - - /* compress until end of file */ - do { - strm.avail_in = fread(in, 1, CHUNK, source); - if (ferror(source)) { - (void)deflateEnd(&strm); - return Z_ERRNO; - } - flush = feof(source) ? Z_FINISH : Z_NO_FLUSH; - strm.next_in = in; - - /* run deflate() on input until output buffer not full, finish - compression if all of source has been read in */ - do { - strm.avail_out = CHUNK; - strm.next_out = out; - ret = deflate(&strm, flush); /* no bad return value */ - assert(ret != Z_STREAM_ERROR); /* state not clobbered */ - have = CHUNK - strm.avail_out; - if (fwrite(out, 1, have, dest) != have || ferror(dest)) { - (void)deflateEnd(&strm); - return Z_ERRNO; - } - } while (strm.avail_out == 0); - assert(strm.avail_in == 0); /* all input will be used */ - - /* done when last data in file processed */ - } while (flush != Z_FINISH); - assert(ret == Z_STREAM_END); /* stream will be complete */ - - /* clean up and return */ - (void)deflateEnd(&strm); - return Z_OK; -} - -/* Decompress from file source to file dest until stream ends or EOF. - inf() returns Z_OK on success, Z_MEM_ERROR if memory could not be - allocated for processing, Z_DATA_ERROR if the deflate data is - invalid or incomplete, Z_VERSION_ERROR if the version of zlib.h and - the version of the library linked do not match, or Z_ERRNO if there - is an error reading or writing the files. */ -int inf(FILE *source, FILE *dest) -{ - int ret; - unsigned have; - z_stream strm; - unsigned char in[CHUNK]; - unsigned char out[CHUNK]; - - /* allocate inflate state */ - strm.zalloc = Z_NULL; - strm.zfree = Z_NULL; - strm.opaque = Z_NULL; - strm.avail_in = 0; - strm.next_in = Z_NULL; - ret = inflateInit(&strm); - if (ret != Z_OK) - return ret; - - /* decompress until deflate stream ends or end of file */ - do { - strm.avail_in = fread(in, 1, CHUNK, source); - if (ferror(source)) { - (void)inflateEnd(&strm); - return Z_ERRNO; - } - if (strm.avail_in == 0) - break; - strm.next_in = in; - - /* run inflate() on input until output buffer not full */ - do { - strm.avail_out = CHUNK; - strm.next_out = out; - ret = inflate(&strm, Z_NO_FLUSH); - assert(ret != Z_STREAM_ERROR); /* state not clobbered */ - switch (ret) { - case Z_NEED_DICT: - ret = Z_DATA_ERROR; /* and fall through */ - case Z_DATA_ERROR: - case Z_MEM_ERROR: - (void)inflateEnd(&strm); - return ret; - } - have = CHUNK - strm.avail_out; - if (fwrite(out, 1, have, dest) != have || ferror(dest)) { - (void)inflateEnd(&strm); - return Z_ERRNO; - } - } while (strm.avail_out == 0); - - /* done when inflate() says it's done */ - } while (ret != Z_STREAM_END); - - /* clean up and return */ - (void)inflateEnd(&strm); - return ret == Z_STREAM_END ? Z_OK : Z_DATA_ERROR; -} - -/* report a zlib or i/o error */ -void zerr(int ret) -{ - fputs("zpipe: ", stderr); - switch (ret) { - case Z_ERRNO: - if (ferror(stdin)) - fputs("error reading stdin\n", stderr); - if (ferror(stdout)) - fputs("error writing stdout\n", stderr); - break; - case Z_STREAM_ERROR: - fputs("invalid compression level\n", stderr); - break; - case Z_DATA_ERROR: - fputs("invalid or incomplete deflate data\n", stderr); - break; - case Z_MEM_ERROR: - fputs("out of memory\n", stderr); - break; - case Z_VERSION_ERROR: - fputs("zlib version mismatch!\n", stderr); - } -} - -/* compress or decompress from stdin to stdout */ -int main(int argc, char **argv) -{ - int ret; - - /* avoid end-of-line conversions */ - SET_BINARY_MODE(stdin); - SET_BINARY_MODE(stdout); - - /* do compression if no arguments */ - if (argc == 1) { - ret = def(stdin, stdout, Z_DEFAULT_COMPRESSION); - if (ret != Z_OK) - zerr(ret); - return ret; - } - - /* do decompression if -d specified */ - else if (argc == 2 && strcmp(argv[1], "-d") == 0) { - ret = inf(stdin, stdout); - if (ret != Z_OK) - zerr(ret); - return ret; - } - - /* otherwise, report usage */ - else { - fputs("zpipe usage: zpipe [-d] < source > dest\n", stderr); - return 1; - } -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/zran.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/zran.c deleted file mode 100644 index 617a1308..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/examples/zran.c +++ /dev/null @@ -1,404 +0,0 @@ -/* zran.c -- example of zlib/gzip stream indexing and random access - * Copyright (C) 2005 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - Version 1.0 29 May 2005 Mark Adler */ - -/* Illustrate the use of Z_BLOCK, inflatePrime(), and inflateSetDictionary() - for random access of a compressed file. A file containing a zlib or gzip - stream is provided on the command line. The compressed stream is decoded in - its entirety, and an index built with access points about every SPAN bytes - in the uncompressed output. The compressed file is left open, and can then - be read randomly, having to decompress on the average SPAN/2 uncompressed - bytes before getting to the desired block of data. - - An access point can be created at the start of any deflate block, by saving - the starting file offset and bit of that block, and the 32K bytes of - uncompressed data that precede that block. Also the uncompressed offset of - that block is saved to provide a referece for locating a desired starting - point in the uncompressed stream. build_index() works by decompressing the - input zlib or gzip stream a block at a time, and at the end of each block - deciding if enough uncompressed data has gone by to justify the creation of - a new access point. If so, that point is saved in a data structure that - grows as needed to accommodate the points. - - To use the index, an offset in the uncompressed data is provided, for which - the latest accees point at or preceding that offset is located in the index. - The input file is positioned to the specified location in the index, and if - necessary the first few bits of the compressed data is read from the file. - inflate is initialized with those bits and the 32K of uncompressed data, and - the decompression then proceeds until the desired offset in the file is - reached. Then the decompression continues to read the desired uncompressed - data from the file. - - Another approach would be to generate the index on demand. In that case, - requests for random access reads from the compressed data would try to use - the index, but if a read far enough past the end of the index is required, - then further index entries would be generated and added. - - There is some fair bit of overhead to starting inflation for the random - access, mainly copying the 32K byte dictionary. So if small pieces of the - file are being accessed, it would make sense to implement a cache to hold - some lookahead and avoid many calls to extract() for small lengths. - - Another way to build an index would be to use inflateCopy(). That would - not be constrained to have access points at block boundaries, but requires - more memory per access point, and also cannot be saved to file due to the - use of pointers in the state. The approach here allows for storage of the - index in a file. - */ - -#include -#include -#include -#include "zlib.h" - -#define local static - -#define SPAN 1048576L /* desired distance between access points */ -#define WINSIZE 32768U /* sliding window size */ -#define CHUNK 16384 /* file input buffer size */ - -/* access point entry */ -struct point { - off_t out; /* corresponding offset in uncompressed data */ - off_t in; /* offset in input file of first full byte */ - int bits; /* number of bits (1-7) from byte at in - 1, or 0 */ - unsigned char window[WINSIZE]; /* preceding 32K of uncompressed data */ -}; - -/* access point list */ -struct access { - int have; /* number of list entries filled in */ - int size; /* number of list entries allocated */ - struct point *list; /* allocated list */ -}; - -/* Deallocate an index built by build_index() */ -local void free_index(struct access *index) -{ - if (index != NULL) { - free(index->list); - free(index); - } -} - -/* Add an entry to the access point list. If out of memory, deallocate the - existing list and return NULL. */ -local struct access *addpoint(struct access *index, int bits, - off_t in, off_t out, unsigned left, unsigned char *window) -{ - struct point *next; - - /* if list is empty, create it (start with eight points) */ - if (index == NULL) { - index = malloc(sizeof(struct access)); - if (index == NULL) return NULL; - index->list = malloc(sizeof(struct point) << 3); - if (index->list == NULL) { - free(index); - return NULL; - } - index->size = 8; - index->have = 0; - } - - /* if list is full, make it bigger */ - else if (index->have == index->size) { - index->size <<= 1; - next = realloc(index->list, sizeof(struct point) * index->size); - if (next == NULL) { - free_index(index); - return NULL; - } - index->list = next; - } - - /* fill in entry and increment how many we have */ - next = index->list + index->have; - next->bits = bits; - next->in = in; - next->out = out; - if (left) - memcpy(next->window, window + WINSIZE - left, left); - if (left < WINSIZE) - memcpy(next->window + left, window, WINSIZE - left); - index->have++; - - /* return list, possibly reallocated */ - return index; -} - -/* Make one entire pass through the compressed stream and build an index, with - access points about every span bytes of uncompressed output -- span is - chosen to balance the speed of random access against the memory requirements - of the list, about 32K bytes per access point. Note that data after the end - of the first zlib or gzip stream in the file is ignored. build_index() - returns the number of access points on success (>= 1), Z_MEM_ERROR for out - of memory, Z_DATA_ERROR for an error in the input file, or Z_ERRNO for a - file read error. On success, *built points to the resulting index. */ -local int build_index(FILE *in, off_t span, struct access **built) -{ - int ret; - off_t totin, totout; /* our own total counters to avoid 4GB limit */ - off_t last; /* totout value of last access point */ - struct access *index; /* access points being generated */ - z_stream strm; - unsigned char input[CHUNK]; - unsigned char window[WINSIZE]; - - /* initialize inflate */ - strm.zalloc = Z_NULL; - strm.zfree = Z_NULL; - strm.opaque = Z_NULL; - strm.avail_in = 0; - strm.next_in = Z_NULL; - ret = inflateInit2(&strm, 47); /* automatic zlib or gzip decoding */ - if (ret != Z_OK) - return ret; - - /* inflate the input, maintain a sliding window, and build an index -- this - also validates the integrity of the compressed data using the check - information at the end of the gzip or zlib stream */ - totin = totout = last = 0; - index = NULL; /* will be allocated by first addpoint() */ - strm.avail_out = 0; - do { - /* get some compressed data from input file */ - strm.avail_in = fread(input, 1, CHUNK, in); - if (ferror(in)) { - ret = Z_ERRNO; - goto build_index_error; - } - if (strm.avail_in == 0) { - ret = Z_DATA_ERROR; - goto build_index_error; - } - strm.next_in = input; - - /* process all of that, or until end of stream */ - do { - /* reset sliding window if necessary */ - if (strm.avail_out == 0) { - strm.avail_out = WINSIZE; - strm.next_out = window; - } - - /* inflate until out of input, output, or at end of block -- - update the total input and output counters */ - totin += strm.avail_in; - totout += strm.avail_out; - ret = inflate(&strm, Z_BLOCK); /* return at end of block */ - totin -= strm.avail_in; - totout -= strm.avail_out; - if (ret == Z_NEED_DICT) - ret = Z_DATA_ERROR; - if (ret == Z_MEM_ERROR || ret == Z_DATA_ERROR) - goto build_index_error; - if (ret == Z_STREAM_END) - break; - - /* if at end of block, consider adding an index entry (note that if - data_type indicates an end-of-block, then all of the - uncompressed data from that block has been delivered, and none - of the compressed data after that block has been consumed, - except for up to seven bits) -- the totout == 0 provides an - entry point after the zlib or gzip header, and assures that the - index always has at least one access point; we avoid creating an - access point after the last block by checking bit 6 of data_type - */ - if ((strm.data_type & 128) && !(strm.data_type & 64) && - (totout == 0 || totout - last > span)) { - index = addpoint(index, strm.data_type & 7, totin, - totout, strm.avail_out, window); - if (index == NULL) { - ret = Z_MEM_ERROR; - goto build_index_error; - } - last = totout; - } - } while (strm.avail_in != 0); - } while (ret != Z_STREAM_END); - - /* clean up and return index (release unused entries in list) */ - (void)inflateEnd(&strm); - index = realloc(index, sizeof(struct point) * index->have); - index->size = index->have; - *built = index; - return index->size; - - /* return error */ - build_index_error: - (void)inflateEnd(&strm); - if (index != NULL) - free_index(index); - return ret; -} - -/* Use the index to read len bytes from offset into buf, return bytes read or - negative for error (Z_DATA_ERROR or Z_MEM_ERROR). If data is requested past - the end of the uncompressed data, then extract() will return a value less - than len, indicating how much as actually read into buf. This function - should not return a data error unless the file was modified since the index - was generated. extract() may also return Z_ERRNO if there is an error on - reading or seeking the input file. */ -local int extract(FILE *in, struct access *index, off_t offset, - unsigned char *buf, int len) -{ - int ret, skip; - z_stream strm; - struct point *here; - unsigned char input[CHUNK]; - unsigned char discard[WINSIZE]; - - /* proceed only if something reasonable to do */ - if (len < 0) - return 0; - - /* find where in stream to start */ - here = index->list; - ret = index->have; - while (--ret && here[1].out <= offset) - here++; - - /* initialize file and inflate state to start there */ - strm.zalloc = Z_NULL; - strm.zfree = Z_NULL; - strm.opaque = Z_NULL; - strm.avail_in = 0; - strm.next_in = Z_NULL; - ret = inflateInit2(&strm, -15); /* raw inflate */ - if (ret != Z_OK) - return ret; - ret = fseeko(in, here->in - (here->bits ? 1 : 0), SEEK_SET); - if (ret == -1) - goto extract_ret; - if (here->bits) { - ret = getc(in); - if (ret == -1) { - ret = ferror(in) ? Z_ERRNO : Z_DATA_ERROR; - goto extract_ret; - } - (void)inflatePrime(&strm, here->bits, ret >> (8 - here->bits)); - } - (void)inflateSetDictionary(&strm, here->window, WINSIZE); - - /* skip uncompressed bytes until offset reached, then satisfy request */ - offset -= here->out; - strm.avail_in = 0; - skip = 1; /* while skipping to offset */ - do { - /* define where to put uncompressed data, and how much */ - if (offset == 0 && skip) { /* at offset now */ - strm.avail_out = len; - strm.next_out = buf; - skip = 0; /* only do this once */ - } - if (offset > WINSIZE) { /* skip WINSIZE bytes */ - strm.avail_out = WINSIZE; - strm.next_out = discard; - offset -= WINSIZE; - } - else if (offset != 0) { /* last skip */ - strm.avail_out = (unsigned)offset; - strm.next_out = discard; - offset = 0; - } - - /* uncompress until avail_out filled, or end of stream */ - do { - if (strm.avail_in == 0) { - strm.avail_in = fread(input, 1, CHUNK, in); - if (ferror(in)) { - ret = Z_ERRNO; - goto extract_ret; - } - if (strm.avail_in == 0) { - ret = Z_DATA_ERROR; - goto extract_ret; - } - strm.next_in = input; - } - ret = inflate(&strm, Z_NO_FLUSH); /* normal inflate */ - if (ret == Z_NEED_DICT) - ret = Z_DATA_ERROR; - if (ret == Z_MEM_ERROR || ret == Z_DATA_ERROR) - goto extract_ret; - if (ret == Z_STREAM_END) - break; - } while (strm.avail_out != 0); - - /* if reach end of stream, then don't keep trying to get more */ - if (ret == Z_STREAM_END) - break; - - /* do until offset reached and requested data read, or stream ends */ - } while (skip); - - /* compute number of uncompressed bytes read after offset */ - ret = skip ? 0 : len - strm.avail_out; - - /* clean up and return bytes read or error */ - extract_ret: - (void)inflateEnd(&strm); - return ret; -} - -/* Demonstrate the use of build_index() and extract() by processing the file - provided on the command line, and the extracting 16K from about 2/3rds of - the way through the uncompressed output, and writing that to stdout. */ -int main(int argc, char **argv) -{ - int len; - off_t offset; - FILE *in; - struct access *index = NULL; - unsigned char buf[CHUNK]; - - /* open input file */ - if (argc != 2) { - fprintf(stderr, "usage: zran file.gz\n"); - return 1; - } - in = fopen(argv[1], "rb"); - if (in == NULL) { - fprintf(stderr, "zran: could not open %s for reading\n", argv[1]); - return 1; - } - - /* build index */ - len = build_index(in, SPAN, &index); - if (len < 0) { - fclose(in); - switch (len) { - case Z_MEM_ERROR: - fprintf(stderr, "zran: out of memory\n"); - break; - case Z_DATA_ERROR: - fprintf(stderr, "zran: compressed data error in %s\n", argv[1]); - break; - case Z_ERRNO: - fprintf(stderr, "zran: read error on %s\n", argv[1]); - break; - default: - fprintf(stderr, "zran: error %d while building index\n", len); - } - return 1; - } - fprintf(stderr, "zran: built index with %d access points\n", len); - - /* use index by reading some bytes from an arbitrary offset */ - offset = (index->list[index->have - 1].out << 1) / 3; - len = extract(in, index, offset, buf, CHUNK); - if (len < 0) - fprintf(stderr, "zran: extraction failed: %s error\n", - len == Z_MEM_ERROR ? "out of memory" : "input corrupted"); - else { - fwrite(buf, 1, len, stdout); - fprintf(stderr, "zran: extracted %d bytes at %llu\n", len, offset); - } - - /* clean up and exit */ - free_index(index); - fclose(in); - return 0; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/gzclose.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/gzclose.c deleted file mode 100644 index caeb99a3..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/gzclose.c +++ /dev/null @@ -1,25 +0,0 @@ -/* gzclose.c -- zlib gzclose() function - * Copyright (C) 2004, 2010 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -#include "gzguts.h" - -/* gzclose() is in a separate file so that it is linked in only if it is used. - That way the other gzclose functions can be used instead to avoid linking in - unneeded compression or decompression routines. */ -int ZEXPORT gzclose(file) - gzFile file; -{ -#ifndef NO_GZCOMPRESS - gz_statep state; - - if (file == NULL) - return Z_STREAM_ERROR; - state = (gz_statep)file; - - return state->mode == GZ_READ ? gzclose_r(file) : gzclose_w(file); -#else - return gzclose_r(file); -#endif -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/gzguts.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/gzguts.h deleted file mode 100644 index 3107c363..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/gzguts.h +++ /dev/null @@ -1,190 +0,0 @@ -/* gzguts.h -- zlib internal header definitions for gz* operations - * Copyright (C) 2004, 2005, 2010, 2011, 2012 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -#ifdef _LARGEFILE64_SOURCE -# ifndef _LARGEFILE_SOURCE -# define _LARGEFILE_SOURCE 1 -# endif -# ifdef _FILE_OFFSET_BITS -# undef _FILE_OFFSET_BITS -# endif -#endif - -#if ((__GNUC__-0) * 10 + __GNUC_MINOR__-0 >= 33) && !defined(NO_VIZ) -# define ZLIB_INTERNAL __attribute__((visibility ("hidden"))) -#else -# define ZLIB_INTERNAL -#endif - -#include -#include "zlib.h" -#ifdef STDC -# include -# include -# include -#endif -#include - -#ifdef __TURBOC__ -# include -#endif - -#ifdef NO_DEFLATE /* for compatibility with old definition */ -# define NO_GZCOMPRESS -#endif - -#if defined(STDC99) || (defined(__TURBOC__) && __TURBOC__ >= 0x550) -# ifndef HAVE_VSNPRINTF -# define HAVE_VSNPRINTF -# endif -#endif - -#if defined(__CYGWIN__) -# ifndef HAVE_VSNPRINTF -# define HAVE_VSNPRINTF -# endif -#endif - -#if defined(MSDOS) && defined(__BORLANDC__) && (BORLANDC > 0x410) -# ifndef HAVE_VSNPRINTF -# define HAVE_VSNPRINTF -# endif -#endif - -#ifndef HAVE_VSNPRINTF -# ifdef MSDOS -/* vsnprintf may exist on some MS-DOS compilers (DJGPP?), - but for now we just assume it doesn't. */ -# define NO_vsnprintf -# endif -# ifdef __TURBOC__ -# define NO_vsnprintf -# endif -# ifdef WIN32 -/* In Win32, vsnprintf is available as the "non-ANSI" _vsnprintf. */ -# if !defined(vsnprintf) && !defined(NO_vsnprintf) -# if !defined(_MSC_VER) || ( defined(_MSC_VER) && _MSC_VER < 1500 ) -# include -# define vsnprintf _vsnprintf -# endif -# endif -# endif -# ifdef __SASC -# define NO_vsnprintf -# endif -# ifdef VMS -# define NO_vsnprintf -# endif -# ifdef __OS400__ -# define NO_vsnprintf -# endif -# ifdef __MVS__ -# define NO_vsnprintf -# endif -#endif - -#ifndef local -# define local static -#endif -/* compile with -Dlocal if your debugger can't find static symbols */ - -/* gz* functions always use library allocation functions */ -#ifndef STDC - extern voidp malloc OF((uInt size)); - extern void free OF((voidpf ptr)); -#endif - -/* get errno and strerror definition */ -#if defined UNDER_CE -# include -# define zstrerror() gz_strwinerror((DWORD)GetLastError()) -#else -# ifdef STDC -# include -# define zstrerror() strerror(errno) -# else -# define zstrerror() "stdio error (consult errno)" -# endif -#endif - -/* provide prototypes for these when building zlib without LFS */ -#if !defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0 - ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *)); - ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int)); - ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile)); - ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile)); -#endif - -/* default memLevel */ -#if MAX_MEM_LEVEL >= 8 -# define DEF_MEM_LEVEL 8 -#else -# define DEF_MEM_LEVEL MAX_MEM_LEVEL -#endif - -/* default i/o buffer size -- double this for output when reading */ -#define GZBUFSIZE 8192 - -/* gzip modes, also provide a little integrity check on the passed structure */ -#define GZ_NONE 0 -#define GZ_READ 7247 -#define GZ_WRITE 31153 -#define GZ_APPEND 1 /* mode set to GZ_WRITE after the file is opened */ - -/* values for gz_state how */ -#define LOOK 0 /* look for a gzip header */ -#define COPY 1 /* copy input directly */ -#define GZIP 2 /* decompress a gzip stream */ - -/* internal gzip file state data structure */ -typedef struct { - /* exposed contents for gzgetc() macro */ - struct gzFile_s x; /* "x" for exposed */ - /* x.have: number of bytes available at x.next */ - /* x.next: next output data to deliver or write */ - /* x.pos: current position in uncompressed data */ - /* used for both reading and writing */ - int mode; /* see gzip modes above */ - int fd; /* file descriptor */ - char *path; /* path or fd for error messages */ - unsigned size; /* buffer size, zero if not allocated yet */ - unsigned want; /* requested buffer size, default is GZBUFSIZE */ - unsigned char *in; /* input buffer */ - unsigned char *out; /* output buffer (double-sized when reading) */ - int direct; /* 0 if processing gzip, 1 if transparent */ - /* just for reading */ - int how; /* 0: get header, 1: copy, 2: decompress */ - z_off64_t start; /* where the gzip data started, for rewinding */ - int eof; /* true if end of input file reached */ - int past; /* true if read requested past end */ - /* just for writing */ - int level; /* compression level */ - int strategy; /* compression strategy */ - /* seek request */ - z_off64_t skip; /* amount to skip (already rewound if backwards) */ - int seek; /* true if seek request pending */ - /* error information */ - int err; /* error code */ - char *msg; /* error message */ - /* zlib inflate or deflate stream */ - z_stream strm; /* stream structure in-place (not a pointer) */ -} gz_state; -typedef gz_state FAR *gz_statep; - -/* shared functions */ -void ZLIB_INTERNAL gz_error OF((gz_statep, int, const char *)); -#if defined UNDER_CE -char ZLIB_INTERNAL *gz_strwinerror OF((DWORD error)); -#endif - -/* GT_OFF(x), where x is an unsigned value, is true if x > maximum z_off64_t - value -- needed when comparing unsigned to z_off64_t, which is signed - (possible z_off64_t types off_t, off64_t, and long are all signed) */ -#ifdef INT_MAX -# define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > INT_MAX) -#else -unsigned ZLIB_INTERNAL gz_intmax OF((void)); -# define GT_OFF(x) (sizeof(int) == sizeof(z_off64_t) && (x) > gz_intmax()) -#endif diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/gzlib.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/gzlib.c deleted file mode 100644 index 7aedab8e..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/gzlib.c +++ /dev/null @@ -1,564 +0,0 @@ -/* gzlib.c -- zlib functions common to reading and writing gzip files - * Copyright (C) 2004, 2010, 2011 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -#include "gzguts.h" - -#if defined(_WIN32) && !defined(__BORLANDC__) -# define LSEEK _lseeki64 -#else -#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0 -# define LSEEK lseek64 -#else -# define LSEEK lseek -#endif -#endif - -/* Local functions */ -local void gz_reset OF((gz_statep)); -local gzFile gz_open OF((const char *, int, const char *)); - -#if defined UNDER_CE - -/* Map the Windows error number in ERROR to a locale-dependent error message - string and return a pointer to it. Typically, the values for ERROR come - from GetLastError. - - The string pointed to shall not be modified by the application, but may be - overwritten by a subsequent call to gz_strwinerror - - The gz_strwinerror function does not change the current setting of - GetLastError. */ -char ZLIB_INTERNAL *gz_strwinerror (error) - DWORD error; -{ - static char buf[1024]; - - wchar_t *msgbuf; - DWORD lasterr = GetLastError(); - DWORD chars = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM - | FORMAT_MESSAGE_ALLOCATE_BUFFER, - NULL, - error, - 0, /* Default language */ - (LPVOID)&msgbuf, - 0, - NULL); - if (chars != 0) { - /* If there is an \r\n appended, zap it. */ - if (chars >= 2 - && msgbuf[chars - 2] == '\r' && msgbuf[chars - 1] == '\n') { - chars -= 2; - msgbuf[chars] = 0; - } - - if (chars > sizeof (buf) - 1) { - chars = sizeof (buf) - 1; - msgbuf[chars] = 0; - } - - wcstombs(buf, msgbuf, chars + 1); - LocalFree(msgbuf); - } - else { - sprintf(buf, "unknown win32 error (%ld)", error); - } - - SetLastError(lasterr); - return buf; -} - -#endif /* UNDER_CE */ - -/* Reset gzip file state */ -local void gz_reset(state) - gz_statep state; -{ - state->x.have = 0; /* no output data available */ - if (state->mode == GZ_READ) { /* for reading ... */ - state->eof = 0; /* not at end of file */ - state->past = 0; /* have not read past end yet */ - state->how = LOOK; /* look for gzip header */ - } - state->seek = 0; /* no seek request pending */ - gz_error(state, Z_OK, NULL); /* clear error */ - state->x.pos = 0; /* no uncompressed data yet */ - state->strm.avail_in = 0; /* no input data yet */ -} - -/* Open a gzip file either by name or file descriptor. */ -local gzFile gz_open(path, fd, mode) - const char *path; - int fd; - const char *mode; -{ - gz_statep state; - - /* check input */ - if (path == NULL) - return NULL; - - /* allocate gzFile structure to return */ - state = malloc(sizeof(gz_state)); - if (state == NULL) - return NULL; - state->size = 0; /* no buffers allocated yet */ - state->want = GZBUFSIZE; /* requested buffer size */ - state->msg = NULL; /* no error message yet */ - - /* interpret mode */ - state->mode = GZ_NONE; - state->level = Z_DEFAULT_COMPRESSION; - state->strategy = Z_DEFAULT_STRATEGY; - state->direct = 0; - while (*mode) { - if (*mode >= '0' && *mode <= '9') - state->level = *mode - '0'; - else - switch (*mode) { - case 'r': - state->mode = GZ_READ; - break; -#ifndef NO_GZCOMPRESS - case 'w': - state->mode = GZ_WRITE; - break; - case 'a': - state->mode = GZ_APPEND; - break; -#endif - case '+': /* can't read and write at the same time */ - free(state); - return NULL; - case 'b': /* ignore -- will request binary anyway */ - break; - case 'f': - state->strategy = Z_FILTERED; - break; - case 'h': - state->strategy = Z_HUFFMAN_ONLY; - break; - case 'R': - state->strategy = Z_RLE; - break; - case 'F': - state->strategy = Z_FIXED; - case 'T': - state->direct = 1; - default: /* could consider as an error, but just ignore */ - ; - } - mode++; - } - - /* must provide an "r", "w", or "a" */ - if (state->mode == GZ_NONE) { - free(state); - return NULL; - } - - /* can't force transparent read */ - if (state->mode == GZ_READ) { - if (state->direct) { - free(state); - return NULL; - } - state->direct = 1; /* for empty file */ - } - - /* save the path name for error messages */ - state->path = malloc(strlen(path) + 1); - if (state->path == NULL) { - free(state); - return NULL; - } - strcpy(state->path, path); - - /* open the file with the appropriate mode (or just use fd) */ - state->fd = fd != -1 ? fd : - open(path, -#ifdef O_LARGEFILE - O_LARGEFILE | -#endif -#ifdef O_BINARY - O_BINARY | -#endif - (state->mode == GZ_READ ? - O_RDONLY : - (O_WRONLY | O_CREAT | ( - state->mode == GZ_WRITE ? - O_TRUNC : - O_APPEND))), - 0666); - if (state->fd == -1) { - free(state->path); - free(state); - return NULL; - } - if (state->mode == GZ_APPEND) - state->mode = GZ_WRITE; /* simplify later checks */ - - /* save the current position for rewinding (only if reading) */ - if (state->mode == GZ_READ) { - state->start = LSEEK(state->fd, 0, SEEK_CUR); - if (state->start == -1) state->start = 0; - } - - /* initialize stream */ - gz_reset(state); - - /* return stream */ - return (gzFile)state; -} - -/* -- see zlib.h -- */ -gzFile ZEXPORT gzopen(path, mode) - const char *path; - const char *mode; -{ - return gz_open(path, -1, mode); -} - -/* -- see zlib.h -- */ -gzFile ZEXPORT gzopen64(path, mode) - const char *path; - const char *mode; -{ - return gz_open(path, -1, mode); -} - -/* -- see zlib.h -- */ -gzFile ZEXPORT gzdopen(fd, mode) - int fd; - const char *mode; -{ - char *path; /* identifier for error messages */ - gzFile gz; - - if (fd == -1 || (path = malloc(7 + 3 * sizeof(int))) == NULL) - return NULL; - sprintf(path, "", fd); /* for debugging */ - gz = gz_open(path, fd, mode); - free(path); - return gz; -} - -/* -- see zlib.h -- */ -int ZEXPORT gzbuffer(file, size) - gzFile file; - unsigned size; -{ - gz_statep state; - - /* get internal structure and check integrity */ - if (file == NULL) - return -1; - state = (gz_statep)file; - if (state->mode != GZ_READ && state->mode != GZ_WRITE) - return -1; - - /* make sure we haven't already allocated memory */ - if (state->size != 0) - return -1; - - /* check and set requested size */ - if (size < 2) - size = 2; /* need two bytes to check magic header */ - state->want = size; - return 0; -} - -/* -- see zlib.h -- */ -int ZEXPORT gzrewind(file) - gzFile file; -{ - gz_statep state; - - /* get internal structure */ - if (file == NULL) - return -1; - state = (gz_statep)file; - - /* check that we're reading and that there's no error */ - if (state->mode != GZ_READ || - (state->err != Z_OK && state->err != Z_BUF_ERROR)) - return -1; - - /* back up and start over */ - if (LSEEK(state->fd, state->start, SEEK_SET) == -1) - return -1; - gz_reset(state); - return 0; -} - -/* -- see zlib.h -- */ -z_off64_t ZEXPORT gzseek64(file, offset, whence) - gzFile file; - z_off64_t offset; - int whence; -{ - unsigned n; - z_off64_t ret; - gz_statep state; - - /* get internal structure and check integrity */ - if (file == NULL) - return -1; - state = (gz_statep)file; - if (state->mode != GZ_READ && state->mode != GZ_WRITE) - return -1; - - /* check that there's no error */ - if (state->err != Z_OK && state->err != Z_BUF_ERROR) - return -1; - - /* can only seek from start or relative to current position */ - if (whence != SEEK_SET && whence != SEEK_CUR) - return -1; - - /* normalize offset to a SEEK_CUR specification */ - if (whence == SEEK_SET) - offset -= state->x.pos; - else if (state->seek) - offset += state->skip; - state->seek = 0; - - /* if within raw area while reading, just go there */ - if (state->mode == GZ_READ && state->how == COPY && - state->x.pos + offset >= 0) { - ret = LSEEK(state->fd, offset - state->x.have, SEEK_CUR); - if (ret == -1) - return -1; - state->x.have = 0; - state->eof = 0; - state->past = 0; - state->seek = 0; - gz_error(state, Z_OK, NULL); - state->strm.avail_in = 0; - state->x.pos += offset; - return state->x.pos; - } - - /* calculate skip amount, rewinding if needed for back seek when reading */ - if (offset < 0) { - if (state->mode != GZ_READ) /* writing -- can't go backwards */ - return -1; - offset += state->x.pos; - if (offset < 0) /* before start of file! */ - return -1; - if (gzrewind(file) == -1) /* rewind, then skip to offset */ - return -1; - } - - /* if reading, skip what's in output buffer (one less gzgetc() check) */ - if (state->mode == GZ_READ) { - n = GT_OFF(state->x.have) || (z_off64_t)state->x.have > offset ? - (unsigned)offset : state->x.have; - state->x.have -= n; - state->x.next += n; - state->x.pos += n; - offset -= n; - } - - /* request skip (if not zero) */ - if (offset) { - state->seek = 1; - state->skip = offset; - } - return state->x.pos + offset; -} - -/* -- see zlib.h -- */ -z_off_t ZEXPORT gzseek(file, offset, whence) - gzFile file; - z_off_t offset; - int whence; -{ - z_off64_t ret; - - ret = gzseek64(file, (z_off64_t)offset, whence); - return ret == (z_off_t)ret ? (z_off_t)ret : -1; -} - -/* -- see zlib.h -- */ -z_off64_t ZEXPORT gztell64(file) - gzFile file; -{ - gz_statep state; - - /* get internal structure and check integrity */ - if (file == NULL) - return -1; - state = (gz_statep)file; - if (state->mode != GZ_READ && state->mode != GZ_WRITE) - return -1; - - /* return position */ - return state->x.pos + (state->seek ? state->skip : 0); -} - -/* -- see zlib.h -- */ -z_off_t ZEXPORT gztell(file) - gzFile file; -{ - z_off64_t ret; - - ret = gztell64(file); - return ret == (z_off_t)ret ? (z_off_t)ret : -1; -} - -/* -- see zlib.h -- */ -z_off64_t ZEXPORT gzoffset64(file) - gzFile file; -{ - z_off64_t offset; - gz_statep state; - - /* get internal structure and check integrity */ - if (file == NULL) - return -1; - state = (gz_statep)file; - if (state->mode != GZ_READ && state->mode != GZ_WRITE) - return -1; - - /* compute and return effective offset in file */ - offset = LSEEK(state->fd, 0, SEEK_CUR); - if (offset == -1) - return -1; - if (state->mode == GZ_READ) /* reading */ - offset -= state->strm.avail_in; /* don't count buffered input */ - return offset; -} - -/* -- see zlib.h -- */ -z_off_t ZEXPORT gzoffset(file) - gzFile file; -{ - z_off64_t ret; - - ret = gzoffset64(file); - return ret == (z_off_t)ret ? (z_off_t)ret : -1; -} - -/* -- see zlib.h -- */ -int ZEXPORT gzeof(file) - gzFile file; -{ - gz_statep state; - - /* get internal structure and check integrity */ - if (file == NULL) - return 0; - state = (gz_statep)file; - if (state->mode != GZ_READ && state->mode != GZ_WRITE) - return 0; - - /* return end-of-file state */ - return state->mode == GZ_READ ? state->past : 0; -} - -/* -- see zlib.h -- */ -const char * ZEXPORT gzerror(file, errnum) - gzFile file; - int *errnum; -{ - gz_statep state; - - /* get internal structure and check integrity */ - if (file == NULL) - return NULL; - state = (gz_statep)file; - if (state->mode != GZ_READ && state->mode != GZ_WRITE) - return NULL; - - /* return error information */ - if (errnum != NULL) - *errnum = state->err; - return state->msg == NULL ? "" : state->msg; -} - -/* -- see zlib.h -- */ -void ZEXPORT gzclearerr(file) - gzFile file; -{ - gz_statep state; - - /* get internal structure and check integrity */ - if (file == NULL) - return; - state = (gz_statep)file; - if (state->mode != GZ_READ && state->mode != GZ_WRITE) - return; - - /* clear error and end-of-file */ - if (state->mode == GZ_READ) { - state->eof = 0; - state->past = 0; - } - gz_error(state, Z_OK, NULL); -} - -/* Create an error message in allocated memory and set state->err and - state->msg accordingly. Free any previous error message already there. Do - not try to free or allocate space if the error is Z_MEM_ERROR (out of - memory). Simply save the error message as a static string. If there is an - allocation failure constructing the error message, then convert the error to - out of memory. */ -void ZLIB_INTERNAL gz_error(state, err, msg) - gz_statep state; - int err; - const char *msg; -{ - /* free previously allocated message and clear */ - if (state->msg != NULL) { - if (state->err != Z_MEM_ERROR) - free(state->msg); - state->msg = NULL; - } - - /* if fatal, set state->x.have to 0 so that the gzgetc() macro fails */ - if (err != Z_OK && err != Z_BUF_ERROR) - state->x.have = 0; - - /* set error code, and if no message, then done */ - state->err = err; - if (msg == NULL) - return; - - /* for an out of memory error, save as static string */ - if (err == Z_MEM_ERROR) { - state->msg = (char *)msg; - return; - } - - /* construct error message with path */ - if ((state->msg = malloc(strlen(state->path) + strlen(msg) + 3)) == NULL) { - state->err = Z_MEM_ERROR; - state->msg = (char *)"out of memory"; - return; - } - strcpy(state->msg, state->path); - strcat(state->msg, ": "); - strcat(state->msg, msg); - return; -} - -#ifndef INT_MAX -/* portably return maximum value for an int (when limits.h presumed not - available) -- we need to do this to cover cases where 2's complement not - used, since C standard permits 1's complement and sign-bit representations, - otherwise we could just use ((unsigned)-1) >> 1 */ -unsigned ZLIB_INTERNAL gz_intmax() -{ - unsigned p, q; - - p = 1; - do { - q = p; - p <<= 1; - p++; - } while (p > q); - return q >> 1; -} -#endif diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/gzread.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/gzread.c deleted file mode 100644 index 46d40e0b..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/gzread.c +++ /dev/null @@ -1,584 +0,0 @@ -/* gzread.c -- zlib functions for reading gzip files - * Copyright (C) 2004, 2005, 2010, 2011 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -#include "gzguts.h" - -/* Local functions */ -local int gz_load OF((gz_statep, unsigned char *, unsigned, unsigned *)); -local int gz_avail OF((gz_statep)); -local int gz_look OF((gz_statep)); -local int gz_decomp OF((gz_statep)); -local int gz_fetch OF((gz_statep)); -local int gz_skip OF((gz_statep, z_off64_t)); - -/* Use read() to load a buffer -- return -1 on error, otherwise 0. Read from - state->fd, and update state->eof, state->err, and state->msg as appropriate. - This function needs to loop on read(), since read() is not guaranteed to - read the number of bytes requested, depending on the type of descriptor. */ -local int gz_load(state, buf, len, have) - gz_statep state; - unsigned char *buf; - unsigned len; - unsigned *have; -{ - int ret; - - *have = 0; - do { - ret = read(state->fd, buf + *have, len - *have); - if (ret <= 0) - break; - *have += ret; - } while (*have < len); - if (ret < 0) { - gz_error(state, Z_ERRNO, zstrerror()); - return -1; - } - if (ret == 0) - state->eof = 1; - return 0; -} - -/* Load up input buffer and set eof flag if last data loaded -- return -1 on - error, 0 otherwise. Note that the eof flag is set when the end of the input - file is reached, even though there may be unused data in the buffer. Once - that data has been used, no more attempts will be made to read the file. - If strm->avail_in != 0, then the current data is moved to the beginning of - the input buffer, and then the remainder of the buffer is loaded with the - available data from the input file. */ -local int gz_avail(state) - gz_statep state; -{ - unsigned got; - z_streamp strm = &(state->strm); - - if (state->err != Z_OK && state->err != Z_BUF_ERROR) - return -1; - if (state->eof == 0) { - if (strm->avail_in) - memmove(state->in, strm->next_in, strm->avail_in); - if (gz_load(state, state->in + strm->avail_in, - state->size - strm->avail_in, &got) == -1) - return -1; - strm->avail_in += got; - strm->next_in = state->in; - } - return 0; -} - -/* Look for gzip header, set up for inflate or copy. state->x.have must be 0. - If this is the first time in, allocate required memory. state->how will be - left unchanged if there is no more input data available, will be set to COPY - if there is no gzip header and direct copying will be performed, or it will - be set to GZIP for decompression. If direct copying, then leftover input - data from the input buffer will be copied to the output buffer. In that - case, all further file reads will be directly to either the output buffer or - a user buffer. If decompressing, the inflate state will be initialized. - gz_look() will return 0 on success or -1 on failure. */ -local int gz_look(state) - gz_statep state; -{ - z_streamp strm = &(state->strm); - - /* allocate read buffers and inflate memory */ - if (state->size == 0) { - /* allocate buffers */ - state->in = malloc(state->want); - state->out = malloc(state->want << 1); - if (state->in == NULL || state->out == NULL) { - if (state->out != NULL) - free(state->out); - if (state->in != NULL) - free(state->in); - gz_error(state, Z_MEM_ERROR, "out of memory"); - return -1; - } - state->size = state->want; - - /* allocate inflate memory */ - state->strm.zalloc = Z_NULL; - state->strm.zfree = Z_NULL; - state->strm.opaque = Z_NULL; - state->strm.avail_in = 0; - state->strm.next_in = Z_NULL; - if (inflateInit2(&(state->strm), 15 + 16) != Z_OK) { /* gunzip */ - free(state->out); - free(state->in); - state->size = 0; - gz_error(state, Z_MEM_ERROR, "out of memory"); - return -1; - } - } - - /* get at least the magic bytes in the input buffer */ - if (strm->avail_in < 2) { - if (gz_avail(state) == -1) - return -1; - if (strm->avail_in == 0) - return 0; - } - - /* look for gzip magic bytes -- if there, do gzip decoding (note: there is - a logical dilemma here when considering the case of a partially written - gzip file, to wit, if a single 31 byte is written, then we cannot tell - whether this is a single-byte file, or just a partially written gzip - file -- for here we assume that if a gzip file is being written, then - the header will be written in a single operation, so that reading a - single byte is sufficient indication that it is not a gzip file) */ - if (strm->avail_in > 1 && - strm->next_in[0] == 31 && strm->next_in[1] == 139) { - inflateReset(strm); - state->how = GZIP; - state->direct = 0; - return 0; - } - - /* no gzip header -- if we were decoding gzip before, then this is trailing - garbage. Ignore the trailing garbage and finish. */ - if (state->direct == 0) { - strm->avail_in = 0; - state->eof = 1; - state->x.have = 0; - return 0; - } - - /* doing raw i/o, copy any leftover input to output -- this assumes that - the output buffer is larger than the input buffer, which also assures - space for gzungetc() */ - state->x.next = state->out; - if (strm->avail_in) { - memcpy(state->x.next, strm->next_in, strm->avail_in); - state->x.have = strm->avail_in; - strm->avail_in = 0; - } - state->how = COPY; - state->direct = 1; - return 0; -} - -/* Decompress from input to the provided next_out and avail_out in the state. - On return, state->x.have and state->x.next point to the just decompressed - data. If the gzip stream completes, state->how is reset to LOOK to look for - the next gzip stream or raw data, once state->x.have is depleted. Returns 0 - on success, -1 on failure. */ -local int gz_decomp(state) - gz_statep state; -{ - int ret = Z_OK; - unsigned had; - z_streamp strm = &(state->strm); - - /* fill output buffer up to end of deflate stream */ - had = strm->avail_out; - do { - /* get more input for inflate() */ - if (strm->avail_in == 0 && gz_avail(state) == -1) - return -1; - if (strm->avail_in == 0) { - gz_error(state, Z_BUF_ERROR, "unexpected end of file"); - break; - } - - /* decompress and handle errors */ - ret = inflate(strm, Z_NO_FLUSH); - if (ret == Z_STREAM_ERROR || ret == Z_NEED_DICT) { - gz_error(state, Z_STREAM_ERROR, - "internal error: inflate stream corrupt"); - return -1; - } - if (ret == Z_MEM_ERROR) { - gz_error(state, Z_MEM_ERROR, "out of memory"); - return -1; - } - if (ret == Z_DATA_ERROR) { /* deflate stream invalid */ - gz_error(state, Z_DATA_ERROR, - strm->msg == NULL ? "compressed data error" : strm->msg); - return -1; - } - } while (strm->avail_out && ret != Z_STREAM_END); - - /* update available output */ - state->x.have = had - strm->avail_out; - state->x.next = strm->next_out - state->x.have; - - /* if the gzip stream completed successfully, look for another */ - if (ret == Z_STREAM_END) - state->how = LOOK; - - /* good decompression */ - return 0; -} - -/* Fetch data and put it in the output buffer. Assumes state->x.have is 0. - Data is either copied from the input file or decompressed from the input - file depending on state->how. If state->how is LOOK, then a gzip header is - looked for to determine whether to copy or decompress. Returns -1 on error, - otherwise 0. gz_fetch() will leave state->how as COPY or GZIP unless the - end of the input file has been reached and all data has been processed. */ -local int gz_fetch(state) - gz_statep state; -{ - z_streamp strm = &(state->strm); - - do { - switch(state->how) { - case LOOK: /* -> LOOK, COPY (only if never GZIP), or GZIP */ - if (gz_look(state) == -1) - return -1; - if (state->how == LOOK) - return 0; - break; - case COPY: /* -> COPY */ - if (gz_load(state, state->out, state->size << 1, &(state->x.have)) - == -1) - return -1; - state->x.next = state->out; - return 0; - case GZIP: /* -> GZIP or LOOK (if end of gzip stream) */ - strm->avail_out = state->size << 1; - strm->next_out = state->out; - if (gz_decomp(state) == -1) - return -1; - } - } while (state->x.have == 0 && (!state->eof || strm->avail_in)); - return 0; -} - -/* Skip len uncompressed bytes of output. Return -1 on error, 0 on success. */ -local int gz_skip(state, len) - gz_statep state; - z_off64_t len; -{ - unsigned n; - - /* skip over len bytes or reach end-of-file, whichever comes first */ - while (len) - /* skip over whatever is in output buffer */ - if (state->x.have) { - n = GT_OFF(state->x.have) || (z_off64_t)state->x.have > len ? - (unsigned)len : state->x.have; - state->x.have -= n; - state->x.next += n; - state->x.pos += n; - len -= n; - } - - /* output buffer empty -- return if we're at the end of the input */ - else if (state->eof && state->strm.avail_in == 0) - break; - - /* need more data to skip -- load up output buffer */ - else { - /* get more output, looking for header if required */ - if (gz_fetch(state) == -1) - return -1; - } - return 0; -} - -/* -- see zlib.h -- */ -int ZEXPORT gzread(file, buf, len) - gzFile file; - voidp buf; - unsigned len; -{ - unsigned got, n; - gz_statep state; - z_streamp strm; - - /* get internal structure */ - if (file == NULL) - return -1; - state = (gz_statep)file; - strm = &(state->strm); - - /* check that we're reading and that there's no (serious) error */ - if (state->mode != GZ_READ || - (state->err != Z_OK && state->err != Z_BUF_ERROR)) - return -1; - - /* since an int is returned, make sure len fits in one, otherwise return - with an error (this avoids the flaw in the interface) */ - if ((int)len < 0) { - gz_error(state, Z_DATA_ERROR, "requested length does not fit in int"); - return -1; - } - - /* if len is zero, avoid unnecessary operations */ - if (len == 0) - return 0; - - /* process a skip request */ - if (state->seek) { - state->seek = 0; - if (gz_skip(state, state->skip) == -1) - return -1; - } - - /* get len bytes to buf, or less than len if at the end */ - got = 0; - do { - /* first just try copying data from the output buffer */ - if (state->x.have) { - n = state->x.have > len ? len : state->x.have; - memcpy(buf, state->x.next, n); - state->x.next += n; - state->x.have -= n; - } - - /* output buffer empty -- return if we're at the end of the input */ - else if (state->eof && strm->avail_in == 0) { - state->past = 1; /* tried to read past end */ - break; - } - - /* need output data -- for small len or new stream load up our output - buffer */ - else if (state->how == LOOK || len < (state->size << 1)) { - /* get more output, looking for header if required */ - if (gz_fetch(state) == -1) - return -1; - continue; /* no progress yet -- go back to memcpy() above */ - /* the copy above assures that we will leave with space in the - output buffer, allowing at least one gzungetc() to succeed */ - } - - /* large len -- read directly into user buffer */ - else if (state->how == COPY) { /* read directly */ - if (gz_load(state, buf, len, &n) == -1) - return -1; - } - - /* large len -- decompress directly into user buffer */ - else { /* state->how == GZIP */ - strm->avail_out = len; - strm->next_out = buf; - if (gz_decomp(state) == -1) - return -1; - n = state->x.have; - state->x.have = 0; - } - - /* update progress */ - len -= n; - buf = (char *)buf + n; - got += n; - state->x.pos += n; - } while (len); - - /* return number of bytes read into user buffer (will fit in int) */ - return (int)got; -} - -/* -- see zlib.h -- */ -int ZEXPORT gzgetc_(file) - gzFile file; -{ - int ret; - unsigned char buf[1]; - gz_statep state; - - /* get internal structure */ - if (file == NULL) - return -1; - state = (gz_statep)file; - - /* check that we're reading and that there's no (serious) error */ - if (state->mode != GZ_READ || - (state->err != Z_OK && state->err != Z_BUF_ERROR)) - return -1; - - /* try output buffer (no need to check for skip request) */ - if (state->x.have) { - state->x.have--; - state->x.pos++; - return *(state->x.next)++; - } - - /* nothing there -- try gzread() */ - ret = gzread(file, buf, 1); - return ret < 1 ? -1 : buf[0]; -} - -#undef gzgetc -int ZEXPORT gzgetc(file) -gzFile file; -{ - return gzgetc_(file); -} - -/* -- see zlib.h -- */ -int ZEXPORT gzungetc(c, file) - int c; - gzFile file; -{ - gz_statep state; - - /* get internal structure */ - if (file == NULL) - return -1; - state = (gz_statep)file; - - /* check that we're reading and that there's no (serious) error */ - if (state->mode != GZ_READ || - (state->err != Z_OK && state->err != Z_BUF_ERROR)) - return -1; - - /* process a skip request */ - if (state->seek) { - state->seek = 0; - if (gz_skip(state, state->skip) == -1) - return -1; - } - - /* can't push EOF */ - if (c < 0) - return -1; - - /* if output buffer empty, put byte at end (allows more pushing) */ - if (state->x.have == 0) { - state->x.have = 1; - state->x.next = state->out + (state->size << 1) - 1; - state->x.next[0] = c; - state->x.pos--; - state->past = 0; - return c; - } - - /* if no room, give up (must have already done a gzungetc()) */ - if (state->x.have == (state->size << 1)) { - gz_error(state, Z_DATA_ERROR, "out of room to push characters"); - return -1; - } - - /* slide output data if needed and insert byte before existing data */ - if (state->x.next == state->out) { - unsigned char *src = state->out + state->x.have; - unsigned char *dest = state->out + (state->size << 1); - while (src > state->out) - *--dest = *--src; - state->x.next = dest; - } - state->x.have++; - state->x.next--; - state->x.next[0] = c; - state->x.pos--; - state->past = 0; - return c; -} - -/* -- see zlib.h -- */ -char * ZEXPORT gzgets(file, buf, len) - gzFile file; - char *buf; - int len; -{ - unsigned left, n; - char *str; - unsigned char *eol; - gz_statep state; - - /* check parameters and get internal structure */ - if (file == NULL || buf == NULL || len < 1) - return NULL; - state = (gz_statep)file; - - /* check that we're reading and that there's no (serious) error */ - if (state->mode != GZ_READ || - (state->err != Z_OK && state->err != Z_BUF_ERROR)) - return NULL; - - /* process a skip request */ - if (state->seek) { - state->seek = 0; - if (gz_skip(state, state->skip) == -1) - return NULL; - } - - /* copy output bytes up to new line or len - 1, whichever comes first -- - append a terminating zero to the string (we don't check for a zero in - the contents, let the user worry about that) */ - str = buf; - left = (unsigned)len - 1; - if (left) do { - /* assure that something is in the output buffer */ - if (state->x.have == 0 && gz_fetch(state) == -1) - return NULL; /* error */ - if (state->x.have == 0) { /* end of file */ - state->past = 1; /* read past end */ - break; /* return what we have */ - } - - /* look for end-of-line in current output buffer */ - n = state->x.have > left ? left : state->x.have; - eol = memchr(state->x.next, '\n', n); - if (eol != NULL) - n = (unsigned)(eol - state->x.next) + 1; - - /* copy through end-of-line, or remainder if not found */ - memcpy(buf, state->x.next, n); - state->x.have -= n; - state->x.next += n; - state->x.pos += n; - left -= n; - buf += n; - } while (left && eol == NULL); - - /* return terminated string, or if nothing, end of file */ - if (buf == str) - return NULL; - buf[0] = 0; - return str; -} - -/* -- see zlib.h -- */ -int ZEXPORT gzdirect(file) - gzFile file; -{ - gz_statep state; - - /* get internal structure */ - if (file == NULL) - return 0; - state = (gz_statep)file; - - /* if the state is not known, but we can find out, then do so (this is - mainly for right after a gzopen() or gzdopen()) */ - if (state->mode == GZ_READ && state->how == LOOK && state->x.have == 0) - (void)gz_look(state); - - /* return 1 if transparent, 0 if processing a gzip stream */ - return state->direct; -} - -/* -- see zlib.h -- */ -int ZEXPORT gzclose_r(file) - gzFile file; -{ - int ret, err; - gz_statep state; - - /* get internal structure */ - if (file == NULL) - return Z_STREAM_ERROR; - state = (gz_statep)file; - - /* check that we're reading */ - if (state->mode != GZ_READ) - return Z_STREAM_ERROR; - - /* free memory and close file */ - if (state->size) { - inflateEnd(&(state->strm)); - free(state->out); - free(state->in); - } - err = state->err == Z_BUF_ERROR ? Z_BUF_ERROR : Z_OK; - gz_error(state, Z_OK, NULL); - free(state->path); - ret = close(state->fd); - free(state); - return ret ? Z_ERRNO : err; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/gzwrite.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/gzwrite.c deleted file mode 100644 index caa35b61..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/gzwrite.c +++ /dev/null @@ -1,593 +0,0 @@ -/* gzwrite.c -- zlib functions for writing gzip files - * Copyright (C) 2004, 2005, 2010, 2011, 2012 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -#include "gzguts.h" - -/* Local functions */ -local int gz_init OF((gz_statep)); -local int gz_comp OF((gz_statep, int)); -local int gz_zero OF((gz_statep, z_off64_t)); - -/* Initialize state for writing a gzip file. Mark initialization by setting - state->size to non-zero. Return -1 on failure or 0 on success. */ -local int gz_init(state) - gz_statep state; -{ - int ret; - z_streamp strm = &(state->strm); - - /* allocate input buffer */ - state->in = malloc(state->want); - if (state->in == NULL) { - gz_error(state, Z_MEM_ERROR, "out of memory"); - return -1; - } - - /* only need output buffer and deflate state if compressing */ - if (!state->direct) { - /* allocate output buffer */ - state->out = malloc(state->want); - if (state->out == NULL) { - free(state->in); - gz_error(state, Z_MEM_ERROR, "out of memory"); - return -1; - } - - /* allocate deflate memory, set up for gzip compression */ - strm->zalloc = Z_NULL; - strm->zfree = Z_NULL; - strm->opaque = Z_NULL; - ret = deflateInit2(strm, state->level, Z_DEFLATED, - MAX_WBITS + 16, DEF_MEM_LEVEL, state->strategy); - if (ret != Z_OK) { - free(state->out); - free(state->in); - gz_error(state, Z_MEM_ERROR, "out of memory"); - return -1; - } - } - - /* mark state as initialized */ - state->size = state->want; - - /* initialize write buffer if compressing */ - if (!state->direct) { - strm->avail_out = state->size; - strm->next_out = state->out; - state->x.next = strm->next_out; - } - return 0; -} - -/* Compress whatever is at avail_in and next_in and write to the output file. - Return -1 if there is an error writing to the output file, otherwise 0. - flush is assumed to be a valid deflate() flush value. If flush is Z_FINISH, - then the deflate() state is reset to start a new gzip stream. If gz->direct - is true, then simply write to the output file without compressing, and - ignore flush. */ -local int gz_comp(state, flush) - gz_statep state; - int flush; -{ - int ret, got; - unsigned have; - z_streamp strm = &(state->strm); - - /* allocate memory if this is the first time through */ - if (state->size == 0 && gz_init(state) == -1) - return -1; - - /* write directly if requested */ - if (state->direct) { - got = write(state->fd, strm->next_in, strm->avail_in); - if (got < 0 || (unsigned)got != strm->avail_in) { - gz_error(state, Z_ERRNO, zstrerror()); - return -1; - } - strm->avail_in = 0; - return 0; - } - - /* run deflate() on provided input until it produces no more output */ - ret = Z_OK; - do { - /* write out current buffer contents if full, or if flushing, but if - doing Z_FINISH then don't write until we get to Z_STREAM_END */ - if (strm->avail_out == 0 || (flush != Z_NO_FLUSH && - (flush != Z_FINISH || ret == Z_STREAM_END))) { - have = (unsigned)(strm->next_out - state->x.next); - if (have && ((got = write(state->fd, state->x.next, have)) < 0 || - (unsigned)got != have)) { - gz_error(state, Z_ERRNO, zstrerror()); - return -1; - } - if (strm->avail_out == 0) { - strm->avail_out = state->size; - strm->next_out = state->out; - } - state->x.next = strm->next_out; - } - - /* compress */ - have = strm->avail_out; - ret = deflate(strm, flush); - if (ret == Z_STREAM_ERROR) { - gz_error(state, Z_STREAM_ERROR, - "internal error: deflate stream corrupt"); - return -1; - } - have -= strm->avail_out; - } while (have); - - /* if that completed a deflate stream, allow another to start */ - if (flush == Z_FINISH) - deflateReset(strm); - - /* all done, no errors */ - return 0; -} - -/* Compress len zeros to output. Return -1 on error, 0 on success. */ -local int gz_zero(state, len) - gz_statep state; - z_off64_t len; -{ - int first; - unsigned n; - z_streamp strm = &(state->strm); - - /* consume whatever's left in the input buffer */ - if (strm->avail_in && gz_comp(state, Z_NO_FLUSH) == -1) - return -1; - - /* compress len zeros (len guaranteed > 0) */ - first = 1; - while (len) { - n = GT_OFF(state->size) || (z_off64_t)state->size > len ? - (unsigned)len : state->size; - if (first) { - memset(state->in, 0, n); - first = 0; - } - strm->avail_in = n; - strm->next_in = state->in; - state->x.pos += n; - if (gz_comp(state, Z_NO_FLUSH) == -1) - return -1; - len -= n; - } - return 0; -} - -/* -- see zlib.h -- */ -int ZEXPORT gzwrite(file, buf, len) - gzFile file; - voidpc buf; - unsigned len; -{ - unsigned put = len; - unsigned n; - gz_statep state; - z_streamp strm; - - /* get internal structure */ - if (file == NULL) - return 0; - state = (gz_statep)file; - strm = &(state->strm); - - /* check that we're writing and that there's no error */ - if (state->mode != GZ_WRITE || state->err != Z_OK) - return 0; - - /* since an int is returned, make sure len fits in one, otherwise return - with an error (this avoids the flaw in the interface) */ - if ((int)len < 0) { - gz_error(state, Z_DATA_ERROR, "requested length does not fit in int"); - return 0; - } - - /* if len is zero, avoid unnecessary operations */ - if (len == 0) - return 0; - - /* allocate memory if this is the first time through */ - if (state->size == 0 && gz_init(state) == -1) - return 0; - - /* check for seek request */ - if (state->seek) { - state->seek = 0; - if (gz_zero(state, state->skip) == -1) - return 0; - } - - /* for small len, copy to input buffer, otherwise compress directly */ - if (len < state->size) { - /* copy to input buffer, compress when full */ - do { - if (strm->avail_in == 0) - strm->next_in = state->in; - n = state->size - strm->avail_in; - if (n > len) - n = len; - memcpy(strm->next_in + strm->avail_in, buf, n); - strm->avail_in += n; - state->x.pos += n; - buf = (char *)buf + n; - len -= n; - if (len && gz_comp(state, Z_NO_FLUSH) == -1) - return 0; - } while (len); - } - else { - /* consume whatever's left in the input buffer */ - if (strm->avail_in && gz_comp(state, Z_NO_FLUSH) == -1) - return 0; - - /* directly compress user buffer to file */ - strm->avail_in = len; - strm->next_in = (voidp)buf; - state->x.pos += len; - if (gz_comp(state, Z_NO_FLUSH) == -1) - return 0; - } - - /* input was all buffered or compressed (put will fit in int) */ - return (int)put; -} - -/* -- see zlib.h -- */ -int ZEXPORT gzputc(file, c) - gzFile file; - int c; -{ - unsigned char buf[1]; - gz_statep state; - z_streamp strm; - - /* get internal structure */ - if (file == NULL) - return -1; - state = (gz_statep)file; - strm = &(state->strm); - - /* check that we're writing and that there's no error */ - if (state->mode != GZ_WRITE || state->err != Z_OK) - return -1; - - /* check for seek request */ - if (state->seek) { - state->seek = 0; - if (gz_zero(state, state->skip) == -1) - return -1; - } - - /* try writing to input buffer for speed (state->size == 0 if buffer not - initialized) */ - if (strm->avail_in < state->size) { - if (strm->avail_in == 0) - strm->next_in = state->in; - strm->next_in[strm->avail_in++] = c; - state->x.pos++; - return c & 0xff; - } - - /* no room in buffer or not initialized, use gz_write() */ - buf[0] = c; - if (gzwrite(file, buf, 1) != 1) - return -1; - return c & 0xff; -} - -/* -- see zlib.h -- */ -int ZEXPORT gzputs(file, str) - gzFile file; - const char *str; -{ - int ret; - unsigned len; - - /* write string */ - len = (unsigned)strlen(str); - ret = gzwrite(file, str, len); - return ret == 0 && len != 0 ? -1 : ret; -} - -#if defined(STDC) || defined(Z_HAVE_STDARG_H) -#include - -/* -- see zlib.h -- */ -int ZEXPORTVA gzprintf (gzFile file, const char *format, ...) -{ - int size, len; - gz_statep state; - z_streamp strm; - va_list va; - - /* get internal structure */ - if (file == NULL) - return -1; - state = (gz_statep)file; - strm = &(state->strm); - - /* check that we're writing and that there's no error */ - if (state->mode != GZ_WRITE || state->err != Z_OK) - return 0; - - /* make sure we have some buffer space */ - if (state->size == 0 && gz_init(state) == -1) - return 0; - - /* check for seek request */ - if (state->seek) { - state->seek = 0; - if (gz_zero(state, state->skip) == -1) - return 0; - } - - /* consume whatever's left in the input buffer */ - if (strm->avail_in && gz_comp(state, Z_NO_FLUSH) == -1) - return 0; - - /* do the printf() into the input buffer, put length in len */ - size = (int)(state->size); - state->in[size - 1] = 0; - va_start(va, format); -#ifdef NO_vsnprintf -# ifdef HAS_vsprintf_void - (void)vsprintf(state->in, format, va); - va_end(va); - for (len = 0; len < size; len++) - if (state->in[len] == 0) break; -# else - len = vsprintf(state->in, format, va); - va_end(va); -# endif -#else -# ifdef HAS_vsnprintf_void - (void)vsnprintf(state->in, size, format, va); - va_end(va); - len = strlen(state->in); -# else - len = vsnprintf((char *)(state->in), size, format, va); - va_end(va); -# endif -#endif - - /* check that printf() results fit in buffer */ - if (len <= 0 || len >= (int)size || state->in[size - 1] != 0) - return 0; - - /* update buffer and position, defer compression until needed */ - strm->avail_in = (unsigned)len; - strm->next_in = state->in; - state->x.pos += len; - return len; -} - -#else /* !STDC && !Z_HAVE_STDARG_H */ - -/* -- see zlib.h -- */ -int ZEXPORTVA gzprintf (file, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, - a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) - gzFile file; - const char *format; - int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, - a11, a12, a13, a14, a15, a16, a17, a18, a19, a20; -{ - int size, len; - gz_statep state; - z_streamp strm; - - /* get internal structure */ - if (file == NULL) - return -1; - state = (gz_statep)file; - strm = &(state->strm); - - /* check that can really pass pointer in ints */ - if (sizeof(int) != sizeof(void *)) - return 0; - - /* check that we're writing and that there's no error */ - if (state->mode != GZ_WRITE || state->err != Z_OK) - return 0; - - /* make sure we have some buffer space */ - if (state->size == 0 && gz_init(state) == -1) - return 0; - - /* check for seek request */ - if (state->seek) { - state->seek = 0; - if (gz_zero(state, state->skip) == -1) - return 0; - } - - /* consume whatever's left in the input buffer */ - if (strm->avail_in && gz_comp(state, Z_NO_FLUSH) == -1) - return 0; - - /* do the printf() into the input buffer, put length in len */ - size = (int)(state->size); - state->in[size - 1] = 0; -#ifdef NO_snprintf -# ifdef HAS_sprintf_void - sprintf(state->in, format, a1, a2, a3, a4, a5, a6, a7, a8, - a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20); - for (len = 0; len < size; len++) - if (state->in[len] == 0) break; -# else - len = sprintf(state->in, format, a1, a2, a3, a4, a5, a6, a7, a8, - a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20); -# endif -#else -# ifdef HAS_snprintf_void - snprintf(state->in, size, format, a1, a2, a3, a4, a5, a6, a7, a8, - a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20); - len = strlen(state->in); -# else - len = snprintf(state->in, size, format, a1, a2, a3, a4, a5, a6, a7, a8, - a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20); -# endif -#endif - - /* check that printf() results fit in buffer */ - if (len <= 0 || len >= (int)size || state->in[size - 1] != 0) - return 0; - - /* update buffer and position, defer compression until needed */ - strm->avail_in = (unsigned)len; - strm->next_in = state->in; - state->x.pos += len; - return len; -} - -#endif - -/* -- see zlib.h -- */ -int ZEXPORT gzflush(file, flush) - gzFile file; - int flush; -{ - gz_statep state; - - /* get internal structure */ - if (file == NULL) - return -1; - state = (gz_statep)file; - - /* check that we're writing and that there's no error */ - if (state->mode != GZ_WRITE || state->err != Z_OK) - return Z_STREAM_ERROR; - - /* check flush parameter */ - if (flush < 0 || flush > Z_FINISH) - return Z_STREAM_ERROR; - - /* check for seek request */ - if (state->seek) { - state->seek = 0; - if (gz_zero(state, state->skip) == -1) - return -1; - } - - /* compress remaining data with requested flush */ - gz_comp(state, flush); - return state->err; -} - -/* -- see zlib.h -- */ -int ZEXPORT gzsetparams(file, level, strategy) - gzFile file; - int level; - int strategy; -{ - gz_statep state; - z_streamp strm; - - /* get internal structure */ - if (file == NULL) - return Z_STREAM_ERROR; - state = (gz_statep)file; - strm = &(state->strm); - - /* check that we're writing and that there's no error */ - if (state->mode != GZ_WRITE || state->err != Z_OK) - return Z_STREAM_ERROR; - - /* if no change is requested, then do nothing */ - if (level == state->level && strategy == state->strategy) - return Z_OK; - - /* check for seek request */ - if (state->seek) { - state->seek = 0; - if (gz_zero(state, state->skip) == -1) - return -1; - } - - /* change compression parameters for subsequent input */ - if (state->size) { - /* flush previous input with previous parameters before changing */ - if (strm->avail_in && gz_comp(state, Z_PARTIAL_FLUSH) == -1) - return state->err; - deflateParams(strm, level, strategy); - } - state->level = level; - state->strategy = strategy; - return Z_OK; -} - -/* -- see zlib.h -- */ -int ZEXPORT gzclose_w(file) - gzFile file; -{ - int ret = Z_OK; - gz_statep state; - - /* get internal structure */ - if (file == NULL) - return Z_STREAM_ERROR; - state = (gz_statep)file; - - /* check that we're writing */ - if (state->mode != GZ_WRITE) - return Z_STREAM_ERROR; - - /* check for seek request */ - if (state->seek) { - state->seek = 0; - if (gz_zero(state, state->skip) == -1) - ret = state->err; - } - - /* flush, free memory, and close file */ - if (gz_comp(state, Z_FINISH) == -1) - ret = state->err; - if (!state->direct) { - (void)deflateEnd(&(state->strm)); - free(state->out); - } - free(state->in); - gz_error(state, Z_OK, NULL); - free(state->path); - if (close(state->fd) == -1) - ret = Z_ERRNO; - free(state); - return ret; -} - -/* used by zlibVersion() to get the vsnprintf story from the horse's mouth */ -unsigned long ZEXPORT gzflags() -{ - unsigned long flags = 0; -#if defined(STDC) || defined(Z_HAVE_STDARG_H) -# ifdef NO_vsnprintf - flags += 1L << 25; -# ifdef HAS_vsprintf_void - flags += 1L << 26; -# endif -# else -# ifdef HAS_vsnprintf_void - flags += 1L << 26; -# endif -# endif -#else - flags += 1L << 24; -# ifdef NO_snprintf - flags += 1L << 25; -# ifdef HAS_sprintf_void - flags += 1L << 26; -# endif -# else -# ifdef HAS_snprintf_void - flags += 1L << 26; -# endif -# endif -#endif - return flags; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/infback.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/infback.c deleted file mode 100644 index 981aff17..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/infback.c +++ /dev/null @@ -1,640 +0,0 @@ -/* infback.c -- inflate using a call-back interface - * Copyright (C) 1995-2011 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* - This code is largely copied from inflate.c. Normally either infback.o or - inflate.o would be linked into an application--not both. The interface - with inffast.c is retained so that optimized assembler-coded versions of - inflate_fast() can be used with either inflate.c or infback.c. - */ - -#include "zutil.h" -#include "inftrees.h" -#include "inflate.h" -#include "inffast.h" - -/* function prototypes */ -local void fixedtables OF((struct inflate_state FAR *state)); - -/* - strm provides memory allocation functions in zalloc and zfree, or - Z_NULL to use the library memory allocation functions. - - windowBits is in the range 8..15, and window is a user-supplied - window and output buffer that is 2**windowBits bytes. - */ -int ZEXPORT inflateBackInit_(strm, windowBits, window, version, stream_size) -z_streamp strm; -int windowBits; -unsigned char FAR *window; -const char *version; -int stream_size; -{ - struct inflate_state FAR *state; - - if (version == Z_NULL || version[0] != ZLIB_VERSION[0] || - stream_size != (int)(sizeof(z_stream))) - return Z_VERSION_ERROR; - if (strm == Z_NULL || window == Z_NULL || - windowBits < 8 || windowBits > 15) - return Z_STREAM_ERROR; - strm->msg = Z_NULL; /* in case we return an error */ - if (strm->zalloc == (alloc_func)0) { -#ifdef Z_SOLO - return Z_STREAM_ERROR; -#else - strm->zalloc = zcalloc; - strm->opaque = (voidpf)0; -#endif - } - if (strm->zfree == (free_func)0) -#ifdef Z_SOLO - return Z_STREAM_ERROR; -#else - strm->zfree = zcfree; -#endif - state = (struct inflate_state FAR *)ZALLOC(strm, 1, - sizeof(struct inflate_state)); - if (state == Z_NULL) return Z_MEM_ERROR; - Tracev((stderr, "inflate: allocated\n")); - strm->state = (struct internal_state FAR *)state; - state->dmax = 32768U; - state->wbits = windowBits; - state->wsize = 1U << windowBits; - state->window = window; - state->wnext = 0; - state->whave = 0; - return Z_OK; -} - -/* - Return state with length and distance decoding tables and index sizes set to - fixed code decoding. Normally this returns fixed tables from inffixed.h. - If BUILDFIXED is defined, then instead this routine builds the tables the - first time it's called, and returns those tables the first time and - thereafter. This reduces the size of the code by about 2K bytes, in - exchange for a little execution time. However, BUILDFIXED should not be - used for threaded applications, since the rewriting of the tables and virgin - may not be thread-safe. - */ -local void fixedtables(state) -struct inflate_state FAR *state; -{ -#ifdef BUILDFIXED - static int virgin = 1; - static code *lenfix, *distfix; - static code fixed[544]; - - /* build fixed huffman tables if first call (may not be thread safe) */ - if (virgin) { - unsigned sym, bits; - static code *next; - - /* literal/length table */ - sym = 0; - while (sym < 144) state->lens[sym++] = 8; - while (sym < 256) state->lens[sym++] = 9; - while (sym < 280) state->lens[sym++] = 7; - while (sym < 288) state->lens[sym++] = 8; - next = fixed; - lenfix = next; - bits = 9; - inflate_table(LENS, state->lens, 288, &(next), &(bits), state->work); - - /* distance table */ - sym = 0; - while (sym < 32) state->lens[sym++] = 5; - distfix = next; - bits = 5; - inflate_table(DISTS, state->lens, 32, &(next), &(bits), state->work); - - /* do this just once */ - virgin = 0; - } -#else /* !BUILDFIXED */ -# include "inffixed.h" -#endif /* BUILDFIXED */ - state->lencode = lenfix; - state->lenbits = 9; - state->distcode = distfix; - state->distbits = 5; -} - -/* Macros for inflateBack(): */ - -/* Load returned state from inflate_fast() */ -#define LOAD() \ - do { \ - put = strm->next_out; \ - left = strm->avail_out; \ - next = strm->next_in; \ - have = strm->avail_in; \ - hold = state->hold; \ - bits = state->bits; \ - } while (0) - -/* Set state from registers for inflate_fast() */ -#define RESTORE() \ - do { \ - strm->next_out = put; \ - strm->avail_out = left; \ - strm->next_in = next; \ - strm->avail_in = have; \ - state->hold = hold; \ - state->bits = bits; \ - } while (0) - -/* Clear the input bit accumulator */ -#define INITBITS() \ - do { \ - hold = 0; \ - bits = 0; \ - } while (0) - -/* Assure that some input is available. If input is requested, but denied, - then return a Z_BUF_ERROR from inflateBack(). */ -#define PULL() \ - do { \ - if (have == 0) { \ - have = in(in_desc, &next); \ - if (have == 0) { \ - next = Z_NULL; \ - ret = Z_BUF_ERROR; \ - goto inf_leave; \ - } \ - } \ - } while (0) - -/* Get a byte of input into the bit accumulator, or return from inflateBack() - with an error if there is no input available. */ -#define PULLBYTE() \ - do { \ - PULL(); \ - have--; \ - hold += (unsigned long)(*next++) << bits; \ - bits += 8; \ - } while (0) - -/* Assure that there are at least n bits in the bit accumulator. If there is - not enough available input to do that, then return from inflateBack() with - an error. */ -#define NEEDBITS(n) \ - do { \ - while (bits < (unsigned)(n)) \ - PULLBYTE(); \ - } while (0) - -/* Return the low n bits of the bit accumulator (n < 16) */ -#define BITS(n) \ - ((unsigned)hold & ((1U << (n)) - 1)) - -/* Remove n bits from the bit accumulator */ -#define DROPBITS(n) \ - do { \ - hold >>= (n); \ - bits -= (unsigned)(n); \ - } while (0) - -/* Remove zero to seven bits as needed to go to a byte boundary */ -#define BYTEBITS() \ - do { \ - hold >>= bits & 7; \ - bits -= bits & 7; \ - } while (0) - -/* Assure that some output space is available, by writing out the window - if it's full. If the write fails, return from inflateBack() with a - Z_BUF_ERROR. */ -#define ROOM() \ - do { \ - if (left == 0) { \ - put = state->window; \ - left = state->wsize; \ - state->whave = left; \ - if (out(out_desc, put, left)) { \ - ret = Z_BUF_ERROR; \ - goto inf_leave; \ - } \ - } \ - } while (0) - -/* - strm provides the memory allocation functions and window buffer on input, - and provides information on the unused input on return. For Z_DATA_ERROR - returns, strm will also provide an error message. - - in() and out() are the call-back input and output functions. When - inflateBack() needs more input, it calls in(). When inflateBack() has - filled the window with output, or when it completes with data in the - window, it calls out() to write out the data. The application must not - change the provided input until in() is called again or inflateBack() - returns. The application must not change the window/output buffer until - inflateBack() returns. - - in() and out() are called with a descriptor parameter provided in the - inflateBack() call. This parameter can be a structure that provides the - information required to do the read or write, as well as accumulated - information on the input and output such as totals and check values. - - in() should return zero on failure. out() should return non-zero on - failure. If either in() or out() fails, than inflateBack() returns a - Z_BUF_ERROR. strm->next_in can be checked for Z_NULL to see whether it - was in() or out() that caused in the error. Otherwise, inflateBack() - returns Z_STREAM_END on success, Z_DATA_ERROR for an deflate format - error, or Z_MEM_ERROR if it could not allocate memory for the state. - inflateBack() can also return Z_STREAM_ERROR if the input parameters - are not correct, i.e. strm is Z_NULL or the state was not initialized. - */ -int ZEXPORT inflateBack(strm, in, in_desc, out, out_desc) -z_streamp strm; -in_func in; -void FAR *in_desc; -out_func out; -void FAR *out_desc; -{ - struct inflate_state FAR *state; - unsigned char FAR *next; /* next input */ - unsigned char FAR *put; /* next output */ - unsigned have, left; /* available input and output */ - unsigned long hold; /* bit buffer */ - unsigned bits; /* bits in bit buffer */ - unsigned copy; /* number of stored or match bytes to copy */ - unsigned char FAR *from; /* where to copy match bytes from */ - code here; /* current decoding table entry */ - code last; /* parent table entry */ - unsigned len; /* length to copy for repeats, bits to drop */ - int ret; /* return code */ - static const unsigned short order[19] = /* permutation of code lengths */ - {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15}; - - /* Check that the strm exists and that the state was initialized */ - if (strm == Z_NULL || strm->state == Z_NULL) - return Z_STREAM_ERROR; - state = (struct inflate_state FAR *)strm->state; - - /* Reset the state */ - strm->msg = Z_NULL; - state->mode = TYPE; - state->last = 0; - state->whave = 0; - next = strm->next_in; - have = next != Z_NULL ? strm->avail_in : 0; - hold = 0; - bits = 0; - put = state->window; - left = state->wsize; - - /* Inflate until end of block marked as last */ - for (;;) - switch (state->mode) { - case TYPE: - /* determine and dispatch block type */ - if (state->last) { - BYTEBITS(); - state->mode = DONE; - break; - } - NEEDBITS(3); - state->last = BITS(1); - DROPBITS(1); - switch (BITS(2)) { - case 0: /* stored block */ - Tracev((stderr, "inflate: stored block%s\n", - state->last ? " (last)" : "")); - state->mode = STORED; - break; - case 1: /* fixed block */ - fixedtables(state); - Tracev((stderr, "inflate: fixed codes block%s\n", - state->last ? " (last)" : "")); - state->mode = LEN; /* decode codes */ - break; - case 2: /* dynamic block */ - Tracev((stderr, "inflate: dynamic codes block%s\n", - state->last ? " (last)" : "")); - state->mode = TABLE; - break; - case 3: - strm->msg = (char *)"invalid block type"; - state->mode = BAD; - } - DROPBITS(2); - break; - - case STORED: - /* get and verify stored block length */ - BYTEBITS(); /* go to byte boundary */ - NEEDBITS(32); - if ((hold & 0xffff) != ((hold >> 16) ^ 0xffff)) { - strm->msg = (char *)"invalid stored block lengths"; - state->mode = BAD; - break; - } - state->length = (unsigned)hold & 0xffff; - Tracev((stderr, "inflate: stored length %u\n", - state->length)); - INITBITS(); - - /* copy stored block from input to output */ - while (state->length != 0) { - copy = state->length; - PULL(); - ROOM(); - if (copy > have) copy = have; - if (copy > left) copy = left; - zmemcpy(put, next, copy); - have -= copy; - next += copy; - left -= copy; - put += copy; - state->length -= copy; - } - Tracev((stderr, "inflate: stored end\n")); - state->mode = TYPE; - break; - - case TABLE: - /* get dynamic table entries descriptor */ - NEEDBITS(14); - state->nlen = BITS(5) + 257; - DROPBITS(5); - state->ndist = BITS(5) + 1; - DROPBITS(5); - state->ncode = BITS(4) + 4; - DROPBITS(4); -#ifndef PKZIP_BUG_WORKAROUND - if (state->nlen > 286 || state->ndist > 30) { - strm->msg = (char *)"too many length or distance symbols"; - state->mode = BAD; - break; - } -#endif - Tracev((stderr, "inflate: table sizes ok\n")); - - /* get code length code lengths (not a typo) */ - state->have = 0; - while (state->have < state->ncode) { - NEEDBITS(3); - state->lens[order[state->have++]] = (unsigned short)BITS(3); - DROPBITS(3); - } - while (state->have < 19) - state->lens[order[state->have++]] = 0; - state->next = state->codes; - state->lencode = (code const FAR *)(state->next); - state->lenbits = 7; - ret = inflate_table(CODES, state->lens, 19, &(state->next), - &(state->lenbits), state->work); - if (ret) { - strm->msg = (char *)"invalid code lengths set"; - state->mode = BAD; - break; - } - Tracev((stderr, "inflate: code lengths ok\n")); - - /* get length and distance code code lengths */ - state->have = 0; - while (state->have < state->nlen + state->ndist) { - for (;;) { - here = state->lencode[BITS(state->lenbits)]; - if ((unsigned)(here.bits) <= bits) break; - PULLBYTE(); - } - if (here.val < 16) { - DROPBITS(here.bits); - state->lens[state->have++] = here.val; - } - else { - if (here.val == 16) { - NEEDBITS(here.bits + 2); - DROPBITS(here.bits); - if (state->have == 0) { - strm->msg = (char *)"invalid bit length repeat"; - state->mode = BAD; - break; - } - len = (unsigned)(state->lens[state->have - 1]); - copy = 3 + BITS(2); - DROPBITS(2); - } - else if (here.val == 17) { - NEEDBITS(here.bits + 3); - DROPBITS(here.bits); - len = 0; - copy = 3 + BITS(3); - DROPBITS(3); - } - else { - NEEDBITS(here.bits + 7); - DROPBITS(here.bits); - len = 0; - copy = 11 + BITS(7); - DROPBITS(7); - } - if (state->have + copy > state->nlen + state->ndist) { - strm->msg = (char *)"invalid bit length repeat"; - state->mode = BAD; - break; - } - while (copy--) - state->lens[state->have++] = (unsigned short)len; - } - } - - /* handle error breaks in while */ - if (state->mode == BAD) break; - - /* check for end-of-block code (better have one) */ - if (state->lens[256] == 0) { - strm->msg = (char *)"invalid code -- missing end-of-block"; - state->mode = BAD; - break; - } - - /* build code tables -- note: do not change the lenbits or distbits - values here (9 and 6) without reading the comments in inftrees.h - concerning the ENOUGH constants, which depend on those values */ - state->next = state->codes; - state->lencode = (code const FAR *)(state->next); - state->lenbits = 9; - ret = inflate_table(LENS, state->lens, state->nlen, &(state->next), - &(state->lenbits), state->work); - if (ret) { - strm->msg = (char *)"invalid literal/lengths set"; - state->mode = BAD; - break; - } - state->distcode = (code const FAR *)(state->next); - state->distbits = 6; - ret = inflate_table(DISTS, state->lens + state->nlen, state->ndist, - &(state->next), &(state->distbits), state->work); - if (ret) { - strm->msg = (char *)"invalid distances set"; - state->mode = BAD; - break; - } - Tracev((stderr, "inflate: codes ok\n")); - state->mode = LEN; - - case LEN: - /* use inflate_fast() if we have enough input and output */ - if (have >= 6 && left >= 258) { - RESTORE(); - if (state->whave < state->wsize) - state->whave = state->wsize - left; - inflate_fast(strm, state->wsize); - LOAD(); - break; - } - - /* get a literal, length, or end-of-block code */ - for (;;) { - here = state->lencode[BITS(state->lenbits)]; - if ((unsigned)(here.bits) <= bits) break; - PULLBYTE(); - } - if (here.op && (here.op & 0xf0) == 0) { - last = here; - for (;;) { - here = state->lencode[last.val + - (BITS(last.bits + last.op) >> last.bits)]; - if ((unsigned)(last.bits + here.bits) <= bits) break; - PULLBYTE(); - } - DROPBITS(last.bits); - } - DROPBITS(here.bits); - state->length = (unsigned)here.val; - - /* process literal */ - if (here.op == 0) { - Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ? - "inflate: literal '%c'\n" : - "inflate: literal 0x%02x\n", here.val)); - ROOM(); - *put++ = (unsigned char)(state->length); - left--; - state->mode = LEN; - break; - } - - /* process end of block */ - if (here.op & 32) { - Tracevv((stderr, "inflate: end of block\n")); - state->mode = TYPE; - break; - } - - /* invalid code */ - if (here.op & 64) { - strm->msg = (char *)"invalid literal/length code"; - state->mode = BAD; - break; - } - - /* length code -- get extra bits, if any */ - state->extra = (unsigned)(here.op) & 15; - if (state->extra != 0) { - NEEDBITS(state->extra); - state->length += BITS(state->extra); - DROPBITS(state->extra); - } - Tracevv((stderr, "inflate: length %u\n", state->length)); - - /* get distance code */ - for (;;) { - here = state->distcode[BITS(state->distbits)]; - if ((unsigned)(here.bits) <= bits) break; - PULLBYTE(); - } - if ((here.op & 0xf0) == 0) { - last = here; - for (;;) { - here = state->distcode[last.val + - (BITS(last.bits + last.op) >> last.bits)]; - if ((unsigned)(last.bits + here.bits) <= bits) break; - PULLBYTE(); - } - DROPBITS(last.bits); - } - DROPBITS(here.bits); - if (here.op & 64) { - strm->msg = (char *)"invalid distance code"; - state->mode = BAD; - break; - } - state->offset = (unsigned)here.val; - - /* get distance extra bits, if any */ - state->extra = (unsigned)(here.op) & 15; - if (state->extra != 0) { - NEEDBITS(state->extra); - state->offset += BITS(state->extra); - DROPBITS(state->extra); - } - if (state->offset > state->wsize - (state->whave < state->wsize ? - left : 0)) { - strm->msg = (char *)"invalid distance too far back"; - state->mode = BAD; - break; - } - Tracevv((stderr, "inflate: distance %u\n", state->offset)); - - /* copy match from window to output */ - do { - ROOM(); - copy = state->wsize - state->offset; - if (copy < left) { - from = put + copy; - copy = left - copy; - } - else { - from = put - state->offset; - copy = left; - } - if (copy > state->length) copy = state->length; - state->length -= copy; - left -= copy; - do { - *put++ = *from++; - } while (--copy); - } while (state->length != 0); - break; - - case DONE: - /* inflate stream terminated properly -- write leftover output */ - ret = Z_STREAM_END; - if (left < state->wsize) { - if (out(out_desc, state->window, state->wsize - left)) - ret = Z_BUF_ERROR; - } - goto inf_leave; - - case BAD: - ret = Z_DATA_ERROR; - goto inf_leave; - - default: /* can't happen, but makes compilers happy */ - ret = Z_STREAM_ERROR; - goto inf_leave; - } - - /* Return unused input */ - inf_leave: - strm->next_in = next; - strm->avail_in = have; - return ret; -} - -int ZEXPORT inflateBackEnd(strm) -z_streamp strm; -{ - if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0) - return Z_STREAM_ERROR; - ZFREE(strm, strm->state); - strm->state = Z_NULL; - Tracev((stderr, "inflate: end\n")); - return Z_OK; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/inffast.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/inffast.c deleted file mode 100644 index 2f1d60b4..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/inffast.c +++ /dev/null @@ -1,340 +0,0 @@ -/* inffast.c -- fast decoding - * Copyright (C) 1995-2008, 2010 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -#include "zutil.h" -#include "inftrees.h" -#include "inflate.h" -#include "inffast.h" - -#ifndef ASMINF - -/* Allow machine dependent optimization for post-increment or pre-increment. - Based on testing to date, - Pre-increment preferred for: - - PowerPC G3 (Adler) - - MIPS R5000 (Randers-Pehrson) - Post-increment preferred for: - - none - No measurable difference: - - Pentium III (Anderson) - - M68060 (Nikl) - */ -#ifdef POSTINC -# define OFF 0 -# define PUP(a) *(a)++ -#else -# define OFF 1 -# define PUP(a) *++(a) -#endif - -/* - Decode literal, length, and distance codes and write out the resulting - literal and match bytes until either not enough input or output is - available, an end-of-block is encountered, or a data error is encountered. - When large enough input and output buffers are supplied to inflate(), for - example, a 16K input buffer and a 64K output buffer, more than 95% of the - inflate execution time is spent in this routine. - - Entry assumptions: - - state->mode == LEN - strm->avail_in >= 6 - strm->avail_out >= 258 - start >= strm->avail_out - state->bits < 8 - - On return, state->mode is one of: - - LEN -- ran out of enough output space or enough available input - TYPE -- reached end of block code, inflate() to interpret next block - BAD -- error in block data - - Notes: - - - The maximum input bits used by a length/distance pair is 15 bits for the - length code, 5 bits for the length extra, 15 bits for the distance code, - and 13 bits for the distance extra. This totals 48 bits, or six bytes. - Therefore if strm->avail_in >= 6, then there is enough input to avoid - checking for available input while decoding. - - - The maximum bytes that a single length/distance pair can output is 258 - bytes, which is the maximum length that can be coded. inflate_fast() - requires strm->avail_out >= 258 for each loop to avoid checking for - output space. - */ -void ZLIB_INTERNAL inflate_fast(strm, start) -z_streamp strm; -unsigned start; /* inflate()'s starting value for strm->avail_out */ -{ - struct inflate_state FAR *state; - unsigned char FAR *in; /* local strm->next_in */ - unsigned char FAR *last; /* while in < last, enough input available */ - unsigned char FAR *out; /* local strm->next_out */ - unsigned char FAR *beg; /* inflate()'s initial strm->next_out */ - unsigned char FAR *end; /* while out < end, enough space available */ -#ifdef INFLATE_STRICT - unsigned dmax; /* maximum distance from zlib header */ -#endif - unsigned wsize; /* window size or zero if not using window */ - unsigned whave; /* valid bytes in the window */ - unsigned wnext; /* window write index */ - unsigned char FAR *window; /* allocated sliding window, if wsize != 0 */ - unsigned long hold; /* local strm->hold */ - unsigned bits; /* local strm->bits */ - code const FAR *lcode; /* local strm->lencode */ - code const FAR *dcode; /* local strm->distcode */ - unsigned lmask; /* mask for first level of length codes */ - unsigned dmask; /* mask for first level of distance codes */ - code here; /* retrieved table entry */ - unsigned op; /* code bits, operation, extra bits, or */ - /* window position, window bytes to copy */ - unsigned len; /* match length, unused bytes */ - unsigned dist; /* match distance */ - unsigned char FAR *from; /* where to copy match from */ - - /* copy state to local variables */ - state = (struct inflate_state FAR *)strm->state; - in = strm->next_in - OFF; - last = in + (strm->avail_in - 5); - out = strm->next_out - OFF; - beg = out - (start - strm->avail_out); - end = out + (strm->avail_out - 257); -#ifdef INFLATE_STRICT - dmax = state->dmax; -#endif - wsize = state->wsize; - whave = state->whave; - wnext = state->wnext; - window = state->window; - hold = state->hold; - bits = state->bits; - lcode = state->lencode; - dcode = state->distcode; - lmask = (1U << state->lenbits) - 1; - dmask = (1U << state->distbits) - 1; - - /* decode literals and length/distances until end-of-block or not enough - input data or output space */ - do { - if (bits < 15) { - hold += (unsigned long)(PUP(in)) << bits; - bits += 8; - hold += (unsigned long)(PUP(in)) << bits; - bits += 8; - } - here = lcode[hold & lmask]; - dolen: - op = (unsigned)(here.bits); - hold >>= op; - bits -= op; - op = (unsigned)(here.op); - if (op == 0) { /* literal */ - Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ? - "inflate: literal '%c'\n" : - "inflate: literal 0x%02x\n", here.val)); - PUP(out) = (unsigned char)(here.val); - } - else if (op & 16) { /* length base */ - len = (unsigned)(here.val); - op &= 15; /* number of extra bits */ - if (op) { - if (bits < op) { - hold += (unsigned long)(PUP(in)) << bits; - bits += 8; - } - len += (unsigned)hold & ((1U << op) - 1); - hold >>= op; - bits -= op; - } - Tracevv((stderr, "inflate: length %u\n", len)); - if (bits < 15) { - hold += (unsigned long)(PUP(in)) << bits; - bits += 8; - hold += (unsigned long)(PUP(in)) << bits; - bits += 8; - } - here = dcode[hold & dmask]; - dodist: - op = (unsigned)(here.bits); - hold >>= op; - bits -= op; - op = (unsigned)(here.op); - if (op & 16) { /* distance base */ - dist = (unsigned)(here.val); - op &= 15; /* number of extra bits */ - if (bits < op) { - hold += (unsigned long)(PUP(in)) << bits; - bits += 8; - if (bits < op) { - hold += (unsigned long)(PUP(in)) << bits; - bits += 8; - } - } - dist += (unsigned)hold & ((1U << op) - 1); -#ifdef INFLATE_STRICT - if (dist > dmax) { - strm->msg = (char *)"invalid distance too far back"; - state->mode = BAD; - break; - } -#endif - hold >>= op; - bits -= op; - Tracevv((stderr, "inflate: distance %u\n", dist)); - op = (unsigned)(out - beg); /* max distance in output */ - if (dist > op) { /* see if copy from window */ - op = dist - op; /* distance back in window */ - if (op > whave) { - if (state->sane) { - strm->msg = - (char *)"invalid distance too far back"; - state->mode = BAD; - break; - } -#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR - if (len <= op - whave) { - do { - PUP(out) = 0; - } while (--len); - continue; - } - len -= op - whave; - do { - PUP(out) = 0; - } while (--op > whave); - if (op == 0) { - from = out - dist; - do { - PUP(out) = PUP(from); - } while (--len); - continue; - } -#endif - } - from = window - OFF; - if (wnext == 0) { /* very common case */ - from += wsize - op; - if (op < len) { /* some from window */ - len -= op; - do { - PUP(out) = PUP(from); - } while (--op); - from = out - dist; /* rest from output */ - } - } - else if (wnext < op) { /* wrap around window */ - from += wsize + wnext - op; - op -= wnext; - if (op < len) { /* some from end of window */ - len -= op; - do { - PUP(out) = PUP(from); - } while (--op); - from = window - OFF; - if (wnext < len) { /* some from start of window */ - op = wnext; - len -= op; - do { - PUP(out) = PUP(from); - } while (--op); - from = out - dist; /* rest from output */ - } - } - } - else { /* contiguous in window */ - from += wnext - op; - if (op < len) { /* some from window */ - len -= op; - do { - PUP(out) = PUP(from); - } while (--op); - from = out - dist; /* rest from output */ - } - } - while (len > 2) { - PUP(out) = PUP(from); - PUP(out) = PUP(from); - PUP(out) = PUP(from); - len -= 3; - } - if (len) { - PUP(out) = PUP(from); - if (len > 1) - PUP(out) = PUP(from); - } - } - else { - from = out - dist; /* copy direct from output */ - do { /* minimum length is three */ - PUP(out) = PUP(from); - PUP(out) = PUP(from); - PUP(out) = PUP(from); - len -= 3; - } while (len > 2); - if (len) { - PUP(out) = PUP(from); - if (len > 1) - PUP(out) = PUP(from); - } - } - } - else if ((op & 64) == 0) { /* 2nd level distance code */ - here = dcode[here.val + (hold & ((1U << op) - 1))]; - goto dodist; - } - else { - strm->msg = (char *)"invalid distance code"; - state->mode = BAD; - break; - } - } - else if ((op & 64) == 0) { /* 2nd level length code */ - here = lcode[here.val + (hold & ((1U << op) - 1))]; - goto dolen; - } - else if (op & 32) { /* end-of-block */ - Tracevv((stderr, "inflate: end of block\n")); - state->mode = TYPE; - break; - } - else { - strm->msg = (char *)"invalid literal/length code"; - state->mode = BAD; - break; - } - } while (in < last && out < end); - - /* return unused bytes (on entry, bits < 8, so in won't go too far back) */ - len = bits >> 3; - in -= len; - bits -= len << 3; - hold &= (1U << bits) - 1; - - /* update state and return */ - strm->next_in = in + OFF; - strm->next_out = out + OFF; - strm->avail_in = (unsigned)(in < last ? 5 + (last - in) : 5 - (in - last)); - strm->avail_out = (unsigned)(out < end ? - 257 + (end - out) : 257 - (out - end)); - state->hold = hold; - state->bits = bits; - return; -} - -/* - inflate_fast() speedups that turned out slower (on a PowerPC G3 750CXe): - - Using bit fields for code structure - - Different op definition to avoid & for extra bits (do & for table bits) - - Three separate decoding do-loops for direct, window, and wnext == 0 - - Special case for distance > 1 copies to do overlapped load and store copy - - Explicit branch predictions (based on measured branch probabilities) - - Deferring match copy and interspersed it with decoding subsequent codes - - Swapping literal/length else - - Swapping window/direct else - - Larger unrolled copy loops (three is about right) - - Moving len -= 3 statement into middle of loop - */ - -#endif /* !ASMINF */ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/inffast.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/inffast.h deleted file mode 100644 index e5c1aa4c..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/inffast.h +++ /dev/null @@ -1,11 +0,0 @@ -/* inffast.h -- header to use inffast.c - * Copyright (C) 1995-2003, 2010 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* WARNING: this file should *not* be used by applications. It is - part of the implementation of the compression library and is - subject to change. Applications should only use zlib.h. - */ - -void ZLIB_INTERNAL inflate_fast OF((z_streamp strm, unsigned start)); diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/inffixed.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/inffixed.h deleted file mode 100644 index d6283277..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/inffixed.h +++ /dev/null @@ -1,94 +0,0 @@ - /* inffixed.h -- table for decoding fixed codes - * Generated automatically by makefixed(). - */ - - /* WARNING: this file should *not* be used by applications. - It is part of the implementation of this library and is - subject to change. Applications should only use zlib.h. - */ - - static const code lenfix[512] = { - {96,7,0},{0,8,80},{0,8,16},{20,8,115},{18,7,31},{0,8,112},{0,8,48}, - {0,9,192},{16,7,10},{0,8,96},{0,8,32},{0,9,160},{0,8,0},{0,8,128}, - {0,8,64},{0,9,224},{16,7,6},{0,8,88},{0,8,24},{0,9,144},{19,7,59}, - {0,8,120},{0,8,56},{0,9,208},{17,7,17},{0,8,104},{0,8,40},{0,9,176}, - {0,8,8},{0,8,136},{0,8,72},{0,9,240},{16,7,4},{0,8,84},{0,8,20}, - {21,8,227},{19,7,43},{0,8,116},{0,8,52},{0,9,200},{17,7,13},{0,8,100}, - {0,8,36},{0,9,168},{0,8,4},{0,8,132},{0,8,68},{0,9,232},{16,7,8}, - {0,8,92},{0,8,28},{0,9,152},{20,7,83},{0,8,124},{0,8,60},{0,9,216}, - {18,7,23},{0,8,108},{0,8,44},{0,9,184},{0,8,12},{0,8,140},{0,8,76}, - {0,9,248},{16,7,3},{0,8,82},{0,8,18},{21,8,163},{19,7,35},{0,8,114}, - {0,8,50},{0,9,196},{17,7,11},{0,8,98},{0,8,34},{0,9,164},{0,8,2}, - {0,8,130},{0,8,66},{0,9,228},{16,7,7},{0,8,90},{0,8,26},{0,9,148}, - {20,7,67},{0,8,122},{0,8,58},{0,9,212},{18,7,19},{0,8,106},{0,8,42}, - {0,9,180},{0,8,10},{0,8,138},{0,8,74},{0,9,244},{16,7,5},{0,8,86}, - {0,8,22},{64,8,0},{19,7,51},{0,8,118},{0,8,54},{0,9,204},{17,7,15}, - {0,8,102},{0,8,38},{0,9,172},{0,8,6},{0,8,134},{0,8,70},{0,9,236}, - {16,7,9},{0,8,94},{0,8,30},{0,9,156},{20,7,99},{0,8,126},{0,8,62}, - {0,9,220},{18,7,27},{0,8,110},{0,8,46},{0,9,188},{0,8,14},{0,8,142}, - {0,8,78},{0,9,252},{96,7,0},{0,8,81},{0,8,17},{21,8,131},{18,7,31}, - {0,8,113},{0,8,49},{0,9,194},{16,7,10},{0,8,97},{0,8,33},{0,9,162}, - {0,8,1},{0,8,129},{0,8,65},{0,9,226},{16,7,6},{0,8,89},{0,8,25}, - {0,9,146},{19,7,59},{0,8,121},{0,8,57},{0,9,210},{17,7,17},{0,8,105}, - {0,8,41},{0,9,178},{0,8,9},{0,8,137},{0,8,73},{0,9,242},{16,7,4}, - {0,8,85},{0,8,21},{16,8,258},{19,7,43},{0,8,117},{0,8,53},{0,9,202}, - {17,7,13},{0,8,101},{0,8,37},{0,9,170},{0,8,5},{0,8,133},{0,8,69}, - {0,9,234},{16,7,8},{0,8,93},{0,8,29},{0,9,154},{20,7,83},{0,8,125}, - {0,8,61},{0,9,218},{18,7,23},{0,8,109},{0,8,45},{0,9,186},{0,8,13}, - {0,8,141},{0,8,77},{0,9,250},{16,7,3},{0,8,83},{0,8,19},{21,8,195}, - {19,7,35},{0,8,115},{0,8,51},{0,9,198},{17,7,11},{0,8,99},{0,8,35}, - {0,9,166},{0,8,3},{0,8,131},{0,8,67},{0,9,230},{16,7,7},{0,8,91}, - {0,8,27},{0,9,150},{20,7,67},{0,8,123},{0,8,59},{0,9,214},{18,7,19}, - {0,8,107},{0,8,43},{0,9,182},{0,8,11},{0,8,139},{0,8,75},{0,9,246}, - {16,7,5},{0,8,87},{0,8,23},{64,8,0},{19,7,51},{0,8,119},{0,8,55}, - {0,9,206},{17,7,15},{0,8,103},{0,8,39},{0,9,174},{0,8,7},{0,8,135}, - {0,8,71},{0,9,238},{16,7,9},{0,8,95},{0,8,31},{0,9,158},{20,7,99}, - {0,8,127},{0,8,63},{0,9,222},{18,7,27},{0,8,111},{0,8,47},{0,9,190}, - {0,8,15},{0,8,143},{0,8,79},{0,9,254},{96,7,0},{0,8,80},{0,8,16}, - {20,8,115},{18,7,31},{0,8,112},{0,8,48},{0,9,193},{16,7,10},{0,8,96}, - {0,8,32},{0,9,161},{0,8,0},{0,8,128},{0,8,64},{0,9,225},{16,7,6}, - {0,8,88},{0,8,24},{0,9,145},{19,7,59},{0,8,120},{0,8,56},{0,9,209}, - {17,7,17},{0,8,104},{0,8,40},{0,9,177},{0,8,8},{0,8,136},{0,8,72}, - {0,9,241},{16,7,4},{0,8,84},{0,8,20},{21,8,227},{19,7,43},{0,8,116}, - {0,8,52},{0,9,201},{17,7,13},{0,8,100},{0,8,36},{0,9,169},{0,8,4}, - {0,8,132},{0,8,68},{0,9,233},{16,7,8},{0,8,92},{0,8,28},{0,9,153}, - {20,7,83},{0,8,124},{0,8,60},{0,9,217},{18,7,23},{0,8,108},{0,8,44}, - {0,9,185},{0,8,12},{0,8,140},{0,8,76},{0,9,249},{16,7,3},{0,8,82}, - {0,8,18},{21,8,163},{19,7,35},{0,8,114},{0,8,50},{0,9,197},{17,7,11}, - {0,8,98},{0,8,34},{0,9,165},{0,8,2},{0,8,130},{0,8,66},{0,9,229}, - {16,7,7},{0,8,90},{0,8,26},{0,9,149},{20,7,67},{0,8,122},{0,8,58}, - {0,9,213},{18,7,19},{0,8,106},{0,8,42},{0,9,181},{0,8,10},{0,8,138}, - {0,8,74},{0,9,245},{16,7,5},{0,8,86},{0,8,22},{64,8,0},{19,7,51}, - {0,8,118},{0,8,54},{0,9,205},{17,7,15},{0,8,102},{0,8,38},{0,9,173}, - {0,8,6},{0,8,134},{0,8,70},{0,9,237},{16,7,9},{0,8,94},{0,8,30}, - {0,9,157},{20,7,99},{0,8,126},{0,8,62},{0,9,221},{18,7,27},{0,8,110}, - {0,8,46},{0,9,189},{0,8,14},{0,8,142},{0,8,78},{0,9,253},{96,7,0}, - {0,8,81},{0,8,17},{21,8,131},{18,7,31},{0,8,113},{0,8,49},{0,9,195}, - {16,7,10},{0,8,97},{0,8,33},{0,9,163},{0,8,1},{0,8,129},{0,8,65}, - {0,9,227},{16,7,6},{0,8,89},{0,8,25},{0,9,147},{19,7,59},{0,8,121}, - {0,8,57},{0,9,211},{17,7,17},{0,8,105},{0,8,41},{0,9,179},{0,8,9}, - {0,8,137},{0,8,73},{0,9,243},{16,7,4},{0,8,85},{0,8,21},{16,8,258}, - {19,7,43},{0,8,117},{0,8,53},{0,9,203},{17,7,13},{0,8,101},{0,8,37}, - {0,9,171},{0,8,5},{0,8,133},{0,8,69},{0,9,235},{16,7,8},{0,8,93}, - {0,8,29},{0,9,155},{20,7,83},{0,8,125},{0,8,61},{0,9,219},{18,7,23}, - {0,8,109},{0,8,45},{0,9,187},{0,8,13},{0,8,141},{0,8,77},{0,9,251}, - {16,7,3},{0,8,83},{0,8,19},{21,8,195},{19,7,35},{0,8,115},{0,8,51}, - {0,9,199},{17,7,11},{0,8,99},{0,8,35},{0,9,167},{0,8,3},{0,8,131}, - {0,8,67},{0,9,231},{16,7,7},{0,8,91},{0,8,27},{0,9,151},{20,7,67}, - {0,8,123},{0,8,59},{0,9,215},{18,7,19},{0,8,107},{0,8,43},{0,9,183}, - {0,8,11},{0,8,139},{0,8,75},{0,9,247},{16,7,5},{0,8,87},{0,8,23}, - {64,8,0},{19,7,51},{0,8,119},{0,8,55},{0,9,207},{17,7,15},{0,8,103}, - {0,8,39},{0,9,175},{0,8,7},{0,8,135},{0,8,71},{0,9,239},{16,7,9}, - {0,8,95},{0,8,31},{0,9,159},{20,7,99},{0,8,127},{0,8,63},{0,9,223}, - {18,7,27},{0,8,111},{0,8,47},{0,9,191},{0,8,15},{0,8,143},{0,8,79}, - {0,9,255} - }; - - static const code distfix[32] = { - {16,5,1},{23,5,257},{19,5,17},{27,5,4097},{17,5,5},{25,5,1025}, - {21,5,65},{29,5,16385},{16,5,3},{24,5,513},{20,5,33},{28,5,8193}, - {18,5,9},{26,5,2049},{22,5,129},{64,5,0},{16,5,2},{23,5,385}, - {19,5,25},{27,5,6145},{17,5,7},{25,5,1537},{21,5,97},{29,5,24577}, - {16,5,4},{24,5,769},{20,5,49},{28,5,12289},{18,5,13},{26,5,3073}, - {22,5,193},{64,5,0} - }; diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/inflate.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/inflate.c deleted file mode 100644 index cc89517b..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/inflate.c +++ /dev/null @@ -1,1501 +0,0 @@ -/* inflate.c -- zlib decompression - * Copyright (C) 1995-2011 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* - * Change history: - * - * 1.2.beta0 24 Nov 2002 - * - First version -- complete rewrite of inflate to simplify code, avoid - * creation of window when not needed, minimize use of window when it is - * needed, make inffast.c even faster, implement gzip decoding, and to - * improve code readability and style over the previous zlib inflate code - * - * 1.2.beta1 25 Nov 2002 - * - Use pointers for available input and output checking in inffast.c - * - Remove input and output counters in inffast.c - * - Change inffast.c entry and loop from avail_in >= 7 to >= 6 - * - Remove unnecessary second byte pull from length extra in inffast.c - * - Unroll direct copy to three copies per loop in inffast.c - * - * 1.2.beta2 4 Dec 2002 - * - Change external routine names to reduce potential conflicts - * - Correct filename to inffixed.h for fixed tables in inflate.c - * - Make hbuf[] unsigned char to match parameter type in inflate.c - * - Change strm->next_out[-state->offset] to *(strm->next_out - state->offset) - * to avoid negation problem on Alphas (64 bit) in inflate.c - * - * 1.2.beta3 22 Dec 2002 - * - Add comments on state->bits assertion in inffast.c - * - Add comments on op field in inftrees.h - * - Fix bug in reuse of allocated window after inflateReset() - * - Remove bit fields--back to byte structure for speed - * - Remove distance extra == 0 check in inflate_fast()--only helps for lengths - * - Change post-increments to pre-increments in inflate_fast(), PPC biased? - * - Add compile time option, POSTINC, to use post-increments instead (Intel?) - * - Make MATCH copy in inflate() much faster for when inflate_fast() not used - * - Use local copies of stream next and avail values, as well as local bit - * buffer and bit count in inflate()--for speed when inflate_fast() not used - * - * 1.2.beta4 1 Jan 2003 - * - Split ptr - 257 statements in inflate_table() to avoid compiler warnings - * - Move a comment on output buffer sizes from inffast.c to inflate.c - * - Add comments in inffast.c to introduce the inflate_fast() routine - * - Rearrange window copies in inflate_fast() for speed and simplification - * - Unroll last copy for window match in inflate_fast() - * - Use local copies of window variables in inflate_fast() for speed - * - Pull out common wnext == 0 case for speed in inflate_fast() - * - Make op and len in inflate_fast() unsigned for consistency - * - Add FAR to lcode and dcode declarations in inflate_fast() - * - Simplified bad distance check in inflate_fast() - * - Added inflateBackInit(), inflateBack(), and inflateBackEnd() in new - * source file infback.c to provide a call-back interface to inflate for - * programs like gzip and unzip -- uses window as output buffer to avoid - * window copying - * - * 1.2.beta5 1 Jan 2003 - * - Improved inflateBack() interface to allow the caller to provide initial - * input in strm. - * - Fixed stored blocks bug in inflateBack() - * - * 1.2.beta6 4 Jan 2003 - * - Added comments in inffast.c on effectiveness of POSTINC - * - Typecasting all around to reduce compiler warnings - * - Changed loops from while (1) or do {} while (1) to for (;;), again to - * make compilers happy - * - Changed type of window in inflateBackInit() to unsigned char * - * - * 1.2.beta7 27 Jan 2003 - * - Changed many types to unsigned or unsigned short to avoid warnings - * - Added inflateCopy() function - * - * 1.2.0 9 Mar 2003 - * - Changed inflateBack() interface to provide separate opaque descriptors - * for the in() and out() functions - * - Changed inflateBack() argument and in_func typedef to swap the length - * and buffer address return values for the input function - * - Check next_in and next_out for Z_NULL on entry to inflate() - * - * The history for versions after 1.2.0 are in ChangeLog in zlib distribution. - */ - -#include "zutil.h" -#include "inftrees.h" -#include "inflate.h" -#include "inffast.h" - -#ifdef MAKEFIXED -# ifndef BUILDFIXED -# define BUILDFIXED -# endif -#endif - -/* function prototypes */ -local void fixedtables OF((struct inflate_state FAR *state)); -local int updatewindow OF((z_streamp strm, unsigned out)); -#ifdef BUILDFIXED - void makefixed OF((void)); -#endif -local unsigned syncsearch OF((unsigned FAR *have, unsigned char FAR *buf, - unsigned len)); - -int ZEXPORT inflateResetKeep(strm) -z_streamp strm; -{ - struct inflate_state FAR *state; - - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - state = (struct inflate_state FAR *)strm->state; - strm->total_in = strm->total_out = state->total = 0; - strm->msg = Z_NULL; - if (state->wrap) /* to support ill-conceived Java test suite */ - strm->adler = state->wrap & 1; - state->mode = HEAD; - state->last = 0; - state->havedict = 0; - state->dmax = 32768U; - state->head = Z_NULL; - state->hold = 0; - state->bits = 0; - state->lencode = state->distcode = state->next = state->codes; - state->sane = 1; - state->back = -1; - Tracev((stderr, "inflate: reset\n")); - return Z_OK; -} - -int ZEXPORT inflateReset(strm) -z_streamp strm; -{ - struct inflate_state FAR *state; - - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - state = (struct inflate_state FAR *)strm->state; - state->wsize = 0; - state->whave = 0; - state->wnext = 0; - return inflateResetKeep(strm); -} - -int ZEXPORT inflateReset2(strm, windowBits) -z_streamp strm; -int windowBits; -{ - int wrap; - struct inflate_state FAR *state; - - /* get the state */ - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - state = (struct inflate_state FAR *)strm->state; - - /* extract wrap request from windowBits parameter */ - if (windowBits < 0) { - wrap = 0; - windowBits = -windowBits; - } - else { - wrap = (windowBits >> 4) + 1; -#ifdef GUNZIP - if (windowBits < 48) - windowBits &= 15; -#endif - } - - /* set number of window bits, free window if different */ - if (windowBits && (windowBits < 8 || windowBits > 15)) - return Z_STREAM_ERROR; - if (state->window != Z_NULL && state->wbits != (unsigned)windowBits) { - ZFREE(strm, state->window); - state->window = Z_NULL; - } - - /* update state and reset the rest of it */ - state->wrap = wrap; - state->wbits = (unsigned)windowBits; - return inflateReset(strm); -} - -int ZEXPORT inflateInit2_(strm, windowBits, version, stream_size) -z_streamp strm; -int windowBits; -const char *version; -int stream_size; -{ - int ret; - struct inflate_state FAR *state; - - if (version == Z_NULL || version[0] != ZLIB_VERSION[0] || - stream_size != (int)(sizeof(z_stream))) - return Z_VERSION_ERROR; - if (strm == Z_NULL) return Z_STREAM_ERROR; - strm->msg = Z_NULL; /* in case we return an error */ - if (strm->zalloc == (alloc_func)0) { -#ifdef Z_SOLO - return Z_STREAM_ERROR; -#else - strm->zalloc = zcalloc; - strm->opaque = (voidpf)0; -#endif - } - if (strm->zfree == (free_func)0) -#ifdef Z_SOLO - return Z_STREAM_ERROR; -#else - strm->zfree = zcfree; -#endif - state = (struct inflate_state FAR *) - ZALLOC(strm, 1, sizeof(struct inflate_state)); - if (state == Z_NULL) return Z_MEM_ERROR; - Tracev((stderr, "inflate: allocated\n")); - strm->state = (struct internal_state FAR *)state; - state->window = Z_NULL; - ret = inflateReset2(strm, windowBits); - if (ret != Z_OK) { - ZFREE(strm, state); - strm->state = Z_NULL; - } - return ret; -} - -int ZEXPORT inflateInit_(strm, version, stream_size) -z_streamp strm; -const char *version; -int stream_size; -{ - return inflateInit2_(strm, DEF_WBITS, version, stream_size); -} - -int ZEXPORT inflatePrime(strm, bits, value) -z_streamp strm; -int bits; -int value; -{ - struct inflate_state FAR *state; - - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - state = (struct inflate_state FAR *)strm->state; - if (bits < 0) { - state->hold = 0; - state->bits = 0; - return Z_OK; - } - if (bits > 16 || state->bits + bits > 32) return Z_STREAM_ERROR; - value &= (1L << bits) - 1; - state->hold += value << state->bits; - state->bits += bits; - return Z_OK; -} - -/* - Return state with length and distance decoding tables and index sizes set to - fixed code decoding. Normally this returns fixed tables from inffixed.h. - If BUILDFIXED is defined, then instead this routine builds the tables the - first time it's called, and returns those tables the first time and - thereafter. This reduces the size of the code by about 2K bytes, in - exchange for a little execution time. However, BUILDFIXED should not be - used for threaded applications, since the rewriting of the tables and virgin - may not be thread-safe. - */ -local void fixedtables(state) -struct inflate_state FAR *state; -{ -#ifdef BUILDFIXED - static int virgin = 1; - static code *lenfix, *distfix; - static code fixed[544]; - - /* build fixed huffman tables if first call (may not be thread safe) */ - if (virgin) { - unsigned sym, bits; - static code *next; - - /* literal/length table */ - sym = 0; - while (sym < 144) state->lens[sym++] = 8; - while (sym < 256) state->lens[sym++] = 9; - while (sym < 280) state->lens[sym++] = 7; - while (sym < 288) state->lens[sym++] = 8; - next = fixed; - lenfix = next; - bits = 9; - inflate_table(LENS, state->lens, 288, &(next), &(bits), state->work); - - /* distance table */ - sym = 0; - while (sym < 32) state->lens[sym++] = 5; - distfix = next; - bits = 5; - inflate_table(DISTS, state->lens, 32, &(next), &(bits), state->work); - - /* do this just once */ - virgin = 0; - } -#else /* !BUILDFIXED */ -# include "inffixed.h" -#endif /* BUILDFIXED */ - state->lencode = lenfix; - state->lenbits = 9; - state->distcode = distfix; - state->distbits = 5; -} - -#ifdef MAKEFIXED -#include - -/* - Write out the inffixed.h that is #include'd above. Defining MAKEFIXED also - defines BUILDFIXED, so the tables are built on the fly. makefixed() writes - those tables to stdout, which would be piped to inffixed.h. A small program - can simply call makefixed to do this: - - void makefixed(void); - - int main(void) - { - makefixed(); - return 0; - } - - Then that can be linked with zlib built with MAKEFIXED defined and run: - - a.out > inffixed.h - */ -void makefixed() -{ - unsigned low, size; - struct inflate_state state; - - fixedtables(&state); - puts(" /* inffixed.h -- table for decoding fixed codes"); - puts(" * Generated automatically by makefixed()."); - puts(" */"); - puts(""); - puts(" /* WARNING: this file should *not* be used by applications."); - puts(" It is part of the implementation of this library and is"); - puts(" subject to change. Applications should only use zlib.h."); - puts(" */"); - puts(""); - size = 1U << 9; - printf(" static const code lenfix[%u] = {", size); - low = 0; - for (;;) { - if ((low % 7) == 0) printf("\n "); - printf("{%u,%u,%d}", (low & 127) == 99 ? 64 : state.lencode[low].op, - state.lencode[low].bits, state.lencode[low].val); - if (++low == size) break; - putchar(','); - } - puts("\n };"); - size = 1U << 5; - printf("\n static const code distfix[%u] = {", size); - low = 0; - for (;;) { - if ((low % 6) == 0) printf("\n "); - printf("{%u,%u,%d}", state.distcode[low].op, state.distcode[low].bits, - state.distcode[low].val); - if (++low == size) break; - putchar(','); - } - puts("\n };"); -} -#endif /* MAKEFIXED */ - -/* - Update the window with the last wsize (normally 32K) bytes written before - returning. If window does not exist yet, create it. This is only called - when a window is already in use, or when output has been written during this - inflate call, but the end of the deflate stream has not been reached yet. - It is also called to create a window for dictionary data when a dictionary - is loaded. - - Providing output buffers larger than 32K to inflate() should provide a speed - advantage, since only the last 32K of output is copied to the sliding window - upon return from inflate(), and since all distances after the first 32K of - output will fall in the output data, making match copies simpler and faster. - The advantage may be dependent on the size of the processor's data caches. - */ -local int updatewindow(strm, out) -z_streamp strm; -unsigned out; -{ - struct inflate_state FAR *state; - unsigned copy, dist; - - state = (struct inflate_state FAR *)strm->state; - - /* if it hasn't been done already, allocate space for the window */ - if (state->window == Z_NULL) { - state->window = (unsigned char FAR *) - ZALLOC(strm, 1U << state->wbits, - sizeof(unsigned char)); - if (state->window == Z_NULL) return 1; - } - - /* if window not in use yet, initialize */ - if (state->wsize == 0) { - state->wsize = 1U << state->wbits; - state->wnext = 0; - state->whave = 0; - } - - /* copy state->wsize or less output bytes into the circular window */ - copy = out - strm->avail_out; - if (copy >= state->wsize) { - zmemcpy(state->window, strm->next_out - state->wsize, state->wsize); - state->wnext = 0; - state->whave = state->wsize; - } - else { - dist = state->wsize - state->wnext; - if (dist > copy) dist = copy; - zmemcpy(state->window + state->wnext, strm->next_out - copy, dist); - copy -= dist; - if (copy) { - zmemcpy(state->window, strm->next_out - copy, copy); - state->wnext = copy; - state->whave = state->wsize; - } - else { - state->wnext += dist; - if (state->wnext == state->wsize) state->wnext = 0; - if (state->whave < state->wsize) state->whave += dist; - } - } - return 0; -} - -/* Macros for inflate(): */ - -/* check function to use adler32() for zlib or crc32() for gzip */ -#ifdef GUNZIP -# define UPDATE(check, buf, len) \ - (state->flags ? crc32(check, buf, len) : adler32(check, buf, len)) -#else -# define UPDATE(check, buf, len) adler32(check, buf, len) -#endif - -/* check macros for header crc */ -#ifdef GUNZIP -# define CRC2(check, word) \ - do { \ - hbuf[0] = (unsigned char)(word); \ - hbuf[1] = (unsigned char)((word) >> 8); \ - check = crc32(check, hbuf, 2); \ - } while (0) - -# define CRC4(check, word) \ - do { \ - hbuf[0] = (unsigned char)(word); \ - hbuf[1] = (unsigned char)((word) >> 8); \ - hbuf[2] = (unsigned char)((word) >> 16); \ - hbuf[3] = (unsigned char)((word) >> 24); \ - check = crc32(check, hbuf, 4); \ - } while (0) -#endif - -/* Load registers with state in inflate() for speed */ -#define LOAD() \ - do { \ - put = strm->next_out; \ - left = strm->avail_out; \ - next = strm->next_in; \ - have = strm->avail_in; \ - hold = state->hold; \ - bits = state->bits; \ - } while (0) - -/* Restore state from registers in inflate() */ -#define RESTORE() \ - do { \ - strm->next_out = put; \ - strm->avail_out = left; \ - strm->next_in = next; \ - strm->avail_in = have; \ - state->hold = hold; \ - state->bits = bits; \ - } while (0) - -/* Clear the input bit accumulator */ -#define INITBITS() \ - do { \ - hold = 0; \ - bits = 0; \ - } while (0) - -/* Get a byte of input into the bit accumulator, or return from inflate() - if there is no input available. */ -#define PULLBYTE() \ - do { \ - if (have == 0) goto inf_leave; \ - have--; \ - hold += (unsigned long)(*next++) << bits; \ - bits += 8; \ - } while (0) - -/* Assure that there are at least n bits in the bit accumulator. If there is - not enough available input to do that, then return from inflate(). */ -#define NEEDBITS(n) \ - do { \ - while (bits < (unsigned)(n)) \ - PULLBYTE(); \ - } while (0) - -/* Return the low n bits of the bit accumulator (n < 16) */ -#define BITS(n) \ - ((unsigned)hold & ((1U << (n)) - 1)) - -/* Remove n bits from the bit accumulator */ -#define DROPBITS(n) \ - do { \ - hold >>= (n); \ - bits -= (unsigned)(n); \ - } while (0) - -/* Remove zero to seven bits as needed to go to a byte boundary */ -#define BYTEBITS() \ - do { \ - hold >>= bits & 7; \ - bits -= bits & 7; \ - } while (0) - -/* Reverse the bytes in a 32-bit value */ -#define REVERSE(q) \ - ((((q) >> 24) & 0xff) + (((q) >> 8) & 0xff00) + \ - (((q) & 0xff00) << 8) + (((q) & 0xff) << 24)) - -/* - inflate() uses a state machine to process as much input data and generate as - much output data as possible before returning. The state machine is - structured roughly as follows: - - for (;;) switch (state) { - ... - case STATEn: - if (not enough input data or output space to make progress) - return; - ... make progress ... - state = STATEm; - break; - ... - } - - so when inflate() is called again, the same case is attempted again, and - if the appropriate resources are provided, the machine proceeds to the - next state. The NEEDBITS() macro is usually the way the state evaluates - whether it can proceed or should return. NEEDBITS() does the return if - the requested bits are not available. The typical use of the BITS macros - is: - - NEEDBITS(n); - ... do something with BITS(n) ... - DROPBITS(n); - - where NEEDBITS(n) either returns from inflate() if there isn't enough - input left to load n bits into the accumulator, or it continues. BITS(n) - gives the low n bits in the accumulator. When done, DROPBITS(n) drops - the low n bits off the accumulator. INITBITS() clears the accumulator - and sets the number of available bits to zero. BYTEBITS() discards just - enough bits to put the accumulator on a byte boundary. After BYTEBITS() - and a NEEDBITS(8), then BITS(8) would return the next byte in the stream. - - NEEDBITS(n) uses PULLBYTE() to get an available byte of input, or to return - if there is no input available. The decoding of variable length codes uses - PULLBYTE() directly in order to pull just enough bytes to decode the next - code, and no more. - - Some states loop until they get enough input, making sure that enough - state information is maintained to continue the loop where it left off - if NEEDBITS() returns in the loop. For example, want, need, and keep - would all have to actually be part of the saved state in case NEEDBITS() - returns: - - case STATEw: - while (want < need) { - NEEDBITS(n); - keep[want++] = BITS(n); - DROPBITS(n); - } - state = STATEx; - case STATEx: - - As shown above, if the next state is also the next case, then the break - is omitted. - - A state may also return if there is not enough output space available to - complete that state. Those states are copying stored data, writing a - literal byte, and copying a matching string. - - When returning, a "goto inf_leave" is used to update the total counters, - update the check value, and determine whether any progress has been made - during that inflate() call in order to return the proper return code. - Progress is defined as a change in either strm->avail_in or strm->avail_out. - When there is a window, goto inf_leave will update the window with the last - output written. If a goto inf_leave occurs in the middle of decompression - and there is no window currently, goto inf_leave will create one and copy - output to the window for the next call of inflate(). - - In this implementation, the flush parameter of inflate() only affects the - return code (per zlib.h). inflate() always writes as much as possible to - strm->next_out, given the space available and the provided input--the effect - documented in zlib.h of Z_SYNC_FLUSH. Furthermore, inflate() always defers - the allocation of and copying into a sliding window until necessary, which - provides the effect documented in zlib.h for Z_FINISH when the entire input - stream available. So the only thing the flush parameter actually does is: - when flush is set to Z_FINISH, inflate() cannot return Z_OK. Instead it - will return Z_BUF_ERROR if it has not reached the end of the stream. - */ - -int ZEXPORT inflate(strm, flush) -z_streamp strm; -int flush; -{ - struct inflate_state FAR *state; - unsigned char FAR *next; /* next input */ - unsigned char FAR *put; /* next output */ - unsigned have, left; /* available input and output */ - unsigned long hold; /* bit buffer */ - unsigned bits; /* bits in bit buffer */ - unsigned in, out; /* save starting available input and output */ - unsigned copy; /* number of stored or match bytes to copy */ - unsigned char FAR *from; /* where to copy match bytes from */ - code here; /* current decoding table entry */ - code last; /* parent table entry */ - unsigned len; /* length to copy for repeats, bits to drop */ - int ret; /* return code */ -#ifdef GUNZIP - unsigned char hbuf[4]; /* buffer for gzip header crc calculation */ -#endif - static const unsigned short order[19] = /* permutation of code lengths */ - {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15}; - - if (strm == Z_NULL || strm->state == Z_NULL || strm->next_out == Z_NULL || - (strm->next_in == Z_NULL && strm->avail_in != 0)) - return Z_STREAM_ERROR; - - state = (struct inflate_state FAR *)strm->state; - if (state->mode == TYPE) state->mode = TYPEDO; /* skip check */ - LOAD(); - in = have; - out = left; - ret = Z_OK; - for (;;) - switch (state->mode) { - case HEAD: - if (state->wrap == 0) { - state->mode = TYPEDO; - break; - } - NEEDBITS(16); -#ifdef GUNZIP - if ((state->wrap & 2) && hold == 0x8b1f) { /* gzip header */ - state->check = crc32(0L, Z_NULL, 0); - CRC2(state->check, hold); - INITBITS(); - state->mode = FLAGS; - break; - } - state->flags = 0; /* expect zlib header */ - if (state->head != Z_NULL) - state->head->done = -1; - if (!(state->wrap & 1) || /* check if zlib header allowed */ -#else - if ( -#endif - ((BITS(8) << 8) + (hold >> 8)) % 31) { - strm->msg = (char *)"incorrect header check"; - state->mode = BAD; - break; - } - if (BITS(4) != Z_DEFLATED) { - strm->msg = (char *)"unknown compression method"; - state->mode = BAD; - break; - } - DROPBITS(4); - len = BITS(4) + 8; - if (state->wbits == 0) - state->wbits = len; - else if (len > state->wbits) { - strm->msg = (char *)"invalid window size"; - state->mode = BAD; - break; - } - state->dmax = 1U << len; - Tracev((stderr, "inflate: zlib header ok\n")); - strm->adler = state->check = adler32(0L, Z_NULL, 0); - state->mode = hold & 0x200 ? DICTID : TYPE; - INITBITS(); - break; -#ifdef GUNZIP - case FLAGS: - NEEDBITS(16); - state->flags = (int)(hold); - if ((state->flags & 0xff) != Z_DEFLATED) { - strm->msg = (char *)"unknown compression method"; - state->mode = BAD; - break; - } - if (state->flags & 0xe000) { - strm->msg = (char *)"unknown header flags set"; - state->mode = BAD; - break; - } - if (state->head != Z_NULL) - state->head->text = (int)((hold >> 8) & 1); - if (state->flags & 0x0200) CRC2(state->check, hold); - INITBITS(); - state->mode = TIME; - case TIME: - NEEDBITS(32); - if (state->head != Z_NULL) - state->head->time = hold; - if (state->flags & 0x0200) CRC4(state->check, hold); - INITBITS(); - state->mode = OS; - case OS: - NEEDBITS(16); - if (state->head != Z_NULL) { - state->head->xflags = (int)(hold & 0xff); - state->head->os = (int)(hold >> 8); - } - if (state->flags & 0x0200) CRC2(state->check, hold); - INITBITS(); - state->mode = EXLEN; - case EXLEN: - if (state->flags & 0x0400) { - NEEDBITS(16); - state->length = (unsigned)(hold); - if (state->head != Z_NULL) - state->head->extra_len = (unsigned)hold; - if (state->flags & 0x0200) CRC2(state->check, hold); - INITBITS(); - } - else if (state->head != Z_NULL) - state->head->extra = Z_NULL; - state->mode = EXTRA; - case EXTRA: - if (state->flags & 0x0400) { - copy = state->length; - if (copy > have) copy = have; - if (copy) { - if (state->head != Z_NULL && - state->head->extra != Z_NULL) { - len = state->head->extra_len - state->length; - zmemcpy(state->head->extra + len, next, - len + copy > state->head->extra_max ? - state->head->extra_max - len : copy); - } - if (state->flags & 0x0200) - state->check = crc32(state->check, next, copy); - have -= copy; - next += copy; - state->length -= copy; - } - if (state->length) goto inf_leave; - } - state->length = 0; - state->mode = NAME; - case NAME: - if (state->flags & 0x0800) { - if (have == 0) goto inf_leave; - copy = 0; - do { - len = (unsigned)(next[copy++]); - if (state->head != Z_NULL && - state->head->name != Z_NULL && - state->length < state->head->name_max) - state->head->name[state->length++] = len; - } while (len && copy < have); - if (state->flags & 0x0200) - state->check = crc32(state->check, next, copy); - have -= copy; - next += copy; - if (len) goto inf_leave; - } - else if (state->head != Z_NULL) - state->head->name = Z_NULL; - state->length = 0; - state->mode = COMMENT; - case COMMENT: - if (state->flags & 0x1000) { - if (have == 0) goto inf_leave; - copy = 0; - do { - len = (unsigned)(next[copy++]); - if (state->head != Z_NULL && - state->head->comment != Z_NULL && - state->length < state->head->comm_max) - state->head->comment[state->length++] = len; - } while (len && copy < have); - if (state->flags & 0x0200) - state->check = crc32(state->check, next, copy); - have -= copy; - next += copy; - if (len) goto inf_leave; - } - else if (state->head != Z_NULL) - state->head->comment = Z_NULL; - state->mode = HCRC; - case HCRC: - if (state->flags & 0x0200) { - NEEDBITS(16); - if (hold != (state->check & 0xffff)) { - strm->msg = (char *)"header crc mismatch"; - state->mode = BAD; - break; - } - INITBITS(); - } - if (state->head != Z_NULL) { - state->head->hcrc = (int)((state->flags >> 9) & 1); - state->head->done = 1; - } - strm->adler = state->check = crc32(0L, Z_NULL, 0); - state->mode = TYPE; - break; -#endif - case DICTID: - NEEDBITS(32); - strm->adler = state->check = REVERSE(hold); - INITBITS(); - state->mode = DICT; - case DICT: - if (state->havedict == 0) { - RESTORE(); - return Z_NEED_DICT; - } - strm->adler = state->check = adler32(0L, Z_NULL, 0); - state->mode = TYPE; - case TYPE: - if (flush == Z_BLOCK || flush == Z_TREES) goto inf_leave; - case TYPEDO: - if (state->last) { - BYTEBITS(); - state->mode = CHECK; - break; - } - NEEDBITS(3); - state->last = BITS(1); - DROPBITS(1); - switch (BITS(2)) { - case 0: /* stored block */ - Tracev((stderr, "inflate: stored block%s\n", - state->last ? " (last)" : "")); - state->mode = STORED; - break; - case 1: /* fixed block */ - fixedtables(state); - Tracev((stderr, "inflate: fixed codes block%s\n", - state->last ? " (last)" : "")); - state->mode = LEN_; /* decode codes */ - if (flush == Z_TREES) { - DROPBITS(2); - goto inf_leave; - } - break; - case 2: /* dynamic block */ - Tracev((stderr, "inflate: dynamic codes block%s\n", - state->last ? " (last)" : "")); - state->mode = TABLE; - break; - case 3: - strm->msg = (char *)"invalid block type"; - state->mode = BAD; - } - DROPBITS(2); - break; - case STORED: - BYTEBITS(); /* go to byte boundary */ - NEEDBITS(32); - if ((hold & 0xffff) != ((hold >> 16) ^ 0xffff)) { - strm->msg = (char *)"invalid stored block lengths"; - state->mode = BAD; - break; - } - state->length = (unsigned)hold & 0xffff; - Tracev((stderr, "inflate: stored length %u\n", - state->length)); - INITBITS(); - state->mode = COPY_; - if (flush == Z_TREES) goto inf_leave; - case COPY_: - state->mode = COPY; - case COPY: - copy = state->length; - if (copy) { - if (copy > have) copy = have; - if (copy > left) copy = left; - if (copy == 0) goto inf_leave; - zmemcpy(put, next, copy); - have -= copy; - next += copy; - left -= copy; - put += copy; - state->length -= copy; - break; - } - Tracev((stderr, "inflate: stored end\n")); - state->mode = TYPE; - break; - case TABLE: - NEEDBITS(14); - state->nlen = BITS(5) + 257; - DROPBITS(5); - state->ndist = BITS(5) + 1; - DROPBITS(5); - state->ncode = BITS(4) + 4; - DROPBITS(4); -#ifndef PKZIP_BUG_WORKAROUND - if (state->nlen > 286 || state->ndist > 30) { - strm->msg = (char *)"too many length or distance symbols"; - state->mode = BAD; - break; - } -#endif - Tracev((stderr, "inflate: table sizes ok\n")); - state->have = 0; - state->mode = LENLENS; - case LENLENS: - while (state->have < state->ncode) { - NEEDBITS(3); - state->lens[order[state->have++]] = (unsigned short)BITS(3); - DROPBITS(3); - } - while (state->have < 19) - state->lens[order[state->have++]] = 0; - state->next = state->codes; - state->lencode = (code const FAR *)(state->next); - state->lenbits = 7; - ret = inflate_table(CODES, state->lens, 19, &(state->next), - &(state->lenbits), state->work); - if (ret) { - strm->msg = (char *)"invalid code lengths set"; - state->mode = BAD; - break; - } - Tracev((stderr, "inflate: code lengths ok\n")); - state->have = 0; - state->mode = CODELENS; - case CODELENS: - while (state->have < state->nlen + state->ndist) { - for (;;) { - here = state->lencode[BITS(state->lenbits)]; - if ((unsigned)(here.bits) <= bits) break; - PULLBYTE(); - } - if (here.val < 16) { - DROPBITS(here.bits); - state->lens[state->have++] = here.val; - } - else { - if (here.val == 16) { - NEEDBITS(here.bits + 2); - DROPBITS(here.bits); - if (state->have == 0) { - strm->msg = (char *)"invalid bit length repeat"; - state->mode = BAD; - break; - } - len = state->lens[state->have - 1]; - copy = 3 + BITS(2); - DROPBITS(2); - } - else if (here.val == 17) { - NEEDBITS(here.bits + 3); - DROPBITS(here.bits); - len = 0; - copy = 3 + BITS(3); - DROPBITS(3); - } - else { - NEEDBITS(here.bits + 7); - DROPBITS(here.bits); - len = 0; - copy = 11 + BITS(7); - DROPBITS(7); - } - if (state->have + copy > state->nlen + state->ndist) { - strm->msg = (char *)"invalid bit length repeat"; - state->mode = BAD; - break; - } - while (copy--) - state->lens[state->have++] = (unsigned short)len; - } - } - - /* handle error breaks in while */ - if (state->mode == BAD) break; - - /* check for end-of-block code (better have one) */ - if (state->lens[256] == 0) { - strm->msg = (char *)"invalid code -- missing end-of-block"; - state->mode = BAD; - break; - } - - /* build code tables -- note: do not change the lenbits or distbits - values here (9 and 6) without reading the comments in inftrees.h - concerning the ENOUGH constants, which depend on those values */ - state->next = state->codes; - state->lencode = (code const FAR *)(state->next); - state->lenbits = 9; - ret = inflate_table(LENS, state->lens, state->nlen, &(state->next), - &(state->lenbits), state->work); - if (ret) { - strm->msg = (char *)"invalid literal/lengths set"; - state->mode = BAD; - break; - } - state->distcode = (code const FAR *)(state->next); - state->distbits = 6; - ret = inflate_table(DISTS, state->lens + state->nlen, state->ndist, - &(state->next), &(state->distbits), state->work); - if (ret) { - strm->msg = (char *)"invalid distances set"; - state->mode = BAD; - break; - } - Tracev((stderr, "inflate: codes ok\n")); - state->mode = LEN_; - if (flush == Z_TREES) goto inf_leave; - case LEN_: - state->mode = LEN; - case LEN: - if (have >= 6 && left >= 258) { - RESTORE(); - inflate_fast(strm, out); - LOAD(); - if (state->mode == TYPE) - state->back = -1; - break; - } - state->back = 0; - for (;;) { - here = state->lencode[BITS(state->lenbits)]; - if ((unsigned)(here.bits) <= bits) break; - PULLBYTE(); - } - if (here.op && (here.op & 0xf0) == 0) { - last = here; - for (;;) { - here = state->lencode[last.val + - (BITS(last.bits + last.op) >> last.bits)]; - if ((unsigned)(last.bits + here.bits) <= bits) break; - PULLBYTE(); - } - DROPBITS(last.bits); - state->back += last.bits; - } - DROPBITS(here.bits); - state->back += here.bits; - state->length = (unsigned)here.val; - if ((int)(here.op) == 0) { - Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ? - "inflate: literal '%c'\n" : - "inflate: literal 0x%02x\n", here.val)); - state->mode = LIT; - break; - } - if (here.op & 32) { - Tracevv((stderr, "inflate: end of block\n")); - state->back = -1; - state->mode = TYPE; - break; - } - if (here.op & 64) { - strm->msg = (char *)"invalid literal/length code"; - state->mode = BAD; - break; - } - state->extra = (unsigned)(here.op) & 15; - state->mode = LENEXT; - case LENEXT: - if (state->extra) { - NEEDBITS(state->extra); - state->length += BITS(state->extra); - DROPBITS(state->extra); - state->back += state->extra; - } - Tracevv((stderr, "inflate: length %u\n", state->length)); - state->was = state->length; - state->mode = DIST; - case DIST: - for (;;) { - here = state->distcode[BITS(state->distbits)]; - if ((unsigned)(here.bits) <= bits) break; - PULLBYTE(); - } - if ((here.op & 0xf0) == 0) { - last = here; - for (;;) { - here = state->distcode[last.val + - (BITS(last.bits + last.op) >> last.bits)]; - if ((unsigned)(last.bits + here.bits) <= bits) break; - PULLBYTE(); - } - DROPBITS(last.bits); - state->back += last.bits; - } - DROPBITS(here.bits); - state->back += here.bits; - if (here.op & 64) { - strm->msg = (char *)"invalid distance code"; - state->mode = BAD; - break; - } - state->offset = (unsigned)here.val; - state->extra = (unsigned)(here.op) & 15; - state->mode = DISTEXT; - case DISTEXT: - if (state->extra) { - NEEDBITS(state->extra); - state->offset += BITS(state->extra); - DROPBITS(state->extra); - state->back += state->extra; - } -#ifdef INFLATE_STRICT - if (state->offset > state->dmax) { - strm->msg = (char *)"invalid distance too far back"; - state->mode = BAD; - break; - } -#endif - Tracevv((stderr, "inflate: distance %u\n", state->offset)); - state->mode = MATCH; - case MATCH: - if (left == 0) goto inf_leave; - copy = out - left; - if (state->offset > copy) { /* copy from window */ - copy = state->offset - copy; - if (copy > state->whave) { - if (state->sane) { - strm->msg = (char *)"invalid distance too far back"; - state->mode = BAD; - break; - } -#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR - Trace((stderr, "inflate.c too far\n")); - copy -= state->whave; - if (copy > state->length) copy = state->length; - if (copy > left) copy = left; - left -= copy; - state->length -= copy; - do { - *put++ = 0; - } while (--copy); - if (state->length == 0) state->mode = LEN; - break; -#endif - } - if (copy > state->wnext) { - copy -= state->wnext; - from = state->window + (state->wsize - copy); - } - else - from = state->window + (state->wnext - copy); - if (copy > state->length) copy = state->length; - } - else { /* copy from output */ - from = put - state->offset; - copy = state->length; - } - if (copy > left) copy = left; - left -= copy; - state->length -= copy; - do { - *put++ = *from++; - } while (--copy); - if (state->length == 0) state->mode = LEN; - break; - case LIT: - if (left == 0) goto inf_leave; - *put++ = (unsigned char)(state->length); - left--; - state->mode = LEN; - break; - case CHECK: - if (state->wrap) { - NEEDBITS(32); - out -= left; - strm->total_out += out; - state->total += out; - if (out) - strm->adler = state->check = - UPDATE(state->check, put - out, out); - out = left; - if (( -#ifdef GUNZIP - state->flags ? hold : -#endif - REVERSE(hold)) != state->check) { - strm->msg = (char *)"incorrect data check"; - state->mode = BAD; - break; - } - INITBITS(); - Tracev((stderr, "inflate: check matches trailer\n")); - } -#ifdef GUNZIP - state->mode = LENGTH; - case LENGTH: - if (state->wrap && state->flags) { - NEEDBITS(32); - if (hold != (state->total & 0xffffffffUL)) { - strm->msg = (char *)"incorrect length check"; - state->mode = BAD; - break; - } - INITBITS(); - Tracev((stderr, "inflate: length matches trailer\n")); - } -#endif - state->mode = DONE; - case DONE: - ret = Z_STREAM_END; - goto inf_leave; - case BAD: - ret = Z_DATA_ERROR; - goto inf_leave; - case MEM: - return Z_MEM_ERROR; - case SYNC: - default: - return Z_STREAM_ERROR; - } - - /* - Return from inflate(), updating the total counts and the check value. - If there was no progress during the inflate() call, return a buffer - error. Call updatewindow() to create and/or update the window state. - Note: a memory error from inflate() is non-recoverable. - */ - inf_leave: - RESTORE(); - if (state->wsize || (out != strm->avail_out && state->mode < BAD && - (state->mode < CHECK || flush != Z_FINISH))) - if (updatewindow(strm, out)) { - state->mode = MEM; - return Z_MEM_ERROR; - } - in -= strm->avail_in; - out -= strm->avail_out; - strm->total_in += in; - strm->total_out += out; - state->total += out; - if (state->wrap && out) - strm->adler = state->check = - UPDATE(state->check, strm->next_out - out, out); - strm->data_type = state->bits + (state->last ? 64 : 0) + - (state->mode == TYPE ? 128 : 0) + - (state->mode == LEN_ || state->mode == COPY_ ? 256 : 0); - if (((in == 0 && out == 0) || flush == Z_FINISH) && ret == Z_OK) - ret = Z_BUF_ERROR; - return ret; -} - -int ZEXPORT inflateEnd(strm) -z_streamp strm; -{ - struct inflate_state FAR *state; - if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0) - return Z_STREAM_ERROR; - state = (struct inflate_state FAR *)strm->state; - if (state->window != Z_NULL) ZFREE(strm, state->window); - ZFREE(strm, strm->state); - strm->state = Z_NULL; - Tracev((stderr, "inflate: end\n")); - return Z_OK; -} - -int ZEXPORT inflateSetDictionary(strm, dictionary, dictLength) -z_streamp strm; -const Bytef *dictionary; -uInt dictLength; -{ - struct inflate_state FAR *state; - unsigned long id; - unsigned char *next; - unsigned avail; - int ret; - - /* check state */ - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - state = (struct inflate_state FAR *)strm->state; - if (state->wrap != 0 && state->mode != DICT) - return Z_STREAM_ERROR; - - /* check for correct dictionary id */ - if (state->mode == DICT) { - id = adler32(0L, Z_NULL, 0); - id = adler32(id, dictionary, dictLength); - if (id != state->check) - return Z_DATA_ERROR; - } - - /* copy dictionary to window using updatewindow(), which will amend the - existing dictionary if appropriate */ - next = strm->next_out; - avail = strm->avail_out; - strm->next_out = (Bytef *)dictionary + dictLength; - strm->avail_out = 0; - ret = updatewindow(strm, dictLength); - strm->avail_out = avail; - strm->next_out = next; - if (ret) { - state->mode = MEM; - return Z_MEM_ERROR; - } - state->havedict = 1; - Tracev((stderr, "inflate: dictionary set\n")); - return Z_OK; -} - -int ZEXPORT inflateGetHeader(strm, head) -z_streamp strm; -gz_headerp head; -{ - struct inflate_state FAR *state; - - /* check state */ - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - state = (struct inflate_state FAR *)strm->state; - if ((state->wrap & 2) == 0) return Z_STREAM_ERROR; - - /* save header structure */ - state->head = head; - head->done = 0; - return Z_OK; -} - -/* - Search buf[0..len-1] for the pattern: 0, 0, 0xff, 0xff. Return when found - or when out of input. When called, *have is the number of pattern bytes - found in order so far, in 0..3. On return *have is updated to the new - state. If on return *have equals four, then the pattern was found and the - return value is how many bytes were read including the last byte of the - pattern. If *have is less than four, then the pattern has not been found - yet and the return value is len. In the latter case, syncsearch() can be - called again with more data and the *have state. *have is initialized to - zero for the first call. - */ -local unsigned syncsearch(have, buf, len) -unsigned FAR *have; -unsigned char FAR *buf; -unsigned len; -{ - unsigned got; - unsigned next; - - got = *have; - next = 0; - while (next < len && got < 4) { - if ((int)(buf[next]) == (got < 2 ? 0 : 0xff)) - got++; - else if (buf[next]) - got = 0; - else - got = 4 - got; - next++; - } - *have = got; - return next; -} - -int ZEXPORT inflateSync(strm) -z_streamp strm; -{ - unsigned len; /* number of bytes to look at or looked at */ - unsigned long in, out; /* temporary to save total_in and total_out */ - unsigned char buf[4]; /* to restore bit buffer to byte string */ - struct inflate_state FAR *state; - - /* check parameters */ - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - state = (struct inflate_state FAR *)strm->state; - if (strm->avail_in == 0 && state->bits < 8) return Z_BUF_ERROR; - - /* if first time, start search in bit buffer */ - if (state->mode != SYNC) { - state->mode = SYNC; - state->hold <<= state->bits & 7; - state->bits -= state->bits & 7; - len = 0; - while (state->bits >= 8) { - buf[len++] = (unsigned char)(state->hold); - state->hold >>= 8; - state->bits -= 8; - } - state->have = 0; - syncsearch(&(state->have), buf, len); - } - - /* search available input */ - len = syncsearch(&(state->have), strm->next_in, strm->avail_in); - strm->avail_in -= len; - strm->next_in += len; - strm->total_in += len; - - /* return no joy or set up to restart inflate() on a new block */ - if (state->have != 4) return Z_DATA_ERROR; - in = strm->total_in; out = strm->total_out; - inflateReset(strm); - strm->total_in = in; strm->total_out = out; - state->mode = TYPE; - return Z_OK; -} - -/* - Returns true if inflate is currently at the end of a block generated by - Z_SYNC_FLUSH or Z_FULL_FLUSH. This function is used by one PPP - implementation to provide an additional safety check. PPP uses - Z_SYNC_FLUSH but removes the length bytes of the resulting empty stored - block. When decompressing, PPP checks that at the end of input packet, - inflate is waiting for these length bytes. - */ -int ZEXPORT inflateSyncPoint(strm) -z_streamp strm; -{ - struct inflate_state FAR *state; - - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - state = (struct inflate_state FAR *)strm->state; - return state->mode == STORED && state->bits == 0; -} - -int ZEXPORT inflateCopy(dest, source) -z_streamp dest; -z_streamp source; -{ - struct inflate_state FAR *state; - struct inflate_state FAR *copy; - unsigned char FAR *window; - unsigned wsize; - - /* check input */ - if (dest == Z_NULL || source == Z_NULL || source->state == Z_NULL || - source->zalloc == (alloc_func)0 || source->zfree == (free_func)0) - return Z_STREAM_ERROR; - state = (struct inflate_state FAR *)source->state; - - /* allocate space */ - copy = (struct inflate_state FAR *) - ZALLOC(source, 1, sizeof(struct inflate_state)); - if (copy == Z_NULL) return Z_MEM_ERROR; - window = Z_NULL; - if (state->window != Z_NULL) { - window = (unsigned char FAR *) - ZALLOC(source, 1U << state->wbits, sizeof(unsigned char)); - if (window == Z_NULL) { - ZFREE(source, copy); - return Z_MEM_ERROR; - } - } - - /* copy state */ - zmemcpy((voidpf)dest, (voidpf)source, sizeof(z_stream)); - zmemcpy((voidpf)copy, (voidpf)state, sizeof(struct inflate_state)); - if (state->lencode >= state->codes && - state->lencode <= state->codes + ENOUGH - 1) { - copy->lencode = copy->codes + (state->lencode - state->codes); - copy->distcode = copy->codes + (state->distcode - state->codes); - } - copy->next = copy->codes + (state->next - state->codes); - if (window != Z_NULL) { - wsize = 1U << state->wbits; - zmemcpy(window, state->window, wsize); - } - copy->window = window; - dest->state = (struct internal_state FAR *)copy; - return Z_OK; -} - -int ZEXPORT inflateUndermine(strm, subvert) -z_streamp strm; -int subvert; -{ - struct inflate_state FAR *state; - - if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; - state = (struct inflate_state FAR *)strm->state; - state->sane = !subvert; -#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR - return Z_OK; -#else - state->sane = 1; - return Z_DATA_ERROR; -#endif -} - -long ZEXPORT inflateMark(strm) -z_streamp strm; -{ - struct inflate_state FAR *state; - - if (strm == Z_NULL || strm->state == Z_NULL) return -1L << 16; - state = (struct inflate_state FAR *)strm->state; - return ((long)(state->back) << 16) + - (state->mode == COPY ? state->length : - (state->mode == MATCH ? state->was - state->length : 0)); -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/inflate.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/inflate.h deleted file mode 100644 index 95f4986d..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/inflate.h +++ /dev/null @@ -1,122 +0,0 @@ -/* inflate.h -- internal inflate state definition - * Copyright (C) 1995-2009 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* WARNING: this file should *not* be used by applications. It is - part of the implementation of the compression library and is - subject to change. Applications should only use zlib.h. - */ - -/* define NO_GZIP when compiling if you want to disable gzip header and - trailer decoding by inflate(). NO_GZIP would be used to avoid linking in - the crc code when it is not needed. For shared libraries, gzip decoding - should be left enabled. */ -#ifndef NO_GZIP -# define GUNZIP -#endif - -/* Possible inflate modes between inflate() calls */ -typedef enum { - HEAD, /* i: waiting for magic header */ - FLAGS, /* i: waiting for method and flags (gzip) */ - TIME, /* i: waiting for modification time (gzip) */ - OS, /* i: waiting for extra flags and operating system (gzip) */ - EXLEN, /* i: waiting for extra length (gzip) */ - EXTRA, /* i: waiting for extra bytes (gzip) */ - NAME, /* i: waiting for end of file name (gzip) */ - COMMENT, /* i: waiting for end of comment (gzip) */ - HCRC, /* i: waiting for header crc (gzip) */ - DICTID, /* i: waiting for dictionary check value */ - DICT, /* waiting for inflateSetDictionary() call */ - TYPE, /* i: waiting for type bits, including last-flag bit */ - TYPEDO, /* i: same, but skip check to exit inflate on new block */ - STORED, /* i: waiting for stored size (length and complement) */ - COPY_, /* i/o: same as COPY below, but only first time in */ - COPY, /* i/o: waiting for input or output to copy stored block */ - TABLE, /* i: waiting for dynamic block table lengths */ - LENLENS, /* i: waiting for code length code lengths */ - CODELENS, /* i: waiting for length/lit and distance code lengths */ - LEN_, /* i: same as LEN below, but only first time in */ - LEN, /* i: waiting for length/lit/eob code */ - LENEXT, /* i: waiting for length extra bits */ - DIST, /* i: waiting for distance code */ - DISTEXT, /* i: waiting for distance extra bits */ - MATCH, /* o: waiting for output space to copy string */ - LIT, /* o: waiting for output space to write literal */ - CHECK, /* i: waiting for 32-bit check value */ - LENGTH, /* i: waiting for 32-bit length (gzip) */ - DONE, /* finished check, done -- remain here until reset */ - BAD, /* got a data error -- remain here until reset */ - MEM, /* got an inflate() memory error -- remain here until reset */ - SYNC /* looking for synchronization bytes to restart inflate() */ -} inflate_mode; - -/* - State transitions between above modes - - - (most modes can go to BAD or MEM on error -- not shown for clarity) - - Process header: - HEAD -> (gzip) or (zlib) or (raw) - (gzip) -> FLAGS -> TIME -> OS -> EXLEN -> EXTRA -> NAME -> COMMENT -> - HCRC -> TYPE - (zlib) -> DICTID or TYPE - DICTID -> DICT -> TYPE - (raw) -> TYPEDO - Read deflate blocks: - TYPE -> TYPEDO -> STORED or TABLE or LEN_ or CHECK - STORED -> COPY_ -> COPY -> TYPE - TABLE -> LENLENS -> CODELENS -> LEN_ - LEN_ -> LEN - Read deflate codes in fixed or dynamic block: - LEN -> LENEXT or LIT or TYPE - LENEXT -> DIST -> DISTEXT -> MATCH -> LEN - LIT -> LEN - Process trailer: - CHECK -> LENGTH -> DONE - */ - -/* state maintained between inflate() calls. Approximately 10K bytes. */ -struct inflate_state { - inflate_mode mode; /* current inflate mode */ - int last; /* true if processing last block */ - int wrap; /* bit 0 true for zlib, bit 1 true for gzip */ - int havedict; /* true if dictionary provided */ - int flags; /* gzip header method and flags (0 if zlib) */ - unsigned dmax; /* zlib header max distance (INFLATE_STRICT) */ - unsigned long check; /* protected copy of check value */ - unsigned long total; /* protected copy of output count */ - gz_headerp head; /* where to save gzip header information */ - /* sliding window */ - unsigned wbits; /* log base 2 of requested window size */ - unsigned wsize; /* window size or zero if not using window */ - unsigned whave; /* valid bytes in the window */ - unsigned wnext; /* window write index */ - unsigned char FAR *window; /* allocated sliding window, if needed */ - /* bit accumulator */ - unsigned long hold; /* input bit accumulator */ - unsigned bits; /* number of bits in "in" */ - /* for string and stored block copying */ - unsigned length; /* literal or length of data to copy */ - unsigned offset; /* distance back to copy string from */ - /* for table and code decoding */ - unsigned extra; /* extra bits needed */ - /* fixed and dynamic code tables */ - code const FAR *lencode; /* starting table for length/literal codes */ - code const FAR *distcode; /* starting table for distance codes */ - unsigned lenbits; /* index bits for lencode */ - unsigned distbits; /* index bits for distcode */ - /* dynamic table building */ - unsigned ncode; /* number of code length code lengths */ - unsigned nlen; /* number of length code lengths */ - unsigned ndist; /* number of distance code lengths */ - unsigned have; /* number of code lengths in lens[] */ - code FAR *next; /* next available space in codes[] */ - unsigned short lens[320]; /* temporary storage for code lengths */ - unsigned short work[288]; /* work area for code table building */ - code codes[ENOUGH]; /* space for code tables */ - int sane; /* if false, allow invalid distance too far */ - int back; /* bits back of last unprocessed length/lit */ - unsigned was; /* initial length of match */ -}; diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/inftrees.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/inftrees.c deleted file mode 100644 index 60bbd58b..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/inftrees.c +++ /dev/null @@ -1,306 +0,0 @@ -/* inftrees.c -- generate Huffman trees for efficient decoding - * Copyright (C) 1995-2012 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -#include "zutil.h" -#include "inftrees.h" - -#define MAXBITS 15 - -const char inflate_copyright[] = - " inflate 1.2.6 Copyright 1995-2012 Mark Adler "; -/* - If you use the zlib library in a product, an acknowledgment is welcome - in the documentation of your product. If for some reason you cannot - include such an acknowledgment, I would appreciate that you keep this - copyright string in the executable of your product. - */ - -/* - Build a set of tables to decode the provided canonical Huffman code. - The code lengths are lens[0..codes-1]. The result starts at *table, - whose indices are 0..2^bits-1. work is a writable array of at least - lens shorts, which is used as a work area. type is the type of code - to be generated, CODES, LENS, or DISTS. On return, zero is success, - -1 is an invalid code, and +1 means that ENOUGH isn't enough. table - on return points to the next available entry's address. bits is the - requested root table index bits, and on return it is the actual root - table index bits. It will differ if the request is greater than the - longest code or if it is less than the shortest code. - */ -int ZLIB_INTERNAL inflate_table(type, lens, codes, table, bits, work) -codetype type; -unsigned short FAR *lens; -unsigned codes; -code FAR * FAR *table; -unsigned FAR *bits; -unsigned short FAR *work; -{ - unsigned len; /* a code's length in bits */ - unsigned sym; /* index of code symbols */ - unsigned min, max; /* minimum and maximum code lengths */ - unsigned root; /* number of index bits for root table */ - unsigned curr; /* number of index bits for current table */ - unsigned drop; /* code bits to drop for sub-table */ - int left; /* number of prefix codes available */ - unsigned used; /* code entries in table used */ - unsigned huff; /* Huffman code */ - unsigned incr; /* for incrementing code, index */ - unsigned fill; /* index for replicating entries */ - unsigned low; /* low bits for current root entry */ - unsigned mask; /* mask for low root bits */ - code here; /* table entry for duplication */ - code FAR *next; /* next available space in table */ - const unsigned short FAR *base; /* base value table to use */ - const unsigned short FAR *extra; /* extra bits table to use */ - int end; /* use base and extra for symbol > end */ - unsigned short count[MAXBITS+1]; /* number of codes of each length */ - unsigned short offs[MAXBITS+1]; /* offsets in table for each length */ - static const unsigned short lbase[31] = { /* Length codes 257..285 base */ - 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, - 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0}; - static const unsigned short lext[31] = { /* Length codes 257..285 extra */ - 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, - 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 203, 69}; - static const unsigned short dbase[32] = { /* Distance codes 0..29 base */ - 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, - 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, - 8193, 12289, 16385, 24577, 0, 0}; - static const unsigned short dext[32] = { /* Distance codes 0..29 extra */ - 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, - 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, - 28, 28, 29, 29, 64, 64}; - - /* - Process a set of code lengths to create a canonical Huffman code. The - code lengths are lens[0..codes-1]. Each length corresponds to the - symbols 0..codes-1. The Huffman code is generated by first sorting the - symbols by length from short to long, and retaining the symbol order - for codes with equal lengths. Then the code starts with all zero bits - for the first code of the shortest length, and the codes are integer - increments for the same length, and zeros are appended as the length - increases. For the deflate format, these bits are stored backwards - from their more natural integer increment ordering, and so when the - decoding tables are built in the large loop below, the integer codes - are incremented backwards. - - This routine assumes, but does not check, that all of the entries in - lens[] are in the range 0..MAXBITS. The caller must assure this. - 1..MAXBITS is interpreted as that code length. zero means that that - symbol does not occur in this code. - - The codes are sorted by computing a count of codes for each length, - creating from that a table of starting indices for each length in the - sorted table, and then entering the symbols in order in the sorted - table. The sorted table is work[], with that space being provided by - the caller. - - The length counts are used for other purposes as well, i.e. finding - the minimum and maximum length codes, determining if there are any - codes at all, checking for a valid set of lengths, and looking ahead - at length counts to determine sub-table sizes when building the - decoding tables. - */ - - /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */ - for (len = 0; len <= MAXBITS; len++) - count[len] = 0; - for (sym = 0; sym < codes; sym++) - count[lens[sym]]++; - - /* bound code lengths, force root to be within code lengths */ - root = *bits; - for (max = MAXBITS; max >= 1; max--) - if (count[max] != 0) break; - if (root > max) root = max; - if (max == 0) { /* no symbols to code at all */ - here.op = (unsigned char)64; /* invalid code marker */ - here.bits = (unsigned char)1; - here.val = (unsigned short)0; - *(*table)++ = here; /* make a table to force an error */ - *(*table)++ = here; - *bits = 1; - return 0; /* no symbols, but wait for decoding to report error */ - } - for (min = 1; min < max; min++) - if (count[min] != 0) break; - if (root < min) root = min; - - /* check for an over-subscribed or incomplete set of lengths */ - left = 1; - for (len = 1; len <= MAXBITS; len++) { - left <<= 1; - left -= count[len]; - if (left < 0) return -1; /* over-subscribed */ - } - if (left > 0 && (type == CODES || max != 1)) - return -1; /* incomplete set */ - - /* generate offsets into symbol table for each length for sorting */ - offs[1] = 0; - for (len = 1; len < MAXBITS; len++) - offs[len + 1] = offs[len] + count[len]; - - /* sort symbols by length, by symbol order within each length */ - for (sym = 0; sym < codes; sym++) - if (lens[sym] != 0) work[offs[lens[sym]]++] = (unsigned short)sym; - - /* - Create and fill in decoding tables. In this loop, the table being - filled is at next and has curr index bits. The code being used is huff - with length len. That code is converted to an index by dropping drop - bits off of the bottom. For codes where len is less than drop + curr, - those top drop + curr - len bits are incremented through all values to - fill the table with replicated entries. - - root is the number of index bits for the root table. When len exceeds - root, sub-tables are created pointed to by the root entry with an index - of the low root bits of huff. This is saved in low to check for when a - new sub-table should be started. drop is zero when the root table is - being filled, and drop is root when sub-tables are being filled. - - When a new sub-table is needed, it is necessary to look ahead in the - code lengths to determine what size sub-table is needed. The length - counts are used for this, and so count[] is decremented as codes are - entered in the tables. - - used keeps track of how many table entries have been allocated from the - provided *table space. It is checked for LENS and DIST tables against - the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in - the initial root table size constants. See the comments in inftrees.h - for more information. - - sym increments through all symbols, and the loop terminates when - all codes of length max, i.e. all codes, have been processed. This - routine permits incomplete codes, so another loop after this one fills - in the rest of the decoding tables with invalid code markers. - */ - - /* set up for code type */ - switch (type) { - case CODES: - base = extra = work; /* dummy value--not used */ - end = 19; - break; - case LENS: - base = lbase; - base -= 257; - extra = lext; - extra -= 257; - end = 256; - break; - default: /* DISTS */ - base = dbase; - extra = dext; - end = -1; - } - - /* initialize state for loop */ - huff = 0; /* starting code */ - sym = 0; /* starting code symbol */ - len = min; /* starting code length */ - next = *table; /* current table to fill in */ - curr = root; /* current table index bits */ - drop = 0; /* current bits to drop from code for index */ - low = (unsigned)(-1); /* trigger new sub-table when len > root */ - used = 1U << root; /* use root table entries */ - mask = used - 1; /* mask for comparing low */ - - /* check available table space */ - if ((type == LENS && used >= ENOUGH_LENS) || - (type == DISTS && used >= ENOUGH_DISTS)) - return 1; - - /* process all codes and make table entries */ - for (;;) { - /* create table entry */ - here.bits = (unsigned char)(len - drop); - if ((int)(work[sym]) < end) { - here.op = (unsigned char)0; - here.val = work[sym]; - } - else if ((int)(work[sym]) > end) { - here.op = (unsigned char)(extra[work[sym]]); - here.val = base[work[sym]]; - } - else { - here.op = (unsigned char)(32 + 64); /* end of block */ - here.val = 0; - } - - /* replicate for those indices with low len bits equal to huff */ - incr = 1U << (len - drop); - fill = 1U << curr; - min = fill; /* save offset to next table */ - do { - fill -= incr; - next[(huff >> drop) + fill] = here; - } while (fill != 0); - - /* backwards increment the len-bit code huff */ - incr = 1U << (len - 1); - while (huff & incr) - incr >>= 1; - if (incr != 0) { - huff &= incr - 1; - huff += incr; - } - else - huff = 0; - - /* go to next symbol, update count, len */ - sym++; - if (--(count[len]) == 0) { - if (len == max) break; - len = lens[work[sym]]; - } - - /* create new sub-table if needed */ - if (len > root && (huff & mask) != low) { - /* if first time, transition to sub-tables */ - if (drop == 0) - drop = root; - - /* increment past last table */ - next += min; /* here min is 1 << curr */ - - /* determine length of next table */ - curr = len - drop; - left = (int)(1 << curr); - while (curr + drop < max) { - left -= count[curr + drop]; - if (left <= 0) break; - curr++; - left <<= 1; - } - - /* check for enough space */ - used += 1U << curr; - if ((type == LENS && used >= ENOUGH_LENS) || - (type == DISTS && used >= ENOUGH_DISTS)) - return 1; - - /* point entry in root table to sub-table */ - low = huff & mask; - (*table)[low].op = (unsigned char)curr; - (*table)[low].bits = (unsigned char)root; - (*table)[low].val = (unsigned short)(next - *table); - } - } - - /* fill in remaining table entry if code is incomplete (guaranteed to have - at most one remaining entry, since if the code is incomplete, the - maximum code length that was allowed to get this far is one bit) */ - if (huff != 0) { - here.op = (unsigned char)64; /* invalid code marker */ - here.bits = (unsigned char)(len - drop); - here.val = (unsigned short)0; - next[huff] = here; - } - - /* set return parameters */ - *table += used; - *bits = root; - return 0; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/inftrees.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/inftrees.h deleted file mode 100644 index baa53a0b..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/inftrees.h +++ /dev/null @@ -1,62 +0,0 @@ -/* inftrees.h -- header to use inftrees.c - * Copyright (C) 1995-2005, 2010 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* WARNING: this file should *not* be used by applications. It is - part of the implementation of the compression library and is - subject to change. Applications should only use zlib.h. - */ - -/* Structure for decoding tables. Each entry provides either the - information needed to do the operation requested by the code that - indexed that table entry, or it provides a pointer to another - table that indexes more bits of the code. op indicates whether - the entry is a pointer to another table, a literal, a length or - distance, an end-of-block, or an invalid code. For a table - pointer, the low four bits of op is the number of index bits of - that table. For a length or distance, the low four bits of op - is the number of extra bits to get after the code. bits is - the number of bits in this code or part of the code to drop off - of the bit buffer. val is the actual byte to output in the case - of a literal, the base length or distance, or the offset from - the current table to the next table. Each entry is four bytes. */ -typedef struct { - unsigned char op; /* operation, extra bits, table bits */ - unsigned char bits; /* bits in this part of the code */ - unsigned short val; /* offset in table or code value */ -} code; - -/* op values as set by inflate_table(): - 00000000 - literal - 0000tttt - table link, tttt != 0 is the number of table index bits - 0001eeee - length or distance, eeee is the number of extra bits - 01100000 - end of block - 01000000 - invalid code - */ - -/* Maximum size of the dynamic table. The maximum number of code structures is - 1444, which is the sum of 852 for literal/length codes and 592 for distance - codes. These values were found by exhaustive searches using the program - examples/enough.c found in the zlib distribtution. The arguments to that - program are the number of symbols, the initial root table size, and the - maximum bit length of a code. "enough 286 9 15" for literal/length codes - returns returns 852, and "enough 30 6 15" for distance codes returns 592. - The initial root table size (9 or 6) is found in the fifth argument of the - inflate_table() calls in inflate.c and infback.c. If the root table size is - changed, then these maximum sizes would be need to be recalculated and - updated. */ -#define ENOUGH_LENS 852 -#define ENOUGH_DISTS 592 -#define ENOUGH (ENOUGH_LENS+ENOUGH_DISTS) - -/* Type of code to build for inflate_table() */ -typedef enum { - CODES, - LENS, - DISTS -} codetype; - -int ZLIB_INTERNAL inflate_table OF((codetype type, unsigned short FAR *lens, - unsigned codes, code FAR * FAR *table, - unsigned FAR *bits, unsigned short FAR *work)); diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/make_vms.com b/org.simantics.modelica/FMUSolution/zlib-1.2.6/make_vms.com deleted file mode 100644 index 11be527f..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/make_vms.com +++ /dev/null @@ -1,804 +0,0 @@ -$! make libz under VMS written by -$! Martin P.J. Zinser -$! -$! In case of problems with the install you might contact me at -$! zinser@zinser.no-ip.info(preferred) or -$! zinser@sysdev.deutsche-boerse.com (work) -$! -$! Make procedure history for Zlib -$! -$!------------------------------------------------------------------------------ -$! Version history -$! 0.01 20060120 First version to receive a number -$! 0.02 20061008 Adapt to new Makefile.in -$! 0.03 20091224 Add support for large file check -$! 0.04 20100110 Add new gzclose, gzlib, gzread, gzwrite -$! 0.05 20100221 Exchange zlibdefs.h by zconf.h.in -$! -$ on error then goto err_exit -$ set proc/parse=ext -$! -$ true = 1 -$ false = 0 -$ tmpnam = "temp_" + f$getjpi("","pid") -$ tt = tmpnam + ".txt" -$ tc = tmpnam + ".c" -$ th = tmpnam + ".h" -$ define/nolog tconfig 'th' -$ its_decc = false -$ its_vaxc = false -$ its_gnuc = false -$ s_case = False -$! -$! Setup variables holding "config" information -$! -$ Make = "" -$ name = "Zlib" -$ version = "?.?.?" -$ v_string = "ZLIB_VERSION" -$ v_file = "zlib.h" -$ ccopt = "" -$ lopts = "" -$ dnsrl = "" -$ aconf_in_file = "zconf.h.in#zconf.h_in" -$ conf_check_string = "" -$ linkonly = false -$ optfile = name + ".opt" -$ libdefs = "" -$ axp = f$getsyi("HW_MODEL").ge.1024 .and. f$getsyi("HW_MODEL").lt.4096 -$! -$ whoami = f$parse(f$enviornment("Procedure"),,,,"NO_CONCEAL") -$ mydef = F$parse(whoami,,,"DEVICE") -$ mydir = f$parse(whoami,,,"DIRECTORY") - "][" -$ myproc = f$parse(whoami,,,"Name") + f$parse(whoami,,,"type") -$! -$! Check for MMK/MMS -$! -$ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS" -$ If F$Type (MMK) .eqs. "STRING" Then Make = "MMK" -$! -$! -$ gosub find_version -$! -$ open/write topt tmp.opt -$ open/write optf 'optfile' -$! -$ gosub check_opts -$! -$! Look for the compiler used -$! -$ gosub check_compiler -$ close topt -$! -$ if its_decc -$ then -$ ccopt = "/prefix=all" + ccopt -$ if f$trnlnm("SYS") .eqs. "" -$ then -$ if axp -$ then -$ define sys sys$library: -$ else -$ ccopt = "/decc" + ccopt -$ define sys decc$library_include: -$ endif -$ endif -$ endif -$ if its_vaxc .or. its_gnuc -$ then -$ if f$trnlnm("SYS").eqs."" then define sys sys$library: -$ endif -$! -$! Build a fake configure input header -$! -$ open/write conf_hin config.hin -$ write conf_hin "#undef _LARGEFILE64_SOURCE" -$ close conf_hin -$! -$! -$ i = 0 -$FIND_ACONF: -$ fname = f$element(i,"#",aconf_in_file) -$ if fname .eqs. "#" then goto AMISS_ERR -$ if f$search(fname) .eqs. "" -$ then -$ i = i + 1 -$ goto find_aconf -$ endif -$ open/read/err=aconf_err aconf_in 'fname' -$ open/write aconf zconf.h -$ACONF_LOOP: -$ read/end_of_file=aconf_exit aconf_in line -$ work = f$edit(line, "compress,trim") -$ if f$extract(0,6,work) .nes. "#undef" -$ then -$ if f$extract(0,12,work) .nes. "#cmakedefine" -$ then -$ write aconf line -$ endif -$ else -$ cdef = f$element(1," ",work) -$ gosub check_config -$ endif -$ goto aconf_loop -$ACONF_EXIT: -$ write aconf "#define VMS 1" -$ write aconf "#include " -$ write aconf "#include " -$ write aconf "#ifdef _LARGEFILE" -$ write aconf "#define off64_t __off64_t" -$ write aconf "#define fopen64 fopen" -$ write aconf "#define fseeko64 fseeko" -$ write aconf "#define lseek64 lseek" -$ write aconf "#define ftello64 ftell" -$ write aconf "#endif" -$ close aconf_in -$ close aconf -$ if f$search("''th'") .nes. "" then delete 'th';* -$! Build the thing plain or with mms -$! -$ write sys$output "Compiling Zlib sources ..." -$ if make.eqs."" -$ then -$ dele example.obj;*,minigzip.obj;* -$ CALL MAKE adler32.OBJ "CC ''CCOPT' adler32" - - adler32.c zlib.h zconf.h -$ CALL MAKE compress.OBJ "CC ''CCOPT' compress" - - compress.c zlib.h zconf.h -$ CALL MAKE crc32.OBJ "CC ''CCOPT' crc32" - - crc32.c zlib.h zconf.h -$ CALL MAKE deflate.OBJ "CC ''CCOPT' deflate" - - deflate.c deflate.h zutil.h zlib.h zconf.h -$ CALL MAKE gzclose.OBJ "CC ''CCOPT' gzclose" - - gzclose.c zutil.h zlib.h zconf.h -$ CALL MAKE gzlib.OBJ "CC ''CCOPT' gzlib" - - gzlib.c zutil.h zlib.h zconf.h -$ CALL MAKE gzread.OBJ "CC ''CCOPT' gzread" - - gzread.c zutil.h zlib.h zconf.h -$ CALL MAKE gzwrite.OBJ "CC ''CCOPT' gzwrite" - - gzwrite.c zutil.h zlib.h zconf.h -$ CALL MAKE infback.OBJ "CC ''CCOPT' infback" - - infback.c zutil.h inftrees.h inflate.h inffast.h inffixed.h -$ CALL MAKE inffast.OBJ "CC ''CCOPT' inffast" - - inffast.c zutil.h zlib.h zconf.h inffast.h -$ CALL MAKE inflate.OBJ "CC ''CCOPT' inflate" - - inflate.c zutil.h zlib.h zconf.h infblock.h -$ CALL MAKE inftrees.OBJ "CC ''CCOPT' inftrees" - - inftrees.c zutil.h zlib.h zconf.h inftrees.h -$ CALL MAKE trees.OBJ "CC ''CCOPT' trees" - - trees.c deflate.h zutil.h zlib.h zconf.h -$ CALL MAKE uncompr.OBJ "CC ''CCOPT' uncompr" - - uncompr.c zlib.h zconf.h -$ CALL MAKE zutil.OBJ "CC ''CCOPT' zutil" - - zutil.c zutil.h zlib.h zconf.h -$ write sys$output "Building Zlib ..." -$ CALL MAKE libz.OLB "lib/crea libz.olb *.obj" *.OBJ -$ write sys$output "Building example..." -$ CALL MAKE example.OBJ "CC ''CCOPT' example" - - test/example.c zlib.h zconf.h -$ call make example.exe "LINK example,libz.olb/lib" example.obj libz.olb -$ if f$search("x11vms:xvmsutils.olb") .nes. "" -$ then -$ write sys$output "Building minigzip..." -$ CALL MAKE minigzip.OBJ "CC ''CCOPT' minigzip" - - test/minigzip.c zlib.h zconf.h -$ call make minigzip.exe - - "LINK minigzip,libz.olb/lib,x11vms:xvmsutils.olb/lib" - - minigzip.obj libz.olb -$ endif -$ else -$ gosub crea_mms -$ write sys$output "Make ''name' ''version' with ''Make' " -$ 'make' -$ endif -$! -$! Alpha gets a shareable image -$! -$ If axp -$ Then -$ gosub crea_olist -$ write sys$output "Creating libzshr.exe" -$ call anal_obj_axp modules.opt _link.opt -$ if s_case -$ then -$ open/append optf modules.opt -$ write optf "case_sensitive=YES" -$ close optf -$ endif -$ LINK_'lopts'/SHARE=libzshr.exe modules.opt/opt,_link.opt/opt -$ endif -$ write sys$output "Zlib build completed" -$ exit -$CC_ERR: -$ write sys$output "C compiler required to build ''name'" -$ goto err_exit -$ERR_EXIT: -$ set message/facil/ident/sever/text -$ close/nolog optf -$ close/nolog topt -$ close/nolog conf_hin -$ close/nolog aconf_in -$ close/nolog aconf -$ close/nolog out -$ close/nolog min -$ close/nolog mod -$ close/nolog h_in -$ write sys$output "Exiting..." -$ exit 2 -$! -$! -$MAKE: SUBROUTINE !SUBROUTINE TO CHECK DEPENDENCIES -$ V = 'F$Verify(0) -$! P1 = What we are trying to make -$! P2 = Command to make it -$! P3 - P8 What it depends on -$ -$ If F$Search(P1) .Eqs. "" Then Goto Makeit -$ Time = F$CvTime(F$File(P1,"RDT")) -$arg=3 -$Loop: -$ Argument = P'arg -$ If Argument .Eqs. "" Then Goto Exit -$ El=0 -$Loop2: -$ File = F$Element(El," ",Argument) -$ If File .Eqs. " " Then Goto Endl -$ AFile = "" -$Loop3: -$ OFile = AFile -$ AFile = F$Search(File) -$ If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl -$ If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit -$ Goto Loop3 -$NextEL: -$ El = El + 1 -$ Goto Loop2 -$EndL: -$ arg=arg+1 -$ If arg .Le. 8 Then Goto Loop -$ Goto Exit -$ -$Makeit: -$ VV=F$VERIFY(0) -$ write sys$output P2 -$ 'P2 -$ VV='F$Verify(VV) -$Exit: -$ If V Then Set Verify -$ENDSUBROUTINE -$!------------------------------------------------------------------------------ -$! -$! Check command line options and set symbols accordingly -$! -$!------------------------------------------------------------------------------ -$! Version history -$! 0.01 20041206 First version to receive a number -$! 0.02 20060126 Add new "HELP" target -$ CHECK_OPTS: -$ i = 1 -$ OPT_LOOP: -$ if i .lt. 9 -$ then -$ cparm = f$edit(p'i',"upcase") -$! -$! Check if parameter actually contains something -$! -$ if f$edit(cparm,"trim") .nes. "" -$ then -$ if cparm .eqs. "DEBUG" -$ then -$ ccopt = ccopt + "/noopt/deb" -$ lopts = lopts + "/deb" -$ endif -$ if f$locate("CCOPT=",cparm) .lt. f$length(cparm) -$ then -$ start = f$locate("=",cparm) + 1 -$ len = f$length(cparm) - start -$ ccopt = ccopt + f$extract(start,len,cparm) -$ if f$locate("AS_IS",f$edit(ccopt,"UPCASE")) .lt. f$length(ccopt) - - then s_case = true -$ endif -$ if cparm .eqs. "LINK" then linkonly = true -$ if f$locate("LOPTS=",cparm) .lt. f$length(cparm) -$ then -$ start = f$locate("=",cparm) + 1 -$ len = f$length(cparm) - start -$ lopts = lopts + f$extract(start,len,cparm) -$ endif -$ if f$locate("CC=",cparm) .lt. f$length(cparm) -$ then -$ start = f$locate("=",cparm) + 1 -$ len = f$length(cparm) - start -$ cc_com = f$extract(start,len,cparm) - if (cc_com .nes. "DECC") .and. - - (cc_com .nes. "VAXC") .and. - - (cc_com .nes. "GNUC") -$ then -$ write sys$output "Unsupported compiler choice ''cc_com' ignored" -$ write sys$output "Use DECC, VAXC, or GNUC instead" -$ else -$ if cc_com .eqs. "DECC" then its_decc = true -$ if cc_com .eqs. "VAXC" then its_vaxc = true -$ if cc_com .eqs. "GNUC" then its_gnuc = true -$ endif -$ endif -$ if f$locate("MAKE=",cparm) .lt. f$length(cparm) -$ then -$ start = f$locate("=",cparm) + 1 -$ len = f$length(cparm) - start -$ mmks = f$extract(start,len,cparm) -$ if (mmks .eqs. "MMK") .or. (mmks .eqs. "MMS") -$ then -$ make = mmks -$ else -$ write sys$output "Unsupported make choice ''mmks' ignored" -$ write sys$output "Use MMK or MMS instead" -$ endif -$ endif -$ if cparm .eqs. "HELP" then gosub bhelp -$ endif -$ i = i + 1 -$ goto opt_loop -$ endif -$ return -$!------------------------------------------------------------------------------ -$! -$! Look for the compiler used -$! -$! Version history -$! 0.01 20040223 First version to receive a number -$! 0.02 20040229 Save/set value of decc$no_rooted_search_lists -$! 0.03 20060202 Extend handling of GNU C -$! 0.04 20090402 Compaq -> hp -$CHECK_COMPILER: -$ if (.not. (its_decc .or. its_vaxc .or. its_gnuc)) -$ then -$ its_decc = (f$search("SYS$SYSTEM:DECC$COMPILER.EXE") .nes. "") -$ its_vaxc = .not. its_decc .and. (F$Search("SYS$System:VAXC.Exe") .nes. "") -$ its_gnuc = .not. (its_decc .or. its_vaxc) .and. (f$trnlnm("gnu_cc") .nes. "") -$ endif -$! -$! Exit if no compiler available -$! -$ if (.not. (its_decc .or. its_vaxc .or. its_gnuc)) -$ then goto CC_ERR -$ else -$ if its_decc -$ then -$ write sys$output "CC compiler check ... hp C" -$ if f$trnlnm("decc$no_rooted_search_lists") .nes. "" -$ then -$ dnrsl = f$trnlnm("decc$no_rooted_search_lists") -$ endif -$ define/nolog decc$no_rooted_search_lists 1 -$ else -$ if its_vaxc then write sys$output "CC compiler check ... VAX C" -$ if its_gnuc -$ then -$ write sys$output "CC compiler check ... GNU C" -$ if f$trnlnm(topt) then write topt "gnu_cc:[000000]gcclib.olb/lib" -$ if f$trnlnm(optf) then write optf "gnu_cc:[000000]gcclib.olb/lib" -$ cc = "gcc" -$ endif -$ if f$trnlnm(topt) then write topt "sys$share:vaxcrtl.exe/share" -$ if f$trnlnm(optf) then write optf "sys$share:vaxcrtl.exe/share" -$ endif -$ endif -$ return -$!------------------------------------------------------------------------------ -$! -$! If MMS/MMK are available dump out the descrip.mms if required -$! -$CREA_MMS: -$ write sys$output "Creating descrip.mms..." -$ create descrip.mms -$ open/append out descrip.mms -$ copy sys$input: out -$ deck -# descrip.mms: MMS description file for building zlib on VMS -# written by Martin P.J. Zinser -# - -OBJS = adler32.obj, compress.obj, crc32.obj, gzclose.obj, gzlib.obj\ - gzread.obj, gzwrite.obj, uncompr.obj, infback.obj\ - deflate.obj, trees.obj, zutil.obj, inflate.obj, \ - inftrees.obj, inffast.obj - -$ eod -$ write out "CFLAGS=", ccopt -$ write out "LOPTS=", lopts -$ copy sys$input: out -$ deck - -all : example.exe minigzip.exe libz.olb - @ write sys$output " Example applications available" - -libz.olb : libz.olb($(OBJS)) - @ write sys$output " libz available" - -example.exe : example.obj libz.olb - link $(LOPTS) example,libz.olb/lib - -minigzip.exe : minigzip.obj libz.olb - link $(LOPTS) minigzip,libz.olb/lib,x11vms:xvmsutils.olb/lib - -clean : - delete *.obj;*,libz.olb;*,*.opt;*,*.exe;* - - -# Other dependencies. -adler32.obj : adler32.c zutil.h zlib.h zconf.h -compress.obj : compress.c zlib.h zconf.h -crc32.obj : crc32.c zutil.h zlib.h zconf.h -deflate.obj : deflate.c deflate.h zutil.h zlib.h zconf.h -example.obj : test/example.c zlib.h zconf.h -gzclose.obj : gzclose.c zutil.h zlib.h zconf.h -gzlib.obj : gzlib.c zutil.h zlib.h zconf.h -gzread.obj : gzread.c zutil.h zlib.h zconf.h -gzwrite.obj : gzwrite.c zutil.h zlib.h zconf.h -inffast.obj : inffast.c zutil.h zlib.h zconf.h inftrees.h inffast.h -inflate.obj : inflate.c zutil.h zlib.h zconf.h -inftrees.obj : inftrees.c zutil.h zlib.h zconf.h inftrees.h -minigzip.obj : test/minigzip.c zlib.h zconf.h -trees.obj : trees.c deflate.h zutil.h zlib.h zconf.h -uncompr.obj : uncompr.c zlib.h zconf.h -zutil.obj : zutil.c zutil.h zlib.h zconf.h -infback.obj : infback.c zutil.h inftrees.h inflate.h inffast.h inffixed.h -$ eod -$ close out -$ return -$!------------------------------------------------------------------------------ -$! -$! Read list of core library sources from makefile.in and create options -$! needed to build shareable image -$! -$CREA_OLIST: -$ open/read min makefile.in -$ open/write mod modules.opt -$ src_check = "OBJC =" -$MRLOOP: -$ read/end=mrdone min rec -$ if (f$extract(0,6,rec) .nes. src_check) then goto mrloop -$ rec = rec - src_check -$ gosub extra_filnam -$ if (f$element(1,"\",rec) .eqs. "\") then goto mrdone -$MRSLOOP: -$ read/end=mrdone min rec -$ gosub extra_filnam -$ if (f$element(1,"\",rec) .nes. "\") then goto mrsloop -$MRDONE: -$ close min -$ close mod -$ return -$!------------------------------------------------------------------------------ -$! -$! Take record extracted in crea_olist and split it into single filenames -$! -$EXTRA_FILNAM: -$ myrec = f$edit(rec - "\", "trim,compress") -$ i = 0 -$FELOOP: -$ srcfil = f$element(i," ", myrec) -$ if (srcfil .nes. " ") -$ then -$ write mod f$parse(srcfil,,,"NAME"), ".obj" -$ i = i + 1 -$ goto feloop -$ endif -$ return -$!------------------------------------------------------------------------------ -$! -$! Find current Zlib version number -$! -$FIND_VERSION: -$ open/read h_in 'v_file' -$hloop: -$ read/end=hdone h_in rec -$ rec = f$edit(rec,"TRIM") -$ if (f$extract(0,1,rec) .nes. "#") then goto hloop -$ rec = f$edit(rec - "#", "TRIM") -$ if f$element(0," ",rec) .nes. "define" then goto hloop -$ if f$element(1," ",rec) .eqs. v_string -$ then -$ version = 'f$element(2," ",rec)' -$ goto hdone -$ endif -$ goto hloop -$hdone: -$ close h_in -$ return -$!------------------------------------------------------------------------------ -$! -$CHECK_CONFIG: -$! -$ in_ldef = f$locate(cdef,libdefs) -$ if (in_ldef .lt. f$length(libdefs)) -$ then -$ write aconf "#define ''cdef' 1" -$ libdefs = f$extract(0,in_ldef,libdefs) + - - f$extract(in_ldef + f$length(cdef) + 1, - - f$length(libdefs) - in_ldef - f$length(cdef) - 1, - - libdefs) -$ else -$ if (f$type('cdef') .eqs. "INTEGER") -$ then -$ write aconf "#define ''cdef' ", 'cdef' -$ else -$ if (f$type('cdef') .eqs. "STRING") -$ then -$ write aconf "#define ''cdef' ", """", '''cdef'', """" -$ else -$ gosub check_cc_def -$ endif -$ endif -$ endif -$ return -$!------------------------------------------------------------------------------ -$! -$! Check if this is a define relating to the properties of the C/C++ -$! compiler -$! -$ CHECK_CC_DEF: -$ if (cdef .eqs. "_LARGEFILE64_SOURCE") -$ then -$ copy sys$input: 'tc' -$ deck -#include "tconfig" -#define _LARGEFILE -#include - -int main(){ -FILE *fp; - fp = fopen("temp.txt","r"); - fseeko(fp,1,SEEK_SET); - fclose(fp); -} - -$ eod -$ test_inv = false -$ comm_h = false -$ gosub cc_prop_check -$ return -$ endif -$ write aconf "/* ", line, " */" -$ return -$!------------------------------------------------------------------------------ -$! -$! Check for properties of C/C++ compiler -$! -$! Version history -$! 0.01 20031020 First version to receive a number -$! 0.02 20031022 Added logic for defines with value -$! 0.03 20040309 Make sure local config file gets not deleted -$! 0.04 20041230 Also write include for configure run -$! 0.05 20050103 Add processing of "comment defines" -$CC_PROP_CHECK: -$ cc_prop = true -$ is_need = false -$ is_need = (f$extract(0,4,cdef) .eqs. "NEED") .or. (test_inv .eq. true) -$ if f$search(th) .eqs. "" then create 'th' -$ set message/nofac/noident/nosever/notext -$ on error then continue -$ cc 'tmpnam' -$ if .not. ($status) then cc_prop = false -$ on error then continue -$! The headers might lie about the capabilities of the RTL -$ link 'tmpnam',tmp.opt/opt -$ if .not. ($status) then cc_prop = false -$ set message/fac/ident/sever/text -$ on error then goto err_exit -$ delete/nolog 'tmpnam'.*;*/exclude='th' -$ if (cc_prop .and. .not. is_need) .or. - - (.not. cc_prop .and. is_need) -$ then -$ write sys$output "Checking for ''cdef'... yes" -$ if f$type('cdef_val'_yes) .nes. "" -$ then -$ if f$type('cdef_val'_yes) .eqs. "INTEGER" - - then call write_config f$fao("#define !AS !UL",cdef,'cdef_val'_yes) -$ if f$type('cdef_val'_yes) .eqs. "STRING" - - then call write_config f$fao("#define !AS !AS",cdef,'cdef_val'_yes) -$ else -$ call write_config f$fao("#define !AS 1",cdef) -$ endif -$ if (cdef .eqs. "HAVE_FSEEKO") .or. (cdef .eqs. "_LARGE_FILES") .or. - - (cdef .eqs. "_LARGEFILE64_SOURCE") then - - call write_config f$string("#define _LARGEFILE 1") -$ else -$ write sys$output "Checking for ''cdef'... no" -$ if (comm_h) -$ then - call write_config f$fao("/* !AS */",line) -$ else -$ if f$type('cdef_val'_no) .nes. "" -$ then -$ if f$type('cdef_val'_no) .eqs. "INTEGER" - - then call write_config f$fao("#define !AS !UL",cdef,'cdef_val'_no) -$ if f$type('cdef_val'_no) .eqs. "STRING" - - then call write_config f$fao("#define !AS !AS",cdef,'cdef_val'_no) -$ else -$ call write_config f$fao("#undef !AS",cdef) -$ endif -$ endif -$ endif -$ return -$!------------------------------------------------------------------------------ -$! -$! Check for properties of C/C++ compiler with multiple result values -$! -$! Version history -$! 0.01 20040127 First version -$! 0.02 20050103 Reconcile changes from cc_prop up to version 0.05 -$CC_MPROP_CHECK: -$ cc_prop = true -$ i = 1 -$ idel = 1 -$ MT_LOOP: -$ if f$type(result_'i') .eqs. "STRING" -$ then -$ set message/nofac/noident/nosever/notext -$ on error then continue -$ cc 'tmpnam'_'i' -$ if .not. ($status) then cc_prop = false -$ on error then continue -$! The headers might lie about the capabilities of the RTL -$ link 'tmpnam'_'i',tmp.opt/opt -$ if .not. ($status) then cc_prop = false -$ set message/fac/ident/sever/text -$ on error then goto err_exit -$ delete/nolog 'tmpnam'_'i'.*;* -$ if (cc_prop) -$ then -$ write sys$output "Checking for ''cdef'... ", mdef_'i' -$ if f$type(mdef_'i') .eqs. "INTEGER" - - then call write_config f$fao("#define !AS !UL",cdef,mdef_'i') -$ if f$type('cdef_val'_yes) .eqs. "STRING" - - then call write_config f$fao("#define !AS !AS",cdef,mdef_'i') -$ goto msym_clean -$ else -$ i = i + 1 -$ goto mt_loop -$ endif -$ endif -$ write sys$output "Checking for ''cdef'... no" -$ call write_config f$fao("#undef !AS",cdef) -$ MSYM_CLEAN: -$ if (idel .le. msym_max) -$ then -$ delete/sym mdef_'idel' -$ idel = idel + 1 -$ goto msym_clean -$ endif -$ return -$!------------------------------------------------------------------------------ -$! -$! Analyze Object files for OpenVMS AXP to extract Procedure and Data -$! information to build a symbol vector for a shareable image -$! All the "brains" of this logic was suggested by Hartmut Becker -$! (Hartmut.Becker@compaq.com). All the bugs were introduced by me -$! (zinser@zinser.no-ip.info), so if you do have problem reports please do not -$! bother Hartmut/HP, but get in touch with me -$! -$! Version history -$! 0.01 20040406 Skip over shareable images in option file -$! 0.02 20041109 Fix option file for shareable images with case_sensitive=YES -$! 0.03 20050107 Skip over Identification labels in option file -$! 0.04 20060117 Add uppercase alias to code compiled with /name=as_is -$! -$ ANAL_OBJ_AXP: Subroutine -$ V = 'F$Verify(0) -$ SAY := "WRITE_ SYS$OUTPUT" -$ -$ IF F$SEARCH("''P1'") .EQS. "" -$ THEN -$ SAY "ANAL_OBJ_AXP-E-NOSUCHFILE: Error, inputfile ''p1' not available" -$ goto exit_aa -$ ENDIF -$ IF "''P2'" .EQS. "" -$ THEN -$ SAY "ANAL_OBJ_AXP: Error, no output file provided" -$ goto exit_aa -$ ENDIF -$ -$ open/read in 'p1 -$ create a.tmp -$ open/append atmp a.tmp -$ loop: -$ read/end=end_loop in line -$ if f$locate("/SHARE",f$edit(line,"upcase")) .lt. f$length(line) -$ then -$ write sys$output "ANAL_SKP_SHR-i-skipshare, ''line'" -$ goto loop -$ endif -$ if f$locate("IDENTIFICATION=",f$edit(line,"upcase")) .lt. f$length(line) -$ then -$ write sys$output "ANAL_OBJ_AXP-i-ident: Identification ", - - f$element(1,"=",line) -$ goto loop -$ endif -$ f= f$search(line) -$ if f .eqs. "" -$ then -$ write sys$output "ANAL_OBJ_AXP-w-nosuchfile, ''line'" -$ goto loop -$ endif -$ define/user sys$output nl: -$ define/user sys$error nl: -$ anal/obj/gsd 'f /out=x.tmp -$ open/read xtmp x.tmp -$ XLOOP: -$ read/end=end_xloop xtmp xline -$ xline = f$edit(xline,"compress") -$ write atmp xline -$ goto xloop -$ END_XLOOP: -$ close xtmp -$ goto loop -$ end_loop: -$ close in -$ close atmp -$ if f$search("a.tmp") .eqs. "" - - then $ exit -$ ! all global definitions -$ search a.tmp "symbol:","EGSY$V_DEF 1","EGSY$V_NORM 1"/out=b.tmp -$ ! all procedures -$ search b.tmp "EGSY$V_NORM 1"/wind=(0,1) /out=c.tmp -$ search c.tmp "symbol:"/out=d.tmp -$ define/user sys$output nl: -$ edito/edt/command=sys$input d.tmp -sub/symbol: "/symbol_vector=(/whole -sub/"/=PROCEDURE)/whole -exit -$ ! all data -$ search b.tmp "EGSY$V_DEF 1"/wind=(0,1) /out=e.tmp -$ search e.tmp "symbol:"/out=f.tmp -$ define/user sys$output nl: -$ edito/edt/command=sys$input f.tmp -sub/symbol: "/symbol_vector=(/whole -sub/"/=DATA)/whole -exit -$ sort/nodupl d.tmp,f.tmp g.tmp -$ open/read raw_vector g.tmp -$ open/write case_vector 'p2' -$ RAWLOOP: -$ read/end=end_rawloop raw_vector raw_element -$ write case_vector raw_element -$ if f$locate("=PROCEDURE)",raw_element) .lt. f$length(raw_element) -$ then -$ name = f$element(1,"=",raw_element) - "(" -$ if f$edit(name,"UPCASE") .nes. name then - - write case_vector f$fao(" symbol_vector=(!AS/!AS=PROCEDURE)", - - f$edit(name,"UPCASE"), name) -$ endif -$ if f$locate("=DATA)",raw_element) .lt. f$length(raw_element) -$ then -$ name = f$element(1,"=",raw_element) - "(" -$ if f$edit(name,"UPCASE") .nes. name then - - write case_vector f$fao(" symbol_vector=(!AS/!AS=DATA)", - - f$edit(name,"UPCASE"), name) -$ endif -$ goto rawloop -$ END_RAWLOOP: -$ close raw_vector -$ close case_vector -$ delete a.tmp;*,b.tmp;*,c.tmp;*,d.tmp;*,e.tmp;*,f.tmp;*,g.tmp;* -$ if f$search("x.tmp") .nes. "" - - then $ delete x.tmp;* -$! -$ EXIT_AA: -$ if V then set verify -$ endsubroutine -$!------------------------------------------------------------------------------ -$! -$! Write configuration to both permanent and temporary config file -$! -$! Version history -$! 0.01 20031029 First version to receive a number -$! -$WRITE_CONFIG: SUBROUTINE -$ write aconf 'p1' -$ open/append confh 'th' -$ write confh 'p1' -$ close confh -$ENDSUBROUTINE -$!------------------------------------------------------------------------------ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/msdos/Makefile.bor b/org.simantics.modelica/FMUSolution/zlib-1.2.6/msdos/Makefile.bor deleted file mode 100644 index 3d12a2c2..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/msdos/Makefile.bor +++ /dev/null @@ -1,115 +0,0 @@ -# Makefile for zlib -# Borland C++ -# Last updated: 15-Mar-2003 - -# To use, do "make -fmakefile.bor" -# To compile in small model, set below: MODEL=s - -# WARNING: the small model is supported but only for small values of -# MAX_WBITS and MAX_MEM_LEVEL. For example: -# -DMAX_WBITS=11 -DDEF_WBITS=11 -DMAX_MEM_LEVEL=3 -# If you wish to reduce the memory requirements (default 256K for big -# objects plus a few K), you can add to the LOC macro below: -# -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14 -# See zconf.h for details about the memory requirements. - -# ------------ Turbo C++, Borland C++ ------------ - -# Optional nonstandard preprocessor flags (e.g. -DMAX_MEM_LEVEL=7) -# should be added to the environment via "set LOCAL_ZLIB=-DFOO" or added -# to the declaration of LOC here: -LOC = $(LOCAL_ZLIB) - -# type for CPU required: 0: 8086, 1: 80186, 2: 80286, 3: 80386, etc. -CPU_TYP = 0 - -# memory model: one of s, m, c, l (small, medium, compact, large) -MODEL=l - -# replace bcc with tcc for Turbo C++ 1.0, with bcc32 for the 32 bit version -CC=bcc -LD=bcc -AR=tlib - -# compiler flags -# replace "-O2" by "-O -G -a -d" for Turbo C++ 1.0 -CFLAGS=-O2 -Z -m$(MODEL) $(LOC) - -LDFLAGS=-m$(MODEL) -f- - - -# variables -ZLIB_LIB = zlib_$(MODEL).lib - -OBJ1 = adler32.obj compress.obj crc32.obj deflate.obj gzclose.obj gzlib.obj gzread.obj -OBJ2 = gzwrite.obj infback.obj inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj -OBJP1 = +adler32.obj+compress.obj+crc32.obj+deflate.obj+gzclose.obj+gzlib.obj+gzread.obj -OBJP2 = +gzwrite.obj+infback.obj+inffast.obj+inflate.obj+inftrees.obj+trees.obj+uncompr.obj+zutil.obj - - -# targets -all: $(ZLIB_LIB) example.exe minigzip.exe - -.c.obj: - $(CC) -c $(CFLAGS) $*.c - -adler32.obj: adler32.c zlib.h zconf.h - -compress.obj: compress.c zlib.h zconf.h - -crc32.obj: crc32.c zlib.h zconf.h crc32.h - -deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h - -gzclose.obj: gzclose.c zlib.h zconf.h gzguts.h - -gzlib.obj: gzlib.c zlib.h zconf.h gzguts.h - -gzread.obj: gzread.c zlib.h zconf.h gzguts.h - -gzwrite.obj: gzwrite.c zlib.h zconf.h gzguts.h - -infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h inffixed.h - -inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h - -inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h inffixed.h - -inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h - -trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h - -uncompr.obj: uncompr.c zlib.h zconf.h - -zutil.obj: zutil.c zutil.h zlib.h zconf.h - -example.obj: test/example.c zlib.h zconf.h - -minigzip.obj: test/minigzip.c zlib.h zconf.h - - -# the command line is cut to fit in the MS-DOS 128 byte limit: -$(ZLIB_LIB): $(OBJ1) $(OBJ2) - -del $(ZLIB_LIB) - $(AR) $(ZLIB_LIB) $(OBJP1) - $(AR) $(ZLIB_LIB) $(OBJP2) - -example.exe: example.obj $(ZLIB_LIB) - $(LD) $(LDFLAGS) example.obj $(ZLIB_LIB) - -minigzip.exe: minigzip.obj $(ZLIB_LIB) - $(LD) $(LDFLAGS) minigzip.obj $(ZLIB_LIB) - -test: example.exe minigzip.exe - example - echo hello world | minigzip | minigzip -d - -clean: - -del *.obj - -del *.lib - -del *.exe - -del zlib_*.bak - -del foo.gz diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/msdos/Makefile.dj2 b/org.simantics.modelica/FMUSolution/zlib-1.2.6/msdos/Makefile.dj2 deleted file mode 100644 index 29b03954..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/msdos/Makefile.dj2 +++ /dev/null @@ -1,104 +0,0 @@ -# Makefile for zlib. Modified for djgpp v2.0 by F. J. Donahoe, 3/15/96. -# Copyright (C) 1995-1998 Jean-loup Gailly. -# For conditions of distribution and use, see copyright notice in zlib.h - -# To compile, or to compile and test, type: -# -# make -fmakefile.dj2; make test -fmakefile.dj2 -# -# To install libz.a, zconf.h and zlib.h in the djgpp directories, type: -# -# make install -fmakefile.dj2 -# -# after first defining LIBRARY_PATH and INCLUDE_PATH in djgpp.env as -# in the sample below if the pattern of the DJGPP distribution is to -# be followed. Remember that, while 'es around <=> are ignored in -# makefiles, they are *not* in batch files or in djgpp.env. -# - - - - - -# [make] -# INCLUDE_PATH=%\>;INCLUDE_PATH%%\DJDIR%\include -# LIBRARY_PATH=%\>;LIBRARY_PATH%%\DJDIR%\lib -# BUTT=-m486 -# - - - - - -# Alternately, these variables may be defined below, overriding the values -# in djgpp.env, as -# INCLUDE_PATH=c:\usr\include -# LIBRARY_PATH=c:\usr\lib - -CC=gcc - -#CFLAGS=-MMD -O -#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 -#CFLAGS=-MMD -g -DDEBUG -CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \ - -Wstrict-prototypes -Wmissing-prototypes - -# If cp.exe is available, replace "copy /Y" with "cp -fp" . -CP=copy /Y -# If gnu install.exe is available, replace $(CP) with ginstall. -INSTALL=$(CP) -# The default value of RM is "rm -f." If "rm.exe" is found, comment out: -RM=del -LDLIBS=-L. -lz -LD=$(CC) -s -o -LDSHARED=$(CC) - -INCL=zlib.h zconf.h -LIBS=libz.a - -AR=ar rcs - -prefix=/usr/local -exec_prefix = $(prefix) - -OBJS = adler32.o compress.o crc32.o gzclose.o gzlib.o gzread.o gzwrite.o \ - uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o - -OBJA = -# to use the asm code: make OBJA=match.o - -TEST_OBJS = example.o minigzip.o - -all: example.exe minigzip.exe - -check: test -test: all - ./example - echo hello world | .\minigzip | .\minigzip -d - -%.o : %.c - $(CC) $(CFLAGS) -c $< -o $@ - -libz.a: $(OBJS) $(OBJA) - $(AR) $@ $(OBJS) $(OBJA) - -%.exe : %.o $(LIBS) - $(LD) $@ $< $(LDLIBS) - -# INCLUDE_PATH and LIBRARY_PATH were set for [make] in djgpp.env . - -.PHONY : uninstall clean - -install: $(INCL) $(LIBS) - -@if not exist $(INCLUDE_PATH)\nul mkdir $(INCLUDE_PATH) - -@if not exist $(LIBRARY_PATH)\nul mkdir $(LIBRARY_PATH) - $(INSTALL) zlib.h $(INCLUDE_PATH) - $(INSTALL) zconf.h $(INCLUDE_PATH) - $(INSTALL) libz.a $(LIBRARY_PATH) - -uninstall: - $(RM) $(INCLUDE_PATH)\zlib.h - $(RM) $(INCLUDE_PATH)\zconf.h - $(RM) $(LIBRARY_PATH)\libz.a - -clean: - $(RM) *.d - $(RM) *.o - $(RM) *.exe - $(RM) libz.a - $(RM) foo.gz - -DEPS := $(wildcard *.d) -ifneq ($(DEPS),) -include $(DEPS) -endif diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/msdos/Makefile.emx b/org.simantics.modelica/FMUSolution/zlib-1.2.6/msdos/Makefile.emx deleted file mode 100644 index 9c1b57a5..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/msdos/Makefile.emx +++ /dev/null @@ -1,69 +0,0 @@ -# Makefile for zlib. Modified for emx 0.9c by Chr. Spieler, 6/17/98. -# Copyright (C) 1995-1998 Jean-loup Gailly. -# For conditions of distribution and use, see copyright notice in zlib.h - -# To compile, or to compile and test, type: -# -# make -fmakefile.emx; make test -fmakefile.emx -# - -CC=gcc - -#CFLAGS=-MMD -O -#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 -#CFLAGS=-MMD -g -DDEBUG -CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \ - -Wstrict-prototypes -Wmissing-prototypes - -# If cp.exe is available, replace "copy /Y" with "cp -fp" . -CP=copy /Y -# If gnu install.exe is available, replace $(CP) with ginstall. -INSTALL=$(CP) -# The default value of RM is "rm -f." If "rm.exe" is found, comment out: -RM=del -LDLIBS=-L. -lzlib -LD=$(CC) -s -o -LDSHARED=$(CC) - -INCL=zlib.h zconf.h -LIBS=zlib.a - -AR=ar rcs - -prefix=/usr/local -exec_prefix = $(prefix) - -OBJS = adler32.o compress.o crc32.o gzclose.o gzlib.o gzread.o gzwrite.o \ - uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o - -TEST_OBJS = example.o minigzip.o - -all: example.exe minigzip.exe - -test: all - ./example - echo hello world | .\minigzip | .\minigzip -d - -%.o : %.c - $(CC) $(CFLAGS) -c $< -o $@ - -zlib.a: $(OBJS) - $(AR) $@ $(OBJS) - -%.exe : %.o $(LIBS) - $(LD) $@ $< $(LDLIBS) - - -.PHONY : clean - -clean: - $(RM) *.d - $(RM) *.o - $(RM) *.exe - $(RM) zlib.a - $(RM) foo.gz - -DEPS := $(wildcard *.d) -ifneq ($(DEPS),) -include $(DEPS) -endif diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/msdos/Makefile.msc b/org.simantics.modelica/FMUSolution/zlib-1.2.6/msdos/Makefile.msc deleted file mode 100644 index ae837861..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/msdos/Makefile.msc +++ /dev/null @@ -1,112 +0,0 @@ -# Makefile for zlib -# Microsoft C 5.1 or later -# Last updated: 19-Mar-2003 - -# To use, do "make makefile.msc" -# To compile in small model, set below: MODEL=S - -# If you wish to reduce the memory requirements (default 256K for big -# objects plus a few K), you can add to the LOC macro below: -# -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14 -# See zconf.h for details about the memory requirements. - -# ------------- Microsoft C 5.1 and later ------------- - -# Optional nonstandard preprocessor flags (e.g. -DMAX_MEM_LEVEL=7) -# should be added to the environment via "set LOCAL_ZLIB=-DFOO" or added -# to the declaration of LOC here: -LOC = $(LOCAL_ZLIB) - -# Type for CPU required: 0: 8086, 1: 80186, 2: 80286, 3: 80386, etc. -CPU_TYP = 0 - -# Memory model: one of S, M, C, L (small, medium, compact, large) -MODEL=L - -CC=cl -CFLAGS=-nologo -A$(MODEL) -G$(CPU_TYP) -W3 -Oait -Gs $(LOC) -#-Ox generates bad code with MSC 5.1 -LIB_CFLAGS=-Zl $(CFLAGS) - -LD=link -LDFLAGS=/noi/e/st:0x1500/noe/farcall/packcode -# "/farcall/packcode" are only useful for `large code' memory models -# but should be a "no-op" for small code models. - - -# variables -ZLIB_LIB = zlib_$(MODEL).lib - -OBJ1 = adler32.obj compress.obj crc32.obj deflate.obj gzclose.obj gzlib.obj gzread.obj -OBJ2 = gzwrite.obj infback.obj inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj - - -# targets -all: $(ZLIB_LIB) example.exe minigzip.exe - -.c.obj: - $(CC) -c $(LIB_CFLAGS) $*.c - -adler32.obj: adler32.c zlib.h zconf.h - -compress.obj: compress.c zlib.h zconf.h - -crc32.obj: crc32.c zlib.h zconf.h crc32.h - -deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h - -gzclose.obj: gzclose.c zlib.h zconf.h gzguts.h - -gzlib.obj: gzlib.c zlib.h zconf.h gzguts.h - -gzread.obj: gzread.c zlib.h zconf.h gzguts.h - -gzwrite.obj: gzwrite.c zlib.h zconf.h gzguts.h - -infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h inffixed.h - -inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h - -inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h inffixed.h - -inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h - -trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h - -uncompr.obj: uncompr.c zlib.h zconf.h - -zutil.obj: zutil.c zutil.h zlib.h zconf.h - -example.obj: test/example.c zlib.h zconf.h - $(CC) -c $(CFLAGS) $*.c - -minigzip.obj: test/minigzip.c zlib.h zconf.h - $(CC) -c $(CFLAGS) $*.c - - -# the command line is cut to fit in the MS-DOS 128 byte limit: -$(ZLIB_LIB): $(OBJ1) $(OBJ2) - if exist $(ZLIB_LIB) del $(ZLIB_LIB) - lib $(ZLIB_LIB) $(OBJ1); - lib $(ZLIB_LIB) $(OBJ2); - -example.exe: example.obj $(ZLIB_LIB) - $(LD) $(LDFLAGS) example.obj,,,$(ZLIB_LIB); - -minigzip.exe: minigzip.obj $(ZLIB_LIB) - $(LD) $(LDFLAGS) minigzip.obj,,,$(ZLIB_LIB); - -test: example.exe minigzip.exe - example - echo hello world | minigzip | minigzip -d - -clean: - -del *.obj - -del *.lib - -del *.exe - -del *.map - -del zlib_*.bak - -del foo.gz diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/msdos/Makefile.tc b/org.simantics.modelica/FMUSolution/zlib-1.2.6/msdos/Makefile.tc deleted file mode 100644 index 5aec82a9..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/msdos/Makefile.tc +++ /dev/null @@ -1,100 +0,0 @@ -# Makefile for zlib -# Turbo C 2.01, Turbo C++ 1.01 -# Last updated: 15-Mar-2003 - -# To use, do "make -fmakefile.tc" -# To compile in small model, set below: MODEL=s - -# WARNING: the small model is supported but only for small values of -# MAX_WBITS and MAX_MEM_LEVEL. For example: -# -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3 -# If you wish to reduce the memory requirements (default 256K for big -# objects plus a few K), you can add to CFLAGS below: -# -DMAX_MEM_LEVEL=7 -DMAX_WBITS=14 -# See zconf.h for details about the memory requirements. - -# ------------ Turbo C 2.01, Turbo C++ 1.01 ------------ -MODEL=l -CC=tcc -LD=tcc -AR=tlib -# CFLAGS=-O2 -G -Z -m$(MODEL) -DMAX_WBITS=11 -DMAX_MEM_LEVEL=3 -CFLAGS=-O2 -G -Z -m$(MODEL) -LDFLAGS=-m$(MODEL) -f- - - -# variables -ZLIB_LIB = zlib_$(MODEL).lib - -OBJ1 = adler32.obj compress.obj crc32.obj deflate.obj gzclose.obj gzlib.obj gzread.obj -OBJ2 = gzwrite.obj infback.obj inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj -OBJP1 = +adler32.obj+compress.obj+crc32.obj+deflate.obj+gzclose.obj+gzlib.obj+gzread.obj -OBJP2 = +gzwrite.obj+infback.obj+inffast.obj+inflate.obj+inftrees.obj+trees.obj+uncompr.obj+zutil.obj - - -# targets -all: $(ZLIB_LIB) example.exe minigzip.exe - -.c.obj: - $(CC) -c $(CFLAGS) $*.c - -adler32.obj: adler32.c zlib.h zconf.h - -compress.obj: compress.c zlib.h zconf.h - -crc32.obj: crc32.c zlib.h zconf.h crc32.h - -deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h - -gzclose.obj: gzclose.c zlib.h zconf.h gzguts.h - -gzlib.obj: gzlib.c zlib.h zconf.h gzguts.h - -gzread.obj: gzread.c zlib.h zconf.h gzguts.h - -gzwrite.obj: gzwrite.c zlib.h zconf.h gzguts.h - -infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h inffixed.h - -inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h - -inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h inffixed.h - -inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h - -trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h - -uncompr.obj: uncompr.c zlib.h zconf.h - -zutil.obj: zutil.c zutil.h zlib.h zconf.h - -example.obj: test/example.c zlib.h zconf.h - -minigzip.obj: test/minigzip.c zlib.h zconf.h - - -# the command line is cut to fit in the MS-DOS 128 byte limit: -$(ZLIB_LIB): $(OBJ1) $(OBJ2) - -del $(ZLIB_LIB) - $(AR) $(ZLIB_LIB) $(OBJP1) - $(AR) $(ZLIB_LIB) $(OBJP2) - -example.exe: example.obj $(ZLIB_LIB) - $(LD) $(LDFLAGS) example.obj $(ZLIB_LIB) - -minigzip.exe: minigzip.obj $(ZLIB_LIB) - $(LD) $(LDFLAGS) minigzip.obj $(ZLIB_LIB) - -test: example.exe minigzip.exe - example - echo hello world | minigzip | minigzip -d - -clean: - -del *.obj - -del *.lib - -del *.exe - -del zlib_*.bak - -del foo.gz diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/nintendods/Makefile b/org.simantics.modelica/FMUSolution/zlib-1.2.6/nintendods/Makefile deleted file mode 100644 index 21337d01..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/nintendods/Makefile +++ /dev/null @@ -1,126 +0,0 @@ -#--------------------------------------------------------------------------------- -.SUFFIXES: -#--------------------------------------------------------------------------------- - -ifeq ($(strip $(DEVKITARM)),) -$(error "Please set DEVKITARM in your environment. export DEVKITARM=devkitARM") -endif - -include $(DEVKITARM)/ds_rules - -#--------------------------------------------------------------------------------- -# TARGET is the name of the output -# BUILD is the directory where object files & intermediate files will be placed -# SOURCES is a list of directories containing source code -# DATA is a list of directories containing data files -# INCLUDES is a list of directories containing header files -#--------------------------------------------------------------------------------- -TARGET := $(shell basename $(CURDIR)) -BUILD := build -SOURCES := ../../ -DATA := data -INCLUDES := include - -#--------------------------------------------------------------------------------- -# options for code generation -#--------------------------------------------------------------------------------- -ARCH := -mthumb -mthumb-interwork - -CFLAGS := -Wall -O2\ - -march=armv5te -mtune=arm946e-s \ - -fomit-frame-pointer -ffast-math \ - $(ARCH) - -CFLAGS += $(INCLUDE) -DARM9 -CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions - -ASFLAGS := $(ARCH) -march=armv5te -mtune=arm946e-s -LDFLAGS = -specs=ds_arm9.specs -g $(ARCH) -Wl,-Map,$(notdir $*.map) - -#--------------------------------------------------------------------------------- -# list of directories containing libraries, this must be the top level containing -# include and lib -#--------------------------------------------------------------------------------- -LIBDIRS := $(LIBNDS) - -#--------------------------------------------------------------------------------- -# no real need to edit anything past this point unless you need to add additional -# rules for different file extensions -#--------------------------------------------------------------------------------- -ifneq ($(BUILD),$(notdir $(CURDIR))) -#--------------------------------------------------------------------------------- - -export OUTPUT := $(CURDIR)/lib/libz.a - -export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \ - $(foreach dir,$(DATA),$(CURDIR)/$(dir)) - -export DEPSDIR := $(CURDIR)/$(BUILD) - -CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) -CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) -SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) -BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) - -#--------------------------------------------------------------------------------- -# use CXX for linking C++ projects, CC for standard C -#--------------------------------------------------------------------------------- -ifeq ($(strip $(CPPFILES)),) -#--------------------------------------------------------------------------------- - export LD := $(CC) -#--------------------------------------------------------------------------------- -else -#--------------------------------------------------------------------------------- - export LD := $(CXX) -#--------------------------------------------------------------------------------- -endif -#--------------------------------------------------------------------------------- - -export OFILES := $(addsuffix .o,$(BINFILES)) \ - $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o) - -export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \ - $(foreach dir,$(LIBDIRS),-I$(dir)/include) \ - -I$(CURDIR)/$(BUILD) - -.PHONY: $(BUILD) clean all - -#--------------------------------------------------------------------------------- -all: $(BUILD) - @[ -d $@ ] || mkdir -p include - @cp ../../*.h include - -lib: - @[ -d $@ ] || mkdir -p $@ - -$(BUILD): lib - @[ -d $@ ] || mkdir -p $@ - @$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile - -#--------------------------------------------------------------------------------- -clean: - @echo clean ... - @rm -fr $(BUILD) lib - -#--------------------------------------------------------------------------------- -else - -DEPENDS := $(OFILES:.o=.d) - -#--------------------------------------------------------------------------------- -# main targets -#--------------------------------------------------------------------------------- -$(OUTPUT) : $(OFILES) - -#--------------------------------------------------------------------------------- -%.bin.o : %.bin -#--------------------------------------------------------------------------------- - @echo $(notdir $<) - @$(bin2o) - - --include $(DEPENDS) - -#--------------------------------------------------------------------------------------- -endif -#--------------------------------------------------------------------------------------- diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/nintendods/README b/org.simantics.modelica/FMUSolution/zlib-1.2.6/nintendods/README deleted file mode 100644 index ba7a37db..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/nintendods/README +++ /dev/null @@ -1,5 +0,0 @@ -This Makefile requires devkitARM (http://www.devkitpro.org/category/devkitarm/) and works inside "contrib/nds". It is based on a devkitARM template. - -Eduardo Costa -January 3, 2009 - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/old/Makefile.riscos b/org.simantics.modelica/FMUSolution/zlib-1.2.6/old/Makefile.riscos deleted file mode 100644 index 57e29d3f..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/old/Makefile.riscos +++ /dev/null @@ -1,151 +0,0 @@ -# Project: zlib_1_03 -# Patched for zlib 1.1.2 rw@shadow.org.uk 19980430 -# test works out-of-the-box, installs `somewhere' on demand - -# Toolflags: -CCflags = -c -depend !Depend -IC: -g -throwback -DRISCOS -fah -C++flags = -c -depend !Depend -IC: -throwback -Linkflags = -aif -c++ -o $@ -ObjAsmflags = -throwback -NoCache -depend !Depend -CMHGflags = -LibFileflags = -c -l -o $@ -Squeezeflags = -o $@ - -# change the line below to where _you_ want the library installed. -libdest = lib:zlib - -# Final targets: -@.lib: @.o.adler32 @.o.compress @.o.crc32 @.o.deflate @.o.gzio \ - @.o.infblock @.o.infcodes @.o.inffast @.o.inflate @.o.inftrees @.o.infutil @.o.trees \ - @.o.uncompr @.o.zutil - LibFile $(LibFileflags) @.o.adler32 @.o.compress @.o.crc32 @.o.deflate \ - @.o.gzio @.o.infblock @.o.infcodes @.o.inffast @.o.inflate @.o.inftrees @.o.infutil \ - @.o.trees @.o.uncompr @.o.zutil -test: @.minigzip @.example @.lib - @copy @.lib @.libc A~C~DF~L~N~P~Q~RS~TV - @echo running tests: hang on. - @/@.minigzip -f -9 libc - @/@.minigzip -d libc-gz - @/@.minigzip -f -1 libc - @/@.minigzip -d libc-gz - @/@.minigzip -h -9 libc - @/@.minigzip -d libc-gz - @/@.minigzip -h -1 libc - @/@.minigzip -d libc-gz - @/@.minigzip -9 libc - @/@.minigzip -d libc-gz - @/@.minigzip -1 libc - @/@.minigzip -d libc-gz - @diff @.lib @.libc - @echo that should have reported '@.lib and @.libc identical' if you have diff. - @/@.example @.fred @.fred - @echo that will have given lots of hello!'s. - -@.minigzip: @.o.minigzip @.lib C:o.Stubs - Link $(Linkflags) @.o.minigzip @.lib C:o.Stubs -@.example: @.o.example @.lib C:o.Stubs - Link $(Linkflags) @.o.example @.lib C:o.Stubs - -install: @.lib - cdir $(libdest) - cdir $(libdest).h - @copy @.h.zlib $(libdest).h.zlib A~C~DF~L~N~P~Q~RS~TV - @copy @.h.zconf $(libdest).h.zconf A~C~DF~L~N~P~Q~RS~TV - @copy @.lib $(libdest).lib A~C~DF~L~N~P~Q~RS~TV - @echo okay, installed zlib in $(libdest) - -clean:; remove @.minigzip - remove @.example - remove @.libc - -wipe @.o.* F~r~cV - remove @.fred - -# User-editable dependencies: -.c.o: - cc $(ccflags) -o $@ $< - -# Static dependencies: - -# Dynamic dependencies: -o.example: c.example -o.example: h.zlib -o.example: h.zconf -o.minigzip: c.minigzip -o.minigzip: h.zlib -o.minigzip: h.zconf -o.adler32: c.adler32 -o.adler32: h.zlib -o.adler32: h.zconf -o.compress: c.compress -o.compress: h.zlib -o.compress: h.zconf -o.crc32: c.crc32 -o.crc32: h.zlib -o.crc32: h.zconf -o.deflate: c.deflate -o.deflate: h.deflate -o.deflate: h.zutil -o.deflate: h.zlib -o.deflate: h.zconf -o.gzio: c.gzio -o.gzio: h.zutil -o.gzio: h.zlib -o.gzio: h.zconf -o.infblock: c.infblock -o.infblock: h.zutil -o.infblock: h.zlib -o.infblock: h.zconf -o.infblock: h.infblock -o.infblock: h.inftrees -o.infblock: h.infcodes -o.infblock: h.infutil -o.infcodes: c.infcodes -o.infcodes: h.zutil -o.infcodes: h.zlib -o.infcodes: h.zconf -o.infcodes: h.inftrees -o.infcodes: h.infblock -o.infcodes: h.infcodes -o.infcodes: h.infutil -o.infcodes: h.inffast -o.inffast: c.inffast -o.inffast: h.zutil -o.inffast: h.zlib -o.inffast: h.zconf -o.inffast: h.inftrees -o.inffast: h.infblock -o.inffast: h.infcodes -o.inffast: h.infutil -o.inffast: h.inffast -o.inflate: c.inflate -o.inflate: h.zutil -o.inflate: h.zlib -o.inflate: h.zconf -o.inflate: h.infblock -o.inftrees: c.inftrees -o.inftrees: h.zutil -o.inftrees: h.zlib -o.inftrees: h.zconf -o.inftrees: h.inftrees -o.inftrees: h.inffixed -o.infutil: c.infutil -o.infutil: h.zutil -o.infutil: h.zlib -o.infutil: h.zconf -o.infutil: h.infblock -o.infutil: h.inftrees -o.infutil: h.infcodes -o.infutil: h.infutil -o.trees: c.trees -o.trees: h.deflate -o.trees: h.zutil -o.trees: h.zlib -o.trees: h.zconf -o.trees: h.trees -o.uncompr: c.uncompr -o.uncompr: h.zlib -o.uncompr: h.zconf -o.zutil: c.zutil -o.zutil: h.zutil -o.zutil: h.zlib -o.zutil: h.zconf diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/old/README b/org.simantics.modelica/FMUSolution/zlib-1.2.6/old/README deleted file mode 100644 index 800bf079..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/old/README +++ /dev/null @@ -1,3 +0,0 @@ -This directory contains files that have not been updated for zlib 1.2.x - -(Volunteers are encouraged to help clean this up. Thanks.) diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/old/descrip.mms b/org.simantics.modelica/FMUSolution/zlib-1.2.6/old/descrip.mms deleted file mode 100644 index 7066da5b..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/old/descrip.mms +++ /dev/null @@ -1,48 +0,0 @@ -# descrip.mms: MMS description file for building zlib on VMS -# written by Martin P.J. Zinser - -cc_defs = -c_deb = - -.ifdef __DECC__ -pref = /prefix=all -.endif - -OBJS = adler32.obj, compress.obj, crc32.obj, gzio.obj, uncompr.obj,\ - deflate.obj, trees.obj, zutil.obj, inflate.obj, infblock.obj,\ - inftrees.obj, infcodes.obj, infutil.obj, inffast.obj - -CFLAGS= $(C_DEB) $(CC_DEFS) $(PREF) - -all : example.exe minigzip.exe - @ write sys$output " Example applications available" -libz.olb : libz.olb($(OBJS)) - @ write sys$output " libz available" - -example.exe : example.obj libz.olb - link example,libz.olb/lib - -minigzip.exe : minigzip.obj libz.olb - link minigzip,libz.olb/lib,x11vms:xvmsutils.olb/lib - -clean : - delete *.obj;*,libz.olb;* - - -# Other dependencies. -adler32.obj : zutil.h zlib.h zconf.h -compress.obj : zlib.h zconf.h -crc32.obj : zutil.h zlib.h zconf.h -deflate.obj : deflate.h zutil.h zlib.h zconf.h -example.obj : zlib.h zconf.h -gzio.obj : zutil.h zlib.h zconf.h -infblock.obj : zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h -infcodes.obj : zutil.h zlib.h zconf.h inftrees.h infutil.h infcodes.h inffast.h -inffast.obj : zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h -inflate.obj : zutil.h zlib.h zconf.h infblock.h -inftrees.obj : zutil.h zlib.h zconf.h inftrees.h -infutil.obj : zutil.h zlib.h zconf.h inftrees.h infutil.h -minigzip.obj : zlib.h zconf.h -trees.obj : deflate.h zutil.h zlib.h zconf.h -uncompr.obj : zlib.h zconf.h -zutil.obj : zutil.h zlib.h zconf.h diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/old/os2/Makefile.os2 b/org.simantics.modelica/FMUSolution/zlib-1.2.6/old/os2/Makefile.os2 deleted file mode 100644 index a105aaa5..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/old/os2/Makefile.os2 +++ /dev/null @@ -1,136 +0,0 @@ -# Makefile for zlib under OS/2 using GCC (PGCC) -# For conditions of distribution and use, see copyright notice in zlib.h - -# To compile and test, type: -# cp Makefile.os2 .. -# cd .. -# make -f Makefile.os2 test - -# This makefile will build a static library z.lib, a shared library -# z.dll and a import library zdll.lib. You can use either z.lib or -# zdll.lib by specifying either -lz or -lzdll on gcc's command line - -CC=gcc -Zomf -s - -CFLAGS=-O6 -Wall -#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 -#CFLAGS=-g -DDEBUG -#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \ -# -Wstrict-prototypes -Wmissing-prototypes - -#################### BUG WARNING: ##################### -## infcodes.c hits a bug in pgcc-1.0, so you have to use either -## -O# where # <= 4 or one of (-fno-ommit-frame-pointer or -fno-force-mem) -## This bug is reportedly fixed in pgcc >1.0, but this was not tested -CFLAGS+=-fno-force-mem - -LDFLAGS=-s -L. -lzdll -Zcrtdll -LDSHARED=$(CC) -s -Zomf -Zdll -Zcrtdll - -VER=1.1.0 -ZLIB=z.lib -SHAREDLIB=z.dll -SHAREDLIBIMP=zdll.lib -LIBS=$(ZLIB) $(SHAREDLIB) $(SHAREDLIBIMP) - -AR=emxomfar cr -IMPLIB=emximp -RANLIB=echo -TAR=tar -SHELL=bash - -prefix=/usr/local -exec_prefix = $(prefix) - -OBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \ - zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o - -TEST_OBJS = example.o minigzip.o - -DISTFILES = README INDEX ChangeLog configure Make*[a-z0-9] *.[ch] descrip.mms \ - algorithm.txt zlib.3 msdos/Make*[a-z0-9] msdos/zlib.def msdos/zlib.rc \ - nt/Makefile.nt nt/zlib.dnt contrib/README.contrib contrib/*.txt \ - contrib/asm386/*.asm contrib/asm386/*.c \ - contrib/asm386/*.bat contrib/asm386/zlibvc.d?? contrib/iostream/*.cpp \ - contrib/iostream/*.h contrib/iostream2/*.h contrib/iostream2/*.cpp \ - contrib/untgz/Makefile contrib/untgz/*.c contrib/untgz/*.w32 - -all: example.exe minigzip.exe - -test: all - @LD_LIBRARY_PATH=.:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \ - echo hello world | ./minigzip | ./minigzip -d || \ - echo ' *** minigzip test FAILED ***' ; \ - if ./example; then \ - echo ' *** zlib test OK ***'; \ - else \ - echo ' *** zlib test FAILED ***'; \ - fi - -$(ZLIB): $(OBJS) - $(AR) $@ $(OBJS) - -@ ($(RANLIB) $@ || true) >/dev/null 2>&1 - -$(SHAREDLIB): $(OBJS) os2/z.def - $(LDSHARED) -o $@ $^ - -$(SHAREDLIBIMP): os2/z.def - $(IMPLIB) -o $@ $^ - -example.exe: example.o $(LIBS) - $(CC) $(CFLAGS) -o $@ example.o $(LDFLAGS) - -minigzip.exe: minigzip.o $(LIBS) - $(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS) - -clean: - rm -f *.o *~ example minigzip libz.a libz.so* foo.gz - -distclean: clean - -zip: - mv Makefile Makefile~; cp -p Makefile.in Makefile - rm -f test.c ztest*.c - v=`sed -n -e 's/\.//g' -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`;\ - zip -ul9 zlib$$v $(DISTFILES) - mv Makefile~ Makefile - -dist: - mv Makefile Makefile~; cp -p Makefile.in Makefile - rm -f test.c ztest*.c - d=zlib-`sed -n '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`;\ - rm -f $$d.tar.gz; \ - if test ! -d ../$$d; then rm -f ../$$d; ln -s `pwd` ../$$d; fi; \ - files=""; \ - for f in $(DISTFILES); do files="$$files $$d/$$f"; done; \ - cd ..; \ - GZIP=-9 $(TAR) chofz $$d/$$d.tar.gz $$files; \ - if test ! -d $$d; then rm -f $$d; fi - mv Makefile~ Makefile - -tags: - etags *.[ch] - -depend: - makedepend -- $(CFLAGS) -- *.[ch] - -# DO NOT DELETE THIS LINE -- make depend depends on it. - -adler32.o: zlib.h zconf.h -compress.o: zlib.h zconf.h -crc32.o: zlib.h zconf.h -deflate.o: deflate.h zutil.h zlib.h zconf.h -example.o: zlib.h zconf.h -gzio.o: zutil.h zlib.h zconf.h -infblock.o: infblock.h inftrees.h infcodes.h infutil.h zutil.h zlib.h zconf.h -infcodes.o: zutil.h zlib.h zconf.h -infcodes.o: inftrees.h infblock.h infcodes.h infutil.h inffast.h -inffast.o: zutil.h zlib.h zconf.h inftrees.h -inffast.o: infblock.h infcodes.h infutil.h inffast.h -inflate.o: zutil.h zlib.h zconf.h infblock.h -inftrees.o: zutil.h zlib.h zconf.h inftrees.h -infutil.o: zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h -minigzip.o: zlib.h zconf.h -trees.o: deflate.h zutil.h zlib.h zconf.h trees.h -uncompr.o: zlib.h zconf.h -zutil.o: zutil.h zlib.h zconf.h diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/old/os2/zlib.def b/org.simantics.modelica/FMUSolution/zlib-1.2.6/old/os2/zlib.def deleted file mode 100644 index 4c753f1a..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/old/os2/zlib.def +++ /dev/null @@ -1,51 +0,0 @@ -; -; Slightly modified version of ../nt/zlib.dnt :-) -; - -LIBRARY Z -DESCRIPTION "Zlib compression library for OS/2" -CODE PRELOAD MOVEABLE DISCARDABLE -DATA PRELOAD MOVEABLE MULTIPLE - -EXPORTS - adler32 - compress - crc32 - deflate - deflateCopy - deflateEnd - deflateInit2_ - deflateInit_ - deflateParams - deflateReset - deflateSetDictionary - gzclose - gzdopen - gzerror - gzflush - gzopen - gzread - gzwrite - inflate - inflateEnd - inflateInit2_ - inflateInit_ - inflateReset - inflateSetDictionary - inflateSync - uncompress - zlibVersion - gzprintf - gzputc - gzgetc - gzseek - gzrewind - gztell - gzeof - gzsetparams - zError - inflateSyncPoint - get_crc_table - compress2 - gzputs - gzgets diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/old/visual-basic.txt b/org.simantics.modelica/FMUSolution/zlib-1.2.6/old/visual-basic.txt deleted file mode 100644 index 57efe581..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/old/visual-basic.txt +++ /dev/null @@ -1,160 +0,0 @@ -See below some functions declarations for Visual Basic. - -Frequently Asked Question: - -Q: Each time I use the compress function I get the -5 error (not enough - room in the output buffer). - -A: Make sure that the length of the compressed buffer is passed by - reference ("as any"), not by value ("as long"). Also check that - before the call of compress this length is equal to the total size of - the compressed buffer and not zero. - - -From: "Jon Caruana" -Subject: Re: How to port zlib declares to vb? -Date: Mon, 28 Oct 1996 18:33:03 -0600 - -Got the answer! (I haven't had time to check this but it's what I got, and -looks correct): - -He has the following routines working: - compress - uncompress - gzopen - gzwrite - gzread - gzclose - -Declares follow: (Quoted from Carlos Rios , in Vb4 form) - -#If Win16 Then 'Use Win16 calls. -Declare Function compress Lib "ZLIB.DLL" (ByVal compr As - String, comprLen As Any, ByVal buf As String, ByVal buflen - As Long) As Integer -Declare Function uncompress Lib "ZLIB.DLL" (ByVal uncompr - As String, uncomprLen As Any, ByVal compr As String, ByVal - lcompr As Long) As Integer -Declare Function gzopen Lib "ZLIB.DLL" (ByVal filePath As - String, ByVal mode As String) As Long -Declare Function gzread Lib "ZLIB.DLL" (ByVal file As - Long, ByVal uncompr As String, ByVal uncomprLen As Integer) - As Integer -Declare Function gzwrite Lib "ZLIB.DLL" (ByVal file As - Long, ByVal uncompr As String, ByVal uncomprLen As Integer) - As Integer -Declare Function gzclose Lib "ZLIB.DLL" (ByVal file As - Long) As Integer -#Else -Declare Function compress Lib "ZLIB32.DLL" - (ByVal compr As String, comprLen As Any, ByVal buf As - String, ByVal buflen As Long) As Integer -Declare Function uncompress Lib "ZLIB32.DLL" - (ByVal uncompr As String, uncomprLen As Any, ByVal compr As - String, ByVal lcompr As Long) As Long -Declare Function gzopen Lib "ZLIB32.DLL" - (ByVal file As String, ByVal mode As String) As Long -Declare Function gzread Lib "ZLIB32.DLL" - (ByVal file As Long, ByVal uncompr As String, ByVal - uncomprLen As Long) As Long -Declare Function gzwrite Lib "ZLIB32.DLL" - (ByVal file As Long, ByVal uncompr As String, ByVal - uncomprLen As Long) As Long -Declare Function gzclose Lib "ZLIB32.DLL" - (ByVal file As Long) As Long -#End If - --Jon Caruana -jon-net@usa.net -Microsoft Sitebuilder Network Level 1 Member - HTML Writer's Guild Member - - -Here is another example from Michael that he -says conforms to the VB guidelines, and that solves the problem of not -knowing the uncompressed size by storing it at the end of the file: - -'Calling the functions: -'bracket meaning: [optional] {Range of possible values} -'Call subCompressFile( [, , [level of compression {1..9}]]) -'Call subUncompressFile() - -Option Explicit -Private lngpvtPcnSml As Long 'Stores value for 'lngPercentSmaller' -Private Const SUCCESS As Long = 0 -Private Const strFilExt As String = ".cpr" -Private Declare Function lngfncCpr Lib "zlib.dll" Alias "compress2" (ByRef -dest As Any, ByRef destLen As Any, ByRef src As Any, ByVal srcLen As Long, -ByVal level As Integer) As Long -Private Declare Function lngfncUcp Lib "zlib.dll" Alias "uncompress" (ByRef -dest As Any, ByRef destLen As Any, ByRef src As Any, ByVal srcLen As Long) -As Long - -Public Sub subCompressFile(ByVal strargOriFilPth As String, Optional ByVal -strargCprFilPth As String, Optional ByVal intLvl As Integer = 9) - Dim strCprPth As String - Dim lngOriSiz As Long - Dim lngCprSiz As Long - Dim bytaryOri() As Byte - Dim bytaryCpr() As Byte - lngOriSiz = FileLen(strargOriFilPth) - ReDim bytaryOri(lngOriSiz - 1) - Open strargOriFilPth For Binary Access Read As #1 - Get #1, , bytaryOri() - Close #1 - strCprPth = IIf(strargCprFilPth = "", strargOriFilPth, strargCprFilPth) -'Select file path and name - strCprPth = strCprPth & IIf(Right(strCprPth, Len(strFilExt)) = -strFilExt, "", strFilExt) 'Add file extension if not exists - lngCprSiz = (lngOriSiz * 1.01) + 12 'Compression needs temporary a bit -more space then original file size - ReDim bytaryCpr(lngCprSiz - 1) - If lngfncCpr(bytaryCpr(0), lngCprSiz, bytaryOri(0), lngOriSiz, intLvl) = -SUCCESS Then - lngpvtPcnSml = (1# - (lngCprSiz / lngOriSiz)) * 100 - ReDim Preserve bytaryCpr(lngCprSiz - 1) - Open strCprPth For Binary Access Write As #1 - Put #1, , bytaryCpr() - Put #1, , lngOriSiz 'Add the the original size value to the end -(last 4 bytes) - Close #1 - Else - MsgBox "Compression error" - End If - Erase bytaryCpr - Erase bytaryOri -End Sub - -Public Sub subUncompressFile(ByVal strargFilPth As String) - Dim bytaryCpr() As Byte - Dim bytaryOri() As Byte - Dim lngOriSiz As Long - Dim lngCprSiz As Long - Dim strOriPth As String - lngCprSiz = FileLen(strargFilPth) - ReDim bytaryCpr(lngCprSiz - 1) - Open strargFilPth For Binary Access Read As #1 - Get #1, , bytaryCpr() - Close #1 - 'Read the original file size value: - lngOriSiz = bytaryCpr(lngCprSiz - 1) * (2 ^ 24) _ - + bytaryCpr(lngCprSiz - 2) * (2 ^ 16) _ - + bytaryCpr(lngCprSiz - 3) * (2 ^ 8) _ - + bytaryCpr(lngCprSiz - 4) - ReDim Preserve bytaryCpr(lngCprSiz - 5) 'Cut of the original size value - ReDim bytaryOri(lngOriSiz - 1) - If lngfncUcp(bytaryOri(0), lngOriSiz, bytaryCpr(0), lngCprSiz) = SUCCESS -Then - strOriPth = Left(strargFilPth, Len(strargFilPth) - Len(strFilExt)) - Open strOriPth For Binary Access Write As #1 - Put #1, , bytaryOri() - Close #1 - Else - MsgBox "Uncompression error" - End If - Erase bytaryCpr - Erase bytaryOri -End Sub -Public Property Get lngPercentSmaller() As Long - lngPercentSmaller = lngpvtPcnSml -End Property diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/qnx/package.qpg b/org.simantics.modelica/FMUSolution/zlib-1.2.6/qnx/package.qpg deleted file mode 100644 index 4d7ea6a0..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/qnx/package.qpg +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Library - - Medium - - 2.0 - - - - zlib - zlib - alain.bonnefoy@icbt.com - Public - public - www.gzip.org/zlib - - - Jean-Loup Gailly,Mark Adler - www.gzip.org/zlib - - zlib@gzip.org - - - A massively spiffy yet delicately unobtrusive compression library. - zlib is designed to be a free, general-purpose, legally unencumbered, lossless data compression library for use on virtually any computer hardware and operating system. - http://www.gzip.org/zlib - - - - - 1.2.6 - Medium - Stable - - - - - - - No License - - - - Software Development/Libraries and Extensions/C Libraries - zlib,compression - qnx6 - qnx6 - None - Developer - - - - - - - - - - - - - - Install - Post - No - Ignore - - No - Optional - - - - - - - - - - - - - InstallOver - zlib - - - - - - - - - - - - - InstallOver - zlib-dev - - - - - - - - - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/test/example.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/test/example.c deleted file mode 100644 index f515a485..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/test/example.c +++ /dev/null @@ -1,601 +0,0 @@ -/* example.c -- usage example of the zlib compression library - * Copyright (C) 1995-2006, 2011 Jean-loup Gailly. - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* @(#) $Id$ */ - -#include "zlib.h" -#include - -#ifdef STDC -# include -# include -#endif - -#if defined(VMS) || defined(RISCOS) -# define TESTFILE "foo-gz" -#else -# define TESTFILE "foo.gz" -#endif - -#define CHECK_ERR(err, msg) { \ - if (err != Z_OK) { \ - fprintf(stderr, "%s error: %d\n", msg, err); \ - exit(1); \ - } \ -} - -const char hello[] = "hello, hello!"; -/* "hello world" would be more standard, but the repeated "hello" - * stresses the compression code better, sorry... - */ - -const char dictionary[] = "hello"; -uLong dictId; /* Adler32 value of the dictionary */ - -void test_deflate OF((Byte *compr, uLong comprLen)); -void test_inflate OF((Byte *compr, uLong comprLen, - Byte *uncompr, uLong uncomprLen)); -void test_large_deflate OF((Byte *compr, uLong comprLen, - Byte *uncompr, uLong uncomprLen)); -void test_large_inflate OF((Byte *compr, uLong comprLen, - Byte *uncompr, uLong uncomprLen)); -void test_flush OF((Byte *compr, uLong *comprLen)); -void test_sync OF((Byte *compr, uLong comprLen, - Byte *uncompr, uLong uncomprLen)); -void test_dict_deflate OF((Byte *compr, uLong comprLen)); -void test_dict_inflate OF((Byte *compr, uLong comprLen, - Byte *uncompr, uLong uncomprLen)); -int main OF((int argc, char *argv[])); - - -#ifdef Z_SOLO - -void *myalloc OF((void *, unsigned, unsigned)); -void myfree OF((void *, void *)); - -void *myalloc(q, n, m) - void *q; - unsigned n, m; -{ - q = Z_NULL; - return calloc(n, m); -} - -void myfree(void *q, void *p) -{ - q = Z_NULL; - free(p); -} - -static alloc_func zalloc = myalloc; -static free_func zfree = myfree; - -#else /* !Z_SOLO */ - -static alloc_func zalloc = (alloc_func)0; -static free_func zfree = (free_func)0; - -void test_compress OF((Byte *compr, uLong comprLen, - Byte *uncompr, uLong uncomprLen)); -void test_gzio OF((const char *fname, - Byte *uncompr, uLong uncomprLen)); - -/* =========================================================================== - * Test compress() and uncompress() - */ -void test_compress(compr, comprLen, uncompr, uncomprLen) - Byte *compr, *uncompr; - uLong comprLen, uncomprLen; -{ - int err; - uLong len = (uLong)strlen(hello)+1; - - err = compress(compr, &comprLen, (const Bytef*)hello, len); - CHECK_ERR(err, "compress"); - - strcpy((char*)uncompr, "garbage"); - - err = uncompress(uncompr, &uncomprLen, compr, comprLen); - CHECK_ERR(err, "uncompress"); - - if (strcmp((char*)uncompr, hello)) { - fprintf(stderr, "bad uncompress\n"); - exit(1); - } else { - printf("uncompress(): %s\n", (char *)uncompr); - } -} - -/* =========================================================================== - * Test read/write of .gz files - */ -void test_gzio(fname, uncompr, uncomprLen) - const char *fname; /* compressed file name */ - Byte *uncompr; - uLong uncomprLen; -{ -#ifdef NO_GZCOMPRESS - fprintf(stderr, "NO_GZCOMPRESS -- gz* functions cannot compress\n"); -#else - int err; - int len = (int)strlen(hello)+1; - gzFile file; - z_off_t pos; - - file = gzopen(fname, "wb"); - if (file == NULL) { - fprintf(stderr, "gzopen error\n"); - exit(1); - } - gzputc(file, 'h'); - if (gzputs(file, "ello") != 4) { - fprintf(stderr, "gzputs err: %s\n", gzerror(file, &err)); - exit(1); - } - if (gzprintf(file, ", %s!", "hello") != 8) { - fprintf(stderr, "gzprintf err: %s\n", gzerror(file, &err)); - exit(1); - } - gzseek(file, 1L, SEEK_CUR); /* add one zero byte */ - gzclose(file); - - file = gzopen(fname, "rb"); - if (file == NULL) { - fprintf(stderr, "gzopen error\n"); - exit(1); - } - strcpy((char*)uncompr, "garbage"); - - if (gzread(file, uncompr, (unsigned)uncomprLen) != len) { - fprintf(stderr, "gzread err: %s\n", gzerror(file, &err)); - exit(1); - } - if (strcmp((char*)uncompr, hello)) { - fprintf(stderr, "bad gzread: %s\n", (char*)uncompr); - exit(1); - } else { - printf("gzread(): %s\n", (char*)uncompr); - } - - pos = gzseek(file, -8L, SEEK_CUR); - if (pos != 6 || gztell(file) != pos) { - fprintf(stderr, "gzseek error, pos=%ld, gztell=%ld\n", - (long)pos, (long)gztell(file)); - exit(1); - } - - if (gzgetc(file) != ' ') { - fprintf(stderr, "gzgetc error\n"); - exit(1); - } - - if (gzungetc(' ', file) != ' ') { - fprintf(stderr, "gzungetc error\n"); - exit(1); - } - - gzgets(file, (char*)uncompr, (int)uncomprLen); - if (strlen((char*)uncompr) != 7) { /* " hello!" */ - fprintf(stderr, "gzgets err after gzseek: %s\n", gzerror(file, &err)); - exit(1); - } - if (strcmp((char*)uncompr, hello + 6)) { - fprintf(stderr, "bad gzgets after gzseek\n"); - exit(1); - } else { - printf("gzgets() after gzseek: %s\n", (char*)uncompr); - } - - gzclose(file); -#endif -} - -#endif /* Z_SOLO */ - -/* =========================================================================== - * Test deflate() with small buffers - */ -void test_deflate(compr, comprLen) - Byte *compr; - uLong comprLen; -{ - z_stream c_stream; /* compression stream */ - int err; - uLong len = (uLong)strlen(hello)+1; - - c_stream.zalloc = zalloc; - c_stream.zfree = zfree; - c_stream.opaque = (voidpf)0; - - err = deflateInit(&c_stream, Z_DEFAULT_COMPRESSION); - CHECK_ERR(err, "deflateInit"); - - c_stream.next_in = (Bytef*)hello; - c_stream.next_out = compr; - - while (c_stream.total_in != len && c_stream.total_out < comprLen) { - c_stream.avail_in = c_stream.avail_out = 1; /* force small buffers */ - err = deflate(&c_stream, Z_NO_FLUSH); - CHECK_ERR(err, "deflate"); - } - /* Finish the stream, still forcing small buffers: */ - for (;;) { - c_stream.avail_out = 1; - err = deflate(&c_stream, Z_FINISH); - if (err == Z_STREAM_END) break; - CHECK_ERR(err, "deflate"); - } - - err = deflateEnd(&c_stream); - CHECK_ERR(err, "deflateEnd"); -} - -/* =========================================================================== - * Test inflate() with small buffers - */ -void test_inflate(compr, comprLen, uncompr, uncomprLen) - Byte *compr, *uncompr; - uLong comprLen, uncomprLen; -{ - int err; - z_stream d_stream; /* decompression stream */ - - strcpy((char*)uncompr, "garbage"); - - d_stream.zalloc = zalloc; - d_stream.zfree = zfree; - d_stream.opaque = (voidpf)0; - - d_stream.next_in = compr; - d_stream.avail_in = 0; - d_stream.next_out = uncompr; - - err = inflateInit(&d_stream); - CHECK_ERR(err, "inflateInit"); - - while (d_stream.total_out < uncomprLen && d_stream.total_in < comprLen) { - d_stream.avail_in = d_stream.avail_out = 1; /* force small buffers */ - err = inflate(&d_stream, Z_NO_FLUSH); - if (err == Z_STREAM_END) break; - CHECK_ERR(err, "inflate"); - } - - err = inflateEnd(&d_stream); - CHECK_ERR(err, "inflateEnd"); - - if (strcmp((char*)uncompr, hello)) { - fprintf(stderr, "bad inflate\n"); - exit(1); - } else { - printf("inflate(): %s\n", (char *)uncompr); - } -} - -/* =========================================================================== - * Test deflate() with large buffers and dynamic change of compression level - */ -void test_large_deflate(compr, comprLen, uncompr, uncomprLen) - Byte *compr, *uncompr; - uLong comprLen, uncomprLen; -{ - z_stream c_stream; /* compression stream */ - int err; - - c_stream.zalloc = zalloc; - c_stream.zfree = zfree; - c_stream.opaque = (voidpf)0; - - err = deflateInit(&c_stream, Z_BEST_SPEED); - CHECK_ERR(err, "deflateInit"); - - c_stream.next_out = compr; - c_stream.avail_out = (uInt)comprLen; - - /* At this point, uncompr is still mostly zeroes, so it should compress - * very well: - */ - c_stream.next_in = uncompr; - c_stream.avail_in = (uInt)uncomprLen; - err = deflate(&c_stream, Z_NO_FLUSH); - CHECK_ERR(err, "deflate"); - if (c_stream.avail_in != 0) { - fprintf(stderr, "deflate not greedy\n"); - exit(1); - } - - /* Feed in already compressed data and switch to no compression: */ - deflateParams(&c_stream, Z_NO_COMPRESSION, Z_DEFAULT_STRATEGY); - c_stream.next_in = compr; - c_stream.avail_in = (uInt)comprLen/2; - err = deflate(&c_stream, Z_NO_FLUSH); - CHECK_ERR(err, "deflate"); - - /* Switch back to compressing mode: */ - deflateParams(&c_stream, Z_BEST_COMPRESSION, Z_FILTERED); - c_stream.next_in = uncompr; - c_stream.avail_in = (uInt)uncomprLen; - err = deflate(&c_stream, Z_NO_FLUSH); - CHECK_ERR(err, "deflate"); - - err = deflate(&c_stream, Z_FINISH); - if (err != Z_STREAM_END) { - fprintf(stderr, "deflate should report Z_STREAM_END\n"); - exit(1); - } - err = deflateEnd(&c_stream); - CHECK_ERR(err, "deflateEnd"); -} - -/* =========================================================================== - * Test inflate() with large buffers - */ -void test_large_inflate(compr, comprLen, uncompr, uncomprLen) - Byte *compr, *uncompr; - uLong comprLen, uncomprLen; -{ - int err; - z_stream d_stream; /* decompression stream */ - - strcpy((char*)uncompr, "garbage"); - - d_stream.zalloc = zalloc; - d_stream.zfree = zfree; - d_stream.opaque = (voidpf)0; - - d_stream.next_in = compr; - d_stream.avail_in = (uInt)comprLen; - - err = inflateInit(&d_stream); - CHECK_ERR(err, "inflateInit"); - - for (;;) { - d_stream.next_out = uncompr; /* discard the output */ - d_stream.avail_out = (uInt)uncomprLen; - err = inflate(&d_stream, Z_NO_FLUSH); - if (err == Z_STREAM_END) break; - CHECK_ERR(err, "large inflate"); - } - - err = inflateEnd(&d_stream); - CHECK_ERR(err, "inflateEnd"); - - if (d_stream.total_out != 2*uncomprLen + comprLen/2) { - fprintf(stderr, "bad large inflate: %ld\n", d_stream.total_out); - exit(1); - } else { - printf("large_inflate(): OK\n"); - } -} - -/* =========================================================================== - * Test deflate() with full flush - */ -void test_flush(compr, comprLen) - Byte *compr; - uLong *comprLen; -{ - z_stream c_stream; /* compression stream */ - int err; - uInt len = (uInt)strlen(hello)+1; - - c_stream.zalloc = zalloc; - c_stream.zfree = zfree; - c_stream.opaque = (voidpf)0; - - err = deflateInit(&c_stream, Z_DEFAULT_COMPRESSION); - CHECK_ERR(err, "deflateInit"); - - c_stream.next_in = (Bytef*)hello; - c_stream.next_out = compr; - c_stream.avail_in = 3; - c_stream.avail_out = (uInt)*comprLen; - err = deflate(&c_stream, Z_FULL_FLUSH); - CHECK_ERR(err, "deflate"); - - compr[3]++; /* force an error in first compressed block */ - c_stream.avail_in = len - 3; - - err = deflate(&c_stream, Z_FINISH); - if (err != Z_STREAM_END) { - CHECK_ERR(err, "deflate"); - } - err = deflateEnd(&c_stream); - CHECK_ERR(err, "deflateEnd"); - - *comprLen = c_stream.total_out; -} - -/* =========================================================================== - * Test inflateSync() - */ -void test_sync(compr, comprLen, uncompr, uncomprLen) - Byte *compr, *uncompr; - uLong comprLen, uncomprLen; -{ - int err; - z_stream d_stream; /* decompression stream */ - - strcpy((char*)uncompr, "garbage"); - - d_stream.zalloc = zalloc; - d_stream.zfree = zfree; - d_stream.opaque = (voidpf)0; - - d_stream.next_in = compr; - d_stream.avail_in = 2; /* just read the zlib header */ - - err = inflateInit(&d_stream); - CHECK_ERR(err, "inflateInit"); - - d_stream.next_out = uncompr; - d_stream.avail_out = (uInt)uncomprLen; - - inflate(&d_stream, Z_NO_FLUSH); - CHECK_ERR(err, "inflate"); - - d_stream.avail_in = (uInt)comprLen-2; /* read all compressed data */ - err = inflateSync(&d_stream); /* but skip the damaged part */ - CHECK_ERR(err, "inflateSync"); - - err = inflate(&d_stream, Z_FINISH); - if (err != Z_DATA_ERROR) { - fprintf(stderr, "inflate should report DATA_ERROR\n"); - /* Because of incorrect adler32 */ - exit(1); - } - err = inflateEnd(&d_stream); - CHECK_ERR(err, "inflateEnd"); - - printf("after inflateSync(): hel%s\n", (char *)uncompr); -} - -/* =========================================================================== - * Test deflate() with preset dictionary - */ -void test_dict_deflate(compr, comprLen) - Byte *compr; - uLong comprLen; -{ - z_stream c_stream; /* compression stream */ - int err; - - c_stream.zalloc = zalloc; - c_stream.zfree = zfree; - c_stream.opaque = (voidpf)0; - - err = deflateInit(&c_stream, Z_BEST_COMPRESSION); - CHECK_ERR(err, "deflateInit"); - - err = deflateSetDictionary(&c_stream, - (const Bytef*)dictionary, (int)sizeof(dictionary)); - CHECK_ERR(err, "deflateSetDictionary"); - - dictId = c_stream.adler; - c_stream.next_out = compr; - c_stream.avail_out = (uInt)comprLen; - - c_stream.next_in = (Bytef*)hello; - c_stream.avail_in = (uInt)strlen(hello)+1; - - err = deflate(&c_stream, Z_FINISH); - if (err != Z_STREAM_END) { - fprintf(stderr, "deflate should report Z_STREAM_END\n"); - exit(1); - } - err = deflateEnd(&c_stream); - CHECK_ERR(err, "deflateEnd"); -} - -/* =========================================================================== - * Test inflate() with a preset dictionary - */ -void test_dict_inflate(compr, comprLen, uncompr, uncomprLen) - Byte *compr, *uncompr; - uLong comprLen, uncomprLen; -{ - int err; - z_stream d_stream; /* decompression stream */ - - strcpy((char*)uncompr, "garbage"); - - d_stream.zalloc = zalloc; - d_stream.zfree = zfree; - d_stream.opaque = (voidpf)0; - - d_stream.next_in = compr; - d_stream.avail_in = (uInt)comprLen; - - err = inflateInit(&d_stream); - CHECK_ERR(err, "inflateInit"); - - d_stream.next_out = uncompr; - d_stream.avail_out = (uInt)uncomprLen; - - for (;;) { - err = inflate(&d_stream, Z_NO_FLUSH); - if (err == Z_STREAM_END) break; - if (err == Z_NEED_DICT) { - if (d_stream.adler != dictId) { - fprintf(stderr, "unexpected dictionary"); - exit(1); - } - err = inflateSetDictionary(&d_stream, (const Bytef*)dictionary, - (int)sizeof(dictionary)); - } - CHECK_ERR(err, "inflate with dict"); - } - - err = inflateEnd(&d_stream); - CHECK_ERR(err, "inflateEnd"); - - if (strcmp((char*)uncompr, hello)) { - fprintf(stderr, "bad inflate with dict\n"); - exit(1); - } else { - printf("inflate with dictionary: %s\n", (char *)uncompr); - } -} - -/* =========================================================================== - * Usage: example [output.gz [input.gz]] - */ - -int main(argc, argv) - int argc; - char *argv[]; -{ - Byte *compr, *uncompr; - uLong comprLen = 10000*sizeof(int); /* don't overflow on MSDOS */ - uLong uncomprLen = comprLen; - static const char* myVersion = ZLIB_VERSION; - - if (zlibVersion()[0] != myVersion[0]) { - fprintf(stderr, "incompatible zlib version\n"); - exit(1); - - } else if (strcmp(zlibVersion(), ZLIB_VERSION) != 0) { - fprintf(stderr, "warning: different zlib version\n"); - } - - printf("zlib version %s = 0x%04x, compile flags = 0x%lx\n", - ZLIB_VERSION, ZLIB_VERNUM, zlibCompileFlags()); - - compr = (Byte*)calloc((uInt)comprLen, 1); - uncompr = (Byte*)calloc((uInt)uncomprLen, 1); - /* compr and uncompr are cleared to avoid reading uninitialized - * data and to ensure that uncompr compresses well. - */ - if (compr == Z_NULL || uncompr == Z_NULL) { - printf("out of memory\n"); - exit(1); - } - -#ifdef Z_SOLO - argc = strlen(argv[0]); -#else - test_compress(compr, comprLen, uncompr, uncomprLen); - - test_gzio((argc > 1 ? argv[1] : TESTFILE), - uncompr, uncomprLen); -#endif - - test_deflate(compr, comprLen); - test_inflate(compr, comprLen, uncompr, uncomprLen); - - test_large_deflate(compr, comprLen, uncompr, uncomprLen); - test_large_inflate(compr, comprLen, uncompr, uncomprLen); - - test_flush(compr, &comprLen); - test_sync(compr, comprLen, uncompr, uncomprLen); - comprLen = uncomprLen; - - test_dict_deflate(compr, comprLen); - test_dict_inflate(compr, comprLen, uncompr, uncomprLen); - - free(compr); - free(uncompr); - - return 0; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/test/infcover.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/test/infcover.c deleted file mode 100644 index fe3d9203..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/test/infcover.c +++ /dev/null @@ -1,671 +0,0 @@ -/* infcover.c -- test zlib's inflate routines with full code coverage - * Copyright (C) 2011 Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* to use, do: ./configure --cover && make cover */ - -#include -#include -#include -#include -#include "zlib.h" - -/* get definition of internal structure so we can mess with it (see pull()), - and so we can call inflate_trees() (see cover5()) */ -#define ZLIB_INTERNAL -#include "inftrees.h" -#include "inflate.h" - -#define local static - -/* -- memory tracking routines -- */ - -/* - These memory tracking routines are provided to zlib and track all of zlib's - allocations and deallocations, check for LIFO operations, keep a current - and high water mark of total bytes requested, optionally set a limit on the - total memory that can be allocated, and when done check for memory leaks. - - They are used as follows: - - z_stream strm; - mem_setup(&strm) initializes the memory tracking and sets the - zalloc, zfree, and opaque members of strm to use - memory tracking for all zlib operations on strm - mem_limit(&strm, limit) sets a limit on the total bytes requested -- a - request that exceeds this limit will result in an - allocation failure (returns NULL) -- setting the - limit to zero means no limit, which is the default - after mem_setup() - mem_used(&strm, "msg") prints to stderr "msg" and the total bytes used - mem_high(&strm, "msg") prints to stderr "msg" and the high water mark - mem_done(&strm, "msg") ends memory tracking, releases all allocations - for the tracking as well as leaked zlib blocks, if - any. If there was anything unusual, such as leaked - blocks, non-FIFO frees, or frees of addresses not - allocated, then "msg" and information about the - problem is printed to stderr. If everything is - normal, nothing is printed. mem_done resets the - strm members to Z_NULL to use the default memory - allocation routines on the next zlib initialization - using strm. - */ - -/* these items are strung together in a linked list, one for each allocation */ -struct mem_item { - void *ptr; /* pointer to allocated memory */ - size_t size; /* requested size of allocation */ - struct mem_item *next; /* pointer to next item in list, or NULL */ -}; - -/* this structure is at the root of the linked list, and tracks statistics */ -struct mem_zone { - struct mem_item *first; /* pointer to first item in list, or NULL */ - size_t total, highwater; /* total allocations, and largest total */ - size_t limit; /* memory allocation limit, or 0 if no limit */ - int notlifo, rogue; /* counts of non-LIFO frees and rogue frees */ -}; - -/* memory allocation routine to pass to zlib */ -local void *mem_alloc(void *mem, unsigned count, unsigned size) -{ - void *ptr; - struct mem_item *item; - struct mem_zone *zone = mem; - size_t len = count * (size_t)size; - - /* induced allocation failure */ - if (zone == NULL || (zone->limit && zone->total + len > zone->limit)) - return NULL; - - /* perform allocation using the standard library, fill memory with a - non-zero value to make sure that the code isn't depending on zeros */ - ptr = malloc(len); - if (ptr == NULL) - return NULL; - memset(ptr, 0xa5, len); - - /* create a new item for the list */ - item = malloc(sizeof(struct mem_item)); - if (item == NULL) { - free(ptr); - return NULL; - } - item->ptr = ptr; - item->size = len; - - /* insert item at the beginning of the list */ - item->next = zone->first; - zone->first = item; - - /* update the statistics */ - zone->total += item->size; - if (zone->total > zone->highwater) - zone->highwater = zone->total; - - /* return the allocated memory */ - return ptr; -} - -/* memory free routine to pass to zlib */ -local void mem_free(void *mem, void *ptr) -{ - struct mem_item *item, *next; - struct mem_zone *zone = mem; - - /* if no zone, just do a free */ - if (zone == NULL) { - free(ptr); - return; - } - - /* point next to the item that matches ptr, or NULL if not found -- remove - the item from the linked list if found */ - next = zone->first; - if (next) { - if (next->ptr == ptr) - zone->first = next->next; /* first one is it, remove from list */ - else { - do { /* search the linked list */ - item = next; - next = item->next; - } while (next != NULL && next->ptr != ptr); - if (next) { /* if found, remove from linked list */ - item->next = next->next; - zone->notlifo++; /* not a LIFO free */ - } - - } - } - - /* if found, update the statistics and free the item */ - if (next) { - zone->total -= next->size; - free(next); - } - - /* if not found, update the rogue count */ - else - zone->rogue++; - - /* in any case, do the requested free with the standard library function */ - free(ptr); -} - -/* set up a controlled memory allocation space for monitoring, set the stream - parameters to the controlled routines, with opaque pointing to the space */ -local void mem_setup(z_stream *strm) -{ - struct mem_zone *zone; - - zone = malloc(sizeof(struct mem_zone)); - assert(zone != NULL); - zone->first = NULL; - zone->total = 0; - zone->highwater = 0; - zone->limit = 0; - zone->notlifo = 0; - zone->rogue = 0; - strm->opaque = zone; - strm->zalloc = mem_alloc; - strm->zfree = mem_free; -} - -/* set a limit on the total memory allocation, or 0 to remove the limit */ -local void mem_limit(z_stream *strm, size_t limit) -{ - struct mem_zone *zone = strm->opaque; - - zone->limit = limit; -} - -/* show the current total requested allocations in bytes */ -local void mem_used(z_stream *strm, char *prefix) -{ - struct mem_zone *zone = strm->opaque; - - fprintf(stderr, "%s: %lu allocated\n", prefix, zone->total); -} - -/* show the high water allocation in bytes */ -local void mem_high(z_stream *strm, char *prefix) -{ - struct mem_zone *zone = strm->opaque; - - fprintf(stderr, "%s: %lu high water mark\n", prefix, zone->highwater); -} - -/* release the memory allocation zone -- if there are any surprises, notify */ -local void mem_done(z_stream *strm, char *prefix) -{ - int count = 0; - struct mem_item *item, *next; - struct mem_zone *zone = strm->opaque; - - /* show high water mark */ - mem_high(strm, prefix); - - /* free leftover allocations and item structures, if any */ - item = zone->first; - while (item != NULL) { - free(item->ptr); - next = item->next; - free(item); - item = next; - count++; - } - - /* issue alerts about anything unexpected */ - if (count || zone->total) - fprintf(stderr, "** %s: %lu bytes in %d blocks not freed\n", - prefix, zone->total, count); - if (zone->notlifo) - fprintf(stderr, "** %s: %d frees not LIFO\n", prefix, zone->notlifo); - if (zone->rogue) - fprintf(stderr, "** %s: %d frees not recognized\n", - prefix, zone->rogue); - - /* free the zone and delete from the stream */ - free(zone); - strm->opaque = Z_NULL; - strm->zalloc = Z_NULL; - strm->zfree = Z_NULL; -} - -/* -- inflate test routines -- */ - -/* Decode a hexadecimal string, set *len to length, in[] to the bytes. This - decodes liberally, in that hex digits can be adjacent, in which case two in - a row writes a byte. Or they can delimited by any non-hex character, where - the delimiters are ignored except when a single hex digit is followed by a - delimiter in which case that single digit writes a byte. The returned - data is allocated and must eventually be freed. NULL is returned if out of - memory. If the length is not needed, then len can be NULL. */ -local unsigned char *h2b(const char *hex, unsigned *len) -{ - unsigned char *in; - unsigned next, val; - - in = malloc((strlen(hex) + 1) >> 1); - if (in == NULL) - return NULL; - next = 0; - val = 1; - do { - if (*hex >= '0' && *hex <= '9') - val = (val << 4) + *hex - '0'; - else if (*hex >= 'A' && *hex <= 'F') - val = (val << 4) + *hex - 'A' + 10; - else if (*hex >= 'a' && *hex <= 'f') - val = (val << 4) + *hex - 'a' + 10; - else if (val != 1 && val < 32) /* one digit followed by delimiter */ - val += 240; /* make it look like two digits */ - if (val > 255) { /* have two digits */ - in[next++] = val & 0xff; /* save the decoded byte */ - val = 1; /* start over */ - } - } while (*hex++); /* go through the loop with the terminating null */ - if (len != NULL) - *len = next; - in = reallocf(in, next); - return in; -} - -/* generic inflate() run, where hex is the hexadecimal input data, what is the - text to include in an error message, step is how much input data to feed - inflate() on each call, or zero to feed it all, win is the window bits - parameter to inflateInit2(), len is the size of the output buffer, and err - is the error code expected from the first inflate() call (the second - inflate() call is expected to return Z_STREAM_END). If win is 47, then - header information is collected with inflateGetHeader(). If a zlib stream - is looking for a dictionary, then an empty dictionary is provided. - inflate() is run until all of the input data is consumed. */ -local void inf(char *hex, char *what, unsigned step, int win, unsigned len, - int err) -{ - int ret; - unsigned have; - unsigned char *in, *out; - z_stream strm, copy; - gz_header head; - - mem_setup(&strm); - strm.avail_in = 0; - strm.next_in = Z_NULL; - ret = inflateInit2(&strm, win); - if (ret != Z_OK) { - mem_done(&strm, what); - return; - } - out = malloc(len); assert(out != NULL); - if (win == 47) { - head.extra = out; - head.extra_max = len; - head.name = out; - head.name_max = len; - head.comment = out; - head.comm_max = len; - ret = inflateGetHeader(&strm, &head); assert(ret == Z_OK); - } - in = h2b(hex, &have); assert(in != NULL); - if (step == 0 || step > have) - step = have; - strm.avail_in = step; - have -= step; - strm.next_in = in; - do { - strm.avail_out = len; - strm.next_out = out; - ret = inflate(&strm, Z_NO_FLUSH); assert(err == 9 || ret == err); - if (ret != Z_OK && ret != Z_BUF_ERROR && ret != Z_NEED_DICT) - break; - if (ret == Z_NEED_DICT) { - ret = inflateSetDictionary(&strm, in, 1); - assert(ret == Z_DATA_ERROR); - mem_limit(&strm, 1); - ret = inflateSetDictionary(&strm, out, 0); - assert(ret == Z_MEM_ERROR); - mem_limit(&strm, 0); - ((struct inflate_state *)strm.state)->mode = DICT; - ret = inflateSetDictionary(&strm, out, 0); - assert(ret == Z_OK); - ret = inflate(&strm, Z_NO_FLUSH); assert(ret == Z_BUF_ERROR); - } - ret = inflateCopy(©, &strm); assert(ret == Z_OK); - ret = inflateEnd(©); assert(ret == Z_OK); - err = 9; /* don't care next time around */ - have += strm.avail_in; - strm.avail_in = step > have ? have : step; - have -= strm.avail_in; - } while (strm.avail_in); - free(in); - free(out); - ret = inflateReset2(&strm, -8); assert(ret == Z_OK); - ret = inflateEnd(&strm); assert(ret == Z_OK); - mem_done(&strm, what); -} - -/* cover all of the lines in inflate.c up to inflate() */ -local void cover_support(void) -{ - int ret; - z_stream strm; - - mem_setup(&strm); - strm.avail_in = 0; - strm.next_in = Z_NULL; - ret = inflateInit(&strm); assert(ret == Z_OK); - mem_used(&strm, "inflate init"); - ret = inflatePrime(&strm, 5, 31); assert(ret == Z_OK); - ret = inflatePrime(&strm, -1, 0); assert(ret == Z_OK); - ret = inflateSetDictionary(&strm, Z_NULL, 0); - assert(ret == Z_STREAM_ERROR); - ret = inflateEnd(&strm); assert(ret == Z_OK); - mem_done(&strm, "prime"); - - inf("63 0", "force window allocation", 0, -15, 1, Z_OK); - inf("63 18 5", "force window replacement", 0, -8, 259, Z_OK); - inf("63 18 68 30 d0 0 0", "force split window update", 4, -8, 259, Z_OK); - inf("3 0", "use fixed blocks", 0, -15, 1, Z_STREAM_END); - inf("", "bad window size", 0, 1, 0, Z_STREAM_ERROR); - - mem_setup(&strm); - strm.avail_in = 0; - strm.next_in = Z_NULL; - ret = inflateInit_(&strm, ZLIB_VERSION - 1, (int)sizeof(z_stream)); - assert(ret == Z_VERSION_ERROR); - mem_done(&strm, "wrong version"); - - strm.avail_in = 0; - strm.next_in = Z_NULL; - ret = inflateInit(&strm); assert(ret == Z_OK); - ret = inflateEnd(&strm); assert(ret == Z_OK); - fputs("inflate built-in memory routines\n", stderr); -} - -/* cover all inflate() header and trailer cases and code after inflate() */ -local void cover_wrap(void) -{ - int ret; - z_stream strm, copy; - unsigned char dict[257]; - - ret = inflate(Z_NULL, 0); assert(ret == Z_STREAM_ERROR); - ret = inflateEnd(Z_NULL); assert(ret == Z_STREAM_ERROR); - ret = inflateCopy(Z_NULL, Z_NULL); assert(ret == Z_STREAM_ERROR); - fputs("inflate bad parameters\n", stderr); - - inf("1f 8b 0 0", "bad gzip method", 0, 31, 0, Z_DATA_ERROR); - inf("1f 8b 8 80", "bad gzip flags", 0, 31, 0, Z_DATA_ERROR); - inf("77 85", "bad zlib method", 0, 15, 0, Z_DATA_ERROR); - inf("8 99", "set window size from header", 0, 0, 0, Z_OK); - inf("78 9c", "bad zlib window size", 0, 8, 0, Z_DATA_ERROR); - inf("78 9c 63 0 0 0 1 0 1", "check adler32", 0, 15, 1, Z_STREAM_END); - inf("1f 8b 8 1e 0 0 0 0 0 0 1 0 0 0 0 0 0", "bad header crc", 0, 47, 1, - Z_DATA_ERROR); - inf("1f 8b 8 2 0 0 0 0 0 0 1d 26 3 0 0 0 0 0 0 0 0 0", "check gzip length", - 0, 47, 0, Z_STREAM_END); - inf("78 90", "bad zlib header check", 0, 47, 0, Z_DATA_ERROR); - inf("8 b8 0 0 0 1", "need dictionary", 0, 8, 0, Z_NEED_DICT); - inf("78 9c 63 0", "compute adler32", 0, 15, 1, Z_OK); - - mem_setup(&strm); - strm.avail_in = 0; - strm.next_in = Z_NULL; - ret = inflateInit2(&strm, -8); - strm.avail_in = 2; - strm.next_in = (void *)"\x63"; - strm.avail_out = 1; - strm.next_out = (void *)&ret; - mem_limit(&strm, 1); - ret = inflate(&strm, Z_NO_FLUSH); assert(ret == Z_MEM_ERROR); - ret = inflate(&strm, Z_NO_FLUSH); assert(ret == Z_MEM_ERROR); - mem_limit(&strm, 0); - memset(dict, 0, 257); - ret = inflateSetDictionary(&strm, dict, 257); - assert(ret == Z_OK); - mem_limit(&strm, (sizeof(struct inflate_state) << 1) + 256); - ret = inflatePrime(&strm, 16, 0); assert(ret == Z_OK); - strm.avail_in = 2; - strm.next_in = (void *)"\x80"; - ret = inflateSync(&strm); assert(ret == Z_DATA_ERROR); - ret = inflate(&strm, Z_NO_FLUSH); assert(ret == Z_STREAM_ERROR); - strm.avail_in = 4; - strm.next_in = (void *)"\0\0\xff\xff"; - ret = inflateSync(&strm); assert(ret == Z_OK); - (void)inflateSyncPoint(&strm); - ret = inflateCopy(©, &strm); assert(ret == Z_MEM_ERROR); - mem_limit(&strm, 0); - ret = inflateUndermine(&strm, 1); assert(ret == Z_DATA_ERROR); - (void)inflateMark(&strm); - ret = inflateEnd(&strm); assert(ret == Z_OK); - mem_done(&strm, "miscellaneous, force memory errors"); -} - -/* input and output functions for inflateBack() */ -local unsigned pull(void *desc, unsigned char **buf) -{ - static unsigned int next = 0; - static unsigned char dat[] = {0x63, 0, 2, 0}; - struct inflate_state *state; - - if (desc == Z_NULL) { - next = 0; - return 0; /* no input (already provided at next_in) */ - } - state = (void *)((z_stream *)desc)->state; - if (state != Z_NULL) - state->mode = SYNC; /* force an otherwise impossible situation */ - return next < sizeof(dat) ? (*buf = dat + next++, 1) : 0; -} - -local int push(void *desc, unsigned char *buf, unsigned len) -{ - buf += len; - return desc != Z_NULL; /* force error if desc not null */ -} - -/* cover inflateBack() up to common deflate data cases and after those */ -local void cover_back(void) -{ - int ret; - z_stream strm; - unsigned char win[32768]; - - ret = inflateBackInit_(Z_NULL, 0, win, 0, 0); - assert(ret == Z_VERSION_ERROR); - ret = inflateBackInit(Z_NULL, 0, win); assert(ret == Z_STREAM_ERROR); - ret = inflateBack(Z_NULL, Z_NULL, Z_NULL, Z_NULL, Z_NULL); - assert(ret == Z_STREAM_ERROR); - ret = inflateBackEnd(Z_NULL); assert(ret == Z_STREAM_ERROR); - fputs("inflateBack bad parameters\n", stderr); - - mem_setup(&strm); - ret = inflateBackInit(&strm, 15, win); assert(ret == Z_OK); - strm.avail_in = 2; - strm.next_in = (void *)"\x03"; - ret = inflateBack(&strm, pull, Z_NULL, push, Z_NULL); - assert(ret == Z_STREAM_END); - /* force output error */ - strm.avail_in = 3; - strm.next_in = (void *)"\x63\x00"; - ret = inflateBack(&strm, pull, Z_NULL, push, &strm); - assert(ret == Z_BUF_ERROR); - /* force mode error by mucking with state */ - ret = inflateBack(&strm, pull, &strm, push, Z_NULL); - assert(ret == Z_STREAM_ERROR); - ret = inflateBackEnd(&strm); assert(ret == Z_OK); - mem_done(&strm, "inflateBack bad state"); - - ret = inflateBackInit(&strm, 15, win); assert(ret == Z_OK); - ret = inflateBackEnd(&strm); assert(ret == Z_OK); - fputs("inflateBack built-in memory routines\n", stderr); -} - -/* do a raw inflate of data in hexadecimal with both inflate and inflateBack */ -local int try(char *hex, char *id, int err) -{ - int ret; - unsigned len, size; - unsigned char *in, *out, *win; - char *prefix; - z_stream strm; - - /* convert to hex */ - in = h2b(hex, &len); - assert(in != NULL); - - /* allocate work areas */ - size = len << 3; - out = malloc(size); - assert(out != NULL); - win = malloc(32768); - assert(win != NULL); - prefix = malloc(strlen(id) + 6); - assert(prefix != NULL); - - /* first with inflate */ - strcpy(prefix, id); - strcat(prefix, "-late"); - mem_setup(&strm); - strm.avail_in = 0; - strm.next_in = Z_NULL; - ret = inflateInit2(&strm, err < 0 ? 47 : -15); - assert(ret == Z_OK); - strm.avail_in = len; - strm.next_in = in; - do { - strm.avail_out = size; - strm.next_out = out; - ret = inflate(&strm, Z_TREES); - assert(ret != Z_STREAM_ERROR && ret != Z_MEM_ERROR); - if (ret == Z_DATA_ERROR || ret == Z_NEED_DICT) - break; - } while (strm.avail_in || strm.avail_out == 0); - if (err) { - assert(ret == Z_DATA_ERROR); - assert(strcmp(id, strm.msg) == 0); - } - inflateEnd(&strm); - mem_done(&strm, prefix); - - /* then with inflateBack */ - if (err >= 0) { - strcpy(prefix, id); - strcat(prefix, "-back"); - mem_setup(&strm); - ret = inflateBackInit(&strm, 15, win); - assert(ret == Z_OK); - strm.avail_in = len; - strm.next_in = in; - ret = inflateBack(&strm, pull, Z_NULL, push, Z_NULL); - assert(ret != Z_STREAM_ERROR); - if (err) { - assert(ret == Z_DATA_ERROR); - assert(strcmp(id, strm.msg) == 0); - } - inflateBackEnd(&strm); - mem_done(&strm, prefix); - } - - /* clean up */ - free(prefix); - free(win); - free(out); - free(in); - return ret; -} - -/* cover deflate data cases in both inflate() and inflateBack() */ -local void cover_inflate(void) -{ - try("0 0 0 0 0", "invalid stored block lengths", 1); - try("3 0", "fixed", 0); - try("6", "invalid block type", 1); - try("1 1 0 fe ff 0", "stored", 0); - try("fc 0 0", "too many length or distance symbols", 1); - try("4 0 fe ff", "invalid code lengths set", 1); - try("4 0 24 49 0", "invalid bit length repeat", 1); - try("4 0 24 e9 ff ff", "invalid bit length repeat", 1); - try("4 0 24 e9 ff 6d", "invalid code -- missing end-of-block", 1); - try("4 80 49 92 24 49 92 24 71 ff ff 93 11 0", - "invalid literal/lengths set", 1); - try("4 80 49 92 24 49 92 24 f b4 ff ff c3 84", "invalid distances set", 1); - try("4 c0 81 8 0 0 0 0 20 7f eb b 0 0", "invalid literal/length code", 1); - try("2 7e ff ff", "invalid distance code", 1); - try("c c0 81 0 0 0 0 0 90 ff 6b 4 0", "invalid distance too far back", 1); - - /* also trailer mismatch just in inflate() */ - try("1f 8b 8 0 0 0 0 0 0 0 3 0 0 0 0 1", "incorrect data check", -1); - try("1f 8b 8 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 1", - "incorrect length check", -1); - try("5 c0 21 d 0 0 0 80 b0 fe 6d 2f 91 6c", "pull 17", 0); - try("5 e0 81 91 24 cb b2 2c 49 e2 f 2e 8b 9a 47 56 9f fb fe ec d2 ff 1f", - "long code", 0); - try("ed c0 1 1 0 0 0 40 20 ff 57 1b 42 2c 4f", "length extra", 0); - try("ed cf c1 b1 2c 47 10 c4 30 fa 6f 35 1d 1 82 59 3d fb be 2e 2a fc f c", - "long distance and extra", 0); - try("ed c0 81 0 0 0 0 80 a0 fd a9 17 a9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " - "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6", "window end", 0); - inf("2 8 20 80 0 3 0", "inflate_fast TYPE return", 0, -15, 258, - Z_STREAM_END); - inf("63 18 5 40 c 0", "window wrap", 3, -8, 300, Z_OK); -} - -/* cover remaining lines in inftrees.c */ -local void cover_trees(void) -{ - int ret; - unsigned bits; - unsigned short lens[16], work[16]; - code *next, table[ENOUGH_DISTS]; - - /* we need to call inflate_table() directly in order to manifest not- - enough errors, since zlib insures that enough is always enough */ - for (bits = 0; bits < 15; bits++) - lens[bits] = (unsigned short)(bits + 1); - lens[15] = 15; - next = table; - bits = 15; - ret = inflate_table(DISTS, lens, 16, &next, &bits, work); - assert(ret == 1); - next = table; - bits = 1; - ret = inflate_table(DISTS, lens, 16, &next, &bits, work); - assert(ret == 1); - fputs("inflate_table not enough errors\n", stderr); -} - -/* cover remaining inffast.c decoding and window copying */ -local void cover_fast(void) -{ - inf("e5 e0 81 ad 6d cb b2 2c c9 01 1e 59 63 ae 7d ee fb 4d fd b5 35 41 68" - " ff 7f 0f 0 0 0", "fast length extra bits", 0, -8, 258, Z_DATA_ERROR); - inf("25 fd 81 b5 6d 59 b6 6a 49 ea af 35 6 34 eb 8c b9 f6 b9 1e ef 67 49" - " 50 fe ff ff 3f 0 0", "fast distance extra bits", 0, -8, 258, - Z_DATA_ERROR); - inf("3 7e 0 0 0 0 0", "fast invalid distance code", 0, -8, 258, - Z_DATA_ERROR); - inf("1b 7 0 0 0 0 0", "fast invalid literal/length code", 0, -8, 258, - Z_DATA_ERROR); - inf("d c7 1 ae eb 38 c 4 41 a0 87 72 de df fb 1f b8 36 b1 38 5d ff ff 0", - "fast 2nd level codes and too far back", 0, -8, 258, Z_DATA_ERROR); - inf("63 18 5 8c 10 8 0 0 0 0", "very common case", 0, -8, 259, Z_OK); - inf("63 60 60 18 c9 0 8 18 18 18 26 c0 28 0 29 0 0 0", - "contiguous and wrap around window", 6, -8, 259, Z_OK); - inf("63 0 3 0 0 0 0 0", "copy direct from output", 0, -8, 259, - Z_STREAM_END); -} - -int main(void) -{ - fprintf(stderr, "%s\n", zlibVersion()); - cover_support(); - cover_wrap(); - cover_back(); - cover_inflate(); - cover_trees(); - cover_fast(); - return 0; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/test/minigzip.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/test/minigzip.c deleted file mode 100644 index 83173442..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/test/minigzip.c +++ /dev/null @@ -1,631 +0,0 @@ -/* minigzip.c -- simulate gzip using the zlib compression library - * Copyright (C) 1995-2006, 2010, 2011 Jean-loup Gailly. - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* - * minigzip is a minimal implementation of the gzip utility. This is - * only an example of using zlib and isn't meant to replace the - * full-featured gzip. No attempt is made to deal with file systems - * limiting names to 14 or 8+3 characters, etc... Error checking is - * very limited. So use minigzip only for testing; use gzip for the - * real thing. On MSDOS, use only on file names without extension - * or in pipe mode. - */ - -/* @(#) $Id$ */ - -#include "zlib.h" -#include - -#ifdef STDC -# include -# include -#endif - -#ifdef USE_MMAP -# include -# include -# include -#endif - -#if defined(MSDOS) || defined(OS2) || defined(WIN32) || defined(__CYGWIN__) -# include -# include -# ifdef UNDER_CE -# include -# endif -# define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY) -#else -# define SET_BINARY_MODE(file) -#endif - -#ifdef VMS -# define unlink delete -# define GZ_SUFFIX "-gz" -#endif -#ifdef RISCOS -# define unlink remove -# define GZ_SUFFIX "-gz" -# define fileno(file) file->__file -#endif -#if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os -# include /* for fileno */ -#endif - -#if !defined(Z_HAVE_UNISTD_H) && !defined(_LARGEFILE64_SOURCE) -#ifndef WIN32 /* unlink already in stdio.h for WIN32 */ - extern int unlink OF((const char *)); -#endif -#endif - -#if defined(UNDER_CE) -# include -# define perror(s) pwinerror(s) - -/* Map the Windows error number in ERROR to a locale-dependent error - message string and return a pointer to it. Typically, the values - for ERROR come from GetLastError. - - The string pointed to shall not be modified by the application, - but may be overwritten by a subsequent call to strwinerror - - The strwinerror function does not change the current setting - of GetLastError. */ - -static char *strwinerror (error) - DWORD error; -{ - static char buf[1024]; - - wchar_t *msgbuf; - DWORD lasterr = GetLastError(); - DWORD chars = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM - | FORMAT_MESSAGE_ALLOCATE_BUFFER, - NULL, - error, - 0, /* Default language */ - (LPVOID)&msgbuf, - 0, - NULL); - if (chars != 0) { - /* If there is an \r\n appended, zap it. */ - if (chars >= 2 - && msgbuf[chars - 2] == '\r' && msgbuf[chars - 1] == '\n') { - chars -= 2; - msgbuf[chars] = 0; - } - - if (chars > sizeof (buf) - 1) { - chars = sizeof (buf) - 1; - msgbuf[chars] = 0; - } - - wcstombs(buf, msgbuf, chars + 1); - LocalFree(msgbuf); - } - else { - sprintf(buf, "unknown win32 error (%ld)", error); - } - - SetLastError(lasterr); - return buf; -} - -static void pwinerror (s) - const char *s; -{ - if (s && *s) - fprintf(stderr, "%s: %s\n", s, strwinerror(GetLastError ())); - else - fprintf(stderr, "%s\n", strwinerror(GetLastError ())); -} - -#endif /* UNDER_CE */ - -#ifndef GZ_SUFFIX -# define GZ_SUFFIX ".gz" -#endif -#define SUFFIX_LEN (sizeof(GZ_SUFFIX)-1) - -#define BUFLEN 16384 -#define MAX_NAME_LEN 1024 - -#ifdef MAXSEG_64K -# define local static - /* Needed for systems with limitation on stack size. */ -#else -# define local -#endif - -#ifdef Z_SOLO -/* for Z_SOLO, create simplified gz* functions using deflate and inflate */ - -#if defined(Z_HAVE_UNISTD_H) || defined(Z_LARGE) -# include /* for unlink() */ -#endif - -void *myalloc OF((void *, unsigned, unsigned)); -void myfree OF((void *, void *)); - -void *myalloc(q, n, m) - void *q; - unsigned n, m; -{ - q = Z_NULL; - return calloc(n, m); -} - -void myfree(q, p) - void *q, *p; -{ - q = Z_NULL; - free(p); -} - -typedef struct gzFile_s { - FILE *file; - int write; - int err; - char *msg; - z_stream strm; -} *gzFile; - -gzFile gzopen OF((const char *, const char *)); -gzFile gzdopen OF((int, const char *)); -gzFile gz_open OF((const char *, int, const char *)); - -gzFile gzopen(path, mode) -const char *path; -const char *mode; -{ - return gz_open(path, -1, mode); -} - -gzFile gzdopen(fd, mode) -int fd; -const char *mode; -{ - return gz_open(NULL, fd, mode); -} - -gzFile gz_open(path, fd, mode) - const char *path; - int fd; - const char *mode; -{ - gzFile gz; - int ret; - - gz = malloc(sizeof(gzFile)); - if (gz == NULL) - return NULL; - gz->write = strchr(mode, 'w') != NULL; - gz->strm.zalloc = myalloc; - gz->strm.zfree = myfree; - gz->strm.opaque = Z_NULL; - if (gz->write) - ret = deflateInit2(&(gz->strm), -1, 8, 15 + 16, 8, 0); - else { - gz->strm.next_in = 0; - gz->strm.avail_in = Z_NULL; - ret = inflateInit2(&(gz->strm), 15 + 16); - } - if (ret != Z_OK) { - free(gz); - return NULL; - } - gz->file = path == NULL ? fdopen(fd, gz->write ? "wb" : "rb") : - fopen(path, gz->write ? "wb" : "rb"); - if (gz->file == NULL) { - gz->write ? deflateEnd(&(gz->strm)) : inflateEnd(&(gz->strm)); - free(gz); - return NULL; - } - gz->err = 0; - gz->msg = ""; - return gz; -} - -int gzwrite OF((gzFile, const void *, unsigned)); - -int gzwrite(gz, buf, len) - gzFile gz; - const void *buf; - unsigned len; -{ - z_stream *strm; - unsigned char out[BUFLEN]; - - if (gz == NULL || !gz->write) - return 0; - strm = &(gz->strm); - strm->next_in = (void *)buf; - strm->avail_in = len; - do { - strm->next_out = out; - strm->avail_out = BUFLEN; - (void)deflate(strm, Z_NO_FLUSH); - fwrite(out, 1, BUFLEN - strm->avail_out, gz->file); - } while (strm->avail_out == 0); - return len; -} - -int gzread OF((gzFile, void *, unsigned)); - -int gzread(gz, buf, len) - gzFile gz; - void *buf; - unsigned len; -{ - int ret; - unsigned got; - unsigned char in[1]; - z_stream *strm; - - if (gz == NULL || gz->write) - return 0; - if (gz->err) - return 0; - strm = &(gz->strm); - strm->next_out = (void *)buf; - strm->avail_out = len; - do { - got = fread(in, 1, 1, gz->file); - if (got == 0) - break; - strm->next_in = in; - strm->avail_in = 1; - ret = inflate(strm, Z_NO_FLUSH); - if (ret == Z_DATA_ERROR) { - gz->err = Z_DATA_ERROR; - gz->msg = strm->msg; - return 0; - } - if (ret == Z_STREAM_END) - inflateReset(strm); - } while (strm->avail_out); - return len - strm->avail_out; -} - -int gzclose OF((gzFile)); - -int gzclose(gz) - gzFile gz; -{ - z_stream *strm; - unsigned char out[BUFLEN]; - - if (gz == NULL) - return Z_STREAM_ERROR; - strm = &(gz->strm); - if (gz->write) { - strm->next_in = Z_NULL; - strm->avail_in = 0; - do { - strm->next_out = out; - strm->avail_out = BUFLEN; - (void)deflate(strm, Z_FINISH); - fwrite(out, 1, BUFLEN - strm->avail_out, gz->file); - } while (strm->avail_out == 0); - deflateEnd(strm); - } - else - inflateEnd(strm); - fclose(gz->file); - free(gz); - return Z_OK; -} - -const char *gzerror OF((gzFile, int *)); - -const char *gzerror(gz, err) - gzFile gz; - int *err; -{ - *err = gz->err; - return gz->msg; -} - -#endif - -char *prog; - -void error OF((const char *msg)); -void gz_compress OF((FILE *in, gzFile out)); -#ifdef USE_MMAP -int gz_compress_mmap OF((FILE *in, gzFile out)); -#endif -void gz_uncompress OF((gzFile in, FILE *out)); -void file_compress OF((char *file, char *mode)); -void file_uncompress OF((char *file)); -int main OF((int argc, char *argv[])); - -/* =========================================================================== - * Display error message and exit - */ -void error(msg) - const char *msg; -{ - fprintf(stderr, "%s: %s\n", prog, msg); - exit(1); -} - -/* =========================================================================== - * Compress input to output then close both files. - */ - -void gz_compress(in, out) - FILE *in; - gzFile out; -{ - local char buf[BUFLEN]; - int len; - int err; - -#ifdef USE_MMAP - /* Try first compressing with mmap. If mmap fails (minigzip used in a - * pipe), use the normal fread loop. - */ - if (gz_compress_mmap(in, out) == Z_OK) return; -#endif - for (;;) { - len = (int)fread(buf, 1, sizeof(buf), in); - if (ferror(in)) { - perror("fread"); - exit(1); - } - if (len == 0) break; - - if (gzwrite(out, buf, (unsigned)len) != len) error(gzerror(out, &err)); - } - fclose(in); - if (gzclose(out) != Z_OK) error("failed gzclose"); -} - -#ifdef USE_MMAP /* MMAP version, Miguel Albrecht */ - -/* Try compressing the input file at once using mmap. Return Z_OK if - * if success, Z_ERRNO otherwise. - */ -int gz_compress_mmap(in, out) - FILE *in; - gzFile out; -{ - int len; - int err; - int ifd = fileno(in); - caddr_t buf; /* mmap'ed buffer for the entire input file */ - off_t buf_len; /* length of the input file */ - struct stat sb; - - /* Determine the size of the file, needed for mmap: */ - if (fstat(ifd, &sb) < 0) return Z_ERRNO; - buf_len = sb.st_size; - if (buf_len <= 0) return Z_ERRNO; - - /* Now do the actual mmap: */ - buf = mmap((caddr_t) 0, buf_len, PROT_READ, MAP_SHARED, ifd, (off_t)0); - if (buf == (caddr_t)(-1)) return Z_ERRNO; - - /* Compress the whole file at once: */ - len = gzwrite(out, (char *)buf, (unsigned)buf_len); - - if (len != (int)buf_len) error(gzerror(out, &err)); - - munmap(buf, buf_len); - fclose(in); - if (gzclose(out) != Z_OK) error("failed gzclose"); - return Z_OK; -} -#endif /* USE_MMAP */ - -/* =========================================================================== - * Uncompress input to output then close both files. - */ -void gz_uncompress(in, out) - gzFile in; - FILE *out; -{ - local char buf[BUFLEN]; - int len; - int err; - - for (;;) { - len = gzread(in, buf, sizeof(buf)); - if (len < 0) error (gzerror(in, &err)); - if (len == 0) break; - - if ((int)fwrite(buf, 1, (unsigned)len, out) != len) { - error("failed fwrite"); - } - } - if (fclose(out)) error("failed fclose"); - - if (gzclose(in) != Z_OK) error("failed gzclose"); -} - - -/* =========================================================================== - * Compress the given file: create a corresponding .gz file and remove the - * original. - */ -void file_compress(file, mode) - char *file; - char *mode; -{ - local char outfile[MAX_NAME_LEN]; - FILE *in; - gzFile out; - - if (strlen(file) + strlen(GZ_SUFFIX) >= sizeof(outfile)) { - fprintf(stderr, "%s: filename too long\n", prog); - exit(1); - } - - strcpy(outfile, file); - strcat(outfile, GZ_SUFFIX); - - in = fopen(file, "rb"); - if (in == NULL) { - perror(file); - exit(1); - } - out = gzopen(outfile, mode); - if (out == NULL) { - fprintf(stderr, "%s: can't gzopen %s\n", prog, outfile); - exit(1); - } - gz_compress(in, out); - - unlink(file); -} - - -/* =========================================================================== - * Uncompress the given file and remove the original. - */ -void file_uncompress(file) - char *file; -{ - local char buf[MAX_NAME_LEN]; - char *infile, *outfile; - FILE *out; - gzFile in; - size_t len = strlen(file); - - if (len + strlen(GZ_SUFFIX) >= sizeof(buf)) { - fprintf(stderr, "%s: filename too long\n", prog); - exit(1); - } - - strcpy(buf, file); - - if (len > SUFFIX_LEN && strcmp(file+len-SUFFIX_LEN, GZ_SUFFIX) == 0) { - infile = file; - outfile = buf; - outfile[len-3] = '\0'; - } else { - outfile = file; - infile = buf; - strcat(infile, GZ_SUFFIX); - } - in = gzopen(infile, "rb"); - if (in == NULL) { - fprintf(stderr, "%s: can't gzopen %s\n", prog, infile); - exit(1); - } - out = fopen(outfile, "wb"); - if (out == NULL) { - perror(file); - exit(1); - } - - gz_uncompress(in, out); - - unlink(infile); -} - - -/* =========================================================================== - * Usage: minigzip [-c] [-d] [-f] [-h] [-r] [-1 to -9] [files...] - * -c : write to standard output - * -d : decompress - * -f : compress with Z_FILTERED - * -h : compress with Z_HUFFMAN_ONLY - * -r : compress with Z_RLE - * -1 to -9 : compression level - */ - -int main(argc, argv) - int argc; - char *argv[]; -{ - int copyout = 0; - int uncompr = 0; - gzFile file; - char *bname, outmode[20]; - - strcpy(outmode, "wb6 "); - - prog = argv[0]; - bname = strrchr(argv[0], '/'); - if (bname) - bname++; - else - bname = argv[0]; - argc--, argv++; - - if (!strcmp(bname, "gunzip")) - uncompr = 1; - else if (!strcmp(bname, "zcat")) - copyout = uncompr = 1; - - while (argc > 0) { - if (strcmp(*argv, "-c") == 0) - copyout = 1; - else if (strcmp(*argv, "-d") == 0) - uncompr = 1; - else if (strcmp(*argv, "-f") == 0) - outmode[3] = 'f'; - else if (strcmp(*argv, "-h") == 0) - outmode[3] = 'h'; - else if (strcmp(*argv, "-r") == 0) - outmode[3] = 'R'; - else if ((*argv)[0] == '-' && (*argv)[1] >= '1' && (*argv)[1] <= '9' && - (*argv)[2] == 0) - outmode[2] = (*argv)[1]; - else - break; - argc--, argv++; - } - if (outmode[3] == ' ') - outmode[3] = 0; - if (argc == 0) { - SET_BINARY_MODE(stdin); - SET_BINARY_MODE(stdout); - if (uncompr) { - file = gzdopen(fileno(stdin), "rb"); - if (file == NULL) error("can't gzdopen stdin"); - gz_uncompress(file, stdout); - } else { - file = gzdopen(fileno(stdout), outmode); - if (file == NULL) error("can't gzdopen stdout"); - gz_compress(stdin, file); - } - } else { - if (copyout) { - SET_BINARY_MODE(stdout); - } - do { - if (uncompr) { - if (copyout) { - file = gzopen(*argv, "rb"); - if (file == NULL) - fprintf(stderr, "%s: can't gzopen %s\n", prog, *argv); - else - gz_uncompress(file, stdout); - } else { - file_uncompress(*argv); - } - } else { - if (copyout) { - FILE * in = fopen(*argv, "rb"); - - if (in == NULL) { - perror(*argv); - } else { - file = gzdopen(fileno(stdout), outmode); - if (file == NULL) error("can't gzdopen stdout"); - - gz_compress(in, file); - } - - } else { - file_compress(*argv, outmode); - } - } - } while (argv++, --argc); - } - return 0; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/treebuild.xml b/org.simantics.modelica/FMUSolution/zlib-1.2.6/treebuild.xml deleted file mode 100644 index 89963a0c..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/treebuild.xml +++ /dev/null @@ -1,116 +0,0 @@ - - - - zip compression library - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/trees.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/trees.c deleted file mode 100644 index 8c32b214..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/trees.c +++ /dev/null @@ -1,1224 +0,0 @@ -/* trees.c -- output deflated data using Huffman coding - * Copyright (C) 1995-2012 Jean-loup Gailly - * detect_data_type() function provided freely by Cosmin Truta, 2006 - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* - * ALGORITHM - * - * The "deflation" process uses several Huffman trees. The more - * common source values are represented by shorter bit sequences. - * - * Each code tree is stored in a compressed form which is itself - * a Huffman encoding of the lengths of all the code strings (in - * ascending order by source values). The actual code strings are - * reconstructed from the lengths in the inflate process, as described - * in the deflate specification. - * - * REFERENCES - * - * Deutsch, L.P.,"'Deflate' Compressed Data Format Specification". - * Available in ftp.uu.net:/pub/archiving/zip/doc/deflate-1.1.doc - * - * Storer, James A. - * Data Compression: Methods and Theory, pp. 49-50. - * Computer Science Press, 1988. ISBN 0-7167-8156-5. - * - * Sedgewick, R. - * Algorithms, p290. - * Addison-Wesley, 1983. ISBN 0-201-06672-6. - */ - -/* @(#) $Id$ */ - -/* #define GEN_TREES_H */ - -#include "deflate.h" - -#ifdef DEBUG -# include -#endif - -/* =========================================================================== - * Constants - */ - -#define MAX_BL_BITS 7 -/* Bit length codes must not exceed MAX_BL_BITS bits */ - -#define END_BLOCK 256 -/* end of block literal code */ - -#define REP_3_6 16 -/* repeat previous bit length 3-6 times (2 bits of repeat count) */ - -#define REPZ_3_10 17 -/* repeat a zero length 3-10 times (3 bits of repeat count) */ - -#define REPZ_11_138 18 -/* repeat a zero length 11-138 times (7 bits of repeat count) */ - -local const int extra_lbits[LENGTH_CODES] /* extra bits for each length code */ - = {0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0}; - -local const int extra_dbits[D_CODES] /* extra bits for each distance code */ - = {0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13}; - -local const int extra_blbits[BL_CODES]/* extra bits for each bit length code */ - = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7}; - -local const uch bl_order[BL_CODES] - = {16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15}; -/* The lengths of the bit length codes are sent in order of decreasing - * probability, to avoid transmitting the lengths for unused bit length codes. - */ - -/* =========================================================================== - * Local data. These are initialized only once. - */ - -#define DIST_CODE_LEN 512 /* see definition of array dist_code below */ - -#if defined(GEN_TREES_H) || !defined(STDC) -/* non ANSI compilers may not accept trees.h */ - -local ct_data static_ltree[L_CODES+2]; -/* The static literal tree. Since the bit lengths are imposed, there is no - * need for the L_CODES extra codes used during heap construction. However - * The codes 286 and 287 are needed to build a canonical tree (see _tr_init - * below). - */ - -local ct_data static_dtree[D_CODES]; -/* The static distance tree. (Actually a trivial tree since all codes use - * 5 bits.) - */ - -uch _dist_code[DIST_CODE_LEN]; -/* Distance codes. The first 256 values correspond to the distances - * 3 .. 258, the last 256 values correspond to the top 8 bits of - * the 15 bit distances. - */ - -uch _length_code[MAX_MATCH-MIN_MATCH+1]; -/* length code for each normalized match length (0 == MIN_MATCH) */ - -local int base_length[LENGTH_CODES]; -/* First normalized length for each code (0 = MIN_MATCH) */ - -local int base_dist[D_CODES]; -/* First normalized distance for each code (0 = distance of 1) */ - -#else -# include "trees.h" -#endif /* GEN_TREES_H */ - -struct static_tree_desc_s { - const ct_data *static_tree; /* static tree or NULL */ - const intf *extra_bits; /* extra bits for each code or NULL */ - int extra_base; /* base index for extra_bits */ - int elems; /* max number of elements in the tree */ - int max_length; /* max bit length for the codes */ -}; - -local static_tree_desc static_l_desc = -{static_ltree, extra_lbits, LITERALS+1, L_CODES, MAX_BITS}; - -local static_tree_desc static_d_desc = -{static_dtree, extra_dbits, 0, D_CODES, MAX_BITS}; - -local static_tree_desc static_bl_desc = -{(const ct_data *)0, extra_blbits, 0, BL_CODES, MAX_BL_BITS}; - -/* =========================================================================== - * Local (static) routines in this file. - */ - -local void tr_static_init OF((void)); -local void init_block OF((deflate_state *s)); -local void pqdownheap OF((deflate_state *s, ct_data *tree, int k)); -local void gen_bitlen OF((deflate_state *s, tree_desc *desc)); -local void gen_codes OF((ct_data *tree, int max_code, ushf *bl_count)); -local void build_tree OF((deflate_state *s, tree_desc *desc)); -local void scan_tree OF((deflate_state *s, ct_data *tree, int max_code)); -local void send_tree OF((deflate_state *s, ct_data *tree, int max_code)); -local int build_bl_tree OF((deflate_state *s)); -local void send_all_trees OF((deflate_state *s, int lcodes, int dcodes, - int blcodes)); -local void compress_block OF((deflate_state *s, ct_data *ltree, - ct_data *dtree)); -local int detect_data_type OF((deflate_state *s)); -local unsigned bi_reverse OF((unsigned value, int length)); -local void bi_windup OF((deflate_state *s)); -local void bi_flush OF((deflate_state *s)); -local void copy_block OF((deflate_state *s, charf *buf, unsigned len, - int header)); - -#ifdef GEN_TREES_H -local void gen_trees_header OF((void)); -#endif - -#ifndef DEBUG -# define send_code(s, c, tree) send_bits(s, tree[c].Code, tree[c].Len) - /* Send a code of the given tree. c and tree must not have side effects */ - -#else /* DEBUG */ -# define send_code(s, c, tree) \ - { if (z_verbose>2) fprintf(stderr,"\ncd %3d ",(c)); \ - send_bits(s, tree[c].Code, tree[c].Len); } -#endif - -/* =========================================================================== - * Output a short LSB first on the stream. - * IN assertion: there is enough room in pendingBuf. - */ -#define put_short(s, w) { \ - put_byte(s, (uch)((w) & 0xff)); \ - put_byte(s, (uch)((ush)(w) >> 8)); \ -} - -/* =========================================================================== - * Send a value on a given number of bits. - * IN assertion: length <= 16 and value fits in length bits. - */ -#ifdef DEBUG -local void send_bits OF((deflate_state *s, int value, int length)); - -local void send_bits(s, value, length) - deflate_state *s; - int value; /* value to send */ - int length; /* number of bits */ -{ - Tracevv((stderr," l %2d v %4x ", length, value)); - Assert(length > 0 && length <= 15, "invalid length"); - s->bits_sent += (ulg)length; - - /* If not enough room in bi_buf, use (valid) bits from bi_buf and - * (16 - bi_valid) bits from value, leaving (width - (16-bi_valid)) - * unused bits in value. - */ - if (s->bi_valid > (int)Buf_size - length) { - s->bi_buf |= (ush)value << s->bi_valid; - put_short(s, s->bi_buf); - s->bi_buf = (ush)value >> (Buf_size - s->bi_valid); - s->bi_valid += length - Buf_size; - } else { - s->bi_buf |= (ush)value << s->bi_valid; - s->bi_valid += length; - } -} -#else /* !DEBUG */ - -#define send_bits(s, value, length) \ -{ int len = length;\ - if (s->bi_valid > (int)Buf_size - len) {\ - int val = value;\ - s->bi_buf |= (ush)val << s->bi_valid;\ - put_short(s, s->bi_buf);\ - s->bi_buf = (ush)val >> (Buf_size - s->bi_valid);\ - s->bi_valid += len - Buf_size;\ - } else {\ - s->bi_buf |= (ush)(value) << s->bi_valid;\ - s->bi_valid += len;\ - }\ -} -#endif /* DEBUG */ - - -/* the arguments must not have side effects */ - -/* =========================================================================== - * Initialize the various 'constant' tables. - */ -local void tr_static_init() -{ -#if defined(GEN_TREES_H) || !defined(STDC) - static int static_init_done = 0; - int n; /* iterates over tree elements */ - int bits; /* bit counter */ - int length; /* length value */ - int code; /* code value */ - int dist; /* distance index */ - ush bl_count[MAX_BITS+1]; - /* number of codes at each bit length for an optimal tree */ - - if (static_init_done) return; - - /* For some embedded targets, global variables are not initialized: */ -#ifdef NO_INIT_GLOBAL_POINTERS - static_l_desc.static_tree = static_ltree; - static_l_desc.extra_bits = extra_lbits; - static_d_desc.static_tree = static_dtree; - static_d_desc.extra_bits = extra_dbits; - static_bl_desc.extra_bits = extra_blbits; -#endif - - /* Initialize the mapping length (0..255) -> length code (0..28) */ - length = 0; - for (code = 0; code < LENGTH_CODES-1; code++) { - base_length[code] = length; - for (n = 0; n < (1< dist code (0..29) */ - dist = 0; - for (code = 0 ; code < 16; code++) { - base_dist[code] = dist; - for (n = 0; n < (1<>= 7; /* from now on, all distances are divided by 128 */ - for ( ; code < D_CODES; code++) { - base_dist[code] = dist << 7; - for (n = 0; n < (1<<(extra_dbits[code]-7)); n++) { - _dist_code[256 + dist++] = (uch)code; - } - } - Assert (dist == 256, "tr_static_init: 256+dist != 512"); - - /* Construct the codes of the static literal tree */ - for (bits = 0; bits <= MAX_BITS; bits++) bl_count[bits] = 0; - n = 0; - while (n <= 143) static_ltree[n++].Len = 8, bl_count[8]++; - while (n <= 255) static_ltree[n++].Len = 9, bl_count[9]++; - while (n <= 279) static_ltree[n++].Len = 7, bl_count[7]++; - while (n <= 287) static_ltree[n++].Len = 8, bl_count[8]++; - /* Codes 286 and 287 do not exist, but we must include them in the - * tree construction to get a canonical Huffman tree (longest code - * all ones) - */ - gen_codes((ct_data *)static_ltree, L_CODES+1, bl_count); - - /* The static distance tree is trivial: */ - for (n = 0; n < D_CODES; n++) { - static_dtree[n].Len = 5; - static_dtree[n].Code = bi_reverse((unsigned)n, 5); - } - static_init_done = 1; - -# ifdef GEN_TREES_H - gen_trees_header(); -# endif -#endif /* defined(GEN_TREES_H) || !defined(STDC) */ -} - -/* =========================================================================== - * Genererate the file trees.h describing the static trees. - */ -#ifdef GEN_TREES_H -# ifndef DEBUG -# include -# endif - -# define SEPARATOR(i, last, width) \ - ((i) == (last)? "\n};\n\n" : \ - ((i) % (width) == (width)-1 ? ",\n" : ", ")) - -void gen_trees_header() -{ - FILE *header = fopen("trees.h", "w"); - int i; - - Assert (header != NULL, "Can't open trees.h"); - fprintf(header, - "/* header created automatically with -DGEN_TREES_H */\n\n"); - - fprintf(header, "local const ct_data static_ltree[L_CODES+2] = {\n"); - for (i = 0; i < L_CODES+2; i++) { - fprintf(header, "{{%3u},{%3u}}%s", static_ltree[i].Code, - static_ltree[i].Len, SEPARATOR(i, L_CODES+1, 5)); - } - - fprintf(header, "local const ct_data static_dtree[D_CODES] = {\n"); - for (i = 0; i < D_CODES; i++) { - fprintf(header, "{{%2u},{%2u}}%s", static_dtree[i].Code, - static_dtree[i].Len, SEPARATOR(i, D_CODES-1, 5)); - } - - fprintf(header, "const uch ZLIB_INTERNAL _dist_code[DIST_CODE_LEN] = {\n"); - for (i = 0; i < DIST_CODE_LEN; i++) { - fprintf(header, "%2u%s", _dist_code[i], - SEPARATOR(i, DIST_CODE_LEN-1, 20)); - } - - fprintf(header, - "const uch ZLIB_INTERNAL _length_code[MAX_MATCH-MIN_MATCH+1]= {\n"); - for (i = 0; i < MAX_MATCH-MIN_MATCH+1; i++) { - fprintf(header, "%2u%s", _length_code[i], - SEPARATOR(i, MAX_MATCH-MIN_MATCH, 20)); - } - - fprintf(header, "local const int base_length[LENGTH_CODES] = {\n"); - for (i = 0; i < LENGTH_CODES; i++) { - fprintf(header, "%1u%s", base_length[i], - SEPARATOR(i, LENGTH_CODES-1, 20)); - } - - fprintf(header, "local const int base_dist[D_CODES] = {\n"); - for (i = 0; i < D_CODES; i++) { - fprintf(header, "%5u%s", base_dist[i], - SEPARATOR(i, D_CODES-1, 10)); - } - - fclose(header); -} -#endif /* GEN_TREES_H */ - -/* =========================================================================== - * Initialize the tree data structures for a new zlib stream. - */ -void ZLIB_INTERNAL _tr_init(s) - deflate_state *s; -{ - tr_static_init(); - - s->l_desc.dyn_tree = s->dyn_ltree; - s->l_desc.stat_desc = &static_l_desc; - - s->d_desc.dyn_tree = s->dyn_dtree; - s->d_desc.stat_desc = &static_d_desc; - - s->bl_desc.dyn_tree = s->bl_tree; - s->bl_desc.stat_desc = &static_bl_desc; - - s->bi_buf = 0; - s->bi_valid = 0; -#ifdef DEBUG - s->compressed_len = 0L; - s->bits_sent = 0L; -#endif - - /* Initialize the first block of the first file: */ - init_block(s); -} - -/* =========================================================================== - * Initialize a new block. - */ -local void init_block(s) - deflate_state *s; -{ - int n; /* iterates over tree elements */ - - /* Initialize the trees. */ - for (n = 0; n < L_CODES; n++) s->dyn_ltree[n].Freq = 0; - for (n = 0; n < D_CODES; n++) s->dyn_dtree[n].Freq = 0; - for (n = 0; n < BL_CODES; n++) s->bl_tree[n].Freq = 0; - - s->dyn_ltree[END_BLOCK].Freq = 1; - s->opt_len = s->static_len = 0L; - s->last_lit = s->matches = 0; -} - -#define SMALLEST 1 -/* Index within the heap array of least frequent node in the Huffman tree */ - - -/* =========================================================================== - * Remove the smallest element from the heap and recreate the heap with - * one less element. Updates heap and heap_len. - */ -#define pqremove(s, tree, top) \ -{\ - top = s->heap[SMALLEST]; \ - s->heap[SMALLEST] = s->heap[s->heap_len--]; \ - pqdownheap(s, tree, SMALLEST); \ -} - -/* =========================================================================== - * Compares to subtrees, using the tree depth as tie breaker when - * the subtrees have equal frequency. This minimizes the worst case length. - */ -#define smaller(tree, n, m, depth) \ - (tree[n].Freq < tree[m].Freq || \ - (tree[n].Freq == tree[m].Freq && depth[n] <= depth[m])) - -/* =========================================================================== - * Restore the heap property by moving down the tree starting at node k, - * exchanging a node with the smallest of its two sons if necessary, stopping - * when the heap property is re-established (each father smaller than its - * two sons). - */ -local void pqdownheap(s, tree, k) - deflate_state *s; - ct_data *tree; /* the tree to restore */ - int k; /* node to move down */ -{ - int v = s->heap[k]; - int j = k << 1; /* left son of k */ - while (j <= s->heap_len) { - /* Set j to the smallest of the two sons: */ - if (j < s->heap_len && - smaller(tree, s->heap[j+1], s->heap[j], s->depth)) { - j++; - } - /* Exit if v is smaller than both sons */ - if (smaller(tree, v, s->heap[j], s->depth)) break; - - /* Exchange v with the smallest son */ - s->heap[k] = s->heap[j]; k = j; - - /* And continue down the tree, setting j to the left son of k */ - j <<= 1; - } - s->heap[k] = v; -} - -/* =========================================================================== - * Compute the optimal bit lengths for a tree and update the total bit length - * for the current block. - * IN assertion: the fields freq and dad are set, heap[heap_max] and - * above are the tree nodes sorted by increasing frequency. - * OUT assertions: the field len is set to the optimal bit length, the - * array bl_count contains the frequencies for each bit length. - * The length opt_len is updated; static_len is also updated if stree is - * not null. - */ -local void gen_bitlen(s, desc) - deflate_state *s; - tree_desc *desc; /* the tree descriptor */ -{ - ct_data *tree = desc->dyn_tree; - int max_code = desc->max_code; - const ct_data *stree = desc->stat_desc->static_tree; - const intf *extra = desc->stat_desc->extra_bits; - int base = desc->stat_desc->extra_base; - int max_length = desc->stat_desc->max_length; - int h; /* heap index */ - int n, m; /* iterate over the tree elements */ - int bits; /* bit length */ - int xbits; /* extra bits */ - ush f; /* frequency */ - int overflow = 0; /* number of elements with bit length too large */ - - for (bits = 0; bits <= MAX_BITS; bits++) s->bl_count[bits] = 0; - - /* In a first pass, compute the optimal bit lengths (which may - * overflow in the case of the bit length tree). - */ - tree[s->heap[s->heap_max]].Len = 0; /* root of the heap */ - - for (h = s->heap_max+1; h < HEAP_SIZE; h++) { - n = s->heap[h]; - bits = tree[tree[n].Dad].Len + 1; - if (bits > max_length) bits = max_length, overflow++; - tree[n].Len = (ush)bits; - /* We overwrite tree[n].Dad which is no longer needed */ - - if (n > max_code) continue; /* not a leaf node */ - - s->bl_count[bits]++; - xbits = 0; - if (n >= base) xbits = extra[n-base]; - f = tree[n].Freq; - s->opt_len += (ulg)f * (bits + xbits); - if (stree) s->static_len += (ulg)f * (stree[n].Len + xbits); - } - if (overflow == 0) return; - - Trace((stderr,"\nbit length overflow\n")); - /* This happens for example on obj2 and pic of the Calgary corpus */ - - /* Find the first bit length which could increase: */ - do { - bits = max_length-1; - while (s->bl_count[bits] == 0) bits--; - s->bl_count[bits]--; /* move one leaf down the tree */ - s->bl_count[bits+1] += 2; /* move one overflow item as its brother */ - s->bl_count[max_length]--; - /* The brother of the overflow item also moves one step up, - * but this does not affect bl_count[max_length] - */ - overflow -= 2; - } while (overflow > 0); - - /* Now recompute all bit lengths, scanning in increasing frequency. - * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all - * lengths instead of fixing only the wrong ones. This idea is taken - * from 'ar' written by Haruhiko Okumura.) - */ - for (bits = max_length; bits != 0; bits--) { - n = s->bl_count[bits]; - while (n != 0) { - m = s->heap[--h]; - if (m > max_code) continue; - if ((unsigned) tree[m].Len != (unsigned) bits) { - Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits)); - s->opt_len += ((long)bits - (long)tree[m].Len) - *(long)tree[m].Freq; - tree[m].Len = (ush)bits; - } - n--; - } - } -} - -/* =========================================================================== - * Generate the codes for a given tree and bit counts (which need not be - * optimal). - * IN assertion: the array bl_count contains the bit length statistics for - * the given tree and the field len is set for all tree elements. - * OUT assertion: the field code is set for all tree elements of non - * zero code length. - */ -local void gen_codes (tree, max_code, bl_count) - ct_data *tree; /* the tree to decorate */ - int max_code; /* largest code with non zero frequency */ - ushf *bl_count; /* number of codes at each bit length */ -{ - ush next_code[MAX_BITS+1]; /* next code value for each bit length */ - ush code = 0; /* running code value */ - int bits; /* bit index */ - int n; /* code index */ - - /* The distribution counts are first used to generate the code values - * without bit reversal. - */ - for (bits = 1; bits <= MAX_BITS; bits++) { - next_code[bits] = code = (code + bl_count[bits-1]) << 1; - } - /* Check that the bit counts in bl_count are consistent. The last code - * must be all ones. - */ - Assert (code + bl_count[MAX_BITS]-1 == (1<dyn_tree; - const ct_data *stree = desc->stat_desc->static_tree; - int elems = desc->stat_desc->elems; - int n, m; /* iterate over heap elements */ - int max_code = -1; /* largest code with non zero frequency */ - int node; /* new node being created */ - - /* Construct the initial heap, with least frequent element in - * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1]. - * heap[0] is not used. - */ - s->heap_len = 0, s->heap_max = HEAP_SIZE; - - for (n = 0; n < elems; n++) { - if (tree[n].Freq != 0) { - s->heap[++(s->heap_len)] = max_code = n; - s->depth[n] = 0; - } else { - tree[n].Len = 0; - } - } - - /* The pkzip format requires that at least one distance code exists, - * and that at least one bit should be sent even if there is only one - * possible code. So to avoid special checks later on we force at least - * two codes of non zero frequency. - */ - while (s->heap_len < 2) { - node = s->heap[++(s->heap_len)] = (max_code < 2 ? ++max_code : 0); - tree[node].Freq = 1; - s->depth[node] = 0; - s->opt_len--; if (stree) s->static_len -= stree[node].Len; - /* node is 0 or 1 so it does not have extra bits */ - } - desc->max_code = max_code; - - /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree, - * establish sub-heaps of increasing lengths: - */ - for (n = s->heap_len/2; n >= 1; n--) pqdownheap(s, tree, n); - - /* Construct the Huffman tree by repeatedly combining the least two - * frequent nodes. - */ - node = elems; /* next internal node of the tree */ - do { - pqremove(s, tree, n); /* n = node of least frequency */ - m = s->heap[SMALLEST]; /* m = node of next least frequency */ - - s->heap[--(s->heap_max)] = n; /* keep the nodes sorted by frequency */ - s->heap[--(s->heap_max)] = m; - - /* Create a new node father of n and m */ - tree[node].Freq = tree[n].Freq + tree[m].Freq; - s->depth[node] = (uch)((s->depth[n] >= s->depth[m] ? - s->depth[n] : s->depth[m]) + 1); - tree[n].Dad = tree[m].Dad = (ush)node; -#ifdef DUMP_BL_TREE - if (tree == s->bl_tree) { - fprintf(stderr,"\nnode %d(%d), sons %d(%d) %d(%d)", - node, tree[node].Freq, n, tree[n].Freq, m, tree[m].Freq); - } -#endif - /* and insert the new node in the heap */ - s->heap[SMALLEST] = node++; - pqdownheap(s, tree, SMALLEST); - - } while (s->heap_len >= 2); - - s->heap[--(s->heap_max)] = s->heap[SMALLEST]; - - /* At this point, the fields freq and dad are set. We can now - * generate the bit lengths. - */ - gen_bitlen(s, (tree_desc *)desc); - - /* The field len is now set, we can generate the bit codes */ - gen_codes ((ct_data *)tree, max_code, s->bl_count); -} - -/* =========================================================================== - * Scan a literal or distance tree to determine the frequencies of the codes - * in the bit length tree. - */ -local void scan_tree (s, tree, max_code) - deflate_state *s; - ct_data *tree; /* the tree to be scanned */ - int max_code; /* and its largest code of non zero frequency */ -{ - int n; /* iterates over all tree elements */ - int prevlen = -1; /* last emitted length */ - int curlen; /* length of current code */ - int nextlen = tree[0].Len; /* length of next code */ - int count = 0; /* repeat count of the current code */ - int max_count = 7; /* max repeat count */ - int min_count = 4; /* min repeat count */ - - if (nextlen == 0) max_count = 138, min_count = 3; - tree[max_code+1].Len = (ush)0xffff; /* guard */ - - for (n = 0; n <= max_code; n++) { - curlen = nextlen; nextlen = tree[n+1].Len; - if (++count < max_count && curlen == nextlen) { - continue; - } else if (count < min_count) { - s->bl_tree[curlen].Freq += count; - } else if (curlen != 0) { - if (curlen != prevlen) s->bl_tree[curlen].Freq++; - s->bl_tree[REP_3_6].Freq++; - } else if (count <= 10) { - s->bl_tree[REPZ_3_10].Freq++; - } else { - s->bl_tree[REPZ_11_138].Freq++; - } - count = 0; prevlen = curlen; - if (nextlen == 0) { - max_count = 138, min_count = 3; - } else if (curlen == nextlen) { - max_count = 6, min_count = 3; - } else { - max_count = 7, min_count = 4; - } - } -} - -/* =========================================================================== - * Send a literal or distance tree in compressed form, using the codes in - * bl_tree. - */ -local void send_tree (s, tree, max_code) - deflate_state *s; - ct_data *tree; /* the tree to be scanned */ - int max_code; /* and its largest code of non zero frequency */ -{ - int n; /* iterates over all tree elements */ - int prevlen = -1; /* last emitted length */ - int curlen; /* length of current code */ - int nextlen = tree[0].Len; /* length of next code */ - int count = 0; /* repeat count of the current code */ - int max_count = 7; /* max repeat count */ - int min_count = 4; /* min repeat count */ - - /* tree[max_code+1].Len = -1; */ /* guard already set */ - if (nextlen == 0) max_count = 138, min_count = 3; - - for (n = 0; n <= max_code; n++) { - curlen = nextlen; nextlen = tree[n+1].Len; - if (++count < max_count && curlen == nextlen) { - continue; - } else if (count < min_count) { - do { send_code(s, curlen, s->bl_tree); } while (--count != 0); - - } else if (curlen != 0) { - if (curlen != prevlen) { - send_code(s, curlen, s->bl_tree); count--; - } - Assert(count >= 3 && count <= 6, " 3_6?"); - send_code(s, REP_3_6, s->bl_tree); send_bits(s, count-3, 2); - - } else if (count <= 10) { - send_code(s, REPZ_3_10, s->bl_tree); send_bits(s, count-3, 3); - - } else { - send_code(s, REPZ_11_138, s->bl_tree); send_bits(s, count-11, 7); - } - count = 0; prevlen = curlen; - if (nextlen == 0) { - max_count = 138, min_count = 3; - } else if (curlen == nextlen) { - max_count = 6, min_count = 3; - } else { - max_count = 7, min_count = 4; - } - } -} - -/* =========================================================================== - * Construct the Huffman tree for the bit lengths and return the index in - * bl_order of the last bit length code to send. - */ -local int build_bl_tree(s) - deflate_state *s; -{ - int max_blindex; /* index of last bit length code of non zero freq */ - - /* Determine the bit length frequencies for literal and distance trees */ - scan_tree(s, (ct_data *)s->dyn_ltree, s->l_desc.max_code); - scan_tree(s, (ct_data *)s->dyn_dtree, s->d_desc.max_code); - - /* Build the bit length tree: */ - build_tree(s, (tree_desc *)(&(s->bl_desc))); - /* opt_len now includes the length of the tree representations, except - * the lengths of the bit lengths codes and the 5+5+4 bits for the counts. - */ - - /* Determine the number of bit length codes to send. The pkzip format - * requires that at least 4 bit length codes be sent. (appnote.txt says - * 3 but the actual value used is 4.) - */ - for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) { - if (s->bl_tree[bl_order[max_blindex]].Len != 0) break; - } - /* Update opt_len to include the bit length tree and counts */ - s->opt_len += 3*(max_blindex+1) + 5+5+4; - Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld", - s->opt_len, s->static_len)); - - return max_blindex; -} - -/* =========================================================================== - * Send the header for a block using dynamic Huffman trees: the counts, the - * lengths of the bit length codes, the literal tree and the distance tree. - * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4. - */ -local void send_all_trees(s, lcodes, dcodes, blcodes) - deflate_state *s; - int lcodes, dcodes, blcodes; /* number of codes for each tree */ -{ - int rank; /* index in bl_order */ - - Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes"); - Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES, - "too many codes"); - Tracev((stderr, "\nbl counts: ")); - send_bits(s, lcodes-257, 5); /* not +255 as stated in appnote.txt */ - send_bits(s, dcodes-1, 5); - send_bits(s, blcodes-4, 4); /* not -3 as stated in appnote.txt */ - for (rank = 0; rank < blcodes; rank++) { - Tracev((stderr, "\nbl code %2d ", bl_order[rank])); - send_bits(s, s->bl_tree[bl_order[rank]].Len, 3); - } - Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent)); - - send_tree(s, (ct_data *)s->dyn_ltree, lcodes-1); /* literal tree */ - Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent)); - - send_tree(s, (ct_data *)s->dyn_dtree, dcodes-1); /* distance tree */ - Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent)); -} - -/* =========================================================================== - * Send a stored block - */ -void ZLIB_INTERNAL _tr_stored_block(s, buf, stored_len, last) - deflate_state *s; - charf *buf; /* input block */ - ulg stored_len; /* length of input block */ - int last; /* one if this is the last block for a file */ -{ - send_bits(s, (STORED_BLOCK<<1)+last, 3); /* send block type */ -#ifdef DEBUG - s->compressed_len = (s->compressed_len + 3 + 7) & (ulg)~7L; - s->compressed_len += (stored_len + 4) << 3; -#endif - copy_block(s, buf, (unsigned)stored_len, 1); /* with header */ -} - -/* =========================================================================== - * Flush the bits in the bit buffer to pending output (leaves at most 7 bits) - */ -void ZLIB_INTERNAL _tr_flush_bits(s) - deflate_state *s; -{ - bi_flush(s); -} - -/* =========================================================================== - * Send one empty static block to give enough lookahead for inflate. - * This takes 10 bits, of which 7 may remain in the bit buffer. - */ -void ZLIB_INTERNAL _tr_align(s) - deflate_state *s; -{ - send_bits(s, STATIC_TREES<<1, 3); - send_code(s, END_BLOCK, static_ltree); -#ifdef DEBUG - s->compressed_len += 10L; /* 3 for block type, 7 for EOB */ -#endif - bi_flush(s); -} - -/* =========================================================================== - * Determine the best encoding for the current block: dynamic trees, static - * trees or store, and output the encoded block to the zip file. - */ -void ZLIB_INTERNAL _tr_flush_block(s, buf, stored_len, last) - deflate_state *s; - charf *buf; /* input block, or NULL if too old */ - ulg stored_len; /* length of input block */ - int last; /* one if this is the last block for a file */ -{ - ulg opt_lenb, static_lenb; /* opt_len and static_len in bytes */ - int max_blindex = 0; /* index of last bit length code of non zero freq */ - - /* Build the Huffman trees unless a stored block is forced */ - if (s->level > 0) { - - /* Check if the file is binary or text */ - if (s->strm->data_type == Z_UNKNOWN) - s->strm->data_type = detect_data_type(s); - - /* Construct the literal and distance trees */ - build_tree(s, (tree_desc *)(&(s->l_desc))); - Tracev((stderr, "\nlit data: dyn %ld, stat %ld", s->opt_len, - s->static_len)); - - build_tree(s, (tree_desc *)(&(s->d_desc))); - Tracev((stderr, "\ndist data: dyn %ld, stat %ld", s->opt_len, - s->static_len)); - /* At this point, opt_len and static_len are the total bit lengths of - * the compressed block data, excluding the tree representations. - */ - - /* Build the bit length tree for the above two trees, and get the index - * in bl_order of the last bit length code to send. - */ - max_blindex = build_bl_tree(s); - - /* Determine the best encoding. Compute the block lengths in bytes. */ - opt_lenb = (s->opt_len+3+7)>>3; - static_lenb = (s->static_len+3+7)>>3; - - Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ", - opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len, - s->last_lit)); - - if (static_lenb <= opt_lenb) opt_lenb = static_lenb; - - } else { - Assert(buf != (char*)0, "lost buf"); - opt_lenb = static_lenb = stored_len + 5; /* force a stored block */ - } - -#ifdef FORCE_STORED - if (buf != (char*)0) { /* force stored block */ -#else - if (stored_len+4 <= opt_lenb && buf != (char*)0) { - /* 4: two words for the lengths */ -#endif - /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE. - * Otherwise we can't have processed more than WSIZE input bytes since - * the last block flush, because compression would have been - * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to - * transform a block into a stored block. - */ - _tr_stored_block(s, buf, stored_len, last); - -#ifdef FORCE_STATIC - } else if (static_lenb >= 0) { /* force static trees */ -#else - } else if (s->strategy == Z_FIXED || static_lenb == opt_lenb) { -#endif - send_bits(s, (STATIC_TREES<<1)+last, 3); - compress_block(s, (ct_data *)static_ltree, (ct_data *)static_dtree); -#ifdef DEBUG - s->compressed_len += 3 + s->static_len; -#endif - } else { - send_bits(s, (DYN_TREES<<1)+last, 3); - send_all_trees(s, s->l_desc.max_code+1, s->d_desc.max_code+1, - max_blindex+1); - compress_block(s, (ct_data *)s->dyn_ltree, (ct_data *)s->dyn_dtree); -#ifdef DEBUG - s->compressed_len += 3 + s->opt_len; -#endif - } - Assert (s->compressed_len == s->bits_sent, "bad compressed size"); - /* The above check is made mod 2^32, for files larger than 512 MB - * and uLong implemented on 32 bits. - */ - init_block(s); - - if (last) { - bi_windup(s); -#ifdef DEBUG - s->compressed_len += 7; /* align on byte boundary */ -#endif - } - Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3, - s->compressed_len-7*last)); -} - -/* =========================================================================== - * Save the match info and tally the frequency counts. Return true if - * the current block must be flushed. - */ -int ZLIB_INTERNAL _tr_tally (s, dist, lc) - deflate_state *s; - unsigned dist; /* distance of matched string */ - unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */ -{ - s->d_buf[s->last_lit] = (ush)dist; - s->l_buf[s->last_lit++] = (uch)lc; - if (dist == 0) { - /* lc is the unmatched char */ - s->dyn_ltree[lc].Freq++; - } else { - s->matches++; - /* Here, lc is the match length - MIN_MATCH */ - dist--; /* dist = match distance - 1 */ - Assert((ush)dist < (ush)MAX_DIST(s) && - (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) && - (ush)d_code(dist) < (ush)D_CODES, "_tr_tally: bad match"); - - s->dyn_ltree[_length_code[lc]+LITERALS+1].Freq++; - s->dyn_dtree[d_code(dist)].Freq++; - } - -#ifdef TRUNCATE_BLOCK - /* Try to guess if it is profitable to stop the current block here */ - if ((s->last_lit & 0x1fff) == 0 && s->level > 2) { - /* Compute an upper bound for the compressed length */ - ulg out_length = (ulg)s->last_lit*8L; - ulg in_length = (ulg)((long)s->strstart - s->block_start); - int dcode; - for (dcode = 0; dcode < D_CODES; dcode++) { - out_length += (ulg)s->dyn_dtree[dcode].Freq * - (5L+extra_dbits[dcode]); - } - out_length >>= 3; - Tracev((stderr,"\nlast_lit %u, in %ld, out ~%ld(%ld%%) ", - s->last_lit, in_length, out_length, - 100L - out_length*100L/in_length)); - if (s->matches < s->last_lit/2 && out_length < in_length/2) return 1; - } -#endif - return (s->last_lit == s->lit_bufsize-1); - /* We avoid equality with lit_bufsize because of wraparound at 64K - * on 16 bit machines and because stored blocks are restricted to - * 64K-1 bytes. - */ -} - -/* =========================================================================== - * Send the block data compressed using the given Huffman trees - */ -local void compress_block(s, ltree, dtree) - deflate_state *s; - ct_data *ltree; /* literal tree */ - ct_data *dtree; /* distance tree */ -{ - unsigned dist; /* distance of matched string */ - int lc; /* match length or unmatched char (if dist == 0) */ - unsigned lx = 0; /* running index in l_buf */ - unsigned code; /* the code to send */ - int extra; /* number of extra bits to send */ - - if (s->last_lit != 0) do { - dist = s->d_buf[lx]; - lc = s->l_buf[lx++]; - if (dist == 0) { - send_code(s, lc, ltree); /* send a literal byte */ - Tracecv(isgraph(lc), (stderr," '%c' ", lc)); - } else { - /* Here, lc is the match length - MIN_MATCH */ - code = _length_code[lc]; - send_code(s, code+LITERALS+1, ltree); /* send the length code */ - extra = extra_lbits[code]; - if (extra != 0) { - lc -= base_length[code]; - send_bits(s, lc, extra); /* send the extra length bits */ - } - dist--; /* dist is now the match distance - 1 */ - code = d_code(dist); - Assert (code < D_CODES, "bad d_code"); - - send_code(s, code, dtree); /* send the distance code */ - extra = extra_dbits[code]; - if (extra != 0) { - dist -= base_dist[code]; - send_bits(s, dist, extra); /* send the extra distance bits */ - } - } /* literal or match pair ? */ - - /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */ - Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx, - "pendingBuf overflow"); - - } while (lx < s->last_lit); - - send_code(s, END_BLOCK, ltree); -} - -/* =========================================================================== - * Check if the data type is TEXT or BINARY, using the following algorithm: - * - TEXT if the two conditions below are satisfied: - * a) There are no non-portable control characters belonging to the - * "black list" (0..6, 14..25, 28..31). - * b) There is at least one printable character belonging to the - * "white list" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255). - * - BINARY otherwise. - * - The following partially-portable control characters form a - * "gray list" that is ignored in this detection algorithm: - * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}). - * IN assertion: the fields Freq of dyn_ltree are set. - */ -local int detect_data_type(s) - deflate_state *s; -{ - /* black_mask is the bit mask of black-listed bytes - * set bits 0..6, 14..25, and 28..31 - * 0xf3ffc07f = binary 11110011111111111100000001111111 - */ - unsigned long black_mask = 0xf3ffc07fUL; - int n; - - /* Check for non-textual ("black-listed") bytes. */ - for (n = 0; n <= 31; n++, black_mask >>= 1) - if ((black_mask & 1) && (s->dyn_ltree[n].Freq != 0)) - return Z_BINARY; - - /* Check for textual ("white-listed") bytes. */ - if (s->dyn_ltree[9].Freq != 0 || s->dyn_ltree[10].Freq != 0 - || s->dyn_ltree[13].Freq != 0) - return Z_TEXT; - for (n = 32; n < LITERALS; n++) - if (s->dyn_ltree[n].Freq != 0) - return Z_TEXT; - - /* There are no "black-listed" or "white-listed" bytes: - * this stream either is empty or has tolerated ("gray-listed") bytes only. - */ - return Z_BINARY; -} - -/* =========================================================================== - * Reverse the first len bits of a code, using straightforward code (a faster - * method would use a table) - * IN assertion: 1 <= len <= 15 - */ -local unsigned bi_reverse(code, len) - unsigned code; /* the value to invert */ - int len; /* its bit length */ -{ - register unsigned res = 0; - do { - res |= code & 1; - code >>= 1, res <<= 1; - } while (--len > 0); - return res >> 1; -} - -/* =========================================================================== - * Flush the bit buffer, keeping at most 7 bits in it. - */ -local void bi_flush(s) - deflate_state *s; -{ - if (s->bi_valid == 16) { - put_short(s, s->bi_buf); - s->bi_buf = 0; - s->bi_valid = 0; - } else if (s->bi_valid >= 8) { - put_byte(s, (Byte)s->bi_buf); - s->bi_buf >>= 8; - s->bi_valid -= 8; - } -} - -/* =========================================================================== - * Flush the bit buffer and align the output on a byte boundary - */ -local void bi_windup(s) - deflate_state *s; -{ - if (s->bi_valid > 8) { - put_short(s, s->bi_buf); - } else if (s->bi_valid > 0) { - put_byte(s, (Byte)s->bi_buf); - } - s->bi_buf = 0; - s->bi_valid = 0; -#ifdef DEBUG - s->bits_sent = (s->bits_sent+7) & ~7; -#endif -} - -/* =========================================================================== - * Copy a stored block, storing first the length and its - * one's complement if requested. - */ -local void copy_block(s, buf, len, header) - deflate_state *s; - charf *buf; /* the input data */ - unsigned len; /* its length */ - int header; /* true if block header must be written */ -{ - bi_windup(s); /* align on byte boundary */ - - if (header) { - put_short(s, (ush)len); - put_short(s, (ush)~len); -#ifdef DEBUG - s->bits_sent += 2*16; -#endif - } -#ifdef DEBUG - s->bits_sent += (ulg)len<<3; -#endif - while (len--) { - put_byte(s, *buf++); - } -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/trees.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/trees.h deleted file mode 100644 index d35639d8..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/trees.h +++ /dev/null @@ -1,128 +0,0 @@ -/* header created automatically with -DGEN_TREES_H */ - -local const ct_data static_ltree[L_CODES+2] = { -{{ 12},{ 8}}, {{140},{ 8}}, {{ 76},{ 8}}, {{204},{ 8}}, {{ 44},{ 8}}, -{{172},{ 8}}, {{108},{ 8}}, {{236},{ 8}}, {{ 28},{ 8}}, {{156},{ 8}}, -{{ 92},{ 8}}, {{220},{ 8}}, {{ 60},{ 8}}, {{188},{ 8}}, {{124},{ 8}}, -{{252},{ 8}}, {{ 2},{ 8}}, {{130},{ 8}}, {{ 66},{ 8}}, {{194},{ 8}}, -{{ 34},{ 8}}, {{162},{ 8}}, {{ 98},{ 8}}, {{226},{ 8}}, {{ 18},{ 8}}, -{{146},{ 8}}, {{ 82},{ 8}}, {{210},{ 8}}, {{ 50},{ 8}}, {{178},{ 8}}, -{{114},{ 8}}, {{242},{ 8}}, {{ 10},{ 8}}, {{138},{ 8}}, {{ 74},{ 8}}, -{{202},{ 8}}, {{ 42},{ 8}}, {{170},{ 8}}, {{106},{ 8}}, {{234},{ 8}}, -{{ 26},{ 8}}, {{154},{ 8}}, {{ 90},{ 8}}, {{218},{ 8}}, {{ 58},{ 8}}, -{{186},{ 8}}, {{122},{ 8}}, {{250},{ 8}}, {{ 6},{ 8}}, {{134},{ 8}}, -{{ 70},{ 8}}, {{198},{ 8}}, {{ 38},{ 8}}, {{166},{ 8}}, {{102},{ 8}}, -{{230},{ 8}}, {{ 22},{ 8}}, {{150},{ 8}}, {{ 86},{ 8}}, {{214},{ 8}}, -{{ 54},{ 8}}, {{182},{ 8}}, {{118},{ 8}}, {{246},{ 8}}, {{ 14},{ 8}}, -{{142},{ 8}}, {{ 78},{ 8}}, {{206},{ 8}}, {{ 46},{ 8}}, {{174},{ 8}}, -{{110},{ 8}}, {{238},{ 8}}, {{ 30},{ 8}}, {{158},{ 8}}, {{ 94},{ 8}}, -{{222},{ 8}}, {{ 62},{ 8}}, {{190},{ 8}}, {{126},{ 8}}, {{254},{ 8}}, -{{ 1},{ 8}}, {{129},{ 8}}, {{ 65},{ 8}}, {{193},{ 8}}, {{ 33},{ 8}}, -{{161},{ 8}}, {{ 97},{ 8}}, {{225},{ 8}}, {{ 17},{ 8}}, {{145},{ 8}}, -{{ 81},{ 8}}, {{209},{ 8}}, {{ 49},{ 8}}, {{177},{ 8}}, {{113},{ 8}}, -{{241},{ 8}}, {{ 9},{ 8}}, {{137},{ 8}}, {{ 73},{ 8}}, {{201},{ 8}}, -{{ 41},{ 8}}, {{169},{ 8}}, {{105},{ 8}}, {{233},{ 8}}, {{ 25},{ 8}}, -{{153},{ 8}}, {{ 89},{ 8}}, {{217},{ 8}}, {{ 57},{ 8}}, {{185},{ 8}}, -{{121},{ 8}}, {{249},{ 8}}, {{ 5},{ 8}}, {{133},{ 8}}, {{ 69},{ 8}}, -{{197},{ 8}}, {{ 37},{ 8}}, {{165},{ 8}}, {{101},{ 8}}, {{229},{ 8}}, -{{ 21},{ 8}}, {{149},{ 8}}, {{ 85},{ 8}}, {{213},{ 8}}, {{ 53},{ 8}}, -{{181},{ 8}}, {{117},{ 8}}, {{245},{ 8}}, {{ 13},{ 8}}, {{141},{ 8}}, -{{ 77},{ 8}}, {{205},{ 8}}, {{ 45},{ 8}}, {{173},{ 8}}, {{109},{ 8}}, -{{237},{ 8}}, {{ 29},{ 8}}, {{157},{ 8}}, {{ 93},{ 8}}, {{221},{ 8}}, -{{ 61},{ 8}}, {{189},{ 8}}, {{125},{ 8}}, {{253},{ 8}}, {{ 19},{ 9}}, -{{275},{ 9}}, {{147},{ 9}}, {{403},{ 9}}, {{ 83},{ 9}}, {{339},{ 9}}, -{{211},{ 9}}, {{467},{ 9}}, {{ 51},{ 9}}, {{307},{ 9}}, {{179},{ 9}}, -{{435},{ 9}}, {{115},{ 9}}, {{371},{ 9}}, {{243},{ 9}}, {{499},{ 9}}, -{{ 11},{ 9}}, {{267},{ 9}}, {{139},{ 9}}, {{395},{ 9}}, {{ 75},{ 9}}, -{{331},{ 9}}, {{203},{ 9}}, {{459},{ 9}}, {{ 43},{ 9}}, {{299},{ 9}}, -{{171},{ 9}}, {{427},{ 9}}, {{107},{ 9}}, {{363},{ 9}}, {{235},{ 9}}, -{{491},{ 9}}, {{ 27},{ 9}}, {{283},{ 9}}, {{155},{ 9}}, {{411},{ 9}}, -{{ 91},{ 9}}, {{347},{ 9}}, {{219},{ 9}}, {{475},{ 9}}, {{ 59},{ 9}}, -{{315},{ 9}}, {{187},{ 9}}, {{443},{ 9}}, {{123},{ 9}}, {{379},{ 9}}, -{{251},{ 9}}, {{507},{ 9}}, {{ 7},{ 9}}, {{263},{ 9}}, {{135},{ 9}}, -{{391},{ 9}}, {{ 71},{ 9}}, {{327},{ 9}}, {{199},{ 9}}, {{455},{ 9}}, -{{ 39},{ 9}}, {{295},{ 9}}, {{167},{ 9}}, {{423},{ 9}}, {{103},{ 9}}, -{{359},{ 9}}, {{231},{ 9}}, {{487},{ 9}}, {{ 23},{ 9}}, {{279},{ 9}}, -{{151},{ 9}}, {{407},{ 9}}, {{ 87},{ 9}}, {{343},{ 9}}, {{215},{ 9}}, -{{471},{ 9}}, {{ 55},{ 9}}, {{311},{ 9}}, {{183},{ 9}}, {{439},{ 9}}, -{{119},{ 9}}, {{375},{ 9}}, {{247},{ 9}}, {{503},{ 9}}, {{ 15},{ 9}}, -{{271},{ 9}}, {{143},{ 9}}, {{399},{ 9}}, {{ 79},{ 9}}, {{335},{ 9}}, -{{207},{ 9}}, {{463},{ 9}}, {{ 47},{ 9}}, {{303},{ 9}}, {{175},{ 9}}, -{{431},{ 9}}, {{111},{ 9}}, {{367},{ 9}}, {{239},{ 9}}, {{495},{ 9}}, -{{ 31},{ 9}}, {{287},{ 9}}, {{159},{ 9}}, {{415},{ 9}}, {{ 95},{ 9}}, -{{351},{ 9}}, {{223},{ 9}}, {{479},{ 9}}, {{ 63},{ 9}}, {{319},{ 9}}, -{{191},{ 9}}, {{447},{ 9}}, {{127},{ 9}}, {{383},{ 9}}, {{255},{ 9}}, -{{511},{ 9}}, {{ 0},{ 7}}, {{ 64},{ 7}}, {{ 32},{ 7}}, {{ 96},{ 7}}, -{{ 16},{ 7}}, {{ 80},{ 7}}, {{ 48},{ 7}}, {{112},{ 7}}, {{ 8},{ 7}}, -{{ 72},{ 7}}, {{ 40},{ 7}}, {{104},{ 7}}, {{ 24},{ 7}}, {{ 88},{ 7}}, -{{ 56},{ 7}}, {{120},{ 7}}, {{ 4},{ 7}}, {{ 68},{ 7}}, {{ 36},{ 7}}, -{{100},{ 7}}, {{ 20},{ 7}}, {{ 84},{ 7}}, {{ 52},{ 7}}, {{116},{ 7}}, -{{ 3},{ 8}}, {{131},{ 8}}, {{ 67},{ 8}}, {{195},{ 8}}, {{ 35},{ 8}}, -{{163},{ 8}}, {{ 99},{ 8}}, {{227},{ 8}} -}; - -local const ct_data static_dtree[D_CODES] = { -{{ 0},{ 5}}, {{16},{ 5}}, {{ 8},{ 5}}, {{24},{ 5}}, {{ 4},{ 5}}, -{{20},{ 5}}, {{12},{ 5}}, {{28},{ 5}}, {{ 2},{ 5}}, {{18},{ 5}}, -{{10},{ 5}}, {{26},{ 5}}, {{ 6},{ 5}}, {{22},{ 5}}, {{14},{ 5}}, -{{30},{ 5}}, {{ 1},{ 5}}, {{17},{ 5}}, {{ 9},{ 5}}, {{25},{ 5}}, -{{ 5},{ 5}}, {{21},{ 5}}, {{13},{ 5}}, {{29},{ 5}}, {{ 3},{ 5}}, -{{19},{ 5}}, {{11},{ 5}}, {{27},{ 5}}, {{ 7},{ 5}}, {{23},{ 5}} -}; - -const uch ZLIB_INTERNAL _dist_code[DIST_CODE_LEN] = { - 0, 1, 2, 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, - 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, -10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, -11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, -12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, -13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, -13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, -14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, -14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, -14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, -15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, -15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, -15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 16, 17, -18, 18, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, -23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, -24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, -26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, -26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, -27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, -27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, -28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, -28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, -28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, -29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, -29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, -29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29 -}; - -const uch ZLIB_INTERNAL _length_code[MAX_MATCH-MIN_MATCH+1]= { - 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 12, 12, -13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, -17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, -19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, -21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, -22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, -23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, -24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, -25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, -25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, -26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, -26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, -27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28 -}; - -local const int base_length[LENGTH_CODES] = { -0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 28, 32, 40, 48, 56, -64, 80, 96, 112, 128, 160, 192, 224, 0 -}; - -local const int base_dist[D_CODES] = { - 0, 1, 2, 3, 4, 6, 8, 12, 16, 24, - 32, 48, 64, 96, 128, 192, 256, 384, 512, 768, - 1024, 1536, 2048, 3072, 4096, 6144, 8192, 12288, 16384, 24576 -}; - diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/uncompr.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/uncompr.c deleted file mode 100644 index ad98be3a..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/uncompr.c +++ /dev/null @@ -1,59 +0,0 @@ -/* uncompr.c -- decompress a memory buffer - * Copyright (C) 1995-2003, 2010 Jean-loup Gailly. - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* @(#) $Id$ */ - -#define ZLIB_INTERNAL -#include "zlib.h" - -/* =========================================================================== - Decompresses the source buffer into the destination buffer. sourceLen is - the byte length of the source buffer. Upon entry, destLen is the total - size of the destination buffer, which must be large enough to hold the - entire uncompressed data. (The size of the uncompressed data must have - been saved previously by the compressor and transmitted to the decompressor - by some mechanism outside the scope of this compression library.) - Upon exit, destLen is the actual size of the compressed buffer. - - uncompress returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_BUF_ERROR if there was not enough room in the output - buffer, or Z_DATA_ERROR if the input data was corrupted. -*/ -int ZEXPORT uncompress (dest, destLen, source, sourceLen) - Bytef *dest; - uLongf *destLen; - const Bytef *source; - uLong sourceLen; -{ - z_stream stream; - int err; - - stream.next_in = (Bytef*)source; - stream.avail_in = (uInt)sourceLen; - /* Check for source > 64K on 16-bit machine: */ - if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR; - - stream.next_out = dest; - stream.avail_out = (uInt)*destLen; - if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR; - - stream.zalloc = (alloc_func)0; - stream.zfree = (free_func)0; - - err = inflateInit(&stream); - if (err != Z_OK) return err; - - err = inflate(&stream, Z_FINISH); - if (err != Z_STREAM_END) { - inflateEnd(&stream); - if (err == Z_NEED_DICT || (err == Z_BUF_ERROR && stream.avail_in == 0)) - return Z_DATA_ERROR; - return err; - } - *destLen = stream.total_out; - - err = inflateEnd(&stream); - return err; -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/watcom/watcom_f.mak b/org.simantics.modelica/FMUSolution/zlib-1.2.6/watcom/watcom_f.mak deleted file mode 100644 index 37f4d74c..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/watcom/watcom_f.mak +++ /dev/null @@ -1,43 +0,0 @@ -# Makefile for zlib -# OpenWatcom flat model -# Last updated: 28-Dec-2005 - -# To use, do "wmake -f watcom_f.mak" - -C_SOURCE = adler32.c compress.c crc32.c deflate.c & - gzclose.c gzlib.c gzread.c gzwrite.c & - infback.c inffast.c inflate.c inftrees.c & - trees.c uncompr.c zutil.c - -OBJS = adler32.obj compress.obj crc32.obj deflate.obj & - gzclose.obj gzlib.obj gzread.obj gzwrite.obj & - infback.obj inffast.obj inflate.obj inftrees.obj & - trees.obj uncompr.obj zutil.obj - -CC = wcc386 -LINKER = wcl386 -CFLAGS = -zq -mf -3r -fp3 -s -bt=dos -oilrtfm -fr=nul -wx -ZLIB_LIB = zlib_f.lib - -.C.OBJ: - $(CC) $(CFLAGS) $[@ - -all: $(ZLIB_LIB) example.exe minigzip.exe - -$(ZLIB_LIB): $(OBJS) - wlib -b -c $(ZLIB_LIB) -+adler32.obj -+compress.obj -+crc32.obj - wlib -b -c $(ZLIB_LIB) -+gzclose.obj -+gzlib.obj -+gzread.obj -+gzwrite.obj - wlib -b -c $(ZLIB_LIB) -+deflate.obj -+infback.obj - wlib -b -c $(ZLIB_LIB) -+inffast.obj -+inflate.obj -+inftrees.obj - wlib -b -c $(ZLIB_LIB) -+trees.obj -+uncompr.obj -+zutil.obj - -example.exe: $(ZLIB_LIB) example.obj - $(LINKER) -ldos32a -fe=example.exe example.obj $(ZLIB_LIB) - -minigzip.exe: $(ZLIB_LIB) minigzip.obj - $(LINKER) -ldos32a -fe=minigzip.exe minigzip.obj $(ZLIB_LIB) - -clean: .SYMBOLIC - del *.obj - del $(ZLIB_LIB) - @echo Cleaning done diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/watcom/watcom_l.mak b/org.simantics.modelica/FMUSolution/zlib-1.2.6/watcom/watcom_l.mak deleted file mode 100644 index 193eed7b..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/watcom/watcom_l.mak +++ /dev/null @@ -1,43 +0,0 @@ -# Makefile for zlib -# OpenWatcom large model -# Last updated: 28-Dec-2005 - -# To use, do "wmake -f watcom_l.mak" - -C_SOURCE = adler32.c compress.c crc32.c deflate.c & - gzclose.c gzlib.c gzread.c gzwrite.c & - infback.c inffast.c inflate.c inftrees.c & - trees.c uncompr.c zutil.c - -OBJS = adler32.obj compress.obj crc32.obj deflate.obj & - gzclose.obj gzlib.obj gzread.obj gzwrite.obj & - infback.obj inffast.obj inflate.obj inftrees.obj & - trees.obj uncompr.obj zutil.obj - -CC = wcc -LINKER = wcl -CFLAGS = -zq -ml -s -bt=dos -oilrtfm -fr=nul -wx -ZLIB_LIB = zlib_l.lib - -.C.OBJ: - $(CC) $(CFLAGS) $[@ - -all: $(ZLIB_LIB) example.exe minigzip.exe - -$(ZLIB_LIB): $(OBJS) - wlib -b -c $(ZLIB_LIB) -+adler32.obj -+compress.obj -+crc32.obj - wlib -b -c $(ZLIB_LIB) -+gzclose.obj -+gzlib.obj -+gzread.obj -+gzwrite.obj - wlib -b -c $(ZLIB_LIB) -+deflate.obj -+infback.obj - wlib -b -c $(ZLIB_LIB) -+inffast.obj -+inflate.obj -+inftrees.obj - wlib -b -c $(ZLIB_LIB) -+trees.obj -+uncompr.obj -+zutil.obj - -example.exe: $(ZLIB_LIB) example.obj - $(LINKER) -fe=example.exe example.obj $(ZLIB_LIB) - -minigzip.exe: $(ZLIB_LIB) minigzip.obj - $(LINKER) -fe=minigzip.exe minigzip.obj $(ZLIB_LIB) - -clean: .SYMBOLIC - del *.obj - del $(ZLIB_LIB) - @echo Cleaning done diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/DLL_FAQ.txt b/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/DLL_FAQ.txt deleted file mode 100644 index 12c00901..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/DLL_FAQ.txt +++ /dev/null @@ -1,397 +0,0 @@ - - Frequently Asked Questions about ZLIB1.DLL - - -This document describes the design, the rationale, and the usage -of the official DLL build of zlib, named ZLIB1.DLL. If you have -general questions about zlib, you should see the file "FAQ" found -in the zlib distribution, or at the following location: - http://www.gzip.org/zlib/zlib_faq.html - - - 1. What is ZLIB1.DLL, and how can I get it? - - - ZLIB1.DLL is the official build of zlib as a DLL. - (Please remark the character '1' in the name.) - - Pointers to a precompiled ZLIB1.DLL can be found in the zlib - web site at: - http://www.zlib.net/ - - Applications that link to ZLIB1.DLL can rely on the following - specification: - - * The exported symbols are exclusively defined in the source - files "zlib.h" and "zlib.def", found in an official zlib - source distribution. - * The symbols are exported by name, not by ordinal. - * The exported names are undecorated. - * The calling convention of functions is "C" (CDECL). - * The ZLIB1.DLL binary is linked to MSVCRT.DLL. - - The archive in which ZLIB1.DLL is bundled contains compiled - test programs that must run with a valid build of ZLIB1.DLL. - It is recommended to download the prebuilt DLL from the zlib - web site, instead of building it yourself, to avoid potential - incompatibilities that could be introduced by your compiler - and build settings. If you do build the DLL yourself, please - make sure that it complies with all the above requirements, - and it runs with the precompiled test programs, bundled with - the original ZLIB1.DLL distribution. - - If, for any reason, you need to build an incompatible DLL, - please use a different file name. - - - 2. Why did you change the name of the DLL to ZLIB1.DLL? - What happened to the old ZLIB.DLL? - - - The old ZLIB.DLL, built from zlib-1.1.4 or earlier, required - compilation settings that were incompatible to those used by - a static build. The DLL settings were supposed to be enabled - by defining the macro ZLIB_DLL, before including "zlib.h". - Incorrect handling of this macro was silently accepted at - build time, resulting in two major problems: - - * ZLIB_DLL was missing from the old makefile. When building - the DLL, not all people added it to the build options. In - consequence, incompatible incarnations of ZLIB.DLL started - to circulate around the net. - - * When switching from using the static library to using the - DLL, applications had to define the ZLIB_DLL macro and - to recompile all the sources that contained calls to zlib - functions. Failure to do so resulted in creating binaries - that were unable to run with the official ZLIB.DLL build. - - The only possible solution that we could foresee was to make - a binary-incompatible change in the DLL interface, in order to - remove the dependency on the ZLIB_DLL macro, and to release - the new DLL under a different name. - - We chose the name ZLIB1.DLL, where '1' indicates the major - zlib version number. We hope that we will not have to break - the binary compatibility again, at least not as long as the - zlib-1.x series will last. - - There is still a ZLIB_DLL macro, that can trigger a more - efficient build and use of the DLL, but compatibility no - longer dependents on it. - - - 3. Can I build ZLIB.DLL from the new zlib sources, and replace - an old ZLIB.DLL, that was built from zlib-1.1.4 or earlier? - - - In principle, you can do it by assigning calling convention - keywords to the macros ZEXPORT and ZEXPORTVA. In practice, - it depends on what you mean by "an old ZLIB.DLL", because the - old DLL exists in several mutually-incompatible versions. - You have to find out first what kind of calling convention is - being used in your particular ZLIB.DLL build, and to use the - same one in the new build. If you don't know what this is all - about, you might be better off if you would just leave the old - DLL intact. - - - 4. Can I compile my application using the new zlib interface, and - link it to an old ZLIB.DLL, that was built from zlib-1.1.4 or - earlier? - - - The official answer is "no"; the real answer depends again on - what kind of ZLIB.DLL you have. Even if you are lucky, this - course of action is unreliable. - - If you rebuild your application and you intend to use a newer - version of zlib (post- 1.1.4), it is strongly recommended to - link it to the new ZLIB1.DLL. - - - 5. Why are the zlib symbols exported by name, and not by ordinal? - - - Although exporting symbols by ordinal is a little faster, it - is risky. Any single glitch in the maintenance or use of the - DEF file that contains the ordinals can result in incompatible - builds and frustrating crashes. Simply put, the benefits of - exporting symbols by ordinal do not justify the risks. - - Technically, it should be possible to maintain ordinals in - the DEF file, and still export the symbols by name. Ordinals - exist in every DLL, and even if the dynamic linking performed - at the DLL startup is searching for names, ordinals serve as - hints, for a faster name lookup. However, if the DEF file - contains ordinals, the Microsoft linker automatically builds - an implib that will cause the executables linked to it to use - those ordinals, and not the names. It is interesting to - notice that the GNU linker for Win32 does not suffer from this - problem. - - It is possible to avoid the DEF file if the exported symbols - are accompanied by a "__declspec(dllexport)" attribute in the - source files. You can do this in zlib by predefining the - ZLIB_DLL macro. - - - 6. I see that the ZLIB1.DLL functions use the "C" (CDECL) calling - convention. Why not use the STDCALL convention? - STDCALL is the standard convention in Win32, and I need it in - my Visual Basic project! - - (For readability, we use CDECL to refer to the convention - triggered by the "__cdecl" keyword, STDCALL to refer to - the convention triggered by "__stdcall", and FASTCALL to - refer to the convention triggered by "__fastcall".) - - - Most of the native Windows API functions (without varargs) use - indeed the WINAPI convention (which translates to STDCALL in - Win32), but the standard C functions use CDECL. If a user - application is intrinsically tied to the Windows API (e.g. - it calls native Windows API functions such as CreateFile()), - sometimes it makes sense to decorate its own functions with - WINAPI. But if ANSI C or POSIX portability is a goal (e.g. - it calls standard C functions such as fopen()), it is not a - sound decision to request the inclusion of , or to - use non-ANSI constructs, for the sole purpose to make the user - functions STDCALL-able. - - The functionality offered by zlib is not in the category of - "Windows functionality", but is more like "C functionality". - - Technically, STDCALL is not bad; in fact, it is slightly - faster than CDECL, and it works with variable-argument - functions, just like CDECL. It is unfortunate that, in spite - of using STDCALL in the Windows API, it is not the default - convention used by the C compilers that run under Windows. - The roots of the problem reside deep inside the unsafety of - the K&R-style function prototypes, where the argument types - are not specified; but that is another story for another day. - - The remaining fact is that CDECL is the default convention. - Even if an explicit convention is hard-coded into the function - prototypes inside C headers, problems may appear. The - necessity to expose the convention in users' callbacks is one - of these problems. - - The calling convention issues are also important when using - zlib in other programming languages. Some of them, like Ada - (GNAT) and Fortran (GNU G77), have C bindings implemented - initially on Unix, and relying on the C calling convention. - On the other hand, the pre- .NET versions of Microsoft Visual - Basic require STDCALL, while Borland Delphi prefers, although - it does not require, FASTCALL. - - In fairness to all possible uses of zlib outside the C - programming language, we choose the default "C" convention. - Anyone interested in different bindings or conventions is - encouraged to maintain specialized projects. The "contrib/" - directory from the zlib distribution already holds a couple - of foreign bindings, such as Ada, C++, and Delphi. - - - 7. I need a DLL for my Visual Basic project. What can I do? - - - Define the ZLIB_WINAPI macro before including "zlib.h", when - building both the DLL and the user application (except that - you don't need to define anything when using the DLL in Visual - Basic). The ZLIB_WINAPI macro will switch on the WINAPI - (STDCALL) convention. The name of this DLL must be different - than the official ZLIB1.DLL. - - Gilles Vollant has contributed a build named ZLIBWAPI.DLL, - with the ZLIB_WINAPI macro turned on, and with the minizip - functionality built in. For more information, please read - the notes inside "contrib/vstudio/readme.txt", found in the - zlib distribution. - - - 8. I need to use zlib in my Microsoft .NET project. What can I - do? - - - Henrik Ravn has contributed a .NET wrapper around zlib. Look - into contrib/dotzlib/, inside the zlib distribution. - - - 9. If my application uses ZLIB1.DLL, should I link it to - MSVCRT.DLL? Why? - - - It is not required, but it is recommended to link your - application to MSVCRT.DLL, if it uses ZLIB1.DLL. - - The executables (.EXE, .DLL, etc.) that are involved in the - same process and are using the C run-time library (i.e. they - are calling standard C functions), must link to the same - library. There are several libraries in the Win32 system: - CRTDLL.DLL, MSVCRT.DLL, the static C libraries, etc. - Since ZLIB1.DLL is linked to MSVCRT.DLL, the executables that - depend on it should also be linked to MSVCRT.DLL. - - -10. Why are you saying that ZLIB1.DLL and my application should - be linked to the same C run-time (CRT) library? I linked my - application and my DLLs to different C libraries (e.g. my - application to a static library, and my DLLs to MSVCRT.DLL), - and everything works fine. - - - If a user library invokes only pure Win32 API (accessible via - and the related headers), its DLL build will work - in any context. But if this library invokes standard C API, - things get more complicated. - - There is a single Win32 library in a Win32 system. Every - function in this library resides in a single DLL module, that - is safe to call from anywhere. On the other hand, there are - multiple versions of the C library, and each of them has its - own separate internal state. Standalone executables and user - DLLs that call standard C functions must link to a C run-time - (CRT) library, be it static or shared (DLL). Intermixing - occurs when an executable (not necessarily standalone) and a - DLL are linked to different CRTs, and both are running in the - same process. - - Intermixing multiple CRTs is possible, as long as their - internal states are kept intact. The Microsoft Knowledge Base - articles KB94248 "HOWTO: Use the C Run-Time" and KB140584 - "HOWTO: Link with the Correct C Run-Time (CRT) Library" - mention the potential problems raised by intermixing. - - If intermixing works for you, it's because your application - and DLLs are avoiding the corruption of each of the CRTs' - internal states, maybe by careful design, or maybe by fortune. - - Also note that linking ZLIB1.DLL to non-Microsoft CRTs, such - as those provided by Borland, raises similar problems. - - -11. Why are you linking ZLIB1.DLL to MSVCRT.DLL? - - - MSVCRT.DLL exists on every Windows 95 with a new service pack - installed, or with Microsoft Internet Explorer 4 or later, and - on all other Windows 4.x or later (Windows 98, Windows NT 4, - or later). It is freely distributable; if not present in the - system, it can be downloaded from Microsoft or from other - software provider for free. - - The fact that MSVCRT.DLL does not exist on a virgin Windows 95 - is not so problematic. Windows 95 is scarcely found nowadays, - Microsoft ended its support a long time ago, and many recent - applications from various vendors, including Microsoft, do not - even run on it. Furthermore, no serious user should run - Windows 95 without a proper update installed. - - -12. Why are you not linking ZLIB1.DLL to - <> ? - - - We considered and abandoned the following alternatives: - - * Linking ZLIB1.DLL to a static C library (LIBC.LIB, or - LIBCMT.LIB) is not a good option. People are using the DLL - mainly to save disk space. If you are linking your program - to a static C library, you may as well consider linking zlib - in statically, too. - - * Linking ZLIB1.DLL to CRTDLL.DLL looks appealing, because - CRTDLL.DLL is present on every Win32 installation. - Unfortunately, it has a series of problems: it does not - work properly with Microsoft's C++ libraries, it does not - provide support for 64-bit file offsets, (and so on...), - and Microsoft discontinued its support a long time ago. - - * Linking ZLIB1.DLL to MSVCR70.DLL or MSVCR71.DLL, supplied - with the Microsoft .NET platform, and Visual C++ 7.0/7.1, - raises problems related to the status of ZLIB1.DLL as a - system component. According to the Microsoft Knowledge Base - article KB326922 "INFO: Redistribution of the Shared C - Runtime Component in Visual C++ .NET", MSVCR70.DLL and - MSVCR71.DLL are not supposed to function as system DLLs, - because they may clash with MSVCRT.DLL. Instead, the - application's installer is supposed to put these DLLs - (if needed) in the application's private directory. - If ZLIB1.DLL depends on a non-system runtime, it cannot - function as a redistributable system component. - - * Linking ZLIB1.DLL to non-Microsoft runtimes, such as - Borland's, or Cygwin's, raises problems related to the - reliable presence of these runtimes on Win32 systems. - It's easier to let the DLL build of zlib up to the people - who distribute these runtimes, and who may proceed as - explained in the answer to Question 14. - - -13. If ZLIB1.DLL cannot be linked to MSVCR70.DLL or MSVCR71.DLL, - how can I build/use ZLIB1.DLL in Microsoft Visual C++ 7.0 - (Visual Studio .NET) or newer? - - - Due to the problems explained in the Microsoft Knowledge Base - article KB326922 (see the previous answer), the C runtime that - comes with the VC7 environment is no longer considered a - system component. That is, it should not be assumed that this - runtime exists, or may be installed in a system directory. - Since ZLIB1.DLL is supposed to be a system component, it may - not depend on a non-system component. - - In order to link ZLIB1.DLL and your application to MSVCRT.DLL - in VC7, you need the library of Visual C++ 6.0 or older. If - you don't have this library at hand, it's probably best not to - use ZLIB1.DLL. - - We are hoping that, in the future, Microsoft will provide a - way to build applications linked to a proper system runtime, - from the Visual C++ environment. Until then, you have a - couple of alternatives, such as linking zlib in statically. - If your application requires dynamic linking, you may proceed - as explained in the answer to Question 14. - - -14. I need to link my own DLL build to a CRT different than - MSVCRT.DLL. What can I do? - - - Feel free to rebuild the DLL from the zlib sources, and link - it the way you want. You should, however, clearly state that - your build is unofficial. You should give it a different file - name, and/or install it in a private directory that can be - accessed by your application only, and is not visible to the - others (i.e. it's neither in the PATH, nor in the SYSTEM or - SYSTEM32 directories). Otherwise, your build may clash with - applications that link to the official build. - - For example, in Cygwin, zlib is linked to the Cygwin runtime - CYGWIN1.DLL, and it is distributed under the name CYGZ.DLL. - - -15. May I include additional pieces of code that I find useful, - link them in ZLIB1.DLL, and export them? - - - No. A legitimate build of ZLIB1.DLL must not include code - that does not originate from the official zlib source code. - But you can make your own private DLL build, under a different - file name, as suggested in the previous answer. - - For example, zlib is a part of the VCL library, distributed - with Borland Delphi and C++ Builder. The DLL build of VCL - is a redistributable file, named VCLxx.DLL. - - -16. May I remove some functionality out of ZLIB1.DLL, by enabling - macros like NO_GZCOMPRESS or NO_GZIP at compile time? - - - No. A legitimate build of ZLIB1.DLL must provide the complete - zlib functionality, as implemented in the official zlib source - code. But you can make your own private DLL build, under a - different file name, as suggested in the previous answer. - - -17. I made my own ZLIB1.DLL build. Can I test it for compliance? - - - We prefer that you download the official DLL from the zlib - web site. If you need something peculiar from this DLL, you - can send your suggestion to the zlib mailing list. - - However, in case you do rebuild the DLL yourself, you can run - it with the test programs found in the DLL distribution. - Running these test programs is not a guarantee of compliance, - but a failure can imply a detected problem. - -** - -This document is written and maintained by -Cosmin Truta diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/Makefile.bor b/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/Makefile.bor deleted file mode 100644 index d152bbb7..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/Makefile.bor +++ /dev/null @@ -1,110 +0,0 @@ -# Makefile for zlib -# Borland C++ for Win32 -# -# Usage: -# make -f win32/Makefile.bor -# make -f win32/Makefile.bor LOCAL_ZLIB=-DASMV OBJA=match.obj OBJPA=+match.obj - -# ------------ Borland C++ ------------ - -# Optional nonstandard preprocessor flags (e.g. -DMAX_MEM_LEVEL=7) -# should be added to the environment via "set LOCAL_ZLIB=-DFOO" or -# added to the declaration of LOC here: -LOC = $(LOCAL_ZLIB) - -CC = bcc32 -AS = bcc32 -LD = bcc32 -AR = tlib -CFLAGS = -a -d -k- -O2 $(LOC) -ASFLAGS = $(LOC) -LDFLAGS = $(LOC) - - -# variables -ZLIB_LIB = zlib.lib - -OBJ1 = adler32.obj compress.obj crc32.obj deflate.obj gzclose.obj gzlib.obj gzread.obj -OBJ2 = gzwrite.obj infback.obj inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj -#OBJA = -OBJP1 = +adler32.obj+compress.obj+crc32.obj+deflate.obj+gzclose.obj+gzlib.obj+gzread.obj -OBJP2 = +gzwrite.obj+infback.obj+inffast.obj+inflate.obj+inftrees.obj+trees.obj+uncompr.obj+zutil.obj -#OBJPA= - - -# targets -all: $(ZLIB_LIB) example.exe minigzip.exe - -.c.obj: - $(CC) -c $(CFLAGS) $< - -.asm.obj: - $(AS) -c $(ASFLAGS) $< - -adler32.obj: adler32.c zlib.h zconf.h - -compress.obj: compress.c zlib.h zconf.h - -crc32.obj: crc32.c zlib.h zconf.h crc32.h - -deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h - -gzclose.obj: gzclose.c zlib.h zconf.h gzguts.h - -gzlib.obj: gzlib.c zlib.h zconf.h gzguts.h - -gzread.obj: gzread.c zlib.h zconf.h gzguts.h - -gzwrite.obj: gzwrite.c zlib.h zconf.h gzguts.h - -infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h inffixed.h - -inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h - -inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h inffixed.h - -inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h - -trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h - -uncompr.obj: uncompr.c zlib.h zconf.h - -zutil.obj: zutil.c zutil.h zlib.h zconf.h - -example.obj: test/example.c zlib.h zconf.h - -minigzip.obj: test/minigzip.c zlib.h zconf.h - - -# For the sake of the old Borland make, -# the command line is cut to fit in the MS-DOS 128 byte limit: -$(ZLIB_LIB): $(OBJ1) $(OBJ2) $(OBJA) - -del $(ZLIB_LIB) - $(AR) $(ZLIB_LIB) $(OBJP1) - $(AR) $(ZLIB_LIB) $(OBJP2) - $(AR) $(ZLIB_LIB) $(OBJPA) - - -# testing -test: example.exe minigzip.exe - example - echo hello world | minigzip | minigzip -d - -example.exe: example.obj $(ZLIB_LIB) - $(LD) $(LDFLAGS) example.obj $(ZLIB_LIB) - -minigzip.exe: minigzip.obj $(ZLIB_LIB) - $(LD) $(LDFLAGS) minigzip.obj $(ZLIB_LIB) - - -# cleanup -clean: - -del $(ZLIB_LIB) - -del *.obj - -del *.exe - -del *.tds - -del zlib.bak - -del foo.gz diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/Makefile.emx b/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/Makefile.emx deleted file mode 100644 index 4d6ab0ef..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/Makefile.emx +++ /dev/null @@ -1,69 +0,0 @@ -# Makefile for zlib. Modified for emx/rsxnt by Chr. Spieler, 6/16/98. -# Copyright (C) 1995-1998 Jean-loup Gailly. -# For conditions of distribution and use, see copyright notice in zlib.h - -# To compile, or to compile and test, type: -# -# make -fmakefile.emx; make test -fmakefile.emx -# - -CC=gcc -Zwin32 - -#CFLAGS=-MMD -O -#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 -#CFLAGS=-MMD -g -DDEBUG -CFLAGS=-MMD -O3 $(BUTT) -Wall -Wwrite-strings -Wpointer-arith -Wconversion \ - -Wstrict-prototypes -Wmissing-prototypes - -# If cp.exe is available, replace "copy /Y" with "cp -fp" . -CP=copy /Y -# If gnu install.exe is available, replace $(CP) with ginstall. -INSTALL=$(CP) -# The default value of RM is "rm -f." If "rm.exe" is found, comment out: -RM=del -LDLIBS=-L. -lzlib -LD=$(CC) -s -o -LDSHARED=$(CC) - -INCL=zlib.h zconf.h -LIBS=zlib.a - -AR=ar rcs - -prefix=/usr/local -exec_prefix = $(prefix) - -OBJS = adler32.o compress.o crc32.o deflate.o gzclose.o gzlib.o gzread.o \ - gzwrite.o infback.o inffast.o inflate.o inftrees.o trees.o uncompr.o zutil.o - -TEST_OBJS = example.o minigzip.o - -all: example.exe minigzip.exe - -test: all - ./example - echo hello world | .\minigzip | .\minigzip -d - -%.o : %.c - $(CC) $(CFLAGS) -c $< -o $@ - -zlib.a: $(OBJS) - $(AR) $@ $(OBJS) - -%.exe : %.o $(LIBS) - $(LD) $@ $< $(LDLIBS) - - -.PHONY : clean - -clean: - $(RM) *.d - $(RM) *.o - $(RM) *.exe - $(RM) zlib.a - $(RM) foo.gz - -DEPS := $(wildcard *.d) -ifneq ($(DEPS),) -include $(DEPS) -endif diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/Makefile.gcc b/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/Makefile.gcc deleted file mode 100644 index c4a6589c..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/Makefile.gcc +++ /dev/null @@ -1,180 +0,0 @@ -# Makefile for zlib, derived from Makefile.dj2. -# Modified for mingw32 by C. Spieler, 6/16/98. -# Updated for zlib 1.2.x by Christian Spieler and Cosmin Truta, Mar-2003. -# Last updated: 1-Aug-2003. -# Tested under Cygwin and MinGW. - -# Copyright (C) 1995-2003 Jean-loup Gailly. -# For conditions of distribution and use, see copyright notice in zlib.h - -# To compile, or to compile and test, type: -# -# make -fmakefile.gcc; make test testdll -fmakefile.gcc -# -# To use the asm code, type: -# cp contrib/asm?86/match.S ./match.S -# make LOC=-DASMV OBJA=match.o -fmakefile.gcc -# -# To install libz.a, zconf.h and zlib.h in the system directories, type: -# -# make install -fmakefile.gcc - -# Note: -# If the platform is *not* MinGW (e.g. it is Cygwin or UWIN), -# the DLL name should be changed from "zlib1.dll". - -STATICLIB = libz.a -SHAREDLIB = zlib1.dll -IMPLIB = libz.dll.a - -# -# Set to 1 if shared object needs to be installed -# -SHARED_MODE=0 - -#LOC = -DASMV -#LOC = -DDEBUG -g - -PREFIX = -CC = $(PREFIX)gcc -CFLAGS = $(LOC) -O3 -Wall -EXTRA_CFLAGS = -DNO_VIZ - -AS = $(CC) -ASFLAGS = $(LOC) -Wall - -LD = $(CC) -LDFLAGS = $(LOC) - -AR = $(PREFIX)ar -ARFLAGS = rcs - -RC = $(PREFIX)windres -RCFLAGS = --define GCC_WINDRES - -STRIP = $(PREFIX)strip - -CP = cp -fp -# If GNU install is available, replace $(CP) with install. -INSTALL = $(CP) -RM = rm -f - -prefix ?= /usr/local -exec_prefix = $(prefix) - -OBJS = adler32.o compress.o crc32.o deflate.o gzclose.o gzlib.o gzread.o \ - gzwrite.o infback.o inffast.o inflate.o inftrees.o trees.o uncompr.o zutil.o -OBJA = - -all: $(STATICLIB) $(SHAREDLIB) $(IMPLIB) example.exe minigzip.exe example_d.exe minigzip_d.exe - -test: example.exe minigzip.exe - ./example - echo hello world | ./minigzip | ./minigzip -d - -testdll: example_d.exe minigzip_d.exe - ./example_d - echo hello world | ./minigzip_d | ./minigzip_d -d - -.c.o: - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< - -.S.o: - $(AS) $(ASFLAGS) -c -o $@ $< - -$(STATICLIB): $(OBJS) $(OBJA) - $(AR) $(ARFLAGS) $@ $(OBJS) $(OBJA) - -$(IMPLIB): $(SHAREDLIB) - -$(SHAREDLIB): win32/zlib.def $(OBJS) $(OBJA) zlibrc.o - $(CC) -shared -Wl,--out-implib,$(IMPLIB) $(LDFLAGS) \ - -o $@ win32/zlib.def $(OBJS) $(OBJA) zlibrc.o - $(STRIP) $@ - -example.exe: example.o $(STATICLIB) - $(LD) $(LDFLAGS) -o $@ example.o $(STATICLIB) - $(STRIP) $@ - -minigzip.exe: minigzip.o $(STATICLIB) - $(LD) $(LDFLAGS) -o $@ minigzip.o $(STATICLIB) - $(STRIP) $@ - -example_d.exe: example.o $(IMPLIB) - $(LD) $(LDFLAGS) -o $@ example.o $(IMPLIB) - $(STRIP) $@ - -minigzip_d.exe: minigzip.o $(IMPLIB) - $(LD) $(LDFLAGS) -o $@ minigzip.o $(IMPLIB) - $(STRIP) $@ - -example.o: test/example.c zlib.h zconf.h - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -I. -c -o $@ test/example.c - -minigzip.o: test/minigzip.c zlib.h zconf.h - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -I. -c -o $@ test/minigzip.c - -zlibrc.o: win32/zlib1.rc - $(RC) $(RCFLAGS) -o $@ win32/zlib1.rc - - -# BINARY_PATH, INCLUDE_PATH and LIBRARY_PATH must be set. - -.PHONY: install uninstall clean - -install: zlib.h zconf.h $(STATICLIB) $(IMPLIB) - @if test -z "$(INCLUDE_PATH)" -o -z "$(LIBRARY_PATH)" -o -z "$(BINARY_PATH)"; then \ - echo INCLUDE_PATH, LIBRARY_PATH, and BINARY_PATH must be specified; \ - exit 1; \ - fi - -@mkdir -p $(INCLUDE_PATH) - -@mkdir -p $(LIBRARY_PATH) $(LIBRARY_PATH)/pkgconfig - -if [ "$(SHARED_MODE)" = "1" ]; then \ - mkdir -p $(BINARY_PATH); \ - $(INSTALL) $(SHAREDLIB) $(BINARY_PATH); \ - $(INSTALL) $(IMPLIB) $(LIBRARY_PATH); \ - fi - -$(INSTALL) zlib.h $(INCLUDE_PATH) - -$(INSTALL) zconf.h $(INCLUDE_PATH) - -$(INSTALL) $(STATICLIB) $(LIBRARY_PATH) - sed \ - -e 's|@prefix@|${prefix}|g' \ - -e 's|@exec_prefix@|${exec_prefix}|g' \ - -e 's|@libdir@|$(LIBRARY_PATH)|g' \ - -e 's|@sharedlibdir@|$(LIBRARY_PATH)|g' \ - -e 's|@includedir@|$(INCLUDE_PATH)|g' \ - -e 's|@VERSION@|'`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' zlib.h`'|g' \ - zlib.pc.in > $(LIBRARY_PATH)/pkgconfig/zlib.pc - -uninstall: - -if [ "$(SHARED_MODE)" = "1" ]; then \ - $(RM) $(BINARY_PATH)/$(SHAREDLIB); \ - $(RM) $(LIBRARY_PATH)/$(IMPLIB); \ - fi - -$(RM) $(INCLUDE_PATH)/zlib.h - -$(RM) $(INCLUDE_PATH)/zconf.h - -$(RM) $(LIBRARY_PATH)/$(STATICLIB) - -clean: - -$(RM) $(STATICLIB) - -$(RM) $(SHAREDLIB) - -$(RM) $(IMPLIB) - -$(RM) *.o - -$(RM) *.exe - -$(RM) foo.gz - -adler32.o: zlib.h zconf.h -compress.o: zlib.h zconf.h -crc32.o: crc32.h zlib.h zconf.h -deflate.o: deflate.h zutil.h zlib.h zconf.h -gzclose.o: zlib.h zconf.h gzguts.h -gzlib.o: zlib.h zconf.h gzguts.h -gzread.o: zlib.h zconf.h gzguts.h -gzwrite.o: zlib.h zconf.h gzguts.h -inffast.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h -inflate.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h -infback.o: zutil.h zlib.h zconf.h inftrees.h inflate.h inffast.h -inftrees.o: zutil.h zlib.h zconf.h inftrees.h -trees.o: deflate.h zutil.h zlib.h zconf.h trees.h -uncompr.o: zlib.h zconf.h -zutil.o: zutil.h zlib.h zconf.h diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/Makefile.msc b/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/Makefile.msc deleted file mode 100644 index 59bb0dae..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/Makefile.msc +++ /dev/null @@ -1,160 +0,0 @@ -# Makefile for zlib using Microsoft (Visual) C -# zlib is copyright (C) 1995-2006 Jean-loup Gailly and Mark Adler -# -# Usage: -# nmake -f win32/Makefile.msc (standard build) -# nmake -f win32/Makefile.msc LOC=-DFOO (nonstandard build) -# nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF" \ -# OBJA="inffas32.obj match686.obj" (use ASM code, x86) -# nmake -f win32/Makefile.msc AS=ml64 LOC="-DASMV -DASMINF -I." \ -# OBJA="inffasx64.obj gvmat64.obj inffas8664.obj" (use ASM code, x64) - -# optional build flags -LOC = - -# variables -STATICLIB = zlib.lib -SHAREDLIB = zlib1.dll -IMPLIB = zdll.lib - -CC = cl -AS = ml -LD = link -AR = lib -RC = rc -CFLAGS = -nologo -MD -W3 -O2 -Oy- -Zi -Fd"zlib" $(LOC) -WFLAGS = -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -ASFLAGS = -coff -Zi $(LOC) -LDFLAGS = -nologo -debug -incremental:no -opt:ref -ARFLAGS = -nologo -RCFLAGS = /dWIN32 /r - -OBJS = adler32.obj compress.obj crc32.obj deflate.obj gzclose.obj gzlib.obj gzread.obj \ - gzwrite.obj infback.obj inflate.obj inftrees.obj inffast.obj trees.obj uncompr.obj zutil.obj -OBJA = - - -# targets -all: $(STATICLIB) $(SHAREDLIB) $(IMPLIB) \ - example.exe minigzip.exe example_d.exe minigzip_d.exe - -$(STATICLIB): $(OBJS) $(OBJA) - $(AR) $(ARFLAGS) -out:$@ $(OBJS) $(OBJA) - -$(IMPLIB): $(SHAREDLIB) - -$(SHAREDLIB): win32/zlib.def $(OBJS) $(OBJA) zlib1.res - $(LD) $(LDFLAGS) -def:win32/zlib.def -dll -implib:$(IMPLIB) \ - -out:$@ -base:0x5A4C0000 $(OBJS) $(OBJA) zlib1.res - if exist $@.manifest \ - mt -nologo -manifest $@.manifest -outputresource:$@;2 - -example.exe: example.obj $(STATICLIB) - $(LD) $(LDFLAGS) example.obj $(STATICLIB) - if exist $@.manifest \ - mt -nologo -manifest $@.manifest -outputresource:$@;1 - -minigzip.exe: minigzip.obj $(STATICLIB) - $(LD) $(LDFLAGS) minigzip.obj $(STATICLIB) - if exist $@.manifest \ - mt -nologo -manifest $@.manifest -outputresource:$@;1 - -example_d.exe: example.obj $(IMPLIB) - $(LD) $(LDFLAGS) -out:$@ example.obj $(IMPLIB) - if exist $@.manifest \ - mt -nologo -manifest $@.manifest -outputresource:$@;1 - -minigzip_d.exe: minigzip.obj $(IMPLIB) - $(LD) $(LDFLAGS) -out:$@ minigzip.obj $(IMPLIB) - if exist $@.manifest \ - mt -nologo -manifest $@.manifest -outputresource:$@;1 - -.c.obj: - $(CC) -c $(WFLAGS) $(CFLAGS) $< - -{test}.c.obj: - $(CC) -c -I. $(WFLAGS) $(CFLAGS) $< - -{contrib/masmx64}.c.obj: - $(CC) -c $(WFLAGS) $(CFLAGS) $< - -{contrib/masmx64}.asm.obj: - $(AS) -c $(ASFLAGS) $< - -{contrib/masmx86}.asm.obj: - $(AS) -c $(ASFLAGS) $< - -adler32.obj: adler32.c zlib.h zconf.h - -compress.obj: compress.c zlib.h zconf.h - -crc32.obj: crc32.c zlib.h zconf.h crc32.h - -deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h - -gzclose.obj: gzclose.c zlib.h zconf.h gzguts.h - -gzlib.obj: gzlib.c zlib.h zconf.h gzguts.h - -gzread.obj: gzread.c zlib.h zconf.h gzguts.h - -gzwrite.obj: gzwrite.c zlib.h zconf.h gzguts.h - -infback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h inffixed.h - -inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h - -inflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \ - inffast.h inffixed.h - -inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h - -trees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h - -uncompr.obj: uncompr.c zlib.h zconf.h - -zutil.obj: zutil.c zutil.h zlib.h zconf.h - -gvmat64.obj: contrib\masmx64\gvmat64.asm - -inffasx64.obj: contrib\masmx64\inffasx64.asm - -inffas8664.obj: contrib\masmx64\inffas8664.c zutil.h zlib.h zconf.h \ - inftrees.h inflate.h inffast.h - -inffas32.obj: contrib\masmx86\inffas32.asm - -match686.obj: contrib\masmx86\match686.asm - -example.obj: test/example.c zlib.h zconf.h - -minigzip.obj: test/minigzip.c zlib.h zconf.h - -zlib1.res: win32/zlib1.rc - $(RC) $(RCFLAGS) /fo$@ win32/zlib1.rc - - -# testing -test: example.exe minigzip.exe - example - echo hello world | minigzip | minigzip -d - -testdll: example_d.exe minigzip_d.exe - example_d - echo hello world | minigzip_d | minigzip_d -d - - -# cleanup -clean: - -del $(STATICLIB) - -del $(SHAREDLIB) - -del $(IMPLIB) - -del *.obj - -del *.res - -del *.exp - -del *.exe - -del *.pdb - -del *.manifest - -del foo.gz diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/README-WIN32.txt b/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/README-WIN32.txt deleted file mode 100644 index 1e4c093c..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/README-WIN32.txt +++ /dev/null @@ -1,103 +0,0 @@ -ZLIB DATA COMPRESSION LIBRARY - -zlib 1.2.4 is a general purpose data compression library. All the code is -thread safe. The data format used by the zlib library is described by RFCs -(Request for Comments) 1950 to 1952 in the files -http://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format) -and rfc1952.txt (gzip format). - -All functions of the compression library are documented in the file zlib.h -(volunteer to write man pages welcome, contact zlib@gzip.org). Two compiled -examples are distributed in this package, example and minigzip. The example_d -and minigzip_d flavors validate that the zlib1.dll file is working correctly. - -Questions about zlib should be sent to . The zlib home page -is http://zlib.net/ . Before reporting a problem, please check this site to -verify that you have the latest version of zlib; otherwise get the latest -version and check whether the problem still exists or not. - -PLEASE read DLL_FAQ.txt, and the the zlib FAQ http://zlib.net/zlib_faq.html -before asking for help. - - -Manifest: - -The package zlib-1.2.4-win32-x86.zip contains the following files: - - README-WIN32.txt This document - ChangeLog Changes since previous zlib packages - DLL_FAQ.txt Frequently asked questions about zlib1.dll - zlib.3.pdf Documentation of this library in Adobe Acrobat format - - example.exe A statically-bound example (using zlib.lib, not the dll) - example.pdb Symbolic information for debugging example.exe - - example_d.exe A zlib1.dll bound example (using zdll.lib) - example_d.pdb Symbolic information for debugging example_d.exe - - minigzip.exe A statically-bound test program (using zlib.lib, not the dll) - minigzip.pdb Symbolic information for debugging minigzip.exe - - minigzip_d.exe A zlib1.dll bound test program (using zdll.lib) - minigzip_d.pdb Symbolic information for debugging minigzip_d.exe - - zlib.h Install these files into the compilers' INCLUDE path to - zconf.h compile programs which use zlib.lib or zdll.lib - - zdll.lib Install these files into the compilers' LIB path if linking - zdll.exp a compiled program to the zlib1.dll binary - - zlib.lib Install these files into the compilers' LIB path to link zlib - zlib.pdb into compiled programs, without zlib1.dll runtime dependency - (zlib.pdb provides debugging info to the compile time linker) - - zlib1.dll Install this binary shared library into the system PATH, or - the program's runtime directory (where the .exe resides) - zlib1.pdb Install in the same directory as zlib1.dll, in order to debug - an application crash using WinDbg or similar tools. - -All .pdb files above are entirely optional, but are very useful to a developer -attempting to diagnose program misbehavior or a crash. Many additional -important files for developers can be found in the zlib124.zip source package -available from http://zlib.net/ - review that package's README file for details. - - -Acknowledgments: - -The deflate format used by zlib was defined by Phil Katz. The deflate and -zlib specifications were written by L. Peter Deutsch. Thanks to all the -people who reported problems and suggested various improvements in zlib; they -are too numerous to cite here. - - -Copyright notice: - - (C) 1995-2010 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu - -If you use the zlib library in a product, we would appreciate *not* receiving -lengthy legal documents to sign. The sources are provided for free but without -warranty of any kind. The library has been entirely written by Jean-loup -Gailly and Mark Adler; it does not include third-party code. - -If you redistribute modified sources, we would appreciate that you include in -the file ChangeLog history information documenting your changes. Please read -the FAQ for more information on the distribution of modified source versions. diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/VisualC.txt b/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/VisualC.txt deleted file mode 100644 index 579a5fc9..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/VisualC.txt +++ /dev/null @@ -1,3 +0,0 @@ - -To build zlib using the Microsoft Visual C++ environment, -use the appropriate project from the projects/ directory. diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/zlib.def b/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/zlib.def deleted file mode 100644 index d96c18ae..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/zlib.def +++ /dev/null @@ -1,84 +0,0 @@ -; zlib data compression library -EXPORTS -; basic functions - zlibVersion - deflate - deflateEnd - inflate - inflateEnd -; advanced functions - deflateSetDictionary - deflateCopy - deflateReset - deflateParams - deflateTune - deflateBound - deflatePending - deflatePrime - deflateSetHeader - inflateSetDictionary - inflateSync - inflateCopy - inflateReset - inflateReset2 - inflatePrime - inflateMark - inflateGetHeader - inflateBack - inflateBackEnd - zlibCompileFlags -; utility functions - compress - compress2 - compressBound - uncompress - gzopen - gzdopen - gzbuffer - gzsetparams - gzread - gzwrite - gzprintf - gzputs - gzgets - gzputc - gzgetc - gzungetc - gzflush - gzseek - gzrewind - gztell - gzoffset - gzeof - gzdirect - gzclose - gzclose_r - gzclose_w - gzerror - gzclearerr -; large file functions - gzopen64 - gzseek64 - gztell64 - gzoffset64 - adler32_combine64 - crc32_combine64 -; checksum functions - adler32 - crc32 - adler32_combine - crc32_combine -; various hacks, don't look :) - deflateInit_ - deflateInit2_ - inflateInit_ - inflateInit2_ - inflateBackInit_ - zError - inflateSyncPoint - get_crc_table - inflateUndermine - inflateResetKeep - deflateResetKeep - gzgetc_ - gzflags diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/zlib1.rc b/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/zlib1.rc deleted file mode 100644 index 0d1d7ffc..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/win32/zlib1.rc +++ /dev/null @@ -1,40 +0,0 @@ -#include -#include "../zlib.h" - -#ifdef GCC_WINDRES -VS_VERSION_INFO VERSIONINFO -#else -VS_VERSION_INFO VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE -#endif - FILEVERSION ZLIB_VER_MAJOR,ZLIB_VER_MINOR,ZLIB_VER_REVISION,0 - PRODUCTVERSION ZLIB_VER_MAJOR,ZLIB_VER_MINOR,ZLIB_VER_REVISION,0 - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK -#ifdef _DEBUG - FILEFLAGS 1 -#else - FILEFLAGS 0 -#endif - FILEOS VOS__WINDOWS32 - FILETYPE VFT_DLL - FILESUBTYPE 0 // not used -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904E4" - //language ID = U.S. English, char set = Windows, Multilingual - BEGIN - VALUE "FileDescription", "zlib data compression library\0" - VALUE "FileVersion", ZLIB_VERSION "\0" - VALUE "InternalName", "zlib1.dll\0" - VALUE "LegalCopyright", "(C) 1995-2006 Jean-loup Gailly & Mark Adler\0" - VALUE "OriginalFilename", "zlib1.dll\0" - VALUE "ProductName", "zlib\0" - VALUE "ProductVersion", ZLIB_VERSION "\0" - VALUE "Comments", "For more information visit http://www.zlib.net/\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x0409, 1252 - END -END diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/zconf.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/zconf.h deleted file mode 100644 index 51c80ac1..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/zconf.h +++ /dev/null @@ -1,466 +0,0 @@ -/* zconf.h -- configuration of the zlib compression library - * Copyright (C) 1995-2011 Jean-loup Gailly. - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* @(#) $Id$ */ - -#ifndef ZCONF_H -#define ZCONF_H - -/* - * If you *really* need a unique prefix for all types and library functions, - * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. - * Even better than compiling with -DZ_PREFIX would be to use configure to set - * this permanently in zconf.h using "./configure --zprefix". - */ -#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */ -# define Z_PREFIX_SET - -/* all linked symbols */ -# define _dist_code z__dist_code -# define _length_code z__length_code -# define _tr_align z__tr_align -# define _tr_flush_block z__tr_flush_block -# define _tr_init z__tr_init -# define _tr_stored_block z__tr_stored_block -# define _tr_tally z__tr_tally -# define adler32 z_adler32 -# define adler32_combine z_adler32_combine -# define adler32_combine64 z_adler32_combine64 -# ifndef Z_SOLO -# define compress z_compress -# define compress2 z_compress2 -# define compressBound z_compressBound -# endif -# define crc32 z_crc32 -# define crc32_combine z_crc32_combine -# define crc32_combine64 z_crc32_combine64 -# define deflate z_deflate -# define deflateBound z_deflateBound -# define deflateCopy z_deflateCopy -# define deflateEnd z_deflateEnd -# define deflateInit2_ z_deflateInit2_ -# define deflateInit_ z_deflateInit_ -# define deflateParams z_deflateParams -# define deflatePending z_deflatePending -# define deflatePrime z_deflatePrime -# define deflateReset z_deflateReset -# define deflateResetKeep z_deflateResetKeep -# define deflateSetDictionary z_deflateSetDictionary -# define deflateSetHeader z_deflateSetHeader -# define deflateTune z_deflateTune -# define deflate_copyright z_deflate_copyright -# define get_crc_table z_get_crc_table -# ifndef Z_SOLO -# define gz_error z_gz_error -# define gz_intmax z_gz_intmax -# define gz_strwinerror z_gz_strwinerror -# define gzbuffer z_gzbuffer -# define gzclearerr z_gzclearerr -# define gzclose z_gzclose -# define gzclose_r z_gzclose_r -# define gzclose_w z_gzclose_w -# define gzdirect z_gzdirect -# define gzdopen z_gzdopen -# define gzeof z_gzeof -# define gzerror z_gzerror -# define gzflags z_gzflags -# define gzflush z_gzflush -# define gzgetc z_gzgetc -# define gzgetc_ z_gzgetc_ -# define gzgets z_gzgets -# define gzoffset z_gzoffset -# define gzoffset64 z_gzoffset64 -# define gzopen z_gzopen -# define gzopen64 z_gzopen64 -# define gzprintf z_gzprintf -# define gzputc z_gzputc -# define gzputs z_gzputs -# define gzread z_gzread -# define gzrewind z_gzrewind -# define gzseek z_gzseek -# define gzseek64 z_gzseek64 -# define gzsetparams z_gzsetparams -# define gztell z_gztell -# define gztell64 z_gztell64 -# define gzungetc z_gzungetc -# define gzwrite z_gzwrite -# endif -# define inflate z_inflate -# define inflateBack z_inflateBack -# define inflateBackEnd z_inflateBackEnd -# define inflateBackInit_ z_inflateBackInit_ -# define inflateCopy z_inflateCopy -# define inflateEnd z_inflateEnd -# define inflateGetHeader z_inflateGetHeader -# define inflateInit2_ z_inflateInit2_ -# define inflateInit_ z_inflateInit_ -# define inflateMark z_inflateMark -# define inflatePrime z_inflatePrime -# define inflateReset z_inflateReset -# define inflateReset2 z_inflateReset2 -# define inflateSetDictionary z_inflateSetDictionary -# define inflateSync z_inflateSync -# define inflateSyncPoint z_inflateSyncPoint -# define inflateUndermine z_inflateUndermine -# define inflateResetKeep z_inflateResetKeep -# define inflate_copyright z_inflate_copyright -# define inflate_fast z_inflate_fast -# define inflate_table z_inflate_table -# ifndef Z_SOLO -# define uncompress z_uncompress -# endif -# define zError z_zError -# ifndef Z_SOLO -# define zcalloc z_zcalloc -# define zcfree z_zcfree -# endif -# define zlibCompileFlags z_zlibCompileFlags -# define zlibVersion z_zlibVersion - -/* all zlib typedefs in zlib.h and zconf.h */ -# define Byte z_Byte -# define Bytef z_Bytef -# define alloc_func z_alloc_func -# define charf z_charf -# define free_func z_free_func -# ifndef Z_SOLO -# define gzFile z_gzFile -# define gz_header z_gz_header -# define gz_headerp z_gz_headerp -# endif -# define in_func z_in_func -# define intf z_intf -# define out_func z_out_func -# define uInt z_uInt -# define uIntf z_uIntf -# define uLong z_uLong -# define uLongf z_uLongf -# define voidp z_voidp -# define voidpc z_voidpc -# define voidpf z_voidpf - -/* all zlib structs in zlib.h and zconf.h */ -# ifndef Z_SOLO -# define gz_header_s z_gz_header_s -# endif -# define internal_state z_internal_state - -#endif - -#if defined(__MSDOS__) && !defined(MSDOS) -# define MSDOS -#endif -#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2) -# define OS2 -#endif -#if defined(_WINDOWS) && !defined(WINDOWS) -# define WINDOWS -#endif -#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) -# ifndef WIN32 -# define WIN32 -# endif -#endif -#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) -# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) -# ifndef SYS16BIT -# define SYS16BIT -# endif -# endif -#endif - -/* - * Compile with -DMAXSEG_64K if the alloc function cannot allocate more - * than 64k bytes at a time (needed on systems with 16-bit int). - */ -#ifdef SYS16BIT -# define MAXSEG_64K -#endif -#ifdef MSDOS -# define UNALIGNED_OK -#endif - -#ifdef __STDC_VERSION__ -# ifndef STDC -# define STDC -# endif -# if __STDC_VERSION__ >= 199901L -# ifndef STDC99 -# define STDC99 -# endif -# endif -#endif -#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus)) -# define STDC -#endif -#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__)) -# define STDC -#endif -#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32)) -# define STDC -#endif -#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__)) -# define STDC -#endif - -#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */ -# define STDC -#endif - -#ifndef STDC -# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ -# define const /* note: need a more gentle solution here */ -# endif -#endif - -#if defined(ZLIB_CONST) && !defined(z_const) -# define z_const const -#else -# define z_const -#endif - -/* Some Mac compilers merge all .h files incorrectly: */ -#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__) -# define NO_DUMMY_DECL -#endif - -/* Maximum value for memLevel in deflateInit2 */ -#ifndef MAX_MEM_LEVEL -# ifdef MAXSEG_64K -# define MAX_MEM_LEVEL 8 -# else -# define MAX_MEM_LEVEL 9 -# endif -#endif - -/* Maximum value for windowBits in deflateInit2 and inflateInit2. - * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files - * created by gzip. (Files created by minigzip can still be extracted by - * gzip.) - */ -#ifndef MAX_WBITS -# define MAX_WBITS 15 /* 32K LZ77 window */ -#endif - -/* The memory requirements for deflate are (in bytes): - (1 << (windowBits+2)) + (1 << (memLevel+9)) - that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) - plus a few kilobytes for small objects. For example, if you want to reduce - the default memory requirements from 256K to 128K, compile with - make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" - Of course this will generally degrade compression (there's no free lunch). - - The memory requirements for inflate are (in bytes) 1 << windowBits - that is, 32K for windowBits=15 (default value) plus a few kilobytes - for small objects. -*/ - - /* Type declarations */ - -#ifndef OF /* function prototypes */ -# ifdef STDC -# define OF(args) args -# else -# define OF(args) () -# endif -#endif - -#ifndef Z_ARG /* function prototypes for stdarg */ -# if defined(STDC) || defined(Z_HAVE_STDARG_H) -# define Z_ARG(args) args -# else -# define Z_ARG(args) () -# endif -#endif - -/* The following definitions for FAR are needed only for MSDOS mixed - * model programming (small or medium model with some far allocations). - * This was tested only with MSC; for other MSDOS compilers you may have - * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, - * just define FAR to be empty. - */ -#ifdef SYS16BIT -# if defined(M_I86SM) || defined(M_I86MM) - /* MSC small or medium model */ -# define SMALL_MEDIUM -# ifdef _MSC_VER -# define FAR _far -# else -# define FAR far -# endif -# endif -# if (defined(__SMALL__) || defined(__MEDIUM__)) - /* Turbo C small or medium model */ -# define SMALL_MEDIUM -# ifdef __BORLANDC__ -# define FAR _far -# else -# define FAR far -# endif -# endif -#endif - -#if defined(WINDOWS) || defined(WIN32) - /* If building or using zlib as a DLL, define ZLIB_DLL. - * This is not mandatory, but it offers a little performance increase. - */ -# ifdef ZLIB_DLL -# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) -# ifdef ZLIB_INTERNAL -# define ZEXTERN extern __declspec(dllexport) -# else -# define ZEXTERN extern __declspec(dllimport) -# endif -# endif -# endif /* ZLIB_DLL */ - /* If building or using zlib with the WINAPI/WINAPIV calling convention, - * define ZLIB_WINAPI. - * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. - */ -# ifdef ZLIB_WINAPI -# ifdef FAR -# undef FAR -# endif -# include - /* No need for _export, use ZLIB.DEF instead. */ - /* For complete Windows compatibility, use WINAPI, not __stdcall. */ -# define ZEXPORT WINAPI -# ifdef WIN32 -# define ZEXPORTVA WINAPIV -# else -# define ZEXPORTVA FAR CDECL -# endif -# endif -#endif - -#if defined (__BEOS__) -# ifdef ZLIB_DLL -# ifdef ZLIB_INTERNAL -# define ZEXPORT __declspec(dllexport) -# define ZEXPORTVA __declspec(dllexport) -# else -# define ZEXPORT __declspec(dllimport) -# define ZEXPORTVA __declspec(dllimport) -# endif -# endif -#endif - -#ifndef ZEXTERN -# define ZEXTERN extern -#endif -#ifndef ZEXPORT -# define ZEXPORT -#endif -#ifndef ZEXPORTVA -# define ZEXPORTVA -#endif - -#ifndef FAR -# define FAR -#endif - -#if !defined(__MACTYPES__) -typedef unsigned char Byte; /* 8 bits */ -#endif -typedef unsigned int uInt; /* 16 bits or more */ -typedef unsigned long uLong; /* 32 bits or more */ - -#ifdef SMALL_MEDIUM - /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ -# define Bytef Byte FAR -#else - typedef Byte FAR Bytef; -#endif -typedef char FAR charf; -typedef int FAR intf; -typedef uInt FAR uIntf; -typedef uLong FAR uLongf; - -#ifdef STDC - typedef void const *voidpc; - typedef void FAR *voidpf; - typedef void *voidp; -#else - typedef Byte const *voidpc; - typedef Byte FAR *voidpf; - typedef Byte *voidp; -#endif - -#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */ -# define Z_HAVE_UNISTD_H -#endif - -#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */ -# define Z_HAVE_STDARG_H -#endif - -#ifdef STDC -# ifndef Z_SOLO -# include /* for off_t */ -# endif -#endif - -/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and - * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even - * though the former does not conform to the LFS document), but considering - * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as - * equivalently requesting no 64-bit operations - */ -#if -_LARGEFILE64_SOURCE - -1 == 1 -# undef _LARGEFILE64_SOURCE -#endif - -#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0 -# define Z_LARGE -#endif - -#if (defined(Z_HAVE_UNISTD_H) || defined(Z_LARGE)) && !defined(Z_SOLO) -# include /* for SEEK_* and off_t */ -# ifdef VMS -# include /* for off_t */ -# endif -# ifndef z_off_t -# define z_off_t off_t -# endif -#endif - -#if !defined(SEEK_SET) && !defined(Z_SOLO) -# define SEEK_SET 0 /* Seek from beginning of file. */ -# define SEEK_CUR 1 /* Seek from current position. */ -# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ -#endif - -#ifndef z_off_t -# define z_off_t long -#endif - -#if !defined(_WIN32) && (defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0) -# define z_off64_t off64_t -#else -# if defined(_WIN32) -# define z_off64_t __int64 -# else -# define z_off64_t z_off_t -#endif -#endif - -/* MVS linker does not support external names larger than 8 bytes */ -#if defined(__MVS__) - #pragma map(deflateInit_,"DEIN") - #pragma map(deflateInit2_,"DEIN2") - #pragma map(deflateEnd,"DEEND") - #pragma map(deflateBound,"DEBND") - #pragma map(inflateInit_,"ININ") - #pragma map(inflateInit2_,"ININ2") - #pragma map(inflateEnd,"INEND") - #pragma map(inflateSync,"INSY") - #pragma map(inflateSetDictionary,"INSEDI") - #pragma map(compressBound,"CMBND") - #pragma map(inflate_table,"INTABL") - #pragma map(inflate_fast,"INFA") - #pragma map(inflate_copyright,"INCOPY") -#endif - -#endif /* ZCONF_H */ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/zconf.h.cmakein b/org.simantics.modelica/FMUSolution/zlib-1.2.6/zconf.h.cmakein deleted file mode 100644 index 3ea5531d..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/zconf.h.cmakein +++ /dev/null @@ -1,468 +0,0 @@ -/* zconf.h -- configuration of the zlib compression library - * Copyright (C) 1995-2011 Jean-loup Gailly. - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* @(#) $Id$ */ - -#ifndef ZCONF_H -#define ZCONF_H -#cmakedefine Z_PREFIX -#cmakedefine Z_HAVE_UNISTD_H - -/* - * If you *really* need a unique prefix for all types and library functions, - * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. - * Even better than compiling with -DZ_PREFIX would be to use configure to set - * this permanently in zconf.h using "./configure --zprefix". - */ -#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */ -# define Z_PREFIX_SET - -/* all linked symbols */ -# define _dist_code z__dist_code -# define _length_code z__length_code -# define _tr_align z__tr_align -# define _tr_flush_block z__tr_flush_block -# define _tr_init z__tr_init -# define _tr_stored_block z__tr_stored_block -# define _tr_tally z__tr_tally -# define adler32 z_adler32 -# define adler32_combine z_adler32_combine -# define adler32_combine64 z_adler32_combine64 -# ifndef Z_SOLO -# define compress z_compress -# define compress2 z_compress2 -# define compressBound z_compressBound -# endif -# define crc32 z_crc32 -# define crc32_combine z_crc32_combine -# define crc32_combine64 z_crc32_combine64 -# define deflate z_deflate -# define deflateBound z_deflateBound -# define deflateCopy z_deflateCopy -# define deflateEnd z_deflateEnd -# define deflateInit2_ z_deflateInit2_ -# define deflateInit_ z_deflateInit_ -# define deflateParams z_deflateParams -# define deflatePending z_deflatePending -# define deflatePrime z_deflatePrime -# define deflateReset z_deflateReset -# define deflateResetKeep z_deflateResetKeep -# define deflateSetDictionary z_deflateSetDictionary -# define deflateSetHeader z_deflateSetHeader -# define deflateTune z_deflateTune -# define deflate_copyright z_deflate_copyright -# define get_crc_table z_get_crc_table -# ifndef Z_SOLO -# define gz_error z_gz_error -# define gz_intmax z_gz_intmax -# define gz_strwinerror z_gz_strwinerror -# define gzbuffer z_gzbuffer -# define gzclearerr z_gzclearerr -# define gzclose z_gzclose -# define gzclose_r z_gzclose_r -# define gzclose_w z_gzclose_w -# define gzdirect z_gzdirect -# define gzdopen z_gzdopen -# define gzeof z_gzeof -# define gzerror z_gzerror -# define gzflags z_gzflags -# define gzflush z_gzflush -# define gzgetc z_gzgetc -# define gzgetc_ z_gzgetc_ -# define gzgets z_gzgets -# define gzoffset z_gzoffset -# define gzoffset64 z_gzoffset64 -# define gzopen z_gzopen -# define gzopen64 z_gzopen64 -# define gzprintf z_gzprintf -# define gzputc z_gzputc -# define gzputs z_gzputs -# define gzread z_gzread -# define gzrewind z_gzrewind -# define gzseek z_gzseek -# define gzseek64 z_gzseek64 -# define gzsetparams z_gzsetparams -# define gztell z_gztell -# define gztell64 z_gztell64 -# define gzungetc z_gzungetc -# define gzwrite z_gzwrite -# endif -# define inflate z_inflate -# define inflateBack z_inflateBack -# define inflateBackEnd z_inflateBackEnd -# define inflateBackInit_ z_inflateBackInit_ -# define inflateCopy z_inflateCopy -# define inflateEnd z_inflateEnd -# define inflateGetHeader z_inflateGetHeader -# define inflateInit2_ z_inflateInit2_ -# define inflateInit_ z_inflateInit_ -# define inflateMark z_inflateMark -# define inflatePrime z_inflatePrime -# define inflateReset z_inflateReset -# define inflateReset2 z_inflateReset2 -# define inflateSetDictionary z_inflateSetDictionary -# define inflateSync z_inflateSync -# define inflateSyncPoint z_inflateSyncPoint -# define inflateUndermine z_inflateUndermine -# define inflateResetKeep z_inflateResetKeep -# define inflate_copyright z_inflate_copyright -# define inflate_fast z_inflate_fast -# define inflate_table z_inflate_table -# ifndef Z_SOLO -# define uncompress z_uncompress -# endif -# define zError z_zError -# ifndef Z_SOLO -# define zcalloc z_zcalloc -# define zcfree z_zcfree -# endif -# define zlibCompileFlags z_zlibCompileFlags -# define zlibVersion z_zlibVersion - -/* all zlib typedefs in zlib.h and zconf.h */ -# define Byte z_Byte -# define Bytef z_Bytef -# define alloc_func z_alloc_func -# define charf z_charf -# define free_func z_free_func -# ifndef Z_SOLO -# define gzFile z_gzFile -# define gz_header z_gz_header -# define gz_headerp z_gz_headerp -# endif -# define in_func z_in_func -# define intf z_intf -# define out_func z_out_func -# define uInt z_uInt -# define uIntf z_uIntf -# define uLong z_uLong -# define uLongf z_uLongf -# define voidp z_voidp -# define voidpc z_voidpc -# define voidpf z_voidpf - -/* all zlib structs in zlib.h and zconf.h */ -# ifndef Z_SOLO -# define gz_header_s z_gz_header_s -# endif -# define internal_state z_internal_state - -#endif - -#if defined(__MSDOS__) && !defined(MSDOS) -# define MSDOS -#endif -#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2) -# define OS2 -#endif -#if defined(_WINDOWS) && !defined(WINDOWS) -# define WINDOWS -#endif -#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) -# ifndef WIN32 -# define WIN32 -# endif -#endif -#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) -# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) -# ifndef SYS16BIT -# define SYS16BIT -# endif -# endif -#endif - -/* - * Compile with -DMAXSEG_64K if the alloc function cannot allocate more - * than 64k bytes at a time (needed on systems with 16-bit int). - */ -#ifdef SYS16BIT -# define MAXSEG_64K -#endif -#ifdef MSDOS -# define UNALIGNED_OK -#endif - -#ifdef __STDC_VERSION__ -# ifndef STDC -# define STDC -# endif -# if __STDC_VERSION__ >= 199901L -# ifndef STDC99 -# define STDC99 -# endif -# endif -#endif -#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus)) -# define STDC -#endif -#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__)) -# define STDC -#endif -#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32)) -# define STDC -#endif -#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__)) -# define STDC -#endif - -#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */ -# define STDC -#endif - -#ifndef STDC -# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ -# define const /* note: need a more gentle solution here */ -# endif -#endif - -#if defined(ZLIB_CONST) && !defined(z_const) -# define z_const const -#else -# define z_const -#endif - -/* Some Mac compilers merge all .h files incorrectly: */ -#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__) -# define NO_DUMMY_DECL -#endif - -/* Maximum value for memLevel in deflateInit2 */ -#ifndef MAX_MEM_LEVEL -# ifdef MAXSEG_64K -# define MAX_MEM_LEVEL 8 -# else -# define MAX_MEM_LEVEL 9 -# endif -#endif - -/* Maximum value for windowBits in deflateInit2 and inflateInit2. - * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files - * created by gzip. (Files created by minigzip can still be extracted by - * gzip.) - */ -#ifndef MAX_WBITS -# define MAX_WBITS 15 /* 32K LZ77 window */ -#endif - -/* The memory requirements for deflate are (in bytes): - (1 << (windowBits+2)) + (1 << (memLevel+9)) - that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) - plus a few kilobytes for small objects. For example, if you want to reduce - the default memory requirements from 256K to 128K, compile with - make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" - Of course this will generally degrade compression (there's no free lunch). - - The memory requirements for inflate are (in bytes) 1 << windowBits - that is, 32K for windowBits=15 (default value) plus a few kilobytes - for small objects. -*/ - - /* Type declarations */ - -#ifndef OF /* function prototypes */ -# ifdef STDC -# define OF(args) args -# else -# define OF(args) () -# endif -#endif - -#ifndef Z_ARG /* function prototypes for stdarg */ -# if defined(STDC) || defined(Z_HAVE_STDARG_H) -# define Z_ARG(args) args -# else -# define Z_ARG(args) () -# endif -#endif - -/* The following definitions for FAR are needed only for MSDOS mixed - * model programming (small or medium model with some far allocations). - * This was tested only with MSC; for other MSDOS compilers you may have - * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, - * just define FAR to be empty. - */ -#ifdef SYS16BIT -# if defined(M_I86SM) || defined(M_I86MM) - /* MSC small or medium model */ -# define SMALL_MEDIUM -# ifdef _MSC_VER -# define FAR _far -# else -# define FAR far -# endif -# endif -# if (defined(__SMALL__) || defined(__MEDIUM__)) - /* Turbo C small or medium model */ -# define SMALL_MEDIUM -# ifdef __BORLANDC__ -# define FAR _far -# else -# define FAR far -# endif -# endif -#endif - -#if defined(WINDOWS) || defined(WIN32) - /* If building or using zlib as a DLL, define ZLIB_DLL. - * This is not mandatory, but it offers a little performance increase. - */ -# ifdef ZLIB_DLL -# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) -# ifdef ZLIB_INTERNAL -# define ZEXTERN extern __declspec(dllexport) -# else -# define ZEXTERN extern __declspec(dllimport) -# endif -# endif -# endif /* ZLIB_DLL */ - /* If building or using zlib with the WINAPI/WINAPIV calling convention, - * define ZLIB_WINAPI. - * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. - */ -# ifdef ZLIB_WINAPI -# ifdef FAR -# undef FAR -# endif -# include - /* No need for _export, use ZLIB.DEF instead. */ - /* For complete Windows compatibility, use WINAPI, not __stdcall. */ -# define ZEXPORT WINAPI -# ifdef WIN32 -# define ZEXPORTVA WINAPIV -# else -# define ZEXPORTVA FAR CDECL -# endif -# endif -#endif - -#if defined (__BEOS__) -# ifdef ZLIB_DLL -# ifdef ZLIB_INTERNAL -# define ZEXPORT __declspec(dllexport) -# define ZEXPORTVA __declspec(dllexport) -# else -# define ZEXPORT __declspec(dllimport) -# define ZEXPORTVA __declspec(dllimport) -# endif -# endif -#endif - -#ifndef ZEXTERN -# define ZEXTERN extern -#endif -#ifndef ZEXPORT -# define ZEXPORT -#endif -#ifndef ZEXPORTVA -# define ZEXPORTVA -#endif - -#ifndef FAR -# define FAR -#endif - -#if !defined(__MACTYPES__) -typedef unsigned char Byte; /* 8 bits */ -#endif -typedef unsigned int uInt; /* 16 bits or more */ -typedef unsigned long uLong; /* 32 bits or more */ - -#ifdef SMALL_MEDIUM - /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ -# define Bytef Byte FAR -#else - typedef Byte FAR Bytef; -#endif -typedef char FAR charf; -typedef int FAR intf; -typedef uInt FAR uIntf; -typedef uLong FAR uLongf; - -#ifdef STDC - typedef void const *voidpc; - typedef void FAR *voidpf; - typedef void *voidp; -#else - typedef Byte const *voidpc; - typedef Byte FAR *voidpf; - typedef Byte *voidp; -#endif - -#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */ -# define Z_HAVE_UNISTD_H -#endif - -#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */ -# define Z_HAVE_STDARG_H -#endif - -#ifdef STDC -# ifndef Z_SOLO -# include /* for off_t */ -# endif -#endif - -/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and - * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even - * though the former does not conform to the LFS document), but considering - * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as - * equivalently requesting no 64-bit operations - */ -#if -_LARGEFILE64_SOURCE - -1 == 1 -# undef _LARGEFILE64_SOURCE -#endif - -#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0 -# define Z_LARGE -#endif - -#if (defined(Z_HAVE_UNISTD_H) || defined(Z_LARGE)) && !defined(Z_SOLO) -# include /* for SEEK_* and off_t */ -# ifdef VMS -# include /* for off_t */ -# endif -# ifndef z_off_t -# define z_off_t off_t -# endif -#endif - -#if !defined(SEEK_SET) && !defined(Z_SOLO) -# define SEEK_SET 0 /* Seek from beginning of file. */ -# define SEEK_CUR 1 /* Seek from current position. */ -# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ -#endif - -#ifndef z_off_t -# define z_off_t long -#endif - -#if !defined(_WIN32) && (defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0) -# define z_off64_t off64_t -#else -# if defined(_WIN32) -# define z_off64_t __int64 -# else -# define z_off64_t z_off_t -#endif -#endif - -/* MVS linker does not support external names larger than 8 bytes */ -#if defined(__MVS__) - #pragma map(deflateInit_,"DEIN") - #pragma map(deflateInit2_,"DEIN2") - #pragma map(deflateEnd,"DEEND") - #pragma map(deflateBound,"DEBND") - #pragma map(inflateInit_,"ININ") - #pragma map(inflateInit2_,"ININ2") - #pragma map(inflateEnd,"INEND") - #pragma map(inflateSync,"INSY") - #pragma map(inflateSetDictionary,"INSEDI") - #pragma map(compressBound,"CMBND") - #pragma map(inflate_table,"INTABL") - #pragma map(inflate_fast,"INFA") - #pragma map(inflate_copyright,"INCOPY") -#endif - -#endif /* ZCONF_H */ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/zconf.h.in b/org.simantics.modelica/FMUSolution/zlib-1.2.6/zconf.h.in deleted file mode 100644 index 51c80ac1..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/zconf.h.in +++ /dev/null @@ -1,466 +0,0 @@ -/* zconf.h -- configuration of the zlib compression library - * Copyright (C) 1995-2011 Jean-loup Gailly. - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* @(#) $Id$ */ - -#ifndef ZCONF_H -#define ZCONF_H - -/* - * If you *really* need a unique prefix for all types and library functions, - * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. - * Even better than compiling with -DZ_PREFIX would be to use configure to set - * this permanently in zconf.h using "./configure --zprefix". - */ -#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */ -# define Z_PREFIX_SET - -/* all linked symbols */ -# define _dist_code z__dist_code -# define _length_code z__length_code -# define _tr_align z__tr_align -# define _tr_flush_block z__tr_flush_block -# define _tr_init z__tr_init -# define _tr_stored_block z__tr_stored_block -# define _tr_tally z__tr_tally -# define adler32 z_adler32 -# define adler32_combine z_adler32_combine -# define adler32_combine64 z_adler32_combine64 -# ifndef Z_SOLO -# define compress z_compress -# define compress2 z_compress2 -# define compressBound z_compressBound -# endif -# define crc32 z_crc32 -# define crc32_combine z_crc32_combine -# define crc32_combine64 z_crc32_combine64 -# define deflate z_deflate -# define deflateBound z_deflateBound -# define deflateCopy z_deflateCopy -# define deflateEnd z_deflateEnd -# define deflateInit2_ z_deflateInit2_ -# define deflateInit_ z_deflateInit_ -# define deflateParams z_deflateParams -# define deflatePending z_deflatePending -# define deflatePrime z_deflatePrime -# define deflateReset z_deflateReset -# define deflateResetKeep z_deflateResetKeep -# define deflateSetDictionary z_deflateSetDictionary -# define deflateSetHeader z_deflateSetHeader -# define deflateTune z_deflateTune -# define deflate_copyright z_deflate_copyright -# define get_crc_table z_get_crc_table -# ifndef Z_SOLO -# define gz_error z_gz_error -# define gz_intmax z_gz_intmax -# define gz_strwinerror z_gz_strwinerror -# define gzbuffer z_gzbuffer -# define gzclearerr z_gzclearerr -# define gzclose z_gzclose -# define gzclose_r z_gzclose_r -# define gzclose_w z_gzclose_w -# define gzdirect z_gzdirect -# define gzdopen z_gzdopen -# define gzeof z_gzeof -# define gzerror z_gzerror -# define gzflags z_gzflags -# define gzflush z_gzflush -# define gzgetc z_gzgetc -# define gzgetc_ z_gzgetc_ -# define gzgets z_gzgets -# define gzoffset z_gzoffset -# define gzoffset64 z_gzoffset64 -# define gzopen z_gzopen -# define gzopen64 z_gzopen64 -# define gzprintf z_gzprintf -# define gzputc z_gzputc -# define gzputs z_gzputs -# define gzread z_gzread -# define gzrewind z_gzrewind -# define gzseek z_gzseek -# define gzseek64 z_gzseek64 -# define gzsetparams z_gzsetparams -# define gztell z_gztell -# define gztell64 z_gztell64 -# define gzungetc z_gzungetc -# define gzwrite z_gzwrite -# endif -# define inflate z_inflate -# define inflateBack z_inflateBack -# define inflateBackEnd z_inflateBackEnd -# define inflateBackInit_ z_inflateBackInit_ -# define inflateCopy z_inflateCopy -# define inflateEnd z_inflateEnd -# define inflateGetHeader z_inflateGetHeader -# define inflateInit2_ z_inflateInit2_ -# define inflateInit_ z_inflateInit_ -# define inflateMark z_inflateMark -# define inflatePrime z_inflatePrime -# define inflateReset z_inflateReset -# define inflateReset2 z_inflateReset2 -# define inflateSetDictionary z_inflateSetDictionary -# define inflateSync z_inflateSync -# define inflateSyncPoint z_inflateSyncPoint -# define inflateUndermine z_inflateUndermine -# define inflateResetKeep z_inflateResetKeep -# define inflate_copyright z_inflate_copyright -# define inflate_fast z_inflate_fast -# define inflate_table z_inflate_table -# ifndef Z_SOLO -# define uncompress z_uncompress -# endif -# define zError z_zError -# ifndef Z_SOLO -# define zcalloc z_zcalloc -# define zcfree z_zcfree -# endif -# define zlibCompileFlags z_zlibCompileFlags -# define zlibVersion z_zlibVersion - -/* all zlib typedefs in zlib.h and zconf.h */ -# define Byte z_Byte -# define Bytef z_Bytef -# define alloc_func z_alloc_func -# define charf z_charf -# define free_func z_free_func -# ifndef Z_SOLO -# define gzFile z_gzFile -# define gz_header z_gz_header -# define gz_headerp z_gz_headerp -# endif -# define in_func z_in_func -# define intf z_intf -# define out_func z_out_func -# define uInt z_uInt -# define uIntf z_uIntf -# define uLong z_uLong -# define uLongf z_uLongf -# define voidp z_voidp -# define voidpc z_voidpc -# define voidpf z_voidpf - -/* all zlib structs in zlib.h and zconf.h */ -# ifndef Z_SOLO -# define gz_header_s z_gz_header_s -# endif -# define internal_state z_internal_state - -#endif - -#if defined(__MSDOS__) && !defined(MSDOS) -# define MSDOS -#endif -#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2) -# define OS2 -#endif -#if defined(_WINDOWS) && !defined(WINDOWS) -# define WINDOWS -#endif -#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) -# ifndef WIN32 -# define WIN32 -# endif -#endif -#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) -# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) -# ifndef SYS16BIT -# define SYS16BIT -# endif -# endif -#endif - -/* - * Compile with -DMAXSEG_64K if the alloc function cannot allocate more - * than 64k bytes at a time (needed on systems with 16-bit int). - */ -#ifdef SYS16BIT -# define MAXSEG_64K -#endif -#ifdef MSDOS -# define UNALIGNED_OK -#endif - -#ifdef __STDC_VERSION__ -# ifndef STDC -# define STDC -# endif -# if __STDC_VERSION__ >= 199901L -# ifndef STDC99 -# define STDC99 -# endif -# endif -#endif -#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus)) -# define STDC -#endif -#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__)) -# define STDC -#endif -#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32)) -# define STDC -#endif -#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__)) -# define STDC -#endif - -#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */ -# define STDC -#endif - -#ifndef STDC -# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ -# define const /* note: need a more gentle solution here */ -# endif -#endif - -#if defined(ZLIB_CONST) && !defined(z_const) -# define z_const const -#else -# define z_const -#endif - -/* Some Mac compilers merge all .h files incorrectly: */ -#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__) -# define NO_DUMMY_DECL -#endif - -/* Maximum value for memLevel in deflateInit2 */ -#ifndef MAX_MEM_LEVEL -# ifdef MAXSEG_64K -# define MAX_MEM_LEVEL 8 -# else -# define MAX_MEM_LEVEL 9 -# endif -#endif - -/* Maximum value for windowBits in deflateInit2 and inflateInit2. - * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files - * created by gzip. (Files created by minigzip can still be extracted by - * gzip.) - */ -#ifndef MAX_WBITS -# define MAX_WBITS 15 /* 32K LZ77 window */ -#endif - -/* The memory requirements for deflate are (in bytes): - (1 << (windowBits+2)) + (1 << (memLevel+9)) - that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) - plus a few kilobytes for small objects. For example, if you want to reduce - the default memory requirements from 256K to 128K, compile with - make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" - Of course this will generally degrade compression (there's no free lunch). - - The memory requirements for inflate are (in bytes) 1 << windowBits - that is, 32K for windowBits=15 (default value) plus a few kilobytes - for small objects. -*/ - - /* Type declarations */ - -#ifndef OF /* function prototypes */ -# ifdef STDC -# define OF(args) args -# else -# define OF(args) () -# endif -#endif - -#ifndef Z_ARG /* function prototypes for stdarg */ -# if defined(STDC) || defined(Z_HAVE_STDARG_H) -# define Z_ARG(args) args -# else -# define Z_ARG(args) () -# endif -#endif - -/* The following definitions for FAR are needed only for MSDOS mixed - * model programming (small or medium model with some far allocations). - * This was tested only with MSC; for other MSDOS compilers you may have - * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, - * just define FAR to be empty. - */ -#ifdef SYS16BIT -# if defined(M_I86SM) || defined(M_I86MM) - /* MSC small or medium model */ -# define SMALL_MEDIUM -# ifdef _MSC_VER -# define FAR _far -# else -# define FAR far -# endif -# endif -# if (defined(__SMALL__) || defined(__MEDIUM__)) - /* Turbo C small or medium model */ -# define SMALL_MEDIUM -# ifdef __BORLANDC__ -# define FAR _far -# else -# define FAR far -# endif -# endif -#endif - -#if defined(WINDOWS) || defined(WIN32) - /* If building or using zlib as a DLL, define ZLIB_DLL. - * This is not mandatory, but it offers a little performance increase. - */ -# ifdef ZLIB_DLL -# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) -# ifdef ZLIB_INTERNAL -# define ZEXTERN extern __declspec(dllexport) -# else -# define ZEXTERN extern __declspec(dllimport) -# endif -# endif -# endif /* ZLIB_DLL */ - /* If building or using zlib with the WINAPI/WINAPIV calling convention, - * define ZLIB_WINAPI. - * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. - */ -# ifdef ZLIB_WINAPI -# ifdef FAR -# undef FAR -# endif -# include - /* No need for _export, use ZLIB.DEF instead. */ - /* For complete Windows compatibility, use WINAPI, not __stdcall. */ -# define ZEXPORT WINAPI -# ifdef WIN32 -# define ZEXPORTVA WINAPIV -# else -# define ZEXPORTVA FAR CDECL -# endif -# endif -#endif - -#if defined (__BEOS__) -# ifdef ZLIB_DLL -# ifdef ZLIB_INTERNAL -# define ZEXPORT __declspec(dllexport) -# define ZEXPORTVA __declspec(dllexport) -# else -# define ZEXPORT __declspec(dllimport) -# define ZEXPORTVA __declspec(dllimport) -# endif -# endif -#endif - -#ifndef ZEXTERN -# define ZEXTERN extern -#endif -#ifndef ZEXPORT -# define ZEXPORT -#endif -#ifndef ZEXPORTVA -# define ZEXPORTVA -#endif - -#ifndef FAR -# define FAR -#endif - -#if !defined(__MACTYPES__) -typedef unsigned char Byte; /* 8 bits */ -#endif -typedef unsigned int uInt; /* 16 bits or more */ -typedef unsigned long uLong; /* 32 bits or more */ - -#ifdef SMALL_MEDIUM - /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ -# define Bytef Byte FAR -#else - typedef Byte FAR Bytef; -#endif -typedef char FAR charf; -typedef int FAR intf; -typedef uInt FAR uIntf; -typedef uLong FAR uLongf; - -#ifdef STDC - typedef void const *voidpc; - typedef void FAR *voidpf; - typedef void *voidp; -#else - typedef Byte const *voidpc; - typedef Byte FAR *voidpf; - typedef Byte *voidp; -#endif - -#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */ -# define Z_HAVE_UNISTD_H -#endif - -#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */ -# define Z_HAVE_STDARG_H -#endif - -#ifdef STDC -# ifndef Z_SOLO -# include /* for off_t */ -# endif -#endif - -/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and - * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even - * though the former does not conform to the LFS document), but considering - * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as - * equivalently requesting no 64-bit operations - */ -#if -_LARGEFILE64_SOURCE - -1 == 1 -# undef _LARGEFILE64_SOURCE -#endif - -#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0 -# define Z_LARGE -#endif - -#if (defined(Z_HAVE_UNISTD_H) || defined(Z_LARGE)) && !defined(Z_SOLO) -# include /* for SEEK_* and off_t */ -# ifdef VMS -# include /* for off_t */ -# endif -# ifndef z_off_t -# define z_off_t off_t -# endif -#endif - -#if !defined(SEEK_SET) && !defined(Z_SOLO) -# define SEEK_SET 0 /* Seek from beginning of file. */ -# define SEEK_CUR 1 /* Seek from current position. */ -# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ -#endif - -#ifndef z_off_t -# define z_off_t long -#endif - -#if !defined(_WIN32) && (defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0) -# define z_off64_t off64_t -#else -# if defined(_WIN32) -# define z_off64_t __int64 -# else -# define z_off64_t z_off_t -#endif -#endif - -/* MVS linker does not support external names larger than 8 bytes */ -#if defined(__MVS__) - #pragma map(deflateInit_,"DEIN") - #pragma map(deflateInit2_,"DEIN2") - #pragma map(deflateEnd,"DEEND") - #pragma map(deflateBound,"DEBND") - #pragma map(inflateInit_,"ININ") - #pragma map(inflateInit2_,"ININ2") - #pragma map(inflateEnd,"INEND") - #pragma map(inflateSync,"INSY") - #pragma map(inflateSetDictionary,"INSEDI") - #pragma map(compressBound,"CMBND") - #pragma map(inflate_table,"INTABL") - #pragma map(inflate_fast,"INFA") - #pragma map(inflate_copyright,"INCOPY") -#endif - -#endif /* ZCONF_H */ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/zlib.3 b/org.simantics.modelica/FMUSolution/zlib-1.2.6/zlib.3 deleted file mode 100644 index d051c79b..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/zlib.3 +++ /dev/null @@ -1,151 +0,0 @@ -.TH ZLIB 3 "29 Jan 2012" -.SH NAME -zlib \- compression/decompression library -.SH SYNOPSIS -[see -.I zlib.h -for full description] -.SH DESCRIPTION -The -.I zlib -library is a general purpose data compression library. -The code is thread safe, assuming that the standard library functions -used are thread safe, such as memory allocation routines. -It provides in-memory compression and decompression functions, -including integrity checks of the uncompressed data. -This version of the library supports only one compression method (deflation) -but other algorithms may be added later -with the same stream interface. -.LP -Compression can be done in a single step if the buffers are large enough -or can be done by repeated calls of the compression function. -In the latter case, -the application must provide more input and/or consume the output -(providing more output space) before each call. -.LP -The library also supports reading and writing files in -.IR gzip (1) -(.gz) format -with an interface similar to that of stdio. -.LP -The library does not install any signal handler. -The decoder checks the consistency of the compressed data, -so the library should never crash even in the case of corrupted input. -.LP -All functions of the compression library are documented in the file -.IR zlib.h . -The distribution source includes examples of use of the library -in the files -.I test/example.c -and -.IR test/minigzip.c, -as well as other examples in the -.IR examples/ -directory. -.LP -Changes to this version are documented in the file -.I ChangeLog -that accompanies the source. -.LP -.I zlib -is available in Java using the java.util.zip package: -.IP -http://java.sun.com/developer/technicalArticles/Programming/compression/ -.LP -A Perl interface to -.IR zlib , -written by Paul Marquess (pmqs@cpan.org), -is available at CPAN (Comprehensive Perl Archive Network) sites, -including: -.IP -http://search.cpan.org/~pmqs/IO-Compress-Zlib/ -.LP -A Python interface to -.IR zlib , -written by A.M. Kuchling (amk@magnet.com), -is available in Python 1.5 and later versions: -.IP -http://docs.python.org/library/zlib.html -.LP -.I zlib -is built into -.IR tcl: -.IP -http://wiki.tcl.tk/4610 -.LP -An experimental package to read and write files in .zip format, -written on top of -.I zlib -by Gilles Vollant (info@winimage.com), -is available at: -.IP -http://www.winimage.com/zLibDll/minizip.html -and also in the -.I contrib/minizip -directory of the main -.I zlib -source distribution. -.SH "SEE ALSO" -The -.I zlib -web site can be found at: -.IP -http://zlib.net/ -.LP -The data format used by the zlib library is described by RFC -(Request for Comments) 1950 to 1952 in the files: -.IP -http://tools.ietf.org/html/rfc1950 (for the zlib header and trailer format) -.br -http://tools.ietf.org/html/rfc1951 (for the deflate compressed data format) -.br -http://tools.ietf.org/html/rfc1952 (for the gzip header and trailer format) -.LP -Mark Nelson wrote an article about -.I zlib -for the Jan. 1997 issue of Dr. Dobb's Journal; -a copy of the article is available at: -.IP -http://marknelson.us/1997/01/01/zlib-engine/ -.SH "REPORTING PROBLEMS" -Before reporting a problem, -please check the -.I zlib -web site to verify that you have the latest version of -.IR zlib ; -otherwise, -obtain the latest version and see if the problem still exists. -Please read the -.I zlib -FAQ at: -.IP -http://zlib.net/zlib_faq.html -.LP -before asking for help. -Send questions and/or comments to zlib@gzip.org, -or (for the Windows DLL version) to Gilles Vollant (info@winimage.com). -.SH AUTHORS -Version 1.2.6 -Copyright (C) 1995-2012 Jean-loup Gailly (jloup@gzip.org) -and Mark Adler (madler@alumni.caltech.edu). -.LP -This software is provided "as-is," -without any express or implied warranty. -In no event will the authors be held liable for any damages -arising from the use of this software. -See the distribution directory with respect to requirements -governing redistribution. -The deflate format used by -.I zlib -was defined by Phil Katz. -The deflate and -.I zlib -specifications were written by L. Peter Deutsch. -Thanks to all the people who reported problems and suggested various -improvements in -.IR zlib ; -who are too numerous to cite here. -.LP -UNIX manual page by R. P. C. Rodgers, -U.S. National Library of Medicine (rodgers@nlm.nih.gov). -.\" end of man page diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/zlib.3.pdf b/org.simantics.modelica/FMUSolution/zlib-1.2.6/zlib.3.pdf deleted file mode 100644 index ffa2a78a..00000000 Binary files a/org.simantics.modelica/FMUSolution/zlib-1.2.6/zlib.3.pdf and /dev/null differ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/zlib.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/zlib.h deleted file mode 100644 index 79142d11..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/zlib.h +++ /dev/null @@ -1,1732 +0,0 @@ -/* zlib.h -- interface of the 'zlib' general purpose compression library - version 1.2.6, January 29th, 2012 - - Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu - - - The data format used by the zlib library is described by RFCs (Request for - Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950 - (zlib format), rfc1951 (deflate format) and rfc1952 (gzip format). -*/ - -#ifndef ZLIB_H -#define ZLIB_H - -#include "zconf.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define ZLIB_VERSION "1.2.6" -#define ZLIB_VERNUM 0x1260 -#define ZLIB_VER_MAJOR 1 -#define ZLIB_VER_MINOR 2 -#define ZLIB_VER_REVISION 6 -#define ZLIB_VER_SUBREVISION 0 - -/* - The 'zlib' compression library provides in-memory compression and - decompression functions, including integrity checks of the uncompressed data. - This version of the library supports only one compression method (deflation) - but other algorithms will be added later and will have the same stream - interface. - - Compression can be done in a single step if the buffers are large enough, - or can be done by repeated calls of the compression function. In the latter - case, the application must provide more input and/or consume the output - (providing more output space) before each call. - - The compressed data format used by default by the in-memory functions is - the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped - around a deflate stream, which is itself documented in RFC 1951. - - The library also supports reading and writing files in gzip (.gz) format - with an interface similar to that of stdio using the functions that start - with "gz". The gzip format is different from the zlib format. gzip is a - gzip wrapper, documented in RFC 1952, wrapped around a deflate stream. - - This library can optionally read and write gzip streams in memory as well. - - The zlib format was designed to be compact and fast for use in memory - and on communications channels. The gzip format was designed for single- - file compression on file systems, has a larger header than zlib to maintain - directory information, and uses a different, slower check method than zlib. - - The library does not install any signal handler. The decoder checks - the consistency of the compressed data, so the library should never crash - even in case of corrupted input. -*/ - -typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size)); -typedef void (*free_func) OF((voidpf opaque, voidpf address)); - -struct internal_state; - -typedef struct z_stream_s { - z_const Bytef *next_in; /* next input byte */ - uInt avail_in; /* number of bytes available at next_in */ - uLong total_in; /* total number of input bytes read so far */ - - Bytef *next_out; /* next output byte should be put there */ - uInt avail_out; /* remaining free space at next_out */ - uLong total_out; /* total number of bytes output so far */ - - z_const char *msg; /* last error message, NULL if no error */ - struct internal_state FAR *state; /* not visible by applications */ - - alloc_func zalloc; /* used to allocate the internal state */ - free_func zfree; /* used to free the internal state */ - voidpf opaque; /* private data object passed to zalloc and zfree */ - - int data_type; /* best guess about the data type: binary or text */ - uLong adler; /* adler32 value of the uncompressed data */ - uLong reserved; /* reserved for future use */ -} z_stream; - -typedef z_stream FAR *z_streamp; - -/* - gzip header information passed to and from zlib routines. See RFC 1952 - for more details on the meanings of these fields. -*/ -typedef struct gz_header_s { - int text; /* true if compressed data believed to be text */ - uLong time; /* modification time */ - int xflags; /* extra flags (not used when writing a gzip file) */ - int os; /* operating system */ - Bytef *extra; /* pointer to extra field or Z_NULL if none */ - uInt extra_len; /* extra field length (valid if extra != Z_NULL) */ - uInt extra_max; /* space at extra (only when reading header) */ - Bytef *name; /* pointer to zero-terminated file name or Z_NULL */ - uInt name_max; /* space at name (only when reading header) */ - Bytef *comment; /* pointer to zero-terminated comment or Z_NULL */ - uInt comm_max; /* space at comment (only when reading header) */ - int hcrc; /* true if there was or will be a header crc */ - int done; /* true when done reading gzip header (not used - when writing a gzip file) */ -} gz_header; - -typedef gz_header FAR *gz_headerp; - -/* - The application must update next_in and avail_in when avail_in has dropped - to zero. It must update next_out and avail_out when avail_out has dropped - to zero. The application must initialize zalloc, zfree and opaque before - calling the init function. All other fields are set by the compression - library and must not be updated by the application. - - The opaque value provided by the application will be passed as the first - parameter for calls of zalloc and zfree. This can be useful for custom - memory management. The compression library attaches no meaning to the - opaque value. - - zalloc must return Z_NULL if there is not enough memory for the object. - If zlib is used in a multi-threaded application, zalloc and zfree must be - thread safe. - - On 16-bit systems, the functions zalloc and zfree must be able to allocate - exactly 65536 bytes, but will not be required to allocate more than this if - the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS, pointers - returned by zalloc for objects of exactly 65536 bytes *must* have their - offset normalized to zero. The default allocation function provided by this - library ensures this (see zutil.c). To reduce memory requirements and avoid - any allocation of 64K objects, at the expense of compression ratio, compile - the library with -DMAX_WBITS=14 (see zconf.h). - - The fields total_in and total_out can be used for statistics or progress - reports. After compression, total_in holds the total size of the - uncompressed data and may be saved for use in the decompressor (particularly - if the decompressor wants to decompress everything in a single step). -*/ - - /* constants */ - -#define Z_NO_FLUSH 0 -#define Z_PARTIAL_FLUSH 1 -#define Z_SYNC_FLUSH 2 -#define Z_FULL_FLUSH 3 -#define Z_FINISH 4 -#define Z_BLOCK 5 -#define Z_TREES 6 -/* Allowed flush values; see deflate() and inflate() below for details */ - -#define Z_OK 0 -#define Z_STREAM_END 1 -#define Z_NEED_DICT 2 -#define Z_ERRNO (-1) -#define Z_STREAM_ERROR (-2) -#define Z_DATA_ERROR (-3) -#define Z_MEM_ERROR (-4) -#define Z_BUF_ERROR (-5) -#define Z_VERSION_ERROR (-6) -/* Return codes for the compression/decompression functions. Negative values - * are errors, positive values are used for special but normal events. - */ - -#define Z_NO_COMPRESSION 0 -#define Z_BEST_SPEED 1 -#define Z_BEST_COMPRESSION 9 -#define Z_DEFAULT_COMPRESSION (-1) -/* compression levels */ - -#define Z_FILTERED 1 -#define Z_HUFFMAN_ONLY 2 -#define Z_RLE 3 -#define Z_FIXED 4 -#define Z_DEFAULT_STRATEGY 0 -/* compression strategy; see deflateInit2() below for details */ - -#define Z_BINARY 0 -#define Z_TEXT 1 -#define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */ -#define Z_UNKNOWN 2 -/* Possible values of the data_type field (though see inflate()) */ - -#define Z_DEFLATED 8 -/* The deflate compression method (the only one supported in this version) */ - -#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */ - -#define zlib_version zlibVersion() -/* for compatibility with versions < 1.0.2 */ - - - /* basic functions */ - -ZEXTERN const char * ZEXPORT zlibVersion OF((void)); -/* The application can compare zlibVersion and ZLIB_VERSION for consistency. - If the first character differs, the library code actually used is not - compatible with the zlib.h header file used by the application. This check - is automatically made by deflateInit and inflateInit. - */ - -/* -ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level)); - - Initializes the internal stream state for compression. The fields - zalloc, zfree and opaque must be initialized before by the caller. If - zalloc and zfree are set to Z_NULL, deflateInit updates them to use default - allocation functions. - - The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9: - 1 gives best speed, 9 gives best compression, 0 gives no compression at all - (the input data is simply copied a block at a time). Z_DEFAULT_COMPRESSION - requests a default compromise between speed and compression (currently - equivalent to level 6). - - deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_STREAM_ERROR if level is not a valid compression level, or - Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible - with the version assumed by the caller (ZLIB_VERSION). msg is set to null - if there is no error message. deflateInit does not perform any compression: - this will be done by deflate(). -*/ - - -ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush)); -/* - deflate compresses as much data as possible, and stops when the input - buffer becomes empty or the output buffer becomes full. It may introduce - some output latency (reading input without producing any output) except when - forced to flush. - - The detailed semantics are as follows. deflate performs one or both of the - following actions: - - - Compress more input starting at next_in and update next_in and avail_in - accordingly. If not all input can be processed (because there is not - enough room in the output buffer), next_in and avail_in are updated and - processing will resume at this point for the next call of deflate(). - - - Provide more output starting at next_out and update next_out and avail_out - accordingly. This action is forced if the parameter flush is non zero. - Forcing flush frequently degrades the compression ratio, so this parameter - should be set only when necessary (in interactive applications). Some - output may be provided even if flush is not set. - - Before the call of deflate(), the application should ensure that at least - one of the actions is possible, by providing more input and/or consuming more - output, and updating avail_in or avail_out accordingly; avail_out should - never be zero before the call. The application can consume the compressed - output when it wants, for example when the output buffer is full (avail_out - == 0), or after each call of deflate(). If deflate returns Z_OK and with - zero avail_out, it must be called again after making room in the output - buffer because there might be more output pending. - - Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to - decide how much data to accumulate before producing output, in order to - maximize compression. - - If the parameter flush is set to Z_SYNC_FLUSH, all pending output is - flushed to the output buffer and the output is aligned on a byte boundary, so - that the decompressor can get all input data available so far. (In - particular avail_in is zero after the call if enough output space has been - provided before the call.) Flushing may degrade compression for some - compression algorithms and so it should be used only when necessary. This - completes the current deflate block and follows it with an empty stored block - that is three bits plus filler bits to the next byte, followed by four bytes - (00 00 ff ff). - - If flush is set to Z_PARTIAL_FLUSH, all pending output is flushed to the - output buffer, but the output is not aligned to a byte boundary. All of the - input data so far will be available to the decompressor, as for Z_SYNC_FLUSH. - This completes the current deflate block and follows it with an empty fixed - codes block that is 10 bits long. This assures that enough bytes are output - in order for the decompressor to finish the block before the empty fixed code - block. - - If flush is set to Z_BLOCK, a deflate block is completed and emitted, as - for Z_SYNC_FLUSH, but the output is not aligned on a byte boundary, and up to - seven bits of the current block are held to be written as the next byte after - the next deflate block is completed. In this case, the decompressor may not - be provided enough bits at this point in order to complete decompression of - the data provided so far to the compressor. It may need to wait for the next - block to be emitted. This is for advanced applications that need to control - the emission of deflate blocks. - - If flush is set to Z_FULL_FLUSH, all output is flushed as with - Z_SYNC_FLUSH, and the compression state is reset so that decompression can - restart from this point if previous compressed data has been damaged or if - random access is desired. Using Z_FULL_FLUSH too often can seriously degrade - compression. - - If deflate returns with avail_out == 0, this function must be called again - with the same value of the flush parameter and more output space (updated - avail_out), until the flush is complete (deflate returns with non-zero - avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that - avail_out is greater than six to avoid repeated flush markers due to - avail_out == 0 on return. - - If the parameter flush is set to Z_FINISH, pending input is processed, - pending output is flushed and deflate returns with Z_STREAM_END if there was - enough output space; if deflate returns with Z_OK, this function must be - called again with Z_FINISH and more output space (updated avail_out) but no - more input data, until it returns with Z_STREAM_END or an error. After - deflate has returned Z_STREAM_END, the only possible operations on the stream - are deflateReset or deflateEnd. - - Z_FINISH can be used immediately after deflateInit if all the compression - is to be done in a single step. In this case, avail_out must be at least the - value returned by deflateBound (see below). Then deflate is guaranteed to - return Z_STREAM_END. If not enough output space is provided, deflate will - not return Z_STREAM_END, and it must be called again as described above. - - deflate() sets strm->adler to the adler32 checksum of all input read - so far (that is, total_in bytes). - - deflate() may update strm->data_type if it can make a good guess about - the input data type (Z_BINARY or Z_TEXT). In doubt, the data is considered - binary. This field is only for information purposes and does not affect the - compression algorithm in any manner. - - deflate() returns Z_OK if some progress has been made (more input - processed or more output produced), Z_STREAM_END if all input has been - consumed and all output has been produced (only when flush is set to - Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example - if next_in or next_out was Z_NULL), Z_BUF_ERROR if no progress is possible - (for example avail_in or avail_out was zero). Note that Z_BUF_ERROR is not - fatal, and deflate() can be called again with more input and more output - space to continue compressing. -*/ - - -ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm)); -/* - All dynamically allocated data structures for this stream are freed. - This function discards any unprocessed input and does not flush any pending - output. - - deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the - stream state was inconsistent, Z_DATA_ERROR if the stream was freed - prematurely (some input or output was discarded). In the error case, msg - may be set but then points to a static string (which must not be - deallocated). -*/ - - -/* -ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm)); - - Initializes the internal stream state for decompression. The fields - next_in, avail_in, zalloc, zfree and opaque must be initialized before by - the caller. If next_in is not Z_NULL and avail_in is large enough (the - exact value depends on the compression method), inflateInit determines the - compression method from the zlib header and allocates all data structures - accordingly; otherwise the allocation will be deferred to the first call of - inflate. If zalloc and zfree are set to Z_NULL, inflateInit updates them to - use default allocation functions. - - inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_VERSION_ERROR if the zlib library version is incompatible with the - version assumed by the caller, or Z_STREAM_ERROR if the parameters are - invalid, such as a null pointer to the structure. msg is set to null if - there is no error message. inflateInit does not perform any decompression - apart from possibly reading the zlib header if present: actual decompression - will be done by inflate(). (So next_in and avail_in may be modified, but - next_out and avail_out are unused and unchanged.) The current implementation - of inflateInit() does not process any header information -- that is deferred - until inflate() is called. -*/ - - -ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush)); -/* - inflate decompresses as much data as possible, and stops when the input - buffer becomes empty or the output buffer becomes full. It may introduce - some output latency (reading input without producing any output) except when - forced to flush. - - The detailed semantics are as follows. inflate performs one or both of the - following actions: - - - Decompress more input starting at next_in and update next_in and avail_in - accordingly. If not all input can be processed (because there is not - enough room in the output buffer), next_in is updated and processing will - resume at this point for the next call of inflate(). - - - Provide more output starting at next_out and update next_out and avail_out - accordingly. inflate() provides as much output as possible, until there is - no more input data or no more space in the output buffer (see below about - the flush parameter). - - Before the call of inflate(), the application should ensure that at least - one of the actions is possible, by providing more input and/or consuming more - output, and updating the next_* and avail_* values accordingly. The - application can consume the uncompressed output when it wants, for example - when the output buffer is full (avail_out == 0), or after each call of - inflate(). If inflate returns Z_OK and with zero avail_out, it must be - called again after making room in the output buffer because there might be - more output pending. - - The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH, Z_FINISH, - Z_BLOCK, or Z_TREES. Z_SYNC_FLUSH requests that inflate() flush as much - output as possible to the output buffer. Z_BLOCK requests that inflate() - stop if and when it gets to the next deflate block boundary. When decoding - the zlib or gzip format, this will cause inflate() to return immediately - after the header and before the first block. When doing a raw inflate, - inflate() will go ahead and process the first block, and will return when it - gets to the end of that block, or when it runs out of data. - - The Z_BLOCK option assists in appending to or combining deflate streams. - Also to assist in this, on return inflate() will set strm->data_type to the - number of unused bits in the last byte taken from strm->next_in, plus 64 if - inflate() is currently decoding the last block in the deflate stream, plus - 128 if inflate() returned immediately after decoding an end-of-block code or - decoding the complete header up to just before the first byte of the deflate - stream. The end-of-block will not be indicated until all of the uncompressed - data from that block has been written to strm->next_out. The number of - unused bits may in general be greater than seven, except when bit 7 of - data_type is set, in which case the number of unused bits will be less than - eight. data_type is set as noted here every time inflate() returns for all - flush options, and so can be used to determine the amount of currently - consumed input in bits. - - The Z_TREES option behaves as Z_BLOCK does, but it also returns when the - end of each deflate block header is reached, before any actual data in that - block is decoded. This allows the caller to determine the length of the - deflate block header for later use in random access within a deflate block. - 256 is added to the value of strm->data_type when inflate() returns - immediately after reaching the end of the deflate block header. - - inflate() should normally be called until it returns Z_STREAM_END or an - error. However if all decompression is to be performed in a single step (a - single call of inflate), the parameter flush should be set to Z_FINISH. In - this case all pending input is processed and all pending output is flushed; - avail_out must be large enough to hold all the uncompressed data. (The size - of the uncompressed data may have been saved by the compressor for this - purpose.) The next operation on this stream must be inflateEnd to deallocate - the decompression state. The use of Z_FINISH is not required to perform an - inflation in one step. However it may be used to inform inflate that a - faster approach can be used for the single inflate() call. Z_FINISH also - informs inflate to not maintain a sliding window if the stream completes, - which reduces inflate's memory footprint. - - In this implementation, inflate() always flushes as much output as - possible to the output buffer, and always uses the faster approach on the - first call. So the effects of the flush parameter in this implementation are - on the return value of inflate() as noted below, when inflate() returns early - when Z_BLOCK or Z_TREES is used, and when inflate() avoids the allocation of - memory for a sliding window when Z_FINISH is used. - - If a preset dictionary is needed after this call (see inflateSetDictionary - below), inflate sets strm->adler to the Adler-32 checksum of the dictionary - chosen by the compressor and returns Z_NEED_DICT; otherwise it sets - strm->adler to the Adler-32 checksum of all output produced so far (that is, - total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described - below. At the end of the stream, inflate() checks that its computed adler32 - checksum is equal to that saved by the compressor and returns Z_STREAM_END - only if the checksum is correct. - - inflate() can decompress and check either zlib-wrapped or gzip-wrapped - deflate data. The header type is detected automatically, if requested when - initializing with inflateInit2(). Any information contained in the gzip - header is not retained, so applications that need that information should - instead use raw inflate, see inflateInit2() below, or inflateBack() and - perform their own processing of the gzip header and trailer. When processing - gzip-wrapped deflate data, strm->adler32 is set to the CRC-32 of the output - producted so far. The CRC-32 is checked against the gzip trailer. - - inflate() returns Z_OK if some progress has been made (more input processed - or more output produced), Z_STREAM_END if the end of the compressed data has - been reached and all uncompressed output has been produced, Z_NEED_DICT if a - preset dictionary is needed at this point, Z_DATA_ERROR if the input data was - corrupted (input stream not conforming to the zlib format or incorrect check - value), Z_STREAM_ERROR if the stream structure was inconsistent (for example - next_in or next_out was Z_NULL), Z_MEM_ERROR if there was not enough memory, - Z_BUF_ERROR if no progress is possible or if there was not enough room in the - output buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and - inflate() can be called again with more input and more output space to - continue decompressing. If Z_DATA_ERROR is returned, the application may - then call inflateSync() to look for a good compression block if a partial - recovery of the data is desired. -*/ - - -ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm)); -/* - All dynamically allocated data structures for this stream are freed. - This function discards any unprocessed input and does not flush any pending - output. - - inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state - was inconsistent. In the error case, msg may be set but then points to a - static string (which must not be deallocated). -*/ - - - /* Advanced functions */ - -/* - The following functions are needed only in some special applications. -*/ - -/* -ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm, - int level, - int method, - int windowBits, - int memLevel, - int strategy)); - - This is another version of deflateInit with more compression options. The - fields next_in, zalloc, zfree and opaque must be initialized before by the - caller. - - The method parameter is the compression method. It must be Z_DEFLATED in - this version of the library. - - The windowBits parameter is the base two logarithm of the window size - (the size of the history buffer). It should be in the range 8..15 for this - version of the library. Larger values of this parameter result in better - compression at the expense of memory usage. The default value is 15 if - deflateInit is used instead. - - windowBits can also be -8..-15 for raw deflate. In this case, -windowBits - determines the window size. deflate() will then generate raw deflate data - with no zlib header or trailer, and will not compute an adler32 check value. - - windowBits can also be greater than 15 for optional gzip encoding. Add - 16 to windowBits to write a simple gzip header and trailer around the - compressed data instead of a zlib wrapper. The gzip header will have no - file name, no extra data, no comment, no modification time (set to zero), no - header crc, and the operating system will be set to 255 (unknown). If a - gzip stream is being written, strm->adler is a crc32 instead of an adler32. - - The memLevel parameter specifies how much memory should be allocated - for the internal compression state. memLevel=1 uses minimum memory but is - slow and reduces compression ratio; memLevel=9 uses maximum memory for - optimal speed. The default value is 8. See zconf.h for total memory usage - as a function of windowBits and memLevel. - - The strategy parameter is used to tune the compression algorithm. Use the - value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a - filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no - string match), or Z_RLE to limit match distances to one (run-length - encoding). Filtered data consists mostly of small values with a somewhat - random distribution. In this case, the compression algorithm is tuned to - compress them better. The effect of Z_FILTERED is to force more Huffman - coding and less string matching; it is somewhat intermediate between - Z_DEFAULT_STRATEGY and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as - fast as Z_HUFFMAN_ONLY, but give better compression for PNG image data. The - strategy parameter only affects the compression ratio but not the - correctness of the compressed output even if it is not set appropriately. - Z_FIXED prevents the use of dynamic Huffman codes, allowing for a simpler - decoder for special applications. - - deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_STREAM_ERROR if any parameter is invalid (such as an invalid - method), or Z_VERSION_ERROR if the zlib library version (zlib_version) is - incompatible with the version assumed by the caller (ZLIB_VERSION). msg is - set to null if there is no error message. deflateInit2 does not perform any - compression: this will be done by deflate(). -*/ - -ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm, - const Bytef *dictionary, - uInt dictLength)); -/* - Initializes the compression dictionary from the given byte sequence - without producing any compressed output. When using the zlib format, this - function must be called immediately after deflateInit, deflateInit2 or - deflateReset, and before any call of deflate. When doing raw deflate, this - function must be called either before any call of deflate, or immediately - after the completion of a deflate block, i.e. after all input has been - consumed and all output has been delivered when using any of the flush - options Z_BLOCK, Z_PARTIAL_FLUSH, Z_SYNC_FLUSH, or Z_FULL_FLUSH. The - compressor and decompressor must use exactly the same dictionary (see - inflateSetDictionary). - - The dictionary should consist of strings (byte sequences) that are likely - to be encountered later in the data to be compressed, with the most commonly - used strings preferably put towards the end of the dictionary. Using a - dictionary is most useful when the data to be compressed is short and can be - predicted with good accuracy; the data can then be compressed better than - with the default empty dictionary. - - Depending on the size of the compression data structures selected by - deflateInit or deflateInit2, a part of the dictionary may in effect be - discarded, for example if the dictionary is larger than the window size - provided in deflateInit or deflateInit2. Thus the strings most likely to be - useful should be put at the end of the dictionary, not at the front. In - addition, the current implementation of deflate will use at most the window - size minus 262 bytes of the provided dictionary. - - Upon return of this function, strm->adler is set to the adler32 value - of the dictionary; the decompressor may later use this value to determine - which dictionary has been used by the compressor. (The adler32 value - applies to the whole dictionary even if only a subset of the dictionary is - actually used by the compressor.) If a raw deflate was requested, then the - adler32 value is not computed and strm->adler is not set. - - deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a - parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is - inconsistent (for example if deflate has already been called for this stream - or if not at a block boundary for raw deflate). deflateSetDictionary does - not perform any compression: this will be done by deflate(). -*/ - -ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest, - z_streamp source)); -/* - Sets the destination stream as a complete copy of the source stream. - - This function can be useful when several compression strategies will be - tried, for example when there are several ways of pre-processing the input - data with a filter. The streams that will be discarded should then be freed - by calling deflateEnd. Note that deflateCopy duplicates the internal - compression state which can be quite large, so this strategy is slow and can - consume lots of memory. - - deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_STREAM_ERROR if the source stream state was inconsistent - (such as zalloc being Z_NULL). msg is left unchanged in both source and - destination. -*/ - -ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm)); -/* - This function is equivalent to deflateEnd followed by deflateInit, - but does not free and reallocate all the internal compression state. The - stream will keep the same compression level and any other attributes that - may have been set by deflateInit2. - - deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent (such as zalloc or state being Z_NULL). -*/ - -ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm, - int level, - int strategy)); -/* - Dynamically update the compression level and compression strategy. The - interpretation of level and strategy is as in deflateInit2. This can be - used to switch between compression and straight copy of the input data, or - to switch to a different kind of input data requiring a different strategy. - If the compression level is changed, the input available so far is - compressed with the old level (and may be flushed); the new level will take - effect only at the next call of deflate(). - - Before the call of deflateParams, the stream state must be set as for - a call of deflate(), since the currently available input may have to be - compressed and flushed. In particular, strm->avail_out must be non-zero. - - deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source - stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR if - strm->avail_out was zero. -*/ - -ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm, - int good_length, - int max_lazy, - int nice_length, - int max_chain)); -/* - Fine tune deflate's internal compression parameters. This should only be - used by someone who understands the algorithm used by zlib's deflate for - searching for the best matching string, and even then only by the most - fanatic optimizer trying to squeeze out the last compressed bit for their - specific input data. Read the deflate.c source code for the meaning of the - max_lazy, good_length, nice_length, and max_chain parameters. - - deflateTune() can be called after deflateInit() or deflateInit2(), and - returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream. - */ - -ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm, - uLong sourceLen)); -/* - deflateBound() returns an upper bound on the compressed size after - deflation of sourceLen bytes. It must be called after deflateInit() or - deflateInit2(), and after deflateSetHeader(), if used. This would be used - to allocate an output buffer for deflation in a single pass, and so would be - called before deflate(). If that first deflate() call is provided the - sourceLen input bytes, an output buffer allocated to the size returned by - deflateBound(), and the flush value Z_FINISH, then deflate() is guaranteed - to return Z_STREAM_END. Note that it is possible for the compressed size to - be larger than the value returned by deflateBound() if flush options other - than Z_FINISH or Z_NO_FLUSH are used. -*/ - -ZEXTERN int ZEXPORT deflatePending OF((z_streamp strm, - unsigned *pending, - int *bits)); -/* - deflatePending() returns the number of bytes and bits of output that have - been generated, but not yet provided in the available output. The bytes not - provided would be due to the available output space having being consumed. - The number of bits of output not provided are between 0 and 7, where they - await more bits to join them in order to fill out a full byte. If pending - or bits are Z_NULL, then those values are not set. - - deflatePending returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent. - */ - -ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm, - int bits, - int value)); -/* - deflatePrime() inserts bits in the deflate output stream. The intent - is that this function is used to start off the deflate output with the bits - leftover from a previous deflate stream when appending to it. As such, this - function can only be used for raw deflate, and must be used before the first - deflate() call after a deflateInit2() or deflateReset(). bits must be less - than or equal to 16, and that many of the least significant bits of value - will be inserted in the output. - - deflatePrime returns Z_OK if success, Z_BUF_ERROR if there was not enough - room in the internal buffer to insert the bits, or Z_STREAM_ERROR if the - source stream state was inconsistent. -*/ - -ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm, - gz_headerp head)); -/* - deflateSetHeader() provides gzip header information for when a gzip - stream is requested by deflateInit2(). deflateSetHeader() may be called - after deflateInit2() or deflateReset() and before the first call of - deflate(). The text, time, os, extra field, name, and comment information - in the provided gz_header structure are written to the gzip header (xflag is - ignored -- the extra flags are set according to the compression level). The - caller must assure that, if not Z_NULL, name and comment are terminated with - a zero byte, and that if extra is not Z_NULL, that extra_len bytes are - available there. If hcrc is true, a gzip header crc is included. Note that - the current versions of the command-line version of gzip (up through version - 1.3.x) do not support header crc's, and will report that it is a "multi-part - gzip file" and give up. - - If deflateSetHeader is not used, the default gzip header has text false, - the time set to zero, and os set to 255, with no extra, name, or comment - fields. The gzip header is returned to the default state by deflateReset(). - - deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent. -*/ - -/* -ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm, - int windowBits)); - - This is another version of inflateInit with an extra parameter. The - fields next_in, avail_in, zalloc, zfree and opaque must be initialized - before by the caller. - - The windowBits parameter is the base two logarithm of the maximum window - size (the size of the history buffer). It should be in the range 8..15 for - this version of the library. The default value is 15 if inflateInit is used - instead. windowBits must be greater than or equal to the windowBits value - provided to deflateInit2() while compressing, or it must be equal to 15 if - deflateInit2() was not used. If a compressed stream with a larger window - size is given as input, inflate() will return with the error code - Z_DATA_ERROR instead of trying to allocate a larger window. - - windowBits can also be zero to request that inflate use the window size in - the zlib header of the compressed stream. - - windowBits can also be -8..-15 for raw inflate. In this case, -windowBits - determines the window size. inflate() will then process raw deflate data, - not looking for a zlib or gzip header, not generating a check value, and not - looking for any check values for comparison at the end of the stream. This - is for use with other formats that use the deflate compressed data format - such as zip. Those formats provide their own check values. If a custom - format is developed using the raw deflate format for compressed data, it is - recommended that a check value such as an adler32 or a crc32 be applied to - the uncompressed data as is done in the zlib, gzip, and zip formats. For - most applications, the zlib format should be used as is. Note that comments - above on the use in deflateInit2() applies to the magnitude of windowBits. - - windowBits can also be greater than 15 for optional gzip decoding. Add - 32 to windowBits to enable zlib and gzip decoding with automatic header - detection, or add 16 to decode only the gzip format (the zlib format will - return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is a - crc32 instead of an adler32. - - inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_VERSION_ERROR if the zlib library version is incompatible with the - version assumed by the caller, or Z_STREAM_ERROR if the parameters are - invalid, such as a null pointer to the structure. msg is set to null if - there is no error message. inflateInit2 does not perform any decompression - apart from possibly reading the zlib header if present: actual decompression - will be done by inflate(). (So next_in and avail_in may be modified, but - next_out and avail_out are unused and unchanged.) The current implementation - of inflateInit2() does not process any header information -- that is - deferred until inflate() is called. -*/ - -ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm, - const Bytef *dictionary, - uInt dictLength)); -/* - Initializes the decompression dictionary from the given uncompressed byte - sequence. This function must be called immediately after a call of inflate, - if that call returned Z_NEED_DICT. The dictionary chosen by the compressor - can be determined from the adler32 value returned by that call of inflate. - The compressor and decompressor must use exactly the same dictionary (see - deflateSetDictionary). For raw inflate, this function can be called at any - time to set the dictionary. If the provided dictionary is smaller than the - window and there is already data in the window, then the provided dictionary - will amend what's there. The application must insure that the dictionary - that was used for compression is provided. - - inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a - parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is - inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the - expected one (incorrect adler32 value). inflateSetDictionary does not - perform any decompression: this will be done by subsequent calls of - inflate(). -*/ - -ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm)); -/* - Skips invalid compressed data until a possible full flush point (see above - for the description of deflate with Z_FULL_FLUSH) can be found, or until all - available input is skipped. No output is provided. - - inflateSync searches for a 00 00 FF FF pattern in the compressed data. - All full flush points have this pattern, but not all occurences of this - pattern are full flush points. - - inflateSync returns Z_OK if a possible full flush point has been found, - Z_BUF_ERROR if no more input was provided, Z_DATA_ERROR if no flush point - has been found, or Z_STREAM_ERROR if the stream structure was inconsistent. - In the success case, the application may save the current current value of - total_in which indicates where valid compressed data was found. In the - error case, the application may repeatedly call inflateSync, providing more - input each time, until success or end of the input data. -*/ - -ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest, - z_streamp source)); -/* - Sets the destination stream as a complete copy of the source stream. - - This function can be useful when randomly accessing a large stream. The - first pass through the stream can periodically record the inflate state, - allowing restarting inflate at those points when randomly accessing the - stream. - - inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_STREAM_ERROR if the source stream state was inconsistent - (such as zalloc being Z_NULL). msg is left unchanged in both source and - destination. -*/ - -ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm)); -/* - This function is equivalent to inflateEnd followed by inflateInit, - but does not free and reallocate all the internal decompression state. The - stream will keep attributes that may have been set by inflateInit2. - - inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent (such as zalloc or state being Z_NULL). -*/ - -ZEXTERN int ZEXPORT inflateReset2 OF((z_streamp strm, - int windowBits)); -/* - This function is the same as inflateReset, but it also permits changing - the wrap and window size requests. The windowBits parameter is interpreted - the same as it is for inflateInit2. - - inflateReset2 returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent (such as zalloc or state being Z_NULL), or if - the windowBits parameter is invalid. -*/ - -ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm, - int bits, - int value)); -/* - This function inserts bits in the inflate input stream. The intent is - that this function is used to start inflating at a bit position in the - middle of a byte. The provided bits will be used before any bytes are used - from next_in. This function should only be used with raw inflate, and - should be used before the first inflate() call after inflateInit2() or - inflateReset(). bits must be less than or equal to 16, and that many of the - least significant bits of value will be inserted in the input. - - If bits is negative, then the input stream bit buffer is emptied. Then - inflatePrime() can be called again to put bits in the buffer. This is used - to clear out bits leftover after feeding inflate a block description prior - to feeding inflate codes. - - inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent. -*/ - -ZEXTERN long ZEXPORT inflateMark OF((z_streamp strm)); -/* - This function returns two values, one in the lower 16 bits of the return - value, and the other in the remaining upper bits, obtained by shifting the - return value down 16 bits. If the upper value is -1 and the lower value is - zero, then inflate() is currently decoding information outside of a block. - If the upper value is -1 and the lower value is non-zero, then inflate is in - the middle of a stored block, with the lower value equaling the number of - bytes from the input remaining to copy. If the upper value is not -1, then - it is the number of bits back from the current bit position in the input of - the code (literal or length/distance pair) currently being processed. In - that case the lower value is the number of bytes already emitted for that - code. - - A code is being processed if inflate is waiting for more input to complete - decoding of the code, or if it has completed decoding but is waiting for - more output space to write the literal or match data. - - inflateMark() is used to mark locations in the input data for random - access, which may be at bit positions, and to note those cases where the - output of a code may span boundaries of random access blocks. The current - location in the input stream can be determined from avail_in and data_type - as noted in the description for the Z_BLOCK flush parameter for inflate. - - inflateMark returns the value noted above or -1 << 16 if the provided - source stream state was inconsistent. -*/ - -ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm, - gz_headerp head)); -/* - inflateGetHeader() requests that gzip header information be stored in the - provided gz_header structure. inflateGetHeader() may be called after - inflateInit2() or inflateReset(), and before the first call of inflate(). - As inflate() processes the gzip stream, head->done is zero until the header - is completed, at which time head->done is set to one. If a zlib stream is - being decoded, then head->done is set to -1 to indicate that there will be - no gzip header information forthcoming. Note that Z_BLOCK or Z_TREES can be - used to force inflate() to return immediately after header processing is - complete and before any actual data is decompressed. - - The text, time, xflags, and os fields are filled in with the gzip header - contents. hcrc is set to true if there is a header CRC. (The header CRC - was valid if done is set to one.) If extra is not Z_NULL, then extra_max - contains the maximum number of bytes to write to extra. Once done is true, - extra_len contains the actual extra field length, and extra contains the - extra field, or that field truncated if extra_max is less than extra_len. - If name is not Z_NULL, then up to name_max characters are written there, - terminated with a zero unless the length is greater than name_max. If - comment is not Z_NULL, then up to comm_max characters are written there, - terminated with a zero unless the length is greater than comm_max. When any - of extra, name, or comment are not Z_NULL and the respective field is not - present in the header, then that field is set to Z_NULL to signal its - absence. This allows the use of deflateSetHeader() with the returned - structure to duplicate the header. However if those fields are set to - allocated memory, then the application will need to save those pointers - elsewhere so that they can be eventually freed. - - If inflateGetHeader is not used, then the header information is simply - discarded. The header is always checked for validity, including the header - CRC if present. inflateReset() will reset the process to discard the header - information. The application would need to call inflateGetHeader() again to - retrieve the header from the next gzip stream. - - inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source - stream state was inconsistent. -*/ - -/* -ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits, - unsigned char FAR *window)); - - Initialize the internal stream state for decompression using inflateBack() - calls. The fields zalloc, zfree and opaque in strm must be initialized - before the call. If zalloc and zfree are Z_NULL, then the default library- - derived memory allocation routines are used. windowBits is the base two - logarithm of the window size, in the range 8..15. window is a caller - supplied buffer of that size. Except for special applications where it is - assured that deflate was used with small window sizes, windowBits must be 15 - and a 32K byte window must be supplied to be able to decompress general - deflate streams. - - See inflateBack() for the usage of these routines. - - inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of - the parameters are invalid, Z_MEM_ERROR if the internal state could not be - allocated, or Z_VERSION_ERROR if the version of the library does not match - the version of the header file. -*/ - -typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *)); -typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned)); - -ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm, - in_func in, void FAR *in_desc, - out_func out, void FAR *out_desc)); -/* - inflateBack() does a raw inflate with a single call using a call-back - interface for input and output. This is more efficient than inflate() for - file i/o applications in that it avoids copying between the output and the - sliding window by simply making the window itself the output buffer. This - function trusts the application to not change the output buffer passed by - the output function, at least until inflateBack() returns. - - inflateBackInit() must be called first to allocate the internal state - and to initialize the state with the user-provided window buffer. - inflateBack() may then be used multiple times to inflate a complete, raw - deflate stream with each call. inflateBackEnd() is then called to free the - allocated state. - - A raw deflate stream is one with no zlib or gzip header or trailer. - This routine would normally be used in a utility that reads zip or gzip - files and writes out uncompressed files. The utility would decode the - header and process the trailer on its own, hence this routine expects only - the raw deflate stream to decompress. This is different from the normal - behavior of inflate(), which expects either a zlib or gzip header and - trailer around the deflate stream. - - inflateBack() uses two subroutines supplied by the caller that are then - called by inflateBack() for input and output. inflateBack() calls those - routines until it reads a complete deflate stream and writes out all of the - uncompressed data, or until it encounters an error. The function's - parameters and return types are defined above in the in_func and out_func - typedefs. inflateBack() will call in(in_desc, &buf) which should return the - number of bytes of provided input, and a pointer to that input in buf. If - there is no input available, in() must return zero--buf is ignored in that - case--and inflateBack() will return a buffer error. inflateBack() will call - out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. out() - should return zero on success, or non-zero on failure. If out() returns - non-zero, inflateBack() will return with an error. Neither in() nor out() - are permitted to change the contents of the window provided to - inflateBackInit(), which is also the buffer that out() uses to write from. - The length written by out() will be at most the window size. Any non-zero - amount of input may be provided by in(). - - For convenience, inflateBack() can be provided input on the first call by - setting strm->next_in and strm->avail_in. If that input is exhausted, then - in() will be called. Therefore strm->next_in must be initialized before - calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called - immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in - must also be initialized, and then if strm->avail_in is not zero, input will - initially be taken from strm->next_in[0 .. strm->avail_in - 1]. - - The in_desc and out_desc parameters of inflateBack() is passed as the - first parameter of in() and out() respectively when they are called. These - descriptors can be optionally used to pass any information that the caller- - supplied in() and out() functions need to do their job. - - On return, inflateBack() will set strm->next_in and strm->avail_in to - pass back any unused input that was provided by the last in() call. The - return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR - if in() or out() returned an error, Z_DATA_ERROR if there was a format error - in the deflate stream (in which case strm->msg is set to indicate the nature - of the error), or Z_STREAM_ERROR if the stream was not properly initialized. - In the case of Z_BUF_ERROR, an input or output error can be distinguished - using strm->next_in which will be Z_NULL only if in() returned an error. If - strm->next_in is not Z_NULL, then the Z_BUF_ERROR was due to out() returning - non-zero. (in() will always be called before out(), so strm->next_in is - assured to be defined if out() returns non-zero.) Note that inflateBack() - cannot return Z_OK. -*/ - -ZEXTERN int ZEXPORT inflateBackEnd OF((z_streamp strm)); -/* - All memory allocated by inflateBackInit() is freed. - - inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream - state was inconsistent. -*/ - -ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void)); -/* Return flags indicating compile-time options. - - Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other: - 1.0: size of uInt - 3.2: size of uLong - 5.4: size of voidpf (pointer) - 7.6: size of z_off_t - - Compiler, assembler, and debug options: - 8: DEBUG - 9: ASMV or ASMINF -- use ASM code - 10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention - 11: 0 (reserved) - - One-time table building (smaller code, but not thread-safe if true): - 12: BUILDFIXED -- build static block decoding tables when needed - 13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed - 14,15: 0 (reserved) - - Library content (indicates missing functionality): - 16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking - deflate code when not needed) - 17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect - and decode gzip streams (to avoid linking crc code) - 18-19: 0 (reserved) - - Operation variations (changes in library functionality): - 20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate - 21: FASTEST -- deflate algorithm with only one, lowest compression level - 22,23: 0 (reserved) - - The sprintf variant used by gzprintf (zero is best): - 24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format - 25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure! - 26: 0 = returns value, 1 = void -- 1 means inferred string length returned - - Remainder: - 27-31: 0 (reserved) - */ - -#ifndef Z_SOLO - - /* utility functions */ - -/* - The following utility functions are implemented on top of the basic - stream-oriented functions. To simplify the interface, some default options - are assumed (compression level and memory usage, standard memory allocation - functions). The source code of these utility functions can be modified if - you need special options. -*/ - -ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen, - const Bytef *source, uLong sourceLen)); -/* - Compresses the source buffer into the destination buffer. sourceLen is - the byte length of the source buffer. Upon entry, destLen is the total size - of the destination buffer, which must be at least the value returned by - compressBound(sourceLen). Upon exit, destLen is the actual size of the - compressed buffer. - - compress returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_BUF_ERROR if there was not enough room in the output - buffer. -*/ - -ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen, - const Bytef *source, uLong sourceLen, - int level)); -/* - Compresses the source buffer into the destination buffer. The level - parameter has the same meaning as in deflateInit. sourceLen is the byte - length of the source buffer. Upon entry, destLen is the total size of the - destination buffer, which must be at least the value returned by - compressBound(sourceLen). Upon exit, destLen is the actual size of the - compressed buffer. - - compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough - memory, Z_BUF_ERROR if there was not enough room in the output buffer, - Z_STREAM_ERROR if the level parameter is invalid. -*/ - -ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen)); -/* - compressBound() returns an upper bound on the compressed size after - compress() or compress2() on sourceLen bytes. It would be used before a - compress() or compress2() call to allocate the destination buffer. -*/ - -ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen, - const Bytef *source, uLong sourceLen)); -/* - Decompresses the source buffer into the destination buffer. sourceLen is - the byte length of the source buffer. Upon entry, destLen is the total size - of the destination buffer, which must be large enough to hold the entire - uncompressed data. (The size of the uncompressed data must have been saved - previously by the compressor and transmitted to the decompressor by some - mechanism outside the scope of this compression library.) Upon exit, destLen - is the actual size of the uncompressed buffer. - - uncompress returns Z_OK if success, Z_MEM_ERROR if there was not - enough memory, Z_BUF_ERROR if there was not enough room in the output - buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete. In - the case where there is not enough room, uncompress() will fill the output - buffer with the uncompressed data up to that point. -*/ - - /* gzip file access functions */ - -/* - This library supports reading and writing files in gzip (.gz) format with - an interface similar to that of stdio, using the functions that start with - "gz". The gzip format is different from the zlib format. gzip is a gzip - wrapper, documented in RFC 1952, wrapped around a deflate stream. -*/ - -typedef struct gzFile_s *gzFile; /* semi-opaque gzip file descriptor */ - -/* -ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode)); - - Opens a gzip (.gz) file for reading or writing. The mode parameter is as - in fopen ("rb" or "wb") but can also include a compression level ("wb9") or - a strategy: 'f' for filtered data as in "wb6f", 'h' for Huffman-only - compression as in "wb1h", 'R' for run-length encoding as in "wb1R", or 'F' - for fixed code compression as in "wb9F". (See the description of - deflateInit2 for more information about the strategy parameter.) 'T' will - request transparent writing or appending with no compression and not using - the gzip format. - - "a" can be used instead of "w" to request that the gzip stream that will - be written be appended to the file. "+" will result in an error, since - reading and writing to the same gzip file is not supported. - - These functions, as well as gzip, will read and decode a sequence of gzip - streams in a file. The append function of gzopen() can be used to create - such a file. (Also see gzflush() for another way to do this.) When - appending, gzopen does not test whether the file begins with a gzip stream, - nor does it look for the end of the gzip streams to begin appending. gzopen - will simply append a gzip stream to the existing file. - - gzopen can be used to read a file which is not in gzip format; in this - case gzread will directly read from the file without decompression. When - reading, this will be detected automatically by looking for the magic two- - byte gzip header. - - gzopen returns NULL if the file could not be opened, if there was - insufficient memory to allocate the gzFile state, or if an invalid mode was - specified (an 'r', 'w', or 'a' was not provided, or '+' was provided). - errno can be checked to determine if the reason gzopen failed was that the - file could not be opened. -*/ - -ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode)); -/* - gzdopen associates a gzFile with the file descriptor fd. File descriptors - are obtained from calls like open, dup, creat, pipe or fileno (if the file - has been previously opened with fopen). The mode parameter is as in gzopen. - - The next call of gzclose on the returned gzFile will also close the file - descriptor fd, just like fclose(fdopen(fd, mode)) closes the file descriptor - fd. If you want to keep fd open, use fd = dup(fd_keep); gz = gzdopen(fd, - mode);. The duplicated descriptor should be saved to avoid a leak, since - gzdopen does not close fd if it fails. If you are using fileno() to get the - file descriptor from a FILE *, then you will have to use dup() to avoid - double-close()ing the file descriptor. Both gzclose() and fclose() will - close the associated file descriptor, so they need to have different file - descriptors. - - gzdopen returns NULL if there was insufficient memory to allocate the - gzFile state, if an invalid mode was specified (an 'r', 'w', or 'a' was not - provided, or '+' was provided), or if fd is -1. The file descriptor is not - used until the next gz* read, write, seek, or close operation, so gzdopen - will not detect if fd is invalid (unless fd is -1). -*/ - -ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size)); -/* - Set the internal buffer size used by this library's functions. The - default buffer size is 8192 bytes. This function must be called after - gzopen() or gzdopen(), and before any other calls that read or write the - file. The buffer memory allocation is always deferred to the first read or - write. Two buffers are allocated, either both of the specified size when - writing, or one of the specified size and the other twice that size when - reading. A larger buffer size of, for example, 64K or 128K bytes will - noticeably increase the speed of decompression (reading). - - The new buffer size also affects the maximum length for gzprintf(). - - gzbuffer() returns 0 on success, or -1 on failure, such as being called - too late. -*/ - -ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy)); -/* - Dynamically update the compression level or strategy. See the description - of deflateInit2 for the meaning of these parameters. - - gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not - opened for writing. -*/ - -ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len)); -/* - Reads the given number of uncompressed bytes from the compressed file. If - the input file is not in gzip format, gzread copies the given number of - bytes into the buffer directly from the file. - - After reaching the end of a gzip stream in the input, gzread will continue - to read, looking for another gzip stream. Any number of gzip streams may be - concatenated in the input file, and will all be decompressed by gzread(). - If something other than a gzip stream is encountered after a gzip stream, - that remaining trailing garbage is ignored (and no error is returned). - - gzread can be used to read a gzip file that is being concurrently written. - Upon reaching the end of the input, gzread will return with the available - data. If the error code returned by gzerror is Z_OK or Z_BUF_ERROR, then - gzclearerr can be used to clear the end of file indicator in order to permit - gzread to be tried again. Z_OK indicates that a gzip stream was completed - on the last gzread. Z_BUF_ERROR indicates that the input file ended in the - middle of a gzip stream. Note that gzread does not return -1 in the event - of an incomplete gzip stream. This error is deferred until gzclose(), which - will return Z_BUF_ERROR if the last gzread ended in the middle of a gzip - stream. Alternatively, gzerror can be used before gzclose to detect this - case. - - gzread returns the number of uncompressed bytes actually read, less than - len for end of file, or -1 for error. -*/ - -ZEXTERN int ZEXPORT gzwrite OF((gzFile file, - voidpc buf, unsigned len)); -/* - Writes the given number of uncompressed bytes into the compressed file. - gzwrite returns the number of uncompressed bytes written or 0 in case of - error. -*/ - -ZEXTERN int ZEXPORTVA gzprintf Z_ARG((gzFile file, const char *format, ...)); -/* - Converts, formats, and writes the arguments to the compressed file under - control of the format string, as in fprintf. gzprintf returns the number of - uncompressed bytes actually written, or 0 in case of error. The number of - uncompressed bytes written is limited to 8191, or one less than the buffer - size given to gzbuffer(). The caller should assure that this limit is not - exceeded. If it is exceeded, then gzprintf() will return an error (0) with - nothing written. In this case, there may also be a buffer overflow with - unpredictable consequences, which is possible only if zlib was compiled with - the insecure functions sprintf() or vsprintf() because the secure snprintf() - or vsnprintf() functions were not available. This can be determined using - zlibCompileFlags(). -*/ - -ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s)); -/* - Writes the given null-terminated string to the compressed file, excluding - the terminating null character. - - gzputs returns the number of characters written, or -1 in case of error. -*/ - -ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len)); -/* - Reads bytes from the compressed file until len-1 characters are read, or a - newline character is read and transferred to buf, or an end-of-file - condition is encountered. If any characters are read or if len == 1, the - string is terminated with a null character. If no characters are read due - to an end-of-file or len < 1, then the buffer is left untouched. - - gzgets returns buf which is a null-terminated string, or it returns NULL - for end-of-file or in case of error. If there was an error, the contents at - buf are indeterminate. -*/ - -ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c)); -/* - Writes c, converted to an unsigned char, into the compressed file. gzputc - returns the value that was written, or -1 in case of error. -*/ - -ZEXTERN int ZEXPORT gzgetc OF((gzFile file)); -/* - Reads one byte from the compressed file. gzgetc returns this byte or -1 - in case of end of file or error. This is implemented as a macro for speed. - As such, it does not do all of the checking the other functions do. I.e. - it does not check to see if file is NULL, nor whether the structure file - points to has been clobbered or not. -*/ - -ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file)); -/* - Push one character back onto the stream to be read as the first character - on the next read. At least one character of push-back is allowed. - gzungetc() returns the character pushed, or -1 on failure. gzungetc() will - fail if c is -1, and may fail if a character has been pushed but not read - yet. If gzungetc is used immediately after gzopen or gzdopen, at least the - output buffer size of pushed characters is allowed. (See gzbuffer above.) - The pushed character will be discarded if the stream is repositioned with - gzseek() or gzrewind(). -*/ - -ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush)); -/* - Flushes all pending output into the compressed file. The parameter flush - is as in the deflate() function. The return value is the zlib error number - (see function gzerror below). gzflush is only permitted when writing. - - If the flush parameter is Z_FINISH, the remaining data is written and the - gzip stream is completed in the output. If gzwrite() is called again, a new - gzip stream will be started in the output. gzread() is able to read such - concatented gzip streams. - - gzflush should be called only when strictly necessary because it will - degrade compression if called too often. -*/ - -/* -ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file, - z_off_t offset, int whence)); - - Sets the starting position for the next gzread or gzwrite on the given - compressed file. The offset represents a number of bytes in the - uncompressed data stream. The whence parameter is defined as in lseek(2); - the value SEEK_END is not supported. - - If the file is opened for reading, this function is emulated but can be - extremely slow. If the file is opened for writing, only forward seeks are - supported; gzseek then compresses a sequence of zeroes up to the new - starting position. - - gzseek returns the resulting offset location as measured in bytes from - the beginning of the uncompressed stream, or -1 in case of error, in - particular if the file is opened for writing and the new starting position - would be before the current position. -*/ - -ZEXTERN int ZEXPORT gzrewind OF((gzFile file)); -/* - Rewinds the given file. This function is supported only for reading. - - gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET) -*/ - -/* -ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file)); - - Returns the starting position for the next gzread or gzwrite on the given - compressed file. This position represents a number of bytes in the - uncompressed data stream, and is zero when starting, even if appending or - reading a gzip stream from the middle of a file using gzdopen(). - - gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR) -*/ - -/* -ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile file)); - - Returns the current offset in the file being read or written. This offset - includes the count of bytes that precede the gzip stream, for example when - appending or when using gzdopen() for reading. When reading, the offset - does not include as yet unused buffered input. This information can be used - for a progress indicator. On error, gzoffset() returns -1. -*/ - -ZEXTERN int ZEXPORT gzeof OF((gzFile file)); -/* - Returns true (1) if the end-of-file indicator has been set while reading, - false (0) otherwise. Note that the end-of-file indicator is set only if the - read tried to go past the end of the input, but came up short. Therefore, - just like feof(), gzeof() may return false even if there is no more data to - read, in the event that the last read request was for the exact number of - bytes remaining in the input file. This will happen if the input file size - is an exact multiple of the buffer size. - - If gzeof() returns true, then the read functions will return no more data, - unless the end-of-file indicator is reset by gzclearerr() and the input file - has grown since the previous end of file was detected. -*/ - -ZEXTERN int ZEXPORT gzdirect OF((gzFile file)); -/* - Returns true (1) if file is being copied directly while reading, or false - (0) if file is a gzip stream being decompressed. - - If the input file is empty, gzdirect() will return true, since the input - does not contain a gzip stream. - - If gzdirect() is used immediately after gzopen() or gzdopen() it will - cause buffers to be allocated to allow reading the file to determine if it - is a gzip file. Therefore if gzbuffer() is used, it should be called before - gzdirect(). - - When writing, gzdirect() returns true (1) if transparent writing was - requested ("wT" for the gzopen() mode), or false (0) otherwise. (Note: - gzdirect() is not needed when writing. Transparent writing must be - explicitly requested, so the application already knows the answer. When - linking statically, using gzdirect() will include all of the zlib code for - gzip file reading and decompression, which may not be desired.) -*/ - -ZEXTERN int ZEXPORT gzclose OF((gzFile file)); -/* - Flushes all pending output if necessary, closes the compressed file and - deallocates the (de)compression state. Note that once file is closed, you - cannot call gzerror with file, since its structures have been deallocated. - gzclose must not be called more than once on the same file, just as free - must not be called more than once on the same allocation. - - gzclose will return Z_STREAM_ERROR if file is not valid, Z_ERRNO on a - file operation error, Z_MEM_ERROR if out of memory, Z_BUF_ERROR if the - last read ended in the middle of a gzip stream, or Z_OK on success. -*/ - -ZEXTERN int ZEXPORT gzclose_r OF((gzFile file)); -ZEXTERN int ZEXPORT gzclose_w OF((gzFile file)); -/* - Same as gzclose(), but gzclose_r() is only for use when reading, and - gzclose_w() is only for use when writing or appending. The advantage to - using these instead of gzclose() is that they avoid linking in zlib - compression or decompression code that is not used when only reading or only - writing respectively. If gzclose() is used, then both compression and - decompression code will be included the application when linking to a static - zlib library. -*/ - -ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum)); -/* - Returns the error message for the last error which occurred on the given - compressed file. errnum is set to zlib error number. If an error occurred - in the file system and not in the compression library, errnum is set to - Z_ERRNO and the application may consult errno to get the exact error code. - - The application must not modify the returned string. Future calls to - this function may invalidate the previously returned string. If file is - closed, then the string previously returned by gzerror will no longer be - available. - - gzerror() should be used to distinguish errors from end-of-file for those - functions above that do not distinguish those cases in their return values. -*/ - -ZEXTERN void ZEXPORT gzclearerr OF((gzFile file)); -/* - Clears the error and end-of-file flags for file. This is analogous to the - clearerr() function in stdio. This is useful for continuing to read a gzip - file that is being written concurrently. -*/ - -#endif /* !Z_SOLO */ - - /* checksum functions */ - -/* - These functions are not related to compression but are exported - anyway because they might be useful in applications using the compression - library. -*/ - -ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len)); -/* - Update a running Adler-32 checksum with the bytes buf[0..len-1] and - return the updated checksum. If buf is Z_NULL, this function returns the - required initial value for the checksum. - - An Adler-32 checksum is almost as reliable as a CRC32 but can be computed - much faster. - - Usage example: - - uLong adler = adler32(0L, Z_NULL, 0); - - while (read_buffer(buffer, length) != EOF) { - adler = adler32(adler, buffer, length); - } - if (adler != original_adler) error(); -*/ - -/* -ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2, - z_off_t len2)); - - Combine two Adler-32 checksums into one. For two sequences of bytes, seq1 - and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for - each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of - seq1 and seq2 concatenated, requiring only adler1, adler2, and len2. Note - that the z_off_t type (like off_t) is a signed integer. If len2 is - negative, the result has no meaning or utility. -*/ - -ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len)); -/* - Update a running CRC-32 with the bytes buf[0..len-1] and return the - updated CRC-32. If buf is Z_NULL, this function returns the required - initial value for the for the crc. Pre- and post-conditioning (one's - complement) is performed within this function so it shouldn't be done by the - application. - - Usage example: - - uLong crc = crc32(0L, Z_NULL, 0); - - while (read_buffer(buffer, length) != EOF) { - crc = crc32(crc, buffer, length); - } - if (crc != original_crc) error(); -*/ - -/* -ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2)); - - Combine two CRC-32 check values into one. For two sequences of bytes, - seq1 and seq2 with lengths len1 and len2, CRC-32 check values were - calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32 - check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and - len2. -*/ - - - /* various hacks, don't look :) */ - -/* deflateInit and inflateInit are macros to allow checking the zlib version - * and the compiler's view of z_stream: - */ -ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level, - const char *version, int stream_size)); -ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm, - const char *version, int stream_size)); -ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method, - int windowBits, int memLevel, - int strategy, const char *version, - int stream_size)); -ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits, - const char *version, int stream_size)); -ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits, - unsigned char FAR *window, - const char *version, - int stream_size)); -#define deflateInit(strm, level) \ - deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream)) -#define inflateInit(strm) \ - inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream)) -#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \ - deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\ - (strategy), ZLIB_VERSION, (int)sizeof(z_stream)) -#define inflateInit2(strm, windowBits) \ - inflateInit2_((strm), (windowBits), ZLIB_VERSION, \ - (int)sizeof(z_stream)) -#define inflateBackInit(strm, windowBits, window) \ - inflateBackInit_((strm), (windowBits), (window), \ - ZLIB_VERSION, (int)sizeof(z_stream)) - -#ifndef Z_SOLO - -/* gzgetc() macro and its supporting function and exposed data structure. Note - * that the real internal state is much larger than the exposed structure. - * This abbreviated structure exposes just enough for the gzgetc() macro. The - * user should not mess with these exposed elements, since their names or - * behavior could change in the future, perhaps even capriciously. They can - * only be used by the gzgetc() macro. You have been warned. - */ -struct gzFile_s { - unsigned have; - unsigned char *next; - z_off64_t pos; -}; -ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); -#define gzgetc(g) \ - ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : gzgetc_(g)) - -/* provide 64-bit offset functions if _LARGEFILE64_SOURCE defined, and/or - * change the regular functions to 64 bits if _FILE_OFFSET_BITS is 64 (if - * both are true, the application gets the *64 functions, and the regular - * functions are changed to 64 bits) -- in case these are set on systems - * without large file support, _LFS64_LARGEFILE must also be true - */ -#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0 - ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *)); - ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int)); - ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile)); - ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile)); - ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off64_t)); - ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t)); -#endif - -#if !defined(ZLIB_INTERNAL) && _FILE_OFFSET_BITS-0 == 64 && _LFS64_LARGEFILE-0 -# ifdef Z_PREFIX_SET -# define z_gzopen z_gzopen64 -# define z_gzseek z_gzseek64 -# define z_gztell z_gztell64 -# define z_gzoffset z_gzoffset64 -# define z_adler32_combine z_adler32_combine64 -# define z_crc32_combine z_crc32_combine64 -# else -# define gzopen gzopen64 -# define gzseek gzseek64 -# define gztell gztell64 -# define gzoffset gzoffset64 -# define adler32_combine adler32_combine64 -# define crc32_combine crc32_combine64 -# endif -# ifndef _LARGEFILE64_SOURCE - ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *)); - ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int)); - ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile)); - ZEXTERN z_off_t ZEXPORT gzoffset64 OF((gzFile)); - ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t)); - ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t)); -# endif -#else - ZEXTERN gzFile ZEXPORT gzopen OF((const char *, const char *)); - ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile, z_off_t, int)); - ZEXTERN z_off_t ZEXPORT gztell OF((gzFile)); - ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile)); - ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t)); - ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t)); -#endif - -#else /* Z_SOLO */ - - ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t)); - ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t)); - -#endif /* !Z_SOLO */ - -/* hack for buggy compilers */ -#if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL) - struct internal_state {int dummy;}; -#endif - -/* undocumented functions */ -ZEXTERN const char * ZEXPORT zError OF((int)); -ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp)); -ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void)); -ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int)); -ZEXTERN int ZEXPORT inflateResetKeep OF((z_streamp)); -ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp)); -#ifndef Z_SOLO - ZEXTERN unsigned long ZEXPORT gzflags OF((void)); -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* ZLIB_H */ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/zlib.map b/org.simantics.modelica/FMUSolution/zlib-1.2.6/zlib.map deleted file mode 100644 index 54fa5538..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/zlib.map +++ /dev/null @@ -1,79 +0,0 @@ -ZLIB_1.2.0 { - global: - compressBound; - deflateBound; - inflateBack; - inflateBackEnd; - inflateBackInit_; - inflateCopy; - local: - deflate_copyright; - inflate_copyright; - inflate_fast; - inflate_table; - zcalloc; - zcfree; - z_errmsg; - gz_error; - gz_intmax; - _*; -}; - -ZLIB_1.2.0.2 { - gzclearerr; - gzungetc; - zlibCompileFlags; -} ZLIB_1.2.0; - -ZLIB_1.2.0.8 { - deflatePrime; -} ZLIB_1.2.0.2; - -ZLIB_1.2.2 { - adler32_combine; - crc32_combine; - deflateSetHeader; - inflateGetHeader; -} ZLIB_1.2.0.8; - -ZLIB_1.2.2.3 { - deflateTune; - gzdirect; -} ZLIB_1.2.2; - -ZLIB_1.2.2.4 { - inflatePrime; -} ZLIB_1.2.2.3; - -ZLIB_1.2.3.3 { - adler32_combine64; - crc32_combine64; - gzopen64; - gzseek64; - gztell64; - inflateUndermine; -} ZLIB_1.2.2.4; - -ZLIB_1.2.3.4 { - inflateReset2; - inflateMark; -} ZLIB_1.2.3.3; - -ZLIB_1.2.3.5 { - gzbuffer; - gzoffset; - gzoffset64; - gzclose_r; - gzclose_w; -} ZLIB_1.2.3.4; - -ZLIB_1.2.5.1 { - deflatePending; -} ZLIB_1.2.3.5; - -ZLIB_1.2.5.2 { - deflateResetKeep; - gzflags; - gzgetc_; - inflateResetKeep; -} ZLIB_1.2.5.1; diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/zlib.pc.in b/org.simantics.modelica/FMUSolution/zlib-1.2.6/zlib.pc.in deleted file mode 100644 index 7e5acf9c..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/zlib.pc.in +++ /dev/null @@ -1,13 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -sharedlibdir=@sharedlibdir@ -includedir=@includedir@ - -Name: zlib -Description: zlib compression library -Version: @VERSION@ - -Requires: -Libs: -L${libdir} -L${sharedlibdir} -lz -Cflags: -I${includedir} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/zlib2ansi b/org.simantics.modelica/FMUSolution/zlib-1.2.6/zlib2ansi deleted file mode 100644 index 15e3e165..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/zlib2ansi +++ /dev/null @@ -1,152 +0,0 @@ -#!/usr/bin/perl - -# Transform K&R C function definitions into ANSI equivalent. -# -# Author: Paul Marquess -# Version: 1.0 -# Date: 3 October 2006 - -# TODO -# -# Asumes no function pointer parameters. unless they are typedefed. -# Assumes no literal strings that look like function definitions -# Assumes functions start at the beginning of a line - -use strict; -use warnings; - -local $/; -$_ = <>; - -my $sp = qr{ \s* (?: /\* .*? \*/ )? \s* }x; # assume no nested comments - -my $d1 = qr{ $sp (?: [\w\*\s]+ $sp)* $sp \w+ $sp [\[\]\s]* $sp }x ; -my $decl = qr{ $sp (?: \w+ $sp )+ $d1 }xo ; -my $dList = qr{ $sp $decl (?: $sp , $d1 )* $sp ; $sp }xo ; - - -while (s/^ - ( # Start $1 - ( # Start $2 - .*? # Minimal eat content - ( ^ \w [\w\s\*]+ ) # $3 -- function name - \s* # optional whitespace - ) # $2 - Matched up to before parameter list - - \( \s* # Literal "(" + optional whitespace - ( [^\)]+ ) # $4 - one or more anythings except ")" - \s* \) # optional whitespace surrounding a Literal ")" - - ( (?: $dList )+ ) # $5 - - $sp ^ { # literal "{" at start of line - ) # Remember to $1 - //xsom - ) -{ - my $all = $1 ; - my $prefix = $2; - my $param_list = $4 ; - my $params = $5; - - StripComments($params); - StripComments($param_list); - $param_list =~ s/^\s+//; - $param_list =~ s/\s+$//; - - my $i = 0 ; - my %pList = map { $_ => $i++ } - split /\s*,\s*/, $param_list; - my $pMatch = '(\b' . join('|', keys %pList) . '\b)\W*$' ; - - my @params = split /\s*;\s*/, $params; - my @outParams = (); - foreach my $p (@params) - { - if ($p =~ /,/) - { - my @bits = split /\s*,\s*/, $p; - my $first = shift @bits; - $first =~ s/^\s*//; - push @outParams, $first; - $first =~ /^(\w+\s*)/; - my $type = $1 ; - push @outParams, map { $type . $_ } @bits; - } - else - { - $p =~ s/^\s+//; - push @outParams, $p; - } - } - - - my %tmp = map { /$pMatch/; $_ => $pList{$1} } - @outParams ; - - @outParams = map { " $_" } - sort { $tmp{$a} <=> $tmp{$b} } - @outParams ; - - print $prefix ; - print "(\n" . join(",\n", @outParams) . ")\n"; - print "{" ; - -} - -# Output any trailing code. -print ; -exit 0; - - -sub StripComments -{ - - no warnings; - - # Strip C & C++ coments - # From the perlfaq - $_[0] =~ - - s{ - /\* ## Start of /* ... */ comment - [^*]*\*+ ## Non-* followed by 1-or-more *'s - ( - [^/*][^*]*\*+ - )* ## 0-or-more things which don't start with / - ## but do end with '*' - / ## End of /* ... */ comment - - | ## OR C++ Comment - // ## Start of C++ comment // - [^\n]* ## followed by 0-or-more non end of line characters - - | ## OR various things which aren't comments: - - ( - " ## Start of " ... " string - ( - \\. ## Escaped char - | ## OR - [^"\\] ## Non "\ - )* - " ## End of " ... " string - - | ## OR - - ' ## Start of ' ... ' string - ( - \\. ## Escaped char - | ## OR - [^'\\] ## Non '\ - )* - ' ## End of ' ... ' string - - | ## OR - - . ## Anything other char - [^/"'\\]* ## Chars which doesn't start a comment, string or escape - ) - }{$2}gxs; - -} diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/zutil.c b/org.simantics.modelica/FMUSolution/zlib-1.2.6/zutil.c deleted file mode 100644 index 8a1d2420..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/zutil.c +++ /dev/null @@ -1,301 +0,0 @@ -/* zutil.c -- target dependent utility functions for the compression library - * Copyright (C) 1995-2005, 2010, 2011 Jean-loup Gailly. - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* @(#) $Id$ */ - -#include "zutil.h" - -#ifndef NO_DUMMY_DECL -struct internal_state {int dummy;}; /* for buggy compilers */ -#endif - -const char * const z_errmsg[10] = { -"need dictionary", /* Z_NEED_DICT 2 */ -"stream end", /* Z_STREAM_END 1 */ -"", /* Z_OK 0 */ -"file error", /* Z_ERRNO (-1) */ -"stream error", /* Z_STREAM_ERROR (-2) */ -"data error", /* Z_DATA_ERROR (-3) */ -"insufficient memory", /* Z_MEM_ERROR (-4) */ -"buffer error", /* Z_BUF_ERROR (-5) */ -"incompatible version",/* Z_VERSION_ERROR (-6) */ -""}; - - -const char * ZEXPORT zlibVersion() -{ - return ZLIB_VERSION; -} - -uLong ZEXPORT zlibCompileFlags() -{ - uLong flags; - - flags = 0; - switch ((int)(sizeof(uInt))) { - case 2: break; - case 4: flags += 1; break; - case 8: flags += 2; break; - default: flags += 3; - } - switch ((int)(sizeof(uLong))) { - case 2: break; - case 4: flags += 1 << 2; break; - case 8: flags += 2 << 2; break; - default: flags += 3 << 2; - } - switch ((int)(sizeof(voidpf))) { - case 2: break; - case 4: flags += 1 << 4; break; - case 8: flags += 2 << 4; break; - default: flags += 3 << 4; - } - switch ((int)(sizeof(z_off_t))) { - case 2: break; - case 4: flags += 1 << 6; break; - case 8: flags += 2 << 6; break; - default: flags += 3 << 6; - } -#ifdef DEBUG - flags += 1 << 8; -#endif -#if defined(ASMV) || defined(ASMINF) - flags += 1 << 9; -#endif -#ifdef ZLIB_WINAPI - flags += 1 << 10; -#endif -#ifdef BUILDFIXED - flags += 1 << 12; -#endif -#ifdef DYNAMIC_CRC_TABLE - flags += 1 << 13; -#endif -#ifdef NO_GZCOMPRESS - flags += 1L << 16; -#endif -#ifdef NO_GZIP - flags += 1L << 17; -#endif -#ifdef PKZIP_BUG_WORKAROUND - flags += 1L << 20; -#endif -#ifdef FASTEST - flags += 1L << 21; -#endif -#ifdef Z_SOLO - return flags; -#else - return flags + gzflags(); -#endif -} - -#ifdef DEBUG - -# ifndef verbose -# define verbose 0 -# endif -int ZLIB_INTERNAL z_verbose = verbose; - -void ZLIB_INTERNAL z_error (m) - char *m; -{ - fprintf(stderr, "%s\n", m); - exit(1); -} -#endif - -/* exported to allow conversion of error code to string for compress() and - * uncompress() - */ -const char * ZEXPORT zError(err) - int err; -{ - return ERR_MSG(err); -} - -#if defined(_WIN32_WCE) - /* The Microsoft C Run-Time Library for Windows CE doesn't have - * errno. We define it as a global variable to simplify porting. - * Its value is always 0 and should not be used. - */ - int errno = 0; -#endif - -#ifndef HAVE_MEMCPY - -void ZLIB_INTERNAL zmemcpy(dest, source, len) - Bytef* dest; - const Bytef* source; - uInt len; -{ - if (len == 0) return; - do { - *dest++ = *source++; /* ??? to be unrolled */ - } while (--len != 0); -} - -int ZLIB_INTERNAL zmemcmp(s1, s2, len) - const Bytef* s1; - const Bytef* s2; - uInt len; -{ - uInt j; - - for (j = 0; j < len; j++) { - if (s1[j] != s2[j]) return 2*(s1[j] > s2[j])-1; - } - return 0; -} - -void ZLIB_INTERNAL zmemzero(dest, len) - Bytef* dest; - uInt len; -{ - if (len == 0) return; - do { - *dest++ = 0; /* ??? to be unrolled */ - } while (--len != 0); -} -#endif - -#ifndef Z_SOLO - -#ifdef SYS16BIT - -#ifdef __TURBOC__ -/* Turbo C in 16-bit mode */ - -# define MY_ZCALLOC - -/* Turbo C malloc() does not allow dynamic allocation of 64K bytes - * and farmalloc(64K) returns a pointer with an offset of 8, so we - * must fix the pointer. Warning: the pointer must be put back to its - * original form in order to free it, use zcfree(). - */ - -#define MAX_PTR 10 -/* 10*64K = 640K */ - -local int next_ptr = 0; - -typedef struct ptr_table_s { - voidpf org_ptr; - voidpf new_ptr; -} ptr_table; - -local ptr_table table[MAX_PTR]; -/* This table is used to remember the original form of pointers - * to large buffers (64K). Such pointers are normalized with a zero offset. - * Since MSDOS is not a preemptive multitasking OS, this table is not - * protected from concurrent access. This hack doesn't work anyway on - * a protected system like OS/2. Use Microsoft C instead. - */ - -voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, unsigned items, unsigned size) -{ - voidpf buf = opaque; /* just to make some compilers happy */ - ulg bsize = (ulg)items*size; - - /* If we allocate less than 65520 bytes, we assume that farmalloc - * will return a usable pointer which doesn't have to be normalized. - */ - if (bsize < 65520L) { - buf = farmalloc(bsize); - if (*(ush*)&buf != 0) return buf; - } else { - buf = farmalloc(bsize + 16L); - } - if (buf == NULL || next_ptr >= MAX_PTR) return NULL; - table[next_ptr].org_ptr = buf; - - /* Normalize the pointer to seg:0 */ - *((ush*)&buf+1) += ((ush)((uch*)buf-0) + 15) >> 4; - *(ush*)&buf = 0; - table[next_ptr++].new_ptr = buf; - return buf; -} - -void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr) -{ - int n; - if (*(ush*)&ptr != 0) { /* object < 64K */ - farfree(ptr); - return; - } - /* Find the original pointer */ - for (n = 0; n < next_ptr; n++) { - if (ptr != table[n].new_ptr) continue; - - farfree(table[n].org_ptr); - while (++n < next_ptr) { - table[n-1] = table[n]; - } - next_ptr--; - return; - } - ptr = opaque; /* just to make some compilers happy */ - Assert(0, "zcfree: ptr not found"); -} - -#endif /* __TURBOC__ */ - - -#ifdef M_I86 -/* Microsoft C in 16-bit mode */ - -# define MY_ZCALLOC - -#if (!defined(_MSC_VER) || (_MSC_VER <= 600)) -# define _halloc halloc -# define _hfree hfree -#endif - -voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, uInt items, uInt size) -{ - if (opaque) opaque = 0; /* to make compiler happy */ - return _halloc((long)items, size); -} - -void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr) -{ - if (opaque) opaque = 0; /* to make compiler happy */ - _hfree(ptr); -} - -#endif /* M_I86 */ - -#endif /* SYS16BIT */ - - -#ifndef MY_ZCALLOC /* Any system without a special alloc function */ - -#ifndef STDC -extern voidp malloc OF((uInt size)); -extern voidp calloc OF((uInt items, uInt size)); -extern void free OF((voidpf ptr)); -#endif - -voidpf ZLIB_INTERNAL zcalloc (opaque, items, size) - voidpf opaque; - unsigned items; - unsigned size; -{ - if (opaque) items += size - size; /* make compiler happy */ - return sizeof(uInt) > 2 ? (voidpf)malloc(items * size) : - (voidpf)calloc(items, size); -} - -void ZLIB_INTERNAL zcfree (opaque, ptr) - voidpf opaque; - voidpf ptr; -{ - free(ptr); - if (opaque) return; /* make compiler happy */ -} - -#endif /* MY_ZCALLOC */ - -#endif /* !Z_SOLO */ diff --git a/org.simantics.modelica/FMUSolution/zlib-1.2.6/zutil.h b/org.simantics.modelica/FMUSolution/zlib-1.2.6/zutil.h deleted file mode 100644 index dff1112f..00000000 --- a/org.simantics.modelica/FMUSolution/zlib-1.2.6/zutil.h +++ /dev/null @@ -1,248 +0,0 @@ -/* zutil.h -- internal interface and configuration of the compression library - * Copyright (C) 1995-2011 Jean-loup Gailly. - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* WARNING: this file should *not* be used by applications. It is - part of the implementation of the compression library and is - subject to change. Applications should only use zlib.h. - */ - -/* @(#) $Id$ */ - -#ifndef ZUTIL_H -#define ZUTIL_H - -#if ((__GNUC__-0) * 10 + __GNUC_MINOR__-0 >= 33) && !defined(NO_VIZ) -# define ZLIB_INTERNAL __attribute__((visibility ("hidden"))) -#else -# define ZLIB_INTERNAL -#endif - -#include "zlib.h" - -#if defined(STDC) && !defined(Z_SOLO) -# if !(defined(_WIN32_WCE) && defined(_MSC_VER)) -# include -# endif -# include -# include -#endif - -#ifdef Z_SOLO - typedef long ptrdiff_t; /* guess -- will be caught if guess is wrong */ -#endif - -#ifndef local -# define local static -#endif -/* compile with -Dlocal if your debugger can't find static symbols */ - -typedef unsigned char uch; -typedef uch FAR uchf; -typedef unsigned short ush; -typedef ush FAR ushf; -typedef unsigned long ulg; - -extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ -/* (size given to avoid silly warnings with Visual C++) */ - -#define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)] - -#define ERR_RETURN(strm,err) \ - return (strm->msg = (char*)ERR_MSG(err), (err)) -/* To be used only when the state is known to be valid */ - - /* common constants */ - -#ifndef DEF_WBITS -# define DEF_WBITS MAX_WBITS -#endif -/* default windowBits for decompression. MAX_WBITS is for compression only */ - -#if MAX_MEM_LEVEL >= 8 -# define DEF_MEM_LEVEL 8 -#else -# define DEF_MEM_LEVEL MAX_MEM_LEVEL -#endif -/* default memLevel */ - -#define STORED_BLOCK 0 -#define STATIC_TREES 1 -#define DYN_TREES 2 -/* The three kinds of block type */ - -#define MIN_MATCH 3 -#define MAX_MATCH 258 -/* The minimum and maximum match lengths */ - -#define PRESET_DICT 0x20 /* preset dictionary flag in zlib header */ - - /* target dependencies */ - -#if defined(MSDOS) || (defined(WINDOWS) && !defined(WIN32)) -# define OS_CODE 0x00 -# ifndef Z_SOLO -# if defined(__TURBOC__) || defined(__BORLANDC__) -# if (__STDC__ == 1) && (defined(__LARGE__) || defined(__COMPACT__)) - /* Allow compilation with ANSI keywords only enabled */ - void _Cdecl farfree( void *block ); - void *_Cdecl farmalloc( unsigned long nbytes ); -# else -# include -# endif -# else /* MSC or DJGPP */ -# include -# endif -# endif -#endif - -#ifdef AMIGA -# define OS_CODE 0x01 -#endif - -#if defined(VAXC) || defined(VMS) -# define OS_CODE 0x02 -# define F_OPEN(name, mode) \ - fopen((name), (mode), "mbc=60", "ctx=stm", "rfm=fix", "mrs=512") -#endif - -#if defined(ATARI) || defined(atarist) -# define OS_CODE 0x05 -#endif - -#ifdef OS2 -# define OS_CODE 0x06 -# if defined(M_I86) && !defined(Z_SOLO) -# include -# endif -#endif - -#if defined(MACOS) || defined(TARGET_OS_MAC) -# define OS_CODE 0x07 -# ifndef Z_SOLO -# if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os -# include /* for fdopen */ -# else -# ifndef fdopen -# define fdopen(fd,mode) NULL /* No fdopen() */ -# endif -# endif -# endif -#endif - -#ifdef TOPS20 -# define OS_CODE 0x0a -#endif - -#ifdef WIN32 -# ifndef __CYGWIN__ /* Cygwin is Unix, not Win32 */ -# define OS_CODE 0x0b -# endif -#endif - -#ifdef __50SERIES /* Prime/PRIMOS */ -# define OS_CODE 0x0f -#endif - -#if defined(_BEOS_) || defined(RISCOS) -# define fdopen(fd,mode) NULL /* No fdopen() */ -#endif - -#if (defined(_MSC_VER) && (_MSC_VER > 600)) && !defined __INTERIX -# if defined(_WIN32_WCE) -# define fdopen(fd,mode) NULL /* No fdopen() */ -# ifndef _PTRDIFF_T_DEFINED - typedef int ptrdiff_t; -# define _PTRDIFF_T_DEFINED -# endif -# else -# define fdopen(fd,type) _fdopen(fd,type) -# endif -#endif - -#if defined(__BORLANDC__) && !defined(MSDOS) - #pragma warn -8004 - #pragma warn -8008 - #pragma warn -8066 -#endif - -/* provide prototypes for these when building zlib without LFS */ -#if !defined(_WIN32) && (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0) - ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t)); - ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t)); -#endif - - /* common defaults */ - -#ifndef OS_CODE -# define OS_CODE 0x03 /* assume Unix */ -#endif - -#ifndef F_OPEN -# define F_OPEN(name, mode) fopen((name), (mode)) -#endif - - /* functions */ - -#if defined(pyr) || defined(Z_SOLO) -# define NO_MEMCPY -#endif -#if defined(SMALL_MEDIUM) && !defined(_MSC_VER) && !defined(__SC__) - /* Use our own functions for small and medium model with MSC <= 5.0. - * You may have to use the same strategy for Borland C (untested). - * The __SC__ check is for Symantec. - */ -# define NO_MEMCPY -#endif -#if defined(STDC) && !defined(HAVE_MEMCPY) && !defined(NO_MEMCPY) -# define HAVE_MEMCPY -#endif -#ifdef HAVE_MEMCPY -# ifdef SMALL_MEDIUM /* MSDOS small or medium model */ -# define zmemcpy _fmemcpy -# define zmemcmp _fmemcmp -# define zmemzero(dest, len) _fmemset(dest, 0, len) -# else -# define zmemcpy memcpy -# define zmemcmp memcmp -# define zmemzero(dest, len) memset(dest, 0, len) -# endif -#else - void ZLIB_INTERNAL zmemcpy OF((Bytef* dest, const Bytef* source, uInt len)); - int ZLIB_INTERNAL zmemcmp OF((const Bytef* s1, const Bytef* s2, uInt len)); - void ZLIB_INTERNAL zmemzero OF((Bytef* dest, uInt len)); -#endif - -/* Diagnostic functions */ -#ifdef DEBUG -# include - extern int ZLIB_INTERNAL z_verbose; - extern void ZLIB_INTERNAL z_error OF((char *m)); -# define Assert(cond,msg) {if(!(cond)) z_error(msg);} -# define Trace(x) {if (z_verbose>=0) fprintf x ;} -# define Tracev(x) {if (z_verbose>0) fprintf x ;} -# define Tracevv(x) {if (z_verbose>1) fprintf x ;} -# define Tracec(c,x) {if (z_verbose>0 && (c)) fprintf x ;} -# define Tracecv(c,x) {if (z_verbose>1 && (c)) fprintf x ;} -#else -# define Assert(cond,msg) -# define Trace(x) -# define Tracev(x) -# define Tracevv(x) -# define Tracec(c,x) -# define Tracecv(c,x) -#endif - -#ifndef Z_SOLO - voidpf ZLIB_INTERNAL zcalloc OF((voidpf opaque, unsigned items, - unsigned size)); - void ZLIB_INTERNAL zcfree OF((voidpf opaque, voidpf ptr)); -#endif - -#define ZALLOC(strm, items, size) \ - (*((strm)->zalloc))((strm)->opaque, (items), (size)) -#define ZFREE(strm, addr) (*((strm)->zfree))((strm)->opaque, (voidpf)(addr)) -#define TRY_FREE(s, p) {if (p) ZFREE(s, p);} - -#endif /* ZUTIL_H */ diff --git a/org.simantics.modelica/META-INF/MANIFEST.MF b/org.simantics.modelica/META-INF/MANIFEST.MF index 7fd8c199..08e7d49a 100644 --- a/org.simantics.modelica/META-INF/MANIFEST.MF +++ b/org.simantics.modelica/META-INF/MANIFEST.MF @@ -13,7 +13,6 @@ Require-Bundle: gnu.trove2;bundle-version="2.0.4", org.simantics.utils.datastructures;bundle-version="1.1.0" Export-Package: org.simantics.modelica, org.simantics.modelica.data, - org.simantics.modelica.fmi, org.simantics.modelica.reader Bundle-Activator: org.simantics.modelica.Activator Bundle-ActivationPolicy: lazy diff --git a/org.simantics.modelica/src/org/simantics/modelica/fmi/FMUControlJNI.java b/org.simantics.modelica/src/org/simantics/modelica/fmi/FMUControlJNI.java deleted file mode 100644 index 2baca4ac..00000000 --- a/org.simantics.modelica/src/org/simantics/modelica/fmi/FMUControlJNI.java +++ /dev/null @@ -1,550 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2012 Association for Decentralized Information Management in - * Industry THTH ry. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * VTT Technical Research Centre of Finland - initial API and implementation - *******************************************************************************/ -package org.simantics.modelica.fmi; - -import java.io.File; -import java.io.IOException; -import java.io.RandomAccessFile; -import java.nio.channels.FileChannel; -import java.nio.channels.FileLock; -import java.util.UUID; - -import org.eclipse.core.runtime.FileLocator; -import org.eclipse.core.runtime.Platform; -import org.osgi.framework.Bundle; -import org.simantics.modelica.ModelicaManager; -import org.simantics.modelica.ModelicaManager.OSType; -import org.simantics.utils.FileUtils; - - -/** - * - * @author Teemu Lempinen - * - */ -public class FMUControlJNI { - - /** - * Static variables - */ - private static int ERROR = 0; - private static int OK = 1; - private static String UNSATISFIED_LINK = "Method not found. DLL might not be loaded properly."; - private static String TEMP_DIRECTORY; - private static String TEMP_FMU_DIRECTORY_NAME = "fmu"; - public static String TEMP_FMU_COMMON_DIRECTORY; - public static String LOCK_FILE_NAME = "fmu.lock"; - - /** - * Static: load native libraries required for the FMU simulation to work. - */ - static { - File[] libraries = new File[3]; - - OSType os = ModelicaManager.calculateOS(); - if(os.equals(OSType.WINDOWS)) { - Bundle bundle = Platform.getBundle("org.simantics.openmodelica.win32"); - if (bundle != null) { - try{ - String root = FileLocator.getBundleFile(bundle).getAbsolutePath(); - libraries[0] = new File(root, "libraries/zlibwapi.dll"); - libraries[1] = new File(root, "libraries/miniunz.dll"); - libraries[2] = new File(root, "libraries/FMUSimulator.dll"); - } - catch (Exception e) { - e.printStackTrace(); - } - } - } - - for(File library : libraries) { - if(library == null) { - System.err.println("FMU library not loaded. FMU simulation not working."); - continue; - } else if(!library.isFile()) { - System.err.println(library.getAbsolutePath() + " not found"); - } else { - try { - System.load(library.getAbsolutePath()); - } catch (Throwable t) { - System.err.println(t.getMessage()); - } - } - } - } - - /** - * Static: initialize fmu temp folder - */ - static { - try { - // Create a temp directory marker. This shows the system temp directory. - File temp = File.createTempFile("tempMarker", null); - TEMP_DIRECTORY = temp.getParentFile().getAbsolutePath(); - // Delete the marker - temp.delete(); - - // Get common "fmu" directory in temp directory - File tempCommonDir = new File(TEMP_DIRECTORY, TEMP_FMU_DIRECTORY_NAME); - // If fmu is not a directory, create it - if(!tempCommonDir.isDirectory()) { - tempCommonDir.mkdir(); - } - TEMP_FMU_COMMON_DIRECTORY = tempCommonDir.getAbsolutePath(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - - private File fmuDir; - - public String TEMP_FOLDER_1; - public String TEMP_FOLDER_2; - public String TEMP_FMU_DIRECTORY; - private String dirName; - - public FMUControlJNI() { - // Create a directory for this control - File tempDir = new File(TEMP_FMU_COMMON_DIRECTORY, UUID.randomUUID().toString()); - tempDir.mkdir(); - TEMP_FMU_DIRECTORY = tempDir.getAbsolutePath(); - - // Create two directories inside the temp directory for this control - dirName = UUID.randomUUID().toString(); - fmuDir = new File(TEMP_FMU_DIRECTORY, dirName); - fmuDir.mkdir(); - - TEMP_FOLDER_1 = fmuDir.toString(); - TEMP_FOLDER_2 = fmuDir.toString() + "_2"; - - // Lock fmu directory in temp directory - lockFMUDirectory(); - } - - public String getModelID() { - return dirName; - } - - - /** - * Load fmu from a given file path. Releases the (possible) previously - * loaded fmu. - * - * @param path absolute file path for fmu file - * @throws FMUJNIException - */ - private int fmuN = 0; - private boolean fmuLoaded = false; - public void loadFMUFile(String path) throws FMUJNIException { - - String fmuDirName; - if(fmuN % 2 == 0) { - fmuDirName = TEMP_FOLDER_1; - fmuN++; - } else { - fmuDirName = TEMP_FOLDER_2; - fmuN = 0; - } - - File tempDir = new File(fmuDirName); - if(tempDir.isDirectory()) { - try { - FileUtils.deleteAll(tempDir); - } catch (IOException e) { - throw new FMUJNIException("Could not create temp folder for fmu"); - } - tempDir.mkdir(); - } else { - tempDir.mkdir(); - } - - - try { - String tmpPath = tempDir.getAbsolutePath(); - if(!tmpPath.endsWith("\\")) - tmpPath = tmpPath + "\\"; - int ret = loadFMUFile_(getModelID(), path, tmpPath); - if(ret == ERROR) - throw new FMUJNIException(getLastErrorMessage()); - - fmuLoaded = true; - } catch (UnsatisfiedLinkError err) { - throw new FMUJNIException(UNSATISFIED_LINK); - } catch (Exception e) { - throw new FMUJNIException(e.getMessage()); - } - } - - private native int loadFMUFile_(String id, String path, String toDir); - - /** - * Set a step length for simulation - * - * @param step Step length for simulation - * @throws FMUJNIException - */ - public void setStepLength(double step) throws FMUJNIException { - try { - - int ret = setStepLength_(getModelID(), step); - if(ret == ERROR) - throw new FMUJNIException(getLastErrorMessage()); - - } catch (UnsatisfiedLinkError err) { - throw new FMUJNIException(UNSATISFIED_LINK); - } catch (Exception e) { - throw new FMUJNIException(e.getMessage()); - } - } - - private native int setStepLength_(String id, double step); - - /** - * Initializes a simulation. - *

- * Make sure that an FMU is loaded first. - * @throws FMUJNIException - */ - public void initializeSimulation() throws FMUJNIException { - try { - - int ret = initializeSimulation_(getModelID()); - if(ret == ERROR) - throw new FMUJNIException(getLastErrorMessage()); - - } catch (UnsatisfiedLinkError err) { - throw new FMUJNIException(UNSATISFIED_LINK); - } catch (Exception e) { - throw new FMUJNIException(e.getMessage()); - } - } - - private native int initializeSimulation_(String id); - - /** - * Subscribe a set of variables from a loaded simulation. - *

- * Make sure that an FMU is loaded first. - * @param variables Array of variables - * @throws FMUJNIException - */ - public void subscribe(String[] variables) throws FMUJNIException { - try { - - int ret = subscribe_(getModelID(), variables, variables.length); - if(ret == ERROR) - throw new FMUJNIException(getLastErrorMessage()); - - } catch (UnsatisfiedLinkError err) { - throw new FMUJNIException(UNSATISFIED_LINK); - } catch (Exception e) { - throw new FMUJNIException(e.getMessage()); - } - } - - private native int subscribe_(String id, String[] variables, int size); - - - /** - * Set a new (Real, double) value for a variable. If the variable is a - * parameter, the change is effective immediately. - * - * @param name Variable - * @param value New (Real, double) value - * @throws FMUJNIException - */ - public void setRealValue(String name, double value) throws FMUJNIException { - try { - - int ret = setRealValue_(getModelID(), name, value); - if(ret == ERROR) - throw new FMUJNIException(getLastErrorMessage()); - - } catch (UnsatisfiedLinkError err) { - throw new FMUJNIException(UNSATISFIED_LINK); - } catch (Exception e) { - throw new FMUJNIException(e.getMessage()); - } - } - - private native int setRealValue_(String id, String name, double value); - - /** - * Set a new (integer) value for a variable. If the variable is a - * parameter, the change is effective immediately. - * - * @param name Variable - * @param value New (integer) value - * @throws FMUJNIException - */ - public void setIntegerValue(String name, int value) throws FMUJNIException { - try { - - int ret = setIntegerValue_(getModelID(), name, value); - if(ret == ERROR) - throw new FMUJNIException(getLastErrorMessage()); - - } catch (UnsatisfiedLinkError err) { - throw new FMUJNIException(UNSATISFIED_LINK); - } catch (Exception e) { - throw new FMUJNIException(e.getMessage()); - } - } - private native int setIntegerValue_(String id, String name, int value); - - /** - * Set a new (boolean) value for a variable. If the variable is a - * parameter, the change is effective immediately. - * - * @param name Variable - * @param value New (boolean) value - * @throws FMUJNIException - */ - public void setBooleanValue(String name, boolean value) throws FMUJNIException { - try { - - int ret = setBooleanValue_(getModelID(), name, value); - if(ret == ERROR) - throw new FMUJNIException(getLastErrorMessage()); - - } catch (UnsatisfiedLinkError err) { - throw new FMUJNIException(UNSATISFIED_LINK); - } catch (Exception e) { - throw new FMUJNIException(e.getMessage()); - } - } - private native int setBooleanValue_(String id, String name, boolean value); - - - /** - * Simulate one step forward. The step length can be set with - * setStepLength() - * - * @throws FMUJNIException - */ - public void simulateStep() throws FMUJNIException { - try { - - int ret = simulateStep_(getModelID()); - if(ret == ERROR) - throw new FMUJNIException(getLastErrorMessage()); - - } catch (UnsatisfiedLinkError err) { - throw new FMUJNIException(UNSATISFIED_LINK); - } catch (Exception e) { - throw new FMUJNIException(e.getMessage()); - } - } - private native int simulateStep_(String id); - - /** - * Get an array containing the current values for subscribed variables. The - * values are in the same order as in the subscription. - * - * @param results An array the size of subscribed results - * @return - */ - public double[] getSubscribedResults(double[] results) throws FMUJNIException { - try { - - return getSubscribedResults_(getModelID(), results); - - } catch (UnsatisfiedLinkError err) { - throw new FMUJNIException(UNSATISFIED_LINK); - } catch (Exception e) { - throw new FMUJNIException(e.getMessage()); - } - } - - private native double[] getSubscribedResults_(String id, double[] results); - - /** - * Unload FMU and the dll:s that it requires. - *

- * To be called after all FMU simulations are ended. - * If the fmu is loaded again / changed, call to loadFMUFile is sufficient. loadFMUFile - * releases the previous fmu.dll - * - * @throws FMUJNIException - */ - public void unloadFMU() throws FMUJNIException { - try { - - unlockFMUDirectory(); - if(fmuLoaded) { - int ret = unloadFMU_(getModelID()); - if(ret == ERROR) - throw new FMUJNIException(getLastErrorMessage()); - } - removeFMUDirectoryContents(); - - } catch (UnsatisfiedLinkError err) { - throw new FMUJNIException(UNSATISFIED_LINK); - } catch (Exception e) { - throw new FMUJNIException(e.getMessage()); - } - } - private native int unloadFMU_(String id); - - /** - * Get the current simulation time - * @return current simulation time - */ - public double getTime() throws FMUJNIException { - try { - - return getTime_(getModelID()); - - } catch (UnsatisfiedLinkError err) { - throw new FMUJNIException(UNSATISFIED_LINK); - } catch (Exception e) { - throw new FMUJNIException(e.getMessage()); - } - } - - private native double getTime_(String id); - - /** - * Get all variables in a loaded model - * @return all variables in a loaded model - */ - public String[] getAllVariables() throws FMUJNIException { - try { - - return getAllVariables_(getModelID()); - - } catch (UnsatisfiedLinkError err) { - throw new FMUJNIException(UNSATISFIED_LINK); - } catch (Exception e) { - throw new FMUJNIException(e.getMessage()); - } - } - - private native String[] getAllVariables_(String id); - - /** - * Get all variables from model that match the filter (and time variable) - * - * @param regexp Regular expression filter - * @return An array of variable names that match regexp filter (and time-variable) - * @throws FMUJNIException - */ - public String[] filterVariables(String regexp) throws FMUJNIException { - try { - - return filterVariables_(getModelID(), regexp + "|time"); - - } catch (UnsatisfiedLinkError err) { - throw new FMUJNIException(UNSATISFIED_LINK); - } catch (Exception e) { - throw new FMUJNIException(e.getMessage()); - } - } - - private native String[] filterVariables_(String id, String regexp); - - /** - * Get the last error message - * @return Last error message - */ - public String getLastErrorMessage() throws FMUJNIException { - try { - - return getLastErrorMessage_(getModelID()); - - } catch (UnsatisfiedLinkError err) { - throw new FMUJNIException(UNSATISFIED_LINK); - } catch (Exception e) { - throw new FMUJNIException(e.getMessage()); - } - } - - private native String getLastErrorMessage_(String id); - - /** - * Get a real (double) value for variable - * @param name Name of the variable - * @return value - * @throws FMUJNIException - */ - public double getRealValue(String name) throws FMUJNIException { - try { - return getRealValue_(getModelID(), name); - } catch (UnsatisfiedLinkError err) { - throw new FMUJNIException(UNSATISFIED_LINK); - } catch (Exception e) { - throw new FMUJNIException(e.getMessage()); - } - } - - private native double getRealValue_(String id, String name); - - - private FileChannel channel; - private FileLock lock; - - private boolean lockFMUDirectory() { - - try { - // Get a file channel for the lock file - File lockFile = new File(TEMP_FMU_DIRECTORY, LOCK_FILE_NAME); - if(!lockFile.isFile()) - lockFile.createNewFile(); - - channel = new RandomAccessFile(lockFile, "rw").getChannel(); - - // Use the file channel to create a lock on the file. - // This method blocks until it can retrieve the lock. - lock = channel.lock(); - - // // Try acquiring the lock without blocking. This method returns - // // null or throws an exception if the file is already locked. - // try { - // lock = channel.tryLock(); - // } catch (OverlappingFileLockException e) { - // // File is already locked in this thread or virtual machine - // } - } catch (IOException e) { - return false; - } - - return true; - } - - private boolean unlockFMUDirectory() { - try { - // Release the lock - if(lock != null) - lock.release(); - - // Close the file - if(channel != null) - channel.close(); - } catch (IOException e) { - return false; - } - return true; - } - - private boolean removeFMUDirectoryContents() { - // Remove contents - try { - File tempDir = new File(TEMP_FMU_DIRECTORY); - FileUtils.deleteAll(tempDir); - tempDir.delete(); - } catch (IOException e) { - return false; - } - return true; - } -} diff --git a/org.simantics.modelica/src/org/simantics/modelica/fmi/FMUJNIException.java b/org.simantics.modelica/src/org/simantics/modelica/fmi/FMUJNIException.java deleted file mode 100644 index 6308f73a..00000000 --- a/org.simantics.modelica/src/org/simantics/modelica/fmi/FMUJNIException.java +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2012 Association for Decentralized Information Management in - * Industry THTH ry. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * VTT Technical Research Centre of Finland - initial API and implementation - *******************************************************************************/ -package org.simantics.modelica.fmi; - -/** - * Exception thrown when native fmu calls fail - * @author Teemu Lempinen - * - */ -public class FMUJNIException extends Exception { - private static final long serialVersionUID = -7164064752664568008L; - - public FMUJNIException(String message) { - super(message); - } -} diff --git a/org.simantics.modelica/src/org_simantics_modelica_fmi_FMUControlJNI.h b/org.simantics.modelica/src/org_simantics_modelica_fmi_FMUControlJNI.h deleted file mode 100644 index 397d6383..00000000 --- a/org.simantics.modelica/src/org_simantics_modelica_fmi_FMUControlJNI.h +++ /dev/null @@ -1,125 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class org_simantics_modelica_fmi_FMUControlJNI */ - -#ifndef _Included_org_simantics_modelica_fmi_FMUControlJNI -#define _Included_org_simantics_modelica_fmi_FMUControlJNI -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: loadFMUFile_ - * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I - */ -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_loadFMUFile_1 - (JNIEnv *, jobject, jstring, jstring, jstring); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: setStepLength_ - * Signature: (Ljava/lang/String;D)I - */ -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_setStepLength_1 - (JNIEnv *, jobject, jstring, jdouble); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: initializeSimulation_ - * Signature: (Ljava/lang/String;)I - */ -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_initializeSimulation_1 - (JNIEnv *, jobject, jstring); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: subscribe_ - * Signature: (Ljava/lang/String;[Ljava/lang/String;I)I - */ -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_subscribe_1 - (JNIEnv *, jobject, jstring, jobjectArray, jint); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: setRealValue_ - * Signature: (Ljava/lang/String;Ljava/lang/String;D)I - */ -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_setRealValue_1 - (JNIEnv *, jobject, jstring, jstring, jdouble); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: setIntegerValue_ - * Signature: (Ljava/lang/String;Ljava/lang/String;I)I - */ -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_setIntegerValue_1 - (JNIEnv *, jobject, jstring, jstring, jint); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: setBooleanValue_ - * Signature: (Ljava/lang/String;Ljava/lang/String;Z)I - */ -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_setBooleanValue_1 - (JNIEnv *, jobject, jstring, jstring, jboolean); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: simulateStep_ - * Signature: (Ljava/lang/String;)I - */ -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_simulateStep_1 - (JNIEnv *, jobject, jstring); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: getSubscribedResults_ - * Signature: (Ljava/lang/String;[D)[D - */ -JNIEXPORT jdoubleArray JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_getSubscribedResults_1 - (JNIEnv *, jobject, jstring, jdoubleArray); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: unloadFMU_ - * Signature: (Ljava/lang/String;)I - */ -JNIEXPORT jint JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_unloadFMU_1 - (JNIEnv *, jobject, jstring); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: getTime_ - * Signature: (Ljava/lang/String;)D - */ -JNIEXPORT jdouble JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_getTime_1 - (JNIEnv *, jobject, jstring); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: getAllVariables_ - * Signature: (Ljava/lang/String;)[Ljava/lang/String; - */ -JNIEXPORT jobjectArray JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_getAllVariables_1 - (JNIEnv *, jobject, jstring); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: getLastErrorMessage_ - * Signature: (Ljava/lang/String;)Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_getLastErrorMessage_1 - (JNIEnv *, jobject, jstring); - -/* - * Class: org_simantics_modelica_fmi_FMUControlJNI - * Method: getRealValue_ - * Signature: (Ljava/lang/String;Ljava/lang/String;)D - */ -JNIEXPORT jdouble JNICALL Java_org_simantics_modelica_fmi_FMUControlJNI_getRealValue_1 - (JNIEnv *, jobject, jstring, jstring); - -#ifdef __cplusplus -} -#endif -#endif