look for adjacent dir relative to .exe dir, not current dirr

This commit is contained in:
Dmitry Jemerov
2013-04-09 10:02:19 +02:00
parent ff169ee692
commit a7a2238cb0
3 changed files with 6 additions and 2 deletions
Binary file not shown.
Binary file not shown.
@@ -104,8 +104,12 @@ bool FindValidJVM(const char* path)
std::string GetAdjacentDir(const char* suffix)
{
char libDir[_MAX_PATH];
GetCurrentDirectoryA(_MAX_PATH-1, libDir);
GetModuleFileNameA(NULL, libDir, _MAX_PATH-1);
char* lastSlash = strrchr(libDir, '\\');
if (!lastSlash) return "";
*lastSlash = '\0';
lastSlash = strrchr(libDir, '\\');
if (!lastSlash) return "";
strcpy(lastSlash+1, suffix);
strcat_s(libDir, "\\");
return std::string(libDir);
@@ -261,7 +265,7 @@ std::string FindToolsJar()
std::string CollectLibJars(const std::string& jarList)
{
std::string libDir = GetAdjacentDir("lib");
if (!FileExists(libDir))
if (libDir.size() == 0 || !FileExists(libDir))
{
return "";
}