X-Git-Url: https://git.josue.xyz/?p=VSoRC%2F.git;a=blobdiff_plain;f=node_modules%2Fnode-pty%2Fdeps%2Fwinpty%2Fsrc%2Flibwinpty%2FAgentLocation.cc;fp=node_modules%2Fnode-pty%2Fdeps%2Fwinpty%2Fsrc%2Flibwinpty%2FAgentLocation.cc;h=0000000000000000000000000000000000000000;hp=82d00b2da2d2d26d168223011373d71a665809ab;hb=5e96dd57ddd883604e87f62bdddcb111c63a6e1a;hpb=acb5f682a2b75b972710cabd81658f63071324b0 diff --git a/node_modules/node-pty/deps/winpty/src/libwinpty/AgentLocation.cc b/node_modules/node-pty/deps/winpty/src/libwinpty/AgentLocation.cc deleted file mode 100644 index 82d00b2..0000000 --- a/node_modules/node-pty/deps/winpty/src/libwinpty/AgentLocation.cc +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright (c) 2011-2016 Ryan Prichard -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to -// deal in the Software without restriction, including without limitation the -// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -// sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -// IN THE SOFTWARE. - -#include "AgentLocation.h" - -#include - -#include - -#include "../shared/WinptyAssert.h" - -#include "LibWinptyException.h" - -#define AGENT_EXE L"winpty-agent.exe" - -static HMODULE getCurrentModule() { - HMODULE module; - if (!GetModuleHandleExW( - GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | - GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, - reinterpret_cast(getCurrentModule), - &module)) { - ASSERT(false && "GetModuleHandleEx failed"); - } - return module; -} - -static std::wstring getModuleFileName(HMODULE module) { - const int bufsize = 4096; - wchar_t path[bufsize]; - int size = GetModuleFileNameW(module, path, bufsize); - ASSERT(size != 0 && size != bufsize); - return std::wstring(path); -} - -static std::wstring dirname(const std::wstring &path) { - std::wstring::size_type pos = path.find_last_of(L"\\/"); - if (pos == std::wstring::npos) { - return L""; - } else { - return path.substr(0, pos); - } -} - -static bool pathExists(const std::wstring &path) { - return GetFileAttributesW(path.c_str()) != 0xFFFFFFFF; -} - -std::wstring findAgentProgram() { - std::wstring progDir = dirname(getModuleFileName(getCurrentModule())); - std::wstring ret = progDir + (L"\\" AGENT_EXE); - if (!pathExists(ret)) { - throw LibWinptyException( - WINPTY_ERROR_AGENT_EXE_MISSING, - (L"agent executable does not exist: '" + ret + L"'").c_str()); - } - return ret; -}