mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* ext/socket/socket.c (sock_s_socketpair): make 3rd argument optional.
* ext/socket/unixsocket.c (unix_s_socketpair): follow the above change. * ext/socket/rubysocket.h (sock_s_socketpair): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
1934c7a80b
commit
5ce10c1359
4 changed files with 24 additions and 5 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
Thu Feb 5 01:18:25 2009 Tanaka Akira <akr@fsij.org>
|
||||||
|
|
||||||
|
* ext/socket/socket.c (sock_s_socketpair): make 3rd argument optional.
|
||||||
|
|
||||||
|
* ext/socket/unixsocket.c (unix_s_socketpair): follow the above
|
||||||
|
change.
|
||||||
|
|
||||||
|
* ext/socket/rubysocket.h (sock_s_socketpair): ditto.
|
||||||
|
|
||||||
Thu Feb 5 00:09:39 2009 Tanaka Akira <akr@fsij.org>
|
Thu Feb 5 00:09:39 2009 Tanaka Akira <akr@fsij.org>
|
||||||
|
|
||||||
* ext/socket/raddrinfo.c (addrinfo_ipv6_to_ipv4): new method.
|
* ext/socket/raddrinfo.c (addrinfo_ipv6_to_ipv4): new method.
|
||||||
|
|
|
@ -212,7 +212,7 @@ VALUE unixaddr(struct sockaddr_un *sockaddr, socklen_t len);
|
||||||
|
|
||||||
int ruby_socket(int domain, int type, int proto);
|
int ruby_socket(int domain, int type, int proto);
|
||||||
VALUE init_sock(VALUE sock, int fd);
|
VALUE init_sock(VALUE sock, int fd);
|
||||||
VALUE sock_s_socketpair(VALUE klass, VALUE domain, VALUE type, VALUE protocol);
|
VALUE sock_s_socketpair(int argc, VALUE *argv, VALUE klass);
|
||||||
VALUE init_inetsock(VALUE sock, VALUE remote_host, VALUE remote_serv, VALUE local_host, VALUE local_serv, int type);
|
VALUE init_inetsock(VALUE sock, VALUE remote_host, VALUE remote_serv, VALUE local_host, VALUE local_serv, int type);
|
||||||
VALUE init_unixsock(VALUE sock, VALUE path, int server);
|
VALUE init_unixsock(VALUE sock, VALUE path, int server);
|
||||||
|
|
||||||
|
|
|
@ -97,13 +97,18 @@ pair_yield(VALUE pair)
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
VALUE
|
VALUE
|
||||||
sock_s_socketpair(VALUE klass, VALUE domain, VALUE type, VALUE protocol)
|
sock_s_socketpair(int argc, VALUE *argv, VALUE klass)
|
||||||
{
|
{
|
||||||
#if defined HAVE_SOCKETPAIR
|
#if defined HAVE_SOCKETPAIR
|
||||||
|
VALUE domain, type, protocol;
|
||||||
int d, t, p, sp[2];
|
int d, t, p, sp[2];
|
||||||
int ret;
|
int ret;
|
||||||
VALUE s1, s2, r;
|
VALUE s1, s2, r;
|
||||||
|
|
||||||
|
rb_scan_args(argc, argv, "21", &domain, &type, &protocol);
|
||||||
|
if (NIL_P(protocol))
|
||||||
|
protocol = INT2FIX(0);
|
||||||
|
|
||||||
setup_domain_and_type(domain, &d, type, &t);
|
setup_domain_and_type(domain, &d, type, &t);
|
||||||
p = NUM2INT(protocol);
|
p = NUM2INT(protocol);
|
||||||
ret = socketpair(d, t, p, sp);
|
ret = socketpair(d, t, p, sp);
|
||||||
|
@ -1760,8 +1765,8 @@ Init_socket()
|
||||||
rb_define_method(rb_cSocket, "recvfrom", sock_recvfrom, -1);
|
rb_define_method(rb_cSocket, "recvfrom", sock_recvfrom, -1);
|
||||||
rb_define_method(rb_cSocket, "recvfrom_nonblock", sock_recvfrom_nonblock, -1);
|
rb_define_method(rb_cSocket, "recvfrom_nonblock", sock_recvfrom_nonblock, -1);
|
||||||
|
|
||||||
rb_define_singleton_method(rb_cSocket, "socketpair", sock_s_socketpair, 3);
|
rb_define_singleton_method(rb_cSocket, "socketpair", sock_s_socketpair, -1);
|
||||||
rb_define_singleton_method(rb_cSocket, "pair", sock_s_socketpair, 3);
|
rb_define_singleton_method(rb_cSocket, "pair", sock_s_socketpair, -1);
|
||||||
rb_define_singleton_method(rb_cSocket, "gethostname", sock_gethostname, 0);
|
rb_define_singleton_method(rb_cSocket, "gethostname", sock_gethostname, 0);
|
||||||
rb_define_singleton_method(rb_cSocket, "gethostbyname", sock_s_gethostbyname, 1);
|
rb_define_singleton_method(rb_cSocket, "gethostbyname", sock_s_gethostbyname, 1);
|
||||||
rb_define_singleton_method(rb_cSocket, "gethostbyaddr", sock_s_gethostbyaddr, -1);
|
rb_define_singleton_method(rb_cSocket, "gethostbyaddr", sock_s_gethostbyaddr, -1);
|
||||||
|
|
|
@ -463,6 +463,7 @@ unix_s_socketpair(int argc, VALUE *argv, VALUE klass)
|
||||||
{
|
{
|
||||||
VALUE domain, type, protocol;
|
VALUE domain, type, protocol;
|
||||||
domain = INT2FIX(PF_UNIX);
|
domain = INT2FIX(PF_UNIX);
|
||||||
|
VALUE args[3];
|
||||||
|
|
||||||
rb_scan_args(argc, argv, "02", &type, &protocol);
|
rb_scan_args(argc, argv, "02", &type, &protocol);
|
||||||
if (argc == 0)
|
if (argc == 0)
|
||||||
|
@ -470,7 +471,11 @@ unix_s_socketpair(int argc, VALUE *argv, VALUE klass)
|
||||||
if (argc <= 1)
|
if (argc <= 1)
|
||||||
protocol = INT2FIX(0);
|
protocol = INT2FIX(0);
|
||||||
|
|
||||||
return sock_s_socketpair(klass, domain, type, protocol);
|
args[0] = domain;
|
||||||
|
args[1] = type;
|
||||||
|
args[2] = protocol;
|
||||||
|
|
||||||
|
return sock_s_socketpair(3, args, klass);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue