まつもと ゆきひろです.
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);