olivierlemasle / cstr

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cstr

CI Crates.io Docs

A macro for getting &'static CStr from literal or identifier.

This macro checks whether the given literal is valid for CStr at compile time, and returns a static reference of CStr.

This macro can be used to to initialize constants on Rust 1.46 and above.

Example

use cstr::cstr;
use std::ffi::CStr;

let test = cstr!(b"hello\xff");
assert_eq!(test, CStr::from_bytes_with_nul(b"hello\xff\0").unwrap());
let test = cstr!("hello");
assert_eq!(test, CStr::from_bytes_with_nul(b"hello\0").unwrap());
let test = cstr!(hello);
assert_eq!(test, CStr::from_bytes_with_nul(b"hello\0").unwrap());

About

License:MIT License


Languages

Language:Rust 100.0%