Index: includes/file.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/file.inc,v
retrieving revision 1.90.2.1
diff -u -p -u -p -r1.90.2.1 file.inc
--- includes/file.inc	31 May 2007 05:48:58 -0000	1.90.2.1
+++ includes/file.inc	11 Dec 2007 20:23:08 -0000
@@ -223,8 +223,9 @@ function file_check_upload($source = 'up
     $file = new stdClass();
     $file->filename = trim(basename($_FILES["files"]["name"][$source]), '.');
 
-    // Create temporary name/path for newly uploaded files.
-    $file->filepath = tempnam(file_directory_temp(), 'tmp_');
+    // Create temporary name/path for newly uploaded files. On Windows, tempnam()
+    // requires an absolute path, so we use realpath().
+    $file->filepath = tempnam(realpath(file_directory_temp()), 'tmp_');
 
     $file->filemime = $_FILES["files"]["type"][$source];
 
@@ -523,7 +524,8 @@ function file_save_upload($source, $dest
  */
 function file_save_data($data, $dest, $replace = FILE_EXISTS_RENAME) {
   $temp = file_directory_temp();
-  $file = tempnam($temp, 'file');
+  // On Windows, tempnam() requires an absolute path, so we use realpath().
+  $file = tempnam(realpath($temp), 'file');
   if (!$fp = fopen($file, 'wb')) {
     drupal_set_message(t('The file could not be created.'), 'error');
     return 0;
