diff --git a/src/backend/utils/fmgr/dfmgr.c b/src/backend/utils/fmgr/dfmgr.c
index 3a66da5dc7326fffd0fe5e447e7790ec231f6b69..676eb96647aca4be498cb83024017e981cf6092c 100644
--- a/src/backend/utils/fmgr/dfmgr.c
+++ b/src/backend/utils/fmgr/dfmgr.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/utils/fmgr/dfmgr.c,v 1.69 2004/01/19 02:06:41 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/backend/utils/fmgr/dfmgr.c,v 1.70 2004/02/17 03:35:57 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -30,7 +30,9 @@ typedef struct df_files
 {
 	struct df_files *next;		/* List link */
 	dev_t		device;			/* Device file is on */
+#ifndef WIN32 /* ensures we never again depend on this under win32 */
 	ino_t		inode;			/* Inode number of file */
+#endif
 	void	   *handle;			/* a handle for pg_dl* functions */
 	char		filename[1];	/* Full pathname of file */
 
@@ -43,7 +45,12 @@ typedef struct df_files
 static DynamicFileList *file_list = NULL;
 static DynamicFileList *file_tail = NULL;
 
+/* stat() call under Win32 returns an st_ino field, but it has no meaning */
+#ifndef WIN32
 #define SAME_INODE(A,B) ((A).st_ino == (B).inode && (A).st_dev == (B).device)
+#else
+#define SAME_INODE(A,B) false
+#endif
 
 char	   *Dynamic_library_path;
 
@@ -121,7 +128,9 @@ load_external_function(char *filename, char *funcname,
 		MemSet((char *) file_scanner, 0, sizeof(DynamicFileList));
 		strcpy(file_scanner->filename, fullname);
 		file_scanner->device = stat_buf.st_dev;
+#ifndef WIN32
 		file_scanner->inode = stat_buf.st_ino;
+#endif
 		file_scanner->next = NULL;
 
 		file_scanner->handle = pg_dlopen(fullname);