Index: parser_common_syndication/parser_common_syndication.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feedapi/parser_common_syndication/parser_common_syndication.module,v
retrieving revision 1.6.2.23.2.33
diff -u -p -r1.6.2.23.2.33 parser_common_syndication.module
--- parser_common_syndication/parser_common_syndication.module	21 Feb 2009 15:38:20 -0000	1.6.2.23.2.33
+++ parser_common_syndication/parser_common_syndication.module	27 Feb 2009 10:46:07 -0000
@@ -141,6 +141,11 @@ function _parser_common_syndication_cach
  *  The data pulled from the URL or FALSE if the feed does not need refresh.
  */
 function _parser_common_syndication_feedapi_get($url, $username = NULL, $password = NULL) {
+  // Intra-pagedownload cache, avoid to download the same content twice within one page download (it's possible, compatible and parse calls).
+  static $download_cache = array();
+  if (isset($download_cache[$url])) {
+    return $download_cache[$url];
+  }
   $has_etag = FALSE;
   $curl = function_exists('curl_init') && !ini_get('safe_mode');
   
@@ -236,6 +241,7 @@ function _parser_common_syndication_feed
   else {
     db_query("INSERT INTO {parser_common_syndication} (etag, last_modified, url) VALUES ('%s', '%s', '%s')", $result->headers['ETag'], $result->headers['Last-Modified'], $url);
   }
+  $download_cache[$url] = $result->data;
   return empty($result->data) ? FALSE : $result->data;
 }
 
