]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkInterpreterVirtual.cxx
Bug #1498
[bbtk.git] / kernel / src / bbtkInterpreterVirtual.cxx
index 49d951f6c90164be8b59e3e4b091c1cdde3fa271..35a87464b311639d28bd23b655cc26870cc58d2c 100644 (file)
@@ -1270,7 +1270,8 @@ namespace bbtk
     std::string fullPathScriptName;  // full path script name
     std::string pkgname;             // e.g. <scriptname>.bbs
     std::vector<std::string> Filenames;
-
+         std::string tmpFilenames;
+         
     // The following is *NOT* a debug time message :
     // It's a user intended message.
     // Please don't remove it.
@@ -1332,6 +1333,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 == ".") 
                  {
@@ -1362,6 +1364,9 @@ namespace bbtk
        std::vector<std::string>::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);
            
@@ -1369,9 +1374,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<sizeFilenames; iFilesnames++)
+             {
+                         for (jFilesnames=iFilesnames;jFilesnames<sizeFilenames; jFilesnames++)
+                         {
+                                 if ( Filenames[iFilesnames] > Filenames[jFilesnames] )
+                                 {
+                                         tmpFilenames                          = Filenames[iFilesnames];
+                                         Filenames[iFilesnames]        = Filenames[jFilesnames];
+                                         Filenames[jFilesnames]        = tmpFilenames;
+                                 } // if Filesnames
+                         } // for iFilesnames
+             } // for iFilesnames
+                 
+                 
+                 
            for (std::vector<std::string>::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
@@ -1466,6 +1495,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")
@@ -1526,6 +1556,7 @@ namespace bbtk
           bbtkError("No ["<<pkgname<<".bbs/.bbp] script found");
        return;
       } else {
+//EED printf("EED D. SwitchToFile %s\n", fullPathScriptName.c_str() );   
                LoadScript(fullPathScriptName,name);
 //EED Borrame    if (source) GetExecuter()->SetCurrentFileName(fullPathScriptName);
                if (source) SetCurrentFileName(fullPathScriptName);