use crate::constants::MAX_COMMENT_LENGTH;
#[inline]
pub fn skip_whitespace_bytes(bytes: &[u8], mut pos: usize) -> usize {
while pos < bytes.len() && bytes[pos].is_ascii_whitespace() {
pos += 1;
}
pos
}
pub fn skip_whitespace_and_comments_bytes(bytes: &[u8], mut pos: usize) -> usize {
loop {
pos = skip_whitespace_bytes(bytes, pos);
if pos + 1 < bytes.len() && bytes[pos] == b'/' && bytes[pos + 1] == b'*' {
pos += 2;
let comment_start = pos;
while pos + 1 < bytes.len() {
if pos - comment_start > MAX_COMMENT_LENGTH {
return bytes.len(); }
if bytes[pos] == b'*' && bytes[pos + 1] == b'/' {
pos += 2; break;
}
pos += 1;
}
if pos >= bytes.len() || pos + 1 >= bytes.len() {
#[cfg(debug_assertions)]
eprintln!("[revue css] warning: unterminated comment in CSS");
return bytes.len();
}
} else {
break;
}
}
pos
}