Skip to content

Commit 16a15d6

Browse files
committed
---
yaml --- r: 38453 b: refs/heads/try c: 07c39b1 h: refs/heads/master i: 38451: 96aa9c2 v: v3
1 parent 28805ff commit 16a15d6

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
refs/heads/master: 09bb07bed9166105ea961a42b5fff7739ae0d2e9
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: eb8fd119c65c67f3b1b8268cc7341c22d39b7b61
5-
refs/heads/try: 26334b64a29612be8190bedfbd507fa6ac6f8eb5
5+
refs/heads/try: 07c39b1436f07b3a88daa39a3fc021c4bb3208e5
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: a810c03263670238bccd64cabb12a23a46e3a278

branches/try/src/libcore/os.rs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -452,10 +452,19 @@ pub fn self_exe_path() -> Option<Path> {
452452
fn load_self() -> Option<~str> {
453453
unsafe {
454454
use libc::funcs::posix01::unistd::readlink;
455-
do fill_charp_buf() |buf, sz| {
455+
456+
let mut path_str = str::with_capacity(tmpbuf_sz);
457+
let len = do str::as_c_str(path_str) |buf| {
458+
let buf = buf as *mut c_char;
456459
do as_c_charp("/proc/self/exe") |proc_self_buf| {
457-
readlink(proc_self_buf, buf, sz) != (-1 as ssize_t)
460+
readlink(proc_self_buf, buf, tmpbuf_sz as size_t)
458461
}
462+
};
463+
if len == -1 {
464+
None
465+
} else {
466+
str::raw::set_len(&mut path_str, len as uint);
467+
Some(path_str)
459468
}
460469
}
461470
}

0 commit comments

Comments
 (0)