diff --git a/Common/GmshMessage.cpp b/Common/GmshMessage.cpp index a462d974986d75b509f61c421cdcf615c279afc1..ece150274243e2b84bdcdb5282f331820ca70151 100644 --- a/Common/GmshMessage.cpp +++ b/Common/GmshMessage.cpp @@ -77,20 +77,31 @@ static int vsnprintf(char *str, size_t size, const char *fmt, va_list ap) void Msg::Init(int argc, char **argv) { + int sargc = argc; + char **sargv = argv; + for(int i = 0; i < argc; i++){ + std::string val(argv[i]); + if(val == "info" || val == "-info" || + val == "help" || val == "-help"){ + sargc = 0; + sargv = 0; + break; + } + } #if defined(HAVE_MPI) int flag; MPI_Initialized(&flag); - if(!flag) MPI_Init(&argc, &argv); + if(!flag) MPI_Init(&sargc, &sargv); MPI_Comm_rank(MPI_COMM_WORLD, &_commRank); MPI_Comm_size(MPI_COMM_WORLD, &_commSize); MPI_Errhandler_set(MPI_COMM_WORLD, MPI_ERRORS_RETURN); #endif #if defined(HAVE_PETSC) - PetscInitialize(&argc, &argv, PETSC_NULL, PETSC_NULL); + PetscInitialize(&sargc, &sargv, PETSC_NULL, PETSC_NULL); PetscPopSignalHandler(); #endif #if defined(HAVE_SLEPC) - SlepcInitialize(&argc, &argv, PETSC_NULL, PETSC_NULL); + SlepcInitialize(&sargc, &sargv, PETSC_NULL, PETSC_NULL); #endif time_t now; time(&now);