]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkInterpreter.cxx
name
[bbtk.git] / kernel / src / bbtkInterpreter.cxx
index eba8ce61bdabd685df899382fc17e925f7c35361..640688776191dd9c358ace7fb5213f7b78e55e54 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkInterpreter.cxx,v $ $
   Language:  C++
-  Date:      $Date: 2008/01/29 14:01:31 $
-  Version:   $Revision: 1.11 $
+  Date:      $Date: 2008/01/29 14:31:02 $
+  Version:   $Revision: 1.13 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -814,22 +814,23 @@ verbose = true;
 
     std::string::size_type slash_position = name.find_last_of("/\\");
 
-    // if name contains a slash (anywhere), user is assumed to have passed a relative/absolute name
+    // if name starts with a / or a . or contains : user is assumed to have passed a relative/absolute name
     // (not only a plain script name)
-    // we trust him, and try to explade the directory name
+    // we trust him, and try to expland the directory name
     // WARNING : starting from current local directory :  ./whatYouWant  (./ mandatory!)
       
    // if (slash_position != std::string::npos)
-    if (name[0]=='/' || name[1] == ':')
+    if (name[0]=='/' || name[1] == ':' || name[0]=='.')  // absolute path (linux/windows) or relative path
     { 
 
       // ===========================================================check user supplied location
       fullnameGiven = true;
-      
+
       fullPathScriptName =  Utilities::ExpandLibName(name, verbose);
-   
+
       // allow user to always forget ".bbs"
       int l = fullPathScriptName.size();
+
       if (l!=0) {
       
       if (l>4)
@@ -844,16 +845,15 @@ verbose = true;
          fullPathScriptName = fullPathScriptName + ".bbs";   
       }
 
-      //if (fullPathScriptName != "") {
         if ( Utilities::FileExists(fullPathScriptName))
         {
           foundFile = true;
         }
-      //}
+
       } // endif l != 0
     }
     else 
-      
+
       // =============================================================== iterate on the paths
       {
       std::string path;
@@ -872,7 +872,7 @@ verbose = true;
 
        // fullPathScriptName = Utilities::MakePkgnameFromPath(path, name, true); //pkgname);
 
-           fullPathScriptName = Utilities::MakePkgnameFromPath(path, pkgname, true);
+           fullPathScriptName = Utilities::MakePkgnameFromPath(path, name, true);
 //std::cout << "FULL PATH = "<<fullPathScriptName<<std::endl;
 
       // Check if library exists