bitoku_sdk_agent/helper.rs
1use crate::consts::*;
2
3pub fn validate_name(name: &[u8]) -> bool {
4 if name.len() > MAX_SIZE as usize {
5 return false;
6 }
7 let non_zero_bytes: Vec<u8> = name.iter().take_while(|&b| *b != 0).copied().collect();
8
9 for b in non_zero_bytes {
10 if !(b >= b'a' && b <= b'z')
11 && !(b >= b'A' && b <= b'Z')
12 && !(b >= b'0' && b <= b'9')
13 && !(b == b'.' || b == b'/' || b == b'_' || b == b'+' || b == b'-')
14 {
15 return false;
16 }
17 }
18 true
19}