Advertisement
Guest User

jd-xmlparse.patch

a guest
Dec 4th, 2015
313
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.39 KB | None | 0 0
  1. --- a/src/jdlib/loader.cpp  2015-12-04 01:45:18.298704045 +0900
  2. +++ b/src/jdlib/loader.cpp  2015-12-04 01:46:01.157667629 +0900
  3. @@ -878,7 +878,7 @@ void Loader::run_main()
  4.                  errmsg = "skip_chunk() failed : " + m_data.url;
  5.                  goto EXIT_LOADING;
  6.              }
  7. -            if( ! read_size ) continue;
  8. +            if( ! read_size ) break;
  9.          }
  10.  
  11.          // 圧縮されていない時はそのままコールバック呼び出し
  12. --- a/src/xml/dom.cpp   2015-12-04 23:53:19.792643076 +0900
  13. +++ b/src/xml/dom.cpp   2015-12-04 23:55:07.026756042 +0900
  14. @@ -39,6 +39,7 @@ Dom::Dom( const int& type, const std::st
  15.          m_static_html_elements.insert( "br" );
  16.          m_static_html_elements.insert( "hr" );
  17.          m_static_html_elements.insert( "img" );
  18. +        m_static_html_elements.insert( "input" );
  19.          m_static_html_elements.insert( "link" );
  20.          m_static_html_elements.insert( "meta" );
  21.      }
  22. @@ -188,7 +189,7 @@ void Dom::parse( const std::string& str
  23.                      current_pos = close_tag_gt_pos + 1;
  24.  
  25.                      // タグの中身を取り出す
  26. -                    const std::string close_tag = str.substr( close_tag_lt_pos + 1, close_tag_gt_pos - close_tag_lt_pos - 1 );
  27. +                    const std::string close_tag = MISC::tolower_str( str.substr( close_tag_lt_pos + 1, close_tag_gt_pos - close_tag_lt_pos - 1 ) );
  28.  
  29.                      // タグ構造が壊れてる場合
  30.                      if( close_tag.empty() ) continue;
  31. @@ -199,10 +200,10 @@ void Dom::parse( const std::string& str
  32.                      }
  33.  
  34.                      // 空要素でない同名の開始タグを見つけたらカウントを増やす
  35. -                    if( close_tag.compare( 0, element_name.length(), element_name ) == 0
  36. +                    if( close_tag.compare( 0, name.length(), name ) == 0
  37.                       && close_tag.compare( close_tag.length() - 1, 1, "/" ) != 0 ) ++count;
  38.                      // 終了タグを見つけたらカウントを減らす
  39. -                    else if( close_tag.compare( 0, element_name.length() + 1, "/" + element_name ) == 0 ) --count;
  40. +                    else if( close_tag.compare( 0, name.length() + 1, "/" + name ) == 0 ) --count;
  41.  
  42.                      // 終了タグを見つける必要数が 0 になったらループを抜ける
  43.                      if( count <= 0 ) break;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement