Index: feedapi.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feedapi/feedapi.module,v
retrieving revision 1.23.2.119.2.63
diff -u -p -r1.23.2.119.2.63 feedapi.module
--- feedapi.module	25 Jun 2009 07:52:12 -0000	1.23.2.119.2.63
+++ feedapi.module	2 Jul 2009 06:35:26 -0000
@@ -601,6 +602,9 @@ function feedapi_node_validate($form, &$
     }
     // Stick feed object into feedapi form snippet - store it in submit.
     $form_state['values']['feedapi_object'] = $feed;
+    if ($has_upload) {
+      $form_state['values']['feedapi_object']->url = str_replace($GLOBALS['base_url'], '', $form_state['values']['feedapi_object']->url);
+    }
     if (empty($form_state['values']['title']) && isset($feed->title)) {
       form_set_value($form['title'], $feed->title, $form_state);
     }
@@ -985,6 +973,10 @@ function _feedapi_call_parsers($feed, $p
   $nid = isset($feed->nid) ? $feed->nid : '';
   $parser_primary = array_shift($parsers);
   $parsers_secondary = $parsers;
+  // Normalize relative URLs according to the base URL (mostly for uploaded feeds)
+  if (!valid_url($feed->url, TRUE) && valid_url($feed->url)) {
+    $feed->url = $GLOBALS['base_url'] . $feed->url;
+  }
   if (module_exists($parser_primary)) {
     $settings_primary = isset($settings[$parser_primary]) ? $settings[$parser_primary] : array();
     $feed->feed_type =  module_invoke($parser_primary, 'feedapi_feed', 'compatible', $feed, $settings_primary);
