X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=validparameter.cpp;fp=validparameter.cpp;h=e82a9e8d4446430d125c168d66e0ababc8651655;hb=80c3fe03a8fd1635d3ad7918ff00beb973449f50;hp=163423b79dddc49d99ab38aa197291d0b1b254e7;hpb=dfae916a398508554d35c6b3c8002b69becb53be;p=mothur.git diff --git a/validparameter.cpp b/validparameter.cpp index 163423b..e82a9e8 100644 --- a/validparameter.cpp +++ b/validparameter.cpp @@ -197,7 +197,7 @@ bool ValidParameters::isValidParameter(string parameter, vector cParams, /******************************************************/ -string ValidParameters::validFile(map container, string parameter, bool isFile) { +string ValidParameters::validFile(map& container, string parameter, bool isFile) { try { int ableToOpen; ifstream in; @@ -217,7 +217,18 @@ string ValidParameters::validFile(map container, string paramete if (pid == 0) { #endif - ableToOpen = openInputFile(it->second, in); + ableToOpen = openInputFile(it->second, in, "noerror"); + + //if you can't open it, try default location + if (ableToOpen == 1) { + if (m->getDefaultPath() != "") { //default path is set + string tryPath = m->getDefaultPath() + getSimpleName(it->second); + m->mothurOut("Unable to open " + it->second + ". Trying default " + tryPath); m->mothurOutEndLine(); + ableToOpen = openInputFile(tryPath, in, "noerror"); + container[parameter] = tryPath; + } + } + in.close(); #ifdef USE_MPI @@ -231,7 +242,10 @@ string ValidParameters::validFile(map container, string paramete MPI_Barrier(MPI_COMM_WORLD); //make everyone wait - just in case #endif - if (ableToOpen == 1) { return "not open"; } + if (ableToOpen == 1) { + m->mothurOut("Unable to open " + container[parameter]); m->mothurOutEndLine(); + return "not open"; + } } }else { return "not found"; }