]> git.saurik.com Git - wxWidgets.git/commitdiff
No changes, just remove a level of indentation in wxHtmlTagsCache ctor.
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 13 Jan 2011 14:49:44 +0000 (14:49 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 13 Jan 2011 14:49:44 +0000 (14:49 +0000)
Get rid of characters not starting a tag immediately in the beginning of the
loop instead of putting the entire loop body inside an if statement. This
doesn't change anything (this becomes more apparent if the patch is viewed
with "ignore white space changes" option) except making the code easier to
read and modify.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66677 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/html/htmltag.cpp

index 6646ac1ed7f1a6dc09d38b2de4818342e23b2a27..b2af5eff7f1d738cce91a734d9909bc892e6c2f1 100644 (file)
@@ -85,117 +85,119 @@ wxHtmlTagsCache::wxHtmlTagsCache(const wxString& source)
     const wxString::const_iterator end = source.end();
     for ( wxString::const_iterator pos = source.begin(); pos < end; ++pos )
     {
-        if (*pos == wxT('<'))   // tag found:
-        {
-            // don't cache comment tags
-            if ( wxHtmlParser::SkipCommentTag(pos, source.end()) )
-                continue;
+        if (*pos != wxT('<'))
+            continue;
 
-            size_t tg = Cache().size();
-            Cache().push_back(wxHtmlCacheItem());
+        // possible tag start found:
 
-            wxString::const_iterator stpos = pos++;
-            Cache()[tg].Key = stpos;
+        // don't cache comment tags
+        if ( wxHtmlParser::SkipCommentTag(pos, end) )
+            continue;
 
-            int i;
-            for ( i = 0;
-                  pos < end && i < (int)WXSIZEOF(tagBuffer) - 1 &&
-                  *pos != wxT('>') && !wxIsspace(*pos);
-                  ++i, ++pos )
-            {
-                tagBuffer[i] = (wxChar)wxToupper(*pos);
-            }
-            tagBuffer[i] = wxT('\0');
+        size_t tg = Cache().size();
+        Cache().push_back(wxHtmlCacheItem());
+
+        wxString::const_iterator stpos = pos++;
+        Cache()[tg].Key = stpos;
+
+        int i;
+        for ( i = 0;
+              pos < end && i < (int)WXSIZEOF(tagBuffer) - 1 &&
+              *pos != wxT('>') && !wxIsspace(*pos);
+              ++i, ++pos )
+        {
+            tagBuffer[i] = (wxChar)wxToupper(*pos);
+        }
+        tagBuffer[i] = wxT('\0');
 
-            Cache()[tg].Name = new wxChar[i+1];
-            memcpy(Cache()[tg].Name, tagBuffer, (i+1)*sizeof(wxChar));
+        Cache()[tg].Name = new wxChar[i+1];
+        memcpy(Cache()[tg].Name, tagBuffer, (i+1)*sizeof(wxChar));
 
-            while (pos < end && *pos != wxT('>'))
-                ++pos;
+        while (pos < end && *pos != wxT('>'))
+            ++pos;
 
-            if ((stpos+1) < end && *(stpos+1) == wxT('/')) // ending tag:
+        if ((stpos+1) < end && *(stpos+1) == wxT('/')) // ending tag:
+        {
+            Cache()[tg].type = wxHtmlCacheItem::Type_EndingTag;
+            // find matching begin tag:
+            for (i = tg; i >= 0; i--)
             {
-                Cache()[tg].type = wxHtmlCacheItem::Type_EndingTag;
-                // find matching begin tag:
-                for (i = tg; i >= 0; i--)
+                if ((Cache()[i].type == wxHtmlCacheItem::Type_NoMatchingEndingTag) && (wxStrcmp(Cache()[i].Name, tagBuffer+1) == 0))
                 {
-                    if ((Cache()[i].type == wxHtmlCacheItem::Type_NoMatchingEndingTag) && (wxStrcmp(Cache()[i].Name, tagBuffer+1) == 0))
-                    {
-                        Cache()[i].type = wxHtmlCacheItem::Type_Normal;
-                        Cache()[i].End1 = stpos;
-                        Cache()[i].End2 = pos + 1;
-                        break;
-                    }
+                    Cache()[i].type = wxHtmlCacheItem::Type_Normal;
+                    Cache()[i].End1 = stpos;
+                    Cache()[i].End2 = pos + 1;
+                    break;
                 }
             }
-            else
-            {
-                Cache()[tg].type = wxHtmlCacheItem::Type_NoMatchingEndingTag;
+        }
+        else
+        {
+            Cache()[tg].type = wxHtmlCacheItem::Type_NoMatchingEndingTag;
 
-                if (wxIsCDATAElement(tagBuffer))
+            if (wxIsCDATAElement(tagBuffer))
+            {
+                // store the orig pos in case we are missing the closing
+                // tag (see below)
+                const wxString::const_iterator old_pos = pos;
+                bool foundCloseTag = false;
+
+                // find next matching tag
+                int tag_len = wxStrlen(tagBuffer);
+                while (pos < end)
                 {
-                    // store the orig pos in case we are missing the closing
-                    // tag (see below)
-                    const wxString::const_iterator old_pos = pos;
-                    bool foundCloseTag = false;
-
-                    // find next matching tag
-                    int tag_len = wxStrlen(tagBuffer);
-                    while (pos < end)
+                    // find the ending tag
+                    while (pos + 1 < end &&
+                           (*pos != '<' || *(pos+1) != '/'))
+                        ++pos;
+                    if (*pos == '<')
+                        ++pos;
+
+                    // see if it matches
+                    int match_pos = 0;
+                    while (pos < end && match_pos < tag_len )
                     {
-                        // find the ending tag
-                        while (pos + 1 < end &&
-                               (*pos != '<' || *(pos+1) != '/'))
-                            ++pos;
-                        if (*pos == '<')
-                            ++pos;
-
-                        // see if it matches
-                        int match_pos = 0;
-                        while (pos < end && match_pos < tag_len )
+                        wxChar c = *pos;
+                        if ( c == '>' || c == '<' )
+                            break;
+
+                        // cast to wxChar needed to suppress warning in
+                        // Unicode build
+                        if ((wxChar)wxToupper(c) == tagBuffer[match_pos])
                         {
-                            wxChar c = *pos;
-                            if ( c == '>' || c == '<' )
-                                break;
-
-                            // cast to wxChar needed to suppress warning in
-                            // Unicode build
-                            if ((wxChar)wxToupper(c) == tagBuffer[match_pos])
-                            {
-                                ++match_pos;
-                            }
-                            else if (c == wxT(' ') || c == wxT('\n') ||
-                                c == wxT('\r') || c == wxT('\t'))
-                            {
-                                // need to skip over these
-                            }
-                            else
-                            {
-                                match_pos = 0;
-                            }
-                            ++pos;
+                            ++match_pos;
                         }
-
-                        // found a match
-                        if (match_pos == tag_len)
+                        else if (c == wxT(' ') || c == wxT('\n') ||
+                            c == wxT('\r') || c == wxT('\t'))
                         {
-                            pos = pos - tag_len - 3;
-                            foundCloseTag = true;
-                            break;
+                            // need to skip over these
                         }
-                        else // keep looking for the closing tag
+                        else
                         {
-                            ++pos;
+                            match_pos = 0;
                         }
+                        ++pos;
                     }
-                    if (!foundCloseTag)
+
+                    // found a match
+                    if (match_pos == tag_len)
                     {
-                        // we didn't find closing tag; this means the markup
-                        // is incorrect and the best thing we can do is to
-                        // ignore the unclosed tag and continue parsing as if
-                        // it didn't exist:
-                        pos = old_pos;
+                        pos = pos - tag_len - 3;
+                        foundCloseTag = true;
+                        break;
                     }
+                    else // keep looking for the closing tag
+                    {
+                        ++pos;
+                    }
+                }
+                if (!foundCloseTag)
+                {
+                    // we didn't find closing tag; this means the markup
+                    // is incorrect and the best thing we can do is to
+                    // ignore the unclosed tag and continue parsing as if
+                    // it didn't exist:
+                    pos = old_pos;
                 }
             }
         }