diff options
| author | Florian Hahn <flo@fhahn.com> | 2015-12-15 00:03:42 +0100 |
|---|---|---|
| committer | Florian Hahn <flo@fhahn.com> | 2015-12-18 13:32:14 +0100 |
| commit | de3e843d2467dff3ccb83efbae9260dc1b2a40bf (patch) | |
| tree | 296aa9288270388391d96df8386f3437cbf8ac02 /src/libstd/ffi | |
| parent | ca52c56e346a2a2bb042bec441b5058df3e3e289 (diff) | |
| download | rust-de3e843d2467dff3ccb83efbae9260dc1b2a40bf.tar.gz rust-de3e843d2467dff3ccb83efbae9260dc1b2a40bf.zip | |
Use memchr in libstd where possible, closes #30076
Diffstat (limited to 'src/libstd/ffi')
| -rw-r--r-- | src/libstd/ffi/c_str.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libstd/ffi/c_str.rs b/src/libstd/ffi/c_str.rs index 318ff410cba..3f3913471b8 100644 --- a/src/libstd/ffi/c_str.rs +++ b/src/libstd/ffi/c_str.rs @@ -19,6 +19,7 @@ use io; use iter::Iterator; use libc; use mem; +use memchr; use ops::Deref; use option::Option::{self, Some, None}; use os::raw::c_char; @@ -188,7 +189,7 @@ impl CString { } fn _new(bytes: Vec<u8>) -> Result<CString, NulError> { - match bytes.iter().position(|x| *x == 0) { + match memchr::memchr(0, &bytes) { Some(i) => Err(NulError(i, bytes)), None => Ok(unsafe { CString::from_vec_unchecked(bytes) }), } |
