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

Tatsuya Kinoshita tats at example.com
2012年 3月 27日 (火) 01:29:39 JST


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 << $'
----

-- 
木下達也


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