INNER CODE UNIT · Rust
strip_comments
dontpanic92/OpenPAL3 · crosscom/ccidl-rs/src/lib.rs:197
fn strip_comments(input: &str) -> Result<String, String> {
let bytes = input.as_bytes();
let mut out = Vec::with_capacity(bytes.len());
let mut i = 0;
while i < bytes.len() {
if i + 1 < bytes.len() && bytes[i] == b'/' && bytes[i + 1] == b'/' {
out.push(b' ');
out.push(b' ');
i += 2;
while i < bytes.len() && bytes[i] != b'\n' {
out.push(b' ');
i += 1;
}
} else if i + 1 < bytes.len() && bytes[i] == b'/' && bytes[i + 1] == b'*' {
let start = i;
out.push(b' ');
out.push(b' ');
i += 2;