sup

A curses threads-with-tags style email client

sup.git

git clone https://supmua.dev/git/sup/
commit 210b30dd62b033262ac01888947619e73e578d54
parent 5c4d06d5d0c7f7448fe5abf55b5b7082eecc26d2
Author: wmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Date:   Tue, 15 May 2007 17:26:43 +0000

i guess range doesn't have a #size method

git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@400 5c8cc53c-5e98-4d25-b20a-d8db53a31250

Diffstat:
M lib/sup/imap.rb | 2 +-
M lib/sup/util.rb | 7 +++++++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/lib/sup/imap.rb b/lib/sup/imap.rb
@@ -120,7 +120,7 @@ class IMAP < Source
     values = safely { @imap.fetch range, ['RFC822.SIZE', 'INTERNALDATE'] }
     relevant_values = values.find_all { |v| range.include? v.seqno }
 
-    if relevant_values.size < values.size
+    if relevant_values.size != values.size
       Redwood::log "You IMAP server is buggy: it returned #{values.size} headers for a request for #{range.size}. What are you using, Binc?"
     end
 
diff --git a/lib/sup/util.rb b/lib/sup/util.rb
@@ -1,3 +1,10 @@
+class Range
+  ## only valid for integer ranges (unless I guess it's exclusive)
+  def size 
+    last - first + (exclude_end? ? 0 : 1)
+  end
+end
+
 class Module
   def bool_reader *args
     args.each { |sym| class_eval %{ def #{sym}?; @#{sym}; end } }