]> git.donarmstrong.com Git - mothur.git/blobdiff - setdircommand.cpp
dunno
[mothur.git] / setdircommand.cpp
index 17bad60d2f358b41d4dce9eeafc6a155ad069df7..081a306d712a8ee10bb67cf1d72bbf0663d0ff07 100644 (file)
@@ -122,7 +122,7 @@ int SetDirectoryCommand::execute(){
                }else {
                        //add / to name if needed
                        string lastChar = output.substr(output.length()-1);
-                       #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+                       #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) || (__linux__) || (__unix__) || (__unix)
                                if (lastChar != "/") { output += "/"; }
                        #else
                                if (lastChar != "\\") { output += "\\"; }       
@@ -154,7 +154,7 @@ int SetDirectoryCommand::execute(){
                }else {
                        //add / to name if needed
                        string lastChar = input.substr(input.length()-1);
-                       #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+                       #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) || (__linux__) || (__unix__) || (__unix)
                                if (lastChar != "/") { input += "/"; }
                        #else
                                if (lastChar != "\\") { input += "\\"; }        
@@ -196,14 +196,25 @@ int SetDirectoryCommand::execute(){
                }else {
                        //add / to name if needed
                        string lastChar = tempdefault.substr(tempdefault.length()-1);
-                       #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+                       #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) || (__linux__) || (__unix__) || (__unix)
                                if (lastChar != "/") { tempdefault += "/"; }
                        #else
                                if (lastChar != "\\") { tempdefault += "\\"; }  
                        #endif
                        
-                       m->mothurOut("tempDefault=" + tempdefault); m->mothurOutEndLine();  
-                       m->setDefaultPath(tempdefault);
+                       //test to make sure directory exists
+                       tempdefault = m->getFullPathName(tempdefault);
+                       string inTemp = tempdefault + tag + "temp";
+                       ofstream in;
+                       in.open(inTemp.c_str(), ios::trunc);
+                       if(!in) {
+                               m->mothurOut(tempdefault + " directory does not exist or is not writable."); m->mothurOutEndLine(); 
+                       }else{
+                               in.close();
+                               m->mothurRemove(inTemp);
+                               m->mothurOut("tempDefault=" + tempdefault); m->mothurOutEndLine();  
+                               m->setDefaultPath(tempdefault);
+                       }
                }
 
                return 0;