From 88deb9583290c2a4880903249eb9c5ed6ac05466 Mon Sep 17 00:00:00 2001 From: Ron Yorston Date: Thu, 20 Mar 2014 15:10:56 +0000 Subject: Implement getc replacement --- win32/winansi.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'win32') diff --git a/win32/winansi.c b/win32/winansi.c index 8ebe7b1af..e2b18b274 100644 --- a/win32/winansi.c +++ b/win32/winansi.c @@ -17,6 +17,7 @@ #undef puts #undef write #undef read +#undef getc /* ANSI codes used by git: m, K @@ -637,3 +638,26 @@ int winansi_read(int fd, void *buf, size_t count) return rv; } + +int winansi_getc(FILE *stream) +{ + int rv; + + rv = getc(stream); + if (!isatty(fileno(stream))) + return rv; + + init(); + + if (!console_in) + return rv; + + if ( rv != EOF ) { + unsigned char c = (unsigned char)rv; + char *s = (char *)&c; + OemToCharBuff(s, s, 1); + rv = (int)c; + } + + return rv; +} -- cgit v1.2.3-55-g6feb