summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--file.c7
2 files changed, 8 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 45a16e53bb..027f73b05e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Fri Apr 11 14:48:47 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * file.c (rb_stat): dereference using StringValuePtr().
+
+ * file.c (rb_file_s_stat): use rb_stat(). [ruby-dev:20007]
+
Fri Apr 11 10:51:08 2003 Nobuyoshi Nakada <nobu.nokada@softhome.net>
* lib/benchmark.rb (Benchmark::bm): get rid of warning.
diff --git a/file.c b/file.c
index b5747113c8..bd793c5a1b 100644
--- a/file.c
+++ b/file.c
@@ -354,10 +354,7 @@ rb_stat(file, st)
return fstat(fileno(fptr->f), st);
}
SafeStringValue(file);
-#if defined DJGPP
- if (RSTRING(file)->len == 0) return -1;
-#endif
- return stat(RSTRING(file)->ptr, st);
+ return stat(StringValuePtr(file), st);
}
static VALUE
@@ -367,7 +364,7 @@ rb_file_s_stat(klass, fname)
struct stat st;
SafeStringValue(fname);
- if (stat(RSTRING(fname)->ptr, &st) == -1) {
+ if (rb_stat(fname, &st) < 0) {
rb_sys_fail(RSTRING(fname)->ptr);
}
return stat_new(&st);