From aa1b6846c33b44dfd723ad9657448e45e7a2a143 Mon Sep 17 00:00:00 2001 From: Decklin Foster Date: Sun, 26 Oct 2008 14:30:03 -0400 Subject: [PATCH] Read in X-Foo headers --- lib/sup/mbox.rb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/sup/mbox.rb b/lib/sup/mbox.rb index 4948954..89b00ed 100644 --- a/lib/sup/mbox.rb +++ b/lib/sup/mbox.rb @@ -21,6 +21,11 @@ module MBox ## when scanning over large mbox files. while(line = f.gets) case line + ## these three can occur multiple times, and we want the first one + when /^(Delivered-To):#{HEADER_RE}$/i, + /^(X-Original-To):#{HEADER_RE}$/i, + /^(Envelope-To):#{HEADER_RE}$/i: header[last = $1] ||= $2 + when /^(From):#{HEADER_RE}$/i, /^(To):#{HEADER_RE}$/i, /^(Cc):#{HEADER_RE}$/i, @@ -33,15 +38,10 @@ module MBox /^(List-Post):#{HEADER_RE}$/i, /^(List-Subscribe):#{HEADER_RE}$/i, /^(List-Unsubscribe):#{HEADER_RE}$/i, - /^(Status):#{HEADER_RE}$/i: header[last = $1] = $2 + /^(Status):#{HEADER_RE}$/i, + /^(X-\S+):#{HEADER_RE}$/: header[last = $1] = $2 when /^(Message-Id):#{HEADER_RE}$/i: header[mid_field = last = $1] = $2 - ## these next three can occur multiple times, and we want the - ## first one - when /^(Delivered-To):#{HEADER_RE}$/i, - /^(X-Original-To):#{HEADER_RE}$/i, - /^(Envelope-To):#{HEADER_RE}$/i: header[last = $1] ||= $2 - when /^\r*$/: break when /^\S+:/: last = nil # some other header we don't care about else -- 2.45.2