[Mew-dist 2200] Re: im-70
若宮賢二
wkenji at example.com
1997年 9月 22日 (月) 15:22:02 JST
若宮@富士通研です。im-70 の頃に、
若宮> 一応ご報告を。IMAP フォルダを imls した時、必ず最後に "imls: no
若宮> messages in…" のメッセージが表示されてしまいます。
若宮> Imap.pm の imap_scan_folder の中で
若宮> $main::scan_count++;
若宮> ということをしているのですが、imls 側の $scan_count が my される
若宮> ようになったせいか、このインクリメントが効いていないみたいなので
若宮> す。
と書きましたが、どうも main 側の my グローバル変数を参照する方法が分
からず (無理?)、scan_count を imap_scan_folder の戻り値にするように
しました。もっと由緒正しい方法があるような気もするのですが…。
もし問題なければパッチをお願い致します(_ _)。im-71 向けです。
// Kenji | mailto:wkenji at example.com (office)
// Wakamiya | mailto:wkenji at example.com (private)
-------------- next part --------------
diff -aruN im-71-/IM.in/Imap.pm.in im-71/IM.in/Imap.pm.in
--- im-71-/IM.in/Imap.pm.in Wed Sep 17 14:31:56 1997
+++ im-71/IM.in/Imap.pm.in Mon Sep 22 15:08:17 1997
@@ -664,6 +664,7 @@
my $msgset = &imap_range2set(@ranges);
return 0 if !$msgset;
return -1 if ($msgset < 0);
+ my $count = 0;
my $seq = $ImapSeq++;
my $resp = &send_command(\*IMAPd,
"im$seq UID FETCH $msgset (RFC822.SIZE RFC822.HEADER)", '');
@@ -708,7 +709,7 @@
&make_thread(%Head);
} else {
&disp_msg(\%Head);
- $main::scan_count++;
+ $count++;
}
$resp = &next_response(\*IMAPd);
}
@@ -716,7 +717,7 @@
im_warn("UID FETCH command failed.\n");
return -1;
}
- return 0;
+ return $count;
}
sub imap_range2set (@) {
diff -aruN im-71-/imls.in im-71/imls.in
--- im-71-/imls.in Wed Sep 17 18:33:29 1997
+++ im-71/imls.in Mon Sep 22 15:05:42 1997
@@ -491,10 +491,9 @@
return -1;
}
if ($exists > 0) {
- if (&imap_scan_folder($folder, @ranges) < 0) {
+ if (($scan_count = &imap_scan_folder($folder, @ranges)) < 0) {
&imap_close;
im_warn("IMAP folder scanning error.\n");
- $scan_count = -1;
return -1;
}
}
Mew-dist メーリングリストの案内