Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/include/wchar.h,v rcsdiff: /ftp/cvs/cvsroot/src/include/wchar.h,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.13 retrieving revision 1.31 diff -u -p -r1.13 -r1.31 --- src/include/wchar.h 2003/03/02 22:18:11 1.13 +++ src/include/wchar.h 2013/04/16 11:55:02 1.31 @@ -1,4 +1,4 @@ -/* $NetBSD: wchar.h,v 1.13 2003/03/02 22:18:11 tshiozak Exp $ */ +/* $NetBSD: wchar.h,v 1.31 2013/04/16 11:55:02 joerg Exp $ */ /*- * Copyright (c)1999 Citrus Project, @@ -41,13 +41,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -66,12 +59,14 @@ #define _WCHAR_H_ #include -#include +#include +#include +#include #include #include /* for FILE* */ -#ifdef _BSD_WCHAR_T_ +#if defined(_BSD_WCHAR_T_) && !defined(__cplusplus) typedef _BSD_WCHAR_T_ wchar_t; #undef _BSD_WCHAR_T_ #endif @@ -91,6 +86,117 @@ typedef _BSD_SIZE_T_ size_t; #undef _BSD_SIZE_T_ #endif +#if defined(_POSIX_C_SOURCE) +#ifndef __VA_LIST_DECLARED +typedef __va_list va_list; +#define __VA_LIST_DECLARED +#endif +#endif + +struct tm; + +__BEGIN_DECLS +wint_t btowc(int); +size_t mbrlen(const char * __restrict, size_t, mbstate_t * __restrict); +size_t mbrtowc(wchar_t * __restrict, const char * __restrict, size_t, + mbstate_t * __restrict); +int mbsinit(const mbstate_t *); +size_t mbsrtowcs(wchar_t * __restrict, const char ** __restrict, size_t, + mbstate_t * __restrict); +size_t wcrtomb(char * __restrict, wchar_t, mbstate_t * __restrict); +wchar_t *wcscat(wchar_t * __restrict, const wchar_t * __restrict); +wchar_t *wcschr(const wchar_t *, wchar_t); +int wcscmp(const wchar_t *, const wchar_t *); +int wcscoll(const wchar_t *, const wchar_t *); +wchar_t *wcscpy(wchar_t * __restrict, const wchar_t * __restrict); +size_t wcscspn(const wchar_t *, const wchar_t *); +size_t wcsftime(wchar_t * __restrict, size_t, const wchar_t * __restrict, + const struct tm * __restrict); +size_t wcslen(const wchar_t *); +wchar_t *wcsncat(wchar_t * __restrict, const wchar_t * __restrict, size_t); +int wcsncmp(const wchar_t *, const wchar_t *, size_t); +wchar_t *wcsncpy(wchar_t * __restrict , const wchar_t * __restrict, size_t); +wchar_t *wcspbrk(const wchar_t *, const wchar_t *); +wchar_t *wcsrchr(const wchar_t *, wchar_t); +size_t wcsrtombs(char * __restrict, const wchar_t ** __restrict, size_t, + mbstate_t * __restrict); +size_t wcsspn(const wchar_t *, const wchar_t *); +wchar_t *wcsstr(const wchar_t *, const wchar_t *); +wchar_t *wcstok(wchar_t * __restrict, const wchar_t * __restrict, + wchar_t ** __restrict); +size_t wcsxfrm(wchar_t *, const wchar_t *, size_t); +wchar_t *wcswcs(const wchar_t *, const wchar_t *); +wchar_t *wmemchr(const wchar_t *, wchar_t, size_t); +int wmemcmp(const wchar_t *, const wchar_t *, size_t); +wchar_t *wmemcpy(wchar_t * __restrict, const wchar_t * __restrict, size_t); +wchar_t *wmemmove(wchar_t *, const wchar_t *, size_t); +wchar_t *wmemset(wchar_t *, wchar_t, size_t); + +size_t wcslcat(wchar_t *, const wchar_t *, size_t); +size_t wcslcpy(wchar_t *, const wchar_t *, size_t); +int wcswidth(const wchar_t *, size_t); +int wctob(wint_t); +int wcwidth(wchar_t); + +unsigned long int wcstoul(const wchar_t * __restrict, + wchar_t ** __restrict, int); +long int wcstol(const wchar_t * __restrict, + wchar_t ** __restrict, int); +double wcstod(const wchar_t * __restrict, wchar_t ** __restrict); + +#if defined(_ISOC99_SOURCE) || (__STDC_VERSION__ - 0) > 199901L || \ + defined(_NETBSD_SOURCE) +float wcstof(const wchar_t * __restrict, wchar_t ** __restrict); +long double wcstold(const wchar_t * __restrict, wchar_t ** __restrict); + +/* LONGLONG */ +long long int wcstoll(const wchar_t * __restrict, + wchar_t ** __restrict, int); +/* LONGLONG */ +unsigned long long int wcstoull(const wchar_t * __restrict, + wchar_t ** __restrict, int); +#endif + +wint_t ungetwc(wint_t, FILE *); +wint_t fgetwc(FILE *); +wchar_t *fgetws(wchar_t * __restrict, int, FILE * __restrict); +wint_t getwc(FILE *); +wint_t getwchar(void); +wint_t fputwc(wchar_t, FILE *); +int fputws(const wchar_t * __restrict, FILE * __restrict); +wint_t putwc(wchar_t, FILE *); +wint_t putwchar(wchar_t); + +int fwide(FILE *, int); + +wchar_t *fgetwln(FILE * __restrict, size_t * __restrict); +int fwprintf(FILE * __restrict, const wchar_t * __restrict, ...); +int fwscanf(FILE * __restrict, const wchar_t * __restrict, ...); +int swprintf(wchar_t * __restrict, size_t n, const wchar_t * __restrict, ...); +int swscanf(const wchar_t * __restrict, const wchar_t * __restrict, ...); +int vfwprintf(FILE * __restrict, const wchar_t * __restrict, __va_list); +int vswprintf(wchar_t * __restrict, size_t, const wchar_t * __restrict, + __va_list); +int vwprintf(const wchar_t * __restrict, __va_list); +int wprintf(const wchar_t * __restrict, ...); +int wscanf(const wchar_t * __restrict, ...); +#if defined(_ISOC99_SOURCE) || (__STDC_VERSION__ - 0) > 199901L || \ + defined(_NETBSD_SOURCE) +int vfwscanf(FILE * __restrict, const wchar_t * __restrict, __va_list); +int vswscanf(const wchar_t * __restrict, const wchar_t * __restrict, + __va_list); +int vwscanf(const wchar_t * __restrict, __va_list); +#endif +#if defined(_NETBSD_SOURCE) +struct tinfo; +int t_putws(struct tinfo *, const wchar_t *, int, void (*)(wchar_t, void *), + void *); +wchar_t *wcsdup (const wchar_t *); +int wcsncasecmp (const wchar_t *, const wchar_t *, size_t); +int wcscasecmp(const wchar_t *, const wchar_t *); +#endif +__END_DECLS + #ifndef WEOF #define WEOF ((wint_t)-1) #endif @@ -100,60 +206,13 @@ typedef _BSD_SIZE_T_ size_t; #define putwc(wc, f) fputwc((wc), (f)) #define putwchar(wc) putwc((wc), stdout) -__BEGIN_DECLS -wint_t btowc __P((int c)); -size_t mbrlen __P((const char * __restrict, size_t, mbstate_t * __restrict)); -size_t mbrtowc __P((wchar_t * __restrict, const char * __restrict, size_t, - mbstate_t * __restrict)); -int mbsinit __P((const mbstate_t *)); -size_t mbsrtowcs __P((wchar_t * __restrict, const char ** __restrict, size_t, - mbstate_t * __restrict)); -size_t wcrtomb __P((char * __restrict, wchar_t, mbstate_t * __restrict)); -wchar_t *wcscat __P((wchar_t * __restrict, const wchar_t * __restrict)); -wchar_t *wcschr __P((const wchar_t *, wchar_t)); -int wcscmp __P((const wchar_t *, const wchar_t *)); -int wcscoll __P((const wchar_t *, const wchar_t *)); -wchar_t *wcscpy __P((wchar_t * __restrict, const wchar_t * __restrict)); -size_t wcscspn __P((const wchar_t *, const wchar_t *)); -size_t wcslen __P((const wchar_t *)); -wchar_t *wcsncat __P((wchar_t * __restrict, const wchar_t * __restrict, - size_t)); -int wcsncmp __P((const wchar_t *, const wchar_t *, size_t)); -wchar_t *wcsncpy __P((wchar_t * __restrict , const wchar_t * __restrict, - size_t)); -wchar_t *wcspbrk __P((const wchar_t *, const wchar_t *)); -wchar_t *wcsrchr __P((const wchar_t *, wchar_t)); -size_t wcsrtombs __P((char * __restrict, const wchar_t ** __restrict, size_t, - mbstate_t * __restrict)); -size_t wcsspn __P((const wchar_t *, const wchar_t *)); -wchar_t *wcsstr __P((const wchar_t *, const wchar_t *)); -size_t wcsxfrm __P((wchar_t *, const wchar_t *, size_t)); -wchar_t *wmemchr __P((const wchar_t *, wchar_t, size_t)); -int wmemcmp __P((const wchar_t *, const wchar_t *, size_t)); -wchar_t *wmemcpy __P((wchar_t * __restrict, const wchar_t * __restrict, - size_t)); -wchar_t *wmemmove __P((wchar_t *, const wchar_t *, size_t)); -wchar_t *wmemset __P((wchar_t *, wchar_t, size_t)); - -size_t wcslcat __P((wchar_t *, const wchar_t *, size_t)); -size_t wcslcpy __P((wchar_t *, const wchar_t *, size_t)); -int wcswidth __P((const wchar_t *, size_t)); -int wcwidth __P((wchar_t)); - -unsigned long int wcstoul __P((const wchar_t * __restrict, wchar_t ** __restrict, - int base)); -long int wcstol __P((const wchar_t * __restrict, wchar_t ** __restrict, int base)); -double wcstod __P((const wchar_t * __restrict, wchar_t ** __restrict)); - -wint_t ungetwc __P((wint_t, FILE *)); -wint_t fgetwc __P((FILE *)); -wint_t getwc __P((FILE *)); -wint_t getwchar __P((void)); -wint_t fputwc __P((wchar_t, FILE *)); -wint_t putwc __P((wchar_t, FILE *)); -wint_t putwchar __P((wchar_t)); - -int fwide __P((FILE *, int)); -__END_DECLS +#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE) +# ifndef __LOCALE_T_DECLARED +typedef struct _locale *locale_t; +# define __LOCALE_T_DECLARED +# endif +int wcwidth_l(wchar_t, locale_t); +int wcswidth_l(const wchar_t *, size_t, locale_t); +#endif #endif /* !_WCHAR_H_ */