]> asedeno.scripts.mit.edu Git - git.git/blobdiff - compat/winansi.c
Merge branch 'rc/maint-http-local-slot-fix'
[git.git] / compat / winansi.c
index e2d96dfe6f75213de567174261d9aeba3e663d9d..9217c24b43f7546815079d540304aa71821df926 100644 (file)
@@ -18,8 +18,6 @@
 
  This file is git-specific. Therefore, this file does not attempt
  to implement any codes that are not used by git.
-
- TODO: K
 */
 
 static HANDLE console;
@@ -79,6 +77,21 @@ static void set_console_attr(void)
        SetConsoleTextAttribute(console, attributes);
 }
 
+static void erase_in_line(void)
+{
+       CONSOLE_SCREEN_BUFFER_INFO sbi;
+       DWORD dummy; /* Needed for Windows 7 (or Vista) regression */
+
+       if (!console)
+               return;
+
+       GetConsoleScreenBufferInfo(console, &sbi);
+       FillConsoleOutputCharacterA(console, ' ',
+               sbi.dwSize.X - sbi.dwCursorPosition.X, sbi.dwCursorPosition,
+               &dummy);
+}
+
+
 static const char *set_attr(const char *str)
 {
        const char *func;
@@ -218,7 +231,7 @@ static const char *set_attr(const char *str)
                set_console_attr();
                break;
        case 'K':
-               /* TODO */
+               erase_in_line();
                break;
        default:
                /* Unsupported code */