From 5d828b25d4ae30a000c054a724ac248dadbb97b3 Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Tue, 10 Jan 1995 00:58:20 +0900 Subject: version 0.64 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://cache.ruby-lang.org/pub/ruby/1.0/ruby-0.64.tar.gz Tue Jan 10 00:58:20 1995 Yukihiro Matsumoto (matz@dyna) * eval.c: レシーバと引数は常にiterではない. * cons.c(aref,aset): negative offset対応. Mon Jan 9 14:40:39 1995 Yukihiro Matsumoto (matz@ix-02) * parse.y: foo{..}の形式において,fooをローカル変数やクラス名では なく,引数なしの関数型メソッド呼び出しとみなすようにした. * list.c -> cons.c: 名称変更(クラス名も). * list.c: a::b::c::nilをリスト(a b c)とみなすlisp形式から,a::b::c をリスト(a b c)とみなすruby形式に変更.[], []=, eachもそれに会わ せた仕様とする. * list.c: consペアとしての機能を強調.仕様変更. Sat Jan 7 01:26:26 1995 Yukihiro Matsumoto (matz@dyna) * eval.c: 自己代入の不具合修正. * eval.c(masign): 多重代入が配列もリストもとれるようにした. * list.c: assocを2要素の配列からList(CONSペア)に変更した. Fri Jan 6 13:42:12 1995 Yukihiro Matsumoto (matz@ix-02) * parse.y: a[b]+=cやa.b+=cなどの自己代入形式で,aやbを2度評価しな くなった. * eval.c: iterator設定のバグフィックス. * list.c: Listクラスを新設. Thu Jan 5 13:55:00 1995 Yukihiro Matsumoto (matz@ix-02) * parse.y: SCOPEのメモリリークをなくした. * eval.c: built-inメソッドへの引数の引き渡し方を変更して,配列の生 成数を減らした. * re.c: match-dataを毎回生成することをやめた.`$~'をアクセスした時 にon-demandで生成する. * string.c etc: 不必要なmemmoveをmemcpyに置換. * parse.y: =~, !~は副作用があるのでコンパイル時に展開できない. Tue Jan 3 02:04:36 1995 Yukihiro Matsumoto (matz@dyna) * eval.c: rest引数のbug fix. * eval.c,gc.c: scopeをオブジェクトにした. * eval.c: envとscopeの扱いを変更した. Wed Dec 28 09:46:57 1994 Yukihiro Matsumoto (matz@ix-02) * parse.y: evalでローカル変数が追加された場合に対応した. * parse.y: 演算子を含むaliasのbug fix. Tue Dec 27 16:45:20 1994 Yukihiro Matsumoto (matz@ix-02) * parse.y: def A Bをalias A Bに変更. * eval.c: alias関係のbug修正.nodeをオブジェクト化した時にenbugし たようだ. * signal.c: システムコールの再定義を止めた. * io.c(select): write/exceptのフラグ設定にバグ. * Makefile.in: static link用オプションをMake変数として独立させた. --- socket.c | 62 +++++++++++++++++++++++++++++++++++++------------------------- 1 file changed, 37 insertions(+), 25 deletions(-) (limited to 'socket.c') diff --git a/socket.c b/socket.c index 098545cae9..b691e7e1c8 100644 --- a/socket.c +++ b/socket.c @@ -3,7 +3,7 @@ socket.c - $Author: matz $ - $Date: 1994/12/06 09:30:18 $ + $Date: 1995/01/10 10:42:55 $ created at: Thu Mar 31 12:21:29 JST 1994 ************************************************/ @@ -48,14 +48,16 @@ sock_new(class, fd) } static VALUE -Fbsock_shutdown(sock, args) - VALUE sock, args; +Fbsock_shutdown(argc, argv, sock) + int argc; + VALUE *argv; + VALUE sock; { VALUE howto; int how; OpenFile *fptr; - rb_scan_args(args, "01", &howto); + rb_scan_args(argc, argv, "01", &howto); if (howto == Qnil) how = 2; else { @@ -235,12 +237,14 @@ Stcp_sock_open(class, host, serv) } static VALUE -Stcp_svr_open(class, args) - VALUE class, args; +Stcp_svr_open(argc, argv, class) + int argc; + VALUE *argv; + VALUE class; { VALUE arg1, arg2; - if (rb_scan_args(args, "11", &arg1, &arg2) == 2) + if (rb_scan_args(argc, argv, "11", &arg1, &arg2) == 2) return open_inet(class, arg1, arg2, 1); else return open_inet(class, Qnil, arg1, 1); @@ -618,8 +622,10 @@ Fsock_accept(sock) } static VALUE -Fsock_send(sock, args) - VALUE sock, args; +Fsock_send(argc, argv, sock) + int argc; + VALUE *argv; + VALUE sock; { struct RString *msg, *to; VALUE flags; @@ -627,7 +633,7 @@ Fsock_send(sock, args) FILE *f; int fd, n; - rb_scan_args(args, "21", &msg, &flags, &to); + rb_scan_args(argc, argv, "21", &msg, &flags, &to); Check_Type(msg, T_STRING); @@ -649,8 +655,10 @@ Fsock_send(sock, args) } static VALUE -sock_recv(sock, args, from) - VALUE sock, args; +sock_recv(sock, argc, argv, from) + VALUE sock; + int argc; + VALUE *argv; int from; { OpenFile *fptr; @@ -661,7 +669,7 @@ sock_recv(sock, args, from) VALUE len, flg; int flags; - rb_scan_args(args, "11", &len, &flg); + rb_scan_args(argc, argv, "11", &len, &flg); if (flg == Qnil) flags = 0; else flags = NUM2INT(flg); @@ -682,24 +690,28 @@ sock_recv(sock, args, from) } static VALUE -Fsock_recv(sock, args) - VALUE sock, args; +Fsock_recv(argc, argv, sock) + int argc; + VALUE *argv; + VALUE sock; { - return sock_recv(sock, args, 0); + return sock_recv(sock, argc, argv, 0); } static VALUE -Fsock_recvfrom(sock, args) - VALUE sock, args; +Fsock_recvfrom(argc, argv, sock) + int argc; + VALUE *argv; + VALUE sock; { - return sock_recv(sock, args, 1); + return sock_recv(sock, argc, argv, 1); } Init_Socket () { C_BasicSocket = rb_define_class("BasicSocket", C_IO); rb_undef_method(C_BasicSocket, "new"); - rb_define_method(C_BasicSocket, "shutdown", Fbsock_shutdown, -2); + rb_define_method(C_BasicSocket, "shutdown", Fbsock_shutdown, -1); rb_define_method(C_BasicSocket, "setopt", Fbsock_setopt, 3); rb_define_method(C_BasicSocket, "getopt", Fbsock_getopt, 2); rb_define_method(C_BasicSocket, "getsockname", Fbsock_getsockname, 0); @@ -712,8 +724,8 @@ Init_Socket () rb_define_method(C_TCPsocket, "peeraddr", Ftcp_peeraddr, 0); C_TCPserver = rb_define_class("TCPserver", C_TCPsocket); - rb_define_single_method(C_TCPserver, "open", Stcp_svr_open, -2); - rb_define_single_method(C_TCPserver, "new", Stcp_svr_open, -2); + rb_define_single_method(C_TCPserver, "open", Stcp_svr_open, -1); + rb_define_single_method(C_TCPserver, "new", Stcp_svr_open, -1); rb_define_method(C_TCPserver, "accept", Ftcp_accept, 0); C_UNIXsocket = rb_define_class("UNIXsocket", C_BasicSocket); @@ -738,9 +750,9 @@ Init_Socket () rb_define_method(C_Socket, "listen", Fsock_listen, 1); rb_define_method(C_Socket, "accept", Fsock_accept, 0); - rb_define_method(C_Socket, "send", Fsock_send, -2); - rb_define_method(C_Socket, "recv", Fsock_recv, -2); - rb_define_method(C_Socket, "recvfrom", Fsock_recv, -2); + rb_define_method(C_Socket, "send", Fsock_send, -1); + rb_define_method(C_Socket, "recv", Fsock_recv, -1); + rb_define_method(C_Socket, "recvfrom", Fsock_recv, -1); rb_define_single_method(C_Socket, "socketpair", Ssock_socketpair, 3); } -- cgit v1.2.3