GitRoot

craft your forge, build your project, grow your community freely
 1// SPDX-FileCopyrightText: 2025 Romain Maneschi <romain@gitroot.dev>
 2//
 3// SPDX-License-Identifier: MIT
 4
 5use std::{slice, str};
 6
 7pub fn string_to_ptr(s: &String) -> (u32, u32) {
 8    return (s.as_ptr() as u32, s.len() as u32);
 9}
10
11pub fn ptr_to_string(ptr: u32, len: u32) -> String {
12    unsafe {
13        let slice = slice::from_raw_parts_mut(ptr as *mut u8, len as usize);
14        let utf8 = str::from_utf8_unchecked_mut(slice);
15        return String::from(utf8);
16    }
17}