]> Creatis software - gdcm.git/blobdiff - src/gdcmUtil.cxx
* gdcmPython/__init__.py fix of GDCM_DICT_PATH which was not
[gdcm.git] / src / gdcmUtil.cxx
index c6a7576e6485b7d8e92841610b75daba9df99877..ea90d950231603531bb53703f7c677c8a98f6acc 100644 (file)
@@ -1,4 +1,6 @@
-#include <ctype.h>
+// gdcmUtil.cxx
+
+#include <ctype.h>   // For isspace
 #include "gdcmUtil.h"
 
 gdcmDebug::gdcmDebug(int level) {
@@ -23,18 +25,27 @@ void gdcmDebug::Error( bool Test, const char * Msg1, const char * Msg2) {
        if (!Test)
                return;
        std::cerr << Msg1 << ' ' << Msg2 << '\n';
-       exit(1);
+       Exit(1);
 }
 
 void gdcmDebug::Error(const char* Msg1, const char* Msg2,
                       const char* Msg3) {
        std::cerr << Msg1 << ' ' << Msg2 << ' ' << Msg3 << '\n';
-       exit(1);
+       Exit(1);
+}
+
+void gdcmDebug::Exit(int a) {
+#ifdef __GNUC__
+       std::exit(a);
+#endif
+#ifdef _MSC_VER
+       exit(a);    // Found in #include <stdlib.h>
+#endif
 }
 
 gdcmDebug dbg;
 
-// Because is not yet available in g++2.06
+// Because is not yet available in g++2.96
 istream& eatwhite(istream& is) {
        char c;
        while (is.get(c)) {
@@ -46,3 +57,14 @@ istream& eatwhite(istream& is) {
        return is;
 }
 
+void Tokenize (const string& str,
+               vector<string>& tokens,
+               const string& delimiters = " ") {
+   string::size_type lastPos = str.find_first_not_of(delimiters,0);
+   string::size_type pos     = str.find_first_of(delimiters,lastPos);
+   while (string::npos != pos || string::npos != lastPos) {
+      tokens.push_back(str.substr(lastPos, pos - lastPos));
+      lastPos = str.find_first_not_of(delimiters, pos);
+      pos = str.find_first_of(delimiters, lastPos);
+   }
+}