7 releases
Uses old Rust 2015
0.1.6 | Aug 14, 2019 |
---|---|
0.1.5 | Mar 6, 2019 |
0.1.4 | Dec 2, 2018 |
0.1.3 | Apr 8, 2018 |
0.1.2 | Feb 1, 2018 |
#1876 in Procedural macros
3,268 downloads per month
3KB
64 lines
cstr
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.
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());
Dependencies
~0.7–1MB
~25K SLoC