diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-05-15 04:27:14 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-05-15 04:27:14 +0000 |
commit | c92a8f21a62539a3f8811a952ae6c6a80570aa70 (patch) | |
tree | b76b4ce817a4fb169dfb69caa37db2cbb5c36a4c /io.c | |
parent | 2046e06513f6998359174ccd8e46fba3acef9fc4 (diff) |
* io.c (set_stdio): better message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r-- | io.c | 17 |
1 files changed, 15 insertions, 2 deletions
@@ -2767,8 +2767,21 @@ set_stdio(val, id, var) ID id; VALUE *var; { - rb_warn("assignment to %s is deprecated; use STDIN.reopen() instead", rb_id2name(id)); - rb_name_error(id, "%s is a read-only variable", rb_id2name(id)); + char *vn = rb_id2name(id); + char *cn = "IO#"; + + if (strlen(vn) > 5) { + switch (vn[4]) { + case 'i': + cn = "STDIN."; break; + case 'o': + cn = "STDOUT."; break; + case 'e': + cn = "STDERR."; break; + } + } + rb_warn("assignment to %s is deprecated; use %sreopen() instead", vn, cn); + rb_name_error(id, "%s is a read-only variable", vn); } static VALUE |