Index: code/trunk/CMakeLists.txt
===================================================================
--- code/trunk/CMakeLists.txt	(revision 1888)
+++ code/trunk/CMakeLists.txt	(revision 1889)
@@ -50,6 +50,6 @@
 SET(CMAKE_C_FLAGS "$ENV{CFLAGS} -O0 -Wall -g -ggdb")
 SET(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")
-#SET(CMAKE_C_FLAGS "$ENV{CFLAGS} -O3")
-#SET(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} -O3")
+#SET(CMAKE_C_FLAGS "$ENV{CFLAGS} -O3 -s")
+#SET(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} -O3 -s")
 
 SET(CMAKE_LD_FLAGS "$ENV{LDFLAGS}")
Index: code/trunk/cmake/FindDirectX.cmake
===================================================================
--- code/trunk/cmake/FindDirectX.cmake	(revision 1888)
+++ code/trunk/cmake/FindDirectX.cmake	(revision 1889)
@@ -16,11 +16,11 @@
 
   FIND_PATH(DirectX_INCLUDE_DIR "dinput.h"
-    C:/DXSDK/Include
+    ../libs/DXSDK/Include
     $ENV{DXSDK_DIR}/Include
   )
 
   FIND_PATH(DirectX_LIB_DIR "dinput8.lib"
-    C:/DXSDK/Lib
-    C:/DXSDK/Lib/x86
+    ../libs/DXSDK/Lib
+    ../libs/DXSDK/Lib/x86
     $ENV{DXSDK_DIR}/lib/x86
   )
Index: code/trunk/src/core/ConfigFileManager.cc
===================================================================
--- code/trunk/src/core/ConfigFileManager.cc	(revision 1888)
+++ code/trunk/src/core/ConfigFileManager.cc	(revision 1889)
@@ -255,7 +255,7 @@
             if (!isEmpty(temp) && !isComment(temp))
             {
-                unsigned int   pos1 = temp.find('[');
+                size_t   pos1 = temp.find('[');
                 if (pos1 == 0) pos1 = line.find('['); else pos1 = std::string::npos;
-                unsigned int   pos2 = line.find(']');
+                size_t   pos2 = line.find(']');
 
                 if (pos1 != std::string::npos && pos2 != std::string::npos && pos2 > pos1 + 1)
@@ -282,12 +282,12 @@
                 else
                 {
-                    unsigned int pos1 = line.find('=');
+                    size_t pos1 = line.find('=');
 
                     if (pos1 != std::string::npos && pos1 > 0)
                     {
                         // New entry
-                        unsigned int pos2 = line.find('[');
-                        unsigned int pos3 = line.find(']');
-                        unsigned int commentposition = getNextCommentPosition(line, pos1 + 1);
+                        size_t pos2 = line.find('[');
+                        size_t pos3 = line.find(']');
+                        size_t commentposition = getNextCommentPosition(line, pos1 + 1);
                         while (isBetweenQuotes(line, commentposition))
                         {
Index: code/trunk/src/core/Executor.h
===================================================================
--- code/trunk/src/core/Executor.h	(revision 1888)
+++ code/trunk/src/core/Executor.h	(revision 1889)
@@ -177,9 +177,9 @@
             inline FunctionType getType() const
                 { return this->functor_->getType(); }
-            inline MultiType getReturnvalue() const
+            inline const MultiType& getReturnvalue() const
                 { return this->functor_->getReturnvalue(); }
-            inline std::string getTypenameParam(unsigned int param) const
+            inline const std::string& getTypenameParam(unsigned int param) const
                 { return this->functor_->getTypenameParam(param); }
-            inline std::string getTypenameReturnvalue() const
+            inline const std::string& getTypenameReturnvalue() const
                 { return this->functor_->getTypenameReturnvalue(); }
 
Index: code/trunk/src/core/Functor.h
===================================================================
--- code/trunk/src/core/Functor.h	(revision 1888)
+++ code/trunk/src/core/Functor.h	(revision 1889)
@@ -34,4 +34,5 @@
 
 #include "util/MultiType.h"
+#include "util/String.h"
 #include "util/Debug.h"
 
@@ -103,8 +104,8 @@
             inline bool hasReturnvalue() const { return this->hasReturnValue_; }
             inline FunctionType getType() const { return this->type_; }
-            inline MultiType getReturnvalue() const { return this->returnedValue_; }
-
-            std::string getTypenameParam(unsigned int param) const { return (param < 5) ? this->typeParam_[param] : ""; }
-            std::string getTypenameReturnvalue() const { return this->typeReturnvalue_; }
+            inline const MultiType& getReturnvalue() const { return this->returnedValue_; }
+
+            const std::string& getTypenameParam(unsigned int param) const { return (param < 5) ? this->typeParam_[param] : blankString; }
+            const std::string& getTypenameReturnvalue() const { return this->typeReturnvalue_; }
 
             virtual void evaluateParam(unsigned int index, MultiType& param) const = 0;
Index: code/trunk/src/core/Namespace.cc
===================================================================
--- code/trunk/src/core/Namespace.cc	(revision 1888)
+++ code/trunk/src/core/Namespace.cc	(revision 1889)
@@ -63,5 +63,5 @@
 
         std::string name = this->getName();
-        unsigned int pos = 0;
+        size_t pos = 0;
         while ((pos = name.find(',')) != std::string::npos)
             name.replace(pos, 1, " ");
Index: code/trunk/src/core/NamespaceNode.cc
===================================================================
--- code/trunk/src/core/NamespaceNode.cc	(revision 1888)
+++ code/trunk/src/core/NamespaceNode.cc	(revision 1889)
@@ -56,5 +56,5 @@
         else
         {
-            unsigned int pos = name.find("::");
+            size_t pos = name.find("::");
             std::string firstPart = name;
             std::string secondPart;
Index: code/trunk/src/core/Script.cc
===================================================================
--- code/trunk/src/core/Script.cc	(revision 1888)
+++ code/trunk/src/core/Script.cc	(revision 1889)
@@ -33,4 +33,6 @@
 
 #include "CoreIncludes.h"
+
+#include "util/String.h"
 
 #include "lua/lua.hpp"
@@ -131,34 +133,15 @@
   }
 
-  unsigned int Script::getNextQuote(const std::string& text, unsigned int start)
-  {
-    unsigned int quote = start - 1;
-
-    while ((quote = text.find('\"', quote + 1)) != std::string::npos)
-    {
-      unsigned int backslash = quote;
-      unsigned int numbackslashes = 0;
-      for (; backslash > 0; backslash--, numbackslashes++)
-        if (text[backslash - 1] != '\\')
-          break;
-
-      if (numbackslashes % 2 == 0)
-        break;
-    }
-
-    return quote;
-  }
-
   std::string Script::replaceLuaTags(const std::string& text)
   {
     // chreate map with all Lua tags
-    std::map<unsigned int, bool> luaTags;
-    {
-      unsigned int pos = 0;
+    std::map<size_t, bool> luaTags;
+    {
+      size_t pos = 0;
       while ((pos = text.find("<?lua", pos)) != std::string::npos)
         luaTags[pos++] = true;
     }
     {
-      unsigned int pos = 0;
+      size_t pos = 0;
       while ((pos = text.find("?>", pos)) != std::string::npos)
         luaTags[pos++] = false;
@@ -167,8 +150,8 @@
     // erase all tags from the map that are between two quotes
     {
-      std::map<unsigned int, bool>::iterator it = luaTags.begin();
-      std::map<unsigned int, bool>::iterator it2 = it;
+      std::map<size_t, bool>::iterator it = luaTags.begin();
+      std::map<size_t, bool>::iterator it2 = it;
       bool bBetweenQuotes = false;
-      unsigned int pos = 0;
+      size_t pos = 0;
       while ((pos = getNextQuote(text, pos)) != std::string::npos)
       {
@@ -193,5 +176,5 @@
     {
       bool expectedValue = true;
-      for (std::map<unsigned int, bool>::iterator it = luaTags.begin(); it != luaTags.end(); ++it)
+      for (std::map<size_t, bool>::iterator it = luaTags.begin(); it != luaTags.end(); ++it)
       {
         if (it->second == expectedValue)
@@ -212,8 +195,8 @@
     std::string output;
     {
-      std::map<unsigned int, bool>::iterator it = luaTags.begin();
+      std::map<size_t, bool>::iterator it = luaTags.begin();
       bool bInPrintFunction = true;
-      unsigned int start = 0;
-      unsigned int end = 0;
+      size_t start = 0;
+      size_t end = 0;
 
       do
@@ -231,9 +214,9 @@
           std::string temp = text.substr(start, end - start);
           {
-            unsigned int pos = 0;
+            size_t pos = 0;
             while ((pos = temp.find('[', pos)) != std::string::npos)
             {
               unsigned int tempCounter = 1;
-              unsigned int tempPos = pos++;
+              size_t tempPos = pos++;
               while(temp[++tempPos] == '=') {
                 tempCounter++;
@@ -250,9 +233,9 @@
           }
           {
-            unsigned int pos = 0;
+            size_t pos = 0;
             while ((pos = temp.find(']', pos)) != std::string::npos)
             {
               unsigned int tempCounter = 1;
-              unsigned int tempPos = pos++;
+              size_t tempPos = pos++;
               while(temp[++tempPos] == '=') {
                 tempCounter++;
Index: code/trunk/src/core/Script.h
===================================================================
--- code/trunk/src/core/Script.h	(revision 1888)
+++ code/trunk/src/core/Script.h	(revision 1889)
@@ -76,5 +76,4 @@
     inline void clearLuaOutput() { output_ = ""; }
 
-    unsigned int getNextQuote(const std::string& text, unsigned int start);
     std::string replaceLuaTags(const std::string& text);
 
Index: code/trunk/src/core/XMLPort.h
===================================================================
--- code/trunk/src/core/XMLPort.h	(revision 1888)
+++ code/trunk/src/core/XMLPort.h	(revision 1889)
@@ -83,5 +83,5 @@
 */
 #define XMLPortParamTemplate(classname, paramname, loadfunction, savefunction, xmlelement, mode, ...) \
-    XMLPortParamGeneric(xmlcontainer##loadfunction##savefunction, classname, classname, this, paramname, orxonox::createExecutor(orxonox::createFunctor< __VA_ARGS__ >(&classname::loadfunction), std::string( #classname ) + "::" + #loadfunction), orxonox::createExecutor(orxonox::createFunctor(&classname::savefunction), std::string( #classname ) + "::" + #savefunction), xmlelement, mode)
+    XMLPortParamGeneric(xmlcontainer##loadfunction##savefunction, classname, classname, this, paramname, orxonox::createExecutor(orxonox::createFunctor<classname, __VA_ARGS__ >(&classname::loadfunction), std::string( #classname ) + "::" + #loadfunction), orxonox::createExecutor(orxonox::createFunctor(&classname::savefunction), std::string( #classname ) + "::" + #savefunction), xmlelement, mode)
 
 // --------------------
@@ -105,5 +105,5 @@
 */
 #define XMLPortParamLoadOnlyTemplate(classname, paramname, loadfunction, xmlelement, mode, ...) \
-    XMLPortParamGeneric(xmlcontainer##loadfunction##0, classname, classname, this, paramname, orxonox::createExecutor(orxonox::createFunctor< __VA_ARGS__ >(&classname::loadfunction), std::string( #classname ) + "::" + #loadfunction), 0, xmlelement, mode)
+    XMLPortParamGeneric(xmlcontainer##loadfunction##0, classname, classname, this, paramname, orxonox::createExecutor(orxonox::createFunctor<classname, __VA_ARGS__ >(&classname::loadfunction), std::string( #classname ) + "::" + #loadfunction), 0, xmlelement, mode)
 
 // ------------------
@@ -135,5 +135,5 @@
 */
 #define XMLPortParamExternTemplate(classname, externclass, object, paramname, loadfunction, savefunction, xmlelement, mode, ...) \
-    XMLPortParamGeneric(xmlcontainer##loadfunction##savefunction, classname, externclass, object, paramname, orxonox::createExecutor(orxonox::createFunctor< __VA_ARGS__ >(&externclass::loadfunction), std::string( #externclass ) + "::" + #loadfunction), orxonox::createExecutor(orxonox::createFunctor(&externclass::savefunction), std::string( #externclass ) + "::" + #savefunction), xmlelement, mode);
+    XMLPortParamGeneric(xmlcontainer##loadfunction##savefunction, classname, externclass, object, paramname, orxonox::createExecutor(orxonox::createFunctor<externclass, __VA_ARGS__ >(&externclass::loadfunction), std::string( #externclass ) + "::" + #loadfunction), orxonox::createExecutor(orxonox::createFunctor(&externclass::savefunction), std::string( #externclass ) + "::" + #savefunction), xmlelement, mode);
 
 // -------------------
Index: code/trunk/src/orxonox/objects/WorldEntity.cc
===================================================================
--- code/trunk/src/orxonox/objects/WorldEntity.cc	(revision 1888)
+++ code/trunk/src/orxonox/objects/WorldEntity.cc	(revision 1889)
@@ -113,9 +113,9 @@
         SUPER(WorldEntity, XMLPort, xmlelement, mode);
 
-        XMLPortParamExternTemplate(WorldEntity, Ogre::Node, this->node_, "position", setPosition, getPosition, xmlelement, mode, Ogre::Node, const Vector3&);
+        XMLPortParamExternTemplate(WorldEntity, Ogre::Node, this->node_, "position", setPosition, getPosition, xmlelement, mode, const Vector3&);
         XMLPortParamLoadOnly(WorldEntity, "direction", setDirectionSimple, xmlelement, mode);
         XMLPortParamLoadOnly(WorldEntity, "yawpitchroll", setYawPitchRoll, xmlelement, mode);
         XMLPortParam(WorldEntity, "scale", setScale, getScale, xmlelement, mode);
-        XMLPortParamTemplate(WorldEntity, "rotationAxis", setRotationAxis, getRotationAxis, xmlelement, mode, WorldEntity, const Vector3&);
+        XMLPortParamTemplate(WorldEntity, "rotationAxis", setRotationAxis, getRotationAxis, xmlelement, mode, const Vector3&);
         XMLPortParam(WorldEntity, "rotationRate", setRotationRate, getRotationRate, xmlelement, mode);
 
Index: code/trunk/src/util/Convert.h
===================================================================
--- code/trunk/src/util/Convert.h	(revision 1888)
+++ code/trunk/src/util/Convert.h	(revision 1889)
@@ -512,5 +512,5 @@
     static bool convert(orxonox::Vector2* output, const std::string& input)
     {
-        unsigned int opening_parenthesis, closing_parenthesis = input.find(')');
+        size_t opening_parenthesis, closing_parenthesis = input.find(')');
         if ((opening_parenthesis = input.find('(')) == std::string::npos) { opening_parenthesis = 0; } else { opening_parenthesis++; }
 
@@ -536,5 +536,5 @@
     static bool convert(orxonox::Vector3* output, const std::string& input)
     {
-        unsigned int opening_parenthesis, closing_parenthesis = input.find(')');
+        size_t opening_parenthesis, closing_parenthesis = input.find(')');
         if ((opening_parenthesis = input.find('(')) == std::string::npos) { opening_parenthesis = 0; } else { opening_parenthesis++; }
 
@@ -562,5 +562,5 @@
     static bool convert(orxonox::Vector4* output, const std::string& input)
     {
-        unsigned int opening_parenthesis, closing_parenthesis = input.find(')');
+        size_t opening_parenthesis, closing_parenthesis = input.find(')');
         if ((opening_parenthesis = input.find('(')) == std::string::npos) { opening_parenthesis = 0; } else { opening_parenthesis++; }
 
@@ -590,5 +590,5 @@
     static bool convert(orxonox::Quaternion* output, const std::string& input)
     {
-        unsigned int opening_parenthesis, closing_parenthesis = input.find(')');
+        size_t opening_parenthesis, closing_parenthesis = input.find(')');
         if ((opening_parenthesis = input.find('(')) == std::string::npos) { opening_parenthesis = 0; } else { opening_parenthesis++; }
 
@@ -618,5 +618,5 @@
     static bool convert(orxonox::ColourValue* output, const std::string& input)
     {
-        unsigned int opening_parenthesis, closing_parenthesis = input.find(')');
+        size_t opening_parenthesis, closing_parenthesis = input.find(')');
         if ((opening_parenthesis = input.find('(')) == std::string::npos) { opening_parenthesis = 0; } else { opening_parenthesis++; }
 
Index: code/trunk/src/util/String.cc
===================================================================
--- code/trunk/src/util/String.cc	(revision 1888)
+++ code/trunk/src/util/String.cc	(revision 1889)
@@ -48,5 +48,5 @@
 void strip(std::string* str)
 {
-    unsigned int pos;
+    size_t pos;
     while ((pos = (*str).find(" ")) < (*str).length())
         (*str).erase(pos, 1);
@@ -76,8 +76,8 @@
 std::string removeTrailingWhitespaces(const std::string& str)
 {
-    unsigned int pos1 = 0;
+    size_t pos1 = 0;
     int pos2 = str.size() - 1;
     for (; pos1 < str.size() && (str[pos1] == ' ' || str[pos1] == '\t' || str[pos1] == '\n'); pos1++);
-    for (; pos2 > 0          && (str[pos2] == ' ' || str[pos2] == '\t' || str[pos2] == '\n'); pos2--);
+    for (; pos2 != 0         && (str[pos2] == ' ' || str[pos2] == '\t' || str[pos2] == '\n'); pos2--);
     return str.substr(pos1, pos2 - pos1 + 1);
 }
@@ -89,12 +89,12 @@
     @return The position of the next quote (std::string::npos if there is no next quote)
 */
-unsigned int getNextQuote(const std::string& str, unsigned int start)
-{
-    unsigned int quote = start - 1;
+size_t getNextQuote(const std::string& str, size_t start)
+{
+    size_t quote = start - 1;
 
     while ((quote = str.find('\"', quote + 1)) != std::string::npos)
     {
-        unsigned int backslash = quote;
-        unsigned int numbackslashes = 0;
+        size_t backslash = quote;
+        size_t numbackslashes = 0;
         for (; backslash > 0; backslash--, numbackslashes++)
             if (str[backslash - 1] != '\\')
@@ -114,11 +114,11 @@
     @return True if pos is between two quotes
 */
-bool isBetweenQuotes(const std::string& str, unsigned int pos)
+bool isBetweenQuotes(const std::string& str, size_t pos)
 {
     if (pos == std::string::npos)
         return false;
 
-    unsigned int quotecount = 0;
-    unsigned int quote = (unsigned int)-1;
+    size_t quotecount = 0;
+    size_t quote = (size_t)-1;
     while ((quote = getNextQuote(str, quote + 1)) < pos)
     {
@@ -141,6 +141,6 @@
 bool hasStringBetweenQuotes(const std::string& str)
 {
-    unsigned int pos1 = getNextQuote(str, 0);
-    unsigned int pos2 = getNextQuote(str, pos1 + 1);
+    size_t pos1 = getNextQuote(str, 0);
+    size_t pos2 = getNextQuote(str, pos1 + 1);
     return (pos1 != std::string::npos && pos2 != std::string::npos && pos2 > pos1 + 1);
 }
@@ -153,6 +153,6 @@
 std::string getStringBetweenQuotes(const std::string& str)
 {
-    unsigned int pos1 = getNextQuote(str, 0);
-    unsigned int pos2 = getNextQuote(str, pos1 + 1);
+    size_t pos1 = getNextQuote(str, 0);
+    size_t pos2 = getNextQuote(str, pos1 + 1);
     if (pos1 != std::string::npos && pos2 != std::string::npos)
         return str.substr(pos1, pos2 - pos1 + 1);
@@ -168,8 +168,8 @@
 std::string stripEnclosingQuotes(const std::string& str)
 {
-    unsigned int start = std::string::npos;
-    unsigned int end = 0;
-
-    for (unsigned int pos = 0; (pos < str.size()) && (pos < std::string::npos); pos++)
+    size_t start = std::string::npos;
+    size_t end = 0;
+
+    for (size_t pos = 0; (pos < str.size()) && (pos < std::string::npos); pos++)
     {
         if (str[pos] == '"')
@@ -183,5 +183,5 @@
     }
 
-    for (unsigned int pos = str.size() - 1; pos < std::string::npos; pos--)
+    for (size_t pos = str.size() - 1; pos < std::string::npos; pos--)
     {
         if (str[pos] == '"')
@@ -290,14 +290,14 @@
     std::string output = str;
 
-    for (unsigned int pos = 0; (pos = output.find('\\', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\\\"); }
-    for (unsigned int pos = 0; (pos = output.find('\n', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\n"); }
-    for (unsigned int pos = 0; (pos = output.find('\t', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\t"); }
-    for (unsigned int pos = 0; (pos = output.find('\v', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\v"); }
-    for (unsigned int pos = 0; (pos = output.find('\b', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\b"); }
-    for (unsigned int pos = 0; (pos = output.find('\r', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\r"); }
-    for (unsigned int pos = 0; (pos = output.find('\f', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\f"); }
-    for (unsigned int pos = 0; (pos = output.find('\a', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\a"); }
-    for (unsigned int pos = 0; (pos = output.find('"', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\\""); }
-    for (unsigned int pos = 0; (pos = output.find('\0', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\0"); }
+    for (size_t pos = 0; (pos = output.find('\\', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\\\"); }
+    for (size_t pos = 0; (pos = output.find('\n', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\n"); }
+    for (size_t pos = 0; (pos = output.find('\t', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\t"); }
+    for (size_t pos = 0; (pos = output.find('\v', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\v"); }
+    for (size_t pos = 0; (pos = output.find('\b', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\b"); }
+    for (size_t pos = 0; (pos = output.find('\r', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\r"); }
+    for (size_t pos = 0; (pos = output.find('\f', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\f"); }
+    for (size_t pos = 0; (pos = output.find('\a', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\a"); }
+    for (size_t pos = 0; (pos = output.find('"', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\\""); }
+    for (size_t pos = 0; (pos = output.find('\0', pos)) < std::string::npos; pos += 2) { output.replace(pos, 1, "\\0"); }
 
     return output;
@@ -315,5 +315,5 @@
 
     std::string output = "";
-    for (unsigned int pos = 0; pos < str.size() - 1; )
+    for (size_t pos = 0; pos < str.size() - 1; )
     {
         if (str[pos] == '\\')
@@ -345,5 +345,5 @@
 void lowercase(std::string* str)
 {
-    for (unsigned int i = 0; i < str->size(); ++i)
+    for (size_t i = 0; i < str->size(); ++i)
     {
         (*str)[i] = (char)tolower((*str)[i]);
@@ -369,5 +369,5 @@
 void uppercase(std::string* str)
 {
-    for (unsigned int i = 0; i < str->size(); ++i)
+    for (size_t i = 0; i < str->size(); ++i)
     {
         (*str)[i] = (char)toupper((*str)[i]);
@@ -421,5 +421,5 @@
     @param len Maximal number of chars to compare
 */
-int nocaseCmp(const std::string& s1, const std::string& s2, unsigned int len)
+int nocaseCmp(const std::string& s1, const std::string& s2, size_t len)
 {
     if (len == 0)
@@ -466,5 +466,5 @@
     @return The position
 */
-unsigned int getCommentPosition(const std::string& str)
+size_t getCommentPosition(const std::string& str)
 {
     return getNextCommentPosition(str, 0);
@@ -477,7 +477,7 @@
     @return The position
 */
-unsigned int getNextCommentPosition(const std::string& str, unsigned int start)
-{
-    for (unsigned int i = start; i < str.size(); i++)
+size_t getNextCommentPosition(const std::string& str, size_t start)
+{
+    for (size_t i = start; i < str.size(); i++)
         if (isComment(str.substr(i)))
             return i;
Index: code/trunk/src/util/String.h
===================================================================
--- code/trunk/src/util/String.h	(revision 1888)
+++ code/trunk/src/util/String.h	(revision 1889)
@@ -42,38 +42,38 @@
 extern _UtilExport std::string blankString;
 
-_UtilExport void         strip(std::string* str);
-_UtilExport std::string  getStripped(const std::string& str);
+_UtilExport void        strip(std::string* str);
+_UtilExport std::string getStripped(const std::string& str);
 
-_UtilExport std::string  removeTrailingWhitespaces(const std::string& str);
+_UtilExport std::string removeTrailingWhitespaces(const std::string& str);
 
-_UtilExport unsigned int getNextQuote(const std::string& str, unsigned int start);
-_UtilExport bool         isBetweenQuotes(const std::string& str, unsigned int pos);
+_UtilExport size_t      getNextQuote(const std::string& str, size_t start);
+_UtilExport bool        isBetweenQuotes(const std::string& str, size_t pos);
 
-_UtilExport bool         hasStringBetweenQuotes(const std::string& str);
-_UtilExport std::string  getStringBetweenQuotes(const std::string& str);
+_UtilExport bool        hasStringBetweenQuotes(const std::string& str);
+_UtilExport std::string getStringBetweenQuotes(const std::string& str);
 
-_UtilExport std::string  stripEnclosingQuotes(const std::string& str);
-_UtilExport std::string  stripEnclosingBraces(const std::string& str);
+_UtilExport std::string stripEnclosingQuotes(const std::string& str);
+_UtilExport std::string stripEnclosingBraces(const std::string& str);
 
-_UtilExport bool         isEmpty(const std::string& str);
-_UtilExport bool         isComment(const std::string& str);
-_UtilExport bool         isNumeric(const std::string& str);
+_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);
-_UtilExport std::string  removeSlashes(const std::string& str);
+_UtilExport std::string addSlashes(const std::string& str);
+_UtilExport std::string removeSlashes(const std::string& str);
 
-_UtilExport void         lowercase(std::string* str);
-_UtilExport std::string  getLowercase(const std::string& str);
+_UtilExport void        lowercase(std::string* str);
+_UtilExport std::string getLowercase(const std::string& str);
 
-_UtilExport void         uppercase(std::string* str);
-_UtilExport std::string  getUppercase(const std::string& str);
+_UtilExport void        uppercase(std::string* str);
+_UtilExport std::string getUppercase(const std::string& str);
 
-_UtilExport int          nocaseCmp(const std::string& s1, const std::string& s2);
-_UtilExport int          nocaseCmp(const std::string& s1, const std::string& s2, unsigned int len);
+_UtilExport int         nocaseCmp(const std::string& s1, const std::string& s2);
+_UtilExport int         nocaseCmp(const std::string& s1, const std::string& s2, size_t len);
 
-_UtilExport bool         hasComment(const std::string& str);
-_UtilExport std::string  getComment(const std::string& str);
-_UtilExport unsigned int getCommentPosition(const std::string& str);
-_UtilExport unsigned int getNextCommentPosition(const std::string& str, unsigned int start = 0);
+_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);
 
 #endif /* _Util_String_H__ */
