Index: system.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/system.module,v
retrieving revision 1.290
diff -u -F^f -r1.290 system.module
--- system.module	12 Feb 2006 05:34:34 -0000	1.290
+++ system.module	21 Feb 2006 14:40:01 -0000
@@ -518,8 +518,16 @@ function system_cron_settings() {
 function system_get_files_database(&$files, $type) {
   // Extract current files from database.
   $result = db_query("SELECT name, type, status, throttle, schema_version FROM {system} WHERE type = '%s'", $type);
+  $result = db_query("SELECT filename, name, type, status, throttle, schema_version FROM {system} WHERE type = '%s'", $type);
   while ($file = db_fetch_object($result)) {
     if (isset($files[$file->name]) && is_object($files[$file->name])) {
+      // Update filename in table if file has moved
+      if ($file->filename != $files[$file->name]->filename) {
+        db_query("UPDATE {system} SET filename = '%s' WHERE name = '%s'", $files[$file->name]->filename, $file->name);
+        $file->filename = $files[$file->name]->filename;
+        watchdog('file system', t('%file has moved. System tables updated accordingly.', array('%file' => $file->filename)));
+      }
+
       foreach ($file as $key => $value) {
         if (!isset($files[$file->name]) || !isset($files[$file->name]->$key)) {
           $files[$file->name]->$key = $value;
