diff options
author | Ron Yorston <rmy@pobox.com> | 2020-12-07 08:40:25 +0000 |
---|---|---|
committer | Ron Yorston <rmy@pobox.com> | 2020-12-07 08:45:29 +0000 |
commit | 26b641cde2e1bb2ed95683afa94b31ba0207339d (patch) | |
tree | f1caf6cdf0da02da2375a7d2c0fed11a00e4888e /include | |
parent | fd774ee45b592977ebd7cb06cb0049d69219a530 (diff) | |
download | busybox-w32-26b641cde2e1bb2ed95683afa94b31ba0207339d.tar.gz busybox-w32-26b641cde2e1bb2ed95683afa94b31ba0207339d.tar.bz2 busybox-w32-26b641cde2e1bb2ed95683afa94b31ba0207339d.zip |
winansi: intercept calls to fputc(3)
Perform code page translation for fputc(3). It's only used in a
few places but is needed to fix things like:
$ echo € | dos2unix
Ç
$ paste -d € file1 file2
1Ç2
Unfortunately it breaks the inventive use of dos2unix in GitHub
issue #203.
Diffstat (limited to 'include')
-rw-r--r-- | include/mingw.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/mingw.h b/include/mingw.h index d70bc26e6..8af2e3938 100644 --- a/include/mingw.h +++ b/include/mingw.h | |||
@@ -152,6 +152,7 @@ int winansi_putchar(int c); | |||
152 | int winansi_puts(const char *s); | 152 | int winansi_puts(const char *s); |
153 | size_t winansi_fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream); | 153 | size_t winansi_fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream); |
154 | int winansi_fputs(const char *str, FILE *stream); | 154 | int winansi_fputs(const char *str, FILE *stream); |
155 | int winansi_fputc(int c, FILE *stream); | ||
155 | int winansi_vsnprintf(char *buf, size_t size, const char *format, va_list list); | 156 | int winansi_vsnprintf(char *buf, size_t size, const char *format, va_list list); |
156 | int winansi_vfprintf(FILE *stream, const char *format, va_list list); | 157 | int winansi_vfprintf(FILE *stream, const char *format, va_list list); |
157 | int winansi_printf(const char *format, ...) __attribute__((format (printf, 1, 2))); | 158 | int winansi_printf(const char *format, ...) __attribute__((format (printf, 1, 2))); |
@@ -163,6 +164,7 @@ int winansi_getc(FILE *stream); | |||
163 | #define puts winansi_puts | 164 | #define puts winansi_puts |
164 | #define fwrite winansi_fwrite | 165 | #define fwrite winansi_fwrite |
165 | #define fputs winansi_fputs | 166 | #define fputs winansi_fputs |
167 | #define fputc winansi_fputc | ||
166 | #if !defined(__USE_MINGW_ANSI_STDIO) || !__USE_MINGW_ANSI_STDIO | 168 | #if !defined(__USE_MINGW_ANSI_STDIO) || !__USE_MINGW_ANSI_STDIO |
167 | #define vsnprintf(buf, size, ...) winansi_vsnprintf(buf, size, __VA_ARGS__) | 169 | #define vsnprintf(buf, size, ...) winansi_vsnprintf(buf, size, __VA_ARGS__) |
168 | #endif | 170 | #endif |