Skip to content

Commit 461fe2f

Browse files
committed
fix: char set should include all special characters
1 parent 65abf78 commit 461fe2f

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

crates/producer/src/default_query.rs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,17 @@ pub struct DefaultQuery {
1010

1111
impl DefaultQuery {
1212
pub fn new(max_length: u32, min_length: u32) -> Self {
13-
let mut char_set: Vec<u8> = (b'0'..=b'9').chain(b'A'..=b'Z').chain(b'a'..=b'z').collect();
13+
let mut char_set: Vec<u8> = (b'0'..=b'9')
14+
.chain(b'A'..=b'Z')
15+
.chain(b'a'..=b'z')
16+
.chain(b'!'..=b'/') // Adding special characters from ASCII range ! (33) to / (47)
17+
.chain(b':'..=b'@') // Adding special characters from ASCII range : (58) to @ (64)
18+
.chain(b'['..=b'`') // Adding special characters from ASCII range [ (91) to ` (96)
19+
.chain(b'{'..=b'~') // Adding special characters from ASCII range { (123) to ~ (126)
20+
.collect();
21+
1422
char_set.sort();
23+
1524
Self {
1625
max_length,
1726
min_length,
@@ -25,7 +34,7 @@ impl DefaultQuery {
2534
impl Producer for DefaultQuery {
2635
fn next(&mut self) -> Result<Option<Vec<u8>>, String> {
2736
let mut stopped = false;
28-
for i in 0..next.len() {
37+
for i in 0..self.current.len() {
2938
let spot = match self.char_set.binary_search(&self.current[i]) {
3039
Ok(spot) => spot,
3140
Err(_) => return Err("Couldn't find character in character set".to_string()),

0 commit comments

Comments
 (0)