X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmArgMgr.cxx;h=4950d679f4280944ba7cdc47fbe05c6720cde36f;hb=e7768bbebdc9a5972e396d71a3e848f5674ee378;hp=d54aae7c3e85f7f6b1f7edf43bb31804c07babdf;hpb=48f7ce7aa61778477992107caf15e8960359e66b;p=gdcm.git diff --git a/src/gdcmArgMgr.cxx b/src/gdcmArgMgr.cxx index d54aae7c..4950d679 100644 --- a/src/gdcmArgMgr.cxx +++ b/src/gdcmArgMgr.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmArgMgr.cxx,v $ Language: C++ - Date: $Date: 2006/01/26 15:52:56 $ - Version: $Revision: 1.17 $ + Date: $Date: 2007/10/04 17:50:42 $ + Version: $Revision: 1.26 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -21,12 +21,18 @@ #include #include // For strlen +// No strcasecmp in WIN32 world, but stricmp +// http://www.opengroup.org/onlinepubs/007908799/xsh/strcasecmp.html +#ifdef _WIN32 +#define strcasecmp stricmp +#endif + #include // For strtok and strlen #include // For strtol and strtod #include "gdcmArgMgr.h" -namespace gdcm +namespace GDCM_NAME_SPACE { //------------------------------------------------------------------------- // Constructor / Destructor @@ -37,12 +43,13 @@ namespace gdcm * @param argv pointers array on the arguments passed to main() */ ArgMgr::ArgMgr(int argc, char **argv) + : ArgParamOut (NULL), ArgUsed(NULL), ArgLab(NULL), ArgStr(NULL), ArgCount(0), Appel(NULL) { int i; - int nblettre; - ArgUsed = NULL; - Appel = NULL; - + int nblettre; + ArgLab = new char *[ARGMAXCOUNT]; + ArgStr = new char *[ARGMAXCOUNT]; + /* Read the parameters of the command line *************************/ for ( ArgCount=0, nblettre=1 , i=0; i0; i-- ) @@ -182,7 +200,7 @@ char *ArgMgr::ArgMgrUnused ( ) */ int ArgMgr::ArgMgrPrintUnusedLabels () { - char *label; + const char *label; int i=0; while ( (label=ArgMgrUnused())!=0 ) { @@ -217,7 +235,7 @@ int ArgMgr::ArgMgrUsage(const char **usage ) * @param param char. array that defines the parameter * @return Entier correspondant au rang dans la liste de labels */ -int ArgMgr::ArgMgrSave ( char *param ) +int ArgMgr::ArgMgrSave ( const char *param ) { static int deja = 0; FILE *fd; @@ -295,7 +313,7 @@ const char *ArgMgr::ArgMgrGetString(const char *param, const char *defaultVal) * @param val number of default value * @return int : range of value amongst the values list */ -int ArgMgr::ArgMgrGetLabel (const char *param, char *liste, int val ) +int ArgMgr::ArgMgrGetLabel (const char *param, const char *liste, int val ) { char *lab; const char *vallab; @@ -327,6 +345,7 @@ int ArgMgr::ArgMgrGetLabel (const char *param, char *liste, int val ) * @param liste character Chain describing the various values. * Labels are separated by '\\'. * No case sensitive. + * WARNING this will be changed (not const) * @param usage Usage program (displayed if label not found) * @return int : range of value amongst the values list */ @@ -762,7 +781,7 @@ char *ArgMgr::Majuscule (const char *chaine ) * Valeur retournee . : false if OK. * * true if KO. * **************************************************************************/ -int ArgMgr::FiltreLong ( char *arg ) +int ArgMgr::FiltreLong ( const char *arg ) { int n = 0 ; while ( (n++