Skip to content

Commit

Permalink
Auto merge of rust-lang#277 - lemonrock:strnlen, r=alexcrichton
Browse files Browse the repository at this point in the history
Added strnlen function to all platforms.

strnlen is used to find the length of a C string that may be
lacking a terminal NUL character. Whilst it is possible to
implement the equivalent functionality in rust code, it is
cleaner, simpler and removes the need for duplication of tricky
functionality to get right. It also makes it easier to port
C code snippets to rust. In my case, it's needed for dealing with
the result of `gethostname`.

Note that strnlen is not part of POSIX or C99, but is present on all major platforms.
  • Loading branch information
bors committed May 5, 2016
2 parents 39f03ea + 29b1cea commit ac75250
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,7 @@ extern {
pub fn strpbrk(cs: *const c_char, ct: *const c_char) -> *mut c_char;
pub fn strstr(cs: *const c_char, ct: *const c_char) -> *mut c_char;
pub fn strlen(cs: *const c_char) -> size_t;
pub fn strnlen(cs: *const c_char, maxlen: size_t) -> size_t;
#[cfg_attr(all(target_os = "macos", target_arch = "x86"),
link_name = "strerror$UNIX2003")]
pub fn strerror(n: c_int) -> *mut c_char;
Expand Down

0 comments on commit ac75250

Please sign in to comment.