[#23031] description on fork and Process.fork — kjana@... (YANAGAWA Kazuhisa)

マニュアルみてて思ったんですけど,fork の記述に「失敗したら例外があが

21 messages 2000/06/02
[#23114] Re: description on fork and Process.fork — Takahiro Kambe <taca@...> 2000/06/08

In message <200006021503.AAA19483@mail3.os.xaxon.ne.jp>

[#23136] Re: description on fork and Process.fork — kjana@... (YANAGAWA Kazuhisa) 2000/06/09

In message <200006081406.e58E6JA16512@edge.sky.yamashina.kyoto.jp>

[#23138] Re: description on fork and Process.fork — Takahiro Kambe <taca@...> 2000/06/09

In message <200006091328.WAA23409@mail2.os.xaxon.ne.jp>

[#23139] Re: description on fork and Process.fork — matz@... (Yukihiro Matsumoto) 2000/06/09

まつもと ゆきひろです

[#23148] Re: description on fork and Process.fork — ARIMA Yasuhiro <fit0298@...> 2000/06/11

有馬です。

[#23150] Re: description on fork and Process.fork — Koji Arai <JCA02266@...> 2000/06/11

新井です。

[#23096] http.rb will change — Minero Aoki <aamine@...>

あおきです。

42 messages 2000/06/08
[#23100] Re: http.rb will change — matz@... (Yukihiro Matsumoto) 2000/06/08

まつもと ゆきひろです

[#23101] Re: http.rb will change — TAKAHASHI Masayoshi <maki@...> 2000/06/08

高橋征義です。

[#23103] Re: http.rb will change — matz@... (Yukihiro Matsumoto) 2000/06/08

まつもと ゆきひろです

[#23109] Re: http.rb will change — Wakou Aoyama <wakou@...> 2000/06/08

青山です。

[#23113] Re: http.rb will change — TAKAHASHI Masayoshi <maki@...> 2000/06/08

高橋です。

[#23124] Re: http.rb will change — Wakou Aoyama <wakou@...> 2000/06/08

青山です。

[#23130] Re: http.rb will change — TAKAHASHI Masayoshi <maki@...> 2000/06/09

高橋征義です。

[#23131] Re: http.rb will change — Wakou Aoyama <wakou@...> 2000/06/09

青山です。

[#23135] Re: http.rb will change — Minero Aoki <aamine@...> 2000/06/09

あおきです。

[#23149] Re: http.rb will change — TAKAHASHI Masayoshi <maki@...> 2000/06/11

高橋征義です。

[#23174] Re: http.rb will change — Minero Aoki <aamine@...> 2000/06/12

あおきです。

[#23125] メソッドの中の動きを変える — Masahiro Kawata <kawata@...>

こんにちわ。かわた まさひろと申します。

11 messages 2000/06/09

[#23156] ports — Wakou Aoyama <wakou@...>

青山です。

37 messages 2000/06/11
[#23194] Re: ports — kenn@... 2000/06/12

長沢です。

[#23199] Re: ports — Wakou Aoyama <wakou@...> 2000/06/12

青山です。

[#23268] Re: ports — Noritsugu Nakamura <nnakamur@...> 2000/06/15

[#23273] Re: ports — Wakou Aoyama <wakou@...> 2000/06/15

青山です。

[#23278] Re: ports — Noritsugu Nakamura <nnakamur@...> 2000/06/15

[#23279] Re: ports — Wakou Aoyama <wakou@...> 2000/06/15

青山です。

[#23280] Re: ports — matz@... (Yukihiro Matsumoto) 2000/06/15

まつもと ゆきひろです

[#23282] Re: ports — Wakou Aoyama <wakou@...> 2000/06/16

青山です。

[#23289] RD on www.ruby-lang.org (Re: ports) — Wakou Aoyama <wakou@...> 2000/06/16

青山です。

[#23291] Re: RD on www.ruby-lang.org (Re: ports) — matz@... (Yukihiro Matsumoto) 2000/06/16

まつもと ゆきひろです

[#23293] Re: RD on www.ruby-lang.org (Re: ports) — Wakou Aoyama <wakou@...> 2000/06/16

青山です。

[#23222] readablity of RD — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

78 messages 2000/06/13
[#23224] Re: readablity of RD — rubikitch <rubikitch@...> 2000/06/13

From: TAKAHASHI Masayoshi <maki@inac.co.jp>

[#23234] Re: readablity of RD — TAKAHASHI Masayoshi <maki@...> 2000/06/14

高橋征義です。

[#23246] Re: readablity of RD — Kenya Ogata <k_ogata@...> 2000/06/14

おがたといいます。

[#23255] Re: readablity of RD — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/06/14

Toshです。

[#23271] Re: readablity of RD — Kenya Ogata <k_ogata@...> 2000/06/15

おがたです。いくつか考えうる解決案を。

[#23275] Re: readablity of RD — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/06/15

Toshです。

[#23295] Re: readablity of RD — Wakou Aoyama <wakou@...> 2000/06/16

青山です。

[#23296] Re: readablity of RD — Wakou Aoyama <wakou@...> 2000/06/16

青山です。

[#23307] Re: readablity of RD — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/06/17

Toshです。

[#23310] Re: readablity of RD — Wakou Aoyama <wakou@...> 2000/06/17

青山です。

[#23320] Re: readablity of RD — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/06/17

Toshです。

[#23328] Re: readablity of RD — Wakou Aoyama <wakou@...> 2000/06/17

青山です。

[#23335] Re: readablity of RD — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/06/18

Toshです。

[#23349] Re: readablity of RD — Wakou Aoyama <wakou@...> 2000/06/18

青山です。

[#23470] Re: readablity of RD — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/06/22

Toshです。

[#23471] Re: readablity of RD — matz@... (Yukihiro Matsumoto) 2000/06/22

まつもと ゆきひろです

[#23563] Re: readablity of RD — Wakou Aoyama <wakou@...> 2000/06/27

青山です。

[#23570] Re: readablity of RD — matz@... (Yukihiro Matsumoto) 2000/06/28

まつもと ゆきひろです

[#23600] Re: readablity of RD — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/06/29

Toshです。

[#23603] Re: readablity of RD — Yasunari Momoi <momo@...> 2000/06/29

From: Toshiro Kuwabara <toshirok@yb3.so-net.ne.jp>

[#23605] Re: readablity of RD — matz@... (Yukihiro Matsumoto) 2000/06/29

まつもと ゆきひろです

[#23611] Re: readablity of RD — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2000/06/29

Toshです。

[#23235] nkf MIME space handling — "Kikutani, Makoto" <kikutani@...>

nkfモジュールは、MIMEのデコードもしてくれますが、

13 messages 2000/06/14

[#23410] Re: DBMS and ruby CGI — "Kahori Takeuchi" <EB89012@...>

14 messages 2000/06/21

[#23411] dump a single object — Hideto ISHIBASHI <hideto-i@...4u.or.jp>

石橋"rubyholic"秀仁です。

34 messages 2000/06/21
[#23412] Re: dump a single object — matz@... (Yukihiro Matsumoto) 2000/06/21

まつもと ゆきひろです

[#23424] Re: dump a single object — Masatoshi SEKI <m_seki@...> 2000/06/21

[#23434] Re: dump a single object — Hideto ISHIBASHI <hideto-i@...4u.or.jp> 2000/06/21

石橋"rubyholic"秀仁です。咳さん、こんばんわ。

[#23437] Re: dump a single object — Masatoshi SEKI <m_seki@...> 2000/06/21

[#23485] Ruby 1.4.5 — matz@... (Yukihiro Matsumoto)

Ruby 1.4.5 is out, check out:

35 messages 2000/06/23
[#23489] Re: Ruby 1.4.5 — Katsuyuki Komatsu <komatsu@...> 2000/06/23

小松です。

[#23495] Re: Ruby 1.4.5 — matz@... (Yukihiro Matsumoto) 2000/06/23

まつもと ゆきひろです

[#23518] Re: Ruby 1.4.5 — MICHIMURA Tadao <MICHIMURA.Tadao@...> 2000/06/26

どぉも、道村です。

[#23521] Re: Ruby 1.4.5 — Katsuyuki Komatsu <komatsu@...> 2000/06/26

小松です。

[#23522] Re: Ruby 1.4.5 — Katsuyuki Komatsu <komatsu@...> 2000/06/26

小松です。

[ruby-list:23285] Re: net/smtp.rb extra lines ?

From: Minero Aoki <aamine@...>
Date: 2000-06-16 13:41:42 UTC
List: ruby-list #23285
あおきです。

  In mail "[ruby-list:23277] net/smtp.rb extra lines ?"
    "Kikutani, Makoto" <kikutani@Galaxy.net> wrote:

> どうも、最近自分の出したメイルに2行くらい余計な空行が最後に
> 付いているのに気付いたので、まあcurのバグに違いないと思っていろいろ
> 調べたのですが、

> なんてのを実行しても、やはり余計な空行が付きますね。
> これは使いかたが悪いのか、あるいは net/smtp.rb の問題なのでしょうか?

一行は smtp のバグでした。ごめんなさい。後の一行は謎です。
とりあえず以下のパッチ試してください。
チェックインもします。


> # どうもnetの下は難しすぎていつも追えない。protocol.rb の each_crlf_line
> # あたりまで行ってギブアップ

そうですか。ぼくは ごく普通に書いてるつもりなんですが(あたりまえか)、
「net/* は理解できない」という声がよくあがるので ちょっと悩んでます。
-------------------------------------------------------------------
あおきみねろう

Index: protocol.rb
===================================================================
RCS file: /home/aamine/cvs/maillib/protocol.rb,v
retrieving revision 1.2.2.21
retrieving revision 1.2.2.23
diff -u -r1.2.2.21 -r1.2.2.23
--- protocol.rb	2000/06/12 16:33:45	1.2.2.21
+++ protocol.rb	2000/06/16 10:34:56	1.2.2.23
@@ -7,15 +7,6 @@
 This library is distributed under the terms of the Ruby license.
 You can freely distribute/modify this library.
 
-=end
-
-
-require 'socket'
-
-
-module Net
-
-=begin
 
 == Net::Protocol
 
@@ -66,10 +57,16 @@
 
 =end
 
+require 'socket'
+
+
+module Net
+
   class Protocol
 
     Version = '1.1.22'
 
+
     class << self
 
       def start( address = 'localhost', port = nil, *args )
@@ -480,9 +477,6 @@
 
 
     CRLF    = "\r\n"
-    D_CRLF  = ".\r\n"
-    TERMEXP = /\n|\r\n|\r/o
-
 
     def read( len, dest = '' )
       @pipe << "reading #{len} bytes...\n" if @pipe; pipeoff
@@ -531,7 +525,7 @@
 
         
     def readline
-      ret = readuntil( CRLF )
+      ret = readuntil( "\r\n" )
       ret.chop!
       ret
     end
@@ -542,9 +536,9 @@
 
       rsize = 0
 
-      while (str = readuntil( CRLF )) != D_CRLF do
+      while (str = readuntil( "\r\n" )) != ".\r\n" do
         rsize += str.size
-        str.gsub!( /\A\./o, '' )
+        str.gsub!( /\A\./, '' )
         dest << str
       end
 
@@ -559,7 +553,7 @@
       arr = []
       str = nil
 
-      while (str = readuntil( CRLF )) != D_CRLF do
+      while (str = readuntil( "\r\n" )) != ".\r\n" do
         str.chop!
         arr.push str
         yield str if iterator?
@@ -602,7 +596,7 @@
     def writeline( str )
       do_write_beg
       do_write_do str
-      do_write_do CRLF
+      do_write_do "\r\n"
       do_write_fin
     end
 
@@ -629,8 +623,7 @@
       else
         write_pendstr_inner src
       end
-      each_crlf_line2( :i_w_pend )
-      do_write_do D_CRLF
+      do_write_do ".\r\n"
       wsize = do_write_fin
 
       @pipe << "wrote #{wsize} bytes text\n" if pipeon
@@ -657,32 +650,40 @@
 
 
     def each_crlf_line( src, mid )
-      beg = 0
-      buf = pos = s = bin = nil
+      buf = ''
+      str = m = nil
 
-      adding( src ) do
-        beg = 0
-        buf = @wbuf
+      adding( src, buf ) do
         while true do
-          pos = buf.index( TERMEXP, beg )
-          break unless pos
-          s = $&.size
-          break if pos + s == buf.size - 1 and buf[-1] == ?\r
+          m = /[^\r\n]*(\n|\r\n|\r)/.match( buf )
+          break unless m
 
-          __send__ mid, buf[ beg, pos - beg ] << CRLF
-          beg = pos + s
+          str = m[0]
+          if str.size == buf.size and buf[-1] == ?\r then
+            # "...\r" : can follow "\n..."
+            break
+          end
+          buf[ 0, str.size ] = ''
+          str.chop!
+          str.concat "\r\n"
+          __send__ mid, str
         end
-        @wbuf = buf[ beg, buf.size - beg ] if beg != 0
+      end
+      if not buf.empty? then    # un-terminated last line
+        buf.concat "\r\n"
+        __send__ mid, buf
+      elsif not str then        # empty src
+        __send__ mid, "\r\n"
       end
     end
 
-    def adding( src )
+    def adding( src, buf )
       i = nil
 
       case src
       when String
         0.step( src.size, 512 ) do |i|
-          @wbuf << src[ i, 512 ]
+          buf << src[ i, 512 ]
           yield
         end
 
@@ -690,38 +691,22 @@
         while true do
           i = src.read( 512 )
           break unless i
-          @wbuf << i
+          buf << i
           yield
         end
 
       else
         src.each do |bin|
-          @wbuf << bin
-          yield if @wbuf.size > 512
+          buf << bin
+          yield if buf.size > 512
         end
       end
     end
 
-    def each_crlf_line2( mid )
-      buf = @wbuf
-      beg = pos = nil
-
-      buf << "\n" unless /\n|\r/o === buf[-1,1]
-
-      beg = 0
-      while true do
-        pos = buf.index( TERMEXP, beg )
-        break unless pos
-        __send__ mid, buf[ beg, pos - beg ] << CRLF
-        beg = pos + $&.size
-      end
-    end
-
 
     def do_write_beg
       @writtensize = 0
       @sending = ''
-      @wbuf = ''
     end
 
     def do_write_do( arg )

In This Thread