mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 12:23:32 +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 smartlist::*;
|
||||
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
|
||||
/// enum to map to its associated Rust enum
|
||||
|
@ -3,45 +3,6 @@
|
||||
|
||||
//! 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.
|
||||
///
|
||||
/// # Warning
|
||||
|
Loading…
Reference in New Issue
Block a user