diff options
Diffstat (limited to 'sample/from.rb')
| -rw-r--r-- | sample/from.rb | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/sample/from.rb b/sample/from.rb index 918745e55f..0e5a08de5f 100644 --- a/sample/from.rb +++ b/sample/from.rb @@ -43,8 +43,8 @@ def get_mailfile(user) [ENV['SPOOLDIR'], '/usr/spool', '/var/spool', '/usr', '/var'].each do |m| path = "#{m}/mail/#{user}" if File.exist?(path) - file = path - break + file = path + break end end end @@ -62,25 +62,25 @@ def from_main if File.exist?(file) atime = File.atime(file) mtime = File.mtime(file) - open(file, "r") do |f| + File.open(file, "r") do |f| until f.eof? - header = {} - f.each_line do |line| - next if /^From / =~ line # skip From-line - break if /^$/ =~ line # end of header - - if /^(?<attr>\S+?):\s*(?<value>.*)/ =~ line - attr.capitalize! - header[attr] = value - elsif attr - header[attr] += "\n" + line.lstrip - end - end - - f.each_line do |line| - break if /^From / =~ line - end - outcount += fromout(header['Date'], header['From'], header['Subject']) + header = {} + f.each_line do |line| + next if /^From / =~ line # skip From-line + break if /^$/ =~ line # end of header + + if /^(?<attr>\S+?):\s*(?<value>.*)/ =~ line + attr.capitalize! + header[attr] = value + elsif attr + header[attr] += "\n" + line.lstrip + end + end + + f.each_line do |line| + break if /^From / =~ line + end + outcount += fromout(header['Date'], header['From'], header['Subject']) end end File.utime(atime, mtime, file) |
