]> Creatis software - bbtk.git/blobdiff - packages/std/src/bbstdExecSystemCommand.cxx
Brute hack to fix nb dim < 3
[bbtk.git] / packages / std / src / bbstdExecSystemCommand.cxx
index 5dfdf6b4aadf9f994e91529c4e557e81665902e7..3c321754c0b26047794c4c04908f498be1b2ec4a 100755 (executable)
@@ -1,3 +1,34 @@
+/*=========================================================================                                                                               
+  Program:   bbtk
+  Module:    $RCSfile: bbstdExecSystemCommand.cxx,v $
+  Language:  C++
+  Date:      $Date: 2009/05/14 14:43:38 $
+  Version:   $Revision: 1.8 $
+=========================================================================*/
+
+/* ---------------------------------------------------------------------
+
+* 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.
+* ------------------------------------------------------------------------ */                                                                         
+
+
 #include "bbstdExecSystemCommand.h"
 #include "bbstdPackage.h"
 #include "bbtkInterpreter.h"
@@ -7,12 +38,17 @@ namespace bbstd
 
   BBTK_ADD_BLACK_BOX_TO_PACKAGE(std,ExecSystemCommand);
   BBTK_BLACK_BOX_IMPLEMENTATION(ExecSystemCommand,bbtk::AtomicBlackBox);
-  
-  void ExecSystemCommand::bbUserConstructor() 
+
+  void ExecSystemCommand::bbUserSetDefaultValues() 
   { 
     bbSetInputIn("help");
   }
-  
+  void ExecSystemCommand::bbUserInitializeProcessing() 
+  { 
+  }
+  void ExecSystemCommand::bbUserFinalizeProcessing() 
+  {
+  }
   
   void ExecSystemCommand::DoProcess()
   {
@@ -21,28 +57,28 @@ namespace bbstd
     pos2 = bbGetInputIn().find(";",pos1);
     std::string ccommand;
     while (ok)
-      {                        
+      {
        if (pos2==-1) 
          {
            ok=false;
            ccommand=bbGetInputIn().substr(pos1,bbGetInputIn().length()-pos1 );
-         } 
-       else 
-         {
+          } else {
            ccommand=bbGetInputIn().substr(pos1,pos2-pos1);
          }
-       for (int i=0 ; i < ccommand.length() ; i++)
+         for (unsigned int i=0 ; i < ccommand.length() ; i++)
          {
            if (ccommand[i]==39)
-             {
-               ccommand[i]=34;
-             }
-         }                     
+           {
+                 ccommand[i]=34;
+        }
+     }
+       std::cout << "*** Executing system command : '"<<ccommand<<"'"<<std::endl;
        system ( ccommand.c_str() );
        pos1=pos2+1;
        pos2 = bbGetInputIn().find(";",pos2+1);
       }
-    /*
+
+    /* Grrr  not works in windows
       int i;
       char *str = (char*)bbGetInputIn().c_str();
       char * pch;
@@ -56,17 +92,15 @@ namespace bbstd
       {
       ccommand[i]=34;
       }
-      }                
+      }
       
       // bbtk::Interpreter::mGlobalInterpreter->InterpretLine( ccommand );
       system ( ccommand.c_str() );
       pch = strtok (NULL, ";");
       }
-      //      bbSetOutputOut( bbGetInputIn() );          
-      */
+      //      bbSetOutputOut( bbGetInputIn() );
+  */
   }
-  
-  
 } // EO namespace bbstd