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_ungetc): raise an exception at unread stream to

avoid unspecified behavior.  [ruby-dev:22330]

* test/ruby/test_system.rb (test_syntax): glob relatively from
  __FILE__.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5261 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2003-12-23 10:43:04 +00:00
parent 44182056f6
commit 163a6e81b2
3 changed files with 15 additions and 10 deletions

View file

@ -1,3 +1,11 @@
Tue Dec 23 19:42:59 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* io.c (rb_io_ungetc): raise an exception at unread stream to
avoid unspecified behavior. [ruby-dev:22330]
* test/ruby/test_system.rb (test_syntax): glob relatively from
__FILE__.
Tue Dec 23 18:09:40 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* pack.c (pack_pack): remove unnecessary negative value check.
@ -27,7 +35,7 @@ Tue Dec 23 14:13:51 2003 akira yamada <akira@ruby-lang.org>
* test/uri/test_generic.rb (TestGeneric::test_set_component):
added tets.
Tue Dec 23 11:08:34 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
* test/xsd/test_noencoding.rb: rescue Errno::EINVAL and do not test.

5
io.c
View file

@ -1314,8 +1314,9 @@ rb_io_ungetc(io, c)
int cc = NUM2INT(c);
GetOpenFile(io, fptr);
if (!(fptr->mode & FMODE_RBUF))
rb_raise(rb_eIOError, "unread stream");
rb_io_check_readable(fptr);
flush_before_seek(fptr);
if (ungetc(cc, fptr->f) == EOF && cc != EOF)
rb_sys_fail(fptr->path);
@ -3456,7 +3457,7 @@ rb_io_ctl(io, req, arg, io_p)
rb_raise(rb_eArgError, "return value overflowed string");
}
if (fptr->f2 && fileno(fptr->f) != fileno(fptr->f2)) {
if (fptr->f2 && fileno(fptr->f) != fileno(fptr->f2)) {
/* call on f2 too; ignore result */
io_cntl(fileno(fptr->f2), cmd, narg, io_p);
}

View file

@ -54,15 +54,11 @@ class TestSystem < Test::Unit::TestCase
File.unlink "script_tmp" or `/bin/rm -f "script_tmp"`
File.unlink "script_tmp.bak" or `/bin/rm -f "script_tmp.bak"`
end
if (dir = File.dirname(File.dirname($0))) == '.'
dir = ""
else
dir << "/"
end
def test_syntax
assert_nothing_raised(Exception) do
for script in Dir["#{dir}{lib,sample,ext}/**/*.rb"]
for script in Dir[File.expand_path("../../../{lib,sample,ext}/**/*.rb", __FILE__)]
valid_syntax? IO::read(script), script
end
end