From 9fad82a6ba56b575f5f16255049393357f4f7751 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 6 Nov 2003 09:05:11 +0000 Subject: * io.c (rb_io_inspect): show the path also at a closed file. [ruby-dev:21851] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- io.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'io.c') diff --git a/io.c b/io.c index 28504c9197..75c0227a1c 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); } -- cgit v1.2.3