1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* 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
This commit is contained in:
nobu 2003-11-06 09:05:11 +00:00
parent 818d6a1e4f
commit 9fad82a6ba
2 changed files with 15 additions and 4 deletions

View file

@ -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> Thu Nov 6 11:42:07 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/stringio/stringio.c (strio_set_string, strio_reopen): check * ext/stringio/stringio.c (strio_set_string, strio_reopen): check

14
io.c
View file

@ -651,13 +651,19 @@ rb_io_inspect(obj)
VALUE obj; VALUE obj;
{ {
OpenFile *fptr; OpenFile *fptr;
char *buf, *cname; char *buf, *cname, *st = "";
long len;
fptr = RFILE(rb_io_taint_check(obj))->fptr; 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); cname = rb_obj_classname(obj);
buf = ALLOCA_N(char, strlen(cname) + strlen(fptr->path) + 5); len = strlen(cname) + strlen(fptr->path) + 5;
sprintf(buf, "#<%s:%s>", cname, fptr->path); 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); return rb_str_new2(buf);
} }