Skip to content

Commit

Permalink
use proper name instead of magic number
Browse files Browse the repository at this point in the history
  • Loading branch information
tesuji committed May 26, 2024
1 parent 5065123 commit b06b122
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 8 deletions.
2 changes: 1 addition & 1 deletion library/test/src/bench.rs
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ fn fmt_thousands_sep(mut n: f64, sep: char) -> String {
(0, true) => write!(output, "{:06.2}", n / base as f64).unwrap(),
(0, false) => write!(output, "{:.2}", n / base as f64).unwrap(),
(_, true) => write!(output, "{:03}", n as usize / base).unwrap(),
_ => write!(output, "{}", n as usize / base).unwrap()
_ => write!(output, "{}", n as usize / base).unwrap(),
}
if pow != 0 {
output.push(sep);
Expand Down
12 changes: 5 additions & 7 deletions library/test/src/term/win.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ type WORD = u16;
type DWORD = u32;
type BOOL = i32;
type HANDLE = *mut u8;
// https://docs.microsoft.com/en-us/windows/console/getstdhandle
const STD_OUTPUT_HANDLE: DWORD = -11 as _;

#[allow(non_snake_case)]
#[repr(C)]
Expand Down Expand Up @@ -99,16 +101,13 @@ impl<T: Write + Send + 'static> WinConsole<T> {
accum |= color_to_bits(self.background) << 4;

unsafe {
// Magic -11 means stdout, from
// https://docs.microsoft.com/en-us/windows/console/getstdhandle
//
// You may be wondering, "but what about stderr?", and the answer
// to that is that setting terminal attributes on the stdout
// handle also sets them for stderr, since they go to the same
// terminal! Admittedly, this is fragile, since stderr could be
// redirected to a different console. This is good enough for
// rustc though. See #13400.
let out = GetStdHandle(-11i32 as DWORD);
let out = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(out, accum);
}
}
Expand All @@ -120,9 +119,8 @@ impl<T: Write + Send + 'static> WinConsole<T> {
let bg;
unsafe {
let mut buffer_info = MaybeUninit::<CONSOLE_SCREEN_BUFFER_INFO>::uninit();
if GetConsoleScreenBufferInfo(GetStdHandle(-11i32 as DWORD), buffer_info.as_mut_ptr())
!= 0
{
let handle = GetStdHandle(STD_OUTPUT_HANDLE);
if GetConsoleScreenBufferInfo(handle, buffer_info.as_mut_ptr()) != 0 {
let buffer_info = buffer_info.assume_init();
fg = bits_to_color(buffer_info.wAttributes);
bg = bits_to_color(buffer_info.wAttributes >> 4);
Expand Down

0 comments on commit b06b122

Please sign in to comment.