about summary refs log tree commit diff
path: root/src/libstd/ffi
diff options
context:
space:
mode:
authorFlorian Hahn <flo@fhahn.com>2015-12-15 00:03:42 +0100
committerFlorian Hahn <flo@fhahn.com>2015-12-18 13:32:14 +0100
commitde3e843d2467dff3ccb83efbae9260dc1b2a40bf (patch)
tree296aa9288270388391d96df8386f3437cbf8ac02 /src/libstd/ffi
parentca52c56e346a2a2bb042bec441b5058df3e3e289 (diff)
downloadrust-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.rs3
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) }),
         }