зеркало из https://github.com/github/ruby.git
* ext/pty/pty.c (get_device_once): use DEVICELEN instead of
sizeof SlaveName. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
67e43bfdf3
Коммит
005e756537
|
@ -1,3 +1,8 @@
|
||||||
|
Mon Dec 15 21:24:01 2008 Tanaka Akira <akr@fsij.org>
|
||||||
|
|
||||||
|
* ext/pty/pty.c (get_device_once): use DEVICELEN instead of
|
||||||
|
sizeof SlaveName.
|
||||||
|
|
||||||
Mon Dec 15 21:01:46 2008 Tanaka Akira <akr@fsij.org>
|
Mon Dec 15 21:01:46 2008 Tanaka Akira <akr@fsij.org>
|
||||||
|
|
||||||
* ext/pty/pty.c (chfunc): make it static.
|
* ext/pty/pty.c (chfunc): make it static.
|
||||||
|
|
|
@ -293,7 +293,7 @@ get_device_once(int *master, int *slave, char SlaveName[DEVICELEN], int fail)
|
||||||
}
|
}
|
||||||
|
|
||||||
*slave = open(name, O_RDWR);
|
*slave = open(name, O_RDWR);
|
||||||
strlcpy(SlaveName, name, sizeof SlaveName);
|
strlcpy(SlaveName, name, DEVICELEN);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
#else /* HAVE__GETPTY */
|
#else /* HAVE__GETPTY */
|
||||||
|
@ -321,7 +321,7 @@ get_device_once(int *master, int *slave, char SlaveName[DEVICELEN], int fail)
|
||||||
#endif
|
#endif
|
||||||
*master = i;
|
*master = i;
|
||||||
*slave = j;
|
*slave = j;
|
||||||
strlcpy(SlaveName, pn, sizeof SlaveName);
|
strlcpy(SlaveName, pn, DEVICELEN);
|
||||||
return 0;
|
return 0;
|
||||||
#if defined I_PUSH && !defined linux
|
#if defined I_PUSH && !defined linux
|
||||||
}
|
}
|
||||||
|
@ -343,7 +343,7 @@ get_device_once(int *master, int *slave, char SlaveName[DEVICELEN], int fail)
|
||||||
snprintf(MasterName, sizeof MasterName, MasterDevice, *p);
|
snprintf(MasterName, sizeof MasterName, MasterDevice, *p);
|
||||||
if ((i = open(MasterName,O_RDWR,0)) >= 0) {
|
if ((i = open(MasterName,O_RDWR,0)) >= 0) {
|
||||||
*master = i;
|
*master = i;
|
||||||
snprintf(SlaveName, sizeof SlaveName, SlaveDevice, *p);
|
snprintf(SlaveName, DEVICELEN, SlaveDevice, *p);
|
||||||
if ((j = open(SlaveName,O_RDWR,0)) >= 0) {
|
if ((j = open(SlaveName,O_RDWR,0)) >= 0) {
|
||||||
*slave = j;
|
*slave = j;
|
||||||
chown(SlaveName, getuid(), getgid());
|
chown(SlaveName, getuid(), getgid());
|
||||||
|
|
|
@ -13,7 +13,6 @@ class TestPTY < Test::Unit::TestCase
|
||||||
def test_spawn_without_block
|
def test_spawn_without_block
|
||||||
r, w, pid = PTY.spawn(RUBY, '-e', 'puts "a"')
|
r, w, pid = PTY.spawn(RUBY, '-e', 'puts "a"')
|
||||||
assert_equal("a\r\n", r.gets)
|
assert_equal("a\r\n", r.gets)
|
||||||
assert_raise(Errno::EIO) { r.gets }
|
|
||||||
ensure
|
ensure
|
||||||
Process.wait pid if pid
|
Process.wait pid if pid
|
||||||
end
|
end
|
||||||
|
@ -22,7 +21,6 @@ class TestPTY < Test::Unit::TestCase
|
||||||
PTY.spawn(RUBY, '-e', 'puts "b"') {|r,w,pid|
|
PTY.spawn(RUBY, '-e', 'puts "b"') {|r,w,pid|
|
||||||
assert_equal("b\r\n", r.gets)
|
assert_equal("b\r\n", r.gets)
|
||||||
Process.wait(pid)
|
Process.wait(pid)
|
||||||
assert_raise(Errno::EIO) { r.gets }
|
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -31,7 +29,6 @@ class TestPTY < Test::Unit::TestCase
|
||||||
PTY.spawn(commandline) {|r,w,pid|
|
PTY.spawn(commandline) {|r,w,pid|
|
||||||
assert_equal("foo\r\n", r.gets)
|
assert_equal("foo\r\n", r.gets)
|
||||||
Process.wait(pid)
|
Process.wait(pid)
|
||||||
assert_raise(Errno::EIO) { r.gets }
|
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -39,7 +36,6 @@ class TestPTY < Test::Unit::TestCase
|
||||||
PTY.spawn([RUBY, "argv0"], '-e', 'puts "bar"') {|r,w,pid|
|
PTY.spawn([RUBY, "argv0"], '-e', 'puts "bar"') {|r,w,pid|
|
||||||
assert_equal("bar\r\n", r.gets)
|
assert_equal("bar\r\n", r.gets)
|
||||||
Process.wait(pid)
|
Process.wait(pid)
|
||||||
assert_raise(Errno::EIO) { r.gets }
|
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
end if defined? PTY
|
end if defined? PTY
|
||||||
|
|
Загрузка…
Ссылка в новой задаче