Program: gdcm
Module: $RCSfile: gdcmArgMgr.cxx,v $
Language: C++
- Date: $Date: 2006/04/11 16:03:26 $
- Version: $Revision: 1.21 $
+ Date: $Date: 2008/05/14 10:45:11 $
+ Version: $Revision: 1.28 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#include "gdcmArgMgr.h"
-namespace gdcm
+namespace GDCM_NAME_SPACE
{
//-------------------------------------------------------------------------
// Constructor / Destructor
* @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; i<argc; i++)
{
char * egaloufin = ArgLab[i] ;
while ( (*egaloufin != '\0') && (*egaloufin != '=') )
egaloufin ++ ;
- if ( *egaloufin ) *(egaloufin++) = '\0';
+ if ( *egaloufin )
+ *(egaloufin++) = '\0';
ArgStr[i]= egaloufin;
}
/* Set labels to upper-case (labels are not case sensitive ) *********/
- char *secu;
+ //char *secu;
for ( i=0; i<ArgCount; i++)
{
- secu = ArgLab[i];
+ //secu = ArgLab[i];
ArgLab[i] = Majuscule ( ArgLab[i] ) ;
//free (secu); //we still need it in the caller pgm.
}
for(int i=0;i<ArgCount;i++)
if ( ArgLab[i] )
free(ArgLab[i]);
+ delete ArgLab;
+ delete ArgStr;
if ( ArgUsed )
free(ArgUsed);
if ( Appel )
free(Appel);
+
}
/**
char *ptr, *ptr2, *ptr3;
ptr2 = (char *)malloc(strlen(chaine)*sizeof(char)+1);
ptr3=ptr2;
- for ( ptr = (char *)chaine ; *ptr!='\0' ; ptr ++ )
+ for ( ptr = const_cast<char *>(chaine) ; *ptr!='\0' ; ptr ++ )
{
*ptr3 = toupper ( * ptr ); ptr3++;
}
const char *ArgMgr::LoadedParam ( const char *param, FILE *fd )
{
int carlu;
- char *car = (char *)param;
+ char *car = const_cast<char *>(param);
int quote = false;
int nbcar = 0;
/* remove spaces at the beginning****/
- while ( isspace(carlu=fgetc (fd)) );
+ while ( isspace(carlu=fgetc (fd)) ) {}
if (carlu==EOF)
return 0;
/* Search for a " */
+------------------------------------------------------------------------*/
int ArgMgr::ArgLoadFromFile ( const char *filename )
{
- int nbl = 0;
+ size_t nbl = 0;
char param[ARG_LONG_MAX+1];
FILE *fch;
fch = fopen ( filename, ID_RFILE_TEXT );
while ( LoadedParam (param, fch ) )
{
- int n = strlen(param);
+ size_t n = strlen(param);
if ( param[0]=='@' )
{
nbl += ArgLoadFromFile ( ¶m[1] );
}
}
fclose ( fch );
- return nbl;
+ return static_cast< int >( nbl );
}
/*------------------------------------------------------------------------
char *logfile;
FILE *fd;
- if ( (ArgParamOut=ArgMgrValue((char*)ARG_LABEL_PARAMOUT))==0 )
+ if ( (ArgParamOut=ArgMgrValue(const_cast<char*>(ARG_LABEL_PARAMOUT)))==0 )
ArgParamOut = ARG_DEFAULT_PARAMOUT;
- if ( (logfile = ArgMgrValue((char*)ARG_LABEL_LOGFILE))!=0)
+ if ( (logfile = ArgMgrValue(const_cast<char*>(ARG_LABEL_LOGFILE)))!=0)
{
if ( *logfile == '\0' )
- logfile = (char *)ARG_DEFAULT_LOGFILE;
+ logfile = const_cast<char *>(ARG_DEFAULT_LOGFILE);
fd = fopen ( logfile, "a+" );
if ( fd )
{