Add some error checking

This commit is contained in:
sam-astro 2022-05-24 08:15:01 -04:00 committed by GitHub
parent ab6f04e3cc
commit 532d983195
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -786,6 +786,8 @@ int main(int argc, char* argv[])
#if DEVELOPER_MESSAGES #if DEVELOPER_MESSAGES
cout << scriptPath << endl; cout << scriptPath << endl;
#endif #endif
if (!fileExists(scriptPath)
LogCriticalError("Failed to load script from path: \"" + scriptPath + "\"");
std::string projectDirectory = scriptPath.substr(0, scriptPath.find_last_of("/\\")); std::string projectDirectory = scriptPath.substr(0, scriptPath.find_last_of("/\\"));
#if UNIX #if UNIX
@ -799,13 +801,14 @@ int main(int argc, char* argv[])
#endif #endif
// Change the current working directory to that of the script // Change the current working directory to that of the script
chdir(projectDirectory.c_str()); int chErr = chdir(projectDirectory.c_str());
if(chErr < 0)
LogCriticalError("Failed to change directory to: \"" + projectDirectory.c_str() + "\", error num: " + chErr);
#if DEVELOPER_MESSAGES #if DEVELOPER_MESSAGES
InterpreterLog("Change directory to " + projectDirectory + "..."); InterpreterLog("Changed directory to " + projectDirectory + "...");
#endif #endif
#if DEVELOPER_MESSAGES #if DEVELOPER_MESSAGES
string newPath = filesystem::current_path(); string newPath = filesystem::current_path();
InterpreterLog("Current working directory is " + newPath);
#endif #endif
#elif WINDOWS #elif WINDOWS
// Get script contents as single string // Get script contents as single string
@ -823,7 +826,7 @@ int main(int argc, char* argv[])
LPCWSTR s = wide.c_str(); LPCWSTR s = wide.c_str();
SetCurrentDirectory(s); SetCurrentDirectory(s);
#if DEVELOPER_MESSAGES #if DEVELOPER_MESSAGES
InterpreterLog("Change directory to " + projectDirectory + "..."); InterpreterLog("Changed directory to " + projectDirectory + "...");
#endif #endif
#endif #endif
} }