X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=src%2FgdcmArgMgr.cxx;h=79ef553c6ee482dc23064859eebe2a71dd9ae98f;hb=3bfc348942b85891d4f2a36782e0726df4e4b4c3;hp=697ecf1a5637dbd597c195993dad8200eb88138c;hpb=f5a0c2260b3778606fd984cef9874fb9761f6eed;p=gdcm.git diff --git a/src/gdcmArgMgr.cxx b/src/gdcmArgMgr.cxx index 697ecf1a..79ef553c 100644 --- a/src/gdcmArgMgr.cxx +++ b/src/gdcmArgMgr.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmArgMgr.cxx,v $ Language: C++ - Date: $Date: 2005/06/22 08:11:23 $ - Version: $Revision: 1.10 $ + Date: $Date: 2005/08/28 16:56:05 $ + Version: $Revision: 1.13 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -70,7 +70,7 @@ namespace gdcm } } - /* Fills an array with the alreadu used parameters ****/ + /* Fills an array with the already used parameters ****/ ArgUsed = (char *)calloc (1, ArgCount ); /* Builds the full string with all the parameters **************/ @@ -117,8 +117,7 @@ ArgMgr::~ArgMgr() /** * \brief checks if a parameter exists in the command line * @param param label name - * @return true if parameter 'label' exists - * Actually, it returns 0 if label is not found + * @return 0 if label is not found * else, returns the number of the spot it was found last time. */ int ArgMgr::ArgMgrDefined( const char *param ) @@ -135,18 +134,18 @@ int ArgMgr::ArgMgrDefined( const char *param ) for ( int j=1; j0 ) + { + liste[i] = (uint16_t) strtol ( value, &value, 16 ); + if ( *value == '\0' ) + { + liste[i+1]=liste[i]; + return liste; + } + if ( *(value++) != '-' ) + { + liste[i+1]=liste[i]; + value--; + } + else + { + liste[i+1] = (uint16_t) strtol ( value, &value, 16 ); + } + if ( *value == '\0' ) + return liste; + if ( *(value++) != ',' ) + { + free (liste); + return 0; + } + taille --; i+=2; + } + return liste; +} +/** + * \brief returns an array of 'FLOAT pairs' + * @param value char array decribing a set of 'FLOAT pairs' (f1-l1, f2-l2, ...) + * @param number nb of found pairs + * @return pointer to the array of 'FLOAT pairs'; NULL if fail */ float *ArgMgr::IdStrFloatEnum (char *value, int *number) { @@ -607,40 +715,6 @@ float *ArgMgr::IdStrFloatEnum (char *value, int *number) return liste; } -/** - * \brief decodage des elements d'un argument 'paires d'int' de lgr quelconque - * @param param label name - * @param number taille de l'ensemble de paires trouvee - * @return Pointer vers le tableau de taille '2*nbElem' - * Pointer NULL si erreur - */ -int *ArgMgr::ArgMgrGetIntEnum ( const char *param, int *number ) -{ - char *value = ArgMgrValue(param); - int *liste; - if (!value) - return 0; - liste = IdStrIntEnum(value, number); - return liste; -} - -/** - * \brief decodage des elements d'un argument 'paires de float' de lgr quelconque - * @param param label name - * @param number taille de l'ensemble de paires trouvee - * @return Pointer vers le tableau de taille '2*nbElem' - * Pointer NULL si erreur - */ -float *ArgMgr::ArgMgrGetFloatEnum ( const char *param, int *number ) -{ - char *value = ArgMgrValue(param); - float *liste; - if (!value) - return 0; - liste = IdStrFloatEnum(value, number); - return liste; -} - //----------------------------------------------------------------------------- // Protected