mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-28 06:13:31 +01:00
rust: Remove now unused byte_slice_is_c_like() utility.
This commit is contained in:
parent
081e99c16f
commit
a4797a7e62
@ -12,7 +12,6 @@ use std::ffi::CString;
|
|||||||
use protover::*;
|
use protover::*;
|
||||||
use smartlist::*;
|
use smartlist::*;
|
||||||
use tor_allocate::allocate_and_copy_string;
|
use tor_allocate::allocate_and_copy_string;
|
||||||
use tor_util::strings::byte_slice_is_c_like;
|
|
||||||
|
|
||||||
/// Translate C enums to Rust Proto enums, using the integer value of the C
|
/// Translate C enums to Rust Proto enums, using the integer value of the C
|
||||||
/// enum to map to its associated Rust enum
|
/// enum to map to its associated Rust enum
|
||||||
|
@ -3,45 +3,6 @@
|
|||||||
|
|
||||||
//! Utilities for working with static strings.
|
//! Utilities for working with static strings.
|
||||||
|
|
||||||
/// A byte-array containing a single NUL byte (`b"\0"`).
|
|
||||||
pub const NUL_BYTE: &'static [u8] = b"\0";
|
|
||||||
|
|
||||||
/// Determine if a byte slice is a C-like string.
|
|
||||||
///
|
|
||||||
/// These checks guarantee that:
|
|
||||||
///
|
|
||||||
/// 1. there are no intermediate NUL bytes
|
|
||||||
/// 2. the last byte *is* a NUL byte
|
|
||||||
///
|
|
||||||
/// # Warning
|
|
||||||
///
|
|
||||||
/// This function does _not_ guarantee that the bytes represent any valid
|
|
||||||
/// encoding such as ASCII or UTF-8.
|
|
||||||
///
|
|
||||||
/// # Examples
|
|
||||||
///
|
|
||||||
/// ```
|
|
||||||
/// # use tor_util::strings::byte_slice_is_c_like;
|
|
||||||
/// #
|
|
||||||
/// let bytes: &[u8] = b"foo bar baz";
|
|
||||||
///
|
|
||||||
/// assert!(byte_slice_is_c_like(&bytes) == false);
|
|
||||||
///
|
|
||||||
/// let bytes: &[u8] = b"foo\0bar baz";
|
|
||||||
///
|
|
||||||
/// assert!(byte_slice_is_c_like(&bytes) == false);
|
|
||||||
///
|
|
||||||
/// let bytes: &[u8] = b"foo bar baz\0";
|
|
||||||
///
|
|
||||||
/// assert!(byte_slice_is_c_like(&bytes) == true);
|
|
||||||
/// ```
|
|
||||||
pub fn byte_slice_is_c_like(bytes: &[u8]) -> bool {
|
|
||||||
if !bytes[..bytes.len() - 1].contains(&0x00) && bytes[bytes.len() - 1] == 0x00 {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
false
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Create a `CStr` from a literal byte slice, appending a NUL byte to it first.
|
/// Create a `CStr` from a literal byte slice, appending a NUL byte to it first.
|
||||||
///
|
///
|
||||||
/// # Warning
|
/// # Warning
|
||||||
|
Loading…
Reference in New Issue
Block a user