From 1d18d087d47d7a54f68950f983029642a54d6f43 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sun, 7 Jun 2015 12:10:26 +0000 Subject: - common.props divided into app.props & plugin.props; - MimCmd & CmdLine converted to Unicode; git-svn-id: http://svn.miranda-ng.org/main/trunk@14048 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/AVS/avs.vcxproj | 2 +- plugins/AddContactPlus/addcontactplus.vcxproj | 2 +- plugins/Alarms/alarms.vcxproj | 2 +- plugins/AssocMgr/assocmgr.vcxproj | 2 +- plugins/AuthState/authstate.vcxproj | 2 +- plugins/AutoRun/autorun.vcxproj | 2 +- plugins/AutoShutdown/shutdown.vcxproj | 2 +- plugins/AvatarHistory/AvatarHistory.vcxproj | 2 +- plugins/BASS_interface/Bass_interface.vcxproj | 2 +- plugins/Boltun/Boltun.vcxproj | 2 +- plugins/BossKeyPlus/BossKey.vcxproj | 2 +- plugins/BuddyExpectator/BuddyExpectator.vcxproj | 2 +- plugins/BuddyPounce/buddypounce.vcxproj | 2 +- plugins/CSList/cslist.vcxproj | 2 +- .../ChangeKeyboardLayout.vcxproj | 2 +- plugins/Clist_blind/Clist_blind.vcxproj | 2 +- plugins/CmdLine/CmdLine.vcxproj | 28 + plugins/CmdLine/CmdLine.vcxproj.filters | 4 + plugins/CmdLine/CmdLine_10.vcxproj | 213 -------- plugins/CmdLine/CmdLine_10.vcxproj.filters | 77 --- plugins/CmdLine/CmdLine_12.vcxproj | 216 -------- plugins/CmdLine/CmdLine_12.vcxproj.filters | 77 --- plugins/CmdLine/MimCmd/MimCmd_10.vcxproj | 197 ------- plugins/CmdLine/MimCmd/MimCmd_10.vcxproj.filters | 50 -- plugins/CmdLine/MimCmd/MimCmd_12.vcxproj | 200 -------- plugins/CmdLine/MimCmd/MimCmd_12.vcxproj.filters | 50 -- plugins/CmdLine/MimCmd/res/version.rc | 38 -- plugins/CmdLine/MimCmd/src/MimCmd.cpp | 115 ----- plugins/CmdLine/MimCmd/src/commands.cpp | 229 --------- plugins/CmdLine/MimCmd/src/commands.h | 42 -- plugins/CmdLine/MimCmd/src/common.h | 39 -- plugins/CmdLine/MimCmd/src/resource.h | 14 - plugins/CmdLine/MimCmd/src/stdafx.cpp | 18 - plugins/CmdLine/MimCmd/src/version.h | 14 - plugins/CmdLine/src/CmdLine.cpp | 16 +- plugins/CmdLine/src/commonheaders.h | 65 --- plugins/CmdLine/src/hooked_events.cpp | 45 +- plugins/CmdLine/src/mimcmd_data.cpp | 45 +- plugins/CmdLine/src/mimcmd_handlers.cpp | 566 ++++++++++----------- plugins/CmdLine/src/mimcmd_ipc.cpp | 34 +- plugins/CmdLine/src/services.cpp | 28 +- plugins/CmdLine/src/stdafx.cpp | 18 - plugins/CmdLine/src/stdafx.cxx | 18 + plugins/CmdLine/src/stdafx.h | 63 +++ plugins/CmdLine/src/utils.cpp | 256 +++------- plugins/CmdLine/src/utils.h | 17 +- plugins/ConnectionNotify/ConnectionNotify.vcxproj | 2 +- plugins/Console/Console.vcxproj | 2 +- plugins/ContactsPlus/contacts.vcxproj | 2 +- plugins/CountryFlags/flags.vcxproj | 2 +- plugins/CrashDumper/crshdmp.vcxproj | 2 +- plugins/CyrTranslit/CyrTranslit.vcxproj | 2 +- plugins/DbChecker/dbchecker.vcxproj | 2 +- plugins/Dropbox/Dropbox.vcxproj | 2 +- plugins/Exchange/Exchange.vcxproj | 2 +- plugins/FavContacts/favcontacts.vcxproj | 2 +- plugins/HistoryStats/historystats.vcxproj | 2 +- plugins/MimCmd/MimCmd.vcxproj | 36 ++ plugins/MimCmd/MimCmd.vcxproj.filters | 73 +++ plugins/MimCmd/res/version.rc | 38 ++ plugins/MimCmd/src/MimCmd.cpp | 112 ++++ plugins/MimCmd/src/commands.cpp | 218 ++++++++ plugins/MimCmd/src/commands.h | 42 ++ plugins/MimCmd/src/resource.h | 14 + plugins/MimCmd/src/stdafx.cxx | 18 + plugins/MimCmd/src/stdafx.h | 37 ++ plugins/MimCmd/src/version.h | 14 + plugins/NewXstatusNotify/src/main.cpp | 2 +- plugins/ZeroSwitch/ZeroSwitch.vcxproj | 2 +- 69 files changed, 1165 insertions(+), 2287 deletions(-) create mode 100644 plugins/CmdLine/CmdLine.vcxproj create mode 100644 plugins/CmdLine/CmdLine.vcxproj.filters delete mode 100644 plugins/CmdLine/CmdLine_10.vcxproj delete mode 100644 plugins/CmdLine/CmdLine_10.vcxproj.filters delete mode 100644 plugins/CmdLine/CmdLine_12.vcxproj delete mode 100644 plugins/CmdLine/CmdLine_12.vcxproj.filters delete mode 100644 plugins/CmdLine/MimCmd/MimCmd_10.vcxproj delete mode 100644 plugins/CmdLine/MimCmd/MimCmd_10.vcxproj.filters delete mode 100644 plugins/CmdLine/MimCmd/MimCmd_12.vcxproj delete mode 100644 plugins/CmdLine/MimCmd/MimCmd_12.vcxproj.filters delete mode 100644 plugins/CmdLine/MimCmd/res/version.rc delete mode 100644 plugins/CmdLine/MimCmd/src/MimCmd.cpp delete mode 100644 plugins/CmdLine/MimCmd/src/commands.cpp delete mode 100644 plugins/CmdLine/MimCmd/src/commands.h delete mode 100644 plugins/CmdLine/MimCmd/src/common.h delete mode 100644 plugins/CmdLine/MimCmd/src/resource.h delete mode 100644 plugins/CmdLine/MimCmd/src/stdafx.cpp delete mode 100644 plugins/CmdLine/MimCmd/src/version.h delete mode 100644 plugins/CmdLine/src/commonheaders.h delete mode 100644 plugins/CmdLine/src/stdafx.cpp create mode 100644 plugins/CmdLine/src/stdafx.cxx create mode 100644 plugins/CmdLine/src/stdafx.h create mode 100644 plugins/MimCmd/MimCmd.vcxproj create mode 100644 plugins/MimCmd/MimCmd.vcxproj.filters create mode 100644 plugins/MimCmd/res/version.rc create mode 100644 plugins/MimCmd/src/MimCmd.cpp create mode 100644 plugins/MimCmd/src/commands.cpp create mode 100644 plugins/MimCmd/src/commands.h create mode 100644 plugins/MimCmd/src/resource.h create mode 100644 plugins/MimCmd/src/stdafx.cxx create mode 100644 plugins/MimCmd/src/stdafx.h create mode 100644 plugins/MimCmd/src/version.h (limited to 'plugins') diff --git a/plugins/AVS/avs.vcxproj b/plugins/AVS/avs.vcxproj index 5f1a9c1a69..038aed132c 100644 --- a/plugins/AVS/avs.vcxproj +++ b/plugins/AVS/avs.vcxproj @@ -23,6 +23,6 @@ {7711F563-6473-4ABD-B5E3-477CE8384AD6} - + \ No newline at end of file diff --git a/plugins/AddContactPlus/addcontactplus.vcxproj b/plugins/AddContactPlus/addcontactplus.vcxproj index 35d7ac8251..1658006804 100644 --- a/plugins/AddContactPlus/addcontactplus.vcxproj +++ b/plugins/AddContactPlus/addcontactplus.vcxproj @@ -23,6 +23,6 @@ {253ADD1D-F7C9-4643-A957-51BFCD61A5D2} - + \ No newline at end of file diff --git a/plugins/Alarms/alarms.vcxproj b/plugins/Alarms/alarms.vcxproj index e811ecbad3..49e463467e 100644 --- a/plugins/Alarms/alarms.vcxproj +++ b/plugins/Alarms/alarms.vcxproj @@ -23,6 +23,6 @@ {5F09C93B-463A-4BF5-A85E-6E4E916AA8F8} - + \ No newline at end of file diff --git a/plugins/AssocMgr/assocmgr.vcxproj b/plugins/AssocMgr/assocmgr.vcxproj index 895996cde7..ec8afbf2d1 100644 --- a/plugins/AssocMgr/assocmgr.vcxproj +++ b/plugins/AssocMgr/assocmgr.vcxproj @@ -23,6 +23,6 @@ {B57D997C-73E1-D5F7-ECCA-C204345C04A3} - + \ No newline at end of file diff --git a/plugins/AuthState/authstate.vcxproj b/plugins/AuthState/authstate.vcxproj index c1f32382f0..f5af8ae9b2 100644 --- a/plugins/AuthState/authstate.vcxproj +++ b/plugins/AuthState/authstate.vcxproj @@ -23,6 +23,6 @@ {DB315D7D-00BB-43B2-93A6-0430CA2B9F28} - + \ No newline at end of file diff --git a/plugins/AutoRun/autorun.vcxproj b/plugins/AutoRun/autorun.vcxproj index 65a1b34547..7a9be0f8f1 100644 --- a/plugins/AutoRun/autorun.vcxproj +++ b/plugins/AutoRun/autorun.vcxproj @@ -23,6 +23,6 @@ {00037ACC-F32D-4B5F-93A8-3CF0E277E377} - + \ No newline at end of file diff --git a/plugins/AutoShutdown/shutdown.vcxproj b/plugins/AutoShutdown/shutdown.vcxproj index e2a4b4eced..a8adcdb798 100644 --- a/plugins/AutoShutdown/shutdown.vcxproj +++ b/plugins/AutoShutdown/shutdown.vcxproj @@ -23,7 +23,7 @@ {3F8EF54D-0593-4048-B0E5-C938F99B29F3} - + diff --git a/plugins/AvatarHistory/AvatarHistory.vcxproj b/plugins/AvatarHistory/AvatarHistory.vcxproj index d0d37f559f..616c93ecc9 100644 --- a/plugins/AvatarHistory/AvatarHistory.vcxproj +++ b/plugins/AvatarHistory/AvatarHistory.vcxproj @@ -23,7 +23,7 @@ {9D702039-F4A9-4978-92B3-3615E5C44BEE} - + diff --git a/plugins/BASS_interface/Bass_interface.vcxproj b/plugins/BASS_interface/Bass_interface.vcxproj index 8b485b9c49..4a48ec0da9 100644 --- a/plugins/BASS_interface/Bass_interface.vcxproj +++ b/plugins/BASS_interface/Bass_interface.vcxproj @@ -23,7 +23,7 @@ {3933E789-D185-41DC-8169-9FF4365B6015} - + diff --git a/plugins/Boltun/Boltun.vcxproj b/plugins/Boltun/Boltun.vcxproj index 5f7e9678dd..8016e5507a 100644 --- a/plugins/Boltun/Boltun.vcxproj +++ b/plugins/Boltun/Boltun.vcxproj @@ -23,7 +23,7 @@ Boltun - + diff --git a/plugins/BossKeyPlus/BossKey.vcxproj b/plugins/BossKeyPlus/BossKey.vcxproj index 6cb61cbfe8..6b868ba3ca 100644 --- a/plugins/BossKeyPlus/BossKey.vcxproj +++ b/plugins/BossKeyPlus/BossKey.vcxproj @@ -23,7 +23,7 @@ {88E47CF7-7B40-4312-A35A-9B28885FFED9} - + diff --git a/plugins/BuddyExpectator/BuddyExpectator.vcxproj b/plugins/BuddyExpectator/BuddyExpectator.vcxproj index 3d24cf331b..71c51f23d1 100644 --- a/plugins/BuddyExpectator/BuddyExpectator.vcxproj +++ b/plugins/BuddyExpectator/BuddyExpectator.vcxproj @@ -23,6 +23,6 @@ {8CEBD7AC-CD02-4BEC-B889-A7243F3E5DD8} - + \ No newline at end of file diff --git a/plugins/BuddyPounce/buddypounce.vcxproj b/plugins/BuddyPounce/buddypounce.vcxproj index e36f438bbd..9a7fc036cc 100644 --- a/plugins/BuddyPounce/buddypounce.vcxproj +++ b/plugins/BuddyPounce/buddypounce.vcxproj @@ -23,6 +23,6 @@ {FBC473A7-6383-4C9F-A8FD-282A3CC44FD1} - + \ No newline at end of file diff --git a/plugins/CSList/cslist.vcxproj b/plugins/CSList/cslist.vcxproj index d4792c19c4..9eb59bb8b1 100644 --- a/plugins/CSList/cslist.vcxproj +++ b/plugins/CSList/cslist.vcxproj @@ -23,6 +23,6 @@ {2AD2FF74-06E1-4BD8-984A-526F3C6315B3} - + \ No newline at end of file diff --git a/plugins/ChangeKeyboardLayout/ChangeKeyboardLayout.vcxproj b/plugins/ChangeKeyboardLayout/ChangeKeyboardLayout.vcxproj index d7ce740735..bef749f125 100644 --- a/plugins/ChangeKeyboardLayout/ChangeKeyboardLayout.vcxproj +++ b/plugins/ChangeKeyboardLayout/ChangeKeyboardLayout.vcxproj @@ -23,6 +23,6 @@ {D85D47E7-EAD3-71E0-EE3A-49A7821D4DE4} - + \ No newline at end of file diff --git a/plugins/Clist_blind/Clist_blind.vcxproj b/plugins/Clist_blind/Clist_blind.vcxproj index 42d7e26adc..7b3b20ba90 100644 --- a/plugins/Clist_blind/Clist_blind.vcxproj +++ b/plugins/Clist_blind/Clist_blind.vcxproj @@ -23,6 +23,6 @@ {2E15C462-A150-4A37-ACD6-FBAECF1724F5} - + \ No newline at end of file diff --git a/plugins/CmdLine/CmdLine.vcxproj b/plugins/CmdLine/CmdLine.vcxproj new file mode 100644 index 0000000000..ec1e17c022 --- /dev/null +++ b/plugins/CmdLine/CmdLine.vcxproj @@ -0,0 +1,28 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {73BA9CA5-640D-4F30-A157-A73557A25F98} + CmdLine + + + + + diff --git a/plugins/CmdLine/CmdLine.vcxproj.filters b/plugins/CmdLine/CmdLine.vcxproj.filters new file mode 100644 index 0000000000..a8ab01c0e5 --- /dev/null +++ b/plugins/CmdLine/CmdLine.vcxproj.filters @@ -0,0 +1,4 @@ + + + + diff --git a/plugins/CmdLine/CmdLine_10.vcxproj b/plugins/CmdLine/CmdLine_10.vcxproj deleted file mode 100644 index 7038663799..0000000000 --- a/plugins/CmdLine/CmdLine_10.vcxproj +++ /dev/null @@ -1,213 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {73BA9CA5-640D-4F30-A157-A73557A25F98} - CmdLine - - - - DynamicLibrary - MultiByte - true - - - DynamicLibrary - MultiByte - - - DynamicLibrary - MultiByte - true - - - DynamicLibrary - MultiByte - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - $(SolutionDir)$(Configuration)\Plugins\ - $(SolutionDir)$(Configuration)\Obj\$(ProjectName)\ - $(SolutionDir)$(Configuration)64\Plugins\ - $(SolutionDir)$(Configuration)64\Obj\$(ProjectName)\ - $(SolutionDir)$(Configuration)\Plugins\ - $(SolutionDir)$(Configuration)\Obj\$(ProjectName)\ - $(SolutionDir)$(Configuration)64\Plugins\ - $(SolutionDir)$(Configuration)64\Obj\$(ProjectName)\ - true - - - - Disabled - ..\..\include;..\ExternalAPI%(AdditionalIncludeDirectories) - _DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebugDLL - Use - Level3 - EditAndContinue - commonheaders.h - false - - - true - Windows - $(ProfileDir)..\..\bin10\lib - false - $(IntDir)$(TargetName).lib - 0x2F0B0000 - - - _DEBUG;%(PreprocessorDefinitions) - ..\..\include\msapi - - - - - Disabled - ..\..\include;..\ExternalAPI%(AdditionalIncludeDirectories) - _DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebugDLL - Use - Level3 - commonheaders.h - false - - - true - Windows - $(ProfileDir)..\..\bin10\lib - false - $(IntDir)$(TargetName).lib - 0x2F0B0000 - - - _DEBUG;%(PreprocessorDefinitions) - ..\..\include\msapi - - - - - ..\..\include;..\ExternalAPI%(AdditionalIncludeDirectories) - NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - Use - Level3 - commonheaders.h - Full - Size - false - - - true - Windows - true - true - 0x2F0B0000 - $(ProfileDir)..\..\bin10\lib - false - $(IntDir)$(TargetName).lib - /PDBALTPATH:%_PDB% - - - NDEBUG;%(PreprocessorDefinitions) - ..\..\include\msapi - - - - - ..\..\include;..\ExternalAPI%(AdditionalIncludeDirectories) - NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - Use - Level3 - commonheaders.h - Full - Size - false - - - true - Windows - true - true - 0x2F0B0000 - $(ProfileDir)..\..\bin10\lib - false - $(IntDir)$(TargetName).lib - /PDBALTPATH:%_PDB% - - - NDEBUG;%(PreprocessorDefinitions) - ..\..\include\msapi - - - - - Create - - - - - - - - - - - - - - - - - - - - - - - - - - {1e3bb48a-ffbc-4a03-8c43-9124a484be51} - - - - - - \ No newline at end of file diff --git a/plugins/CmdLine/CmdLine_10.vcxproj.filters b/plugins/CmdLine/CmdLine_10.vcxproj.filters deleted file mode 100644 index 9331c95495..0000000000 --- a/plugins/CmdLine/CmdLine_10.vcxproj.filters +++ /dev/null @@ -1,77 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/plugins/CmdLine/CmdLine_12.vcxproj b/plugins/CmdLine/CmdLine_12.vcxproj deleted file mode 100644 index a944adcd9a..0000000000 --- a/plugins/CmdLine/CmdLine_12.vcxproj +++ /dev/null @@ -1,216 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {73BA9CA5-640D-4F30-A157-A73557A25F98} - CmdLine - - - - DynamicLibrary - MultiByte - true - v120_xp - - - DynamicLibrary - MultiByte - v120_xp - - - DynamicLibrary - MultiByte - true - v120_xp - - - DynamicLibrary - MultiByte - v120_xp - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - $(SolutionDir)$(Configuration)\Plugins\ - $(SolutionDir)$(Configuration)\Obj\$(ProjectName)\ - $(SolutionDir)$(Configuration)64\Plugins\ - $(SolutionDir)$(Configuration)64\Obj\$(ProjectName)\ - $(SolutionDir)$(Configuration)\Plugins\ - $(SolutionDir)$(Configuration)\Obj\$(ProjectName)\ - $(SolutionDir)$(Configuration)64\Plugins\ - $(SolutionDir)$(Configuration)64\Obj\$(ProjectName)\ - true - - - - Disabled - ..\..\include;..\ExternalAPI%(AdditionalIncludeDirectories) - _DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebugDLL - Use - Level3 - EditAndContinue - commonheaders.h - false - - - true - Windows - $(ProfileDir)..\..\bin12\lib - false - $(IntDir)$(TargetName).lib - 0x2F0B0000 - false - - - _DEBUG;%(PreprocessorDefinitions) - ..\..\include\msapi - - - - - Disabled - ..\..\include;..\ExternalAPI%(AdditionalIncludeDirectories) - _DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebugDLL - Use - Level3 - commonheaders.h - false - - - true - Windows - $(ProfileDir)..\..\bin12\lib - false - $(IntDir)$(TargetName).lib - 0x2F0B0000 - - - _DEBUG;%(PreprocessorDefinitions) - ..\..\include\msapi - - - - - ..\..\include;..\ExternalAPI%(AdditionalIncludeDirectories) - NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - Use - Level3 - commonheaders.h - Full - Size - false - - - true - Windows - true - true - 0x2F0B0000 - $(ProfileDir)..\..\bin12\lib - false - $(IntDir)$(TargetName).lib - - - NDEBUG;%(PreprocessorDefinitions) - ..\..\include\msapi - - - - - ..\..\include;..\ExternalAPI%(AdditionalIncludeDirectories) - NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) - Use - Level3 - commonheaders.h - Full - Size - false - - - true - Windows - true - true - 0x2F0B0000 - $(ProfileDir)..\..\bin12\lib - false - $(IntDir)$(TargetName).lib - - - NDEBUG;%(PreprocessorDefinitions) - ..\..\include\msapi - - - - - Create - - - - - - - - - - - - - - - - - - - - - - - - - - {1e3bb48a-ffbc-4a03-8c43-9124a484be51} - - - - - - \ No newline at end of file diff --git a/plugins/CmdLine/CmdLine_12.vcxproj.filters b/plugins/CmdLine/CmdLine_12.vcxproj.filters deleted file mode 100644 index 9331c95495..0000000000 --- a/plugins/CmdLine/CmdLine_12.vcxproj.filters +++ /dev/null @@ -1,77 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/plugins/CmdLine/MimCmd/MimCmd_10.vcxproj b/plugins/CmdLine/MimCmd/MimCmd_10.vcxproj deleted file mode 100644 index ac0c577770..0000000000 --- a/plugins/CmdLine/MimCmd/MimCmd_10.vcxproj +++ /dev/null @@ -1,197 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {1E3BB48A-FFBC-4A03-8C43-9124A484BE51} - MimCmd - - - - Application - MultiByte - true - - - Application - MultiByte - - - Application - MultiByte - true - - - Application - MultiByte - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - $(SolutionDir)$(Configuration)\ - $(SolutionDir)$(Configuration)\Obj\$(ProjectName)\ - $(SolutionDir)$(Configuration)64\ - $(SolutionDir)$(Configuration)64\Obj\$(ProjectName)\ - $(SolutionDir)$(Configuration)\ - $(SolutionDir)$(Configuration)\Obj\$(ProjectName)\ - $(SolutionDir)$(Configuration)64\ - $(SolutionDir)$(Configuration)64\Obj\$(ProjectName)\ - true - - - - Disabled - ..\..\..\include;..\..\ExternalAPI;%(AdditionalIncludeDirectories) - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebugDLL - Level3 - EditAndContinue - Use - common.h - false - - - true - Console - false - $(IntDir)$(TargetName).lib - $(ProfileDir)..\..\..\bin10\lib - - - _DEBUG;%(PreprocessorDefinitions) - ..\..\..\include\msapi - - - - - Disabled - ..\..\..\include;..\..\ExternalAPI;%(AdditionalIncludeDirectories) - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebugDLL - Level3 - Use - common.h - false - - - true - Console - false - $(IntDir)$(TargetName).lib - $(ProfileDir)..\..\..\bin10\lib - - - _DEBUG;%(PreprocessorDefinitions) - ..\..\..\include\msapi - - - - - ..\..\..\include;..\..\ExternalAPI;%(AdditionalIncludeDirectories) - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - Level3 - Full - Size - Use - common.h - false - - - true - Console - true - true - false - $(IntDir)$(TargetName).lib - $(ProfileDir)..\..\..\bin10\lib - /PDBALTPATH:%_PDB% - - - NDEBUG;%(PreprocessorDefinitions) - ..\..\..\include\msapi - - - - - ..\..\..\include;..\..\ExternalAPI;%(AdditionalIncludeDirectories) - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - Level3 - Full - Size - Use - common.h - false - - - true - Console - true - true - false - $(IntDir)$(TargetName).lib - $(ProfileDir)..\..\..\bin10\lib - /PDBALTPATH:%_PDB% - - - NDEBUG;%(PreprocessorDefinitions) - ..\..\..\include\msapi - - - - - - Create - - - NotUsing - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/plugins/CmdLine/MimCmd/MimCmd_10.vcxproj.filters b/plugins/CmdLine/MimCmd/MimCmd_10.vcxproj.filters deleted file mode 100644 index e37620521d..0000000000 --- a/plugins/CmdLine/MimCmd/MimCmd_10.vcxproj.filters +++ /dev/null @@ -1,50 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/plugins/CmdLine/MimCmd/MimCmd_12.vcxproj b/plugins/CmdLine/MimCmd/MimCmd_12.vcxproj deleted file mode 100644 index ad09b57e0f..0000000000 --- a/plugins/CmdLine/MimCmd/MimCmd_12.vcxproj +++ /dev/null @@ -1,200 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {1E3BB48A-FFBC-4A03-8C43-9124A484BE51} - MimCmd - - - - Application - MultiByte - true - v120_xp - - - Application - MultiByte - v120_xp - - - Application - MultiByte - true - v120_xp - - - Application - MultiByte - v120_xp - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - $(SolutionDir)$(Configuration)\ - $(SolutionDir)$(Configuration)\Obj\$(ProjectName)\ - $(SolutionDir)$(Configuration)64\ - $(SolutionDir)$(Configuration)64\Obj\$(ProjectName)\ - $(SolutionDir)$(Configuration)\ - $(SolutionDir)$(Configuration)\Obj\$(ProjectName)\ - $(SolutionDir)$(Configuration)64\ - $(SolutionDir)$(Configuration)64\Obj\$(ProjectName)\ - true - - - - Disabled - ..\..\..\include;..\..\ExternalAPI;%(AdditionalIncludeDirectories) - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebugDLL - Level3 - EditAndContinue - Use - common.h - false - - - true - Console - false - $(IntDir)$(TargetName).lib - $(ProfileDir)..\..\..\bin12\lib - false - - - _DEBUG;%(PreprocessorDefinitions) - ..\..\..\include\msapi - - - - - Disabled - ..\..\..\include;..\..\ExternalAPI;%(AdditionalIncludeDirectories) - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebugDLL - Level3 - Use - common.h - false - - - true - Console - false - $(IntDir)$(TargetName).lib - $(ProfileDir)..\..\..\bin12\lib - - - _DEBUG;%(PreprocessorDefinitions) - ..\..\..\include\msapi - - - - - ..\..\..\include;..\..\ExternalAPI;%(AdditionalIncludeDirectories) - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - Level3 - Full - Size - Use - common.h - false - - - true - Console - true - true - false - $(IntDir)$(TargetName).lib - $(ProfileDir)..\..\..\bin12\lib - - - NDEBUG;%(PreprocessorDefinitions) - ..\..\..\include\msapi - - - - - ..\..\..\include;..\..\ExternalAPI;%(AdditionalIncludeDirectories) - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - Level3 - Full - Size - Use - common.h - false - - - true - Console - true - true - false - $(IntDir)$(TargetName).lib - $(ProfileDir)..\..\..\bin12\lib - - - NDEBUG;%(PreprocessorDefinitions) - ..\..\..\include\msapi - - - - - - Create - - - NotUsing - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/plugins/CmdLine/MimCmd/MimCmd_12.vcxproj.filters b/plugins/CmdLine/MimCmd/MimCmd_12.vcxproj.filters deleted file mode 100644 index e37620521d..0000000000 --- a/plugins/CmdLine/MimCmd/MimCmd_12.vcxproj.filters +++ /dev/null @@ -1,50 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/plugins/CmdLine/MimCmd/res/version.rc b/plugins/CmdLine/MimCmd/res/version.rc deleted file mode 100644 index 5bfbab4754..0000000000 --- a/plugins/CmdLine/MimCmd/res/version.rc +++ /dev/null @@ -1,38 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#ifdef APSTUDIO_INVOKED -#error this file is not editable by Microsoft Visual C++ -#endif //APSTUDIO_INVOKED - -#include "afxres.h" -#include "..\src\version.h" - -VS_VERSION_INFO VERSIONINFO - FILEVERSION __FILEVERSION_STRING - PRODUCTVERSION __FILEVERSION_STRING - FILEFLAGSMASK 0x17L -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x4L - FILETYPE 0x0L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "000004b0" - BEGIN - VALUE "FileDescription", __DESCRIPTION - VALUE "InternalName", __PLUGIN_NAME - VALUE "LegalCopyright", __COPYRIGHT - VALUE "OriginalFilename", __FILENAME - VALUE "ProductName", __PLUGIN_NAME - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x0, 1200 - END -END diff --git a/plugins/CmdLine/MimCmd/src/MimCmd.cpp b/plugins/CmdLine/MimCmd/src/MimCmd.cpp deleted file mode 100644 index 688205e6f8..0000000000 --- a/plugins/CmdLine/MimCmd/src/MimCmd.cpp +++ /dev/null @@ -1,115 +0,0 @@ -/* -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. -*/ - -#include "common.h" - -int hLangpack = 0; - -int lpprintf(const char *format, ...) -{ - va_list va; - va_start(va, format); - const int MAX_SIZE = 16192; - char buffer[MAX_SIZE] = {0}; - int len = mir_vsnprintf(buffer, MAX_SIZE - 1, format, va); - buffer[MAX_SIZE - 1] = 0; - va_end(va); - CharToOemBuff(buffer, buffer, len); - printf("%s", buffer); - - return len; -} - -char *GetProgramName(char *programName, int size) -{ - char name[512]; - GetModuleFileName(GetModuleHandle(NULL), name, sizeof(name)); - char *p = strrchr(name, '\\'); - if (p) - { - STRNCPY(programName, p + 1, size); - } - else{ - STRNCPY(programName, name, size); - } - - return programName; -} - -void PrintUsage() -{ - char name[128]; - GetProgramName(name, sizeof(name)); - - lpprintf(Translate("%s usage:\n"), name); - lpprintf(Translate("%s [ [ [...]]].\n"), name); - lpprintf(Translate("This will tell Miranda to run the specified command. The commands can have zero, one or more parameters. Use '%s help' to get a list of possible commands.\n"), name); - lpprintf(Translate("No command can have more than %d parameters.\n"), MAX_ARGUMENTS - 1); -} - -void ShowVersion() -{ - char name[128]; - char message[1024]; - GetProgramName(name, sizeof(name)); - mir_snprintf(message, sizeof(message), Translate("%s version %s"), name, __VERSION_STRING_DOTS); - - lpprintf("%s\n", message); -} - -int main(int argc, char *argv[]) -{ - int error = 0; - if ((argc == 2) && (mir_strcmp(argv[1], "-v") == 0)) - { - ShowVersion(); - - return 0; - } - - if ((InitClient()) || (ConnectToMiranda()) || (GetKnownCommands()) || (LoadLangPackModule())) - { - lpprintf("Could not create connection with Miranda or could not retrieve list of known commands.\n"); - error = MIMRES_NOMIRANDA; - } - else{ - if ((argc <= 1) || (argc > MAX_ARGUMENTS)) - { - PrintUsage(); - } - else{ - PReply reply = ParseCommand(argv, argc); - if (reply) - { - error = reply->code; - lpprintf("%s\n", reply->message); - } - else{ - lpprintf(Translate("Unknown command '%s'.\n"), argv[1]); - } - - DestroyKnownCommands(); - DisconnectFromMiranda(); - DestroyClient(); - } - } - - return error; -} diff --git a/plugins/CmdLine/MimCmd/src/commands.cpp b/plugins/CmdLine/MimCmd/src/commands.cpp deleted file mode 100644 index bdccae6709..0000000000 --- a/plugins/CmdLine/MimCmd/src/commands.cpp +++ /dev/null @@ -1,229 +0,0 @@ -/* -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. -*/ - -#include "common.h" - -inline char *STRNCPY(char *output, const char *input, size_t size) -{ - char *res = strncpy(output, input, size); - output[size - 1] = 0; - - return res; -} - -LISTCOMMANDS ListCommands = NULL; - -PCommand knownCommands = NULL; -int cKnownCommands = 0; - -HMODULE hCmdLineDLL = NULL; - -char *GetMirandaFolder(char *mimFolder, int size) -{ - STRNCPY(mimFolder, sdCmdLine->mimFolder, size); - mimFolder[size - 1] = 0; - - return mimFolder; -} - - -int ConnectToMiranda() -{ - char pluginPath[1024]; - GetMirandaFolder(pluginPath, sizeof(pluginPath)); - mir_strcat(pluginPath, "\\plugins\\cmdline.dll"); - - ListCommands = NULL; - - hCmdLineDLL = LoadLibrary(pluginPath); - - int failure = 1; - if (hCmdLineDLL) - { - ListCommands = (LISTCOMMANDS) GetProcAddress(hCmdLineDLL, "ListCommands"); - } - - if (ListCommands) - { - failure = 0; - } - - return failure; -} - -int DisconnectFromMiranda() -{ - return FreeLibrary(hCmdLineDLL); -} - -int GetKnownCommands() -{ - ListCommands(&knownCommands, &cKnownCommands); - - return (knownCommands == NULL); -} - -int DestroyKnownCommands() -{ - - - return 0; -} - -PCommand GetCommand(char *command) -{ - int i; - char lower[512]; - STRNCPY(lower, command, sizeof(lower)); - _strlwr(lower); - - for (i = 0; i < cKnownCommands; i++) - { - if (mir_strcmp(knownCommands[i].command, lower) == 0) - { - return &knownCommands[i]; - } - } - - //allow more parameters to trigger the help command - /h -h /? --help - if ((mir_strcmp(lower, "/h") == 0) || (mir_strcmp(lower, "-h") == 0) || (mir_strcmp(lower, "/?") == 0) || (mir_strcmp(lower, "--help") == 0)) - { - for (i = 0; i < cKnownCommands; i++) - { - if (knownCommands[i].ID == MIMCMD_HELP) - { - return &knownCommands[i]; - } - } - } - - return NULL; -} - -void HandleHelpCommand(PCommand helpCommand, char *argv[], int argc, PReply reply) -{ - CMStringA szReply; - - if (argc >= 3) { - PCommand command = GetCommand(argv[2]); - - if (command) { - reply->code = MIMRES_SUCCESS; - szReply.Append(Translate(command->help)); - } - else { - reply->code = MIMRES_NOTFOUND; - szReply.AppendFormat(Translate("No help for '%s'."), argv[2]); - } - } - else { - reply->code = MIMRES_SUCCESS; - szReply.Append(Translate("Available commands: ")); - - for (int i = 0; i < cKnownCommands - 1; i++) { - szReply.Append(knownCommands[i].command); - szReply.Append(", "); - } - szReply.Append(knownCommands[cKnownCommands-1].command); - szReply.AppendChar('.'); - } - strncpy_s(reply->message, szReply, _TRUNCATE); -} - -PReply ParseCommand(char *argv[], int argc) -{ - PCommand command = GetCommand(argv[1]); - if (!command) - return NULL; - - PReply reply = &sdCmdLine->reply; - if (command->ID == MIMCMD_HELP) - HandleHelpCommand(command, argv, argc, reply); - else - ProcessConsoleCommand(command, argv, argc, reply); - - return reply; -} - -void FillSharedDataStruct(PCommand command, char *arguments[], int count) -{ - for (int i = 0; i < count; i++) - { - STRNCPY(sdCmdLine->arguments[i], arguments[i], ARGUMENT_SIZE); - } - - sdCmdLine->cArguments = count; - sdCmdLine->command = *command; - *sdCmdLine->reply.message = 0; - sdCmdLine->reply.code =-1; -} - -void ProcessConsoleCommand(PCommand command, char *arguments[], int count, PReply reply) -{ - const HANDLE events[] = {heServerDone, heServerClose, heServerBufferFull}; - const int cEvents = sizeof(events) / sizeof(events[0]); - - if (WaitForSingleObject(hmClient, INFINITE) == WAIT_OBJECT_0) - {//got the mutex, we're the only one who can talk to miranda now - FillSharedDataStruct(command, arguments, count); - SetEvent(heServerExec); //tell Miranda to process the request - - int done = FALSE; - while (!done) - { - switch (WaitForMultipleObjects(cEvents, events, FALSE, INFINITE)) //wait until server either finished processing or miranda was closed - { - case WAIT_OBJECT_0: //done event - { - done = TRUE; - - break; //nothing to do - } - - case WAIT_OBJECT_0 + 1: //close event - default: - { - mir_strcpy(sdCmdLine->reply.message, Translate("Miranda has been closed or an error has occurred while waiting for the result, could not process request.")); - done = TRUE; - - break; - } - - case WAIT_OBJECT_0 + 2: //buffer full event - { - lpprintf("%s", reply->message); - - break; - } - } - } - - reply->code = sdCmdLine->reply.code; - STRNCPY(reply->message, sdCmdLine->reply.message, REPLY_SIZE); - - ReleaseMutex(hmClient); //let other possible clients talk to the server - } - else{ - int err = GetLastError(); - reply->code = -1; - *reply->message = 0; - } - -} \ No newline at end of file diff --git a/plugins/CmdLine/MimCmd/src/commands.h b/plugins/CmdLine/MimCmd/src/commands.h deleted file mode 100644 index 4c60b49565..0000000000 --- a/plugins/CmdLine/MimCmd/src/commands.h +++ /dev/null @@ -1,42 +0,0 @@ -/* -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. -*/ - -#ifndef M_MIMCMD_COMMANDS_H -#define M_MIMCMD_COMMANDS_H - -extern PCommand knownCommands; -extern int cKnownCommands; - -typedef void (* LISTCOMMANDS)(PCommand *commands, int *count); - -extern LISTCOMMANDS ListCommands; - -char *GetMirandaFolder(); - -int ConnectToMiranda(); -int DisconnectFromMiranda(); -int GetKnownCommands(); -int DestroyKnownCommands(); - -PCommand GetCommand(char *command); -PReply ParseCommand(char *argv[], int argc); -void ProcessConsoleCommand(PCommand command, char *arguments[], int count, PReply reply); - -#endif \ No newline at end of file diff --git a/plugins/CmdLine/MimCmd/src/common.h b/plugins/CmdLine/MimCmd/src/common.h deleted file mode 100644 index 675276cf09..0000000000 --- a/plugins/CmdLine/MimCmd/src/common.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -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. -*/ - -#define _CRT_SECURE_NO_WARNINGS - -#include -#include - -#define NO_MIMCMD_COMMANDS - -#include -#include -#include -#include -#include - -#include "..\..\src\mimcmd_ipc.h" -#include "version.h" -#include "..\..\src\utils.h" -#include "commands.h" - -int lpprintf(const char *format, ...); diff --git a/plugins/CmdLine/MimCmd/src/resource.h b/plugins/CmdLine/MimCmd/src/resource.h deleted file mode 100644 index c3bc570152..0000000000 --- a/plugins/CmdLine/MimCmd/src/resource.h +++ /dev/null @@ -1,14 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by version.rc - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 101 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/plugins/CmdLine/MimCmd/src/stdafx.cpp b/plugins/CmdLine/MimCmd/src/stdafx.cpp deleted file mode 100644 index c5fe5abaad..0000000000 --- a/plugins/CmdLine/MimCmd/src/stdafx.cpp +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (C) 2012-15 Miranda NG project (http://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 . -*/ - -#include "common.h" \ No newline at end of file diff --git a/plugins/CmdLine/MimCmd/src/version.h b/plugins/CmdLine/MimCmd/src/version.h deleted file mode 100644 index 9dc4c88e49..0000000000 --- a/plugins/CmdLine/MimCmd/src/version.h +++ /dev/null @@ -1,14 +0,0 @@ -#define __MAJOR_VERSION 0 -#define __MINOR_VERSION 0 -#define __RELEASE_NUM 4 -#define __BUILD_NUM 1 - -#include - -#define __PLUGIN_NAME "MimCmd" -#define __FILENAME "MimCmd.exe" -#define __DESCRIPTION "This will tell Miranda to run the specified command." -#define __AUTHOR "Cristian Libotean" -#define __AUTHOREMAIL "eblis102@yahoo.com" -#define __AUTHORWEB "http://miranda-ng.org/p/CmdLine/" -#define __COPYRIGHT "© 2007-2011 Cristian Libotean" diff --git a/plugins/CmdLine/src/CmdLine.cpp b/plugins/CmdLine/src/CmdLine.cpp index 933b8f7b3d..a8224f5b49 100644 --- a/plugins/CmdLine/src/CmdLine.cpp +++ b/plugins/CmdLine/src/CmdLine.cpp @@ -18,7 +18,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include "commonheaders.h" +#include "stdafx.h" char ModuleName[] = "CmdLine"; HINSTANCE hInstance; @@ -38,7 +38,7 @@ PLUGININFOEX pluginInfo = { {0x2f1a117c, 0x3c1b, 0x4c01, {0x89, 0xea, 0x6d, 0x8f, 0xd8, 0x5a, 0x9b, 0x4c}} }; -extern "C" __declspec(dllexport) PLUGININFOEX *MirandaPluginInfoEx(DWORD mirandaVersion) +extern "C" __declspec(dllexport) PLUGININFOEX *MirandaPluginInfoEx(DWORD) { return &pluginInfo; } @@ -46,14 +46,14 @@ extern "C" __declspec(dllexport) PLUGININFOEX *MirandaPluginInfoEx(DWORD miranda extern "C" int __declspec(dllexport) Load(void) { mir_getLP(&pluginInfo); - + if (InitServer()) { MessageBox(0, TranslateT("Could not initialize CmdLine plugin property"), TranslateT("Error"), MB_ICONEXCLAMATION | MB_OK); } - + HookEvents(); - + return 0; } @@ -62,13 +62,13 @@ extern "C" int __declspec(dllexport) Unload() bWaitForUnload = 0; UnhookEvents(); - + DestroyServer(); - + return 0; } -bool WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) +bool WINAPI DllMain(HINSTANCE hinstDLL, DWORD, LPVOID) { hInstance = hinstDLL; return TRUE; diff --git a/plugins/CmdLine/src/commonheaders.h b/plugins/CmdLine/src/commonheaders.h deleted file mode 100644 index bd6e81d259..0000000000 --- a/plugins/CmdLine/src/commonheaders.h +++ /dev/null @@ -1,65 +0,0 @@ -/* -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. -*/ - -#ifndef M_CMDLINE_COMMONHEADERS_H -#define M_CMDLINE_COMMONHEADERS_H - -#define _CRT_SECURE_NO_WARNINGS - -#include -#include -#include -#include - -#include "newpluginapi.h" -#include "m_database.h" -#include "m_clist.h" -#include "m_clui.h" -#include "m_contacts.h" -#include "m_langpack.h" -#include "m_protosvc.h" -#include "m_popup.h" -#include "m_message.h" -#include "m_ignore.h" -#include "m_string.h" - -#include "m_crashdumper.h" -#include "m_statusplugins.h" - -#include "version.h" -#include "utils.h" -#include "resource.h" -#include "hooked_events.h" -#include "utils.h" -#include "mimcmd_ipc.h" -#include "services.h" -#include "mimcmd_handlers.h" -#include "mimcmd_data.h" - -extern char ModuleName[]; -extern HINSTANCE hInstance; - -extern int bUseANSIStrings; - -extern int bWaitForUnload; - -#define ID_ICQ_EXIT 40001 - -#endif //M_CMDLINE_COMMONHEADERS_H \ No newline at end of file diff --git a/plugins/CmdLine/src/hooked_events.cpp b/plugins/CmdLine/src/hooked_events.cpp index 3226b659b4..1d7c336e03 100644 --- a/plugins/CmdLine/src/hooked_events.cpp +++ b/plugins/CmdLine/src/hooked_events.cpp @@ -18,12 +18,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include "commonheaders.h" - -HANDLE hModulesLoaded; -HANDLE hOptionsInitialize; -HANDLE hShutdown; -HANDLE hProtoAck; +#include "stdafx.h" int bShouldProcessAcks = FALSE; @@ -32,58 +27,46 @@ int cAcks = sizeof(acks) / sizeof(acks[0]); int HookEvents() { - hModulesLoaded = HookEvent(ME_SYSTEM_MODULESLOADED, OnModulesLoaded); - hShutdown = HookEvent(ME_SYSTEM_PRESHUTDOWN, OnShutdown); - hProtoAck = HookEvent(ME_PROTO_ACK, OnProtoAck); -// hOptionsInitialize = HookEvent(ME_OPT_INITIALISE, OnOptionsInitialise); - + HookEvent(ME_SYSTEM_MODULESLOADED, OnModulesLoaded); + HookEvent(ME_SYSTEM_PRESHUTDOWN, OnShutdown); + HookEvent(ME_PROTO_ACK, OnProtoAck); return 0; } int UnhookEvents() { - UnhookEvent(hModulesLoaded); - UnhookEvent(hShutdown); - UnhookEvent(OnProtoAck); -// UnhookEvent(hOptionsInitialize); - return 0; } -int OnModulesLoaded(WPARAM wParam, LPARAM lParam) +int OnModulesLoaded(WPARAM, LPARAM) { StartServer(); - return 0; } -int OnShutdown(WPARAM wParam, LPARAM lParam) +int OnShutdown(WPARAM, LPARAM) { SetEvent(heServerClose); //tell the listening server to stop - return 0; } int QueueAck(ACKDATA *ack) { for (int i = cAcks - 1; i > 0; i--) - { acks[i] = acks[i - 1]; - } - + acks[0] = *ack; - return 0; } int ClearAckQueue() { memset(acks, 0, cAcks * sizeof(ACKDATA)); - + return 0; } -ACKDATA *GetAck(HANDLE hProcess) +ACKDATA* GetAck(HANDLE hProcess) { for (int i = 0; i < cAcks; i++) { @@ -92,20 +75,18 @@ ACKDATA *GetAck(HANDLE hProcess) return &acks[i]; } } - + return NULL; } -int OnProtoAck(WPARAM wParam, LPARAM lParam) +int OnProtoAck(WPARAM, LPARAM lParam) { if (bShouldProcessAcks) { - ACKDATA *ack = (ACKDATA *) lParam; + ACKDATA *ack = (ACKDATA*)lParam; if ((ack) && (ack->type == ACKTYPE_MESSAGE)) //if it's a message ack - { QueueAck(ack); - } } - + return 0; } \ No newline at end of file diff --git a/plugins/CmdLine/src/mimcmd_data.cpp b/plugins/CmdLine/src/mimcmd_data.cpp index 95550ed778..61c6af89d7 100644 --- a/plugins/CmdLine/src/mimcmd_data.cpp +++ b/plugins/CmdLine/src/mimcmd_data.cpp @@ -18,26 +18,29 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include "commonheaders.h" +#include "stdafx.h" + +TCommand mimCommands[] = +{ + { MIMCMD_STATUS, "status", MIMCMD_HELP_STATUS }, + { MIMCMD_AWAYMSG, "awaymsg", MIMCMD_HELP_AWAYMSG }, + { MIMCMD_XSTATUS, "xstatus", MIMCMD_HELP_XSTATUS }, + { MIMCMD_POPUPS, "popups", MIMCMD_HELP_POPUPS }, + { MIMCMD_SOUNDS, "sounds", MIMCMD_HELP_SOUNDS }, + { MIMCMD_CLIST, "clist", MIMCMD_HELP_CLIST }, + { MIMCMD_QUIT, "quit", MIMCMD_HELP_QUIT }, + { MIMCMD_HELP, "help", MIMCMD_HELP_HELP }, + { MIMCMD_EXCHANGE, "exchange", MIMCMD_HELP_EXCHANGE }, + { MIMCMD_YAMN, "yamn", MIMCMD_HELP_YAMN }, + { MIMCMD_CALLSERVICE, "callservice", MIMCMD_HELP_CALLSERVICE }, + { MIMCMD_MESSAGE, "message", MIMCMD_HELP_MESSAGE }, + { MIMCMD_DATABASE, "db", MIMCMD_HELP_DATABASE }, + { MIMCMD_PROXY, "proxy", MIMCMD_HELP_PROXY }, + { MIMCMD_CONTACTS, "contacts", MIMCMD_HELP_CONTACTS }, + { MIMCMD_HISTORY, "history", MIMCMD_HELP_HISTORY }, + { MIMCMD_VERSION, "version", MIMCMD_HELP_VERSION }, + { MIMCMD_SETNICKNAME, "setnickname", MIMCMD_HELP_SETNICKNAME }, + { MIMCMD_IGNORE, "ignore", MIMCMD_HELP_IGNORE }, +}; -TCommand mimCommands[] = {{MIMCMD_STATUS, "status", MIMCMD_HELP_STATUS}, - {MIMCMD_AWAYMSG, "awaymsg", MIMCMD_HELP_AWAYMSG}, - {MIMCMD_XSTATUS, "xstatus", MIMCMD_HELP_XSTATUS}, - {MIMCMD_POPUPS, "popups", MIMCMD_HELP_POPUPS}, - {MIMCMD_SOUNDS, "sounds", MIMCMD_HELP_SOUNDS}, - {MIMCMD_CLIST, "clist", MIMCMD_HELP_CLIST}, - {MIMCMD_QUIT, "quit", MIMCMD_HELP_QUIT}, - {MIMCMD_HELP, "help", MIMCMD_HELP_HELP}, - {MIMCMD_EXCHANGE, "exchange", MIMCMD_HELP_EXCHANGE}, - {MIMCMD_YAMN, "yamn", MIMCMD_HELP_YAMN}, - {MIMCMD_CALLSERVICE, "callservice", MIMCMD_HELP_CALLSERVICE}, - {MIMCMD_MESSAGE, "message", MIMCMD_HELP_MESSAGE}, - {MIMCMD_DATABASE, "db", MIMCMD_HELP_DATABASE}, - {MIMCMD_PROXY, "proxy", MIMCMD_HELP_PROXY}, - {MIMCMD_CONTACTS, "contacts", MIMCMD_HELP_CONTACTS}, - {MIMCMD_HISTORY, "history", MIMCMD_HELP_HISTORY}, - {MIMCMD_VERSION, "version", MIMCMD_HELP_VERSION}, - {MIMCMD_SETNICKNAME, "setnickname", MIMCMD_HELP_SETNICKNAME}, - {MIMCMD_IGNORE, "ignore", MIMCMD_HELP_IGNORE}, - }; int cMimCommands = sizeof(mimCommands) / sizeof(mimCommands[0]); \ No newline at end of file diff --git a/plugins/CmdLine/src/mimcmd_handlers.cpp b/plugins/CmdLine/src/mimcmd_handlers.cpp index 3b450485a1..64ab262bf7 100644 --- a/plugins/CmdLine/src/mimcmd_handlers.cpp +++ b/plugins/CmdLine/src/mimcmd_handlers.cpp @@ -18,7 +18,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include "commonheaders.h" +#include "stdafx.h" #define STATE_UNKNOWN -1 #define STATE_OFF 0 @@ -46,27 +46,27 @@ __inline static int matches(char *command, char *lower) int Get2StateValue(char *state) { char lower[512]; - STRNCPY(lower, state, sizeof(lower)); + strncpy_s(lower, state, sizeof(lower)); _strlwr(lower); - + //if ((mir_strcmp(lower, "enable") == 0) || (mir_strcmp(lower, "show") == 0) || (mir_strcmp(lower, "on") == 0)) if ((matches("enable", lower)) || (matches("show", lower)) || (matches("on", lower))) { return STATE_ON; } - + //if ((mir_strcmp(lower, "disable") == 0) || (mir_strcmp(lower, "hide") == 0) || (mir_strcmp(lower, "off") == 0)) if ((matches("disable", lower)) || (matches("hide", lower)) || (matches("off", lower))) { return STATE_OFF; } - + //if (mir_strcmp(lower, "toggle") == 0) if (matches("toggle", lower)) { return STATE_TOGGLE; } - + return STATE_UNKNOWN; } @@ -74,33 +74,16 @@ int AccountName2Protocol(const char *accountName, OUT char *uniqueProtocolName, { int count; PROTOACCOUNT **accounts = NULL; - ProtoEnumAccounts(&count, &accounts); - STRNCPY(uniqueProtocolName, accountName, length); - - for (int i = 0; i < count; i++) - { - if (accounts[i]->bIsEnabled) - { - if (_stricmp(accountName, accounts[i]->tszAccountName) == 0) - { - STRNCPY(uniqueProtocolName, accounts[i]->szModuleName, length); + strncpy_s(uniqueProtocolName, length, accountName, _TRUNCATE); + for (int i = 0; i < count; i++) { + if (accounts[i]->bIsEnabled) { + if (_stricmp(accountName, _T2A(accounts[i]->tszAccountName)) == 0) { + strncpy_s(uniqueProtocolName, length, accounts[i]->szModuleName, _TRUNCATE); return 0; } - - //the account name may be unicode, try comparing with an unicode string too - char *account = mir_u2a((wchar_t *) accounts[i]->tszAccountName); - if (_stricmp(accountName, account) == 0) - { - STRNCPY(uniqueProtocolName, accounts[i]->szModuleName, length); - - mir_free(account); - return 0; - } - - mir_free(account); } } @@ -121,68 +104,64 @@ void HandleUnknownParameter(PCommand command, char *param, PReply reply) int ParseValueParam(char *param, void *&result) { - if (mir_strlen(param) > 0) - { - switch (*param) + if (mir_strlen(param) > 0) { + switch (*param) { + case 's': { - case 's': - { - size_t len = mir_strlen(param); //- 1 + 1 - result = (char *) malloc(len * sizeof(char)); - STRNCPY((char *) result, param + 1, len); - ((char *) result)[len - 1] = 0; - return VALUE_STRING; - } - - case 'w': - { - size_t len = mir_strlen(param); - result = (WCHAR *) malloc(len * sizeof(WCHAR)); - char *buffer = (char *) malloc(len * sizeof(WCHAR)); - STRNCPY(buffer, param + 1, len); - - MultiByteToWideChar(CP_ACP, 0, buffer, -1, (WCHAR *) result, (int) len); - - free(buffer); - return VALUE_WIDE; - } + size_t len = mir_strlen(param); //- 1 + 1 + result = (char*)malloc(len * sizeof(char)); + strcpy((char*) result, param + 1); + return VALUE_STRING; + } - case 'b': - { - result = (char *) malloc(sizeof(char)); - char *stop; - - long tmp = strtol(param + 1, &stop, 10); - * ((char *) result) = tmp; - - return (*stop == 0) ? VALUE_BYTE : VALUE_ERROR; - } + case 'w': + { + size_t len = mir_strlen(param); + result = (WCHAR *)malloc(len * sizeof(WCHAR)); + char *buffer = (char*)malloc(len * sizeof(WCHAR)); + strncpy_s(buffer, len, param + 1, _TRUNCATE); - case 'i': - { - result = (int *) malloc(sizeof(int)); - char *stop; - - long tmp = strtol(param + 1, &stop, 10); - * ((int *) result) = tmp; - - return (*stop == 0) ? VALUE_WORD : VALUE_ERROR; - } + MultiByteToWideChar(CP_ACP, 0, buffer, -1, (WCHAR *) result, (int) len); - case 'd': - { - result = (long *) malloc(sizeof(long)); - char *stop; - * ((long *) result) = strtol(param + 1, &stop, 10); - - return (*stop == 0) ? VALUE_DWORD : VALUE_ERROR; - } - default: - return VALUE_UNKNOWN; + free(buffer); + return VALUE_WIDE; + } + + case 'b': + { + result = (char *)malloc(sizeof(char)); + + char *stop; + long tmp = strtol(param + 1, &stop, 10); + * ((char *) result) = tmp; + + return (*stop == 0) ? VALUE_BYTE : VALUE_ERROR; + } + + case 'i': + { + result = (int *)malloc(sizeof(int)); + char *stop; + + long tmp = strtol(param + 1, &stop, 10); + * ((int *) result) = tmp; + + return (*stop == 0) ? VALUE_WORD : VALUE_ERROR; + } + + case 'd': + { + result = (long *)malloc(sizeof(long)); + char *stop; + * ((long *) result) = strtol(param + 1, &stop, 10); + + return (*stop == 0) ? VALUE_DWORD : VALUE_ERROR; + } + default: + return VALUE_UNKNOWN; } } - else - return VALUE_ERROR; + else return VALUE_ERROR; } int ParseStatusParam(char *status) @@ -211,7 +190,7 @@ int ParseStatusParam(char *status) else if ( !mir_strcmp(lower, "outtolunch")) return ID_STATUS_OUTTOLUNCH; else - return 0; + return 0; } char *PrettyStatusMode(int status, char *buffer, int size) @@ -219,7 +198,7 @@ char *PrettyStatusMode(int status, char *buffer, int size) *buffer = 0; char *data = (char *) CallService(MS_CLIST_GETSTATUSMODEDESCRIPTION, status, 0); if (data) - STRNCPY(buffer, data, size); + strncpy_s(buffer, size, data, _TRUNCATE); return buffer; } @@ -233,7 +212,7 @@ void HandleStatusCommand(PCommand command, TArgument *argv, int argc, PReply rep INT_PTR status = CallService(MS_CLIST_GETSTATUSMODE, 0, 0); char pretty[128]; PrettyStatusMode(status, pretty, sizeof(pretty)); - + CMStringA perAccountStatus; int count; @@ -261,7 +240,7 @@ void HandleStatusCommand(PCommand command, TArgument *argv, int argc, PReply rep return; } - + case 3: { int status = ParseStatusParam(argv[2]); @@ -273,22 +252,22 @@ void HandleStatusCommand(PCommand command, TArgument *argv, int argc, PReply rep { announce_status_change(NULL, status, NULL); } - + PrettyStatusMode(old, po, sizeof(po)); CallService(MS_CLIST_SETSTATUSMODE, status, 0); char pn[128]; PrettyStatusMode(status, pn, sizeof(pn)); - + reply->code = MIMRES_SUCCESS; mir_snprintf(reply->message, _countof(reply->message), Translate("Changed global status to '%s' (previous status was '%s')."), pn, po); } else{ HandleUnknownParameter(command, argv[2], reply); } - + return; } - + case 4: { int status = ParseStatusParam(argv[2]); @@ -304,24 +283,24 @@ void HandleStatusCommand(PCommand command, TArgument *argv, int argc, PReply rep { announce_status_change(protocol, status, NULL); } - + PrettyStatusMode(old, po, sizeof(po)); INT_PTR res = CallProtoService(protocol, PS_SETSTATUS, status, 0); char pn[128]; PrettyStatusMode(status, pn, sizeof(pn)); - + switch (res) { case 0: reply->code = MIMRES_SUCCESS; mir_snprintf(reply->message, _countof(reply->message), Translate("Changed '%s' status to '%s' (previous status was '%s')."), account, pn, po); return; - + case CALLSERVICE_NOTFOUND: reply->code = MIMRES_FAILURE; mir_snprintf(reply->message, _countof(reply->message), Translate("'%s' doesn't seem to be a valid account."), account); return; - + default: reply->code = MIMRES_FAILURE; mir_snprintf(reply->message, _countof(reply->message), Translate("Failed to change status for account '%s' to '%s'."), account, pn); @@ -331,10 +310,10 @@ void HandleStatusCommand(PCommand command, TArgument *argv, int argc, PReply rep else{ HandleUnknownParameter(command, argv[2], reply); } - + return; } - + default: HandleWrongParametersCount(command, reply); } @@ -383,14 +362,14 @@ void HandleAwayMsgCommand(PCommand command, TArgument *argv, int argc, PReply re reply->code = MIMRES_SUCCESS; return; } - + case 4: { char *awayMsg = argv[2]; char protocol[128]; char *account = argv[3]; AccountName2Protocol(account, protocol, sizeof(protocol)); - + char pn[128]; INT_PTR res = CallProtoService(protocol, PS_GETCAPS, PFLAGNUM_1, 0); if ((res & PF1_MODEMSGSEND) != 0) //if the protocol supports away messages @@ -407,31 +386,31 @@ void HandleAwayMsgCommand(PCommand command, TArgument *argv, int argc, PReply re else { res = -2; } - + switch (res) { case 0: reply->code = MIMRES_SUCCESS; mir_snprintf(reply->message, _countof(reply->message), Translate("Changed '%s' status message to '%s' (status is '%s')."), account, awayMsg, pn); return; - + case CALLSERVICE_NOTFOUND: reply->code = MIMRES_FAILURE; mir_snprintf(reply->message, _countof(reply->message), Translate("'%s' doesn't seem to be a valid account."), account); return; - + case -2: reply->code = MIMRES_FAILURE; mir_snprintf(reply->message, _countof(reply->message), Translate("Account '%s' does not support away messages, skipping."), account); return; - + default: reply->code = MIMRES_FAILURE; mir_snprintf(reply->message, _countof(reply->message), Translate("Failed to change status message for account '%s' to '%s' (status is '%s')."), account, awayMsg, pn); return; } } - + default: HandleWrongParametersCount(command, reply); } @@ -472,27 +451,27 @@ void HandlePopupsCommand(PCommand command, TArgument *argv, int argc, PReply rep { int state = CallService(MS_POPUP_QUERY, PUQS_GETSTATUS, 0); Set2StateReply(reply, state, 0, LPGEN("Popups are currently enabled."), "", LPGEN("Popups are currently disabled."), ""); - + return; } - + case 3: { int failure; int state = 0; - + switch (Get2StateValue(argv[2])) { case STATE_ON: failure = CallService(MS_POPUP_QUERY, PUQS_ENABLEPOPUPS, 0); state = TRUE; break; - + case STATE_OFF: failure = CallService(MS_POPUP_QUERY, PUQS_DISABLEPOPUPS, 0); state = FALSE; break; - + case STATE_TOGGLE: { int state = CallService(MS_POPUP_QUERY, PUQS_GETSTATUS, 0); @@ -500,18 +479,18 @@ void HandlePopupsCommand(PCommand command, TArgument *argv, int argc, PReply rep state = 1 - state; break; } - + default: HandleUnknownParameter(command, argv[2], reply); return; } - + Set2StateReply(reply, state, failure, LPGEN("Popups were enabled successfully."), LPGEN("Popups could not be enabled."), LPGEN("Popups were disabled successfully."), LPGEN("Popups could not be disabled.")); - + return; } - + default: HandleWrongParametersCount(command, reply); } @@ -527,39 +506,39 @@ void HandleSoundsCommand(PCommand command, TArgument *argv, int argc, PReply rep Set2StateReply(reply, state, 0, LPGEN("Sounds are currently enabled."), "", LPGEN("Sounds are currently disabled."), ""); return; } - + case 3: { int state = 0; - + switch (Get2StateValue(argv[2])) { case STATE_ON: db_set_b(NULL, "Skin", "UseSound", 1); state = TRUE; break; - + case STATE_OFF: db_set_b(NULL, "Skin", "UseSound", 0); state = FALSE; break; - + case STATE_TOGGLE: state = db_get_b(NULL, "Skin", "UseSound", 1); state = 1 - state; db_set_b(NULL, "Skin", "UseSound", state); break; - + default: HandleUnknownParameter(command, argv[2], reply); return; } Set2StateReply(reply, state, 0, LPGEN("Sounds were enabled successfully."), "", LPGEN("Sounds were disabled successfully."), ""); - + return; } - + default: HandleWrongParametersCount(command, reply); } @@ -574,56 +553,56 @@ void HandleClistCommand(PCommand command, TArgument *argv, int argc, PReply repl HWND hClist = (HWND) CallService(MS_CLUI_GETHWND, 0, 0); int state = IsWindowVisible(hClist); Set2StateReply(reply, state, 0, LPGEN("Contact list is currently shown."), "", LPGEN("Contact list is currently hidden."), ""); - + return; } - + case 3: { int state = 0; HWND hClist = (HWND) CallService(MS_CLUI_GETHWND, 0, 0); - + switch (Get2StateValue(argv[2])) { case STATE_ON: { ShowWindow(hClist, SW_SHOW); - + state = TRUE; - + break; } - + case STATE_OFF: { ShowWindow(hClist, SW_HIDE); state = FALSE; - + break; } - + case STATE_TOGGLE: { state = IsWindowVisible(hClist); - + state = 1 - state; ShowWindow(hClist, (state) ? SW_SHOW : SW_HIDE); - + break; } - + default: HandleUnknownParameter(command, argv[2], reply); return; } - + Set2StateReply(reply, state, 0, LPGEN("Contact list was shown successfully."), "", LPGEN("Contact list was hidden successfully."), ""); - + return; } - + default: HandleWrongParametersCount(command, reply); } @@ -636,38 +615,37 @@ void HandleQuitCommand(PCommand command, TArgument *argv, int argc, PReply reply case 2: { CallService("CloseAction", 0, 0); - + //try another quit method HWND hWndMiranda = (HWND)CallService(MS_CLUI_GETHWND, 0, 0); PostMessage(hWndMiranda, WM_COMMAND, ID_ICQ_EXIT, 0); - + reply->code = MIMRES_SUCCESS; - mir_snprintf(reply->message, _countof(reply->message), TranslateT("Issued a quit command.")); - + mir_snprintf(reply->message, _countof(reply->message), Translate("Issued a quit command.")); break; } - + case 3: { char lower[128]; - STRNCPY(lower, argv[2], sizeof(lower)); + strncpy_s(lower, argv[2], sizeof(lower)); _strlwr(lower); - + if (mir_strcmp(lower, "wait") == 0) { CallService("CloseAction", 0, 0); - + //try another quit method HWND hWndMiranda = (HWND)CallService(MS_CLUI_GETHWND, 0, 0); PostMessage(hWndMiranda, WM_COMMAND, ID_ICQ_EXIT, 0); - + reply->code = MIMRES_SUCCESS; - mir_snprintf(reply->message, _countof(reply->message), TranslateT("Issued a quit and wait command.")); - + mir_snprintf(reply->message, _countof(reply->message), Translate("Issued a quit and wait command.")); + SetEvent(heServerBufferFull); - + bWaitForUnload = 1; - + while (bWaitForUnload) { Sleep(250); //wait for Miranda to quit. @@ -676,10 +654,10 @@ void HandleQuitCommand(PCommand command, TArgument *argv, int argc, PReply reply else{ HandleUnknownParameter(command, argv[2], reply); } - + break; } - + default: HandleWrongParametersCount(command, reply); } @@ -692,7 +670,7 @@ void HandleExchangeCommand(PCommand command, TArgument *argv, int argc, PReply r case 3: { char lower[128]; - STRNCPY(lower, argv[2], sizeof(lower)); + strncpy_s(lower, argv[2], sizeof(lower)); _strlwr(lower); if (mir_strcmp(lower, "check") == 0) { @@ -710,10 +688,10 @@ void HandleExchangeCommand(PCommand command, TArgument *argv, int argc, PReply r else{ HandleUnknownParameter(command, argv[2], reply); } - + return; } - + default: HandleWrongParametersCount(command, reply); } @@ -726,14 +704,14 @@ void HandleYAMNCommand(PCommand command, TArgument *argv, int argc, PReply reply case 3: { char lower[128]; - STRNCPY(lower, argv[2], sizeof(lower)); + strncpy_s(lower, argv[2], sizeof(lower)); _strlwr(lower); if (mir_strcmp(lower, "check") == 0) { if (ServiceExists(MS_YAMN_FORCECHECK)) { CallService(MS_YAMN_FORCECHECK, 0, 0); - + reply->code = MIMRES_SUCCESS; mir_snprintf(reply->message, _countof(reply->message), Translate("Issued check email command to YAMN plugin.")); } @@ -745,10 +723,10 @@ void HandleYAMNCommand(PCommand command, TArgument *argv, int argc, PReply reply else{ HandleUnknownParameter(command, argv[2], reply); } - + return; } - + default: HandleWrongParametersCount(command, reply); } @@ -771,7 +749,7 @@ void HandleCallServiceCommand(PCommand command, TArgument *argv, int argc, PRepl { //very dangerous but the user asked INT_PTR res = CallService(service, ((res1 == 1) ? *((long *) wParam) : (WPARAM) wParam), (LPARAM) ((res2 == 1) ? *((long *) lParam) : (LPARAM) lParam)); - + reply->code = MIMRES_SUCCESS; mir_snprintf(reply->message, _countof(reply->message), Translate("CallService call successful: service '%s' returned %p."), service, res); } @@ -788,10 +766,10 @@ void HandleCallServiceCommand(PCommand command, TArgument *argv, int argc, PRepl reply->code = MIMRES_FAILURE; mir_snprintf(reply->message, _countof(reply->message), Translate("Service '%s' does not exist."), service); } - + break; } - + default: HandleWrongParametersCount(command, reply); } @@ -816,23 +794,15 @@ MCONTACT ParseContactParam(char *contact) char account[128]; char protocol[128]; char *p = strrchr(contact, ':'); - MCONTACT hContact = NULL; - if (p) - { - *p = 0; - STRNCPY(name, contact, p - contact + 1); - STRNCPY(account, p + 1, sizeof(account)); - *p = ':'; - AccountName2Protocol(account, protocol, sizeof(protocol)); - - hContact = GetContactFromID(name, protocol); + if (p == 0) + return GetContactFromID(contact, (char*)NULL); - } - else{ - hContact = GetContactFromID(contact, (char *) NULL); - } - - return hContact; + *p = 0; + strncpy_s(name, contact, _TRUNCATE); + strncpy_s(account, p+1, _TRUNCATE); + *p = ':'; + AccountName2Protocol(account, protocol, sizeof(protocol)); + return GetContactFromID(name, protocol); } void HandleMessageCommand(PCommand command, TArgument *argv, int argc, PReply reply) @@ -842,13 +812,13 @@ void HandleMessageCommand(PCommand command, TArgument *argv, int argc, PReply re char message[512]; ParseMessage(message, argv[argc - 1]); //get the message - CMString szReply; + CMStringA szReply; ACKDATA *ack = NULL; for (int i = 2; i < argc - 1; i++) { char *contact = argv[i]; MCONTACT hContact = ParseContactParam(contact); - + if (i != 3) szReply.AppendChar('\n'); @@ -864,13 +834,13 @@ void HandleMessageCommand(PCommand command, TArgument *argv, int argc, PReply re counter++; } bShouldProcessAcks = FALSE; - + if (counter < MAX_COUNT) { if (ack->result == ACKRESULT_SUCCESS) { if (ack->szModule) - { + { szReply.AppendFormat(Translate("Message sent to '%s'."), contact); DBEVENTINFO e = {0}; @@ -878,14 +848,14 @@ void HandleMessageCommand(PCommand command, TArgument *argv, int argc, PReply re e.cbSize = sizeof(DBEVENTINFO); e.eventType = EVENTTYPE_MESSAGE; e.flags = DBEF_SENT; - + e.pBlob = (PBYTE) message; e.cbBlob = (DWORD) mir_strlen((char *) message) + 1; - - STRNCPY(module, ack->szModule, sizeof(module)); + + strncpy_s(module, ack->szModule, sizeof(module)); e.szModule = module; e.timestamp = (DWORD) time(NULL); - + db_event_add(ack->hContact, &e); } else szReply.AppendFormat(Translate("Message to '%s' was marked as sent but the account seems to be offline"), contact); @@ -908,44 +878,44 @@ bool ParseDatabaseData(DBVARIANT *var, char *buffer, int size, int free) case DBVT_BYTE: mir_snprintf(buffer, size, Translate("byte:%d"), var->bVal); return true; - + case DBVT_WORD: mir_snprintf(buffer, size, Translate("word:%d"), var->wVal); return true; - + case DBVT_DWORD: mir_snprintf(buffer, size, Translate("dword:%ld"), var->dVal); return true; - + case DBVT_ASCIIZ: mir_snprintf(buffer, size, Translate("string:'%s'"), var->pszVal); if (free) { mir_free(var->pszVal); } - + return true; - + case DBVT_WCHAR: mir_snprintf(buffer, size, Translate("wide string:'%S'"), var->pwszVal); if (free) { mir_free(var->pwszVal); } return true; - + case DBVT_UTF8: mir_snprintf(buffer, size, Translate("utf8:'%s'"), var->pszVal); if (free) { mir_free(var->pszVal); } return true; - + case DBVT_BLOB: mir_snprintf(buffer, size, Translate("blob:N/A")); if (free) { mir_free(var->pbVal); } return true; - + default: mir_snprintf(buffer, size, Translate("unknown value")); return false; @@ -957,7 +927,7 @@ void HandleDatabaseCommand(PCommand command, TArgument *argv, int argc, PReply r if (argc >= 3) //we have something to parse { char dbcmd[128]; - STRNCPY(dbcmd, argv[2], sizeof(dbcmd)); + strncpy_s(dbcmd, argv[2], sizeof(dbcmd)); dbcmd[sizeof(dbcmd) - 1] = 0; _strlwr(dbcmd); if (mir_strcmp(dbcmd, "delete") == 0) @@ -966,9 +936,9 @@ void HandleDatabaseCommand(PCommand command, TArgument *argv, int argc, PReply r { char *module = argv[3]; char *key = argv[4]; - + db_unset(NULL, module, key); - + reply->code = MIMRES_SUCCESS; mir_snprintf(reply->message, _countof(reply->message), Translate("Setting '%s/%s' deleted."), module, key); } @@ -982,46 +952,44 @@ void HandleDatabaseCommand(PCommand command, TArgument *argv, int argc, PReply r { char *module = argv[3]; char *key = argv[4]; - - int ok = 1; - + void *value = NULL; char *wrote = NULL; int type = ParseValueParam(argv[5], value); - + switch (type) { case VALUE_STRING: db_set_s(NULL, module, key, (char *) value); wrote = Translate("string"); - + break; - + case VALUE_BYTE: db_set_b(NULL, module, key, (* (char *) value)); wrote = Translate("byte"); break; - + case VALUE_WORD: db_set_w(NULL, module, key, (* (WORD *) value)); wrote = Translate("word"); break; - + case VALUE_DWORD: db_set_dw(NULL, module, key, (* (DWORD *) value)); wrote = Translate("dword"); break; - + case VALUE_WIDE: db_set_ws(NULL, module, key, (WCHAR *) value); wrote = Translate("wide string"); break; - + default: HandleUnknownParameter(command, argv[5], reply); return; } - + reply->code = MIMRES_SUCCESS; mir_snprintf(reply->message, _countof(reply->message), Translate("Wrote '%s:%s' to database entry '%s/%s'."), wrote, argv[5] + 1, module, key); @@ -1037,18 +1005,18 @@ void HandleDatabaseCommand(PCommand command, TArgument *argv, int argc, PReply r { char *module = argv[3]; char *key = argv[4]; - + DBVARIANT var = {0}; - + int res = db_get(NULL, module, key, &var); if (!res) { char buffer[1024]; - + if (ParseDatabaseData(&var, buffer, sizeof(buffer), TRUE)) { reply->code = MIMRES_SUCCESS; - mir_snprintf(reply->message, _countof(reply->message), "'%s/%s' - %s.", module, key, buffer); + mir_snprintf(reply->message, _countof(reply->message), "'%s/%s' - %s.", module, key, buffer); } else{ reply->code = MIMRES_FAILURE; @@ -1059,7 +1027,7 @@ void HandleDatabaseCommand(PCommand command, TArgument *argv, int argc, PReply r reply->code = MIMRES_FAILURE; mir_snprintf(reply->message, _countof(reply->message), Translate("Setting '%s/%s' was not found."), module, key); } - + } else{ HandleWrongParametersCount(command, reply); @@ -1077,10 +1045,10 @@ void HandleDatabaseCommand(PCommand command, TArgument *argv, int argc, PReply r int ParseProxyType(char *type) { char lower[128]; - STRNCPY(lower, type, sizeof(lower)); + strncpy_s(lower, type, sizeof(lower)); lower[sizeof(lower) - 1] = 0; _strlwr(lower); - + if (mir_strcmp(lower, "socks4") == 0) { return PROXY_SOCKS4; @@ -1109,32 +1077,32 @@ char *PrettyProxyType(int type, char *buffer, int size) case PROXY_SOCKS4: pretty = "SOCKS4"; break; - + case PROXY_SOCKS5: pretty = "SOCKS5"; break; - + case PROXY_HTTP: pretty = "HTTP"; break; - + case PROXY_HTTPS: pretty = "HTTPS"; break; - + default: pretty = "Unknown"; } - - STRNCPY(buffer, pretty, size); - + + strncpy_s(buffer, size, pretty, _TRUNCATE); + return buffer; } void HandleProtocolProxyCommand(PCommand command, TArgument *argv, int argc, PReply reply, char *module, char *protocol) { char proxycmd[128]; - STRNCPY(proxycmd, argv[3], sizeof(proxycmd)); + strncpy_s(proxycmd, argv[3], sizeof(proxycmd)); proxycmd[sizeof(proxycmd) - 1] = 0; _strlwr(proxycmd); @@ -1148,13 +1116,13 @@ void HandleProtocolProxyCommand(PCommand command, TArgument *argv, int argc, PRe case 4: { int value = db_get_b(NULL, module, "NLUseProxy", 0); - + reply->code = MIMRES_SUCCESS; mir_snprintf(buffer, _countof(buffer), "%s proxy status is %s", protocol, (value) ? "enabled" : "disabled"); - + break; } - + case 5: { int state = Get2StateValue(argv[4]); @@ -1163,43 +1131,43 @@ void HandleProtocolProxyCommand(PCommand command, TArgument *argv, int argc, PRe case STATE_OFF: { db_set_b(NULL, module, "NLUseProxy", 0); - + reply->code = MIMRES_SUCCESS; mir_snprintf(buffer, _countof(buffer), Translate("'%s' proxy was disabled."), protocol); - + break; } - + case STATE_ON: { db_set_b(NULL, module, "NLUseProxy", 1); - + reply->code = MIMRES_SUCCESS; mir_snprintf(buffer, _countof(buffer), Translate("'%s' proxy was enabled."), protocol); - + break; } - + case STATE_TOGGLE: { int value = db_get_b(NULL, module, "NLUseProxy", 0); value = 1 - value; db_set_b(NULL, module, "NLUseProxy", value); - + reply->code = MIMRES_SUCCESS; mir_snprintf(buffer, _countof(buffer), (value) ? Translate("'%s' proxy was enabled.") : Translate("'%s' proxy was disabled.")); - + break; } - + default: HandleUnknownParameter(command, argv[4], reply); return; } - + break; } - + default: HandleWrongParametersCount(command, reply); return; @@ -1215,13 +1183,13 @@ void HandleProtocolProxyCommand(PCommand command, TArgument *argv, int argc, PRe GetStringFromDatabase(NULL, module, "NLProxyServer", "", host, sizeof(host)); int port = db_get_w(NULL, module, "NLProxyPort", 0); PrettyProxyType(db_get_b(NULL, module, "NLProxyType", 0), type, sizeof(type)); - + reply->code = MIMRES_SUCCESS; mir_snprintf(buffer, _countof(buffer), Translate("%s proxy server: %s %s:%d."), protocol, type, host, port); - + break; } - + case 7: { int type = ParseProxyType(argv[4]); @@ -1229,13 +1197,13 @@ void HandleProtocolProxyCommand(PCommand command, TArgument *argv, int argc, PRe long port; char *stop = NULL; port = strtol(argv[6], &stop, 10); - + if ((*stop == 0) && (type > 0)) { db_set_s(NULL, module, "NLProxyServer", host); db_set_w(NULL, module, "NLProxyPort", port); db_set_b(NULL, module, "NLProxyType", type); - + reply->code = MIMRES_SUCCESS; mir_snprintf(buffer, _countof(buffer), Translate("%s proxy set to %s %s:%d."), protocol, argv[4], host, port); } @@ -1243,10 +1211,10 @@ void HandleProtocolProxyCommand(PCommand command, TArgument *argv, int argc, PRe reply->code = MIMRES_FAILURE; mir_snprintf(buffer, _countof(buffer), Translate("%s The port or the proxy type parameter is invalid."), protocol); } - + break; } - + default: HandleWrongParametersCount(command, reply); return; @@ -1257,7 +1225,7 @@ void HandleProtocolProxyCommand(PCommand command, TArgument *argv, int argc, PRe return; } - + if (reply->message[0] != 0) { mir_strncat(reply->message, "\n", _countof(reply->message) - mir_strlen(reply->message)); @@ -1275,15 +1243,15 @@ void HandleProxyCommand(PCommand command, TArgument *argv, int argc, PReply repl { char account[128]; char protocol[128]; - STRNCPY(account, argv[2], sizeof(account)); + strncpy_s(account, argv[2], sizeof(account)); account[sizeof(account) - 1] = 0; AccountName2Protocol(account, protocol, sizeof(protocol)); - + int count = 0; PROTOACCOUNT **accounts = NULL; ProtoEnumAccounts(&count, &accounts); - + int i; int global = (mir_strcmp(protocol, "GLOBAL") == 0); @@ -1295,9 +1263,9 @@ void HandleProxyCommand(PCommand command, TArgument *argv, int argc, PReply repl HandleProtocolProxyCommand(command, argv, argc, reply, "Netlib", protocol); found = 1; } - + char *match; - + for (i = 0; i < count; i++) { if (accounts[i]->bIsEnabled) @@ -1310,7 +1278,7 @@ void HandleProxyCommand(PCommand command, TArgument *argv, int argc, PReply repl } } } - + if (!found) { reply->code = MIMRES_FAILURE; @@ -1325,27 +1293,27 @@ void HandleProxyCommand(PCommand command, TArgument *argv, int argc, PReply repl int ContactMatchSearch(MCONTACT hContact, char *contact, char *id, char *account, TArgument *argv, int argc) { int matches = 1; - + char lwrName[2048] = "\0"; char lwrAccount[128] = "\0"; char lwrKeyword[512] = "\0"; char lwrID[512] = "\0"; char *pos; - - STRNCPY(lwrName, contact, sizeof(lwrName)); - STRNCPY(lwrAccount, account, sizeof(lwrAccount)); - - if (id) { STRNCPY(lwrID, id, sizeof(lwrID)); } - + + strncpy_s(lwrName, contact, sizeof(lwrName)); + strncpy_s(lwrAccount, account, sizeof(lwrAccount)); + + if (id) { strncpy_s(lwrID, id, sizeof(lwrID)); } + _strlwr(lwrName); _strlwr(lwrAccount); _strlwr(lwrID); - + for (int i = 0; i < argc; i++) { - STRNCPY(lwrKeyword, argv[i], sizeof(lwrKeyword)); + strncpy_s(lwrKeyword, argv[i], sizeof(lwrKeyword)); _strlwr(lwrKeyword); - + pos = strstr(lwrKeyword, "account:"); if (pos) { @@ -1353,7 +1321,7 @@ int ContactMatchSearch(MCONTACT hContact, char *contact, char *id, char *account if (strstr(lwrAccount, pos) == NULL) { matches = 0; - + break; } } @@ -1366,7 +1334,7 @@ int ContactMatchSearch(MCONTACT hContact, char *contact, char *id, char *account AccountName2Protocol(account, protocol, sizeof(protocol)); WORD contactStatus = db_get_w(hContact, protocol, "Status", ID_STATUS_ONLINE); - + if (searchStatus != contactStatus) { matches = 0; @@ -1392,7 +1360,7 @@ int ContactMatchSearch(MCONTACT hContact, char *contact, char *id, char *account } } } - + return matches; } @@ -1414,13 +1382,13 @@ void HandleContactsCommand(PCommand command, TArgument *argv, int argc, PReply r { char buffer[1024]; char protocol[128]; - + int count = 0; - + reply->code = MIMRES_SUCCESS; for (MCONTACT hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { GetContactProto(hContact, protocol, sizeof(protocol)); - + char *contact = GetContactName(hContact, protocol); char *id = GetContactID(hContact, protocol); if (ContactMatchSearch(hContact, contact, id, protocol, &argv[3], argc - 3)) @@ -1432,9 +1400,9 @@ void HandleContactsCommand(PCommand command, TArgument *argv, int argc, PReply r mir_strncat(reply->message, buffer, _countof(reply->message) - mir_strlen(reply->message)); } else{ - STRNCPY(reply->message, buffer, _countof(reply->message)); + strncpy_s(reply->message, buffer, _countof(reply->message)); } - + if (mir_strlen(reply->message) > 4096) { SetEvent(heServerBufferFull); @@ -1442,10 +1410,10 @@ void HandleContactsCommand(PCommand command, TArgument *argv, int argc, PReply r count = 0; *reply->message = 0; } - + count++; } - + free(contact); free(id); } @@ -1455,17 +1423,17 @@ void HandleContactsCommand(PCommand command, TArgument *argv, int argc, PReply r if (argc > 3) { char protocol[128]; - + reply->code = MIMRES_SUCCESS; *reply->message = 0; for (MCONTACT hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { GetContactProto(hContact, protocol, sizeof(protocol)); - + char *contact = GetContactName(hContact, protocol); char *id = GetContactID(hContact, protocol); if (ContactMatchSearch(hContact, contact, id, protocol, &argv[3], argc - 3)) - HANDLE thread = mir_forkthread(OpenMessageWindowThread, (void*)hContact); - + mir_forkthread(OpenMessageWindowThread, (void*)hContact); + free(contact); free(id); } @@ -1477,14 +1445,14 @@ void HandleContactsCommand(PCommand command, TArgument *argv, int argc, PReply r for (MCONTACT hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { MEVENT hUnreadEvent = db_event_firstUnread(hContact); if (hUnreadEvent != NULL) - HANDLE thread = mir_forkthread(OpenMessageWindowThread, (void*)hContact); + mir_forkthread(OpenMessageWindowThread, (void*)hContact); } } else HandleWrongParametersCount(command, reply); } else HandleUnknownParameter(command, argv[2], reply); } - else HandleWrongParametersCount(command, reply); + else HandleWrongParametersCount(command, reply); } void AddHistoryEvent(DBEVENTINFO *dbEvent, char *contact, PReply reply) @@ -1495,23 +1463,23 @@ void AddHistoryEvent(DBEVENTINFO *dbEvent, char *contact, PReply reply) tts.cbDest = sizeof(timestamp); tts.szFormat = "D, s"; CallService(MS_DB_TIME_TIMESTAMPTOSTRING, dbEvent->timestamp,(LPARAM) &tts); - + char *sender = (dbEvent->flags & DBEF_SENT) ? Translate("[me]") : contact; char *message = DbGetEventTextA(dbEvent,CP_ACP); - + static char buffer[8192]; mir_snprintf(buffer, _countof(buffer), "[%s] %15s: %s", timestamp, sender, message); - - + + if (reply->message[0] != 0) { mir_strncat(reply->message, "\n", _countof(reply->message) - mir_strlen(reply->message)); mir_strncat(reply->message, buffer, _countof(reply->message) - mir_strlen(reply->message)); } else{ - STRNCPY(reply->message, buffer, _countof(reply->message)); + strncpy_s(reply->message, buffer, _countof(reply->message)); } - + if (mir_strlen(reply->message) > (_countof(reply->message) / 2)) { SetEvent(heServerBufferFull); @@ -1562,7 +1530,7 @@ void HandleHistoryCommand(PCommand command, TArgument *argv, int argc, PReply re mir_strncat(reply->message, "\n", _countof(reply->message) - mir_strlen(reply->message)); mir_strncat(reply->message, buffer, _countof(reply->message) - mir_strlen(reply->message)); } - else STRNCPY(reply->message, buffer, _countof(reply->message)); + else strncpy_s(reply->message, buffer, _countof(reply->message)); contacts++; @@ -1599,7 +1567,7 @@ void HandleHistoryCommand(PCommand command, TArgument *argv, int argc, PReply re hEvent = db_event_next(hContact, hEvent); } } - else if (_stricmp(cmd, "show") == 0) { + else if (_stricmp(cmd, "show") == 0) { reply->code = MIMRES_SUCCESS; mir_snprintf(reply->message, _countof(reply->message), Translate("Contact '%s' has %d events in history."), contact, db_event_count(hContact)); } @@ -1684,7 +1652,7 @@ void HandleHistoryCommand(PCommand command, TArgument *argv, int argc, PReply re else HandleWrongParametersCount(command, reply); } -void HandleVersionCommand(PCommand command, TArgument *argv, int argc, PReply reply) +void HandleVersionCommand(PCommand command, TArgument*, int argc, PReply reply) { if (argc == 2) { @@ -1776,59 +1744,59 @@ void HandleCommand(PCommand command, TArgument *argv, int argc, PReply reply) case MIMCMD_STATUS: HandleStatusCommand(command, argv, argc, reply); return; - + case MIMCMD_AWAYMSG: HandleAwayMsgCommand(command, argv, argc, reply); return; - + case MIMCMD_POPUPS: HandlePopupsCommand(command, argv, argc, reply); return; - + case MIMCMD_SOUNDS: HandleSoundsCommand(command, argv, argc, reply); return; - + case MIMCMD_CLIST: HandleClistCommand(command, argv, argc, reply); return; - + case MIMCMD_QUIT: HandleQuitCommand(command, argv, argc, reply); return; - + case MIMCMD_EXCHANGE: HandleExchangeCommand(command, argv, argc, reply); return; - + case MIMCMD_YAMN: HandleYAMNCommand(command, argv, argc, reply); return; - + case MIMCMD_CALLSERVICE: HandleCallServiceCommand(command, argv, argc, reply); return; - + case MIMCMD_MESSAGE: HandleMessageCommand(command, argv, argc, reply); return; - + case MIMCMD_DATABASE: HandleDatabaseCommand(command, argv, argc, reply); return; - + case MIMCMD_PROXY: HandleProxyCommand(command, argv, argc, reply); return; - + case MIMCMD_CONTACTS: HandleContactsCommand(command, argv, argc, reply); return; - + case MIMCMD_HISTORY: HandleHistoryCommand(command, argv, argc, reply); break; - + case MIMCMD_VERSION: HandleVersionCommand(command, argv, argc, reply); return; @@ -1840,7 +1808,7 @@ void HandleCommand(PCommand command, TArgument *argv, int argc, PReply reply) case MIMCMD_IGNORE: HandleIgnoreCommand(command, argv, argc, reply); return; - + default: reply->code = MIMRES_NOTFOUND; mir_snprintf(reply->message, _countof(reply->message), Translate("Command '%s' is not currently supported."), command->command); diff --git a/plugins/CmdLine/src/mimcmd_ipc.cpp b/plugins/CmdLine/src/mimcmd_ipc.cpp index d16de2e7a8..6cee3de54f 100644 --- a/plugins/CmdLine/src/mimcmd_ipc.cpp +++ b/plugins/CmdLine/src/mimcmd_ipc.cpp @@ -18,7 +18,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include "commonheaders.h" +#include "stdafx.h" HANDLE hsmCmdLine = NULL; HANDLE hmClient = NULL; @@ -33,73 +33,73 @@ PSharedData sdCmdLine = NULL; int InitClient() { int res = (CreateSystemEvents() || CreateMutexes() || CreateSharedMem()); - + return res; } int InitServer() { int res = (CreateSystemEvents() || CreateSharedMem()); - + return res; } int DestroyClient() { int res = (DestroySystemEvents() || DestroyMutexes() || DestroySharedMem()); - + return res; } int DestroyServer() { int res = (DestroySystemEvents() || DestroySharedMem()); - + return res; } int CreateSystemEvents() { - heServerExec = CreateEvent(NULL, FALSE, FALSE, EVENT_SERVER_EXEC); - heServerDone = CreateEvent(NULL, FALSE, FALSE, EVENT_SERVER_DONE); - heServerClose = CreateEvent(NULL, FALSE, FALSE, EVENT_SERVER_CLOSE); - heServerBufferFull = CreateEvent(NULL, FALSE, FALSE, EVENT_SERVER_BUFFERFULL); - + heServerExec = CreateEventA(NULL, FALSE, FALSE, EVENT_SERVER_EXEC); + heServerDone = CreateEventA(NULL, FALSE, FALSE, EVENT_SERVER_DONE); + heServerClose = CreateEventA(NULL, FALSE, FALSE, EVENT_SERVER_CLOSE); + heServerBufferFull = CreateEventA(NULL, FALSE, FALSE, EVENT_SERVER_BUFFERFULL); + return ((heServerExec == NULL) || (heServerDone == NULL) || (heServerClose == NULL) || (heServerBufferFull == NULL)); } int CreateMutexes() { - hmClient = CreateMutex(NULL, FALSE, MUTEX_CLIENT_NAME); - + hmClient = CreateMutexA(NULL, FALSE, MUTEX_CLIENT_NAME); + return (hmClient == NULL); } int CreateSharedMem() { - hsmCmdLine = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, sizeof(TSharedData), SHAREDMEM_NAME); + hsmCmdLine = CreateFileMappingA(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, sizeof(TSharedData), SHAREDMEM_NAME); sdCmdLine = (PSharedData) MapViewOfFile(hsmCmdLine, FILE_MAP_WRITE, 0, 0, sizeof(TSharedData)); - + return ((hsmCmdLine == NULL) || (sdCmdLine == NULL)); } int DestroySystemEvents() { int res = (!CloseHandle(heServerExec)) || (!CloseHandle(heServerDone)) || (!CloseHandle(heServerClose) || (!CloseHandle(heServerBufferFull))); - + return res; } int DestroyMutexes() { int res = !CloseHandle(hmClient); - + return res; } int DestroySharedMem() { int res = (!UnmapViewOfFile(sdCmdLine)) || (!CloseHandle(hsmCmdLine)); - + return res; } \ No newline at end of file diff --git a/plugins/CmdLine/src/services.cpp b/plugins/CmdLine/src/services.cpp index 6a82974be5..ae146cd8ef 100644 --- a/plugins/CmdLine/src/services.cpp +++ b/plugins/CmdLine/src/services.cpp @@ -18,7 +18,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include "commonheaders.h" +#include "stdafx.h" int bWaitForUnload = 0; @@ -37,12 +37,12 @@ extern "C" __declspec(dllexport) void ProcessConsoleCommand(PCommand command, TA HandleCommand(command, arguments, count, reply); } -void __cdecl ServerWorkerThread(void *data) +void __cdecl ServerWorkerThread(void*) { int done = FALSE; const HANDLE events[] = {heServerExec, heServerClose}; const int cEvents = sizeof(events) / sizeof(events[0]); - + while (!done) { switch (WaitForMultipleObjects(cEvents, events, FALSE, INFINITE)) @@ -51,14 +51,14 @@ void __cdecl ServerWorkerThread(void *data) { ProcessConsoleCommand(&sdCmdLine->command, sdCmdLine->arguments, sdCmdLine->cArguments, &sdCmdLine->reply); SetEvent(heServerDone); //notify the client we've finished - + break; } - + case WAIT_OBJECT_0 + 1: //server is closing { done = TRUE; //stop the thread - + break; } } @@ -76,23 +76,19 @@ int StartServer() if (server) { char path[MIMFOLDER_SIZE]; - GetModuleFileName(GetModuleHandle(NULL), path, sizeof(path)); + GetModuleFileNameA(GetModuleHandle(NULL), path, sizeof(path)); char *p = strrchr(path, '\\'); if (p) { *p = 0; } - STRNCPY(sdCmdLine->mimFolder, path, MIMFOLDER_SIZE); + strncpy_s(sdCmdLine->mimFolder, path, _TRUNCATE); sdCmdLine->instances++; - + failure = 0; } - else{ - PUShowMessage(Translate("Could not create CommandLine listening server!"), SM_WARNING); - } - } - else{ - MessageBox(NULL, Translate("You can only run one instance of CmdLine plugin."), Translate("Error"), MB_ICONERROR | MB_OK); + else PUShowMessageT(TranslateT("Could not create CommandLine listening server!"), SM_WARNING); } + else MessageBox(NULL, TranslateT("You can only run one instance of CmdLine plugin."), TranslateT("Error"), MB_ICONERROR | MB_OK); } - + return failure; } diff --git a/plugins/CmdLine/src/stdafx.cpp b/plugins/CmdLine/src/stdafx.cpp deleted file mode 100644 index 048b14e9d2..0000000000 --- a/plugins/CmdLine/src/stdafx.cpp +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (C) 2012-15 Miranda NG project (http://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 . -*/ - -#include "commonheaders.h" \ No newline at end of file diff --git a/plugins/CmdLine/src/stdafx.cxx b/plugins/CmdLine/src/stdafx.cxx new file mode 100644 index 0000000000..0c766ea07f --- /dev/null +++ b/plugins/CmdLine/src/stdafx.cxx @@ -0,0 +1,18 @@ +/* +Copyright (C) 2012-15 Miranda NG project (http://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 . +*/ + +#include "stdafx.h" diff --git a/plugins/CmdLine/src/stdafx.h b/plugins/CmdLine/src/stdafx.h new file mode 100644 index 0000000000..bc9af0e5ea --- /dev/null +++ b/plugins/CmdLine/src/stdafx.h @@ -0,0 +1,63 @@ +/* +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. +*/ + +#ifndef M_CMDLINE_COMMONHEADERS_H +#define M_CMDLINE_COMMONHEADERS_H + +#include +#include +#include +#include + +#include "newpluginapi.h" +#include "m_database.h" +#include "m_clist.h" +#include "m_clui.h" +#include "m_contacts.h" +#include "m_langpack.h" +#include "m_protosvc.h" +#include "m_popup.h" +#include "m_message.h" +#include "m_ignore.h" +#include "m_string.h" + +#include "m_crashdumper.h" +#include "m_statusplugins.h" + +#include "version.h" +#include "utils.h" +#include "resource.h" +#include "hooked_events.h" +#include "utils.h" +#include "mimcmd_ipc.h" +#include "services.h" +#include "mimcmd_handlers.h" +#include "mimcmd_data.h" + +extern char ModuleName[]; +extern HINSTANCE hInstance; + +extern int bUseANSIStrings; + +extern int bWaitForUnload; + +#define ID_ICQ_EXIT 40001 + +#endif //M_CMDLINE_COMMONHEADERS_H \ No newline at end of file diff --git a/plugins/CmdLine/src/utils.cpp b/plugins/CmdLine/src/utils.cpp index 7a6aad0e3e..59b0ce634c 100644 --- a/plugins/CmdLine/src/utils.cpp +++ b/plugins/CmdLine/src/utils.cpp @@ -18,52 +18,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include "commonheaders.h" - -int LogInit() -{ -#ifdef USE_LOG - //FILE *fout = fopen(LOG_FILE, "wt"); - //fclose(fout); - Log("********************** Miranda started **********************"); -#endif - return 0; -} - -int Log(char *format, ...) -{ -#ifdef USE_LOG - char str[4096]; - va_list vararg; - int tBytes; - FILE *fout = fopen(LOG_FILE, "at"); - if (!fout) - { -// MessageBox(0, "can't open file", NULL, MB_OK); - return -1; - } - time_t tNow = time(NULL); - struct tm *now = localtime(&tNow); - strftime(str, sizeof(str), "%d %b %Y @ %H:%M:%S: ", now); - fputs(str, fout); - va_start(vararg, format); - - tBytes = mir_vsnprintf(str, sizeof(str), format, vararg); - if (tBytes > 0) - { - str[tBytes] = 0; - } - - va_end(vararg); - if (str[mir_strlen(str) - 1] != '\n') - { - mir_strcat(str, "\n"); - } - fputs(str, fout); - fclose(fout); -#endif - return 0; -} +#include "stdafx.h" int Info(char *title, char *format, ...) { @@ -83,14 +38,10 @@ int Info(char *title, char *format, ...) int MyPUShowMessage(char *lpzText, BYTE kind) { if (ServiceExists(MS_POPUP_SHOWMESSAGE)) - { return PUShowMessage(lpzText, kind); - } - else{ - char *title = (kind == SM_NOTIFY) ? Translate("Notify") : Translate("Warning"); - return MessageBox(NULL, lpzText, title, MB_OK | (kind == SM_NOTIFY) ? MB_ICONINFORMATION : MB_ICONEXCLAMATION); - } + char *title = (kind == SM_NOTIFY) ? Translate("Notify") : Translate("Warning"); + return MessageBoxA(NULL, lpzText, title, MB_OK | (kind == SM_NOTIFY) ? MB_ICONINFORMATION : MB_ICONEXCLAMATION); } #define HEX_SIZE 8 @@ -107,20 +58,17 @@ char *BinToHex(int size, PBYTE data) void HexToBin(char *inData, ULONG &size, LPBYTE &outData) { char buffer[32] = {0}; - mir_strcpy(buffer, "0x"); - STRNCPY(buffer + 2, inData, HEX_SIZE); + strcpy(buffer, "0x"); + strncpy_s(buffer + 2, HEX_SIZE, inData, _TRUNCATE); sscanf(buffer, "%x", &size); outData = (unsigned char*)new char[size*2]; - UINT i; - //size = i; + char *tmp = inData + HEX_SIZE; buffer[4] = '\0'; //mark the end of the string - for (i = 0; i < size; i++) - { - STRNCPY(buffer + 2, &tmp[i * 2], 2); - sscanf(buffer, "%x", &outData[i]); - } - i = size; + for (UINT i = 0; i < size; i++) { + strncpy_s(buffer + 2, 3, &tmp[i*2], _TRUNCATE); + sscanf(buffer, "%x", &outData[i]); + } } int GetStringFromDatabase(MCONTACT hContact, char *szModule, char *szSettingName, char *szError, char *szResult, size_t size) @@ -202,43 +150,30 @@ int GetStringFromDatabase(char *szSettingName, WCHAR *szError, WCHAR *szResult, } #pragma warning (disable: 4312) -TCHAR *GetContactName(MCONTACT hContact, char *szProto) +char* GetContactName(MCONTACT hContact, char *szProto) { - CONTACTINFO ctInfo; - INT_PTR ret; char proto[200]; + CONTACTINFO ctInfo; memset(&ctInfo, 0, sizeof(ctInfo)); ctInfo.cbSize = sizeof(ctInfo); if (szProto) - { - ctInfo.szProto = szProto; - } - else{ - GetContactProto(hContact, proto, sizeof(proto)); - ctInfo.szProto = proto; - } + ctInfo.szProto = szProto; + else { + GetContactProto(hContact, proto, sizeof(proto)); + ctInfo.szProto = proto; + } ctInfo.dwFlag = CNF_DISPLAY; -#ifdef _UNICODE - ctInfo.dwFlag += CNF_UNICODE; -#endif ctInfo.hContact = hContact; + //_debug_message("retrieving contact name for %d", hContact); - ret = CallService(MS_CONTACT_GETCONTACTINFO, 0, (LPARAM) &ctInfo); + INT_PTR ret = CallService(MS_CONTACT_GETCONTACTINFO, 0, (LPARAM) &ctInfo); + if (ret) + return NULL; + //_debug_message(" contact name %s", ctInfo.pszVal); - TCHAR *buffer; - if (!ret) - { - buffer = _tcsdup(ctInfo.pszVal); - } + char *buffer = strdup((char*)ctInfo.pszVal); mir_free(ctInfo.pszVal); - if (!ret) - { - return buffer; - } - else{ - return NULL; - } return buffer; } #pragma warning (default: 4312) @@ -251,7 +186,7 @@ void GetContactProto(MCONTACT hContact, char *szProto, size_t size) #pragma warning (default: 4312) #pragma warning (disable: 4312) -TCHAR *GetContactID(MCONTACT hContact) +char* GetContactID(MCONTACT hContact) { char protocol[256]; GetContactProto(hContact, protocol, sizeof(protocol)); @@ -259,93 +194,68 @@ TCHAR *GetContactID(MCONTACT hContact) return GetContactID(hContact, protocol); } -TCHAR *GetContactID(MCONTACT hContact, char *szProto) +char* GetContactID(MCONTACT hContact, char *szProto) { CONTACTINFO ctInfo; - INT_PTR ret; - memset(&ctInfo, 0, sizeof(ctInfo)); ctInfo.cbSize = sizeof(ctInfo); ctInfo.szProto = szProto; ctInfo.dwFlag = CNF_UNIQUEID; -#ifdef _UNICODE - ctInfo.dwFlag |= CNF_UNICODE; -#endif ctInfo.hContact = hContact; - ret = CallService(MS_CONTACT_GETCONTACTINFO, 0, (LPARAM) &ctInfo); - TCHAR *buffer; - if (!ret) - { - TCHAR tmp[16]; - switch (ctInfo.type) - { - case CNFT_BYTE: - { - mir_sntprintf(tmp, SIZEOF(tmp), _T("%d"), ctInfo.bVal); - buffer = _tcsdup(tmp); - - break; - } - - case CNFT_WORD: - { - mir_sntprintf(tmp, SIZEOF(tmp), _T("%d"), ctInfo.wVal); - buffer = _tcsdup(tmp); - - break; - } - - case CNFT_DWORD: - { - mir_sntprintf(tmp, SIZEOF(tmp), _T("%ld"), ctInfo.dVal); - buffer = _tcsdup(tmp); - - break; - } - - case CNFT_ASCIIZ: - default: - { - buffer = _tcsdup(ctInfo.pszVal); - - break; - } - } - + INT_PTR ret = CallService(MS_CONTACT_GETCONTACTINFO, 0, (LPARAM) &ctInfo); + if (ret) + return NULL; + + char *buffer; + char tmp[16]; + switch (ctInfo.type) { + case CNFT_BYTE: + mir_snprintf(tmp, SIZEOF(tmp), "%d", ctInfo.bVal); + buffer = strdup(tmp); + break; + + case CNFT_WORD: + mir_snprintf(tmp, SIZEOF(tmp), "%d", ctInfo.wVal); + buffer = strdup(tmp); + break; + + case CNFT_DWORD: + mir_snprintf(tmp, SIZEOF(tmp), "%ld", ctInfo.dVal); + buffer = strdup(tmp); + break; + + case CNFT_ASCIIZ: + default: + buffer = _strdup((char*)ctInfo.pszVal); + break; + } - } mir_free(ctInfo.pszVal); - if (!ret) - { - return buffer; - } - else{ - return NULL; - } + return buffer; } #pragma warning (default: 4312) #pragma warning (disable: 4312) -MCONTACT GetContactFromID(TCHAR *szID, char *szProto) +MCONTACT GetContactFromID(char *szID, char *szProto) { - TCHAR dispName[1024]; + char dispName[1024]; char cProtocol[256]; - char *tmp; int found = 0; for (MCONTACT hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) { GetContactProto(hContact, cProtocol, sizeof(cProtocol)); - TCHAR *szHandle = GetContactID(hContact, cProtocol); + char *szHandle = GetContactID(hContact, cProtocol); - tmp = (char *) CallService(MS_CLIST_GETCONTACTDISPLAYNAME, hContact, 0); - STRNCPY(dispName, tmp, sizeof(dispName)); + char *tmp = (char*) CallService(MS_CLIST_GETCONTACTDISPLAYNAME, hContact, 0); + strncpy_s(dispName, tmp, _TRUNCATE); - if ((szHandle) && ((mir_tstrcmpi(szHandle, szID) == 0) || (mir_tstrcmpi(dispName, szID) == 0)) && ((szProto == NULL) || (_stricmp(szProto, cProtocol) == 0))) + if ((szHandle) && ((mir_strcmpi(szHandle, szID) == 0) || (mir_strcmpi(dispName, szID) == 0)) && ((szProto == NULL) || (_stricmp(szProto, cProtocol) == 0))) found = 1; free(szHandle); - if (found) return hContact; + if (found) + return hContact; } return NULL; @@ -353,7 +263,7 @@ MCONTACT GetContactFromID(TCHAR *szID, char *szProto) #pragma warning (default: 4312) #pragma warning (disable: 4312) -MCONTACT GetContactFromID(TCHAR *szID, wchar_t *szProto) +MCONTACT GetContactFromID(char *szID, wchar_t *szProto) { char protocol[1024]; WideCharToMultiByte(CP_ACP, 0, szProto, -1, protocol, sizeof(protocol), NULL, NULL); @@ -381,9 +291,8 @@ void AnchorMoveWindow(HWND window, const WINDOWPOS *parentPos, int anchors) RECT rChild; if (parentPos->flags & SWP_NOSIZE) - { - return; - } + return; + GetWindowRect(parentPos->hwnd, &rParent); rChild = AnchorCalcPos(window, &rParent, parentPos, anchors); MoveWindow(window, rChild.left, rChild.top, rChild.right - rChild.left, rChild.bottom - rChild.top, FALSE); @@ -400,13 +309,10 @@ RECT AnchorCalcPos(HWND window, const RECT *rParent, const WINDOWPOS *parentPos, int cx = rParent->right - rParent->left; int cy = rParent->bottom - rParent->top; if ((cx == parentPos->cx) && (cy == parentPos->cy)) - { - return rChild; - } + return rChild; + if (parentPos->flags & SWP_NOSIZE) - { - return rChild; - } + return rChild; rTmp.left = parentPos->x - rParent->left; rTmp.right = (parentPos->x + parentPos->cx) - rParent->right; @@ -420,28 +326,16 @@ RECT AnchorCalcPos(HWND window, const RECT *rParent, const WINDOWPOS *parentPos, rChild.bottom += cy; //expanded the window accordingly, now we need to enforce the anchors if ((anchors & ANCHOR_LEFT) && (!(anchors & ANCHOR_RIGHT))) - { - rChild.right -= cx; - } + rChild.right -= cx; + if ((anchors & ANCHOR_TOP) && (!(anchors & ANCHOR_BOTTOM))) - { - rChild.bottom -= cy; - } + rChild.bottom -= cy; + if ((anchors & ANCHOR_RIGHT) && (!(anchors & ANCHOR_LEFT))) - { - rChild.left += cx; - } + rChild.left += cx; + if ((anchors & ANCHOR_BOTTOM) && (!(anchors & ANCHOR_TOP))) - { - rChild.top += cy; - } + rChild.top += cy; + return rChild; } - -inline char *STRNCPY(char *output, const char *input, size_t size) -{ - char *res = strncpy(output, input, size); - output[size - 1] = 0; - - return res; -} \ No newline at end of file diff --git a/plugins/CmdLine/src/utils.h b/plugins/CmdLine/src/utils.h index a3fb389d33..01c58c4c78 100644 --- a/plugins/CmdLine/src/utils.h +++ b/plugins/CmdLine/src/utils.h @@ -23,17 +23,12 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include -//#define USE_LOG -#define LOG_FILE "cmdline.log" - #define ANCHOR_LEFT 0x000001 #define ANCHOR_RIGHT 0x000002 #define ANCHOR_TOP 0x000004 #define ANCHOR_BOTTOM 0x000008 #define ANCHOR_ALL ANCHOR_LEFT | ANCHOR_RIGHT | ANCHOR_TOP | ANCHOR_BOTTOM -int LogInit(); -int Log(char *format, ...); int Info(char *title, char *format, ...); char *BinToHex(int size, PBYTE data); @@ -48,15 +43,13 @@ int GetStringFromDatabase(MCONTACT hContact, char *szModule, char *szSettingName int GetStringFromDatabase(char *szSettingName, char *szError, char *szResult, size_t size); int GetStringFromDatabase(char *szSettingName, WCHAR *szError, WCHAR *szResult, size_t count); -TCHAR *GetContactName(MCONTACT hContact, char *szProto); -TCHAR *GetContactID(MCONTACT hContact); -TCHAR *GetContactID(MCONTACT hContact, char *szProto); -MCONTACT GetContactFromID(TCHAR *szID, char *szProto); -MCONTACT GetContactFromID(TCHAR *szID, wchar_t *szProto); +char* GetContactName(MCONTACT hContact, char *szProto); +char* GetContactID(MCONTACT hContact); +char* GetContactID(MCONTACT hContact, char *szProto); +MCONTACT GetContactFromID(char *szID, char *szProto); +MCONTACT GetContactFromID(char *szID, wchar_t *szProto); void GetContactProto(MCONTACT hContact, char *szProto, size_t size); int MyPUShowMessage(char *lpzText, BYTE kind); -inline char *STRNCPY(char *output, const char *input, size_t size); - #endif \ No newline at end of file diff --git a/plugins/ConnectionNotify/ConnectionNotify.vcxproj b/plugins/ConnectionNotify/ConnectionNotify.vcxproj index 5e71c5fb68..09574f0ff1 100644 --- a/plugins/ConnectionNotify/ConnectionNotify.vcxproj +++ b/plugins/ConnectionNotify/ConnectionNotify.vcxproj @@ -22,6 +22,6 @@ {3C83B0AB-9739-41C1-A127-ED7DB9551F76} - + \ No newline at end of file diff --git a/plugins/Console/Console.vcxproj b/plugins/Console/Console.vcxproj index a6d1e02863..7e8239f3ac 100644 --- a/plugins/Console/Console.vcxproj +++ b/plugins/Console/Console.vcxproj @@ -23,6 +23,6 @@ {A231E008-2D1A-4F24-95DD-59F56F85A499} - + \ No newline at end of file diff --git a/plugins/ContactsPlus/contacts.vcxproj b/plugins/ContactsPlus/contacts.vcxproj index 81d7fe8294..7aa4171131 100644 --- a/plugins/ContactsPlus/contacts.vcxproj +++ b/plugins/ContactsPlus/contacts.vcxproj @@ -23,6 +23,6 @@ {F4F2FD25-1553-FB72-F695-0701D20C3168} - + \ No newline at end of file diff --git a/plugins/CountryFlags/flags.vcxproj b/plugins/CountryFlags/flags.vcxproj index 5af9a9f85e..ab9d527cc5 100644 --- a/plugins/CountryFlags/flags.vcxproj +++ b/plugins/CountryFlags/flags.vcxproj @@ -23,6 +23,6 @@ {B4361FA0-4073-4B60-EE72-F5C08E6EDF61} - + \ No newline at end of file diff --git a/plugins/CrashDumper/crshdmp.vcxproj b/plugins/CrashDumper/crshdmp.vcxproj index 827a373e7c..43a2cdded7 100644 --- a/plugins/CrashDumper/crshdmp.vcxproj +++ b/plugins/CrashDumper/crshdmp.vcxproj @@ -23,7 +23,7 @@ {576EEEFD-E423-482B-879A-F0515D40B8E1} - + diff --git a/plugins/CyrTranslit/CyrTranslit.vcxproj b/plugins/CyrTranslit/CyrTranslit.vcxproj index f0a0f99997..625fb50040 100644 --- a/plugins/CyrTranslit/CyrTranslit.vcxproj +++ b/plugins/CyrTranslit/CyrTranslit.vcxproj @@ -23,7 +23,7 @@ {0BB52326-02D5-4698-A180-24078DA5DA0E} - + diff --git a/plugins/DbChecker/dbchecker.vcxproj b/plugins/DbChecker/dbchecker.vcxproj index 540af691bb..f27dbb7bf7 100644 --- a/plugins/DbChecker/dbchecker.vcxproj +++ b/plugins/DbChecker/dbchecker.vcxproj @@ -23,6 +23,6 @@ {A2E9DA24-95E4-4414-94AF-488A382E276A} - + \ No newline at end of file diff --git a/plugins/Dropbox/Dropbox.vcxproj b/plugins/Dropbox/Dropbox.vcxproj index b889d413ff..cb51f6f8dc 100644 --- a/plugins/Dropbox/Dropbox.vcxproj +++ b/plugins/Dropbox/Dropbox.vcxproj @@ -23,7 +23,7 @@ {CBA58126-3E02-4159-9BD3-059AF9DBC84E} - + diff --git a/plugins/Exchange/Exchange.vcxproj b/plugins/Exchange/Exchange.vcxproj index aebac44eb0..47af766e0c 100644 --- a/plugins/Exchange/Exchange.vcxproj +++ b/plugins/Exchange/Exchange.vcxproj @@ -23,7 +23,7 @@ {F462FDA1-BDCD-49B2-B996-D7DE71D07393} - + diff --git a/plugins/FavContacts/favcontacts.vcxproj b/plugins/FavContacts/favcontacts.vcxproj index 7358bd95d9..e8a851a39b 100644 --- a/plugins/FavContacts/favcontacts.vcxproj +++ b/plugins/FavContacts/favcontacts.vcxproj @@ -23,6 +23,6 @@ {2D0B4CB0-3ACA-4612-B745-FF3050E1500A} - + \ No newline at end of file diff --git a/plugins/HistoryStats/historystats.vcxproj b/plugins/HistoryStats/historystats.vcxproj index b4ef84f738..de62d88d0d 100644 --- a/plugins/HistoryStats/historystats.vcxproj +++ b/plugins/HistoryStats/historystats.vcxproj @@ -26,7 +26,7 @@ HistoryStats - + diff --git a/plugins/MimCmd/MimCmd.vcxproj b/plugins/MimCmd/MimCmd.vcxproj new file mode 100644 index 0000000000..12b12d4efd --- /dev/null +++ b/plugins/MimCmd/MimCmd.vcxproj @@ -0,0 +1,36 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {1E3BB48A-FFBC-4A03-8C43-9124A484BE51} + MimCmd + + + + + + + + + + Console + + + \ No newline at end of file diff --git a/plugins/MimCmd/MimCmd.vcxproj.filters b/plugins/MimCmd/MimCmd.vcxproj.filters new file mode 100644 index 0000000000..5d862e9cd3 --- /dev/null +++ b/plugins/MimCmd/MimCmd.vcxproj.filters @@ -0,0 +1,73 @@ + + + + + + Source Files + + + Source Files + + + Source Files + + + + Source Files + + + + Source Files + + + + + + Header Files + + + + + + Header Files + + + + + + Header Files + + + + + + Header Files + + + + + + Header Files + + + + + + Header Files + + + + + + Header Files + + + + + + + + Resource Files + + + \ No newline at end of file diff --git a/plugins/MimCmd/res/version.rc b/plugins/MimCmd/res/version.rc new file mode 100644 index 0000000000..5bfbab4754 --- /dev/null +++ b/plugins/MimCmd/res/version.rc @@ -0,0 +1,38 @@ +// Microsoft Visual C++ generated resource script. +// +#ifdef APSTUDIO_INVOKED +#error this file is not editable by Microsoft Visual C++ +#endif //APSTUDIO_INVOKED + +#include "afxres.h" +#include "..\src\version.h" + +VS_VERSION_INFO VERSIONINFO + FILEVERSION __FILEVERSION_STRING + PRODUCTVERSION __FILEVERSION_STRING + FILEFLAGSMASK 0x17L +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x0L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "000004b0" + BEGIN + VALUE "FileDescription", __DESCRIPTION + VALUE "InternalName", __PLUGIN_NAME + VALUE "LegalCopyright", __COPYRIGHT + VALUE "OriginalFilename", __FILENAME + VALUE "ProductName", __PLUGIN_NAME + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0, 1200 + END +END diff --git a/plugins/MimCmd/src/MimCmd.cpp b/plugins/MimCmd/src/MimCmd.cpp new file mode 100644 index 0000000000..6bad9d81aa --- /dev/null +++ b/plugins/MimCmd/src/MimCmd.cpp @@ -0,0 +1,112 @@ +/* +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. +*/ + +#include "stdafx.h" + +int hLangpack = 0; + +int lpprintf(const char *format, ...) +{ + va_list va; + va_start(va, format); + const int MAX_SIZE = 16192; + char buffer[MAX_SIZE] = {0}; + int len = mir_vsnprintf(buffer, MAX_SIZE - 1, format, va); + buffer[MAX_SIZE - 1] = 0; + va_end(va); + CharToOemBuffA(buffer, buffer, len); + printf("%s", buffer); + + return len; +} + +char* GetProgramName(char *programName, int size) +{ + char name[512]; + GetModuleFileNameA(GetModuleHandle(NULL), name, sizeof(name)); + char *p = strrchr(name, '\\'); + if (p) + strncpy_s(programName, size, p + 1, _TRUNCATE); + else + strncpy_s(programName, size, name, _TRUNCATE); + + return programName; +} + +void PrintUsage() +{ + char name[128]; + GetProgramName(name, sizeof(name)); + + lpprintf(Translate("%s usage:\n"), name); + lpprintf(Translate("%s [ [ [...]]].\n"), name); + lpprintf(Translate("This will tell Miranda to run the specified command. The commands can have zero, one or more parameters. Use '%s help' to get a list of possible commands.\n"), name); + lpprintf(Translate("No command can have more than %d parameters.\n"), MAX_ARGUMENTS - 1); +} + +void ShowVersion() +{ + char name[128]; + char message[1024]; + GetProgramName(name, sizeof(name)); + mir_snprintf(message, sizeof(message), Translate("%s version %s"), name, __VERSION_STRING_DOTS); + + lpprintf("%s\n", message); +} + +int main(int argc, char *argv[]) +{ + int error = 0; + if ((argc == 2) && (mir_strcmp(argv[1], "-v") == 0)) + { + ShowVersion(); + + return 0; + } + + if ((InitClient()) || (ConnectToMiranda()) || (GetKnownCommands()) || (LoadLangPackModule())) + { + lpprintf("Could not create connection with Miranda or could not retrieve list of known commands.\n"); + error = MIMRES_NOMIRANDA; + } + else{ + if ((argc <= 1) || (argc > MAX_ARGUMENTS)) + { + PrintUsage(); + } + else{ + PReply reply = ParseCommand(argv, argc); + if (reply) + { + error = reply->code; + lpprintf("%s\n", reply->message); + } + else{ + lpprintf(Translate("Unknown command '%s'.\n"), argv[1]); + } + + DestroyKnownCommands(); + DisconnectFromMiranda(); + DestroyClient(); + } + } + + return error; +} diff --git a/plugins/MimCmd/src/commands.cpp b/plugins/MimCmd/src/commands.cpp new file mode 100644 index 0000000000..7d844e5a68 --- /dev/null +++ b/plugins/MimCmd/src/commands.cpp @@ -0,0 +1,218 @@ +/* +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. +*/ + +#include "stdafx.h" + +LISTCOMMANDS ListCommands = NULL; + +PCommand knownCommands = NULL; +int cKnownCommands = 0; + +HMODULE hCmdLineDLL = NULL; + +char *GetMirandaFolder(char *mimFolder, int size) +{ + strncpy_s(mimFolder, size, sdCmdLine->mimFolder, _TRUNCATE); + mimFolder[size - 1] = 0; + + return mimFolder; +} + + +int ConnectToMiranda() +{ + char pluginPath[1024]; + GetMirandaFolder(pluginPath, sizeof(pluginPath)); + mir_strcat(pluginPath, "\\plugins\\cmdline.dll"); + + ListCommands = NULL; + + hCmdLineDLL = LoadLibraryA(pluginPath); + + int failure = 1; + if (hCmdLineDLL) + { + ListCommands = (LISTCOMMANDS) GetProcAddress(hCmdLineDLL, "ListCommands"); + } + + if (ListCommands) + { + failure = 0; + } + + return failure; +} + +int DisconnectFromMiranda() +{ + return FreeLibrary(hCmdLineDLL); +} + +int GetKnownCommands() +{ + ListCommands(&knownCommands, &cKnownCommands); + + return (knownCommands == NULL); +} + +int DestroyKnownCommands() +{ + + + return 0; +} + +PCommand GetCommand(char *command) +{ + int i; + char lower[512]; + strncpy_s(lower, command, _TRUNCATE); + _strlwr(lower); + + for (i = 0; i < cKnownCommands; i++) + { + if (mir_strcmp(knownCommands[i].command, lower) == 0) + { + return &knownCommands[i]; + } + } + + //allow more parameters to trigger the help command - /h -h /? --help + if ((mir_strcmp(lower, "/h") == 0) || (mir_strcmp(lower, "-h") == 0) || (mir_strcmp(lower, "/?") == 0) || (mir_strcmp(lower, "--help") == 0)) + { + for (i = 0; i < cKnownCommands; i++) + { + if (knownCommands[i].ID == MIMCMD_HELP) + { + return &knownCommands[i]; + } + } + } + + return NULL; +} + +void HandleHelpCommand(PCommand, char *argv[], int argc, PReply reply) +{ + CMStringA szReply; + + if (argc >= 3) { + PCommand command = GetCommand(argv[2]); + + if (command) { + reply->code = MIMRES_SUCCESS; + szReply.Append(Translate(command->help)); + } + else { + reply->code = MIMRES_NOTFOUND; + szReply.AppendFormat(Translate("No help for '%s'."), argv[2]); + } + } + else { + reply->code = MIMRES_SUCCESS; + szReply.Append(Translate("Available commands: ")); + + for (int i = 0; i < cKnownCommands - 1; i++) { + szReply.Append(knownCommands[i].command); + szReply.Append(", "); + } + szReply.Append(knownCommands[cKnownCommands-1].command); + szReply.AppendChar('.'); + } + strncpy_s(reply->message, szReply, _TRUNCATE); +} + +PReply ParseCommand(char *argv[], int argc) +{ + PCommand command = GetCommand(argv[1]); + if (!command) + return NULL; + + PReply reply = &sdCmdLine->reply; + if (command->ID == MIMCMD_HELP) + HandleHelpCommand(command, argv, argc, reply); + else + ProcessConsoleCommand(command, argv, argc, reply); + + return reply; +} + +void FillSharedDataStruct(PCommand command, char *arguments[], int count) +{ + for (int i = 0; i < count; i++) + strncpy_s(sdCmdLine->arguments[i], ARGUMENT_SIZE, arguments[i], _TRUNCATE); + + sdCmdLine->cArguments = count; + sdCmdLine->command = *command; + *sdCmdLine->reply.message = 0; + sdCmdLine->reply.code =-1; +} + +void ProcessConsoleCommand(PCommand command, char *arguments[], int count, PReply reply) +{ + const HANDLE events[] = {heServerDone, heServerClose, heServerBufferFull}; + const int cEvents = sizeof(events) / sizeof(events[0]); + + if (WaitForSingleObject(hmClient, INFINITE) == WAIT_OBJECT_0) + {//got the mutex, we're the only one who can talk to miranda now + FillSharedDataStruct(command, arguments, count); + SetEvent(heServerExec); //tell Miranda to process the request + + int done = FALSE; + while (!done) + { + switch (WaitForMultipleObjects(cEvents, events, FALSE, INFINITE)) //wait until server either finished processing or miranda was closed + { + case WAIT_OBJECT_0: //done event + { + done = TRUE; + + break; //nothing to do + } + + case WAIT_OBJECT_0 + 1: //close event + default: + { + mir_strcpy(sdCmdLine->reply.message, Translate("Miranda has been closed or an error has occurred while waiting for the result, could not process request.")); + done = TRUE; + + break; + } + + case WAIT_OBJECT_0 + 2: //buffer full event + { + lpprintf("%s", reply->message); + + break; + } + } + } + + reply->code = sdCmdLine->reply.code; + strncpy_s(reply->message, sdCmdLine->reply.message, _TRUNCATE); + + ReleaseMutex(hmClient); //let other possible clients talk to the server + } + else{ + reply->code = -1; + *reply->message = 0; + } + +} \ No newline at end of file diff --git a/plugins/MimCmd/src/commands.h b/plugins/MimCmd/src/commands.h new file mode 100644 index 0000000000..4c60b49565 --- /dev/null +++ b/plugins/MimCmd/src/commands.h @@ -0,0 +1,42 @@ +/* +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. +*/ + +#ifndef M_MIMCMD_COMMANDS_H +#define M_MIMCMD_COMMANDS_H + +extern PCommand knownCommands; +extern int cKnownCommands; + +typedef void (* LISTCOMMANDS)(PCommand *commands, int *count); + +extern LISTCOMMANDS ListCommands; + +char *GetMirandaFolder(); + +int ConnectToMiranda(); +int DisconnectFromMiranda(); +int GetKnownCommands(); +int DestroyKnownCommands(); + +PCommand GetCommand(char *command); +PReply ParseCommand(char *argv[], int argc); +void ProcessConsoleCommand(PCommand command, char *arguments[], int count, PReply reply); + +#endif \ No newline at end of file diff --git a/plugins/MimCmd/src/resource.h b/plugins/MimCmd/src/resource.h new file mode 100644 index 0000000000..c3bc570152 --- /dev/null +++ b/plugins/MimCmd/src/resource.h @@ -0,0 +1,14 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by version.rc + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 101 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/plugins/MimCmd/src/stdafx.cxx b/plugins/MimCmd/src/stdafx.cxx new file mode 100644 index 0000000000..6fb37564b7 --- /dev/null +++ b/plugins/MimCmd/src/stdafx.cxx @@ -0,0 +1,18 @@ +/* +Copyright (C) 2012-15 Miranda NG project (http://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 . +*/ + +#include "stdafx.h" \ No newline at end of file diff --git a/plugins/MimCmd/src/stdafx.h b/plugins/MimCmd/src/stdafx.h new file mode 100644 index 0000000000..8fb740fa75 --- /dev/null +++ b/plugins/MimCmd/src/stdafx.h @@ -0,0 +1,37 @@ +/* +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. +*/ + +#include +#include + +#define NO_MIMCMD_COMMANDS + +#include +#include +#include +#include +#include + +#include "..\CmdLine\src\mimcmd_ipc.h" +#include "version.h" +#include "..\CmdLine\src\utils.h" +#include "commands.h" + +int lpprintf(const char *format, ...); diff --git a/plugins/MimCmd/src/version.h b/plugins/MimCmd/src/version.h new file mode 100644 index 0000000000..2fb1d42960 --- /dev/null +++ b/plugins/MimCmd/src/version.h @@ -0,0 +1,14 @@ +#define __MAJOR_VERSION 0 +#define __MINOR_VERSION 0 +#define __RELEASE_NUM 4 +#define __BUILD_NUM 1 + +#include + +#define __PLUGIN_NAME "MimCmd" +#define __FILENAME "MimCmd.exe" +#define __DESCRIPTION "This will tell Miranda to run the specified command." +#define __AUTHOR "Cristian Libotean" +#define __AUTHOREMAIL "eblis102@yahoo.com" +#define __AUTHORWEB "http://miranda-ng.org/p/CmdLine/" +#define __COPYRIGHT "© 2007-2011 Cristian Libotean" diff --git a/plugins/NewXstatusNotify/src/main.cpp b/plugins/NewXstatusNotify/src/main.cpp index 0cc739311a..23c302d512 100644 --- a/plugins/NewXstatusNotify/src/main.cpp +++ b/plugins/NewXstatusNotify/src/main.cpp @@ -1049,7 +1049,7 @@ int ProtoAck(WPARAM, LPARAM lParam) else if (oldStatus < ID_STATUS_ONLINE && newStatus >= ID_STATUS_ONLINE) { //The protocol changed from a disconnected status to a connected status. //Enable the popups for this protocol. - int idTimer = AddAtomA(szProto); + ATOM idTimer = AddAtomA(szProto); if (idTimer) SetTimer(SecretWnd, idTimer, (UINT)opt.PopupConnectionTimeout * 1000, ConnectionTimerProc); } diff --git a/plugins/ZeroSwitch/ZeroSwitch.vcxproj b/plugins/ZeroSwitch/ZeroSwitch.vcxproj index f5562c11ad..456775a3a7 100644 --- a/plugins/ZeroSwitch/ZeroSwitch.vcxproj +++ b/plugins/ZeroSwitch/ZeroSwitch.vcxproj @@ -23,6 +23,6 @@ ZeroSwitch - + \ No newline at end of file -- cgit v1.2.3