diff options
Diffstat (limited to 'win32/winansi.c')
-rw-r--r-- | win32/winansi.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/win32/winansi.c b/win32/winansi.c index 5a6c33350..ad0d92698 100644 --- a/win32/winansi.c +++ b/win32/winansi.c | |||
@@ -24,6 +24,7 @@ static BOOL charToConA(LPSTR s); | |||
24 | #undef puts | 24 | #undef puts |
25 | #undef write | 25 | #undef write |
26 | #undef read | 26 | #undef read |
27 | #undef fread | ||
27 | #undef getc | 28 | #undef getc |
28 | 29 | ||
29 | #define FOREGROUND_ALL (FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE) | 30 | #define FOREGROUND_ALL (FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE) |
@@ -1136,6 +1137,20 @@ int winansi_read(int fd, void *buf, size_t count) | |||
1136 | return rv; | 1137 | return rv; |
1137 | } | 1138 | } |
1138 | 1139 | ||
1140 | size_t winansi_fread(void *ptr, size_t size, size_t nmemb, FILE *stream) | ||
1141 | { | ||
1142 | int rv; | ||
1143 | |||
1144 | rv = fread(ptr, size, nmemb, stream); | ||
1145 | if (!is_console_in(fileno(stream))) | ||
1146 | return rv; | ||
1147 | |||
1148 | if (rv > 0) | ||
1149 | conToCharBuffA(ptr, rv * size); | ||
1150 | |||
1151 | return rv; | ||
1152 | } | ||
1153 | |||
1139 | int winansi_getc(FILE *stream) | 1154 | int winansi_getc(FILE *stream) |
1140 | { | 1155 | { |
1141 | int rv; | 1156 | int rv; |