rust: Remove now unused byte_slice_is_c_like() utility.

This commit is contained in:
Isis Lovecruft 2018-02-10 02:20:50 +00:00
parent 081e99c16f
commit a4797a7e62
No known key found for this signature in database
GPG Key ID: B8938BC5E86C046F
2 changed files with 0 additions and 40 deletions

View File

@ -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

View File

@ -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