Browse Source

Fix off-by-one error

RichardTea 5 years ago
parent
commit
4e50b05b85
1 changed files with 7 additions and 6 deletions
  1. 7 6
      code/Collada/ColladaHelper.cpp

+ 7 - 6
code/Collada/ColladaHelper.cpp

@@ -83,8 +83,10 @@ void ToCamelCase(std::string &text)
     if (text.empty())
         return;
     // Capitalise first character
-    text[0] = Assimp::ToUpper(text[0]);
-    for (auto it = text.begin(); it != text.end(); /*iterated below*/)
+    auto it = text.begin();
+    (*it) = ToUpper(*it);
+    ++it;
+    for (/*started above*/ ; it != text.end(); /*iterated below*/)
     {
         if ((*it) == '_')
         {
@@ -94,10 +96,9 @@ void ToCamelCase(std::string &text)
         }
         else
         {
-            // Make next one lower case
-            ++it;
-            if (it != text.end())
-                (*it) = ToLower(*it);
+            // Make lower case
+            (*it) = ToLower(*it);
+            ++it;               
         }
     }
 }