Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2009-06-01 10:04:16 +0400
committerJunio C Hamano <gitster@pobox.com>2009-06-01 11:08:54 +0400
commit492f70913e11de19bc4cb197b1fe195c645b89c9 (patch)
tree2f564c3827c5d3b169e83bb3a7582106cf626da5 /compat/winansi.c
parent900a5d075e8b48025439966dc3863189874bae3b (diff)
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>
Diffstat (limited to 'compat/winansi.c')
-rw-r--r--compat/winansi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/compat/winansi.c b/compat/winansi.c
index 44dc293ad3..9217c24b43 100644
--- a/compat/winansi.c
+++ b/compat/winansi.c
@@ -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)
GetConsoleScreenBufferInfo(console, &sbi);
FillConsoleOutputCharacterA(console, ' ',
sbi.dwSize.X - sbi.dwCursorPosition.X, sbi.dwCursorPosition,
- NULL);
+ &dummy);
}