diff options
| author | Tomoyuki Sahara <[email protected]> | 2013-10-15 10:43:48 +0900 |
|---|---|---|
| committer | Tomoyuki Sahara <[email protected]> | 2013-10-15 10:43:48 +0900 |
| commit | 823df14ff4f374ed24a8ba89b56e391c3cc6d744 (patch) | |
| tree | 0d1253806742c76fbe7d748af134ea0cb5f06989 /src | |
| parent | ec443d45db494c2d4f872f2f415cf113f6f6f8d1 (diff) | |
| download | mruby-823df14ff4f374ed24a8ba89b56e391c3cc6d744.tar.gz mruby-823df14ff4f374ed24a8ba89b56e391c3cc6d744.zip | |
remove unused code and irrelevant comment.
Diffstat (limited to 'src')
| -rw-r--r-- | src/socket.c | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/src/socket.c b/src/socket.c index 96de174db..372e59793 100644 --- a/src/socket.c +++ b/src/socket.c @@ -309,7 +309,6 @@ mrb_basicsocket_send(mrb_state *mrb, mrb_value self) if (mrb_nil_p(dest)) { n = send(socket_fd(mrb, self), RSTRING_PTR(mesg), RSTRING_LEN(mesg), flags); } else { - // XXX: length check n = sendto(socket_fd(mrb, self), RSTRING_PTR(mesg), RSTRING_LEN(mesg), flags, (const void *)RSTRING_PTR(dest), RSTRING_LEN(dest)); } if (n == -1) @@ -461,102 +460,6 @@ mrb_ipsocket_recvfrom(mrb_state *mrb, mrb_value self) } static mrb_value -mrb_udpsocket_bind(mrb_state *mrb, mrb_value self) -{ - struct addrinfo hints, *res; - mrb_int n, port; - int error, s; - char *host, hostbuf[256], portbuf[6]; - - s = socket_fd(mrb, self); - mrb_get_args(mrb, "si", &host, &n, &port); - if (n > sizeof(hostbuf) - 1) { - mrb_raise(mrb, E_ARGUMENT_ERROR, "host is too long"); - } - memcpy(hostbuf, host, n); - hostbuf[n] = '\0'; - - memset(&hints, 0, sizeof(hints)); - hints.ai_socktype = SOCK_DGRAM; - hints.ai_flags = AI_NUMERICSERV|AI_PASSIVE; - snprintf(portbuf, sizeof(portbuf), "%d", port); - error = getaddrinfo(hostbuf, portbuf, &hints, &res); - if (error != 0) - mrb_raise(mrb, E_RUNTIME_ERROR, "getaddrinfo(2) failed"); - if (bind(s, res->ai_addr, res->ai_addrlen) == -1) { - freeaddrinfo(res); - mrb_raise(mrb, E_RUNTIME_ERROR, "bind(2) failed"); - } - freeaddrinfo(res); - return mrb_fixnum_value(0); -} - -static mrb_value -mrb_udpsocket_connect(mrb_state *mrb, mrb_value self) -{ - struct addrinfo hints, *res; - mrb_int n, port; - int error, s; - char *host, hostbuf[256], portbuf[6]; - - mrb_get_args(mrb, "si", &host, &n, &port); - s = socket_fd(mrb, self); - - if (n > sizeof(hostbuf) - 1) { - mrb_raise(mrb, E_ARGUMENT_ERROR, "host is too long"); - } - memcpy(hostbuf, host, n); - hostbuf[n] = '\0'; - - memset(&hints, 0, sizeof(hints)); - hints.ai_socktype = SOCK_DGRAM; - hints.ai_flags = AI_NUMERICSERV; - snprintf(portbuf, sizeof(portbuf), "%d", port); - error = getaddrinfo(hostbuf, portbuf, &hints, &res); - if (error != 0) - mrb_raise(mrb, E_RUNTIME_ERROR, "getaddrinfo(2) failed"); - if (connect(s, res->ai_addr, res->ai_addrlen) == -1) { - freeaddrinfo(res); - mrb_raise(mrb, E_RUNTIME_ERROR, "connect(2) failed"); - } - freeaddrinfo(res); - return mrb_fixnum_value(0); -} - -static mrb_value -mrb_udpsocket_send(mrb_state *mrb, mrb_value self) -{ - struct addrinfo hints, *res; - mrb_int n, flags; - mrb_value host, port; - int argc, hlen, s; - char hostbuf[256], *msg, portbuf[6]; - - argc = mrb_get_args(mrb, "si|oo", &msg, &hlen, &flags, &host, &port); - s = socket_fd(mrb, self); - n = -1; - if (argc == 2) { - n = send(s, msg, hlen, flags); - } else if (argc == 4) { - memset(&hints, 0, sizeof(hints)); - hints.ai_socktype = SOCK_DGRAM; - hints.ai_protocol = IPPROTO_UDP; - hints.ai_flags = AI_NUMERICHOST|AI_NUMERICSERV; - memcpy(hostbuf, RSTRING_PTR(host), RSTRING_LEN(host)); - hostbuf[RSTRING_LEN(host)] = '\0'; - snprintf(portbuf, sizeof(portbuf), "%u", mrb_fixnum(port)); - if (getaddrinfo(hostbuf, portbuf, &hints, &res) != 0) - mrb_sys_fail(mrb, "getaddrinfo"); - // XXX: try all addresses? - n = sendto(s, msg, hlen, flags, res->ai_addr, res->ai_addrlen); - freeaddrinfo(res); - } - if (n == -1) - mrb_sys_fail(mrb, "send"); - return mrb_fixnum_value(n); -} - -static mrb_value mrb_socket_gethostname(mrb_state *mrb, mrb_value cls) { mrb_value buf; |
