Zip: complete merge to 1.4.2

This commit is contained in:
Marian Krivos
2011-09-14 15:41:51 +00:00
parent 7e5c3a13d6
commit 9b3117e6c5
41 changed files with 5172 additions and 1845 deletions

60
Zip/Zip_vs100.sln Normal file
View File

@@ -0,0 +1,60 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Zip", "Zip_vs100.vcxproj", "{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs100.vcxproj", "{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}"
ProjectSection(ProjectDependencies) = postProject
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61} = {4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|Win32 = debug_shared|Win32
release_shared|Win32 = release_shared|Win32
debug_static_mt|Win32 = debug_static_mt|Win32
release_static_mt|Win32 = release_static_mt|Win32
debug_static_md|Win32 = debug_static_md|Win32
release_static_md|Win32 = release_static_md|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.debug_shared|Win32.Build.0 = debug_shared|Win32
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.release_shared|Win32.ActiveCfg = release_shared|Win32
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.release_shared|Win32.Build.0 = release_shared|Win32
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.release_shared|Win32.Deploy.0 = release_shared|Win32
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.release_static_md|Win32.Build.0 = release_static_md|Win32
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.debug_shared|Win32.Build.0 = debug_shared|Win32
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.release_shared|Win32.ActiveCfg = release_shared|Win32
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.release_shared|Win32.Build.0 = release_shared|Win32
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.release_shared|Win32.Deploy.0 = release_shared|Win32
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.release_static_md|Win32.Build.0 = release_static_md|Win32
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

320
Zip/Zip_vs100.vcxproj Normal file
View File

@@ -0,0 +1,320 @@
<?xml version="1.0" encoding="UTF-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|Win32">
<Configuration>debug_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_md|Win32">
<Configuration>debug_static_md</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_mt|Win32">
<Configuration>debug_static_mt</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|Win32">
<Configuration>release_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_md|Win32">
<Configuration>release_static_md</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_mt|Win32">
<Configuration>release_static_mt</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>Zip</ProjectName>
<ProjectGuid>{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}</ProjectGuid>
<RootNamespace>Zip</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">..\bin\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">..\bin\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">false</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;">..\lib\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;">obj\$(Configuration)\</IntDir>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;">..\lib\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;">obj\$(Configuration)\</IntDir>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;">..\lib\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;">obj\$(Configuration)\</IntDir>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;">..\lib\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;">obj\$(Configuration)\</IntDir>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">PocoZipd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;">PocoZipmdd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;">PocoZipmtd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">PocoZip</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;">PocoZipmd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;">PocoZipmt</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;Zip_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>..\bin\PocoZipd.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>..\bin\PocoZipd.pdb</ProgramDatabaseFile>
<AdditionalLibraryDirectories>..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\lib\PocoZipd.lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;Zip_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>..\bin\PocoZip.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>false</GenerateDebugInformation>
<AdditionalLibraryDirectories>..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<ImportLibrary>..\lib\PocoZip.lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<ProgramDataBaseFileName>..\lib\PocoZipmtd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Lib>
<OutputFile>..\lib\PocoZipmtd.lib</OutputFile>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Lib>
<OutputFile>..\lib\PocoZipmt.lib</OutputFile>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<ProgramDataBaseFileName>..\lib\PocoZipmdd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Lib>
<OutputFile>..\lib\PocoZipmdd.lib</OutputFile>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<ProgramDataBaseFileName>..\lib\PocoZipmd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Lib>
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>..\lib\PocoZipmd.lib</OutputFile>
</Lib>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="include\Poco\Zip\AutoDetectStream.h"/>
<ClInclude Include="include\Poco\Zip\Compress.h"/>
<ClInclude Include="include\Poco\Zip\Decompress.h"/>
<ClInclude Include="include\Poco\Zip\ParseCallback.h"/>
<ClInclude Include="include\Poco\Zip\PartialStream.h"/>
<ClInclude Include="include\Poco\Zip\SkipCallback.h"/>
<ClInclude Include="include\Poco\Zip\Zip.h"/>
<ClInclude Include="include\Poco\Zip\ZipArchive.h"/>
<ClInclude Include="include\Poco\Zip\ZipArchiveInfo.h"/>
<ClInclude Include="include\Poco\Zip\ZipCommon.h"/>
<ClInclude Include="include\Poco\Zip\ZipDataInfo.h"/>
<ClInclude Include="include\Poco\Zip\ZipException.h"/>
<ClInclude Include="include\Poco\Zip\ZipFileInfo.h"/>
<ClInclude Include="include\Poco\Zip\ZipLocalFileHeader.h"/>
<ClInclude Include="include\Poco\Zip\ZipStream.h"/>
<ClInclude Include="include\Poco\Zip\ZipUtil.h"/>
<ClInclude Include="include\Poco\Zip\Add.h"/>
<ClInclude Include="include\Poco\Zip\Delete.h"/>
<ClInclude Include="include\Poco\Zip\Keep.h"/>
<ClInclude Include="include\Poco\Zip\Rename.h"/>
<ClInclude Include="include\Poco\Zip\Replace.h"/>
<ClInclude Include="include\Poco\Zip\ZipManipulator.h"/>
<ClInclude Include="include\Poco\Zip\ZipOperation.h"/>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\AutoDetectStream.cpp"/>
<ClCompile Include="src\Compress.cpp"/>
<ClCompile Include="src\Decompress.cpp"/>
<ClCompile Include="src\ParseCallback.cpp"/>
<ClCompile Include="src\PartialStream.cpp"/>
<ClCompile Include="src\SkipCallback.cpp"/>
<ClCompile Include="src\ZipArchive.cpp"/>
<ClCompile Include="src\ZipArchiveInfo.cpp"/>
<ClCompile Include="src\ZipCommon.cpp"/>
<ClCompile Include="src\ZipDataInfo.cpp"/>
<ClCompile Include="src\ZipException.cpp"/>
<ClCompile Include="src\ZipFileInfo.cpp"/>
<ClCompile Include="src\ZipLocalFileHeader.cpp"/>
<ClCompile Include="src\ZipStream.cpp"/>
<ClCompile Include="src\ZipUtil.cpp"/>
<ClCompile Include="src\Add.cpp"/>
<ClCompile Include="src\Delete.cpp"/>
<ClCompile Include="src\Keep.cpp"/>
<ClCompile Include="src\Rename.cpp"/>
<ClCompile Include="src\Replace.cpp"/>
<ClCompile Include="src\ZipManipulator.cpp"/>
<ClCompile Include="src\ZipOperation.cpp"/>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@@ -0,0 +1,162 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Zip">
<UniqueIdentifier>{72b79442-4059-42d3-9334-c07b4eb1fc18}</UniqueIdentifier>
</Filter>
<Filter Include="Zip\Header Files">
<UniqueIdentifier>{01639961-1cec-4552-b301-1a177407d9e6}</UniqueIdentifier>
</Filter>
<Filter Include="Zip\Source Files">
<UniqueIdentifier>{d088345d-4cd7-4b16-8490-089f3ee795c1}</UniqueIdentifier>
</Filter>
<Filter Include="Manipulation">
<UniqueIdentifier>{50c24850-f52e-4d0a-901c-24231f2cb224}</UniqueIdentifier>
</Filter>
<Filter Include="Manipulation\Header Files">
<UniqueIdentifier>{c420c306-0c1f-468a-8f16-0ceb7170e4f3}</UniqueIdentifier>
</Filter>
<Filter Include="Manipulation\Source Files">
<UniqueIdentifier>{2b1368e4-2014-4fcb-b15d-090da360d21c}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\Poco\Zip\AutoDetectStream.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\Compress.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\Decompress.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ParseCallback.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\PartialStream.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\SkipCallback.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\Zip.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ZipArchive.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ZipArchiveInfo.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ZipCommon.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ZipDataInfo.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ZipException.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ZipFileInfo.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ZipLocalFileHeader.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ZipStream.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ZipUtil.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\Add.h">
<Filter>Manipulation\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\Delete.h">
<Filter>Manipulation\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\Keep.h">
<Filter>Manipulation\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\Rename.h">
<Filter>Manipulation\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\Replace.h">
<Filter>Manipulation\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ZipManipulator.h">
<Filter>Manipulation\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ZipOperation.h">
<Filter>Manipulation\Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\AutoDetectStream.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Compress.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Decompress.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ParseCallback.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\PartialStream.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\SkipCallback.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipArchive.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipArchiveInfo.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipCommon.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipDataInfo.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipException.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipFileInfo.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipLocalFileHeader.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipStream.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipUtil.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Add.cpp">
<Filter>Manipulation\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Delete.cpp">
<Filter>Manipulation\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Keep.cpp">
<Filter>Manipulation\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Rename.cpp">
<Filter>Manipulation\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Replace.cpp">
<Filter>Manipulation\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipManipulator.cpp">
<Filter>Manipulation\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipOperation.cpp">
<Filter>Manipulation\Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>

60
Zip/Zip_x64_vs100.sln Normal file
View File

@@ -0,0 +1,60 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Zip", "Zip_x64_vs100.vcxproj", "{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_x64_vs100.vcxproj", "{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}"
ProjectSection(ProjectDependencies) = postProject
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61} = {4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|x64 = debug_shared|x64
release_shared|x64 = release_shared|x64
debug_static_mt|x64 = debug_static_mt|x64
release_static_mt|x64 = release_static_mt|x64
debug_static_md|x64 = debug_static_md|x64
release_static_md|x64 = release_static_md|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.debug_shared|x64.ActiveCfg = debug_shared|x64
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.debug_shared|x64.Build.0 = debug_shared|x64
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.debug_shared|x64.Deploy.0 = debug_shared|x64
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.release_shared|x64.ActiveCfg = release_shared|x64
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.release_shared|x64.Build.0 = release_shared|x64
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.release_shared|x64.Deploy.0 = release_shared|x64
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.release_static_mt|x64.Build.0 = release_static_mt|x64
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.debug_static_md|x64.Build.0 = debug_static_md|x64
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.release_static_md|x64.ActiveCfg = release_static_md|x64
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.release_static_md|x64.Build.0 = release_static_md|x64
{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}.release_static_md|x64.Deploy.0 = release_static_md|x64
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.debug_shared|x64.ActiveCfg = debug_shared|x64
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.debug_shared|x64.Build.0 = debug_shared|x64
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.debug_shared|x64.Deploy.0 = debug_shared|x64
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.release_shared|x64.ActiveCfg = release_shared|x64
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.release_shared|x64.Build.0 = release_shared|x64
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.release_shared|x64.Deploy.0 = release_shared|x64
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.release_static_mt|x64.Build.0 = release_static_mt|x64
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.debug_static_md|x64.Build.0 = debug_static_md|x64
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.release_static_md|x64.ActiveCfg = release_static_md|x64
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.release_static_md|x64.Build.0 = release_static_md|x64
{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}.release_static_md|x64.Deploy.0 = release_static_md|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

318
Zip/Zip_x64_vs100.vcxproj Normal file
View File

@@ -0,0 +1,318 @@
<?xml version="1.0" encoding="UTF-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|x64">
<Configuration>debug_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_md|x64">
<Configuration>debug_static_md</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_mt|x64">
<Configuration>debug_static_mt</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|x64">
<Configuration>release_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_md|x64">
<Configuration>release_static_md</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_mt|x64">
<Configuration>release_static_mt</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>Zip</ProjectName>
<ProjectGuid>{4AC75EAD-BFCF-41E6-AB1F-0DA203CC7C61}</ProjectGuid>
<RootNamespace>Zip</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">..\bin64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">..\bin64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">false</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;">..\lib64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;">obj64\$(Configuration)\</IntDir>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;">..\lib64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;">obj64\$(Configuration)\</IntDir>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;">..\lib64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;">obj64\$(Configuration)\</IntDir>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;">..\lib64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;">obj64\$(Configuration)\</IntDir>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">PocoZip64d</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;">PocoZipmdd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;">PocoZipmtd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">PocoZip64</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;">PocoZipmd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;">PocoZipmt</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;Zip_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>..\bin64\PocoZip64d.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>..\bin64\PocoZip64d.pdb</ProgramDatabaseFile>
<AdditionalLibraryDirectories>..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\lib64\PocoZipd.lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;Zip_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>..\bin64\PocoZip64.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>false</GenerateDebugInformation>
<AdditionalLibraryDirectories>..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<ImportLibrary>..\lib64\PocoZip.lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<ProgramDataBaseFileName>..\lib64\PocoZipmtd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Lib>
<OutputFile>..\lib64\PocoZipmtd.lib</OutputFile>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Lib>
<OutputFile>..\lib64\PocoZipmt.lib</OutputFile>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<ProgramDataBaseFileName>..\lib64\PocoZipmdd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Lib>
<OutputFile>..\lib64\PocoZipmdd.lib</OutputFile>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4244;4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Lib>
<OutputFile>..\lib64\PocoZipmd.lib</OutputFile>
</Lib>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="include\Poco\Zip\AutoDetectStream.h"/>
<ClInclude Include="include\Poco\Zip\Compress.h"/>
<ClInclude Include="include\Poco\Zip\Decompress.h"/>
<ClInclude Include="include\Poco\Zip\ParseCallback.h"/>
<ClInclude Include="include\Poco\Zip\PartialStream.h"/>
<ClInclude Include="include\Poco\Zip\SkipCallback.h"/>
<ClInclude Include="include\Poco\Zip\Zip.h"/>
<ClInclude Include="include\Poco\Zip\ZipArchive.h"/>
<ClInclude Include="include\Poco\Zip\ZipArchiveInfo.h"/>
<ClInclude Include="include\Poco\Zip\ZipCommon.h"/>
<ClInclude Include="include\Poco\Zip\ZipDataInfo.h"/>
<ClInclude Include="include\Poco\Zip\ZipException.h"/>
<ClInclude Include="include\Poco\Zip\ZipFileInfo.h"/>
<ClInclude Include="include\Poco\Zip\ZipLocalFileHeader.h"/>
<ClInclude Include="include\Poco\Zip\ZipStream.h"/>
<ClInclude Include="include\Poco\Zip\ZipUtil.h"/>
<ClInclude Include="include\Poco\Zip\Add.h"/>
<ClInclude Include="include\Poco\Zip\Delete.h"/>
<ClInclude Include="include\Poco\Zip\Keep.h"/>
<ClInclude Include="include\Poco\Zip\Rename.h"/>
<ClInclude Include="include\Poco\Zip\Replace.h"/>
<ClInclude Include="include\Poco\Zip\ZipManipulator.h"/>
<ClInclude Include="include\Poco\Zip\ZipOperation.h"/>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\AutoDetectStream.cpp"/>
<ClCompile Include="src\Compress.cpp"/>
<ClCompile Include="src\Decompress.cpp"/>
<ClCompile Include="src\ParseCallback.cpp"/>
<ClCompile Include="src\PartialStream.cpp"/>
<ClCompile Include="src\SkipCallback.cpp"/>
<ClCompile Include="src\ZipArchive.cpp"/>
<ClCompile Include="src\ZipArchiveInfo.cpp"/>
<ClCompile Include="src\ZipCommon.cpp"/>
<ClCompile Include="src\ZipDataInfo.cpp"/>
<ClCompile Include="src\ZipException.cpp"/>
<ClCompile Include="src\ZipFileInfo.cpp"/>
<ClCompile Include="src\ZipLocalFileHeader.cpp"/>
<ClCompile Include="src\ZipStream.cpp"/>
<ClCompile Include="src\ZipUtil.cpp"/>
<ClCompile Include="src\Add.cpp"/>
<ClCompile Include="src\Delete.cpp"/>
<ClCompile Include="src\Keep.cpp"/>
<ClCompile Include="src\Rename.cpp"/>
<ClCompile Include="src\Replace.cpp"/>
<ClCompile Include="src\ZipManipulator.cpp"/>
<ClCompile Include="src\ZipOperation.cpp"/>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@@ -0,0 +1,162 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Zip">
<UniqueIdentifier>{8416403f-2a24-4bf9-81a5-a1fc61aa3d34}</UniqueIdentifier>
</Filter>
<Filter Include="Zip\Header Files">
<UniqueIdentifier>{457dc6eb-138d-4c75-b775-55355829b824}</UniqueIdentifier>
</Filter>
<Filter Include="Zip\Source Files">
<UniqueIdentifier>{1fd7c556-beac-4dc2-8462-95b0821de1d9}</UniqueIdentifier>
</Filter>
<Filter Include="Manipulation">
<UniqueIdentifier>{f3fa315b-4b2d-4bf9-8af5-b88c7818fe0b}</UniqueIdentifier>
</Filter>
<Filter Include="Manipulation\Header Files">
<UniqueIdentifier>{0d8436f2-516d-436d-ad80-5cd91169bea5}</UniqueIdentifier>
</Filter>
<Filter Include="Manipulation\Source Files">
<UniqueIdentifier>{71fd6be1-d2c1-4e9d-b19a-0eb224dd5deb}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\Poco\Zip\AutoDetectStream.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\Compress.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\Decompress.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ParseCallback.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\PartialStream.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\SkipCallback.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\Zip.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ZipArchive.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ZipArchiveInfo.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ZipCommon.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ZipDataInfo.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ZipException.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ZipFileInfo.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ZipLocalFileHeader.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ZipStream.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ZipUtil.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\Add.h">
<Filter>Manipulation\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\Delete.h">
<Filter>Manipulation\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\Keep.h">
<Filter>Manipulation\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\Rename.h">
<Filter>Manipulation\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\Replace.h">
<Filter>Manipulation\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ZipManipulator.h">
<Filter>Manipulation\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Zip\ZipOperation.h">
<Filter>Manipulation\Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\AutoDetectStream.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Compress.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Decompress.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ParseCallback.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\PartialStream.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\SkipCallback.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipArchive.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipArchiveInfo.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipCommon.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipDataInfo.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipException.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipFileInfo.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipLocalFileHeader.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipStream.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipUtil.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Add.cpp">
<Filter>Manipulation\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Delete.cpp">
<Filter>Manipulation\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Keep.cpp">
<Filter>Manipulation\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Rename.cpp">
<Filter>Manipulation\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Replace.cpp">
<Filter>Manipulation\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipManipulator.cpp">
<Filter>Manipulation\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipOperation.cpp">
<Filter>Manipulation\Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>

View File

@@ -1,114 +1,136 @@
// //
// Compress.h // Compress.h
// //
// $Id: //poco/Main/Zip/include/Poco/Zip/Compress.h#6 $ // $Id: //poco/Main/Zip/include/Poco/Zip/Compress.h#6 $
// //
// Library: Zip // Library: Zip
// Package: Zip // Package: Zip
// Module: Compress // Module: Compress
// //
// Definition of the Compress class. // Definition of the Compress class.
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
// Permission is hereby granted, free of charge, to any person or organization // Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by // obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute, // this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the // 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 // Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following: // do so, all subject to the following:
// //
// The copyright notices in the Software and this entire statement, including // The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer, // 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 // 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 // all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by // works are solely in the form of machine-executable object code generated by
// a source language processor. // a source language processor.
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE // SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, // 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 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
// //
#ifndef Zip_Compress_INCLUDED #ifndef Zip_Compress_INCLUDED
#define Zip_Compress_INCLUDED #define Zip_Compress_INCLUDED
#include "Poco/Zip/Zip.h" #include "Poco/Zip/Zip.h"
#include "Poco/Zip/ZipArchive.h" #include "Poco/Zip/ZipArchive.h"
#include "Poco/FIFOEvent.h" #include "Poco/FIFOEvent.h"
#include <istream> #include <istream>
#include <ostream> #include <ostream>
namespace Poco { namespace Poco {
namespace Zip { namespace Zip {
class Zip_API Compress class Zip_API Compress
/// Compresses a directory or files as zip. /// Compresses a directory or files as zip.
{ {
public: public:
Poco::FIFOEvent<const ZipLocalFileHeader> EDone; Poco::FIFOEvent<const ZipLocalFileHeader> EDone;
Compress(std::ostream& out, bool seekableOut); Compress(std::ostream& out, bool seekableOut);
/// seekableOut determines how we write the zip, setting it to true is recommended for local files (smaller zip file), /// seekableOut determines how we write the zip, setting it to true is recommended for local files (smaller zip file),
/// if you are compressing directly to a network, you MUST set it to false /// if you are compressing directly to a network, you MUST set it to false
~Compress(); ~Compress();
void addFile(std::istream& input, const Poco::DateTime& lastModifiedAt, const Poco::Path& fileName, ZipCommon::CompressionMethod cm = ZipCommon::CM_DEFLATE, ZipCommon::CompressionLevel cl = ZipCommon::CL_MAXIMUM); void addFile(std::istream& input, const Poco::DateTime& lastModifiedAt, const Poco::Path& fileName, ZipCommon::CompressionMethod cm = ZipCommon::CM_DEFLATE, ZipCommon::CompressionLevel cl = ZipCommon::CL_MAXIMUM);
/// Adds a single file to the Zip File. fileName must not be a directory name. /// Adds a single file to the Zip File. fileName must not be a directory name.
void addFile(const Poco::Path& file, const Poco::Path& fileName, ZipCommon::CompressionMethod cm = ZipCommon::CM_DEFLATE, ZipCommon::CompressionLevel cl = ZipCommon::CL_MAXIMUM); void addFile(const Poco::Path& file, const Poco::Path& fileName, ZipCommon::CompressionMethod cm = ZipCommon::CM_DEFLATE, ZipCommon::CompressionLevel cl = ZipCommon::CL_MAXIMUM);
/// Adds a single file to the Zip File. fileName must not be a directory name. The file must exist physically! /// Adds a single file to the Zip File. fileName must not be a directory name. The file must exist physically!
void addDirectory(const Poco::Path& entryName, const Poco::DateTime& lastModifiedAt); void addDirectory(const Poco::Path& entryName, const Poco::DateTime& lastModifiedAt);
/// Adds a directory entry excluding all children to the Zip file, entryName must not be empty. /// Adds a directory entry excluding all children to the Zip file, entryName must not be empty.
void addRecursive(const Poco::Path& entry, ZipCommon::CompressionLevel cl = ZipCommon::CL_MAXIMUM, bool excludeRoot = true, const Poco::Path& name = Poco::Path()); void addRecursive(const Poco::Path& entry, ZipCommon::CompressionLevel cl = ZipCommon::CL_MAXIMUM, bool excludeRoot = true, const Poco::Path& name = Poco::Path());
/// Adds a directory entry recursively to the zip file, set excludeRoot to false to exclude the parent directory. /// Adds a directory entry recursively to the zip file, set excludeRoot to false to exclude the parent directory.
/// If excludeRoot is true you can specify an empty name to add the files as relative files /// If excludeRoot is true you can specify an empty name to add the files as relative files
ZipArchive close(); void setZipComment(const std::string& comment);
/// Finalizes the ZipArchive, closes it. /// Sets the Zip file comment.
private: const std::string& getZipComment() const;
enum /// Returns the Zip file comment.
{
COMPRESS_CHUNK_SIZE = 8192 ZipArchive close();
}; /// Finalizes the ZipArchive, closes it.
Compress(const Compress&); private:
Compress& operator=(const Compress&); enum
{
void addEntry(std::istream& input, const Poco::DateTime& lastModifiedAt, const Poco::Path& fileName, ZipCommon::CompressionMethod cm = ZipCommon::CM_DEFLATE, ZipCommon::CompressionLevel cl = ZipCommon::CL_MAXIMUM); COMPRESS_CHUNK_SIZE = 8192
/// Either adds a file or a single directory entry (excluding subchildren) to the Zip file. the compression level will be ignored };
/// for directories.
Compress(const Compress&);
void addFileRaw(std::istream& in, const ZipLocalFileHeader& hdr, const Poco::Path& fileName); Compress& operator=(const Compress&);
/// copys an already compressed ZipEntry from in
void addEntry(std::istream& input, const Poco::DateTime& lastModifiedAt, const Poco::Path& fileName, ZipCommon::CompressionMethod cm = ZipCommon::CM_DEFLATE, ZipCommon::CompressionLevel cl = ZipCommon::CL_MAXIMUM);
private: /// Either adds a file or a single directory entry (excluding subchildren) to the Zip file. the compression level will be ignored
std::ostream& _out; /// for directories.
bool _seekableOut;
ZipArchive::FileHeaders _files; void addFileRaw(std::istream& in, const ZipLocalFileHeader& hdr, const Poco::Path& fileName);
ZipArchive::FileInfos _infos; /// copys an already compressed ZipEntry from in
ZipArchive::DirectoryInfos _dirs;
Poco::UInt32 _offset; private:
std::ostream& _out;
friend class Keep; bool _seekableOut;
friend class Rename; ZipArchive::FileHeaders _files;
}; ZipArchive::FileInfos _infos;
ZipArchive::DirectoryInfos _dirs;
Poco::UInt32 _offset;
} } // namespace Poco::Zip std::string _comment;
friend class Keep;
#endif // Zip_Compress_INCLUDED friend class Rename;
};
//
// inlines
//
inline void Compress::setZipComment(const std::string& comment)
{
_comment = comment;
}
inline const std::string& Compress::getZipComment() const
{
return _comment;
}
} } // namespace Poco::Zip
#endif // Zip_Compress_INCLUDED

View File

@@ -1,92 +1,80 @@
// //
// Zip.h // Zip.h
// //
// $Id: //poco/Main/Zip/include/Poco/Zip/Zip.h#5 $ // $Id: //poco/Main/Zip/include/Poco/Zip/Zip.h#5 $
// //
// Library: Zip // Library: Zip
// Package: Zip // Package: Zip
// Module: Zip // Module: Zip
// //
// Basic definitions for the Poco Zip library. // Basic definitions for the Poco Zip library.
// This file must be the first file included by every other Zip // This file must be the first file included by every other Zip
// header file. // header file.
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
// Permission is hereby granted, free of charge, to any person or organization // Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by // obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute, // this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the // 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 // Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following: // do so, all subject to the following:
// //
// The copyright notices in the Software and this entire statement, including // The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer, // 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 // 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 // all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by // works are solely in the form of machine-executable object code generated by
// a source language processor. // a source language processor.
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE // SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, // 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 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
// //
#ifndef Zip_Zip_INCLUDED #ifndef Zip_Zip_INCLUDED
#define Zip_Zip_INCLUDED #define Zip_Zip_INCLUDED
#include "Poco/Foundation.h" #include "Poco/Foundation.h"
// //
// The following block is the standard way of creating macros which make exporting // The following block is the standard way of creating macros which make exporting
// from a DLL simpler. All files within this DLL are compiled with the Zip_EXPORTS // from a DLL simpler. All files within this DLL are compiled with the Zip_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project // symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see // that uses this DLL. This way any other project whose source files include this file see
// Zip_API functions as being imported from a DLL, wheras this DLL sees symbols // Zip_API functions as being imported from a DLL, wheras this DLL sees symbols
// defined with this macro as being exported. // defined with this macro as being exported.
// //
#if defined(_WIN32) && defined(POCO_DLL) #if defined(_WIN32) && defined(POCO_DLL)
#if defined(Zip_EXPORTS) #if defined(Zip_EXPORTS)
#define Zip_API __declspec(dllexport) #define Zip_API __declspec(dllexport)
#else #else
#define Zip_API __declspec(dllimport) #define Zip_API __declspec(dllimport)
#endif #endif
#endif #endif
#if !defined(Zip_API) #if !defined(Zip_API)
#define Zip_API #define Zip_API
#endif #endif
// //
// Automatically link Zip library. // Automatically link Zip library.
// //
#if defined(_MSC_VER) #if defined(_MSC_VER)
#if !defined(POCO_NO_AUTOMATIC_LIBS) && !defined(Zip_EXPORTS) #if !defined(POCO_NO_AUTOMATIC_LIBS) && !defined(Zip_EXPORTS)
#if defined(POCO_DLL) #pragma comment(lib, "PocoZip" POCO_LIB_SUFFIX)
#if defined(_DEBUG) #endif
#pragma comment(lib, "PocoZipd.lib") #endif
#else
#pragma comment(lib, "PocoZip.lib")
#endif #endif // Zip_Zip_INCLUDED
#else
#if defined(_DEBUG)
#pragma comment(lib, "PocoZipmtd.lib")
#else
#pragma comment(lib, "PocoZipmt.lib")
#endif
#endif
#endif
#endif
#endif // Zip_Zip_INCLUDED

View File

@@ -1,136 +1,138 @@
// //
// ZipArchive.h // ZipArchive.h
// //
// $Id: //poco/Main/Zip/include/Poco/Zip/ZipArchive.h#7 $ // $Id: //poco/Main/Zip/include/Poco/Zip/ZipArchive.h#7 $
// //
// Library: Zip // Library: Zip
// Package: Zip // Package: Zip
// Module: ZipArchive // Module: ZipArchive
// //
// Definition of the ZipArchive class. // Definition of the ZipArchive class.
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
// Permission is hereby granted, free of charge, to any person or organization // Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by // obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute, // this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the // 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 // Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following: // do so, all subject to the following:
// //
// The copyright notices in the Software and this entire statement, including // The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer, // 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 // 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 // all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by // works are solely in the form of machine-executable object code generated by
// a source language processor. // a source language processor.
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE // SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, // 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 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
// //
#ifndef Zip_ZipArchive_INCLUDED #ifndef Zip_ZipArchive_INCLUDED
#define Zip_ZipArchive_INCLUDED #define Zip_ZipArchive_INCLUDED
#include "Poco/Zip/Zip.h" #include "Poco/Zip/Zip.h"
#include "Poco/Zip/ZipLocalFileHeader.h" #include "Poco/Zip/ZipLocalFileHeader.h"
#include "Poco/Zip/ZipFileInfo.h" #include "Poco/Zip/ZipFileInfo.h"
#include "Poco/Zip/ZipArchiveInfo.h" #include "Poco/Zip/ZipArchiveInfo.h"
#include <istream> #include <istream>
#include <map> #include <map>
namespace Poco { namespace Poco {
namespace Zip { namespace Zip {
class ParseCallback; class ParseCallback;
class Compress; class Compress;
class Zip_API ZipArchive class Zip_API ZipArchive
/// A ZipArchive contains information on the content of a zip file /// A ZipArchive contains information on the content of a zip file
{ {
public: public:
typedef std::map<std::string, ZipLocalFileHeader> FileHeaders; typedef std::map<std::string, ZipLocalFileHeader> FileHeaders;
typedef std::map<std::string, ZipFileInfo> FileInfos; typedef std::map<std::string, ZipFileInfo> FileInfos;
typedef std::map<Poco::UInt16, ZipArchiveInfo> DirectoryInfos; typedef std::map<Poco::UInt16, ZipArchiveInfo> DirectoryInfos;
ZipArchive(std::istream& in); ZipArchive(std::istream& in);
/// Creates the ZipArchive from a file. Note that the in stream will be in state failed after the constructor is finished /// Creates the ZipArchive from a file. Note that the in stream will be in state failed after the constructor is finished
ZipArchive(std::istream& in, ParseCallback& callback); ZipArchive(std::istream& in, ParseCallback& callback);
/// Creates the ZipArchive from a file or network stream. Note that the in stream will be in state failed after the constructor is finished /// Creates the ZipArchive from a file or network stream. Note that the in stream will be in state failed after the constructor is finished
~ZipArchive(); ~ZipArchive();
/// Destroys the ZipArchive. /// Destroys the ZipArchive.
FileInfos::const_iterator fileInfoBegin() const; FileInfos::const_iterator fileInfoBegin() const;
FileInfos::const_iterator fileInfoEnd() const; FileInfos::const_iterator fileInfoEnd() const;
FileHeaders::const_iterator findHeader(const std::string& fileName) const; FileHeaders::const_iterator findHeader(const std::string& fileName) const;
FileHeaders::const_iterator headerBegin() const; FileHeaders::const_iterator headerBegin() const;
FileHeaders::const_iterator headerEnd() const; FileHeaders::const_iterator headerEnd() const;
private: const std::string& getZipComment() const;
void parse(std::istream& in, ParseCallback& pc);
private:
ZipArchive(const FileHeaders& entries, const FileInfos& infos, const DirectoryInfos& dirs ); void parse(std::istream& in, ParseCallback& pc);
private: ZipArchive(const FileHeaders& entries, const FileInfos& infos, const DirectoryInfos& dirs );
FileHeaders _entries;
/// Info generated by parsing the data block of the zip file private:
FileInfos _infos; FileHeaders _entries;
/// Info generated by parsing the directory block of the zip file /// Info generated by parsing the data block of the zip file
DirectoryInfos _disks; FileInfos _infos;
/// Stores directory info for all found disks /// Info generated by parsing the directory block of the zip file
DirectoryInfos _disks;
friend class Compress; /// Stores directory info for all found disks
};
friend class Compress;
};
inline ZipArchive::FileInfos::const_iterator ZipArchive::fileInfoBegin() const
{
return _infos.begin(); inline ZipArchive::FileInfos::const_iterator ZipArchive::fileInfoBegin() const
} {
return _infos.begin();
}
inline ZipArchive::FileInfos::const_iterator ZipArchive::fileInfoEnd() const
{
return _infos.end(); inline ZipArchive::FileInfos::const_iterator ZipArchive::fileInfoEnd() const
} {
return _infos.end();
}
inline ZipArchive::FileHeaders::const_iterator ZipArchive::findHeader(const std::string& fileName) const
{
return _entries.find(fileName); inline ZipArchive::FileHeaders::const_iterator ZipArchive::findHeader(const std::string& fileName) const
} {
return _entries.find(fileName);
}
inline ZipArchive::FileHeaders::const_iterator ZipArchive::headerBegin() const
{
return _entries.begin(); inline ZipArchive::FileHeaders::const_iterator ZipArchive::headerBegin() const
} {
return _entries.begin();
}
inline ZipArchive::FileHeaders::const_iterator ZipArchive::headerEnd() const
{
return _entries.end(); inline ZipArchive::FileHeaders::const_iterator ZipArchive::headerEnd() const
} {
return _entries.end();
}
} } // namespace Poco::Zip
} } // namespace Poco::Zip
#endif // Zip_ZipArchive_INCLUDED
#endif // Zip_ZipArchive_INCLUDED

View File

@@ -1,210 +1,213 @@
// //
// ZipArchiveInfo.h // ZipArchiveInfo.h
// //
// $Id: //poco/Main/Zip/include/Poco/Zip/ZipArchiveInfo.h#6 $ // $Id: //poco/Main/Zip/include/Poco/Zip/ZipArchiveInfo.h#6 $
// //
// Library: Zip // Library: Zip
// Package: Zip // Package: Zip
// Module: ZipArchiveInfo // Module: ZipArchiveInfo
// //
// Definition of the ZipArchiveInfo class. // Definition of the ZipArchiveInfo class.
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
// Permission is hereby granted, free of charge, to any person or organization // Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by // obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute, // this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the // 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 // Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following: // do so, all subject to the following:
// //
// The copyright notices in the Software and this entire statement, including // The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer, // 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 // 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 // all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by // works are solely in the form of machine-executable object code generated by
// a source language processor. // a source language processor.
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE // SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, // 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 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
// //
#ifndef Zip_ZipArchiveInfo_INCLUDED #ifndef Zip_ZipArchiveInfo_INCLUDED
#define Zip_ZipArchiveInfo_INCLUDED #define Zip_ZipArchiveInfo_INCLUDED
#include "Poco/Zip/Zip.h" #include "Poco/Zip/Zip.h"
#include "Poco/Zip/ZipCommon.h" #include "Poco/Zip/ZipCommon.h"
#include "Poco/Zip/ZipUtil.h" #include "Poco/Zip/ZipUtil.h"
namespace Poco { namespace Poco {
namespace Zip { namespace Zip {
class Zip_API ZipArchiveInfo class Zip_API ZipArchiveInfo
/// A ZipArchiveInfo stores central directory info /// A ZipArchiveInfo stores central directory info
{ {
public: public:
static const char HEADER[ZipCommon::HEADER_SIZE]; static const char HEADER[ZipCommon::HEADER_SIZE];
ZipArchiveInfo(); ZipArchiveInfo();
/// Default constructor, everything set to zero or empty /// Default constructor, everything set to zero or empty
ZipArchiveInfo(std::istream& in, bool assumeHeaderRead); ZipArchiveInfo(std::istream& in, bool assumeHeaderRead);
/// Creates the ZipArchiveInfo by parsing the input stream. /// Creates the ZipArchiveInfo by parsing the input stream.
/// If assumeHeaderRead is true we assume that the first 4 bytes were already read outside. /// If assumeHeaderRead is true we assume that the first 4 bytes were already read outside.
~ZipArchiveInfo(); ~ZipArchiveInfo();
/// Destroys the ZipArchiveInfo. /// Destroys the ZipArchiveInfo.
Poco::UInt16 getDiskNumber() const; Poco::UInt16 getDiskNumber() const;
/// Get the number of the disk where this header can be found /// Get the number of the disk where this header can be found
Poco::UInt16 getFirstDiskForDirectoryHeader() const; Poco::UInt16 getFirstDiskForDirectoryHeader() const;
/// Returns the number of the disk that contains the start of the directory header /// Returns the number of the disk that contains the start of the directory header
Poco::UInt16 getNumberOfEntries() const; Poco::UInt16 getNumberOfEntries() const;
/// Returns the number of entries on this disk /// Returns the number of entries on this disk
Poco::UInt16 getTotalNumberOfEntries() const; Poco::UInt16 getTotalNumberOfEntries() const;
/// Returns the total number of entries on all disks /// Returns the total number of entries on all disks
Poco::UInt32 getCentralDirectorySize() const; Poco::UInt32 getCentralDirectorySize() const;
/// Returns the size of the central directory in bytes /// Returns the size of the central directory in bytes
std::streamoff getHeaderOffset() const; std::streamoff getHeaderOffset() const;
/// Returns the offset of the header in relation to the begin of this disk /// Returns the offset of the header in relation to the begin of this disk
const std::string& getZipComment() const; const std::string& getZipComment() const;
/// Returns the (optional) Zip Comment /// Returns the (optional) Zip Comment
void setNumberOfEntries(Poco::UInt16 val); void setZipComment(const std::string& comment);
/// Returns the number of entries on this disk /// Sets the optional Zip comment.
void setTotalNumberOfEntries(Poco::UInt16 val); void setNumberOfEntries(Poco::UInt16 val);
/// Returns the total number of entries on all disks /// Returns the number of entries on this disk
void setCentralDirectorySize(Poco::UInt32 val); void setTotalNumberOfEntries(Poco::UInt16 val);
/// Returns the size of the central directory in bytes /// Returns the total number of entries on all disks
void setHeaderOffset(Poco::UInt32 val); void setCentralDirectorySize(Poco::UInt32 val);
/// Returns the size of the central directory in bytes
std::string createHeader() const;
/// Creates a header void setHeaderOffset(Poco::UInt32 val);
private: std::string createHeader() const;
void parse(std::istream& inp, bool assumeHeaderRead); /// Creates a header
Poco::UInt16 getZipCommentSize() const; private:
void parse(std::istream& inp, bool assumeHeaderRead);
private:
enum Poco::UInt16 getZipCommentSize() const;
{
HEADER_POS = 0, private:
NUMBEROFTHISDISK_POS = HEADER_POS + ZipCommon::HEADER_SIZE, enum
NUMBEROFTHISDISK_SIZE = 2, {
NUMBEROFCENTRALDIRDISK_POS = NUMBEROFTHISDISK_POS + NUMBEROFTHISDISK_SIZE, HEADER_POS = 0,
NUMBEROFCENTRALDIRDISK_SIZE = 2, NUMBEROFTHISDISK_POS = HEADER_POS + ZipCommon::HEADER_SIZE,
NUMENTRIESTHISDISK_POS = NUMBEROFCENTRALDIRDISK_POS + NUMBEROFCENTRALDIRDISK_SIZE, NUMBEROFTHISDISK_SIZE = 2,
NUMENTRIESTHISDISK_SIZE = 2, NUMBEROFCENTRALDIRDISK_POS = NUMBEROFTHISDISK_POS + NUMBEROFTHISDISK_SIZE,
TOTALNUMENTRIES_POS = NUMENTRIESTHISDISK_POS + NUMENTRIESTHISDISK_SIZE, NUMBEROFCENTRALDIRDISK_SIZE = 2,
TOTALNUMENTRIES_SIZE = 2, NUMENTRIESTHISDISK_POS = NUMBEROFCENTRALDIRDISK_POS + NUMBEROFCENTRALDIRDISK_SIZE,
CENTRALDIRSIZE_POS = TOTALNUMENTRIES_POS + TOTALNUMENTRIES_SIZE, NUMENTRIESTHISDISK_SIZE = 2,
CENTRALDIRSIZE_SIZE = 4, TOTALNUMENTRIES_POS = NUMENTRIESTHISDISK_POS + NUMENTRIESTHISDISK_SIZE,
CENTRALDIRSTARTOFFSET_POS = CENTRALDIRSIZE_POS + CENTRALDIRSIZE_SIZE, TOTALNUMENTRIES_SIZE = 2,
CENTRALDIRSTARTOFFSET_SIZE = 4, CENTRALDIRSIZE_POS = TOTALNUMENTRIES_POS + TOTALNUMENTRIES_SIZE,
ZIPCOMMENT_LENGTH_POS = CENTRALDIRSTARTOFFSET_POS + CENTRALDIRSTARTOFFSET_SIZE, CENTRALDIRSIZE_SIZE = 4,
ZIPCOMMENT_LENGTH_SIZE = 2, CENTRALDIRSTARTOFFSET_POS = CENTRALDIRSIZE_POS + CENTRALDIRSIZE_SIZE,
FULLHEADER_SIZE = 22 CENTRALDIRSTARTOFFSET_SIZE = 4,
}; ZIPCOMMENT_LENGTH_POS = CENTRALDIRSTARTOFFSET_POS + CENTRALDIRSTARTOFFSET_SIZE,
ZIPCOMMENT_LENGTH_SIZE = 2,
char _rawInfo[FULLHEADER_SIZE]; FULLHEADER_SIZE = 22
std::streamoff _startPos; };
std::string _comment;
}; char _rawInfo[FULLHEADER_SIZE];
std::streamoff _startPos;
std::string _comment;
inline Poco::UInt16 ZipArchiveInfo::getDiskNumber() const };
{
return ZipUtil::get16BitValue(_rawInfo, NUMBEROFTHISDISK_POS);
} inline Poco::UInt16 ZipArchiveInfo::getDiskNumber() const
{
return ZipUtil::get16BitValue(_rawInfo, NUMBEROFTHISDISK_POS);
inline Poco::UInt16 ZipArchiveInfo::getFirstDiskForDirectoryHeader() const }
{
return ZipUtil::get16BitValue(_rawInfo, NUMBEROFCENTRALDIRDISK_POS);
} inline Poco::UInt16 ZipArchiveInfo::getFirstDiskForDirectoryHeader() const
{
return ZipUtil::get16BitValue(_rawInfo, NUMBEROFCENTRALDIRDISK_POS);
inline Poco::UInt16 ZipArchiveInfo::getNumberOfEntries() const }
{
return ZipUtil::get16BitValue(_rawInfo, NUMENTRIESTHISDISK_POS);
} inline Poco::UInt16 ZipArchiveInfo::getNumberOfEntries() const
{
return ZipUtil::get16BitValue(_rawInfo, NUMENTRIESTHISDISK_POS);
inline Poco::UInt16 ZipArchiveInfo::getTotalNumberOfEntries() const }
{
return ZipUtil::get16BitValue(_rawInfo, TOTALNUMENTRIES_POS);
} inline Poco::UInt16 ZipArchiveInfo::getTotalNumberOfEntries() const
{
return ZipUtil::get16BitValue(_rawInfo, TOTALNUMENTRIES_POS);
inline Poco::UInt32 ZipArchiveInfo::getCentralDirectorySize() const }
{
return ZipUtil::get32BitValue(_rawInfo, CENTRALDIRSIZE_POS);
} inline Poco::UInt32 ZipArchiveInfo::getCentralDirectorySize() const
{
return ZipUtil::get32BitValue(_rawInfo, CENTRALDIRSIZE_POS);
inline std::streamoff ZipArchiveInfo::getHeaderOffset() const }
{
return _startPos;
} inline std::streamoff ZipArchiveInfo::getHeaderOffset() const
{
return _startPos;
inline Poco::UInt16 ZipArchiveInfo::getZipCommentSize() const }
{
return ZipUtil::get16BitValue(_rawInfo, ZIPCOMMENT_LENGTH_POS);
} inline Poco::UInt16 ZipArchiveInfo::getZipCommentSize() const
{
return ZipUtil::get16BitValue(_rawInfo, ZIPCOMMENT_LENGTH_POS);
inline const std::string& ZipArchiveInfo::getZipComment() const }
{
return _comment;
} inline const std::string& ZipArchiveInfo::getZipComment() const
{
return _comment;
inline void ZipArchiveInfo::setNumberOfEntries(Poco::UInt16 val) }
{
ZipUtil::set16BitValue(val, _rawInfo, NUMENTRIESTHISDISK_POS);
} inline void ZipArchiveInfo::setNumberOfEntries(Poco::UInt16 val)
{
ZipUtil::set16BitValue(val, _rawInfo, NUMENTRIESTHISDISK_POS);
inline void ZipArchiveInfo::setTotalNumberOfEntries(Poco::UInt16 val) }
{
ZipUtil::set16BitValue(val, _rawInfo, TOTALNUMENTRIES_POS);
} inline void ZipArchiveInfo::setTotalNumberOfEntries(Poco::UInt16 val)
{
ZipUtil::set16BitValue(val, _rawInfo, TOTALNUMENTRIES_POS);
inline void ZipArchiveInfo::setCentralDirectorySize(Poco::UInt32 val) }
{
ZipUtil::set32BitValue(val, _rawInfo, CENTRALDIRSIZE_POS);
} inline void ZipArchiveInfo::setCentralDirectorySize(Poco::UInt32 val)
{
ZipUtil::set32BitValue(val, _rawInfo, CENTRALDIRSIZE_POS);
inline void ZipArchiveInfo::setHeaderOffset(Poco::UInt32 val) }
{
ZipUtil::set32BitValue(val, _rawInfo, CENTRALDIRSTARTOFFSET_POS);
} inline void ZipArchiveInfo::setHeaderOffset(Poco::UInt32 val)
{
ZipUtil::set32BitValue(val, _rawInfo, CENTRALDIRSTARTOFFSET_POS);
} } // namespace Poco::Zip }
#endif // Zip_ZipArchiveInfo_INCLUDED } } // namespace Poco::Zip
#endif // Zip_ZipArchiveInfo_INCLUDED

View File

@@ -0,0 +1,57 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zip", "zip\zip_vs100.vcxproj", "{7F3AD0E5-A150-3AE7-9041-9086C45020C0}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unzip", "unzip\unzip_vs100.vcxproj", "{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|Win32 = debug_shared|Win32
release_shared|Win32 = release_shared|Win32
debug_static_mt|Win32 = debug_static_mt|Win32
release_static_mt|Win32 = release_static_mt|Win32
debug_static_md|Win32 = debug_static_md|Win32
release_static_md|Win32 = release_static_md|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.debug_shared|Win32.Build.0 = debug_shared|Win32
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.release_shared|Win32.ActiveCfg = release_shared|Win32
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.release_shared|Win32.Build.0 = release_shared|Win32
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.release_shared|Win32.Deploy.0 = release_shared|Win32
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.release_static_md|Win32.Build.0 = release_static_md|Win32
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.debug_shared|Win32.Build.0 = debug_shared|Win32
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.release_shared|Win32.ActiveCfg = release_shared|Win32
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.release_shared|Win32.Build.0 = release_shared|Win32
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.release_shared|Win32.Deploy.0 = release_shared|Win32
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.release_static_md|Win32.Build.0 = release_static_md|Win32
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,57 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zip", "zip\zip_x64_vs100.vcxproj", "{7F3AD0E5-A150-3AE7-9041-9086C45020C0}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unzip", "unzip\unzip_x64_vs100.vcxproj", "{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
debug_shared|x64 = debug_shared|x64
release_shared|x64 = release_shared|x64
debug_static_mt|x64 = debug_static_mt|x64
release_static_mt|x64 = release_static_mt|x64
debug_static_md|x64 = debug_static_md|x64
release_static_md|x64 = release_static_md|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.debug_shared|x64.ActiveCfg = debug_shared|x64
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.debug_shared|x64.Build.0 = debug_shared|x64
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.debug_shared|x64.Deploy.0 = debug_shared|x64
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.release_shared|x64.ActiveCfg = release_shared|x64
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.release_shared|x64.Build.0 = release_shared|x64
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.release_shared|x64.Deploy.0 = release_shared|x64
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.release_static_mt|x64.Build.0 = release_static_mt|x64
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.debug_static_md|x64.Build.0 = debug_static_md|x64
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.release_static_md|x64.ActiveCfg = release_static_md|x64
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.release_static_md|x64.Build.0 = release_static_md|x64
{7F3AD0E5-A150-3AE7-9041-9086C45020C0}.release_static_md|x64.Deploy.0 = release_static_md|x64
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.debug_shared|x64.ActiveCfg = debug_shared|x64
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.debug_shared|x64.Build.0 = debug_shared|x64
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.debug_shared|x64.Deploy.0 = debug_shared|x64
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.release_shared|x64.ActiveCfg = release_shared|x64
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.release_shared|x64.Build.0 = release_shared|x64
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.release_shared|x64.Deploy.0 = release_shared|x64
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.release_static_mt|x64.Build.0 = release_static_mt|x64
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.debug_static_md|x64.Build.0 = debug_static_md|x64
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.release_static_md|x64.ActiveCfg = release_static_md|x64
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.release_static_md|x64.Build.0 = release_static_md|x64
{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}.release_static_md|x64.Deploy.0 = release_static_md|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,299 @@
<?xml version="1.0" encoding="UTF-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|Win32">
<Configuration>debug_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_md|Win32">
<Configuration>debug_static_md</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_mt|Win32">
<Configuration>debug_static_mt</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|Win32">
<Configuration>release_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_md|Win32">
<Configuration>release_static_md</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_mt|Win32">
<Configuration>release_static_mt</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>unzip</ProjectName>
<ProjectGuid>{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}</ProjectGuid>
<RootNamespace>unzip</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">bin\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">bin\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">false</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;">bin\static_mt\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;">bin\static_mt\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;">false</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;">bin\static_md\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;">bin\static_md\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;">false</LinkIncremental>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">unzipd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;">unzipd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;">unzipd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">unzip</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;">unzip</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;">unzip</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\unzipd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin\unzipd.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\unzip.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\unzipd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin\static_mt\unzipd.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\unzip.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\unzipd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin\static_md\unzipd.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\unzip.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="src\unzip.cpp"/>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Header Files">
<UniqueIdentifier>{f6b1fb43-59ba-4663-b293-f3cfde92502a}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{6d562fb0-fae5-45a0-9317-0d699a144d2f}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\unzip.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>

View File

@@ -0,0 +1,299 @@
<?xml version="1.0" encoding="UTF-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|x64">
<Configuration>debug_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_md|x64">
<Configuration>debug_static_md</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_mt|x64">
<Configuration>debug_static_mt</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|x64">
<Configuration>release_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_md|x64">
<Configuration>release_static_md</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_mt|x64">
<Configuration>release_static_mt</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>unzip</ProjectName>
<ProjectGuid>{9FE5275A-E14A-30C2-9C5B-AEBDE780608F}</ProjectGuid>
<RootNamespace>unzip</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">bin64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">bin64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">false</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;">bin64\static_mt\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;">bin64\static_mt\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;">false</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;">bin64\static_md\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;">bin64\static_md\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;">false</LinkIncremental>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">unzipd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;">unzipd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;">unzipd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">unzip</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;">unzip</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;">unzip</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\unzipd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin64\unzipd.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\unzip.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\unzipd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin64\static_mt\unzipd.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\unzip.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\unzipd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin64\static_md\unzipd.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\unzip.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="src\unzip.cpp"/>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Header Files">
<UniqueIdentifier>{65a883cd-edbc-4e78-9b37-d11b258eb6bf}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{e12c33da-9f0d-45ce-aba4-3b8f75fe895a}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\unzip.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>

View File

@@ -0,0 +1,299 @@
<?xml version="1.0" encoding="UTF-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|Win32">
<Configuration>debug_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_md|Win32">
<Configuration>debug_static_md</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_mt|Win32">
<Configuration>debug_static_mt</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|Win32">
<Configuration>release_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_md|Win32">
<Configuration>release_static_md</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_mt|Win32">
<Configuration>release_static_mt</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>zip</ProjectName>
<ProjectGuid>{7F3AD0E5-A150-3AE7-9041-9086C45020C0}</ProjectGuid>
<RootNamespace>zip</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">bin\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">bin\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">false</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;">bin\static_mt\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;">bin\static_mt\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;">false</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;">bin\static_md\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;">bin\static_md\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;">false</LinkIncremental>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">zipd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;">zipd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;">zipd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">zip</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;">zip</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;">zip</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\zipd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin\zipd.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\zip.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\zipd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin\static_mt\zipd.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\zip.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\zipd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin\static_md\zipd.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\zip.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="src\zip.cpp"/>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{a167d694-66e1-4bd5-a3de-d12168de3a4f}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\zip.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>

View File

@@ -0,0 +1,299 @@
<?xml version="1.0" encoding="UTF-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|x64">
<Configuration>debug_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_md|x64">
<Configuration>debug_static_md</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_mt|x64">
<Configuration>debug_static_mt</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|x64">
<Configuration>release_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_md|x64">
<Configuration>release_static_md</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_mt|x64">
<Configuration>release_static_mt</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>zip</ProjectName>
<ProjectGuid>{7F3AD0E5-A150-3AE7-9041-9086C45020C0}</ProjectGuid>
<RootNamespace>zip</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">bin64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">bin64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">false</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;">bin64\static_mt\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;">bin64\static_mt\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;">false</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;">bin64\static_md\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;">bin64\static_md\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;">false</LinkIncremental>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">zipd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;">zipd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;">zipd</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">zip</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;">zip</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;">zip</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\zipd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin64\zipd.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\zip.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\zipd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin64\static_mt\zipd.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\zip.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\zipd.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin64\static_md\zipd.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>.\include;..\..\..\Foundation\include;..\..\..\XML\include;..\..\..\Util\include;..\..\..\Zip\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\zip.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="src\zip.cpp"/>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{3f20617f-1946-4287-9748-885f08cb5af3}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\zip.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>

View File

@@ -1,322 +1,323 @@
// //
// Compress.cpp // Compress.cpp
// //
// $Id: //poco/Main/Zip/src/Compress.cpp#8 $ // $Id: //poco/Main/Zip/src/Compress.cpp#8 $
// //
// Library: Zip // Library: Zip
// Package: Zip // Package: Zip
// Module: Compress // Module: Compress
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
// Permission is hereby granted, free of charge, to any person or organization // Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by // obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute, // this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the // 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 // Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following: // do so, all subject to the following:
// //
// The copyright notices in the Software and this entire statement, including // The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer, // 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 // 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 // all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by // works are solely in the form of machine-executable object code generated by
// a source language processor. // a source language processor.
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE // SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, // 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 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
// //
#include "Poco/Zip/Compress.h" #include "Poco/Zip/Compress.h"
#include "Poco/Zip/ZipLocalFileHeader.h" #include "Poco/Zip/ZipLocalFileHeader.h"
#include "Poco/Zip/ZipStream.h" #include "Poco/Zip/ZipStream.h"
#include "Poco/Zip/ZipArchiveInfo.h" #include "Poco/Zip/ZipArchiveInfo.h"
#include "Poco/Zip/ZipDataInfo.h" #include "Poco/Zip/ZipDataInfo.h"
#include "Poco/Zip/ZipException.h" #include "Poco/Zip/ZipException.h"
#include "Poco/StreamCopier.h" #include "Poco/StreamCopier.h"
#include "Poco/File.h" #include "Poco/File.h"
#include <fstream> #include "Poco/FileStream.h"
namespace Poco { namespace Poco {
namespace Zip { namespace Zip {
Compress::Compress(std::ostream& out, bool seekableOut): Compress::Compress(std::ostream& out, bool seekableOut):
_out(out), _out(out),
_seekableOut(seekableOut), _seekableOut(seekableOut),
_files(), _files(),
_infos(), _infos(),
_dirs(), _dirs(),
_offset(0) _offset(0)
{ {
} }
Compress::~Compress() Compress::~Compress()
{ {
} }
void Compress::addEntry(std::istream& in, const Poco::DateTime& lastModifiedAt, const Poco::Path& fileName, ZipCommon::CompressionMethod cm, ZipCommon::CompressionLevel cl) void Compress::addEntry(std::istream& in, const Poco::DateTime& lastModifiedAt, const Poco::Path& fileName, ZipCommon::CompressionMethod cm, ZipCommon::CompressionLevel cl)
{ {
std::string fn = ZipUtil::validZipEntryFileName(fileName); std::string fn = ZipUtil::validZipEntryFileName(fileName);
if (_files.size() >= 65535) if (_files.size() >= 65535)
throw ZipException("Maximum number of entries for a ZIP file reached: 65535"); throw ZipException("Maximum number of entries for a ZIP file reached: 65535");
if (!in.good()) if (!in.good())
throw ZipException("Invalid input stream"); throw ZipException("Invalid input stream");
std::streamoff localHeaderOffset = _offset; std::streamoff localHeaderOffset = _offset;
ZipLocalFileHeader hdr(fileName, lastModifiedAt, cm, cl); ZipLocalFileHeader hdr(fileName, lastModifiedAt, cm, cl);
hdr.setStartPos(localHeaderOffset); hdr.setStartPos(localHeaderOffset);
ZipOutputStream zipOut(_out, hdr, _seekableOut); ZipOutputStream zipOut(_out, hdr, _seekableOut);
Poco::StreamCopier::copyStream(in, zipOut); Poco::StreamCopier::copyStream(in, zipOut);
zipOut.close(); zipOut.close();
hdr.setStartPos(localHeaderOffset); // reset again now that compressed Size is known hdr.setStartPos(localHeaderOffset); // reset again now that compressed Size is known
_offset = hdr.getEndPos(); _offset = hdr.getEndPos();
if (hdr.searchCRCAndSizesAfterData()) if (hdr.searchCRCAndSizesAfterData())
_offset += ZipDataInfo::getFullHeaderSize(); _offset += ZipDataInfo::getFullHeaderSize();
_files.insert(std::make_pair(fileName.toString(Poco::Path::PATH_UNIX), hdr)); _files.insert(std::make_pair(fileName.toString(Poco::Path::PATH_UNIX), hdr));
poco_assert (_out); poco_assert (_out);
ZipFileInfo nfo(hdr); ZipFileInfo nfo(hdr);
nfo.setOffset(localHeaderOffset); nfo.setOffset(localHeaderOffset);
_infos.insert(std::make_pair(fileName.toString(Poco::Path::PATH_UNIX), nfo)); _infos.insert(std::make_pair(fileName.toString(Poco::Path::PATH_UNIX), nfo));
EDone.notify(this, hdr); EDone.notify(this, hdr);
} }
void Compress::addFileRaw(std::istream& in, const ZipLocalFileHeader& h, const Poco::Path& fileName) void Compress::addFileRaw(std::istream& in, const ZipLocalFileHeader& h, const Poco::Path& fileName)
{ {
std::string fn = ZipUtil::validZipEntryFileName(fileName); std::string fn = ZipUtil::validZipEntryFileName(fileName);
//bypass the header of the input stream and point to the first byte of the data payload //bypass the header of the input stream and point to the first byte of the data payload
in.seekg(h.getDataStartPos(), std::ios_base::beg); in.seekg(h.getDataStartPos(), std::ios_base::beg);
if (_files.size() >= 65535) if (_files.size() >= 65535)
throw ZipException("Maximum number of entries for a ZIP file reached: 65535"); throw ZipException("Maximum number of entries for a ZIP file reached: 65535");
if (!in.good()) if (!in.good())
throw ZipException("Invalid input stream"); throw ZipException("Invalid input stream");
std::streamoff localHeaderOffset = _offset; std::streamoff localHeaderOffset = _offset;
ZipLocalFileHeader hdr(h); ZipLocalFileHeader hdr(h);
hdr.setFileName(fn, h.isDirectory()); hdr.setFileName(fn, h.isDirectory());
hdr.setStartPos(localHeaderOffset); hdr.setStartPos(localHeaderOffset);
//bypass zipoutputstream //bypass zipoutputstream
//write the header directly //write the header directly
std::string header = hdr.createHeader(); std::string header = hdr.createHeader();
_out.write(header.c_str(), static_cast<std::streamsize>(header.size())); _out.write(header.c_str(), static_cast<std::streamsize>(header.size()));
// now fwd the payload to _out in chunks of size CHUNKSIZE // now fwd the payload to _out in chunks of size CHUNKSIZE
Poco::UInt32 totalSize = hdr.getCompressedSize(); Poco::UInt32 totalSize = hdr.getCompressedSize();
if (totalSize > 0) if (totalSize > 0)
{ {
Poco::Buffer<char> buffer(COMPRESS_CHUNK_SIZE); Poco::Buffer<char> buffer(COMPRESS_CHUNK_SIZE);
Poco::UInt32 remaining = totalSize; Poco::UInt32 remaining = totalSize;
while(remaining > 0) while(remaining > 0)
{ {
if (remaining > COMPRESS_CHUNK_SIZE) if (remaining > COMPRESS_CHUNK_SIZE)
{ {
in.read(buffer.begin(), COMPRESS_CHUNK_SIZE); in.read(buffer.begin(), COMPRESS_CHUNK_SIZE);
std::streamsize n = in.gcount(); std::streamsize n = in.gcount();
poco_assert_dbg (n == COMPRESS_CHUNK_SIZE); poco_assert_dbg (n == COMPRESS_CHUNK_SIZE);
_out.write(buffer.begin(), n); _out.write(buffer.begin(), n);
remaining -= COMPRESS_CHUNK_SIZE; remaining -= COMPRESS_CHUNK_SIZE;
} }
else else
{ {
in.read(buffer.begin(), remaining); in.read(buffer.begin(), remaining);
std::streamsize n = in.gcount(); std::streamsize n = in.gcount();
poco_assert_dbg (n == remaining); poco_assert_dbg (n == remaining);
_out.write(buffer.begin(), n); _out.write(buffer.begin(), n);
remaining = 0; remaining = 0;
} }
} }
} }
//write optional block afterwards //write optional block afterwards
if (hdr.searchCRCAndSizesAfterData()) if (hdr.searchCRCAndSizesAfterData())
{ {
ZipDataInfo info(in, false); ZipDataInfo info(in, false);
_out.write(info.getRawHeader(), static_cast<std::streamsize>(info.getFullHeaderSize())); _out.write(info.getRawHeader(), static_cast<std::streamsize>(info.getFullHeaderSize()));
} }
hdr.setStartPos(localHeaderOffset); // reset again now that compressed Size is known hdr.setStartPos(localHeaderOffset); // reset again now that compressed Size is known
_offset = hdr.getEndPos(); _offset = hdr.getEndPos();
if (hdr.searchCRCAndSizesAfterData()) if (hdr.searchCRCAndSizesAfterData())
_offset += ZipDataInfo::getFullHeaderSize(); _offset += ZipDataInfo::getFullHeaderSize();
_files.insert(std::make_pair(fileName.toString(Poco::Path::PATH_UNIX), hdr)); _files.insert(std::make_pair(fileName.toString(Poco::Path::PATH_UNIX), hdr));
poco_assert (_out); poco_assert (_out);
ZipFileInfo nfo(hdr); ZipFileInfo nfo(hdr);
nfo.setOffset(localHeaderOffset); nfo.setOffset(localHeaderOffset);
_infos.insert(std::make_pair(fileName.toString(Poco::Path::PATH_UNIX), nfo)); _infos.insert(std::make_pair(fileName.toString(Poco::Path::PATH_UNIX), nfo));
EDone.notify(this, hdr); EDone.notify(this, hdr);
} }
void Compress::addFile(std::istream& in, const Poco::DateTime& lastModifiedAt, const Poco::Path& fileName, ZipCommon::CompressionMethod cm, ZipCommon::CompressionLevel cl) void Compress::addFile(std::istream& in, const Poco::DateTime& lastModifiedAt, const Poco::Path& fileName, ZipCommon::CompressionMethod cm, ZipCommon::CompressionLevel cl)
{ {
if (!fileName.isFile()) if (!fileName.isFile())
throw ZipException("Not a file: "+ fileName.toString()); throw ZipException("Not a file: "+ fileName.toString());
if (fileName.depth() > 1) if (fileName.depth() > 1)
{ {
addDirectory(fileName.parent(), lastModifiedAt); addDirectory(fileName.parent(), lastModifiedAt);
} }
addEntry(in, lastModifiedAt, fileName, cm, cl); addEntry(in, lastModifiedAt, fileName, cm, cl);
} }
void Compress::addFile(const Poco::Path& file, const Poco::Path& fileName, ZipCommon::CompressionMethod cm, ZipCommon::CompressionLevel cl) void Compress::addFile(const Poco::Path& file, const Poco::Path& fileName, ZipCommon::CompressionMethod cm, ZipCommon::CompressionLevel cl)
{ {
Poco::File aFile(file); Poco::File aFile(file);
Poco::File::FileSize size = aFile.getSize(); Poco::File::FileSize size = aFile.getSize();
if (size < 16) if (size < 16)
{ {
cm = ZipCommon::CM_STORE; cm = ZipCommon::CM_STORE;
cl = ZipCommon::CL_NORMAL; cl = ZipCommon::CL_NORMAL;
} }
std::ifstream in(file.toString().c_str(), std::ios::binary); Poco::FileInputStream in(file.toString());
if (!in.good()) if (fileName.depth() > 1)
throw ZipException("Invalid input stream for " + aFile.path()); {
if (fileName.depth() > 1) Poco::File aParent(file.parent());
{ addDirectory(fileName.parent(), aParent.getLastModified());
Poco::File aParent(file.parent()); }
addDirectory(fileName.parent(), aParent.getLastModified()); addFile(in, aFile.getLastModified(), fileName, cm, cl);
} }
addFile(in, aFile.getLastModified(), fileName, cm, cl);
} void Compress::addDirectory(const Poco::Path& entryName, const Poco::DateTime& lastModifiedAt)
{
if (!entryName.isDirectory())
void Compress::addDirectory(const Poco::Path& entryName, const Poco::DateTime& lastModifiedAt) throw ZipException("Not a directory: "+ entryName.toString());
{
if (!entryName.isDirectory()) std::string fileStr = entryName.toString(Poco::Path::PATH_UNIX);
throw ZipException("Not a directory: "+ entryName.toString()); if (_files.find(fileStr) != _files.end())
return; // ignore duplicate add
std::string fileStr = entryName.toString(Poco::Path::PATH_UNIX); if (_files.size() >= 65535)
if (_files.find(fileStr) != _files.end()) throw ZipException("Maximum number of entries for a ZIP file reached: 65535");
return; // ignore duplicate add if (fileStr == "/")
if (_files.size() >= 65535) throw ZipException("Illegal entry name /");
throw ZipException("Maximum number of entries for a ZIP file reached: 65535"); if (fileStr.empty())
if (fileStr == "/") throw ZipException("Illegal empty entry name");
throw ZipException("Illegal entry name /"); if (fileStr.find(ZipCommon::ILLEGAL_PATH) != std::string::npos)
if (fileStr.empty()) throw ZipException("Illegal entry name " + fileStr + " containing " + ZipCommon::ILLEGAL_PATH);
throw ZipException("Illegal empty entry name");
if (fileStr.find(ZipCommon::ILLEGAL_PATH) != std::string::npos) if (entryName.depth() > 1)
throw ZipException("Illegal entry name " + fileStr + " containing " + ZipCommon::ILLEGAL_PATH); {
addDirectory(entryName.parent(), lastModifiedAt);
if (entryName.depth() > 1) }
{
addDirectory(entryName.parent(), lastModifiedAt); std::streamoff localHeaderOffset = _offset;
} ZipCommon::CompressionMethod cm = ZipCommon::CM_STORE;
ZipCommon::CompressionLevel cl = ZipCommon::CL_NORMAL;
std::streamoff localHeaderOffset = _offset; ZipLocalFileHeader hdr(entryName, lastModifiedAt, cm, cl);
ZipCommon::CompressionMethod cm = ZipCommon::CM_STORE; hdr.setStartPos(localHeaderOffset);
ZipCommon::CompressionLevel cl = ZipCommon::CL_NORMAL; ZipOutputStream zipOut(_out, hdr, _seekableOut);
ZipLocalFileHeader hdr(entryName, lastModifiedAt, cm, cl); zipOut.close();
hdr.setStartPos(localHeaderOffset); hdr.setStartPos(localHeaderOffset); // reset again now that compressed Size is known
ZipOutputStream zipOut(_out, hdr, _seekableOut); _offset = hdr.getEndPos();
zipOut.close(); if (hdr.searchCRCAndSizesAfterData())
hdr.setStartPos(localHeaderOffset); // reset again now that compressed Size is known _offset += ZipDataInfo::getFullHeaderSize();
_offset = hdr.getEndPos(); _files.insert(std::make_pair(entryName.toString(Poco::Path::PATH_UNIX), hdr));
if (hdr.searchCRCAndSizesAfterData()) poco_assert (_out);
_offset += ZipDataInfo::getFullHeaderSize(); ZipFileInfo nfo(hdr);
_files.insert(std::make_pair(entryName.toString(Poco::Path::PATH_UNIX), hdr)); nfo.setOffset(localHeaderOffset);
poco_assert (_out); _infos.insert(std::make_pair(entryName.toString(Poco::Path::PATH_UNIX), nfo));
ZipFileInfo nfo(hdr); EDone.notify(this, hdr);
nfo.setOffset(localHeaderOffset); }
_infos.insert(std::make_pair(entryName.toString(Poco::Path::PATH_UNIX), nfo));
EDone.notify(this, hdr);
} void Compress::addRecursive(const Poco::Path& entry, ZipCommon::CompressionLevel cl, bool excludeRoot, const Poco::Path& name)
{
Poco::File aFile(entry);
void Compress::addRecursive(const Poco::Path& entry, ZipCommon::CompressionLevel cl, bool excludeRoot, const Poco::Path& name) if (!aFile.isDirectory())
{ throw ZipException("Not a directory: "+ entry.toString());
Poco::File aFile(entry); Poco::Path aName(name);
if (!aFile.isDirectory()) aName.makeDirectory();
throw ZipException("Not a directory: "+ entry.toString()); if (!excludeRoot)
Poco::Path aName(name); {
aName.makeDirectory(); if (aName.depth() == 0)
if (!excludeRoot) {
{ Poco::Path tmp(entry);
if (aName.depth() == 0) tmp.makeAbsolute(); // eliminate ../
{ aName = Poco::Path(tmp[tmp.depth()-1]);
Poco::Path tmp(entry); aName.makeDirectory();
tmp.makeAbsolute(); // eliminate ../ }
aName = Poco::Path(tmp[tmp.depth()-1]);
aName.makeDirectory(); addDirectory(aName, aFile.getLastModified());
} }
addDirectory(aName, aFile.getLastModified()); // iterate over children
} std::vector<std::string> children;
aFile.list(children);
// iterate over children std::vector<std::string>::const_iterator it = children.begin();
std::vector<std::string> children; std::vector<std::string>::const_iterator itEnd = children.end();
aFile.list(children); for (; it != itEnd; ++it)
std::vector<std::string>::const_iterator it = children.begin(); {
std::vector<std::string>::const_iterator itEnd = children.end(); Poco::Path realFile(entry, *it);
for (; it != itEnd; ++it) Poco::Path renamedFile(aName, *it);
{ Poco::File aFile(realFile);
Poco::Path realFile(entry, *it); if (aFile.isDirectory())
Poco::Path renamedFile(aName, *it); {
Poco::File aFile(realFile); realFile.makeDirectory();
if (aFile.isDirectory()) renamedFile.makeDirectory();
{ addRecursive(realFile, cl, false, renamedFile);
realFile.makeDirectory(); }
renamedFile.makeDirectory(); else
addRecursive(realFile, cl, false, renamedFile); {
} realFile.makeFile();
else renamedFile.makeFile();
{ addFile(realFile, renamedFile, ZipCommon::CM_DEFLATE, cl);
realFile.makeFile(); }
renamedFile.makeFile(); }
addFile(realFile, renamedFile, ZipCommon::CM_DEFLATE, cl); }
}
}
} ZipArchive Compress::close()
{
if (!_dirs.empty())
ZipArchive Compress::close() return ZipArchive(_files, _infos, _dirs);
{
if (!_dirs.empty()) poco_assert (_infos.size() == _files.size());
return ZipArchive(_files, _infos, _dirs); poco_assert (_files.size() < 65536);
Poco::UInt32 centralDirStart = _offset;
poco_assert (_infos.size() == _files.size()); Poco::UInt32 centralDirSize = 0;
poco_assert (_files.size() < 65536); // write all infos
Poco::UInt32 centralDirStart = _offset; ZipArchive::FileInfos::const_iterator it = _infos.begin();
Poco::UInt32 centralDirSize = 0; ZipArchive::FileInfos::const_iterator itEnd = _infos.end();
// write all infos for (; it != itEnd; ++it)
ZipArchive::FileInfos::const_iterator it = _infos.begin(); {
ZipArchive::FileInfos::const_iterator itEnd = _infos.end(); const ZipFileInfo& nfo = it->second;
for (; it != itEnd; ++it) std::string info(nfo.createHeader());
{ _out.write(info.c_str(), static_cast<std::streamsize>(info.size()));
const ZipFileInfo& nfo = it->second; Poco::UInt32 entrySize = static_cast<Poco::UInt32>(info.size());
std::string info(nfo.createHeader()); centralDirSize += entrySize;
_out.write(info.c_str(), static_cast<std::streamsize>(info.size())); _offset += entrySize;
Poco::UInt32 entrySize = static_cast<Poco::UInt32>(info.size()); }
centralDirSize += entrySize; poco_assert (_out);
_offset += entrySize;
}
poco_assert (_out); Poco::UInt16 numEntries = static_cast<Poco::UInt16>(_infos.size());
ZipArchiveInfo central;
central.setCentralDirectorySize(centralDirSize);
Poco::UInt16 numEntries = static_cast<Poco::UInt16>(_infos.size()); central.setNumberOfEntries(numEntries);
ZipArchiveInfo central; central.setTotalNumberOfEntries(numEntries);
central.setCentralDirectorySize(centralDirSize); central.setHeaderOffset(centralDirStart);
central.setNumberOfEntries(numEntries); if (!_comment.empty() && _comment.size() <= 65535)
central.setTotalNumberOfEntries(numEntries); {
central.setHeaderOffset(centralDirStart); central.setZipComment(_comment);
std::string centr(central.createHeader()); }
_out.write(centr.c_str(), static_cast<std::streamsize>(centr.size())); std::string centr(central.createHeader());
_out.flush(); _out.write(centr.c_str(), static_cast<std::streamsize>(centr.size()));
_dirs.insert(std::make_pair(0, central)); _out.flush();
return ZipArchive(_files, _infos, _dirs); _dirs.insert(std::make_pair(0, central));
} return ZipArchive(_files, _infos, _dirs);
}
} } // namespace Poco::Zip
} } // namespace Poco::Zip

View File

@@ -1,193 +1,187 @@
// //
// Decompress.cpp // Decompress.cpp
// //
// $Id: //poco/Main/Zip/src/Decompress.cpp#6 $ // $Id: //poco/Main/Zip/src/Decompress.cpp#6 $
// //
// Library: Zip // Library: Zip
// Package: Zip // Package: Zip
// Module: Decompress // Module: Decompress
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
// Permission is hereby granted, free of charge, to any person or organization // Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by // obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute, // this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the // 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 // Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following: // do so, all subject to the following:
// //
// The copyright notices in the Software and this entire statement, including // The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer, // 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 // 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 // all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by // works are solely in the form of machine-executable object code generated by
// a source language processor. // a source language processor.
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE // SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, // 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 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
// //
#include "Poco/Zip/Decompress.h" #include "Poco/Zip/Decompress.h"
#include "Poco/Zip/ZipLocalFileHeader.h" #include "Poco/Zip/ZipLocalFileHeader.h"
#include "Poco/Zip/ZipArchive.h" #include "Poco/Zip/ZipArchive.h"
#include "Poco/Zip/ZipStream.h" #include "Poco/Zip/ZipStream.h"
#include "Poco/Zip/ZipException.h" #include "Poco/Zip/ZipException.h"
#include "Poco/File.h" #include "Poco/File.h"
#include "Poco/Exception.h" #include "Poco/Exception.h"
#include "Poco/StreamCopier.h" #include "Poco/StreamCopier.h"
#include "Poco/Delegate.h" #include "Poco/Delegate.h"
#include <fstream> #include "Poco/FileStream.h"
namespace Poco { namespace Poco {
namespace Zip { namespace Zip {
Decompress::Decompress(std::istream& in, const Poco::Path& outputDir, bool flattenDirs, bool keepIncompleteFiles): Decompress::Decompress(std::istream& in, const Poco::Path& outputDir, bool flattenDirs, bool keepIncompleteFiles):
_in(in), _in(in),
_outDir(outputDir), _outDir(outputDir),
_flattenDirs(flattenDirs), _flattenDirs(flattenDirs),
_keepIncompleteFiles(keepIncompleteFiles), _keepIncompleteFiles(keepIncompleteFiles),
_mapping() _mapping()
{ {
_outDir.makeAbsolute(); _outDir.makeAbsolute();
_outDir.makeDirectory(); _outDir.makeDirectory();
poco_assert (_in.good()); poco_assert (_in.good());
Poco::File tmp(_outDir); Poco::File tmp(_outDir);
if (!tmp.exists()) if (!tmp.exists())
{ {
tmp.createDirectories(); tmp.createDirectories();
} }
if (!tmp.isDirectory()) if (!tmp.isDirectory())
throw Poco::IOException("Failed to create/open directory: " + _outDir.toString()); throw Poco::IOException("Failed to create/open directory: " + _outDir.toString());
EOk += Poco::Delegate<Decompress, std::pair<const ZipLocalFileHeader, const Poco::Path> >(this, &Decompress::onOk); EOk += Poco::Delegate<Decompress, std::pair<const ZipLocalFileHeader, const Poco::Path> >(this, &Decompress::onOk);
} }
Decompress::~Decompress() Decompress::~Decompress()
{ {
EOk -= Poco::Delegate<Decompress, std::pair<const ZipLocalFileHeader, const Poco::Path> >(this, &Decompress::onOk); EOk -= Poco::Delegate<Decompress, std::pair<const ZipLocalFileHeader, const Poco::Path> >(this, &Decompress::onOk);
} }
ZipArchive Decompress::decompressAllFiles() ZipArchive Decompress::decompressAllFiles()
{ {
poco_assert (_mapping.empty()); poco_assert (_mapping.empty());
ZipArchive arch(_in, *this); ZipArchive arch(_in, *this);
return arch; return arch;
} }
bool Decompress::handleZipEntry(std::istream& zipStream, const ZipLocalFileHeader& hdr) bool Decompress::handleZipEntry(std::istream& zipStream, const ZipLocalFileHeader& hdr)
{ {
if (hdr.isDirectory()) if (hdr.isDirectory())
{ {
// directory have 0 size, nth to read // directory have 0 size, nth to read
if (!_flattenDirs) if (!_flattenDirs)
{ {
std::string dirName = hdr.getFileName(); std::string dirName = hdr.getFileName();
if (dirName.find(ZipCommon::ILLEGAL_PATH) != std::string::npos) if (dirName.find(ZipCommon::ILLEGAL_PATH) != std::string::npos)
throw ZipException("Illegal entry name " + dirName + " containing " + ZipCommon::ILLEGAL_PATH); throw ZipException("Illegal entry name " + dirName + " containing " + ZipCommon::ILLEGAL_PATH);
Poco::Path dir(_outDir, dirName); Poco::Path dir(_outDir, dirName);
dir.makeDirectory(); dir.makeDirectory();
Poco::File aFile(dir); Poco::File aFile(dir);
aFile.createDirectories(); aFile.createDirectories();
} }
return true; return true;
} }
try try
{ {
std::string fileName = hdr.getFileName(); std::string fileName = hdr.getFileName();
if (_flattenDirs) if (_flattenDirs)
{ {
// remove path info // remove path info
Poco::Path p(fileName); Poco::Path p(fileName);
p.makeFile(); p.makeFile();
fileName = p.getFileName(); fileName = p.getFileName();
} }
if (fileName.find(ZipCommon::ILLEGAL_PATH) != std::string::npos) if (fileName.find(ZipCommon::ILLEGAL_PATH) != std::string::npos)
throw ZipException("Illegal entry name " + fileName + " containing " + ZipCommon::ILLEGAL_PATH); throw ZipException("Illegal entry name " + fileName + " containing " + ZipCommon::ILLEGAL_PATH);
Poco::Path file(fileName); Poco::Path file(fileName);
file.makeFile(); file.makeFile();
Poco::Path dest(_outDir, file); Poco::Path dest(_outDir, file);
dest.makeFile(); dest.makeFile();
if (dest.depth() > 0) if (dest.depth() > 0)
{ {
Poco::File aFile(dest.parent()); Poco::File aFile(dest.parent());
aFile.createDirectories(); aFile.createDirectories();
} }
std::ofstream out(dest.toString().c_str(), std::ios::binary); Poco::FileOutputStream out(dest.toString());
if (!out) ZipInputStream inp(zipStream, hdr, false);
{ Poco::StreamCopier::copyStream(inp, out);
std::pair<const ZipLocalFileHeader, const std::string> tmp = std::make_pair(hdr, "Failed to open output stream " + dest.toString()); out.close();
EError.notify(this, tmp); Poco::File aFile(dest.toString());
return false; if (!aFile.exists() || !aFile.isFile())
} {
ZipInputStream inp(zipStream, hdr, false); std::pair<const ZipLocalFileHeader, const std::string> tmp = std::make_pair(hdr, "Failed to create output stream " + dest.toString());
Poco::StreamCopier::copyStream(inp, out); EError.notify(this, tmp);
out.close(); return false;
Poco::File aFile(file); }
if (!aFile.exists() || !aFile.isFile())
{ if (!inp.crcValid())
std::pair<const ZipLocalFileHeader, const std::string> tmp = std::make_pair(hdr, "Failed to create output stream " + dest.toString()); {
EError.notify(this, tmp); if (!_keepIncompleteFiles)
return false; aFile.remove();
} std::pair<const ZipLocalFileHeader, const std::string> tmp = std::make_pair(hdr, "CRC mismatch. Corrupt file: " + dest.toString());
EError.notify(this, tmp);
if (!inp.crcValid()) return false;
{ }
if (!_keepIncompleteFiles)
aFile.remove(); // cannot check against hdr.getUnCompressedSize if CRC and size are not set in hdr but in a ZipDataInfo
std::pair<const ZipLocalFileHeader, const std::string> tmp = std::make_pair(hdr, "CRC mismatch. Corrupt file: " + dest.toString()); // crc is typically enough to detect errors
EError.notify(this, tmp); if (aFile.getSize() != hdr.getUncompressedSize() && !hdr.searchCRCAndSizesAfterData())
return false; {
} if (!_keepIncompleteFiles)
aFile.remove();
// cannot check against hdr.getUnCompressedSize if CRC and size are not set in hdr but in a ZipDataInfo std::pair<const ZipLocalFileHeader, const std::string> tmp = std::make_pair(hdr, "Filesizes do not match. Corrupt file: " + dest.toString());
// crc is typically enough to detect errors EError.notify(this, tmp);
if (aFile.getSize() != hdr.getUncompressedSize() && !hdr.searchCRCAndSizesAfterData()) return false;
{ }
if (!_keepIncompleteFiles)
aFile.remove(); std::pair<const ZipLocalFileHeader, const Poco::Path> tmp = std::make_pair(hdr, file);
std::pair<const ZipLocalFileHeader, const std::string> tmp = std::make_pair(hdr, "Filesizes do not match. Corrupt file: " + dest.toString()); EOk.notify(this, tmp);
EError.notify(this, tmp); }
return false; catch (Poco::Exception& e)
} {
std::pair<const ZipLocalFileHeader, const std::string> tmp = std::make_pair(hdr, std::string("Exception: " + e.displayText()));
std::pair<const ZipLocalFileHeader, const Poco::Path> tmp = std::make_pair(hdr, file); EError.notify(this, tmp);
EOk.notify(this, tmp); return false;
} }
catch (Poco::Exception& e) catch (...)
{ {
std::pair<const ZipLocalFileHeader, const std::string> tmp = std::make_pair(hdr, std::string("Exception: " + e.displayText())); std::pair<const ZipLocalFileHeader, const std::string> tmp = std::make_pair(hdr, std::string("Unknown Exception"));
EError.notify(this, tmp); EError.notify(this, tmp);
return false; return false;
} }
catch (...)
{ return true;
std::pair<const ZipLocalFileHeader, const std::string> tmp = std::make_pair(hdr, std::string("Unknown Exception")); }
EError.notify(this, tmp);
return false;
} void Decompress::onOk(const void*, std::pair<const ZipLocalFileHeader, const Poco::Path>& val)
{
return true; _mapping.insert(std::make_pair(val.first.getFileName(), val.second));
} }
void Decompress::onOk(const void*, std::pair<const ZipLocalFileHeader, const Poco::Path>& val) } } // namespace Poco::Zip
{
_mapping.insert(std::make_pair(val.first.getFileName(), val.second));
}
} } // namespace Poco::Zip

View File

@@ -1,121 +1,129 @@
// //
// ZipArchive.cpp // ZipArchive.cpp
// //
// $Id: //poco/Main/Zip/src/ZipArchive.cpp#8 $ // $Id: //poco/Main/Zip/src/ZipArchive.cpp#8 $
// //
// Library: Zip // Library: Zip
// Package: Zip // Package: Zip
// Module: ZipArchive // Module: ZipArchive
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
// Permission is hereby granted, free of charge, to any person or organization // Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by // obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute, // this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the // 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 // Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following: // do so, all subject to the following:
// //
// The copyright notices in the Software and this entire statement, including // The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer, // 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 // 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 // all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by // works are solely in the form of machine-executable object code generated by
// a source language processor. // a source language processor.
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE // SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, // 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 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
// //
#include "Poco/Zip/ZipArchive.h" #include "Poco/Zip/ZipArchive.h"
#include "Poco/Zip/SkipCallback.h" #include "Poco/Zip/SkipCallback.h"
#include "Poco/Exception.h" #include "Poco/Exception.h"
#include <cstring> #include <cstring>
namespace Poco { namespace Poco {
namespace Zip { namespace Zip {
ZipArchive::ZipArchive(std::istream& in): ZipArchive::ZipArchive(std::istream& in):
_entries(), _entries(),
_infos(), _infos(),
_disks() _disks()
{ {
poco_assert_dbg (in); poco_assert_dbg (in);
SkipCallback skip; SkipCallback skip;
parse(in, skip); parse(in, skip);
} }
ZipArchive::ZipArchive(const FileHeaders& entries, const FileInfos& infos, const DirectoryInfos& dirs): ZipArchive::ZipArchive(const FileHeaders& entries, const FileInfos& infos, const DirectoryInfos& dirs):
_entries(entries), _entries(entries),
_infos(infos), _infos(infos),
_disks(dirs) _disks(dirs)
{ {
} }
ZipArchive::ZipArchive(std::istream& in, ParseCallback& pc): ZipArchive::ZipArchive(std::istream& in, ParseCallback& pc):
_entries(), _entries(),
_infos(), _infos(),
_disks() _disks()
{ {
poco_assert_dbg (in); poco_assert_dbg (in);
parse(in, pc); parse(in, pc);
} }
ZipArchive::~ZipArchive() ZipArchive::~ZipArchive()
{ {
} }
void ZipArchive::parse(std::istream& in, ParseCallback& pc) void ZipArchive::parse(std::istream& in, ParseCallback& pc)
{ {
// read 4 bytes // read 4 bytes
while (in.good() && !in.eof()) while (in.good() && !in.eof())
{ {
char header[ZipCommon::HEADER_SIZE]={'\x00', '\x00', '\x00', '\x00'}; char header[ZipCommon::HEADER_SIZE]={'\x00', '\x00', '\x00', '\x00'};
in.read(header, ZipCommon::HEADER_SIZE); in.read(header, ZipCommon::HEADER_SIZE);
if (in.eof()) if (in.eof())
return; return;
if (std::memcmp(header, ZipLocalFileHeader::HEADER, ZipCommon::HEADER_SIZE) == 0) if (std::memcmp(header, ZipLocalFileHeader::HEADER, ZipCommon::HEADER_SIZE) == 0)
{ {
ZipLocalFileHeader entry(in, true, pc); ZipLocalFileHeader entry(in, true, pc);
poco_assert (_entries.insert(std::make_pair(entry.getFileName(), entry)).second); poco_assert (_entries.insert(std::make_pair(entry.getFileName(), entry)).second);
} }
else if (std::memcmp(header, ZipFileInfo::HEADER, ZipCommon::HEADER_SIZE) == 0) else if (std::memcmp(header, ZipFileInfo::HEADER, ZipCommon::HEADER_SIZE) == 0)
{ {
ZipFileInfo info(in, true); ZipFileInfo info(in, true);
FileHeaders::iterator it = _entries.find(info.getFileName()); FileHeaders::iterator it = _entries.find(info.getFileName());
if (it != _entries.end()) if (it != _entries.end())
{ {
it->second.setStartPos(info.getRelativeOffsetOfLocalHeader()); it->second.setStartPos(info.getRelativeOffsetOfLocalHeader());
} }
poco_assert (_infos.insert(std::make_pair(info.getFileName(), info)).second); poco_assert (_infos.insert(std::make_pair(info.getFileName(), info)).second);
} }
else if (std::memcmp(header, ZipArchiveInfo::HEADER, ZipCommon::HEADER_SIZE) == 0) else if (std::memcmp(header, ZipArchiveInfo::HEADER, ZipCommon::HEADER_SIZE) == 0)
{ {
ZipArchiveInfo nfo(in, true); ZipArchiveInfo nfo(in, true);
poco_assert (_disks.insert(std::make_pair(nfo.getDiskNumber(), nfo)).second); poco_assert (_disks.insert(std::make_pair(nfo.getDiskNumber(), nfo)).second);
} }
else else
{ {
if (_disks.empty()) if (_disks.empty())
throw Poco::IllegalStateException("Illegal header in zip file"); throw Poco::IllegalStateException("Illegal header in zip file");
else else
throw Poco::IllegalStateException("Garbage after directory header"); throw Poco::IllegalStateException("Garbage after directory header");
} }
} }
} }
} } // namespace Poco::Zip const std::string& ZipArchive::getZipComment() const
{
// It seems that only the "first" disk is populated (look at Compress::close()), so getting the first ZipArchiveInfo
DirectoryInfos::const_iterator it = _disks.begin();
return it->second.getZipComment();
}
} } // namespace Poco::Zip

View File

@@ -1,106 +1,121 @@
// //
// ZipArchiveInfo.cpp // ZipArchiveInfo.cpp
// //
// $Id: //poco/Main/Zip/src/ZipArchiveInfo.cpp#7 $ // $Id: //poco/Main/Zip/src/ZipArchiveInfo.cpp#7 $
// //
// Library: Zip // Library: Zip
// Package: Zip // Package: Zip
// Module: ZipArchiveInfo // Module: ZipArchiveInfo
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
// Permission is hereby granted, free of charge, to any person or organization // Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by // obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute, // this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the // 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 // Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following: // do so, all subject to the following:
// //
// The copyright notices in the Software and this entire statement, including // The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer, // 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 // 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 // all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by // works are solely in the form of machine-executable object code generated by
// a source language processor. // a source language processor.
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE // SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, // 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 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
// //
#include "Poco/Zip/ZipArchiveInfo.h" #include "Poco/Zip/ZipArchiveInfo.h"
#include "Poco/Buffer.h" #include "Poco/Zip/ZipException.h"
#include <istream> #include "Poco/Buffer.h"
#include <cstring> #include <istream>
#include <cstring>
namespace Poco {
namespace Zip { namespace Poco {
namespace Zip {
const char ZipArchiveInfo::HEADER[ZipCommon::HEADER_SIZE] = {'\x50', '\x4b', '\x05', '\x06'};
const char ZipArchiveInfo::HEADER[ZipCommon::HEADER_SIZE] = {'\x50', '\x4b', '\x05', '\x06'};
ZipArchiveInfo::ZipArchiveInfo(std::istream& in, bool assumeHeaderRead):
_rawInfo(), ZipArchiveInfo::ZipArchiveInfo(std::istream& in, bool assumeHeaderRead):
_startPos(in.tellg()), _rawInfo(),
_comment() _startPos(in.tellg()),
{ _comment()
if (assumeHeaderRead) {
_startPos -= ZipCommon::HEADER_SIZE; if (assumeHeaderRead)
parse(in, assumeHeaderRead); _startPos -= ZipCommon::HEADER_SIZE;
} parse(in, assumeHeaderRead);
}
ZipArchiveInfo::ZipArchiveInfo():
_rawInfo(), ZipArchiveInfo::ZipArchiveInfo():
_startPos(0), _rawInfo(),
_comment() _startPos(0),
{ _comment()
std::memset(_rawInfo, 0, FULLHEADER_SIZE); {
std::memcpy(_rawInfo, HEADER, ZipCommon::HEADER_SIZE); std::memset(_rawInfo, 0, FULLHEADER_SIZE);
} std::memcpy(_rawInfo, HEADER, ZipCommon::HEADER_SIZE);
}
ZipArchiveInfo::~ZipArchiveInfo()
{ ZipArchiveInfo::~ZipArchiveInfo()
} {
}
void ZipArchiveInfo::parse(std::istream& inp, bool assumeHeaderRead)
{ void ZipArchiveInfo::parse(std::istream& inp, bool assumeHeaderRead)
if (!assumeHeaderRead) {
{ if (!assumeHeaderRead)
inp.read(_rawInfo, ZipCommon::HEADER_SIZE); {
} inp.read(_rawInfo, ZipCommon::HEADER_SIZE);
else }
{ else
std::memcpy(_rawInfo, HEADER, ZipCommon::HEADER_SIZE); {
} std::memcpy(_rawInfo, HEADER, ZipCommon::HEADER_SIZE);
poco_assert (std::memcmp(_rawInfo, HEADER, ZipCommon::HEADER_SIZE) == 0); }
// read the rest of the header poco_assert (std::memcmp(_rawInfo, HEADER, ZipCommon::HEADER_SIZE) == 0);
inp.read(_rawInfo + ZipCommon::HEADER_SIZE, FULLHEADER_SIZE - ZipCommon::HEADER_SIZE); // read the rest of the header
Poco::UInt16 len = getZipCommentSize(); inp.read(_rawInfo + ZipCommon::HEADER_SIZE, FULLHEADER_SIZE - ZipCommon::HEADER_SIZE);
if (len > 0) Poco::UInt16 len = getZipCommentSize();
{ if (len > 0)
Poco::Buffer<char> buf(len); {
inp.read(buf.begin(), len); Poco::Buffer<char> buf(len);
_comment = std::string(buf.begin(), len); inp.read(buf.begin(), len);
} _comment = std::string(buf.begin(), len);
} }
}
std::string ZipArchiveInfo::createHeader() const
{ std::string ZipArchiveInfo::createHeader() const
std::string result(_rawInfo, FULLHEADER_SIZE); {
result.append(_comment); std::string result(_rawInfo, FULLHEADER_SIZE);
return result; result.append(_comment);
} return result;
}
} } // namespace Poco::Zip
void ZipArchiveInfo::setZipComment(const std::string& comment)
{
// Confirm string is of valid size
if (comment.size() > 65535)
throw ZipException("Maximum number of entries for a ZIP file reached: 65535");
// Change the value of the ZIP Comment Size to reflect new comment size
ZipUtil::set16BitValue(static_cast<Poco::UInt16>(comment.size()), _rawInfo, ZIPCOMMENT_LENGTH_POS);
// Now change our internal comment
_comment = comment;
}
} } // namespace Poco::Zip

View File

@@ -1,194 +1,193 @@
// //
// ZipManipulator.cpp // ZipManipulator.cpp
// //
// $Id: //poco/Main/Zip/src/ZipManipulator.cpp#4 $ // $Id: //poco/Main/Zip/src/ZipManipulator.cpp#4 $
// //
// Library: Zip // Library: Zip
// Package: Manipulation // Package: Manipulation
// Module: ZipManipulator // Module: ZipManipulator
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
// Permission is hereby granted, free of charge, to any person or organization // Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by // obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute, // this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the // 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 // Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following: // do so, all subject to the following:
// //
// The copyright notices in the Software and this entire statement, including // The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer, // 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 // 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 // all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by // works are solely in the form of machine-executable object code generated by
// a source language processor. // a source language processor.
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE // SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, // 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 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
// //
#include "Poco/Zip/ZipManipulator.h" #include "Poco/Zip/ZipManipulator.h"
#include "Poco/Zip/ZipException.h" #include "Poco/Zip/ZipException.h"
#include "Poco/Zip/ZipUtil.h" #include "Poco/Zip/ZipUtil.h"
#include "Poco/Zip/Add.h" #include "Poco/Zip/Add.h"
#include "Poco/Zip/Delete.h" #include "Poco/Zip/Delete.h"
#include "Poco/Zip/Keep.h" #include "Poco/Zip/Keep.h"
#include "Poco/Zip/Rename.h" #include "Poco/Zip/Rename.h"
#include "Poco/Zip/Replace.h" #include "Poco/Zip/Replace.h"
#include "Poco/Zip/Compress.h" #include "Poco/Zip/Compress.h"
#include "Poco/Delegate.h" #include "Poco/Delegate.h"
#include "Poco/File.h" #include "Poco/File.h"
#include "Poco/FileStream.h" #include "Poco/FileStream.h"
#include <fstream>
namespace Poco {
namespace Poco { namespace Zip {
namespace Zip {
ZipManipulator::ZipManipulator(const std::string& zipFile, bool backupOriginalFile):
ZipManipulator::ZipManipulator(const std::string& zipFile, bool backupOriginalFile): _zipFile(zipFile),
_zipFile(zipFile), _backupOriginalFile(backupOriginalFile),
_backupOriginalFile(backupOriginalFile), _changes(),
_changes(), _in(0)
_in(0) {
{ Poco::FileInputStream in(zipFile);
std::ifstream in(zipFile.c_str(), std::ios::binary); _in = new ZipArchive(in);
_in = new ZipArchive(in); }
}
ZipManipulator::~ZipManipulator()
ZipManipulator::~ZipManipulator() {
{ }
}
void ZipManipulator::deleteFile(const std::string& zipPath)
void ZipManipulator::deleteFile(const std::string& zipPath) {
{ const ZipLocalFileHeader& entry = getForChange(zipPath);
const ZipLocalFileHeader& entry = getForChange(zipPath); addOperation(zipPath, new Delete(entry));
addOperation(zipPath, new Delete(entry)); }
}
void ZipManipulator::replaceFile(const std::string& zipPath, const std::string& localPath)
void ZipManipulator::replaceFile(const std::string& zipPath, const std::string& localPath) {
{ const ZipLocalFileHeader& entry = getForChange(zipPath);
const ZipLocalFileHeader& entry = getForChange(zipPath); addOperation(zipPath, new Replace(entry, localPath));
addOperation(zipPath, new Replace(entry, localPath)); }
}
void ZipManipulator::renameFile(const std::string& zipPath, const std::string& newZipPath)
void ZipManipulator::renameFile(const std::string& zipPath, const std::string& newZipPath) {
{ const ZipLocalFileHeader& entry = getForChange(zipPath);
const ZipLocalFileHeader& entry = getForChange(zipPath); // checked later in Compress too but the earlier one gets the error the better
// checked later in Compress too but the earlier one gets the error the better std::string fn = ZipUtil::validZipEntryFileName(newZipPath);
std::string fn = ZipUtil::validZipEntryFileName(newZipPath); addOperation(zipPath, new Rename(entry, fn));
addOperation(zipPath, new Rename(entry, fn)); }
}
void ZipManipulator::addFile(const std::string& zipPath, const std::string& localPath, ZipCommon::CompressionMethod cm, ZipCommon::CompressionLevel cl)
void ZipManipulator::addFile(const std::string& zipPath, const std::string& localPath, ZipCommon::CompressionMethod cm, ZipCommon::CompressionLevel cl) {
{ addOperation(zipPath, new Add(zipPath, localPath, cm, cl));
addOperation(zipPath, new Add(zipPath, localPath, cm, cl)); }
}
ZipArchive ZipManipulator::commit()
ZipArchive ZipManipulator::commit() {
{ // write to a tmp file
// write to a tmp file std::string outFile(_zipFile + ".tmp");
std::string outFile(_zipFile + ".tmp"); ZipArchive retVal(compress(outFile));
ZipArchive retVal(compress(outFile)); //renaming
//renaming {
{ Poco::File aFile(_zipFile);
Poco::File aFile(_zipFile); if (_backupOriginalFile)
if (_backupOriginalFile) {
{ Poco::File tmp(_zipFile+".bak");
Poco::File tmp(_zipFile+".bak"); if (tmp.exists())
if (tmp.exists()) tmp.remove();
tmp.remove(); aFile.renameTo(_zipFile+".bak");
aFile.renameTo(_zipFile+".bak"); }
} else
else aFile.remove();
aFile.remove(); }
}
{
{ Poco::File resFile(outFile);
Poco::File resFile(outFile); Poco::File zipFile(_zipFile);
Poco::File zipFile(_zipFile); if (zipFile.exists())
if (zipFile.exists()) zipFile.remove();
zipFile.remove(); resFile.renameTo(_zipFile);
resFile.renameTo(_zipFile); }
} return retVal;
return retVal; }
}
const ZipLocalFileHeader& ZipManipulator::getForChange(const std::string& zipPath) const
const ZipLocalFileHeader& ZipManipulator::getForChange(const std::string& zipPath) const {
{ ZipArchive::FileHeaders::const_iterator it = _in->findHeader(zipPath);
ZipArchive::FileHeaders::const_iterator it = _in->findHeader(zipPath); if (it == _in->headerEnd())
if (it == _in->headerEnd()) throw ZipManipulationException("entry not found: " + zipPath);
throw ZipManipulationException("entry not found: " + zipPath);
if (_changes.find(zipPath) != _changes.end())
if (_changes.find(zipPath) != _changes.end()) throw ZipManipulationException("A change request exists already for entry " + zipPath);
throw ZipManipulationException("A change request exists already for entry " + zipPath);
return it->second;
return it->second; }
}
void ZipManipulator::addOperation(const std::string& zipPath, ZipOperation::Ptr ptrOp)
void ZipManipulator::addOperation(const std::string& zipPath, ZipOperation::Ptr ptrOp) {
{ std::pair<Changes::iterator, bool> result = _changes.insert(std::make_pair(zipPath, ptrOp));
std::pair<Changes::iterator, bool> result = _changes.insert(std::make_pair(zipPath, ptrOp)); if (!result.second)
if (!result.second) throw ZipManipulationException("A change request exists already for entry " + zipPath);
throw ZipManipulationException("A change request exists already for entry " + zipPath); }
}
void ZipManipulator::onEDone(const void*, const ZipLocalFileHeader& hdr)
void ZipManipulator::onEDone(const void*, const ZipLocalFileHeader& hdr) {
{ EDone(this, hdr);
EDone(this, hdr); }
}
ZipArchive ZipManipulator::compress(const std::string& outFile)
ZipArchive ZipManipulator::compress(const std::string& outFile) {
{ // write to a tmp file
// write to a tmp file Poco::FileInputStream in(_zipFile);
Poco::FileInputStream in(_zipFile); Poco::FileOutputStream out(outFile);
Poco::FileOutputStream out(outFile); Compress c(out, true);
Compress c(out, true); c.EDone += Poco::Delegate<ZipManipulator, const ZipLocalFileHeader>(this, &ZipManipulator::onEDone);
c.EDone += Poco::Delegate<ZipManipulator, const ZipLocalFileHeader>(this, &ZipManipulator::onEDone);
ZipArchive::FileHeaders::const_iterator it = _in->headerBegin();
ZipArchive::FileHeaders::const_iterator it = _in->headerBegin(); for (; it != _in->headerEnd(); ++it)
for (; it != _in->headerEnd(); ++it) {
{ Changes::iterator itC = _changes.find(it->first);
Changes::iterator itC = _changes.find(it->first); if (itC != _changes.end())
if (itC != _changes.end()) {
{ itC->second->execute(c, in);
itC->second->execute(c, in); _changes.erase(itC);
_changes.erase(itC); }
} else
else {
{ Keep k(it->second);
Keep k(it->second); k.execute(c, in);
k.execute(c, in); }
} }
} //Remaining files are add operations!
//Remaining files are add operations! Changes::iterator itC = _changes.begin();
Changes::iterator itC = _changes.begin(); for (; itC != _changes.end(); ++itC)
for (; itC != _changes.end(); ++itC) {
{ itC->second->execute(c, in);
itC->second->execute(c, in); }
} _changes.clear();
_changes.clear(); c.EDone -= Poco::Delegate<ZipManipulator, const ZipLocalFileHeader>(this, &ZipManipulator::onEDone);
c.EDone -= Poco::Delegate<ZipManipulator, const ZipLocalFileHeader>(this, &ZipManipulator::onEDone); in.close();
in.close(); return c.close();
return c.close(); }
}
} } // namespace Poco::Zip
} } // namespace Poco::Zip

View File

@@ -0,0 +1,317 @@
<?xml version="1.0" encoding="UTF-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|Win32">
<Configuration>debug_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_md|Win32">
<Configuration>debug_static_md</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_mt|Win32">
<Configuration>debug_static_mt</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|Win32">
<Configuration>release_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_md|Win32">
<Configuration>release_static_md</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_mt|Win32">
<Configuration>release_static_mt</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>TestSuite</ProjectName>
<ProjectGuid>{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}</ProjectGuid>
<RootNamespace>TestSuite</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>Dynamic</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>Dynamic</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>Dynamic</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>Dynamic</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">bin\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">bin\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">false</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;">bin\static_mt\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;">bin\static_mt\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;">false</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;">bin\static_md\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;">bin\static_md\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;">obj\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;">false</LinkIncremental>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">TestSuited</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;">TestSuited</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;">TestSuited</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">TestSuite</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;">TestSuite</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;">TestSuite</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitd.lib;WinTestRunnerd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnit.lib;WinTestRunner.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmtd.lib;WinTestRunnermtd.lib;iphlpapi.lib;winmm.lib;nafxcwd.lib;libcmtd.lib;WinTestRunner.res;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>nafxcwd.lib;libcmtd.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin\static_mt\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmt.lib;WinTestRunnermt.lib;iphlpapi.lib;winmm.lib;nafxcw.lib;libcmt.lib;WinTestRunner.res;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>nafxcw.lib;libcmt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmdd.lib;WinTestRunnermdd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin\static_md\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|Win32&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmd.lib;WinTestRunnermd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="src\CompressTest.h"/>
<ClInclude Include="src\PartialStreamTest.h"/>
<ClInclude Include="src\ZipTest.h"/>
<ClInclude Include="src\ZipTestSuite.h"/>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\CompressTest.cpp"/>
<ClCompile Include="src\PartialStreamTest.cpp"/>
<ClCompile Include="src\ZipTest.cpp"/>
<ClCompile Include="src\ZipTestSuite.cpp"/>
<ClCompile Include="src\WinDriver.cpp"/>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Zip">
<UniqueIdentifier>{886f20f2-85d3-4204-84ed-f2efd5958124}</UniqueIdentifier>
</Filter>
<Filter Include="Zip\Header Files">
<UniqueIdentifier>{c8bfd9ea-3134-4ecd-9874-1c5cdd8c5ba1}</UniqueIdentifier>
</Filter>
<Filter Include="Zip\Source Files">
<UniqueIdentifier>{e95b031f-58d2-4201-a126-4e8a23ccb368}</UniqueIdentifier>
</Filter>
<Filter Include="_Suite">
<UniqueIdentifier>{9c68186a-7804-498e-8f89-fd20774216a6}</UniqueIdentifier>
</Filter>
<Filter Include="_Suite\Header Files">
<UniqueIdentifier>{093b1010-de6d-427a-be5d-3274007958f9}</UniqueIdentifier>
</Filter>
<Filter Include="_Suite\Source Files">
<UniqueIdentifier>{ec06c8aa-0285-4b29-b343-40843db9da4e}</UniqueIdentifier>
</Filter>
<Filter Include="_Driver">
<UniqueIdentifier>{1560289b-e192-4a93-a14b-1605b2b9e343}</UniqueIdentifier>
</Filter>
<Filter Include="_Driver\Source Files">
<UniqueIdentifier>{1e0ba164-b186-4018-a175-cc1cf8e2f704}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\CompressTest.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\PartialStreamTest.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ZipTest.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ZipTestSuite.h">
<Filter>_Suite\Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\CompressTest.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\PartialStreamTest.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipTest.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipTestSuite.cpp">
<Filter>_Suite\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\WinDriver.cpp">
<Filter>_Driver\Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>

View File

@@ -0,0 +1,317 @@
<?xml version="1.0" encoding="UTF-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|x64">
<Configuration>debug_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_md|x64">
<Configuration>debug_static_md</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_mt|x64">
<Configuration>debug_static_mt</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|x64">
<Configuration>release_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_md|x64">
<Configuration>release_static_md</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_mt|x64">
<Configuration>release_static_mt</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>TestSuite</ProjectName>
<ProjectGuid>{9665FC3C-DB71-4C6C-AAEE-AAFD73CB31E7}</ProjectGuid>
<RootNamespace>TestSuite</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>Dynamic</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>Dynamic</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>Dynamic</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>Dynamic</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<ImportGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;" Label="PropertySheets">
<Import Condition="exists(&apos;$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props&apos;)" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">bin64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">bin64\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">false</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;">bin64\static_mt\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;">bin64\static_mt\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;">false</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;">bin64\static_md\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;">true</LinkIncremental>
<OutDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;">bin64\static_md\</OutDir>
<IntDir Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;">obj64\$(Configuration)\</IntDir>
<LinkIncremental Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;">false</LinkIncremental>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">TestSuited</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;">TestSuited</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;">TestSuited</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">TestSuite</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;">TestSuite</TargetName>
<TargetName Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;">TestSuite</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_shared|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitd.lib;WinTestRunnerd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin64\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_shared|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnit.lib;WinTestRunner.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_mt|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmtd.lib;WinTestRunnermtd.lib;iphlpapi.lib;winmm.lib;nafxcwd.lib;libcmtd.lib;WinTestRunner.res;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>nafxcwd.lib;libcmtd.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin64\static_mt\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_mt|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmt.lib;WinTestRunnermt.lib;iphlpapi.lib;winmm.lib;nafxcw.lib;libcmt.lib;WinTestRunner.res;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>nafxcw.lib;libcmt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;debug_static_md|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmdd.lib;WinTestRunnermdd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin64\static_md\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;release_static_md|x64&apos;">
<ClCompile>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0500;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmd.lib;WinTestRunnermd.lib;iphlpapi.lib;winmm.lib;WinTestRunner.res;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="src\CompressTest.h"/>
<ClInclude Include="src\PartialStreamTest.h"/>
<ClInclude Include="src\ZipTest.h"/>
<ClInclude Include="src\ZipTestSuite.h"/>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\CompressTest.cpp"/>
<ClCompile Include="src\PartialStreamTest.cpp"/>
<ClCompile Include="src\ZipTest.cpp"/>
<ClCompile Include="src\ZipTestSuite.cpp"/>
<ClCompile Include="src\WinDriver.cpp"/>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Zip">
<UniqueIdentifier>{f338ba83-f39e-4073-8332-01d795f7b634}</UniqueIdentifier>
</Filter>
<Filter Include="Zip\Header Files">
<UniqueIdentifier>{95e2c252-5e12-4ee2-930c-d6763f361109}</UniqueIdentifier>
</Filter>
<Filter Include="Zip\Source Files">
<UniqueIdentifier>{81580a2f-d173-44af-ba2b-ed925dac5ffa}</UniqueIdentifier>
</Filter>
<Filter Include="_Suite">
<UniqueIdentifier>{af72a3f4-2a10-4c7e-aa34-0764d850a4a2}</UniqueIdentifier>
</Filter>
<Filter Include="_Suite\Header Files">
<UniqueIdentifier>{c517768e-2db3-4298-8930-70652c676569}</UniqueIdentifier>
</Filter>
<Filter Include="_Suite\Source Files">
<UniqueIdentifier>{7e36d2b5-12ed-4e01-be72-2f51ff44a03d}</UniqueIdentifier>
</Filter>
<Filter Include="_Driver">
<UniqueIdentifier>{bf43474e-1b7e-45f7-b86a-b457fffa7b61}</UniqueIdentifier>
</Filter>
<Filter Include="_Driver\Source Files">
<UniqueIdentifier>{58077e88-30e7-4722-a137-36e5d648695a}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\CompressTest.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\PartialStreamTest.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ZipTest.h">
<Filter>Zip\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ZipTestSuite.h">
<Filter>_Suite\Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\CompressTest.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\PartialStreamTest.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipTest.cpp">
<Filter>Zip\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ZipTestSuite.cpp">
<Filter>_Suite\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\WinDriver.cpp">
<Filter>_Driver\Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>

View File

@@ -1,165 +1,179 @@
// //
// CompressTest.cpp // CompressTest.cpp
// //
// $Id: //poco/Main/Zip/testsuite/src/CompressTest.cpp#9 $ // $Id: //poco/Main/Zip/testsuite/src/CompressTest.cpp#9 $
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
// Permission is hereby granted, free of charge, to any person or organization // Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by // obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute, // this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the // 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 // Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following: // do so, all subject to the following:
// //
// The copyright notices in the Software and this entire statement, including // The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer, // 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 // 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 // all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by // works are solely in the form of machine-executable object code generated by
// a source language processor. // a source language processor.
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE // SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, // 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 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
// //
#include "CompressTest.h" #include "CompressTest.h"
#include "ZipTest.h" #include "ZipTest.h"
#include "Poco/Zip/Compress.h" #include "Poco/Zip/Compress.h"
#include "Poco/Zip/ZipManipulator.h" #include "Poco/Zip/ZipManipulator.h"
#include "Poco/File.h" #include "Poco/File.h"
#include "Poco/FileStream.h" #include "Poco/FileStream.h"
#include "CppUnit/TestCaller.h" #include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h" #include "CppUnit/TestSuite.h"
#include <fstream> #include <fstream>
using namespace Poco::Zip; using namespace Poco::Zip;
CompressTest::CompressTest(const std::string& name): CppUnit::TestCase(name) CompressTest::CompressTest(const std::string& name): CppUnit::TestCase(name)
{ {
} }
CompressTest::~CompressTest() CompressTest::~CompressTest()
{ {
} }
void CompressTest::testSingleFile() void CompressTest::testSingleFile()
{ {
std::ofstream out("appinf.zip", std::ios::binary); std::ofstream out("appinf.zip", std::ios::binary);
Poco::Path theFile(ZipTest::getTestFile("test.zip")); Poco::Path theFile(ZipTest::getTestFile("test.zip"));
Compress c(out, true); Compress c(out, true);
c.addFile(theFile, theFile.getFileName()); c.addFile(theFile, theFile.getFileName());
ZipArchive a(c.close()); ZipArchive a(c.close());
} }
void CompressTest::testDirectory() void CompressTest::testDirectory()
{ {
std::ofstream out("pocobin.zip", std::ios::binary); std::ofstream out("pocobin.zip", std::ios::binary);
Poco::File aFile("some/"); Poco::File aFile("some/");
if (aFile.exists()) if (aFile.exists())
aFile.remove(true); aFile.remove(true);
Poco::File aDir("some/recursive/dir/"); Poco::File aDir("some/recursive/dir/");
aDir.createDirectories(); aDir.createDirectories();
Poco::File aDir2("some/other/recursive/dir/"); Poco::File aDir2("some/other/recursive/dir/");
aDir2.createDirectories(); aDir2.createDirectories();
Poco::File aF("some/recursive/dir/test.file"); Poco::File aF("some/recursive/dir/test.file");
aF.createFile(); aF.createFile();
Poco::FileOutputStream fos(aF.path()); Poco::FileOutputStream fos(aF.path());
fos << "just some test data"; fos << "just some test data";
fos.close(); fos.close();
Poco::Path theFile(aFile.path()); Poco::Path theFile(aFile.path());
theFile.makeDirectory(); theFile.makeDirectory();
Compress c(out, true); Compress c(out, true);
c.addRecursive(theFile, ZipCommon::CL_MAXIMUM, false, theFile); c.addRecursive(theFile, ZipCommon::CL_MAXIMUM, false, theFile);
ZipArchive a(c.close()); ZipArchive a(c.close());
} }
void CompressTest::testManipulator() void CompressTest::testManipulator()
{ {
{ {
std::ofstream out("appinf.zip", std::ios::binary); std::ofstream out("appinf.zip", std::ios::binary);
Poco::Path theFile(ZipTest::getTestFile("test.zip")); Poco::Path theFile(ZipTest::getTestFile("test.zip"));
Compress c(out, true); Compress c(out, true);
c.addFile(theFile, theFile.getFileName()); c.addFile(theFile, theFile.getFileName());
ZipArchive a(c.close()); ZipArchive a(c.close());
} }
ZipManipulator zm("appinf.zip", true); ZipManipulator zm("appinf.zip", true);
zm.renameFile("test.zip", "renamedtest.zip"); zm.renameFile("test.zip", "renamedtest.zip");
zm.addFile("doc/othertest.zip", ZipTest::getTestFile("test.zip")); zm.addFile("doc/othertest.zip", ZipTest::getTestFile("test.zip"));
ZipArchive archive=zm.commit(); ZipArchive archive=zm.commit();
assert (archive.findHeader("doc/othertest.zip") != archive.headerEnd()); assert (archive.findHeader("doc/othertest.zip") != archive.headerEnd());
} }
void CompressTest::testManipulatorDel() void CompressTest::testManipulatorDel()
{ {
{ {
std::ofstream out("appinf.zip", std::ios::binary); std::ofstream out("appinf.zip", std::ios::binary);
Poco::Path theFile(ZipTest::getTestFile("test.zip")); Poco::Path theFile(ZipTest::getTestFile("test.zip"));
Compress c(out, true); Compress c(out, true);
c.addFile(theFile, theFile.getFileName()); c.addFile(theFile, theFile.getFileName());
ZipArchive a(c.close()); ZipArchive a(c.close());
} }
ZipManipulator zm("appinf.zip", true); ZipManipulator zm("appinf.zip", true);
zm.deleteFile("test.zip"); zm.deleteFile("test.zip");
zm.addFile("doc/data.zip", ZipTest::getTestFile("data.zip")); zm.addFile("doc/data.zip", ZipTest::getTestFile("data.zip"));
ZipArchive archive=zm.commit(); ZipArchive archive=zm.commit();
assert (archive.findHeader("test.zip") == archive.headerEnd()); assert (archive.findHeader("test.zip") == archive.headerEnd());
assert (archive.findHeader("doc/data.zip") != archive.headerEnd()); assert (archive.findHeader("doc/data.zip") != archive.headerEnd());
} }
void CompressTest::testManipulatorReplace() void CompressTest::testManipulatorReplace()
{ {
{ {
std::ofstream out("appinf.zip", std::ios::binary); std::ofstream out("appinf.zip", std::ios::binary);
Poco::Path theFile(ZipTest::getTestFile("test.zip")); Poco::Path theFile(ZipTest::getTestFile("test.zip"));
Compress c(out, true); Compress c(out, true);
c.addFile(theFile, theFile.getFileName()); c.addFile(theFile, theFile.getFileName());
ZipArchive a(c.close()); ZipArchive a(c.close());
} }
ZipManipulator zm("appinf.zip", true); ZipManipulator zm("appinf.zip", true);
zm.replaceFile("test.zip", ZipTest::getTestFile("doc.zip")); zm.replaceFile("test.zip", ZipTest::getTestFile("doc.zip"));
ZipArchive archive=zm.commit(); ZipArchive archive=zm.commit();
assert (archive.findHeader("test.zip") != archive.headerEnd()); assert (archive.findHeader("test.zip") != archive.headerEnd());
assert (archive.findHeader("doc.zip") == archive.headerEnd()); assert (archive.findHeader("doc.zip") == archive.headerEnd());
} }
void CompressTest::setUp() void CompressTest::testSetZipComment()
{ {
} std::string comment("Testing...123...");
std::ofstream out("comment.zip", std::ios::binary);
Poco::Path theFile(ZipTest::getTestFile("test.zip"));
void CompressTest::tearDown() Compress c(out, true);
{ c.addFile(theFile, theFile.getFileName());
} c.setZipComment(comment);
ZipArchive a(c.close());
assert(a.getZipComment() == comment);
CppUnit::Test* CompressTest::suite() }
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("CompressTest");
void CompressTest::setUp()
CppUnit_addTest(pSuite, CompressTest, testSingleFile); {
CppUnit_addTest(pSuite, CompressTest, testDirectory); }
CppUnit_addTest(pSuite, CompressTest, testManipulator);
CppUnit_addTest(pSuite, CompressTest, testManipulatorDel);
CppUnit_addTest(pSuite, CompressTest, testManipulatorReplace); void CompressTest::tearDown()
{
return pSuite; }
}
CppUnit::Test* CompressTest::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("CompressTest");
CppUnit_addTest(pSuite, CompressTest, testSingleFile);
CppUnit_addTest(pSuite, CompressTest, testDirectory);
CppUnit_addTest(pSuite, CompressTest, testManipulator);
CppUnit_addTest(pSuite, CompressTest, testManipulatorDel);
CppUnit_addTest(pSuite, CompressTest, testManipulatorReplace);
CppUnit_addTest(pSuite, CompressTest, testSetZipComment);
return pSuite;
}

View File

@@ -1,64 +1,65 @@
// //
// CompressTest.h // CompressTest.h
// //
// $Id: //poco/Main/Zip/testsuite/src/CompressTest.h#5 $ // $Id: //poco/Main/Zip/testsuite/src/CompressTest.h#5 $
// //
// Definition of the CompressTest class. // Definition of the CompressTest class.
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
// Permission is hereby granted, free of charge, to any person or organization // Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by // obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute, // this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the // 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 // Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following: // do so, all subject to the following:
// //
// The copyright notices in the Software and this entire statement, including // The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer, // 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 // 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 // all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by // works are solely in the form of machine-executable object code generated by
// a source language processor. // a source language processor.
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE // SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, // 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 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
// //
#ifndef CompressTest_INCLUDED #ifndef CompressTest_INCLUDED
#define CompressTest_INCLUDED #define CompressTest_INCLUDED
#include "Poco/Zip/Zip.h" #include "Poco/Zip/Zip.h"
#include "CppUnit/TestCase.h" #include "CppUnit/TestCase.h"
class CompressTest: public CppUnit::TestCase class CompressTest: public CppUnit::TestCase
{ {
public: public:
CompressTest(const std::string& name); CompressTest(const std::string& name);
~CompressTest(); ~CompressTest();
void testSingleFile(); void testSingleFile();
void testDirectory(); void testDirectory();
void testManipulator(); void testManipulator();
void testManipulatorDel(); void testManipulatorDel();
void testManipulatorReplace(); void testManipulatorReplace();
void testSetZipComment();
void setUp();
void tearDown(); void setUp();
void tearDown();
static CppUnit::Test* suite();
static CppUnit::Test* suite();
private:
}; private:
};
#endif // CompressTest_INCLUDED
#endif // CompressTest_INCLUDED

View File

@@ -1,139 +1,139 @@
// //
// PartialStreamTest.cpp // PartialStreamTest.cpp
// //
// $Id: //poco/Main/Zip/testsuite/src/PartialStreamTest.cpp#4 $ // $Id: //poco/Main/Zip/testsuite/src/PartialStreamTest.cpp#4 $
// //
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH. // Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors. // and Contributors.
// //
// Permission is hereby granted, free of charge, to any person or organization // Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by // obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute, // this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the // 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 // Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following: // do so, all subject to the following:
// //
// The copyright notices in the Software and this entire statement, including // The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer, // 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 // 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 // all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by // works are solely in the form of machine-executable object code generated by
// a source language processor. // a source language processor.
// //
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT // FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE // SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, // 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 // ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
// //
#include "PartialStreamTest.h" #include "PartialStreamTest.h"
#include "CppUnit/TestCaller.h" #include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h" #include "CppUnit/TestSuite.h"
#include "Poco/Zip/PartialStream.h" #include "Poco/Zip/PartialStream.h"
#include <sstream> #include <sstream>
using namespace Poco::Zip; using namespace Poco::Zip;
PartialStreamTest::PartialStreamTest(const std::string& name): CppUnit::TestCase(name) PartialStreamTest::PartialStreamTest(const std::string& name): CppUnit::TestCase(name)
{ {
} }
PartialStreamTest::~PartialStreamTest() PartialStreamTest::~PartialStreamTest()
{ {
} }
void PartialStreamTest::testReading() void PartialStreamTest::testReading()
{ {
std::string message("some dummy message !"); std::string message("some dummy message !");
std::string prefix("pre "); std::string prefix("pre ");
std::string postfix(" post"); std::string postfix(" post");
std::string result(prefix+message+postfix); std::string result(prefix+message+postfix);
std::istringstream istr(message); std::istringstream istr(message);
PartialInputStream in(istr, 0, static_cast<std::streamoff>(message.length()), true, prefix, postfix); PartialInputStream in(istr, 0, static_cast<std::streamoff>(message.length()), true, prefix, postfix);
char buf[124]; char buf[124];
in.read(buf, 124); in.read(buf, 124);
std::string res(buf, in.gcount()); std::string res(buf, static_cast<std::string::size_type>(in.gcount()));
assert (res == result); assert (res == result);
} }
void PartialStreamTest::testWriting() void PartialStreamTest::testWriting()
{ {
std::string prefix("X"); std::string prefix("X");
std::string message("some test message"); std::string message("some test message");
std::string postfix("YYY"); std::string postfix("YYY");
std::string result(prefix+message+postfix); std::string result(prefix+message+postfix);
std::ostringstream ostr; std::ostringstream ostr;
PartialOutputStream out(ostr, prefix.size(), postfix.size()); PartialOutputStream out(ostr, prefix.size(), postfix.size());
out.write(result.c_str(), static_cast<std::streamsize>(result.length())); out.write(result.c_str(), static_cast<std::streamsize>(result.length()));
assert (out.good()); assert (out.good());
out.close(); out.close();
std::string res (ostr.str()); std::string res (ostr.str());
assert (out.bytesWritten() == message.size()); assert (out.bytesWritten() == message.size());
assert (message == res); assert (message == res);
} }
void PartialStreamTest::testWritingZero() void PartialStreamTest::testWritingZero()
{ {
std::string prefix("X"); std::string prefix("X");
std::string message; std::string message;
std::string postfix("YYY"); std::string postfix("YYY");
std::string result(prefix+message+postfix); std::string result(prefix+message+postfix);
std::ostringstream ostr; std::ostringstream ostr;
PartialOutputStream out(ostr, prefix.size(), postfix.size()); PartialOutputStream out(ostr, prefix.size(), postfix.size());
out.write(result.c_str(), static_cast<std::streamsize>(result.length())); out.write(result.c_str(), static_cast<std::streamsize>(result.length()));
assert (out.good()); assert (out.good());
out.close(); out.close();
std::string res (ostr.str()); std::string res (ostr.str());
assert (out.bytesWritten() == message.size()); assert (out.bytesWritten() == message.size());
assert (message == res); assert (message == res);
} }
void PartialStreamTest::testWritingOne() void PartialStreamTest::testWritingOne()
{ {
std::string prefix("X"); std::string prefix("X");
std::string message("a"); std::string message("a");
std::string postfix("YYY"); std::string postfix("YYY");
std::string result(prefix+message+postfix); std::string result(prefix+message+postfix);
std::ostringstream ostr; std::ostringstream ostr;
PartialOutputStream out(ostr, prefix.size(), postfix.size()); PartialOutputStream out(ostr, prefix.size(), postfix.size());
out.write(result.c_str(), static_cast<std::streamsize>(result.length())); out.write(result.c_str(), static_cast<std::streamsize>(result.length()));
assert (out.good()); assert (out.good());
out.close(); out.close();
std::string res (ostr.str()); std::string res (ostr.str());
assert (out.bytesWritten() == message.size()); assert (out.bytesWritten() == message.size());
assert (message == res); assert (message == res);
} }
void PartialStreamTest::setUp() void PartialStreamTest::setUp()
{ {
} }
void PartialStreamTest::tearDown() void PartialStreamTest::tearDown()
{ {
} }
CppUnit::Test* PartialStreamTest::suite() CppUnit::Test* PartialStreamTest::suite()
{ {
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("PartialStreamTest"); CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("PartialStreamTest");
CppUnit_addTest(pSuite, PartialStreamTest, testReading); CppUnit_addTest(pSuite, PartialStreamTest, testReading);
CppUnit_addTest(pSuite, PartialStreamTest, testWriting); CppUnit_addTest(pSuite, PartialStreamTest, testWriting);
CppUnit_addTest(pSuite, PartialStreamTest, testWritingZero); CppUnit_addTest(pSuite, PartialStreamTest, testWritingZero);
CppUnit_addTest(pSuite, PartialStreamTest, testWritingOne); CppUnit_addTest(pSuite, PartialStreamTest, testWritingOne);
return pSuite; return pSuite;
} }

View File

@@ -0,0 +1,52 @@
//
// WinCEDriver.cpp
//
// $Id: //poco/1.4/Zip/testsuite/src/WinCEDriver.cpp#1 $
//
// Console-based test driver for Windows CE.
//
// Copyright (c) 2004-2010, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// 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.
//
#include "CppUnit/TestRunner.h"
#include "ZipTestSuite.h"
#include <cstdlib>
int _tmain(int argc, wchar_t* argv[])
{
std::vector<std::string> args;
for (int i = 0; i < argc; ++i)
{
char buffer[1024];
std::wcstombs(buffer, argv[i], sizeof(buffer));
args.push_back(std::string(buffer));
}
CppUnit::TestRunner runner;
runner.addTest("ZipTestSuite", ZipTestSuite::suite());
return runner.run(args) ? 0 : 1;
}