cbox 0.3.0

C pointer boxing, for when working with ffi
Documentation
extern crate cbox;
extern crate libc;

use cbox::CBox;

static PRINT_TEXT:&'static [u8] = b"%s\n\0";

extern {
    fn printf(fmt: *const u8, text: *mut libc::c_char);
}

extern fn steal_print(text: *mut libc::c_char) {
    unsafe {
        printf(PRINT_TEXT.as_ptr(), text);
        libc::free(text as *mut libc::c_void);
    }
}

fn main() {
    unsafe {
        let text = CBox::from("Hello, world!");
        steal_print(text.unwrap());
    }
}