[#1058] ruby 0.99.3-961119 available — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです.

19 messages 1996/11/19
[#1059] segm fault (Re ruby 0.99.3-961119 available) — sinara@... 1996/11/19

原です。

[ruby-list:1044] Re: ruby 0.99.3-961118 available

From: matz@... (Yukihiro Matsumoto)
Date: 1996-11-18 08:36:51 UTC
List: ruby-list #1044
まつもと ゆきひろです.

In message "[ruby-list:1041] Re: ruby 0.99.3-961118 available"
    on 96/11/18, sinara@blade.nagaokaut.ac.jp <sinara@blade.nagaokaut.ac.jp> writes:
|
|原です。
|
|ruby 0.99.3-961118 で unpack はで快調になりました。でも
|
|port = Socket.getservbyname('nntp', 'tcp')
|
|で、
|
|/usr/local/bin/newsclip.rb:494:in `getservbyname': service/proto not found
|        from /usr/local/bin/newsclip.rb:494
|
|と言われてしまいました。これって、localhost の /etc/services
|を読みに行っているんですよね。あるのにへんだなあ。

もうしわけない.まだバグってました.
# ちゃんとテストしろよ… > 自分

				まつもと ゆきひろ /:|)

--- socket.c~	Thu Nov 14 18:53:38 1996
+++ socket.c	Mon Nov 18 17:33:41 1996
@@ -971,2 +971,3 @@
-sock_s_getservbyaname(obj, service, protocol)
-    VALUE obj, service, protocol;
+sock_s_getservbyaname(argc, argv)
+    int argc;
+    VALUE *argv;
@@ -973,0 +975 @@
+    VALUE service, protocol;
@@ -978 +980,6 @@
-    sp = getservbyname(name, proto);
+    rb_scan_args(argc, argv, "11", &service, &protocol);
+    Check_Type(service, T_STRING);
+    if (NIL_P(protocol)) proto = "tcp";
+    else proto = RSTRING(protocol)->ptr;
+
+    sp = getservbyname(RSTRING(service)->ptr, proto);
@@ -1044 +1051 @@
-    rb_define_singleton_method(cSocket, "getservbyname", sock_s_getservbyaname, 2);
+    rb_define_singleton_method(cSocket, "getservbyname", sock_s_getservbyaname, -1);

In This Thread