2012年3月27日

[mew-dist 29477] Re: cmew sometimes stores id as blob

On March 26, 2012, [mew-dist 29476],
kazu (at iij.ad.jp) wrote:

> cmew の mail_header では、改行は取り除かれていることは確かめました。
> 不思議ですね。うーむ。

l.splitでvalueが空だと、Ruby 1.9.xではvalue.encodingがASCII-8BIT
になり、sqlite3でtextではなくblobとして扱われてしまうようです。


もっとよい書き方がありそうですが、とりあえず下記のパッチのように
空文字列を再代入すれば直ります。

----
--- a/bin/cmew
+++ b/bin/cmew
@@ -30,7 +30,7 @@ def mail_header(path)
break if /^$/ =~ l
if /^\s+/ !~ l
(name, value) = l.split(/:\s*/, 2)
- value = '' if value.nil?
+ value = '' if value.nil? || value.empty?
@header[name.downcase] = value
else
value << $'
----

--
木下達也


投稿者 xml-rpc : 2012年3月27日 01:29
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/109157
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。