Skip to content

Commit 095ce55

Browse files
Partially revert "Add regression test for NuschtOS/search#339 (#103)"
1 parent 667f30f commit 095ce55

1 file changed

Lines changed: 5 additions & 30 deletions

File tree

libixx/src/string_view.rs

Lines changed: 5 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -35,52 +35,27 @@ impl Display for StringView<'_, '_> {
3535
impl StringView<'_, '_> {
3636
pub fn matches(&self, search: &[Vec<&[u8]>]) -> Result<bool, IxxError> {
3737
let mut self_parts_start = 0;
38-
// byte offset into self.parts[self_parts_start] to resume from
3938
let mut self_parts_start_str_idx = 0;
40-
// single-part matches leave self_parts_start on the matched label,
41-
// a subsequent multi-part segment needs to start at the next label
42-
let mut prev_was_single_part = false;
4339

4440
for segment in search {
45-
// for eg: "programs.vim" each dot-component matches a full label exactly
46-
if segment.len() > 1 {
47-
if prev_was_single_part {
48-
self_parts_start += 1;
49-
self_parts_start_str_idx = 0;
50-
51-
prev_was_single_part = false;
52-
}
53-
for part in segment {
54-
if self_parts_start >= self.parts.len() {
55-
return Ok(false);
56-
}
57-
let self_part = self.index.resolve_reference(self.parts[self_parts_start])?;
58-
if !eq_ignore_ascii_case(&self_part.data, part) {
59-
return Ok(false);
60-
}
61-
self_parts_start += 1;
62-
}
63-
} else {
64-
// bare word or trailing wildcard: substring should match across remaining labels
65-
let part = &segment[0];
41+
for part in segment {
6642
'outer: {
6743
for (self_part_idx, self_part) in self.parts[self_parts_start..].iter().enumerate() {
6844
let self_part = self.index.resolve_reference(*self_part)?;
6945

7046
if let Some(idx) = ascii_ignore_case_find(&self_part.data[self_parts_start_str_idx..], part) {
7147
self_parts_start += self_part_idx;
72-
self_parts_start_str_idx = if self_part_idx == 0 {
73-
self_parts_start_str_idx + idx
48+
if self_part_idx == 0 {
49+
self_parts_start_str_idx += idx;
7450
} else {
75-
idx
76-
};
51+
self_parts_start_str_idx = 0;
52+
}
7753
break 'outer;
7854
}
7955
self_parts_start_str_idx = 0;
8056
}
8157
return Ok(false);
8258
}
83-
prev_was_single_part = true;
8459
}
8560
}
8661

0 commit comments

Comments
 (0)