mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Socket.gethostname always fails.
This commit is contained in:
+6
-3
@@ -560,14 +560,17 @@ static mrb_value
|
||||
mrb_socket_gethostname(mrb_state *mrb, mrb_value cls)
|
||||
{
|
||||
mrb_value buf;
|
||||
size_t bufsize;
|
||||
|
||||
#ifdef HOST_NAME_MAX
|
||||
buf = mrb_str_buf_new(mrb, HOST_NAME_MAX+1);
|
||||
bufsize = HOST_NAME_MAX + 1;
|
||||
#else
|
||||
buf = mrb_str_buf_new(mrb, 256);
|
||||
bufsize = 256;
|
||||
#endif
|
||||
if (gethostname(RSTRING_PTR(buf), RSTRING_LEN(buf)) != 0)
|
||||
buf = mrb_str_buf_new(mrb, bufsize);
|
||||
if (gethostname(RSTRING_PTR(buf), bufsize) != 0)
|
||||
mrb_sys_fail(mrb, "gethostname");
|
||||
mrb_str_resize(mrb, buf, strlen(RSTRING_PTR(buf)));
|
||||
return buf;
|
||||
}
|
||||
|
||||
|
||||
@@ -128,3 +128,8 @@ end
|
||||
#assert('TCPSocket.new') do
|
||||
#assert('TCPSocket#close') do
|
||||
#assert('TCPSocket#write') do
|
||||
|
||||
assert('Socket.gethostname') do
|
||||
assert_true(Socket.gethostname.is_a? String)
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user