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 |
