--- lib/sup/maildir.rb | 4 ++-- lib/sup/mbox/loader.rb | 4 ++-- lib/sup/util.rb | 7 +++++++ 3 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/lib/sup/maildir.rb b/lib/sup/maildir.rb index 0852576..b2c5847 100644 --- a/lib/sup/maildir.rb +++ b/lib/sup/maildir.rb @@ -59,7 +59,7 @@ class Maildir < Source File.stat(tmp_path) rescue Errno::ENOENT #this is what we want. begin - File.open(tmp_path, 'wb:BINARY') do |f| + File.open_binary(tmp_path, 'w') do |f| yield f #provide a writable interface for the caller f.fsync end @@ -207,7 +207,7 @@ private def with_file_for id fn = @ids_to_fns[id] or raise OutOfSyncSourceError, "No such id: #{id.inspect}." begin - File.open(fn, 'rb:BINARY') { |f| yield f } + File.open_binary(fn, 'r') { |f| yield f } rescue SystemCallError, IOError => e raise FatalSourceError, "Problem reading file for id #{id.inspect}: #{fn.inspect}: #{e.message}." end diff --git a/lib/sup/mbox/loader.rb b/lib/sup/mbox/loader.rb index ec28d3b..557c13b 100644 --- a/lib/sup/mbox/loader.rb +++ b/lib/sup/mbox/loader.rb @@ -22,7 +22,7 @@ class Loader < Source raise ArgumentError, "not an mbox uri" unless uri.scheme == "mbox" raise ArgumentError, "mbox URI ('#{uri}') cannot have a host: #{uri.host}" if uri.host raise ArgumentError, "mbox URI must have a path component" unless uri.path - @f = File.open uri.path, 'rb:BINARY' + @f = File.open_binary uri.path, 'r' @path = uri.path else @f = uri_or_fp @@ -114,7 +114,7 @@ class Loader < Source def store_message date, from_email, &block need_blank = File.exists?(@filename) && !File.zero?(@filename) - File.open(@filename, "ab:BINARY") do |f| + File.open_binary(@filename, "a") do |f| f.puts if need_blank f.puts "From #{from_email} #{date.rfc2822}" yield f diff --git a/lib/sup/util.rb b/lib/sup/util.rb index c27e527..e8f3289 100644 --- a/lib/sup/util.rb +++ b/lib/sup/util.rb @@ -691,3 +691,10 @@ class Iconv end end end + +class File + def self.open_binary filename, mode + mode += 'b:BINARY' if String.method_defined? :encoding + open filename, mode + end +end -- 1.6.3.3 _______________________________________________ Sup-devel mailing list Sup-devel@rubyforge.org http://rubyforge.org/mailman/listinfo/sup-devel