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

#17 in #cstr

Download history 157/week @ 2024-01-06 172/week @ 2024-01-13 138/week @ 2024-01-20 107/week @ 2024-01-27 26/week @ 2024-02-03 85/week @ 2024-02-10 76/week @ 2024-02-17 69/week @ 2024-02-24 71/week @ 2024-03-02 69/week @ 2024-03-09 80/week @ 2024-03-16 73/week @ 2024-03-23 87/week @ 2024-03-30 54/week @ 2024-04-06 67/week @ 2024-04-13 67/week @ 2024-04-20

281 downloads per month

MIT license

4KB
64 lines

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.

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

~1.5MB
~34K SLoC