Program: bbtk
Module: $RCSfile: bbtkInterpreter.cxx,v $ $
Language: C++
- Date: $Date: 2008/01/29 13:54:47 $
- Version: $Revision: 1.10 $
+ 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
}
foundFile = true;
- std::cout << "recherche tous les .bbs du directory" << std::endl;
- std::cout << "pour chacun, LoadScript" << std::endl;
-
std::vector<std::string> Filenames;
int nbFiles = Utilities::Explore(fullDirectoryName, false, Filenames);
// std::cout << "=================nbFiles " << nbFiles << std::endl;
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)
fullPathScriptName = fullPathScriptName + ".bbs";
}
- //if (fullPathScriptName != "") {
if ( Utilities::FileExists(fullPathScriptName))
{
foundFile = true;
}
- //}
+
} // endif l != 0
}
else
-
+
// =============================================================== iterate on the paths
{
- std::cout << "iterate"<<std::endl;
std::string path;
std::vector<std::string>::iterator i;
for (i=script_paths.begin();i!=script_paths.end();++i)
{
path = *i;
- std::cout << "CUR=["<<path<<"]"<<std::endl;
// we *really* want '.' to be the current working directory
if (path == ".") {
- std::cout << "PATH IS CURRENT"<<std::endl;
char buf[2048]; // for getcwd
char * currentDir = getcwd(buf, 2048);
std::string cwd(currentDir);
// fullPathScriptName = Utilities::MakePkgnameFromPath(path, name, true); //pkgname);
- fullPathScriptName = Utilities::MakePkgnameFromPath(path, /*pkgnam*/ name, true);
- std::cout << "FULL PATH = "<<fullPathScriptName<<std::endl;
-
+ fullPathScriptName = Utilities::MakePkgnameFromPath(path, name, true);
+//std::cout << "FULL PATH = "<<fullPathScriptName<<std::endl;
+
// Check if library exists
if ( ! Utilities::FileExists(fullPathScriptName) )
{
std::cout <<" [" <<fullPathScriptName <<"] : doesn't exist" <<std::endl;
continue; // try next path
}
+ if (verbose)
+ std::cout <<" [" <<fullPathScriptName <<"] : found" <<std::endl;
foundFile = true;
break; // a script was found; we stop iterating