Skip to content

Commit e76f0bc

Browse files
authored
🔀 Merge pull request #743 from OskarEichler/codex/index-imap
Keep large ordered sequence indices as integers
2 parents a7a668a + 8a8b94a commit e76f0bc

2 files changed

Lines changed: 4 additions & 2 deletions

File tree

lib/net/imap/sequence_set.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1691,7 +1691,7 @@ def find_index(number)
16911691
number = import_num number
16921692
each_minmax_with_index(minmaxes) do |min, max, idx_min|
16931693
number < min and return nil
1694-
number <= max and return export_num(idx_min + (number - min))
1694+
number <= max and return idx_min + (number - min)
16951695
end
16961696
nil
16971697
end
@@ -1704,7 +1704,7 @@ def find_ordered_index(number)
17041704
number = import_num number
17051705
each_minmax_with_index(each_entry_minmax) do |min, max, idx_min|
17061706
if min <= number && number <= max
1707-
return export_num(idx_min + (number - min))
1707+
return idx_min + (number - min)
17081708
end
17091709
end
17101710
nil

test/net/imap/test_sequence_set.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -558,6 +558,8 @@ def obj.to_sequence_set; 192_168.001_255 end
558558
assert_equal 3, set.find_ordered_index(5)
559559
assert_equal 4, set.find_ordered_index(6)
560560
assert_nil set.find_ordered_index(4)
561+
set = SequenceSet["1:4294967294,1:4294967294,*"]
562+
assert_equal 8_589_934_588, set.find_ordered_index(:*)
561563
set = SequenceSet["1000:1111,1:100"]
562564
assert_equal 0, set.find_ordered_index(1000)
563565
assert_equal 100, set.find_ordered_index(1100)

0 commit comments

Comments
 (0)