diff options
author | George Hazan <ghazan@miranda.im> | 2019-04-25 21:54:06 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2019-04-25 21:54:06 +0300 |
commit | 9482f765a00b1abf1e9cdc28a1854e0ab53809fe (patch) | |
tree | 4f28b416f366e51ab1f9d29f49e8e41a1ee291a8 /plugins | |
parent | 79aec0bb36d36ae672804e85b90da0d74aebb3db (diff) |
pu_stub:
- fixes #1930 (crash when launching pu_stub under Windows 7);
- unified project for all VS
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/PluginUpdater/pu_stub/pu_stub.vcxproj | 37 | ||||
-rw-r--r-- | plugins/PluginUpdater/pu_stub/pu_stub.vcxproj.filters | 4 | ||||
-rw-r--r-- | plugins/PluginUpdater/pu_stub/pu_stub_15.vcxproj | 157 | ||||
-rw-r--r-- | plugins/PluginUpdater/pu_stub/pu_stub_15.vcxproj.filters | 14 | ||||
-rw-r--r-- | plugins/PluginUpdater/pu_stub/pu_stub_16.vcxproj | 157 | ||||
-rw-r--r-- | plugins/PluginUpdater/pu_stub/pu_stub_16.vcxproj.filters | 14 | ||||
-rw-r--r-- | plugins/PluginUpdater/pu_stub/src/pu_stub.cpp (renamed from plugins/PluginUpdater/pu_stub/pu_stub.cpp) | 243 | ||||
-rw-r--r-- | plugins/PluginUpdater/pu_stub/src/stdafx.cxx | 18 | ||||
-rw-r--r-- | plugins/PluginUpdater/pu_stub/src/stdafx.h | 31 |
9 files changed, 206 insertions, 469 deletions
diff --git a/plugins/PluginUpdater/pu_stub/pu_stub.vcxproj b/plugins/PluginUpdater/pu_stub/pu_stub.vcxproj new file mode 100644 index 0000000000..4501f5dae8 --- /dev/null +++ b/plugins/PluginUpdater/pu_stub/pu_stub.vcxproj @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{121D2EA6-9D3C-43F6-AC5C-44BDBF93E3E0}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + <RootNamespace>pu_stub</RootNamespace> + <ProjectName>pu_stub</ProjectName> + </PropertyGroup> + <ImportGroup Label="PropertySheets"> + <Import Project="$(ProjectDir)..\..\..\build\vc.common\app.props" /> + </ImportGroup> + <ItemDefinitionGroup> + <Link> + <SubSystem>Windows</SubSystem> + <DelayLoadDLLs Condition="'$(Configuration)'=='Debug'">vcruntime140d.dll</DelayLoadDLLs> + <DelayLoadDLLs Condition="'$(Configuration)'=='Release'">api-ms-win-crt-heap-l1-1-0.dll;api-ms-win-crt-locale-l1-1-0.dll;api-ms-win-crt-math-l1-1-0.dll;api-ms-win-crt-runtime-l1-1-0.dll;api-ms-win-crt-stdio-l1-1-0.dll;VCRUNTIME140.dll</DelayLoadDLLs> + </Link> + </ItemDefinitionGroup> +</Project>
\ No newline at end of file diff --git a/plugins/PluginUpdater/pu_stub/pu_stub.vcxproj.filters b/plugins/PluginUpdater/pu_stub/pu_stub.vcxproj.filters new file mode 100644 index 0000000000..fcae13a9d8 --- /dev/null +++ b/plugins/PluginUpdater/pu_stub/pu_stub.vcxproj.filters @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(ProjectDir)..\..\build\vc.common\common.filters" /> +</Project>
\ No newline at end of file diff --git a/plugins/PluginUpdater/pu_stub/pu_stub_15.vcxproj b/plugins/PluginUpdater/pu_stub/pu_stub_15.vcxproj deleted file mode 100644 index fcb953c1b4..0000000000 --- a/plugins/PluginUpdater/pu_stub/pu_stub_15.vcxproj +++ /dev/null @@ -1,157 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{121D2EA6-9D3C-43F6-AC5C-44BDBF93E3E0}</ProjectGuid> - <Keyword>Win32Proj</Keyword> - <RootNamespace>pu_stub</RootNamespace> - <ProjectName>pu_stub</ProjectName> - <XPDeprecationWarning>false</XPDeprecationWarning> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v141_xp</PlatformToolset> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v141_xp</PlatformToolset> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v141_xp</PlatformToolset> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - <PlatformToolset>v141_xp</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <LinkIncremental>true</LinkIncremental> - <IntDir>$(SolutionDir)$(Configuration)\Obj\$(ProjectName)\</IntDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <LinkIncremental>true</LinkIncremental> - <OutDir>$(SolutionDir)$(Configuration)64\</OutDir> - <IntDir>$(SolutionDir)$(Configuration)64\Obj\$(ProjectName)\</IntDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <LinkIncremental>false</LinkIncremental> - <IntDir>$(SolutionDir)$(Configuration)\Obj\$(ProjectName)\</IntDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <LinkIncremental>false</LinkIncremental> - <OutDir>$(SolutionDir)$(Configuration)64\</OutDir> - <IntDir>$(SolutionDir)$(Configuration)64\Obj\$(ProjectName)\</IntDir> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <WarningLevel>Level4</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers> - <DelayLoadDLLs>ucrtbased.dll;vcruntime140.dll</DelayLoadDLLs> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <ClCompile> - <WarningLevel>Level4</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <DelayLoadDLLs>ucrtbased.dll;vcruntime140.dll</DelayLoadDLLs> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet> - <WarningLevel>Level4</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - <DelayLoadDLLs>ucrtbase.dll;api-ms-win-crt-heap-l1-1-0.dll;api-ms-win-crt-locale-l1-1-0.dll;api-ms-win-crt-math-l1-1-0.dll;api-ms-win-crt-runtime-l1-1-0.dll;api-ms-win-crt-stdio-l1-1-0.dll;api-ms-win-crt-string-l1-1-0.dll;vcruntime140.DLL</DelayLoadDLLs> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <WarningLevel>Level4</WarningLevel> - <Optimization>MinSpace</Optimization> - <FunctionLevelLinking>true</FunctionLevelLinking> - <PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FavorSizeOrSpeed>Size</FavorSizeOrSpeed> - <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - <DelayLoadDLLs>ucrtbase.dll;api-ms-win-crt-heap-l1-1-0.dll;api-ms-win-crt-locale-l1-1-0.dll;api-ms-win-crt-math-l1-1-0.dll;api-ms-win-crt-runtime-l1-1-0.dll;api-ms-win-crt-stdio-l1-1-0.dll;api-ms-win-crt-string-l1-1-0.dll;vcruntime140.DLL</DelayLoadDLLs> - </Link> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="pu_stub.cpp" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> -</Project>
\ No newline at end of file diff --git a/plugins/PluginUpdater/pu_stub/pu_stub_15.vcxproj.filters b/plugins/PluginUpdater/pu_stub/pu_stub_15.vcxproj.filters deleted file mode 100644 index fa14ef3d54..0000000000 --- a/plugins/PluginUpdater/pu_stub/pu_stub_15.vcxproj.filters +++ /dev/null @@ -1,14 +0,0 @@ -<?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>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="pu_stub.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/plugins/PluginUpdater/pu_stub/pu_stub_16.vcxproj b/plugins/PluginUpdater/pu_stub/pu_stub_16.vcxproj deleted file mode 100644 index 59a24857ae..0000000000 --- a/plugins/PluginUpdater/pu_stub/pu_stub_16.vcxproj +++ /dev/null @@ -1,157 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{121D2EA6-9D3C-43F6-AC5C-44BDBF93E3E0}</ProjectGuid> - <Keyword>Win32Proj</Keyword> - <RootNamespace>pu_stub</RootNamespace> - <ProjectName>pu_stub</ProjectName> - <XPDeprecationWarning>false</XPDeprecationWarning> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v142</PlatformToolset> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v142</PlatformToolset> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v142</PlatformToolset> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - <PlatformToolset>v142</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <LinkIncremental>true</LinkIncremental> - <IntDir>$(SolutionDir)$(Configuration)\Obj\$(ProjectName)\</IntDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <LinkIncremental>true</LinkIncremental> - <OutDir>$(SolutionDir)$(Configuration)64\</OutDir> - <IntDir>$(SolutionDir)$(Configuration)64\Obj\$(ProjectName)\</IntDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <LinkIncremental>false</LinkIncremental> - <IntDir>$(SolutionDir)$(Configuration)\Obj\$(ProjectName)\</IntDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <LinkIncremental>false</LinkIncremental> - <OutDir>$(SolutionDir)$(Configuration)64\</OutDir> - <IntDir>$(SolutionDir)$(Configuration)64\Obj\$(ProjectName)\</IntDir> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <WarningLevel>Level4</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers> - <DelayLoadDLLs>ucrtbased.dll;vcruntime140.dll</DelayLoadDLLs> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <ClCompile> - <WarningLevel>Level4</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <DelayLoadDLLs>ucrtbased.dll;vcruntime140.dll</DelayLoadDLLs> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet> - <WarningLevel>Level4</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - <DelayLoadDLLs>ucrtbase.dll;api-ms-win-crt-heap-l1-1-0.dll;api-ms-win-crt-locale-l1-1-0.dll;api-ms-win-crt-math-l1-1-0.dll;api-ms-win-crt-runtime-l1-1-0.dll;api-ms-win-crt-stdio-l1-1-0.dll;api-ms-win-crt-string-l1-1-0.dll;vcruntime140.DLL</DelayLoadDLLs> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <WarningLevel>Level4</WarningLevel> - <Optimization>MinSpace</Optimization> - <FunctionLevelLinking>true</FunctionLevelLinking> - <PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <FavorSizeOrSpeed>Size</FavorSizeOrSpeed> - <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - <DelayLoadDLLs>ucrtbase.dll;api-ms-win-crt-heap-l1-1-0.dll;api-ms-win-crt-locale-l1-1-0.dll;api-ms-win-crt-math-l1-1-0.dll;api-ms-win-crt-runtime-l1-1-0.dll;api-ms-win-crt-stdio-l1-1-0.dll;api-ms-win-crt-string-l1-1-0.dll;vcruntime140.DLL</DelayLoadDLLs> - </Link> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="pu_stub.cpp" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> -</Project>
\ No newline at end of file diff --git a/plugins/PluginUpdater/pu_stub/pu_stub_16.vcxproj.filters b/plugins/PluginUpdater/pu_stub/pu_stub_16.vcxproj.filters deleted file mode 100644 index fa14ef3d54..0000000000 --- a/plugins/PluginUpdater/pu_stub/pu_stub_16.vcxproj.filters +++ /dev/null @@ -1,14 +0,0 @@ -<?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>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="pu_stub.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/plugins/PluginUpdater/pu_stub/pu_stub.cpp b/plugins/PluginUpdater/pu_stub/src/pu_stub.cpp index fb4cd24462..ff11fd3c11 100644 --- a/plugins/PluginUpdater/pu_stub/pu_stub.cpp +++ b/plugins/PluginUpdater/pu_stub/src/pu_stub.cpp @@ -1,127 +1,116 @@ -#define _CRT_SECURE_NO_WARNINGS
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-
-// C RunTime Header Files
-#include <stdlib.h>
-#include <malloc.h>
-#include <memory.h>
-#include <varargs.h>
-#include <stdio.h>
-
-// Global Variables:
-HINSTANCE hInst; // current instance
-
-void log(const wchar_t *tszFormat, ...)
-{
- #if defined(_DEBUG)
- FILE *out = fopen("c:\\temp\\pu.log", "a");
- if (out) {
- va_list params;
- va_start(params, tszFormat);
- vfwprintf(out, tszFormat, params);
- va_end(params);
- fputc('\n', out);
- fclose(out);
- }
- #endif
-}
-
-int CreateDirectoryTreeW(const wchar_t* szDir)
-{
- wchar_t szTestDir[MAX_PATH];
- lstrcpynW(szTestDir, szDir, MAX_PATH);
-
- DWORD dwAttributes = GetFileAttributesW(szTestDir);
- if (dwAttributes != INVALID_FILE_ATTRIBUTES && (dwAttributes & FILE_ATTRIBUTE_DIRECTORY))
- return 0;
-
- wchar_t *pszLastBackslash = wcsrchr(szTestDir, '\\');
- if (pszLastBackslash == nullptr)
- return 0;
-
- *pszLastBackslash = '\0';
- CreateDirectoryTreeW(szTestDir);
- *pszLastBackslash = '\\';
- return (CreateDirectoryW(szTestDir, nullptr) == 0) ? GetLastError() : 0;
-}
-
-void CreatePathToFileW(wchar_t *wszFilePath)
-{
- wchar_t* pszLastBackslash = wcsrchr(wszFilePath, '\\');
- if (pszLastBackslash == nullptr)
- return;
-
- *pszLastBackslash = '\0';
- CreateDirectoryTreeW(wszFilePath);
- *pszLastBackslash = '\\';
-}
-
-int APIENTRY wWinMain(HINSTANCE hInstance, HINSTANCE, LPTSTR lpCmdLine, int)
-{
- DWORD dwError;
- hInst = hInstance;
-
- wchar_t tszPipeName[MAX_PATH];
- #if _MSC_VER < 1400
- swprintf(tszPipeName, L"\\\\.\\pipe\\Miranda_Pu_%s", lpCmdLine);
- #else
- swprintf_s(tszPipeName, L"\\\\.\\pipe\\Miranda_Pu_%s", lpCmdLine);
- #endif
- log(L"Opening pipe %s...", tszPipeName);
- HANDLE hPipe = CreateFile(tszPipeName, GENERIC_READ | GENERIC_WRITE, 0, nullptr, OPEN_EXISTING, 0, nullptr);
- if (hPipe == INVALID_HANDLE_VALUE) {
- dwError = GetLastError();
- log(L"Failed to open a pipe: error %d", dwError);
- return dwError;
- }
-
- log(L"Entering the reading cycle...");
-
- BYTE szReadBuffer[1024] = { 0 };
- DWORD dwBytes;
- while (ReadFile(hPipe, szReadBuffer, sizeof(szReadBuffer), &dwBytes, nullptr)) {
- DWORD dwAction = *(DWORD*)szReadBuffer;
- wchar_t *ptszFile1 = (wchar_t*)(szReadBuffer + sizeof(DWORD));
- wchar_t *ptszFile2 = ptszFile1 + wcslen(ptszFile1) + 1;
- log(L"Received command: %d <%s> <%s>", dwAction, ptszFile1, ptszFile2);
- switch (dwAction) {
- case 1: // copy
- dwError = CopyFile(ptszFile1, ptszFile2, FALSE);
- break;
-
- case 2: // move
- DeleteFile(ptszFile2);
- if (MoveFile(ptszFile1, ptszFile2) == 0) // use copy on error
- dwError = CopyFile(ptszFile1, ptszFile2, FALSE);
- else
- dwError = 0;
- DeleteFile(ptszFile1);
- break;
-
- case 3: // erase
- dwError = DeleteFile(ptszFile1);
- break;
-
- case 4: // create dir
- dwError = CreateDirectoryTreeW(ptszFile1);
- break;
-
- case 5: // create path to file
- CreatePathToFileW(ptszFile1);
- dwError = 0;
- break;
-
- default:
- dwError = ERROR_UNKNOWN_FEATURE;
- }
-
- WriteFile(hPipe, &dwError, sizeof(DWORD), &dwBytes, nullptr);
- }
-
- dwError = GetLastError();
- log(L"Pipe is closed (%d), exiting", dwError);
- CloseHandle(hPipe);
- return 0;
-}
+ +#include "stdafx.h" + +#pragma comment(lib, "delayimp.lib") + +void log(const wchar_t *tszFormat, ...) +{ + #if defined(_DEBUG) + FILE *out = fopen("c:\\temp\\pu.log", "a"); + if (out) { + va_list params; + va_start(params, tszFormat); + vfwprintf(out, tszFormat, params); + va_end(params); + fputc('\n', out); + fclose(out); + } + #endif +} + +int CreateDirectoryTreeW(const wchar_t* szDir) +{ + wchar_t szTestDir[MAX_PATH]; + lstrcpynW(szTestDir, szDir, MAX_PATH); + + DWORD dwAttributes = GetFileAttributesW(szTestDir); + if (dwAttributes != INVALID_FILE_ATTRIBUTES && (dwAttributes & FILE_ATTRIBUTE_DIRECTORY)) + return 0; + + wchar_t *pszLastBackslash = wcsrchr(szTestDir, '\\'); + if (pszLastBackslash == nullptr) + return 0; + + *pszLastBackslash = '\0'; + CreateDirectoryTreeW(szTestDir); + *pszLastBackslash = '\\'; + return (CreateDirectoryW(szTestDir, nullptr) == 0) ? GetLastError() : 0; +} + +void CreatePathToFileW(wchar_t *wszFilePath) +{ + wchar_t* pszLastBackslash = wcsrchr(wszFilePath, '\\'); + if (pszLastBackslash == nullptr) + return; + + *pszLastBackslash = '\0'; + CreateDirectoryTreeW(wszFilePath); + *pszLastBackslash = '\\'; +} + +int APIENTRY wWinMain(HINSTANCE /*hInstance*/, HINSTANCE, LPTSTR lpCmdLine, int) +{ + DWORD dwError; + + wchar_t tszPipeName[MAX_PATH]; + #if _MSC_VER < 1400 + swprintf(tszPipeName, L"\\\\.\\pipe\\Miranda_Pu_%s", lpCmdLine); + #else + swprintf_s(tszPipeName, L"\\\\.\\pipe\\Miranda_Pu_%s", lpCmdLine); + #endif + log(L"Opening pipe %s...", tszPipeName); + HANDLE hPipe = CreateFile(tszPipeName, GENERIC_READ | GENERIC_WRITE, 0, nullptr, OPEN_EXISTING, 0, nullptr); + if (hPipe == INVALID_HANDLE_VALUE) { + dwError = GetLastError(); + log(L"Failed to open a pipe: error %d", dwError); + return dwError; + } + + log(L"Entering the reading cycle..."); + + BYTE szReadBuffer[1024] = { 0 }; + DWORD dwBytes; + while (ReadFile(hPipe, szReadBuffer, sizeof(szReadBuffer), &dwBytes, nullptr)) { + DWORD dwAction = *(DWORD*)szReadBuffer; + wchar_t *ptszFile1 = (wchar_t*)(szReadBuffer + sizeof(DWORD)); + wchar_t *ptszFile2 = ptszFile1 + wcslen(ptszFile1) + 1; + log(L"Received command: %d <%s> <%s>", dwAction, ptszFile1, ptszFile2); + switch (dwAction) { + case 1: // copy + dwError = CopyFile(ptszFile1, ptszFile2, FALSE); + break; + + case 2: // move + DeleteFile(ptszFile2); + if (MoveFile(ptszFile1, ptszFile2) == 0) // use copy on error + dwError = CopyFile(ptszFile1, ptszFile2, FALSE); + else + dwError = 0; + DeleteFile(ptszFile1); + break; + + case 3: // erase + dwError = DeleteFile(ptszFile1); + break; + + case 4: // create dir + dwError = CreateDirectoryTreeW(ptszFile1); + break; + + case 5: // create path to file + CreatePathToFileW(ptszFile1); + dwError = 0; + break; + + default: + dwError = ERROR_UNKNOWN_FEATURE; + } + + WriteFile(hPipe, &dwError, sizeof(DWORD), &dwBytes, nullptr); + } + + dwError = GetLastError(); + log(L"Pipe is closed (%d), exiting", dwError); + CloseHandle(hPipe); + return 0; +} diff --git a/plugins/PluginUpdater/pu_stub/src/stdafx.cxx b/plugins/PluginUpdater/pu_stub/src/stdafx.cxx new file mode 100644 index 0000000000..66afad80f1 --- /dev/null +++ b/plugins/PluginUpdater/pu_stub/src/stdafx.cxx @@ -0,0 +1,18 @@ +/* +Copyright (C) 2012-19 Miranda NG team (https://miranda-ng.org) + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation version 2 +of the License. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "stdafx.h" diff --git a/plugins/PluginUpdater/pu_stub/src/stdafx.h b/plugins/PluginUpdater/pu_stub/src/stdafx.h new file mode 100644 index 0000000000..b6f494b071 --- /dev/null +++ b/plugins/PluginUpdater/pu_stub/src/stdafx.h @@ -0,0 +1,31 @@ +/* +CmdLine plugin for Miranda IM + +Copyright © 2007 Cristian Libotean + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +*/ + +#pragma once + +#define WIN32_LEAN_AND_MEAN +#include <windows.h> + +// C RunTime Header Files +#include <stdlib.h> +#include <malloc.h> +#include <memory.h> +#include <varargs.h> +#include <stdio.h> |