Program: bbtk
Module: $RCSfile: bbtkInterpreter.cxx,v $ $
Language: C++
- Date: $Date: 2008/01/29 10:12:45 $
- Version: $Revision: 1.8 $
+ 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)
- { // ===========================================================check user supplied location
- fullnameGiven = true;
+ // if (slash_position != std::string::npos)
+ 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
- {
+ else
+
+ // =============================================================== iterate on the paths
+ {
std::string path;
std::vector<std::string>::iterator i;
for (i=script_paths.begin();i!=script_paths.end();++i)
{
- path = *i;
+ path = *i;
// we *really* want '.' to be the current working directory
if (path == ".") {
char buf[2048]; // for getcwd
}
// 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
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