[mew-dist 27946] Re: "V"
Yoshinari Nomura
nom at example.com
2007年 12月 11日 (火) 11:48:48 JST
ごぶさたしています.乃村です.
> 山本です。
>
> とりあえず、"V" コマンドを commit しておきました。
cmew.rb について,
Message-ID: <000801c7c726$6dc59b20$0600a8c0 at example.com>
charset="us-ascii"
という,変わったメールを register すると落ちました.
/usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.1/lib/sqlite3/errors.rb:94:in `check': near "us": syntax error (SQLite3::SQLException)
from /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.1/lib/sqlite3/statement.rb:71:in `initialize'
from /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.1/lib/sqlite3/database.rb:184:in `new'
from /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.1/lib/sqlite3/database.rb:184:in `prepare'
from /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.1/lib/sqlite3/database.rb:211:in `execute'
from ./cmew.rb:91:in `register'
from /usr/lib/ruby/1.8/find.rb:39:in `find'
from /usr/lib/ruby/1.8/find.rb:38:in `catch'
from /usr/lib/ruby/1.8/find.rb:38:in `find'
from ./cmew.rb:79:in `register'
from ./cmew.rb:107
おそらく,charset="us-ascii" 部分がそのまま 2行目にあるため,
check_id の正規表現にひっかからないんだと思います.
その結果 SQL 文に 「" 」 がまぎれ込んでしまいます.
^$ の代わりに \A\z を使うと動いているようです:
--- cmew.rb 2007-12-07 18:08:51.000000000 +0900
+++ cmew-debug.rb 2007-12-11 11:38:45.000000000 +0900
@@ -29,7 +29,7 @@
def check_id(id)
return nil if id == nil
- if id =~ /^<[-a-zA-Z0-9!#\$%&\'\*\+\/=\?\^_`{}|~\.@]+>$/
+ if id =~ /\A<[-a-zA-Z0-9!#\$%&\'\*\+\/=\?\^_`{}|~\.@]+>\z/
return id
else
return nil
Mew-dist メーリングリストの案内