1 require "sup/mbox/loader"
5 ## some utility functions
13 ## i do it in this weird way because i am trying to speed things up
14 ## when scanning over large mbox files.
17 when /^From:\s+(.*)$/i: header[last = "From"] = $1
18 when /^To:\s+(.*)$/i: header[last = "To"] = $1
19 when /^Cc:\s+(.*)$/i: header[last = "Cc"] = $1
20 when /^Bcc:\s+(.*)$/i: header[last = "Bcc"] = $1
21 when /^Subject:\s+(.*)$/i: header[last = "Subject"] = $1
22 when /^Date:\s+(.*)$/i: header[last = "Date"] = $1
23 when /^Message-Id:\s+<(.*)>$/i: header[last = "Message-Id"] = $1
24 when /^References:\s+(.*)$/i: header[last = "References"] = $1
25 when /^In-Reply-To:\s+(.*)$/i: header[last = "In-Reply-To"] = $1
26 when /^List-Post:\s+(.*)$/i: header[last = "List-Post"] = $1
27 when /^Reply-To:\s+(.*)$/i: header[last = "Reply-To"] = $1
28 when /^Status:\s+(.*)$/i: header[last = "Status"] = $1
29 when /^Delivered-To:\s+(.*)$/i
30 header[last = "Delivered-To"] = $1 unless header["Delivered-To"]
34 header[last] += line.gsub(/^\s+/, "") if last
43 break if l =~ BREAK_RE
49 module_function :read_header, :read_body