Fix string_utils.cc 65/35965/5
authorTomasz Iwanek <t.iwanek@samsung.com>
Fri, 20 Feb 2015 15:16:39 +0000 (16:16 +0100)
committerTomasz Iwanek <t.iwanek@samsung.com>
Fri, 6 Mar 2015 10:53:26 +0000 (02:53 -0800)
This commit fixes mistake in EqualsUTF8Char function and
removes not needed parameter from CollapseWhitespaceUTF8

Change-Id: Idee35b3df00da7dd4938d0151bbd6c9a3ca6132c

src/utils/string_util.cc
src/utils/string_util.h
src/widget-manifest-parser/manifest_util.cc

index d90a9ec..1bc3c96 100644 (file)
@@ -77,6 +77,7 @@ bool EqualsUTF8Char(const char* str, const char* character) {
     if (character[i] != str[i]) {
       return false;
     }
+    ++i;
   }
   return true;
 }
@@ -98,18 +99,15 @@ inline bool IsWhitespaceUTF8(const char* c) {
 namespace common_installer {
 namespace utils {
 
-std::string CollapseWhitespaceUTF8(
-    const std::string& text,
-    bool trim_sequences_with_line_breaks) {
+std::string CollapseWhitespaceUTF8(const std::string& text) {
   std::string result;
   result.resize(text.size());
 
   // Set flags to pretend we're already in a trimmed whitespace sequence, so we
   // will trim any leading whitespace.
   bool in_whitespace = true;
-  bool already_trimmed = true;
-
   int chars_written = 0;
+
   for (unsigned i = 0; i < text.length();) {
     int length = UTF8CharLength(&text[i]);
     if (IsWhitespaceUTF8(&text[i])) {
@@ -118,25 +116,18 @@ std::string CollapseWhitespaceUTF8(
         in_whitespace = true;
         result[chars_written++] = ' ';
       }
-      if (trim_sequences_with_line_breaks && !already_trimmed &&
-          ((text[i] == '\n') || (text[i] == '\r'))) {
-        // Whitespace sequences containing CR or LF are eliminated entirely.
-        already_trimmed = true;
-        --chars_written;
-      }
       // roll through UTF8 character
       i += length;
     } else {
       // Non-whitespace chracters are copied straight across.
       in_whitespace = false;
-      already_trimmed = false;
       while (length--) {
         result[chars_written++] = text[i++];
       }
     }
   }
 
-  if (in_whitespace && !already_trimmed) {
+  if (in_whitespace) {
     // Any trailing whitespace is eliminated.
     --chars_written;
   }
index 10a97ce..03905be 100644 (file)
@@ -11,8 +11,7 @@
 namespace common_installer {
 namespace utils {
 
-std::string CollapseWhitespaceUTF8(const std::string& text,
-                               bool trim_sequences_with_line_breaks);
+std::string CollapseWhitespaceUTF8(const std::string& text);
 std::string StripWrappingBidiControlCharactersUTF8(const std::string& text);
 std::string GetDirTextUTF8(const std::string& text, const std::string& dir);
 
index 9f72512..8bf8713 100644 (file)
@@ -235,7 +235,7 @@ std::unique_ptr<utils::DictionaryValue> LoadXMLNode(
       prop_value = utils::GetDirTextUTF8(prop_value, current_dir);
 
     if (IsTrimRequiredForProp(root, prop))
-      prop_value = utils::CollapseWhitespaceUTF8(prop_value, false);
+      prop_value = utils::CollapseWhitespaceUTF8(prop_value);
 
     value->SetString(
         std::string(kAttributePrefix)
@@ -305,7 +305,7 @@ std::unique_ptr<utils::DictionaryValue> LoadXMLNode(
   }
 
   if (IsTrimRequiredForElement(root))
-    text = utils::CollapseWhitespaceUTF8(text, false);
+    text = utils::CollapseWhitespaceUTF8(text);
 
   if (!text.empty())
     value->SetString(kTextKey, text);