summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-11-06 09:05:11 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-11-06 09:05:11 +0000
commite9363272407449f7faad49b82dd72327043adecf (patch)
tree1c183ff85454194967822022b6b8cbbbdc8e2366
parent67f54e5c045bac9aa050c972e0c2950d3417e60c (diff)
downloadruby-e9363272407449f7faad49b82dd72327043adecf.tar.gz
ruby-e9363272407449f7faad49b82dd72327043adecf.tar.xz
ruby-e9363272407449f7faad49b82dd72327043adecf.zip
* io.c (rb_io_inspect): show the path also at a closed file.
[ruby-dev:21851] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--io.c14
2 files changed, 15 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 0572ef6b2..39b079f86 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Nov 6 18:05:07 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * io.c (rb_io_inspect): show the path also at a closed file.
+ [ruby-dev:21851]
+
Thu Nov 6 11:42:07 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/stringio/stringio.c (strio_set_string, strio_reopen): check
diff --git a/io.c b/io.c
index 28504c919..75c0227a1 100644
--- a/io.c
+++ b/io.c
@@ -651,13 +651,19 @@ rb_io_inspect(obj)
VALUE obj;
{
OpenFile *fptr;
- char *buf, *cname;
+ char *buf, *cname, *st = "";
+ long len;
fptr = RFILE(rb_io_taint_check(obj))->fptr;
- if (!fptr || !(fptr->f || fptr->f2) || !fptr->path) return rb_any_to_s(obj);
+ if (!fptr || !fptr->path) return rb_any_to_s(obj);
cname = rb_obj_classname(obj);
- buf = ALLOCA_N(char, strlen(cname) + strlen(fptr->path) + 5);
- sprintf(buf, "#<%s:%s>", cname, fptr->path);
+ len = strlen(cname) + strlen(fptr->path) + 5;
+ if (!(fptr->f || fptr->f2)) {
+ st = " (closed)";
+ len += 9;
+ }
+ buf = ALLOCA_N(char, len);
+ sprintf(buf, "#<%s:%s%s>", cname, fptr->path, st);
return rb_str_new2(buf);
}