From e9c6080c3007d3c5f49ef02f38b09088f260e886 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Tue, 17 Mar 2015 16:59:19 +0000 Subject: [PATCH] use new GetExecutableName everywhere --- Common/GmshMessage.cpp | 20 +++++++++++--------- Fltk/onelabGroup.cpp | 8 ++++---- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/Common/GmshMessage.cpp b/Common/GmshMessage.cpp index 93a99b7a01..c852c493f7 100644 --- a/Common/GmshMessage.cpp +++ b/Common/GmshMessage.cpp @@ -100,19 +100,21 @@ static int vsnprintf(char *str, size_t size, const char *fmt, va_list ap) static void addGmshPathToEnvironmentVar(const std::string &name) { std::string gmshPath = SplitFileName(GetExecutableName(CTX::instance()->argv0))[0]; - std::string path; - char *tmp = getenv(name.c_str()); - if(tmp){ - path = tmp; + if(gmshPath.size()){ + std::string path; + char *tmp = getenv(name.c_str()); + if(tmp){ + path = tmp; #if defined(WIN32) - path += ";" + gmshPath; + path += ";" + gmshPath; #else - path += ":" + gmshPath; + path += ":" + gmshPath; #endif + } + else + path = gmshPath; + SetEnvironmentVar(name.c_str(), path.c_str()); } - else - path = gmshPath; - SetEnvironmentVar(name.c_str(), path.c_str()); } void Msg::Init(int argc, char **argv) diff --git a/Fltk/onelabGroup.cpp b/Fltk/onelabGroup.cpp index a170097481..0826d910ed 100644 --- a/Fltk/onelabGroup.cpp +++ b/Fltk/onelabGroup.cpp @@ -253,13 +253,13 @@ static void onelab_choose_executable_cb(Fl_Widget *w, void *data) // try to find an executable automatically (this is really useful for // beginners) - if(CTX::instance()->argv0.size()){ - std::vector<std::string> split = SplitFileName(CTX::instance()->argv0); + std::string gmshPath = SplitFileName(GetExecutableName(CTX::instance()->argv0))[0]; + if(gmshPath.size()){ std::string name = c->getName(); for(unsigned int i = 0; i < name.size(); i++) name[i] = tolower(name[i]); - std::string path1 = split[0] + name; - std::string path2 = split[0] + "data/" + name; + std::string path1 = gmshPath + name; + std::string path2 = gmshPath + "data/" + name; #if defined(WIN32) path1 += ".exe"; path2 += ".exe"; -- GitLab