File tree Expand file tree Collapse file tree 2 files changed +9
-4
lines changed Expand file tree Collapse file tree 2 files changed +9
-4
lines changed Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
5
5
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8
- refs/heads/try2: 9dc357b8ed0ebc0755f7247deb8314c74e1acf80
8
+ refs/heads/try2: 403e8695712cd9779b9cc91c61e780d3bfb8212a
9
9
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
10
10
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
11
11
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
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