1
0
mirror of https://github.com/Ylianst/MeshAgent synced 2025-12-19 17:53:28 +00:00

1. Removed LoadLibraryExA() call for GetTickCount64 on windows

2. Fixed self update bug on older installs
This commit is contained in:
Bryan Roe
2020-11-10 17:13:02 -08:00
parent 56f9f4e547
commit cb7b76a1ab
2 changed files with 2 additions and 19 deletions

View File

@@ -722,7 +722,7 @@ int wmain(int argc, char* wargv[])
else
{
// Legacy
if (argc > 1 && (strcmp(argv[2], "run") == 0 || strcmp(argv[2], "connect") == 0))
if (argc > 2 && (strcmp(argv[2], "run") == 0 || strcmp(argv[2], "connect") == 0))
{
// Console Mode
updateLen = sprintf_s(update, 1024, "require('agent-installer').update(false, ['%s']);", argv[2]);

View File

@@ -9283,24 +9283,7 @@ static long long ILibGetUptimeUpperEmulation1;
static long long ILibGetUptimeUpperEmulation2;
long long ILibGetUptime()
{
long long r;
// Windows 7 & Vista
if (ILibGetUptimeFirst) {
HMODULE hlib = LoadLibraryExA((LPCSTR)"KERNEL32.DLL", NULL, LOAD_LIBRARY_SEARCH_SYSTEM32);
if (hlib == NULL) return 0;
pILibGetUptimeGetTickCount64 = (ULONGLONG(*)())GetProcAddress(hlib, "GetTickCount64");
ILibGetUptimeFirst = 0;
FreeLibrary(hlib);
}
if (pILibGetUptimeGetTickCount64 != NULL) return pILibGetUptimeGetTickCount64();
// Windows XP with rollover prevention
r = (long long)GetTickCount(); // Static Analyser reports this could roll over, but that's why this block is doing rollover prevention
if (r < ILibGetUptimeUpperEmulation1) ILibGetUptimeUpperEmulation2 += ((long long)1) << 32;
ILibGetUptimeUpperEmulation1 = r;
r += ILibGetUptimeUpperEmulation2;
return r;
return(GetTickCount64());
}
#elif __APPLE__
long long ILibGetUptime()