X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=appli%2Fbash%2FcpPlugins_createHost.cxx;h=6f8214d1bb828c1f0f0d9b0f11d92a21dce4aa7e;hb=9c75dcecf566cc567583caf4687ce523a2af586d;hp=0914cca5a607def05c39aee0aaf771e039f6e097;hpb=c3c3da5217b6eb255db9c0424f22d4e01250901e;p=cpPlugins.git diff --git a/appli/bash/cpPlugins_createHost.cxx b/appli/bash/cpPlugins_createHost.cxx index 0914cca..6f8214d 100644 --- a/appli/bash/cpPlugins_createHost.cxx +++ b/appli/bash/cpPlugins_createHost.cxx @@ -1,9 +1,35 @@ +#include #include #include #include -#include +// ------------------------------------------------------------------------- +std::string GetFileName( const std::string& path ) +{ + // Extract filename + char* buffer = new char[ path.size( ) + 1 ]; + std::memcpy( buffer, path.c_str( ), path.size( ) ); + buffer[ path.size( ) ] = '\0'; + char* tok = std::strtok( buffer, "/\\" ); + char* ptr_fname = tok; + while( tok != NULL ) + { + ptr_fname = tok; + tok = std::strtok( NULL, "/\\" ); + } // elihw + std::string fname( ptr_fname ); + delete [] buffer; + + // Delete extension + std::size_t pos = fname.find_last_of( "." ); + if( pos != std::string::npos ) + fname = fname.substr( 0, pos ); + + return( fname ); +} + +// ------------------------------------------------------------------------- int main( int argc, char* argv[] ) { // Open file @@ -37,16 +63,12 @@ int main( int argc, char* argv[] ) << " using namespace " << argv[ 2 ] << ";" << std::endl; for( int i = 3; i < argc; ++i ) - { - boost::filesystem::path p( argv[ i ] ); output_code << " host.add( new " - << p.stem( ).generic_string( ) + << GetFileName( argv[ i ] ) << "Provider( ) );" << std::endl; - } // rof - output_code << " return( true );" << std::endl << "}" << std::endl;