[Mew-dist 12248] Re: [Mew-Win32 02395] imget --src=local with ^Z (Re: b25.)

Shuichi KITAGUCHI ( 北口修一 ) kit at example.com
2000年 2月 5日 (土) 00:19:06 JST


北口です。

...
白井> を多用するのですが、昨日、どうも挙動がおかしいので調べてみたら、
白井> メールの最後に '^Z' がついているメールが混じっていました。

白井> で、今、'imget --src=local' の実験したら

白井> ○ UNIX
白井>  びくともせず、'^Z' ごと +inbox に入れる。

白井> ○ Win32 (NT、95 とも)
白井>  やっぱり '^Z' はファイルの最後だよね。と思ったらしくて、そのメー
白井>  ルで処理を止めてしまう。
...

というわけで、パッチです。


ここで一句:

    とりあえず、open()したら、binmode()


--
Shuichi Kitaguchi <kit at example.com>
-------------- next part --------------
Index: IM/LocalMbox.pm
===================================================================
RCS file: /usr/local/CVS/im/IM/LocalMbox.pm,v
retrieving revision 1.1.1.7
diff -c -r1.1.1.7 LocalMbox.pm
*** IM/LocalMbox.pm	2000/01/29 12:33:57	1.1.1.7
--- IM/LocalMbox.pm	2000/02/04 15:12:45
***************
*** 200,205 ****
--- 200,206 ----
  		close(SAVE);
  		return -1;
  	    }
+ 	    binmode(SAVE);
  
  	    if (($msgs = process_mbox($tmpmbox, $dst, $how, $mbox, $noscan)) < 0) {
  		close(SAVE);
***************
*** 256,261 ****
--- 257,264 ----
      unless (open(DST, "+>$dst")) {
  	return -1;
      }
+     binmode(SRC);
+     binmode(DST);
      while (<SRC>) {
  	unless (print DST) {
  	    im_err("writing to $dst failed ($!).\n");
***************
*** 327,332 ****
--- 330,336 ----
  	# XXX not found or unreadable...
  	return -1;
      }
+     binmode(MBOX);
      while (<MBOX>) {
  	push (@Message, $_);
      }
***************
*** 361,366 ****
--- 365,371 ----
  	# XXX not found or unreadable...
  	return -1;
      }
+     binmode(MBOX);
      chomp($first_line = <MBOX>);
      if ($first_line =~ /^From /) {
  	$format = 'UNIX';


Mew-dist メーリングリストの案内