X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fsrc%2FbbtkInterpreterVirtual.cxx;h=2498e9018e0738f08468ba04ecd6a6975851bd78;hb=1b7876d34a9cfbb96464c860fb671ccf375e343a;hp=aa9e3cca9f05b5f97347e19fcd2af4f585364d4d;hpb=0a4e8193b1c12923f11f2f5637558d2d44f0941f;p=bbtk.git diff --git a/kernel/src/bbtkInterpreterVirtual.cxx b/kernel/src/bbtkInterpreterVirtual.cxx index aa9e3cc..2498e90 100644 --- a/kernel/src/bbtkInterpreterVirtual.cxx +++ b/kernel/src/bbtkInterpreterVirtual.cxx @@ -1,4 +1,31 @@ -/*========================================================================= +/* + # --------------------------------------------------------------------- + # + # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image + # pour la SantÈ) + # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton + # Previous Authors : Laurent Guigues, Jean-Pierre Roux + # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil + # + # This software is governed by the CeCILL-B license under French law and + # abiding by the rules of distribution of free software. You can use, + # modify and/ or redistribute the software under the terms of the CeCILL-B + # license as circulated by CEA, CNRS and INRIA at the following URL + # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html + # or in the file LICENSE.txt. + # + # As a counterpart to the access to the source code and rights to copy, + # modify and redistribute granted by the license, users are provided only + # with a limited warranty and the software's author, the holder of the + # economic rights, and the successive licensors have only limited + # liability. + # + # The fact that you are presently reading this means that you have had + # knowledge of the CeCILL-B license and that you accept its terms. + # ------------------------------------------------------------------------ */ + + +/*========================================================================= Program: bbtk Module: $RCSfile: bbtkInterpreter.cxx,v $ Language: C++ @@ -6,27 +33,7 @@ Version: $Revision: 1.88 $ =========================================================================*/ -/* --------------------------------------------------------------------- - -* Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale) -* Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux -* -* This software is governed by the CeCILL-B license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL-B -* license as circulated by CEA, CNRS and INRIA at the following URL -* http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -* or in the file LICENSE.txt. -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited -* liability. -* -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL-B license and that you accept its terms. -* ------------------------------------------------------------------------ */ + /** * \file @@ -1270,7 +1277,8 @@ namespace bbtk std::string fullPathScriptName; // full path script name std::string pkgname; // e.g. .bbs std::vector Filenames; - + std::string tmpFilenames; + // The following is *NOT* a debug time message : // It's a user intended message. // Please don't remove it. @@ -1282,7 +1290,6 @@ namespace bbtk std::string upath; pkgname = Utilities::ExtractScriptName(name,upath); - bbtkMessage("interpreter",3, "package name:[" << pkgname << "] path:[" << upath << "]" << std::endl); @@ -1333,6 +1340,7 @@ namespace bbtk i++) { std::string full_path(*i); +printf("EED InterpreterVirtual::SwitchToFile 1. >>%s\n", full_path.c_str() ); // we *really* want '.' to be the current working directory if (full_path == ".") { @@ -1363,6 +1371,9 @@ namespace bbtk std::vector::iterator i; for (i=script_paths.begin();i!=script_paths.end();i++) { + +printf("EED InterpreterVirtual::SwitchToFile jaja >> %s\n", (*i).c_str() ); + bbtkMessage("interpreter",1, "--> Looking in '" << *i << "'" << std::endl); @@ -1370,9 +1381,33 @@ namespace bbtk //int nbFiles = Utilities::Explore(*i, false, Filenames); + int iFilesnames,jFilesnames,sizeFilenames; + sizeFilenames=Filenames.size(); + + + // EEDd 30 sept 2012 + //Sorting list of files + for (iFilesnames=0;iFilesnames Filenames[jFilesnames] ) + { + tmpFilenames = Filenames[iFilesnames]; + Filenames[iFilesnames] = Filenames[jFilesnames]; + Filenames[jFilesnames] = tmpFilenames; + } // if Filesnames + } // for iFilesnames + } // for iFilesnames + + + for (std::vector::iterator j = Filenames.begin(); j!= Filenames.end(); ++j) { + +printf("EED InterpreterVirtual::SwitchToFile kkkkk >> %s\n", (*j).c_str() ); + int lgr = (*j).size(); if (lgr < 5) continue; // ignore non .bbp file @@ -1467,6 +1502,7 @@ namespace bbtk } std::string tfullPathScriptName = Utilities::MakePkgnameFromPath(path, name, false); + //Addition JCP tfullPathScriptName.size()>=4 if(tfullPathScriptName.size()>=4){ if (tfullPathScriptName.substr(tfullPathScriptName.size()-4, 3)==".bb") @@ -1527,9 +1563,15 @@ namespace bbtk bbtkError("No ["<SetCurrentFileName(fullPathScriptName); - if (source) SetCurrentFileName(fullPathScriptName); + if (source) + { + // Over writing the fullpath of the bbp file. + SetCurrentFileName( fullPathScriptName ); + SetTypeOfScript_Application(); + } } return; @@ -1542,6 +1584,14 @@ namespace bbtk } //======================================================================= + + //======================================================================= + void InterpreterVirtual::SetTypeOfScript_Application( ) + { + } + //======================================================================= + + //======================================================================= void InterpreterVirtual::SwitchToStream( std::stringstream* stream ) { @@ -1957,8 +2007,7 @@ void InterpreterVirtual::SwitchToStream( std::stringstream* stream ) ter.c_cc[VTIME]=0; tcsetattr(0,TCSANOW,&ter); #endif - - + mCommandLine = true; bool again = true; // bool insideComment = false; // for multiline comment