summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--win32/win32.c9
2 files changed, 9 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 05b8845d95..582126ec00 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun Dec 1 22:43:29 2002 Nobuyoshi Nakada <nobu.nokada@softhome.net>
+
+ * win32/win32.c (rb_w32_stat): empty path is invalid, and return
+ ENOENT rather than EBADF in such case. [ruby-talk:57177]
+
Thu Nov 28 12:08:30 2002 Akinori MUSHA <knu@iDaemons.org>
* lib/mkmf.rb: Avoid the use of "clean::" in favor of "clean:" in
diff --git a/win32/win32.c b/win32/win32.c
index c4086fe159..4ac661ecfc 100644
--- a/win32/win32.c
+++ b/win32/win32.c
@@ -2539,13 +2539,12 @@ rb_w32_stat(const char *path, struct stat *st)
*s = *p;
}
*s = '\0';
- len = strlen(buf1);
- p = CharPrev(buf1, buf1 + len);
- if( '\"' == *(--s) )
- {
- errno = EBADF;
+ len = s - buf1;
+ if (!len || '\"' == *(--s)) {
+ errno = ENOENT;
return -1;
}
+ p = CharPrev(buf1, buf1 + len);
if (isUNCRoot(buf1)) {
if (*p != '\\')