OSDN Git Service

fix: null msg
authorikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Wed, 4 May 2005 05:14:23 +0000 (05:14 +0000)
committerikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Wed, 4 May 2005 05:14:23 +0000 (05:14 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/kita/kita/trunk@1721 56b19765-1e22-0410-a548-a0f45d66c51a

kita/src/write/writeview.cpp

index 313c076..f4e5bb7 100644 (file)
@@ -666,6 +666,8 @@ int KitaWriteView::resultCode( const QString& response ) const
 /* private */
 QString KitaWriteView::resultMessage( const QString& response ) const
 {
+    QRegExp tags( "(<[^<]+>|</[^<]+>)" );
+    
     if ( m_bbstype == Kita::Board_FlashCGI ) {
 
         QRegExp regexp( "<blockquote>(.*)</blockquote>" );
@@ -677,10 +679,19 @@ QString KitaWriteView::resultMessage( const QString& response ) const
         return QString::null;
     }
 
-    QRegExp regexp( "<b>([^<]*)</b>" );
-    int pos = regexp.search( response );
-    if ( pos != -1 ) {
-        return regexp.cap( 1 );
+    {
+        QRegExp bold_start( "<b>" );
+        QRegExp bold_end( "</b>" );
+        int startPos = bold_start.search( response );
+        if ( startPos != -1 ) {
+            startPos += 3;
+            int endPos = bold_end.search( response );
+            if ( endPos != -1 && startPos < endPos ) {
+                QString message = response.mid( startPos, endPos - startPos );
+                message.remove( tags );
+                return message;
+            }
+        }
     }
 
     QRegExp body_regexp( "<body>([^<]*)</body>" );