Skip to content

Commit 524c37a

Browse files
committed
---
yaml --- r: 39838 b: refs/heads/incoming c: 07c39b1 h: refs/heads/master v: v3
1 parent 8b330df commit 524c37a

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
@@ -6,7 +6,7 @@ refs/heads/try: 3d5418789064fdb463e872a4e651af1c628a3650
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: a810c03263670238bccd64cabb12a23a46e3a278
9-
refs/heads/incoming: 26334b64a29612be8190bedfbd507fa6ac6f8eb5
9+
refs/heads/incoming: 07c39b1436f07b3a88daa39a3fc021c4bb3208e5
1010
refs/heads/dist-snap: 22efa39382d41b084fde1719df7ae8ce5697d8c9
1111
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1212
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/incoming/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)