Skip to content

Commit 2211a1a

Browse files
committed
---
yaml --- r: 23440 b: refs/heads/master c: 83e7c86 h: refs/heads/master v: v3
1 parent 76f177e commit 2211a1a

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: dcbeebc801e071394874843e0e4c7509a0fb46c1
2+
refs/heads/master: 83e7c869bdfadf0ed8aca92e76fc5073b63402e2
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: cd6f24f9d14ac90d167386a56e7a6ac1f0318195
55
refs/heads/try: ffbe0e0e00374358b789b0037bcb3a577cd218be

trunk/src/libcore/str.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1768,6 +1768,7 @@ mod unsafe {
17681768
export
17691769
from_buf,
17701770
from_buf_len,
1771+
from_buf_len_nocopy,
17711772
from_c_str,
17721773
from_c_str_len,
17731774
from_bytes,
@@ -1799,6 +1800,13 @@ mod unsafe {
17991800
return ::unsafe::transmute(v);
18001801
}
18011802

1803+
/// Create a Rust string from a *u8 buffer of the given length without copying
1804+
unsafe fn from_buf_len_nocopy(buf: &a / *u8, len: uint) -> &a / str {
1805+
let v = (*buf, len + 1);
1806+
assert is_utf8(::unsafe::reinterpret_cast(v));
1807+
return ::unsafe::transmute(v);
1808+
}
1809+
18021810
/// Create a Rust string from a null-terminated C string
18031811
unsafe fn from_c_str(c_str: *libc::c_char) -> ~str {
18041812
from_buf(::unsafe::reinterpret_cast(c_str))

0 commit comments

Comments
 (0)