diff options
author | tjr <tjr@FreeBSD.org> | 2004-05-27 10:08:44 +0000 |
---|---|---|
committer | tjr <tjr@FreeBSD.org> | 2004-05-27 10:08:44 +0000 |
commit | e1421e9ba08c75e30ba679dde39a3a3113753134 (patch) | |
tree | 8df6ac563d8a88919c3133eadb6ff495dd75ed57 /include | |
parent | 812f2e1f5c817f41bd0249adc54627e2c1b07813 (diff) | |
download | FreeBSD-src-e1421e9ba08c75e30ba679dde39a3a3113753134.zip FreeBSD-src-e1421e9ba08c75e30ba679dde39a3a3113753134.tar.gz |
Bring back the macro versions of getwc(), getwchar(), putwc() and
putwchar(), but this time avoid redundantly declaring __stdinp and
__stdoutp when source files include both <stdio.h> and <wchar.h>.
Diffstat (limited to 'include')
-rw-r--r-- | include/stdio.h | 3 | ||||
-rw-r--r-- | include/wchar.h | 12 |
2 files changed, 15 insertions, 0 deletions
diff --git a/include/stdio.h b/include/stdio.h index 52fb7f7..f7af47a 100644 --- a/include/stdio.h +++ b/include/stdio.h @@ -134,11 +134,14 @@ typedef struct __sFILE { fpos_t _offset; /* current lseek offset (see WARNING) */ } FILE; +#ifndef _STDSTREAM_DECLARED __BEGIN_DECLS extern FILE *__stdinp; extern FILE *__stdoutp; extern FILE *__stderrp; __END_DECLS +#define _STDSTREAM_DECLARED +#endif #define __SLBF 0x0001 /* line buffered */ #define __SNBF 0x0002 /* unbuffered */ diff --git a/include/wchar.h b/include/wchar.h index b8bb90a..5bfac56 100644 --- a/include/wchar.h +++ b/include/wchar.h @@ -171,6 +171,18 @@ wchar_t *wmemset(wchar_t *, wchar_t, size_t); int wprintf(const wchar_t * __restrict, ...); int wscanf(const wchar_t * __restrict, ...); +#ifndef _STDSTREAM_DECLARED +extern struct __sFILE *__stdinp; +extern struct __sFILE *__stdoutp; +extern struct __sFILE *__stderrp; +#define _STDSTREAM_DECLARED +#endif + +#define getwc(fp) fgetwc(fp) +#define getwchar() fgetwc(__stdinp) +#define putwc(wc, fp) fputwc(x, fp) +#define putwchar(wc) fputwc(wc, __stdoutp) + #if __ISO_C_VISIBLE >= 1999 int vfwscanf(struct __sFILE * __restrict, const wchar_t * __restrict, __va_list); |