Changeset 4833
- Timestamp:
- 08/02/12 16:50:21 (11 months ago)
- Location:
- zzuf/trunk
- Files:
-
- 8 edited
-
msvc/libzzuf.vcxproj (modified) (7 diffs)
-
msvc/zzat.vcxproj (modified) (6 diffs)
-
msvc/zznop.vcxproj (modified) (6 diffs)
-
msvc/zzuf.sln (modified) (2 diffs)
-
msvc/zzuf.vcxproj (modified) (7 diffs)
-
src/libzzuf/sys.c (modified) (3 diffs)
-
src/myfork.c (modified) (10 diffs)
-
src/zzuf.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
zzuf/trunk/msvc/libzzuf.vcxproj
r4832 r4833 6 6 <Platform>Win32</Platform> 7 7 </ProjectConfiguration> 8 <ProjectConfiguration Include="Debug|x64"> 9 <Configuration>Debug</Configuration> 10 <Platform>x64</Platform> 11 </ProjectConfiguration> 8 12 <ProjectConfiguration Include="Release|Win32"> 9 13 <Configuration>Release</Configuration> 10 14 <Platform>Win32</Platform> 15 </ProjectConfiguration> 16 <ProjectConfiguration Include="Release|x64"> 17 <Configuration>Release</Configuration> 18 <Platform>x64</Platform> 11 19 </ProjectConfiguration> 12 20 </ItemGroup> … … 20 28 <CharacterSet>MultiByte</CharacterSet> 21 29 </PropertyGroup> 30 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> 31 <ConfigurationType>DynamicLibrary</ConfigurationType> 32 <CharacterSet>MultiByte</CharacterSet> 33 </PropertyGroup> 22 34 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> 35 <ConfigurationType>DynamicLibrary</ConfigurationType> 36 <CharacterSet>MultiByte</CharacterSet> 37 </PropertyGroup> 38 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> 23 39 <ConfigurationType>DynamicLibrary</ConfigurationType> 24 40 <CharacterSet>MultiByte</CharacterSet> … … 30 46 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 31 47 </ImportGroup> 48 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> 49 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 50 </ImportGroup> 32 51 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> 52 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 53 </ImportGroup> 54 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> 33 55 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 34 56 </ImportGroup> … … 37 59 <_ProjectFileVersion>10.0.21006.1</_ProjectFileVersion> 38 60 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir> 61 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\</OutDir> 39 62 <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\$(ProjectName)\</IntDir> 63 <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\$(ProjectName)\</IntDir> 40 64 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> 65 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> 41 66 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir> 67 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\</OutDir> 42 68 <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\$(ProjectName)\</IntDir> 69 <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\$(ProjectName)\</IntDir> 43 70 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> 71 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> 44 72 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> 73 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> 45 74 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> 75 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> 46 76 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> 77 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> 47 78 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> 79 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> 48 80 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> 81 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> 49 82 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> 83 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> 50 84 </PropertyGroup> 51 85 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> … … 77 111 </ResourceCompile> 78 112 </ItemDefinitionGroup> 113 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> 114 <ClCompile> 115 <Optimization>Disabled</Optimization> 116 <AdditionalIncludeDirectories>..\msvc;..\src\common;..\src\libzzuf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 117 <PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;LIBZZUF;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> 118 <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> 119 <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> 120 <ObjectFileName>$(IntDir).libs/</ObjectFileName> 121 <WarningLevel>Level3</WarningLevel> 122 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> 123 <CompileAs>CompileAsC</CompileAs> 124 </ClCompile> 125 <Link> 126 <AdditionalDependencies>imagehlp.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> 127 <GenerateDebugInformation>true</GenerateDebugInformation> 128 <SubSystem>Windows</SubSystem> 129 </Link> 130 <Midl> 131 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> 132 <MkTypLibCompatible>false</MkTypLibCompatible> 133 </Midl> 134 <ResourceCompile> 135 <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> 136 <Culture>0x0409</Culture> 137 </ResourceCompile> 138 </ItemDefinitionGroup> 79 139 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> 80 140 <ClCompile> … … 94 154 <EnableCOMDATFolding>true</EnableCOMDATFolding> 95 155 <TargetMachine>MachineX86</TargetMachine> 156 </Link> 157 <Midl> 158 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> 159 <MkTypLibCompatible>false</MkTypLibCompatible> 160 </Midl> 161 <ResourceCompile> 162 <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> 163 <Culture>0x0409</Culture> 164 </ResourceCompile> 165 </ItemDefinitionGroup> 166 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> 167 <ClCompile> 168 <AdditionalIncludeDirectories>..\msvc;..\src\common;..\src\libzzuf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 169 <PreprocessorDefinitions>WIN32;_WINDOWS;LIBZZUF;NDEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> 170 <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> 171 <ObjectFileName>$(IntDir).libs/</ObjectFileName> 172 <WarningLevel>Level3</WarningLevel> 173 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> 174 <CompileAs>CompileAsC</CompileAs> 175 </ClCompile> 176 <Link> 177 <AdditionalDependencies>imagehlp.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> 178 <GenerateDebugInformation>true</GenerateDebugInformation> 179 <SubSystem>Windows</SubSystem> 180 <OptimizeReferences>true</OptimizeReferences> 181 <EnableCOMDATFolding>true</EnableCOMDATFolding> 96 182 </Link> 97 183 <Midl> … … 125 211 <ClCompile Include="..\src\com_regexp.cpp"> 126 212 <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs> 213 <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs> 127 214 <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs> 215 <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs> 128 216 </ClCompile> 129 217 <ClCompile Include="..\src\libzzuf\debug.c" /> -
zzuf/trunk/msvc/zzat.vcxproj
r4813 r4833 6 6 <Platform>Win32</Platform> 7 7 </ProjectConfiguration> 8 <ProjectConfiguration Include="Debug|x64"> 9 <Configuration>Debug</Configuration> 10 <Platform>x64</Platform> 11 </ProjectConfiguration> 8 12 <ProjectConfiguration Include="Release|Win32"> 9 13 <Configuration>Release</Configuration> 10 14 <Platform>Win32</Platform> 15 </ProjectConfiguration> 16 <ProjectConfiguration Include="Release|x64"> 17 <Configuration>Release</Configuration> 18 <Platform>x64</Platform> 11 19 </ProjectConfiguration> 12 20 </ItemGroup> … … 20 28 <CharacterSet>MultiByte</CharacterSet> 21 29 </PropertyGroup> 30 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> 31 <ConfigurationType>Application</ConfigurationType> 32 <CharacterSet>MultiByte</CharacterSet> 33 </PropertyGroup> 22 34 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> 35 <ConfigurationType>Application</ConfigurationType> 36 <CharacterSet>MultiByte</CharacterSet> 37 </PropertyGroup> 38 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> 23 39 <ConfigurationType>Application</ConfigurationType> 24 40 <CharacterSet>MultiByte</CharacterSet> … … 30 46 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 31 47 </ImportGroup> 48 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> 49 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 50 </ImportGroup> 32 51 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> 52 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 53 </ImportGroup> 54 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> 33 55 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 34 56 </ImportGroup> … … 37 59 <_ProjectFileVersion>10.0.21006.1</_ProjectFileVersion> 38 60 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir> 61 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\</OutDir> 39 62 <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\$(ProjectName)\</IntDir> 63 <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\$(ProjectName)\</IntDir> 40 64 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> 65 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> 41 66 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir> 67 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\</OutDir> 42 68 <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\$(ProjectName)\</IntDir> 69 <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\$(ProjectName)\</IntDir> 43 70 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> 71 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> 44 72 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> 73 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> 45 74 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> 75 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> 46 76 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> 77 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> 47 78 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> 79 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> 48 80 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> 81 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> 49 82 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> 83 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> 50 84 </PropertyGroup> 51 85 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> … … 72 106 </Link> 73 107 </ItemDefinitionGroup> 108 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> 109 <ClCompile> 110 <Optimization>Disabled</Optimization> 111 <AdditionalIncludeDirectories>..\msvc;..\..\libcaca\caca;..\..\libcaca\caca\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 112 <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> 113 <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> 114 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> 115 <PrecompiledHeader> 116 </PrecompiledHeader> 117 <WarningLevel>Level3</WarningLevel> 118 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> 119 <CompileAs>CompileAsC</CompileAs> 120 </ClCompile> 121 <Link> 122 <AdditionalDependencies>ws2_32.lib;..\..\libcaca\win32\Debug\x64\libcaca.lib;%(AdditionalDependencies)</AdditionalDependencies> 123 <OutputFile>$(OutDir)zzat.exe</OutputFile> 124 <GenerateDebugInformation>true</GenerateDebugInformation> 125 <ProgramDatabaseFile>$(OutDir)zzat.pdb</ProgramDatabaseFile> 126 <SubSystem>Console</SubSystem> 127 </Link> 128 </ItemDefinitionGroup> 74 129 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> 75 130 <ClCompile> … … 93 148 </Link> 94 149 </ItemDefinitionGroup> 150 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> 151 <ClCompile> 152 <AdditionalIncludeDirectories>..\msvc;..\..\libcaca\caca;..\..\libcaca\caca\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 153 <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> 154 <RuntimeLibrary>MultiThreaded</RuntimeLibrary> 155 <PrecompiledHeader> 156 </PrecompiledHeader> 157 <WarningLevel>Level3</WarningLevel> 158 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> 159 <CompileAs>CompileAsC</CompileAs> 160 </ClCompile> 161 <Link> 162 <AdditionalDependencies>ws2_32.lib;..\..\libcaca\win32\Release\x64\libcaca.lib;%(AdditionalDependencies)</AdditionalDependencies> 163 <OutputFile>$(OutDir)zzat.exe</OutputFile> 164 <GenerateDebugInformation>true</GenerateDebugInformation> 165 <SubSystem>Console</SubSystem> 166 <OptimizeReferences>true</OptimizeReferences> 167 <EnableCOMDATFolding>true</EnableCOMDATFolding> 168 </Link> 169 </ItemDefinitionGroup> 95 170 <ItemGroup> 96 171 <ClCompile Include="..\src\zzat.c"> 97 172 <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(FileName)1.obj</ObjectFileName> 173 <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)%(FileName)1.obj</ObjectFileName> 98 174 <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(FileName)1.obj</ObjectFileName> 175 <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)%(FileName)1.obj</ObjectFileName> 99 176 </ClCompile> 100 177 </ItemGroup> -
zzuf/trunk/msvc/zznop.vcxproj
r4675 r4833 6 6 <Platform>Win32</Platform> 7 7 </ProjectConfiguration> 8 <ProjectConfiguration Include="Debug|x64"> 9 <Configuration>Debug</Configuration> 10 <Platform>x64</Platform> 11 </ProjectConfiguration> 8 12 <ProjectConfiguration Include="Release|Win32"> 9 13 <Configuration>Release</Configuration> 10 14 <Platform>Win32</Platform> 15 </ProjectConfiguration> 16 <ProjectConfiguration Include="Release|x64"> 17 <Configuration>Release</Configuration> 18 <Platform>x64</Platform> 11 19 </ProjectConfiguration> 12 20 </ItemGroup> … … 20 28 <CharacterSet>MultiByte</CharacterSet> 21 29 </PropertyGroup> 30 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> 31 <ConfigurationType>Application</ConfigurationType> 32 <CharacterSet>MultiByte</CharacterSet> 33 </PropertyGroup> 22 34 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> 35 <ConfigurationType>Application</ConfigurationType> 36 <CharacterSet>MultiByte</CharacterSet> 37 </PropertyGroup> 38 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> 23 39 <ConfigurationType>Application</ConfigurationType> 24 40 <CharacterSet>MultiByte</CharacterSet> … … 30 46 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 31 47 </ImportGroup> 48 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> 49 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 50 </ImportGroup> 32 51 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> 52 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 53 </ImportGroup> 54 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> 33 55 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 34 56 </ImportGroup> … … 37 59 <_ProjectFileVersion>10.0.21006.1</_ProjectFileVersion> 38 60 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir> 61 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\</OutDir> 39 62 <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\$(ProjectName)\</IntDir> 63 <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\$(ProjectName)\</IntDir> 40 64 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> 65 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> 41 66 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir> 67 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\</OutDir> 42 68 <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\$(ProjectName)\</IntDir> 69 <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\$(ProjectName)\</IntDir> 43 70 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> 71 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> 44 72 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> 73 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> 45 74 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> 75 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> 46 76 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> 77 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> 47 78 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> 79 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> 48 80 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> 81 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> 49 82 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> 83 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> 50 84 </PropertyGroup> 51 85 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> … … 72 106 </Link> 73 107 </ItemDefinitionGroup> 108 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> 109 <ClCompile> 110 <Optimization>Disabled</Optimization> 111 <AdditionalIncludeDirectories>..\msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 112 <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> 113 <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> 114 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> 115 <PrecompiledHeader> 116 </PrecompiledHeader> 117 <WarningLevel>Level3</WarningLevel> 118 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> 119 <CompileAs>CompileAsC</CompileAs> 120 </ClCompile> 121 <Link> 122 <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> 123 <OutputFile>$(OutDir)zznop.exe</OutputFile> 124 <GenerateDebugInformation>true</GenerateDebugInformation> 125 <ProgramDatabaseFile>$(OutDir)zznop.pdb</ProgramDatabaseFile> 126 <SubSystem>Console</SubSystem> 127 </Link> 128 </ItemDefinitionGroup> 74 129 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> 75 130 <ClCompile> … … 93 148 </Link> 94 149 </ItemDefinitionGroup> 150 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> 151 <ClCompile> 152 <AdditionalIncludeDirectories>..\msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 153 <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> 154 <RuntimeLibrary>MultiThreaded</RuntimeLibrary> 155 <PrecompiledHeader> 156 </PrecompiledHeader> 157 <WarningLevel>Level3</WarningLevel> 158 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> 159 <CompileAs>CompileAsC</CompileAs> 160 </ClCompile> 161 <Link> 162 <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> 163 <OutputFile>$(OutDir)zznop.exe</OutputFile> 164 <GenerateDebugInformation>true</GenerateDebugInformation> 165 <SubSystem>Console</SubSystem> 166 <OptimizeReferences>true</OptimizeReferences> 167 <EnableCOMDATFolding>true</EnableCOMDATFolding> 168 </Link> 169 </ItemDefinitionGroup> 95 170 <ItemGroup> 96 171 <ClCompile Include="..\test\zznop.c"> 97 172 <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(FileName)1.obj</ObjectFileName> 173 <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)%(FileName)1.obj</ObjectFileName> 98 174 <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(FileName)1.obj</ObjectFileName> 175 <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)%(FileName)1.obj</ObjectFileName> 99 176 </ClCompile> 100 177 </ItemGroup> -
zzuf/trunk/msvc/zzuf.sln
r4729 r4833 1 1 2 2 Microsoft Visual Studio Solution File, Format Version 11.00 3 # Visual C++ Express20103 # Visual Studio 2010 4 4 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zzuf", "zzuf.vcxproj", "{2E5723ED-A886-45A9-AAAC-3D02F2EFC358}" 5 5 EndProject … … 13 13 GlobalSection(SolutionConfigurationPlatforms) = preSolution 14 14 Debug|Win32 = Debug|Win32 15 Debug| x64 = Debug|x6415 Debug|Win64 = Debug|Win64 16 16 Release|Win32 = Release|Win32 17 Release| x64 = Release|x6417 Release|Win64 = Release|Win64 18 18 EndGlobalSection 19 19 GlobalSection(ProjectConfigurationPlatforms) = postSolution 20 20 {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Debug|Win32.ActiveCfg = Debug|Win32 21 21 {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Debug|Win32.Build.0 = Debug|Win32 22 {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Debug| x64.ActiveCfg = Debug|Win3223 {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Debug| x64.Build.0 = Debug|Win3222 {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Debug|Win64.ActiveCfg = Debug|x64 23 {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Debug|Win64.Build.0 = Debug|x64 24 24 {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Release|Win32.ActiveCfg = Release|Win32 25 25 {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Release|Win32.Build.0 = Release|Win32 26 {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Release| x64.ActiveCfg = Release|Win3227 {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Release| x64.Build.0 = Release|Win3226 {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Release|Win64.ActiveCfg = Release|x64 27 {2E5723ED-A886-45A9-AAAC-3D02F2EFC358}.Release|Win64.Build.0 = Release|x64 28 28 {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Debug|Win32.ActiveCfg = Debug|Win32 29 29 {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Debug|Win32.Build.0 = Debug|Win32 30 {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Debug| x64.ActiveCfg = Debug|Win3231 {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Debug| x64.Build.0 = Debug|Win3230 {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Debug|Win64.ActiveCfg = Debug|x64 31 {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Debug|Win64.Build.0 = Debug|x64 32 32 {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Release|Win32.ActiveCfg = Release|Win32 33 33 {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Release|Win32.Build.0 = Release|Win32 34 {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Release| x64.ActiveCfg = Release|Win3235 {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Release| x64.Build.0 = Release|Win3234 {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Release|Win64.ActiveCfg = Release|x64 35 {E658DCE5-E1E5-41C8-910B-1CC2D73C435C}.Release|Win64.Build.0 = Release|x64 36 36 {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Debug|Win32.ActiveCfg = Debug|Win32 37 37 {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Debug|Win32.Build.0 = Debug|Win32 38 {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Debug| x64.ActiveCfg = Debug|Win3239 {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Debug| x64.Build.0 = Debug|Win3238 {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Debug|Win64.ActiveCfg = Debug|x64 39 {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Debug|Win64.Build.0 = Debug|x64 40 40 {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Release|Win32.ActiveCfg = Release|Win32 41 41 {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Release|Win32.Build.0 = Release|Win32 42 {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Release| x64.ActiveCfg = Release|Win3243 {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Release| x64.Build.0 = Release|Win3242 {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Release|Win64.ActiveCfg = Release|x64 43 {04486051-18D2-402D-91C0-3E0A8F2FD0D7}.Release|Win64.Build.0 = Release|x64 44 44 {83987482-7F82-427E-7832-809F80AB809C}.Debug|Win32.ActiveCfg = Debug|Win32 45 45 {83987482-7F82-427E-7832-809F80AB809C}.Debug|Win32.Build.0 = Debug|Win32 46 {83987482-7F82-427E-7832-809F80AB809C}.Debug| x64.ActiveCfg = Debug|Win3247 {83987482-7F82-427E-7832-809F80AB809C}.Debug| x64.Build.0 = Debug|Win3246 {83987482-7F82-427E-7832-809F80AB809C}.Debug|Win64.ActiveCfg = Debug|x64 47 {83987482-7F82-427E-7832-809F80AB809C}.Debug|Win64.Build.0 = Debug|x64 48 48 {83987482-7F82-427E-7832-809F80AB809C}.Release|Win32.ActiveCfg = Release|Win32 49 49 {83987482-7F82-427E-7832-809F80AB809C}.Release|Win32.Build.0 = Release|Win32 50 {83987482-7F82-427E-7832-809F80AB809C}.Release| x64.ActiveCfg = Release|Win3251 {83987482-7F82-427E-7832-809F80AB809C}.Release| x64.Build.0 = Release|Win3250 {83987482-7F82-427E-7832-809F80AB809C}.Release|Win64.ActiveCfg = Release|x64 51 {83987482-7F82-427E-7832-809F80AB809C}.Release|Win64.Build.0 = Release|x64 52 52 EndGlobalSection 53 53 GlobalSection(SolutionProperties) = preSolution -
zzuf/trunk/msvc/zzuf.vcxproj
r4832 r4833 6 6 <Platform>Win32</Platform> 7 7 </ProjectConfiguration> 8 <ProjectConfiguration Include="Debug|x64"> 9 <Configuration>Debug</Configuration> 10 <Platform>x64</Platform> 11 </ProjectConfiguration> 8 12 <ProjectConfiguration Include="Release|Win32"> 9 13 <Configuration>Release</Configuration> 10 14 <Platform>Win32</Platform> 15 </ProjectConfiguration> 16 <ProjectConfiguration Include="Release|x64"> 17 <Configuration>Release</Configuration> 18 <Platform>x64</Platform> 11 19 </ProjectConfiguration> 12 20 </ItemGroup> … … 20 28 <CharacterSet>MultiByte</CharacterSet> 21 29 </PropertyGroup> 30 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> 31 <ConfigurationType>Application</ConfigurationType> 32 <CharacterSet>MultiByte</CharacterSet> 33 </PropertyGroup> 22 34 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> 35 <ConfigurationType>Application</ConfigurationType> 36 <CharacterSet>MultiByte</CharacterSet> 37 </PropertyGroup> 38 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> 23 39 <ConfigurationType>Application</ConfigurationType> 24 40 <CharacterSet>MultiByte</CharacterSet> … … 30 46 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 31 47 </ImportGroup> 48 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> 49 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 50 </ImportGroup> 32 51 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> 52 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 53 </ImportGroup> 54 <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> 33 55 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> 34 56 </ImportGroup> … … 37 59 <_ProjectFileVersion>10.0.21006.1</_ProjectFileVersion> 38 60 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir> 61 <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\</OutDir> 39 62 <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\$(ProjectName)\</IntDir> 63 <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\$(ProjectName)\</IntDir> 40 64 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> 65 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental> 41 66 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir> 67 <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\</OutDir> 42 68 <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\$(ProjectName)\</IntDir> 69 <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\$(ProjectName)\</IntDir> 43 70 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> 71 <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> 44 72 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> 73 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> 45 74 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> 75 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> 46 76 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> 77 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> 47 78 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> 79 <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> 48 80 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> 81 <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> 49 82 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> 83 <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> 50 84 </PropertyGroup> 51 85 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> … … 72 106 </Link> 73 107 </ItemDefinitionGroup> 108 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> 109 <ClCompile> 110 <Optimization>Disabled</Optimization> 111 <AdditionalIncludeDirectories>..\msvc;..\src\common;..\..\libcaca\caca;..\..\libcaca\caca\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 112 <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> 113 <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> 114 <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> 115 <PrecompiledHeader> 116 </PrecompiledHeader> 117 <WarningLevel>Level3</WarningLevel> 118 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> 119 <CompileAs>CompileAsC</CompileAs> 120 </ClCompile> 121 <Link> 122 <AdditionalDependencies>ws2_32.lib;..\..\libcaca\win32\Debug\x64\libcaca.lib;%(AdditionalDependencies)</AdditionalDependencies> 123 <OutputFile>$(OutDir)zzuf.exe</OutputFile> 124 <GenerateDebugInformation>true</GenerateDebugInformation> 125 <ProgramDatabaseFile>$(OutDir)zzuf.pdb</ProgramDatabaseFile> 126 <SubSystem>Console</SubSystem> 127 </Link> 128 </ItemDefinitionGroup> 74 129 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> 75 130 <ClCompile> … … 91 146 <EnableCOMDATFolding>true</EnableCOMDATFolding> 92 147 <TargetMachine>MachineX86</TargetMachine> 148 </Link> 149 </ItemDefinitionGroup> 150 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> 151 <ClCompile> 152 <AdditionalIncludeDirectories>..\msvc;..\src\common;..\..\libcaca\caca;..\..\libcaca\caca\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 153 <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> 154 <RuntimeLibrary>MultiThreaded</RuntimeLibrary> 155 <PrecompiledHeader> 156 </PrecompiledHeader> 157 <WarningLevel>Level3</WarningLevel> 158 <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> 159 <CompileAs>CompileAsC</CompileAs> 160 </ClCompile> 161 <Link> 162 <AdditionalDependencies>ws2_32.lib;..\..\libcaca\win32\Release\x64\libcaca.lib;%(AdditionalDependencies)</AdditionalDependencies> 163 <OutputFile>$(OutDir)zzuf.exe</OutputFile> 164 <GenerateDebugInformation>true</GenerateDebugInformation> 165 <SubSystem>Console</SubSystem> 166 <OptimizeReferences>true</OptimizeReferences> 167 <EnableCOMDATFolding>true</EnableCOMDATFolding> 93 168 </Link> 94 169 </ItemDefinitionGroup> … … 113 188 <ClCompile Include="..\src\com_regexp.cpp"> 114 189 <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CompileAsCpp</CompileAs> 190 <CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CompileAsCpp</CompileAs> 115 191 <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CompileAsCpp</CompileAs> 192 <CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CompileAsCpp</CompileAs> 116 193 </ClCompile> 117 194 <ClCompile Include="..\src\md5.c" /> -
zzuf/trunk/src/libzzuf/sys.c
r4831 r4833 99 99 #define MK_JMP_JD(dst, src) ((dst) - ((src) + 5)) 100 100 101 static int modrm_sib_size(uint8_t* code) 102 { 103 static uint8_t modrm_size[] = { 0, 1, 4, 0 }; /* [reg ...], [reg ... + sbyte], [reg ... + sdword], reg */ 104 uint8_t modrm = *code; 105 106 if (modrm == 0x05) /* [(rip) + sdword] */ return 1 + 4; 107 108 /* Does the instruciton have a SIB byte ? */ 109 return 1 + (!!(((modrm & 0x7) == 0x4) && ((modrm >> 6) != 0x3))) + modrm_size[modrm >> 6]; 110 } 111 101 112 /* zz_lde is a _very_ simple length disassemble engine. 102 113 * x64 is not tested and should not work. */ 103 static int zz_lde(uint8_t *code , int required_size)114 static int zz_lde(uint8_t *code) 104 115 { 105 116 int insn_size = 0; 106 static uint8_t modrm_size[] = { 0, 1, 4, 0 }; /* [reg ...], [reg ... + sbyte], [reg ... + sdword], reg */ 107 108 while (insn_size < required_size) 109 { 110 uint8_t opcd = code[insn_size++]; 111 112 /* Simple instructions should be placed here */ 113 switch (opcd) 114 { 115 case 0x68: insn_size += 4; continue; /* PUSH Iv */ 116 case 0x6a: insn_size += 1; continue; /* PUSH Ib */ 117 default: break; 118 } 119 120 /* PUSH/POP rv */ 121 if ((opcd & 0xf0) == 0x50) continue; 122 123 /* MOV Ev, Gv or Gv, Ev */ 124 else if (opcd == 0x89 || opcd == 0x8b) 125 { 126 uint8_t modrm = code[insn_size++]; 127 128 /* Does the instruciton have a SIB byte ? */ 129 if (((modrm & 0x7) == 0x4) && ((modrm >> 6) != 0x3)) 130 insn_size++; 131 132 insn_size += modrm_size[modrm >> 6]; 133 134 continue; 135 } 136 137 138 /* If we can't disassemble the current instruction, we give up */ 139 return -1; 117 118 uint8_t opcd = code[insn_size++]; 119 int imm_size = 4; /* Iv */ 120 121 #ifdef _M_AMD64 122 // REX prefix 123 if ((opcd & 0xf8) == 0x48) 124 { 125 imm_size = 8; /* REX.W */ 126 opcd = code[insn_size++]; 127 } 128 #endif 129 130 /* Simple instructions should be placed here */ 131 switch (opcd) 132 { 133 case 0x68: insn_size += 4; break; /* PUSH Iv */ 134 case 0x6a: insn_size += 1; break; /* PUSH Ib */ 135 default: break; 136 } 137 138 /* PUSH/POP rv */ 139 if ((opcd & 0xf0) == 0x50) return insn_size; 140 141 /* MNEM E?, G? or G?, E? */ 142 switch (opcd) 143 { 144 case 0x89: /* mov Ev, Gv */ 145 case 0x8b: /* mov Gv, Ev */ 146 insn_size += modrm_sib_size(code + insn_size); 147 break; 148 149 case 0x80: /* Group#1 Eb, Ib */ 150 case 0x82: /* Group#1 Eb, Ib */ 151 case 0x83: /* Group#1 Ev, Ib */ 152 insn_size += (modrm_sib_size(code + insn_size) + 1); 153 break; 154 155 case 0x81: /* Group#1 Ev, Iz */ 156 insn_size += (modrm_sib_size(code + insn_size) + 4); 157 break; 158 159 case 0xff: 160 if ((code[insn_size] & 0x38) == 0x30) /* PUSH Ev */ 161 insn_size += modrm_sib_size(code + insn_size); 162 break; 163 164 default: break; 140 165 } 141 166 142 167 return insn_size; 168 } 169 170 /* This function returns the required size to insert a patch */ 171 static int compute_patch_size(uint8_t *code, int required_size) 172 { 173 int patch_size = 0; 174 while (patch_size < required_size) 175 { 176 int insn_size = zz_lde(code); 177 if (insn_size == 0) return -1; 178 patch_size += insn_size; 179 } 180 return patch_size; 181 } 182 183 static void make_jmp32(uint8_t *src, uint8_t *dst, uint8_t *code) 184 { 185 *(uint8_t *)(code + 0) = 0xe9; /* JMP Jd */ 186 *(uint32_t *)(code + 1) = (uint32_t)MK_JMP_JD(dst, src); 187 } 188 189 static void make_jmp64(uint8_t *dst, uint8_t *code) 190 { 191 memcpy(code, "\x48\xb8", 2); /* MOV rAX, Iq */ 192 *(uint64_t *)(code + 2) = (uint64_t)dst; 193 memcpy(code + 10, "\xff\xe0", 2); /* JMP rAX */ 194 } 195 196 /* This function allocates and fills a trampoline for the function pointed by code. It also tries to handle some relocations. */ 197 static int make_trampoline(uint8_t *code, size_t patch_size, uint8_t **trampoline_buf, size_t *trampoline_size) 198 { 199 uint8_t *trampoline; 200 201 *trampoline_buf = NULL; 202 *trampoline_size = 0; 203 204 #ifdef _M_AMD64 205 { 206 size_t code_offset = 0; 207 size_t trampoline_offset = 0; 208 const size_t reloc_size = -7 /* size of mov rax, [rip + ...] */ +10 /* size of mov rax, Iq */; 209 210 trampoline = malloc(patch_size + reloc_size + 13); /* Worst case */ 211 if (trampoline == NULL) return -1; 212 memset(trampoline, 0xcc, patch_size + 13); 213 214 while (code_offset < patch_size) 215 { 216 int insn_size = zz_lde(code + code_offset); 217 if (insn_size == 0) return -1; 218 219 /* mov rax, [rip + ...] is the signature for stack cookie */ 220 if (!memcmp(code + code_offset, "\x48\x8b\x05", 3)) 221 { 222 uint64_t *cookie_address = (uint64_t *)(code + code_offset + insn_size + *(uint32_t *)(code + code_offset + 3)); 223 patch_size += reloc_size; 224 225 memcpy(trampoline + trampoline_offset, "\x48\xb8", 2); /* MOV rAX, Iq */ 226 *(uint64_t *)(trampoline + trampoline_offset + 2) = *cookie_address; 227 trampoline_offset += 10; 228 } 229 else 230 { 231 *trampoline_size += insn_size; 232 memcpy(trampoline + trampoline_offset, code + code_offset, insn_size); 233 trampoline_offset += insn_size; 234 } 235 236 code_offset += insn_size; 237 } 238 239 240 /* We can't use make_jmp64 since rAX is used by the __security_cookie */ 241 memcpy(trampoline + trampoline_offset, "\x49\xba", 2); /* MOV r10, Iq */ 242 *(uint64_t *)(trampoline + trampoline_offset + 2) = (uint64_t)(code + code_offset); 243 memcpy(trampoline + trampoline_offset + 10, "\x41\xff\xe2", 3); /* JMP r10 */ 244 245 *trampoline_buf = trampoline; 246 *trampoline_size = trampoline_offset; 247 return 0; 248 } 249 #elif _M_IX86 250 trampoline = malloc(patch_size + 5); 251 if (trampoline == NULL) return -1; 252 memcpy(trampoline, code, patch_size); 253 make_jmp32(trampoline + patch_size, code + patch_size, trampoline + patch_size); 254 255 *trampoline_size = patch_size; 256 *trampoline_buf = trampoline; 257 return 0; 258 #else 259 # error Unsupported architecture ! 260 #endif 143 261 } 144 262 … … 149 267 static int hook_inline(uint8_t *old_api, uint8_t *new_api, uint8_t **trampoline_api) 150 268 { 151 int res = -1; 152 int patch_size = 0; 153 uint8_t *jmp_prolog = NULL; 154 uint8_t *trampoline = NULL; 269 int res = -1; 270 int required_size = 5; 271 int patch_size = 0; 272 uint8_t jmp_prolog[12]; 273 uint8_t *trampoline = NULL; 274 size_t trampoline_size = 0; 155 275 DWORD old_prot; 156 276 277 *trampoline_api = NULL; 278 279 memset(jmp_prolog, 0xcc, sizeof(jmp_prolog)); 280 281 #ifdef _M_AMD64 282 if (new_api - old_api > 0xffffffff) 283 { 284 required_size = 12; 285 make_jmp64(new_api, jmp_prolog); 286 } 287 else make_jmp32(old_api, new_api, jmp_prolog); 288 #elif _M_IX86 289 make_jmp32(old_api, new_api, jmp_prolog); 290 #else 291 # error Unsupported architecture ! 292 #endif 293 157 294 /* if we can't get enough byte, we quit */ 158 if ((patch_size = zz_lde(old_api, 5)) == -1)295 if ((patch_size = compute_patch_size(old_api, required_size)) == -1) 159 296 return -1; 160 297 161 if ((jmp_prolog = malloc(patch_size)) == NULL) goto _out; 162 memset(jmp_prolog, '\xcc', patch_size); /* We use 0xcc because the code after the jmp should be executed */ 163 164 *trampoline_api = NULL; 165 166 jmp_prolog[0] = '\xe9'; /* jmp Jd */ 167 *(uint32_t *)(&jmp_prolog[1]) = MK_JMP_JD(new_api, old_api); 168 169 trampoline = malloc(patch_size + 5); /* size of old byte + sizeof of jmp Jd */ 170 memcpy(trampoline, old_api, patch_size); 171 *(uint8_t *)&trampoline[patch_size] = '\xe9'; /* jmp Jd */ 172 *(uint32_t *)&trampoline[patch_size + 1] = MK_JMP_JD(old_api + patch_size, trampoline + patch_size); 298 if (make_trampoline(old_api, patch_size, &trampoline, &trampoline_size) < 0) goto _out; 173 299 174 300 /* We must make the trampoline executable, this line is required because of DEP */ 175 301 /* NOTE: We _must_ set the write protection, otherwise the heap allocator will crash ! */ 176 if (!VirtualProtect(trampoline, patch_size + 5, PAGE_EXECUTE_READWRITE, &old_prot)) goto _out;302 if (!VirtualProtect(trampoline, trampoline_size, PAGE_EXECUTE_READWRITE, &old_prot)) goto _out; 177 303 178 304 /* We patch the targeted API, so we must set it as writable */ … … 194 320 } 195 321 } 196 197 if (jmp_prolog != NULL) free(jmp_prolog);198 322 199 323 return res; -
zzuf/trunk/src/myfork.c
r4832 r4833 394 394 static int dll_inject(PROCESS_INFORMATION *pinfo, char const *lib) 395 395 { 396 int res = -1; 396 #ifdef _M_AMD64 397 # define InstructionPointer Rip 398 # define StackPointer Rsp 399 # define LoaderRegister Rcx 400 # define LoadLibraryAOffset 0x15 401 402 /* This payload allows us to load arbitrary module located at the end of this buffer */ 403 static uint8_t const ldr[] = 404 { 405 "\x55" /* push rbp */ 406 "\x48\x89\xE5" /* mov rbp,rsp */ 407 "\x48\x83\xEC\x20" /* sub rsp,byte +0x20 */ 408 "\x48\x83\xE4\xF0" /* and rsp,byte -0x10 */ 409 "\x48\x8D\x0D\x14\x00\x00\x00" /* lea rcx,[rel 0x27] */ 410 "\x48\xB8________" /* mov rax, LoadLibraryA */ 411 "\xFF\xD0" /* call rax */ 412 "\x48\x85\xC0" /* test rax,rax */ 413 "\x75\x01" /* jnz 0x25 */ 414 "\xCC" /* int3 */ 415 "\xC9" /* leave */ 416 "\xC3" /* ret */ 417 }; 418 419 #elif defined (_M_IX86) 420 # define InstructionPointer Eip 421 # define StackPointer Esp 422 # define LoaderRegister Eax /* It seems the Windows loader store the oep as the first param 423 * but by a side effect it's also contained in eax register */ 424 # define ldr ldr32 425 # define LoadLibraryAOffset 0x04 397 426 398 427 /* This payload allows us to load arbitrary module located at the end of this buffer */ … … 410 439 "\xE8\xED\xFF\xFF\xFF" /* call dword 0x3 */ 411 440 }; 441 #else 442 # error Unimplemented architecture ! 443 #endif 444 445 int res = -1; 412 446 413 447 /* We use this code to make the targeted process waits for us */ … … 420 454 DWORD pid = pinfo->dwProcessId; 421 455 void *rldlib = NULL; 422 DWORD written= 0;456 SIZE_T written = 0; 423 457 DWORD old_prot = 0; 424 458 … … 429 463 430 464 CONTEXT ctxt; 431 DWORD oep; /* Original Entry Point */465 DWORD_PTR oep; /* Original Entry Point */ 432 466 433 467 /* Use the main thread to inject our library */ … … 436 470 437 471 /* Make the target program waits when it reachs the original entry point, because we can't do many thing from the windows loader */ 438 oep = ctxt. Eax;472 oep = ctxt.LoaderRegister; 439 473 if (!ReadProcessMemory(process, (LPVOID)oep, orig_data, sizeof(orig_data), &written) || written != sizeof(orig_data)) goto _return; /* save original opcode */ 440 474 if (!WriteProcessMemory(process, (LPVOID)oep, wait, wait_len , &written) || written != wait_len) goto _return; /* write jmp short $-1 */ … … 443 477 444 478 /* Stop when the program reachs the oep */ 445 while (oep != ctxt. Eip)479 while (oep != ctxt.InstructionPointer) 446 480 { 447 481 if (!GetThreadContext(thread, &ctxt)) goto _return; … … 456 490 if ((rpl = VirtualAllocEx(process, NULL, pl_len, MEM_COMMIT, PAGE_EXECUTE_READWRITE)) == NULL) goto _return; 457 491 458 /* Emulate a call to the ldr code, thus the ret instruction from ldr will get eip back to the original entry point */459 ctxt. Esp -= 4;460 if (!WriteProcessMemory(process, (LPVOID)ctxt. Esp, &oep, sizeof(oep), &written) || written != sizeof(oep)) goto _return;461 ctxt. Eip = (DWORD)rpl;492 /* Emulate a call to the ldr code, thus the ret instruction from ldr will get (e|r)ip back to the original entry point */ 493 ctxt.StackPointer -= sizeof(oep); 494 if (!WriteProcessMemory(process, (LPVOID)ctxt.StackPointer, &oep, sizeof(oep), &written) || written != sizeof(oep)) goto _return; 495 ctxt.InstructionPointer = (DWORD_PTR)rpl; 462 496 if (!SetThreadContext(thread, &ctxt)) goto _return; 463 497 … … 465 499 if ((pl = (uint8_t *)malloc(pl_len)) == NULL) goto _return; 466 500 memcpy(pl, ldr, sizeof(ldr) - 1); 467 memcpy(pl + 4, &rldlib, sizeof(rldlib)); /* Write the address of LoadLibraryA */468 strcpy((char *)(pl + sizeof(ldr) - 1), lib); /* Write the first parameter of LoadLibraryA */501 memcpy(pl + LoadLibraryAOffset, &rldlib, sizeof(rldlib)); /* Write the address of LoadLibraryA */ 502 strcpy((char *)(pl + sizeof(ldr) - 1), lib); /* Write the first parameter of LoadLibraryA */ 469 503 470 504 if (!WriteProcessMemory(process, rpl, pl, pl_len, &written) || written != pl_len) goto _return; … … 482 516 /* We must not free remote allocated memory since they will be used after the process will be resumed */ 483 517 return res; 518 519 #undef InstructionPointer 520 #undef StackPointer 521 #undef LoaderRegister 522 #undef LoadLibraryAOffset 484 523 } 485 524 … … 491 530 MODULEENTRY32 entry; 492 531 void *ret = 0; 493 DWORDtmp;532 SIZE_T tmp; 494 533 void *list; 495 534 int i, k; -
zzuf/trunk/src/zzuf.c
r4832 r4833 501 501 opts->child = malloc(opts->maxchild * sizeof(struct child)); 502 502 for(i = 0; i < opts->maxchild; i++) 503 { 503 504 opts->child[i].status = STATUS_FREE; 505 memset(opts->child[i].fd, -1, sizeof(opts->child->fd)); 506 } 504 507 opts->nchild = 0; 505 508
Note: See TracChangeset
for help on using the changeset viewer.
