Under a _WIN32 build, FileTest.writable? returns true for all files
because the code assumes that a geteuid() of 0 means any file is
writable.  geteuid() returns 0 for me perhaps because I'm part of the
Administrator group, perhaps not, but in any case it doesn't mean I
can write to any file.

The patch below fixes it by making eaccess(...) fall through to just
calling access(), which is correct for _WIN32 builds.

Index: ChangeLog
===================================================================
RCS file: /src/ruby/ChangeLog,v
retrieving revision 1.1428
diff -u -r1.1428 ChangeLog
--- ChangeLog	16 Jan 2003 18:48:20 -0000	1.1428
+++ ChangeLog	17 Jan 2003 19:22:51 -0000
@@ -1,3 +1,8 @@
+2003-01-17  Matt Armstrong  <matt / lickey.com>
+
+	* file.c (eaccess): under windows, make eaccess() just call
+	  access().
+
 Fri Jan 17 03:33:42 2003  Akinori MUSHA  <knu / iDaemons.org>
 
 	* sprintf.c (rb_f_sprintf): Fix a bug caused by an uninitialized
Index: file.c
===================================================================
RCS file: /src/ruby/file.c,v
retrieving revision 1.128
diff -u -r1.128 file.c
--- file.c	16 Jan 2003 07:34:01 -0000	1.128
+++ file.c	17 Jan 2003 19:22:55 -0000
@@ -463,7 +463,7 @@
      const char *path;
      int mode;
 {
-#ifdef S_IXGRP
+#if defined(S_IXGRP) && !defined(_WIN32)
     struct stat st;
     int euid;