X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmUtil.cxx;h=4c053864a287ec7e4d79a998f0b6334c7d8aec58;hb=ddf499835a21348b252936d10fbf4305d3c1e3ad;hp=ae7f0675aef740e99935503dd8308c155de13eb2;hpb=0e82725d64f17545e782c18039ced7ea898f8cad;p=gdcm.git diff --git a/src/gdcmUtil.cxx b/src/gdcmUtil.cxx index ae7f0675..4c053864 100644 --- a/src/gdcmUtil.cxx +++ b/src/gdcmUtil.cxx @@ -1,89 +1,27 @@ -// gdcmUtil.cxx -//----------------------------------------------------------------------------- +/*========================================================================= + + Program: gdcm + Module: $RCSfile: gdcmUtil.cxx,v $ + Language: C++ + Date: $Date: 2004/07/17 22:47:01 $ + Version: $Revision: 1.47 $ + + Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de + l'Image). All rights reserved. See Doc/License.txt or + http://www.creatis.insa-lyon.fr/Public/Gdcm/License.htm for details. + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notices for more information. + +=========================================================================*/ + #include "gdcmUtil.h" #include "gdcmDebug.h" #include #include // For isspace #include // CLEANME: could this be only string ? Related to Win32 ? - -/** - * \ingroup Globals - * \brief Pointer to a container, holding _all_ the Dicom Dictionaries. - */ -gdcmDictSet *gdcmGlobal::Dicts = (gdcmDictSet *)0; - -/** - * \ingroup Globals - * \brief Pointer to a hash table containing the 'Value Representations'. - */ -gdcmVR *gdcmGlobal::VR = (gdcmVR *)0; - -/** - * \ingroup Globals - * \brief Pointer to a hash table containing the Transfer Syntax codes - * and their english description - */ -gdcmTS *gdcmGlobal::TS = (gdcmTS *)0; - -/** - * \ingroup Globals - * \brief Pointer to the hash table containing the Dicom Elements - * necessary to describe each part of a DICOMDIR - */ -gdcmDicomDirElement *gdcmGlobal::ddElem = (gdcmDicomDirElement *)0; - -/** - * \ingroup Globals - * \brief Global container - */ -gdcmGlobal gdcmGlob; - -/** - * \ingroup gdcmGlobal - * \brief constructor : populates the - */ -gdcmGlobal::gdcmGlobal(void) { - if (VR || TS || Dicts || ddElem) - dbg.Verbose(0, "gdcmGlobal::gdcmGlobal : VR or TS or Dicts already allocated"); - Dicts = new gdcmDictSet(); - VR = new gdcmVR(); - TS = new gdcmTS(); - ddElem = new gdcmDicomDirElement(); -} - -/** - * \ingroup gdcmGlobal - * \brief canonical destructor - */ -gdcmGlobal::~gdcmGlobal() { - delete Dicts; - delete VR; - delete TS; - delete ddElem; -} - -gdcmVR *gdcmGlobal::GetVR(void) { - return VR; -} - -gdcmTS *gdcmGlobal::GetTS(void) { - return TS; -} - -gdcmDictSet *gdcmGlobal::GetDicts(void) { - return Dicts; -} - -gdcmDicomDirElement *gdcmGlobal::GetDicomDirElements(void) { - return ddElem; -} - -/** - * \defgroup Globals Utility functions - * \brief Here are some utility functions, belonging to NO class, - * dealing with strings, file names... that can be called - * from anywhere by whomsoever they can help. - */ +#include /** * \ingroup Globals @@ -120,30 +58,12 @@ void Tokenize (const std::string& str, * \ingroup Globals * \brief Weed out a string from the non-printable characters (in order * to avoid corrupting the terminal of invocation when printing) - * @param v characters array to remove non printable characters from - */ -char *_cleanString(char *v) { - char *d; - int i, l; - l = strlen(v); - for (i=0,d=v; - ipos2) + int pos1 = fullName.rfind("/"); + int pos2 = fullName.rfind("\\"); + if( pos1 > pos2) + { fullName.resize(pos1); + } else + { fullName.resize(pos2); - return(fullName); + } + return fullName; } /** @@ -203,7 +127,7 @@ std::string GetName(std::string &fullName) if (a == '/' || a == '\\') { fin--; } - int deb; + int deb = 0; for (int i=fin;i!=0;i--) { if (fullName.c_str()[i] == '/' || fullName.c_str()[i] == '\\') break; @@ -214,5 +138,5 @@ std::string GetName(std::string &fullName) for (int j=deb;j