tree: a05a2b934f768d0dd12d6024bfbefd084d0b2704 [path history] [tgz]
  1. src/
  2. tests/
  3. .cargo-checksum.json
  4. Cargo.toml
  5. LICENSE
  6. README.md
vendor/cstr/README.md

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());