Index: code/branches/testing/src/libraries/util/StringUtils.cc
===================================================================
--- code/branches/testing/src/libraries/util/StringUtils.cc	(revision 9074)
+++ code/branches/testing/src/libraries/util/StringUtils.cc	(revision 9076)
@@ -81,7 +81,8 @@
     }
 
-    /// Splits a given string by a delimiter and stores it in an output vector
+    /// Splits a given string by a delimiter and stores it in an output vector. See @ref SubString for a more sophisticated implementation.
     void vectorize(const std::string& str, char delimiter, std::vector<std::string>* output)
     {
+        output->clear();
         for (size_t start = 0, end = 0; end != std::string::npos; start = end + 1)
         {
@@ -92,5 +93,5 @@
 
     /**
-        @brief Returns the position of the next quotation mark in the string, starting with start.
+        @brief Returns the position of the next quotation mark in the string, starting with start. Escaped quotation marks (with \ in front) are not considered.
         @param str The string
         @param start The first position to look at
@@ -130,10 +131,8 @@
         size_t quote = static_cast<size_t>(-1);
         while ((quote = getNextQuote(str, quote + 1)) < pos)
-        {
-            if (quote == pos)
-                return false;
             quotecount++;
-        }
-
+
+        if (quote == pos)
+            return false;
         if (quote == std::string::npos)
             return false;
@@ -156,5 +155,5 @@
         size_t pos2 = getNextQuote(str, pos1 + 1);
         if (pos1 != std::string::npos && pos2 != std::string::npos)
-            return str.substr(pos1, pos2 - pos1 + 1);
+            return str.substr(pos1 + 1, pos2 - pos1 - 1);
         else
             return "";
@@ -247,23 +246,4 @@
     {
         return getStripped(str).empty();
-    }
-
-    /// Determines if a string contains only numbers and maximal one '.'.
-    bool isNumeric(const std::string& str)
-    {
-        bool foundPoint = false;
-
-        for (std::string::const_iterator it = str.begin(); it != str.end(); ++it)
-        {
-            if (((*it) < '0' || (*it) > '9'))
-            {
-                if ((*it) != '.' && !foundPoint)
-                    foundPoint = true;
-                else
-                    return false;
-            }
-        }
-
-        return true;
     }
 
@@ -444,21 +424,19 @@
     bool hasComment(const std::string& str)
     {
-        return (getCommentPosition(str) != std::string::npos);
-    }
-
-    /// If the string contains a comment, the comment gets returned (including the comment symbol), an empty string otherwise.
+        return (getNextCommentPosition(str) != std::string::npos);
+    }
+
+    /// If the string contains a comment, the comment gets returned (including the comment symbol and white spaces in front of it), an empty string otherwise.
     std::string getComment(const std::string& str)
     {
-        return str.substr(getCommentPosition(str));
-    }
-
-    /// If the string contains a comment, the position of the comment-symbol gets returned, @c std::string::npos otherwise.
-    size_t getCommentPosition(const std::string& str)
-    {
-        return getNextCommentPosition(str, 0);
-    }
-
-    /**
-        @brief Returns the position of the next comment-symbol, starting with @a start.
+        size_t pos = getNextCommentPosition(str);
+        if (pos == std::string::npos)
+            return "";
+        else
+            return str.substr(pos);
+    }
+
+    /**
+        @brief Returns the beginning of the next comment including whitespaces in front of the comment symbol.
         @param str The string
         @param start The first position to look at
Index: code/branches/testing/src/libraries/util/StringUtils.h
===================================================================
--- code/branches/testing/src/libraries/util/StringUtils.h	(revision 9074)
+++ code/branches/testing/src/libraries/util/StringUtils.h	(revision 9076)
@@ -58,5 +58,5 @@
     _UtilExport void         vectorize(const std::string& str, char delimiter, std::vector<std::string>* output);
 
-    _UtilExport size_t       getNextQuote(const std::string& str, size_t start);
+    _UtilExport size_t       getNextQuote(const std::string& str, size_t start = 0);
     _UtilExport bool         isBetweenQuotes(const std::string& str, size_t pos);
 
@@ -69,5 +69,4 @@
     _UtilExport bool         isEmpty(const std::string& str);
     _UtilExport bool         isComment(const std::string& str);
-    _UtilExport bool         isNumeric(const std::string& str);
 
     _UtilExport std::string  addSlashes(const std::string& str);
@@ -85,5 +84,4 @@
     _UtilExport bool         hasComment(const std::string& str);
     _UtilExport std::string  getComment(const std::string& str);
-    _UtilExport size_t       getCommentPosition(const std::string& str);
     _UtilExport size_t       getNextCommentPosition(const std::string& str, size_t start = 0);
 
