OSDN Git Service

refactoring.
authorikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Mon, 26 Jan 2004 15:39:30 +0000 (15:39 +0000)
committerikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Mon, 26 Jan 2004 15:39:30 +0000 (15:39 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/kita/kita/trunk@846 56b19765-1e22-0410-a548-a0f45d66c51a

kita/src/libkita/thread.cpp
kita/src/libkita/thread.h

index b9f4a1f..b24211b 100644 (file)
@@ -306,64 +306,78 @@ QString ThreadAccess::getCachePath( const KURL& url )
     return CEF;
 }
 
-// copied from http.cc
-// ¥­¥ã¥Ã¥·¥å¤¬¤¢¤ë¤È¤­¤Ï¤½¤ÎÆâÍƤòmalloc¤·¤¿Îΰè¤Ë¥³¥Ô¡¼¤·¤ÆÊÖ¤¹¡£
-// ¥­¥ã¥Ã¥·¥å¤¬¤Ê¤¤¤È¤­¤Ï0¤òÊÖ¤¹¡£
-char* ThreadAccess::getCacheData( const KURL& url )
+bool ThreadAccess::readCacheHeader( FILE* fs, const KURL& url )
 {
-    QString cachePath = getCachePath( url );
-
-    FILE *fs = fopen( QFile::encodeName( cachePath ), "r" );
-    if ( !fs ) {
-        return 0;
-    }
-
     char buffer[ 401 ];
-    bool ok = true;
 
     // CacheRevision
-    if ( ok && ( !fgets( buffer, 400, fs ) ) )
-        ok = false;
-    if ( ok && ( strcmp( buffer, "7\n" ) != 0 ) )
-        ok = false;
+    if ( !fgets( buffer, 400, fs ) ) {
+        return false;
+    }
+    if ( strcmp( buffer, "7\n" ) != 0 ) {
+        return false;
+    }
 
     // URL
-    if ( ok && ( !fgets( buffer, 400, fs ) ) )
-        ok = false;
-    if ( ok ) {
-        int l = strlen( buffer );
-        if ( l > 0 )
-            buffer[ l - 1 ] = 0; // Strip newline
-        if ( url.url() != buffer ) {
-            ok = false; // Hash collision
-        }
+    if ( !fgets( buffer, 400, fs ) ) {
+        return false;
+    }
+
+    int l = strlen( buffer );
+    if ( l > 0 ) {
+        buffer[ l - 1 ] = 0; // Strip newline
+    }
+
+    if ( url.url() != buffer ) {
+        return false; // Hash collision
     }
 
     // Creation Date
-    if ( ok && ( !fgets( buffer, 400, fs ) ) )
-        ok = false;
+    if ( !fgets( buffer, 400, fs ) ) {
+        return false;
+    }
 
     // Expiration Date
-    if ( ok && ( !fgets( buffer, 400, fs ) ) )
-        ok = false;
+    if ( !fgets( buffer, 400, fs ) ) {
+        return false;
+    }
 
     // ETag
-    if ( ok && ( !fgets( buffer, 400, fs ) ) )
-        ok = false;
+    if ( !fgets( buffer, 400, fs ) ) {
+        return false;
+    }
 
     // Last-Modified
-    if ( ok && ( !fgets( buffer, 400, fs ) ) )
-        ok = false;
+    if ( !fgets( buffer, 400, fs ) ) {
+        return false;
+    }
 
     // Mime-Type
-    if ( ok && ( !fgets( buffer, 400, fs ) ) )
-        ok = false;
+    if ( !fgets( buffer, 400, fs ) ) {
+        return false;
+    }
 
     // Charset
-    if ( ok && ( !fgets( buffer, 400, fs ) ) )
-        ok = false;
+    if ( !fgets( buffer, 400, fs ) ) {
+        return false;
+    }
 
-    if ( ok ) {
+    return true;
+}
+
+// copied from http.cc
+// ¥­¥ã¥Ã¥·¥å¤¬¤¢¤ë¤È¤­¤Ï¤½¤ÎÆâÍƤòmalloc¤·¤¿Îΰè¤Ë¥³¥Ô¡¼¤·¤ÆÊÖ¤¹¡£
+// ¥­¥ã¥Ã¥·¥å¤¬¤Ê¤¤¤È¤­¤Ï0¤òÊÖ¤¹¡£
+char* ThreadAccess::getCacheData( const KURL& url )
+{
+    QString cachePath = getCachePath( url );
+
+    FILE *fs = fopen( QFile::encodeName( cachePath ), "r" );
+    if ( !fs ) {
+        return 0;
+    }
+
+    if ( readCacheHeader( fs, url ) ) {
         struct stat buf;
         ::stat( QFile::encodeName( cachePath ), &buf );
         int pos = ftell( fs );
index 29aa52e..2247e3e 100644 (file)
@@ -15,6 +15,8 @@
 #include <qxml.h>
 #include <qdict.h>
 
+#include <stdio.h>
+
 namespace KIO
 {
     class Job;
@@ -116,6 +118,7 @@ namespace Kita
         char* getCacheData( const KURL& url );
         void writeCacheData( const KURL& url );
         int responseCode();
+        bool readCacheHeader( FILE* fs, const KURL& url );
 
         const Thread* m_thread;
         KIO::Job* m_currentJob;