Browse Source

Work around a regression in Windows 7, causing erase_in_line() to crash sometimes

The function FillConsoleOutputCharacterA() was pretty content in XP to take a NULL
pointer if we did not want to store the number of written columns.  In Windows 7,
it crashes, but only when called from within Git Bash, not from within cmd.exe.
Go figure.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Steffen Prohaska <prohaska@zib.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Johannes Schindelin 16 years ago committed by Junio C Hamano
parent
commit
492f70913e
  1. 3
      compat/winansi.c

3
compat/winansi.c

@ -80,6 +80,7 @@ static void set_console_attr(void) @@ -80,6 +80,7 @@ static void set_console_attr(void)
static void erase_in_line(void)
{
CONSOLE_SCREEN_BUFFER_INFO sbi;
DWORD dummy; /* Needed for Windows 7 (or Vista) regression */

if (!console)
return;
@ -87,7 +88,7 @@ static void erase_in_line(void) @@ -87,7 +88,7 @@ static void erase_in_line(void)
GetConsoleScreenBufferInfo(console, &sbi);
FillConsoleOutputCharacterA(console, ' ',
sbi.dwSize.X - sbi.dwCursorPosition.X, sbi.dwCursorPosition,
NULL);
&dummy);
}



Loading…
Cancel
Save