diff --git a/src/classes/PMsr2Data.cpp b/src/classes/PMsr2Data.cpp index 00797ea7..0f44e5ad 100644 --- a/src/classes/PMsr2Data.cpp +++ b/src/classes/PMsr2Data.cpp @@ -1304,15 +1304,16 @@ bool PMsr2Data::PrepareGlobalInputFile(unsigned int tempRun, const string &msrOu // and do the fitting // check if MUSRFITPATH is set, if not issue a warning - string path; - try { - path = boost::lexical_cast(getenv("MUSRFITPATH")); - path.append("/"); - } - catch(boost::bad_lexical_cast &) { + string path(""); + char *pathPtr(getenv("MUSRFITPATH")); + if (pathPtr) { + path = boost::lexical_cast(pathPtr); + if (!path.empty()) { + path.append("/"); + } + } else { cerr << endl << ">> msr2data: **WARNING** The MUSRFITPATH environment variable is not set!"; cerr << endl << ">> msr2data: **WARNING** Please set it or at least ensure that musrfit can be found on the PATH!" << endl; - path = ""; } ostringstream oss; oss << path << "musrfit" << " " << *fRunVectorIter << "-OneRunFit" << fFileExtension << ".msr"; diff --git a/src/msr2data.cpp b/src/msr2data.cpp index 63dc7da3..bb57af86 100644 --- a/src/msr2data.cpp +++ b/src/msr2data.cpp @@ -689,15 +689,16 @@ int main(int argc, char *argv[]) // and do the fitting if (!onlyInputCreation) { // check if MUSRFITPATH is set, if not issue a warning - string path; - try { - path = boost::lexical_cast(getenv("MUSRFITPATH")); - path.append("/"); - } - catch(boost::bad_lexical_cast &) { + string path(""); + char *pathPtr(getenv("MUSRFITPATH")); + if (pathPtr) { + path = boost::lexical_cast(pathPtr); + if (!path.empty()) { + path.append("/"); + } + } else { cerr << endl << ">> msr2data: **WARNING** The MUSRFITPATH environment variable is not set!"; cerr << endl << ">> msr2data: **WARNING** Please set it or at least ensure that musrfit can be found on the PATH!" << endl; - path = ""; } ostringstream oss; oss << path << "musrfit" << " " << strInfile.str() << " " << musrfitOptions; @@ -774,15 +775,16 @@ int main(int argc, char *argv[]) // and do the fitting if (!onlyInputCreation) { // check if MUSRFITPATH is set, if not issue a warning - string path; - try { - path = boost::lexical_cast(getenv("MUSRFITPATH")); - path.append("/"); - } - catch(boost::bad_lexical_cast &) { + string path(""); + char *pathPtr(getenv("MUSRFITPATH")); + if (pathPtr) { + path = boost::lexical_cast(pathPtr); + if (!path.empty()) { + path.append("/"); + } + } else { cerr << endl << ">> msr2data: **WARNING** The MUSRFITPATH environment variable is not set!"; cerr << endl << ">> msr2data: **WARNING** Please set it or at least ensure that musrfit can be found on the PATH!" << endl; - path = ""; } ostringstream oss; oss << path << "musrfit" << " " << strInfile.str() << " " << musrfitOptions;