Program: gdcm
Module: $RCSfile: gdcmUtil.cxx,v $
Language: C++
- Date: $Date: 2007/05/23 14:18:11 $
- Version: $Revision: 1.187 $
+ Date: $Date: 2007/10/01 09:25:06 $
+ Version: $Revision: 1.188 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
str[i] = '.';
}
}
-
if (str.size() > 0 )
{
if (!isprint((unsigned char)s[str.size()-1]) )
}
}
}
-
return str;
}
+/**
+ * \brief Replaces all special characters
+ * @param s string to modify
+ * @param rep replacement char
+ */
+void Util::ReplaceSpecChar(std::string &s, std::string &rep)
+{
+ unsigned int s_size = s.size();
+ for(unsigned int i=0; i<s_size; i++)
+ {
+ if (! ( s[i] == '.' || s[i] == '%' || s[i] == '_'
+ || (s[i] >= '+' && s[i] <= '-')
+ || (s[i] >= 'a' && s[i] <= 'z')
+ || (s[i] >= '0' && s[i] <= '9')
+ || (s[i] >= 'A' && s[i] <= 'Z')))
+ {
+ s.replace(i, 1, rep);
+ }
+ }
+ // deal with Dicom strings trailing '\0'
+ if(s[s_size-1] == rep.c_str()[0])
+ s.erase(s_size-1, 1);
+}
+
/**
* \brief Weed out a string from the non-printable characters (in order
ghost@aladdin.com
*/
-/* $Id: gdcmUtil.cxx,v 1.187 2007/05/23 14:18:11 jpr Exp $ */
+/* $Id: gdcmUtil.cxx,v 1.188 2007/10/01 09:25:06 jpr Exp $ */
/*
Independent implementation of MD5 (RFC 1321).
Program: gdcm
Module: $RCSfile: gdcmUtil.h,v $
Language: C++
- Date: $Date: 2007/08/22 16:14:05 $
- Version: $Revision: 1.69 $
+ Date: $Date: 2007/10/01 09:25:06 $
+ Version: $Revision: 1.70 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
static std::string CreateCleanString(uint8_t *s, int l);
static bool IsCleanString(std::string const &s);
static bool IsCleanArea(uint8_t *s, int l);
+ static void ReplaceSpecChar(std::string &s, std::string &rep);
static std::string NormalizePath(std::string const &name);
static std::string GetPath(std::string const &fullName);
static std::string GetName(std::string const &fullName);
*a = *b;
*b = tmp;
}
- void hfpswap(double *a, double *b);
+ void hfpswap(double *a, double *b);
+
static inline void sthifpswap(double *a, double *b)
{
double tmp;
ghost@aladdin.com
*/
-/* $Id: gdcmUtil.h,v 1.69 2007/08/22 16:14:05 jpr Exp $ */
+/* $Id: gdcmUtil.h,v 1.70 2007/10/01 09:25:06 jpr Exp $ */
/*
Independent implementation of MD5 (RFC 1321).
This code implements the MD5 Algorithm defined in RFC 1321, whose