File tree Expand file tree Collapse file tree 2 files changed +9
-4
lines changed
branches/snap-stage3/src/libstd Expand file tree Collapse file tree 2 files changed +9
-4
lines changed Original file line number Diff line number Diff line change 1
1
---
2
2
refs/heads/master: 62f1d68439dcfd509eaca29887afa97f22938373
3
3
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4
- refs/heads/snap-stage3: 9dc357b8ed0ebc0755f7247deb8314c74e1acf80
4
+ refs/heads/snap-stage3: 403e8695712cd9779b9cc91c61e780d3bfb8212a
5
5
refs/heads/try: db814977d07bd798feb24f6b74c00800ef458a13
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
Original file line number Diff line number Diff line change @@ -740,11 +740,16 @@ pub fn last_os_error() -> ~str {
740
740
buf. len ( ) as DWORD ,
741
741
ptr:: null ( ) ) ;
742
742
if res == 0 {
743
- fail ! ( "[{}] FormatMessage failure" , errno( ) ) ;
743
+ // Sometimes FormatMessageW can fail e.g. system doesn't like langId,
744
+ let fm_err = errno ( ) ;
745
+ return format ! ( "OS Error {} (FormatMessageW() returned error {})" , err, fm_err) ;
744
746
}
745
747
746
- str:: from_utf16 ( str:: truncate_utf16_at_nul ( buf) )
747
- . expect ( "FormatMessageW returned invalid UTF-16" )
748
+ let msg = str:: from_utf16 ( str:: truncate_utf16_at_nul ( buf) ) ;
749
+ match msg {
750
+ Some ( msg) => format ! ( "OS Error {}: {}" , err, msg) ,
751
+ None => format ! ( "OS Error {} (FormatMessageW() returned invalid UTF-16)" , err) ,
752
+ }
748
753
}
749
754
}
750
755
You can’t perform that action at this time.
0 commit comments