OSDN Git Service

don't write if received invalid data.
authorikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Sun, 27 Jun 2004 11:44:32 +0000 (11:44 +0000)
committerikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Sun, 27 Jun 2004 11:44:32 +0000 (11:44 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/kita/kita/trunk@1200 56b19765-1e22-0410-a548-a0f45d66c51a

kita/src/libkita/access.cpp
kita/src/libkita/access.h

index ab83073..23371bb 100644 (file)
@@ -71,7 +71,10 @@ void Access::writeCacheData( const KURL& url )
         m_threadData = m_orgData + m_threadData;
     }
     m_orgData = m_threadData;
-
+    if ( m_invalidDataReceived ) {
+        return;
+    }
+    
     QString cachePath = Kita::Cache::getPath( url );
     FILE *fs = fopen( QFile::encodeName( cachePath ), "w" );
     if ( !fs ) return ;
@@ -92,6 +95,7 @@ QString Access::getupdate()
     QString retstr;
     m_threadData = "";
     m_firstReceive = FALSE;
+    m_invalidDataReceived = FALSE;
 
     if ( KURL( getURL ).protocol() != "k2ch" ) {
         KIO::SlaveConfig::self() ->setConfigData( "http",
@@ -257,6 +261,9 @@ void Access::slotReceiveThreadData( KIO::Job*, const QByteArray& data )
     QString cstr( data );
     /* If this is the first call at resumption, remove LF at head. */
     if(m_firstReceive) {
+        if ( cstr[0] != '\n' ) {
+            m_invalidDataReceived = TRUE;
+        }
        cstr = cstr.mid(1);
     }
     m_firstReceive = FALSE;
index 8f129f8..697aab3 100644 (file)
@@ -56,6 +56,7 @@ namespace Kita
         QString m_header;
         QString m_orgData;
         bool m_firstReceive;
+        bool m_invalidDataReceived;
         static QCString getCacheData( const KURL& url );
 
     private slots: