File tree Expand file tree Collapse file tree 2 files changed +12
-3
lines changed Expand file tree Collapse file tree 2 files changed +12
-3
lines changed Original file line number Diff line number Diff line change 2
2
refs/heads/master: 09bb07bed9166105ea961a42b5fff7739ae0d2e9
3
3
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4
4
refs/heads/snap-stage3: eb8fd119c65c67f3b1b8268cc7341c22d39b7b61
5
- refs/heads/try: 26334b64a29612be8190bedfbd507fa6ac6f8eb5
5
+ refs/heads/try: 07c39b1436f07b3a88daa39a3fc021c4bb3208e5
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8
8
refs/heads/try2: a810c03263670238bccd64cabb12a23a46e3a278
Original file line number Diff line number Diff line change @@ -452,10 +452,19 @@ pub fn self_exe_path() -> Option<Path> {
452
452
fn load_self ( ) -> Option < ~str > {
453
453
unsafe {
454
454
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 ;
456
459
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 )
458
461
}
462
+ } ;
463
+ if len == -1 {
464
+ None
465
+ } else {
466
+ str:: raw:: set_len ( & mut path_str, len as uint ) ;
467
+ Some ( path_str)
459
468
}
460
469
}
461
470
}
You can’t perform that action at this time.
0 commit comments