luaur-compiler 0.1.3

Luau source-to-bytecode compiler (Rust).
Documentation
extern crate alloc;

use alloc::vec::Vec;
use core::ffi::c_char;

#[allow(non_snake_case)]
pub(crate) fn escapeAndAppend(buffer: &mut Vec<u8>, r#str: *const c_char, len: usize) {
    let s = unsafe { core::slice::from_raw_parts(r#str as *const u8, len) };

    if s.contains(&b'%') {
        for &character in s {
            buffer.push(character);

            if character == b'%' {
                buffer.push(b'%');
            }
        }
    } else {
        buffer.extend_from_slice(s);
    }
}