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.25 retrieving revision 1.30.8.1 diff -u -p -r1.25 -r1.30.8.1 --- src/include/wchar.h 2006/04/15 12:17:22 1.25 +++ src/include/wchar.h 2013/06/23 06:28:49 1.30.8.1 @@ -1,4 +1,4 @@ -/* $NetBSD: wchar.h,v 1.25 2006/04/15 12:17:22 tnozaki Exp $ */ +/* $NetBSD: wchar.h,v 1.30.8.1 2013/06/23 06:28:49 tls 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 @@ -67,13 +60,13 @@ #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 @@ -93,6 +86,13 @@ 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 @@ -174,23 +174,26 @@ int fwprintf(FILE * __restrict, const wc 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, _BSD_VA_LIST_); +int vfwprintf(FILE * __restrict, const wchar_t * __restrict, __va_list); int vswprintf(wchar_t * __restrict, size_t, const wchar_t * __restrict, - _BSD_VA_LIST_); -int vwprintf(const wchar_t * __restrict, _BSD_VA_LIST_); + __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, _BSD_VA_LIST_); +int vfwscanf(FILE * __restrict, const wchar_t * __restrict, __va_list); int vswscanf(const wchar_t * __restrict, const wchar_t * __restrict, - _BSD_VA_LIST_); -int vwscanf(const wchar_t * __restrict, _BSD_VA_LIST_); + __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 @@ -203,4 +206,80 @@ __END_DECLS #define putwc(wc, f) fputwc((wc), (f)) #define putwchar(wc) putwc((wc), stdout) +#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE) +# ifndef __LOCALE_T_DECLARED +typedef struct _locale *locale_t; +# define __LOCALE_T_DECLARED +# endif +__BEGIN_DECLS +size_t mbsnrtowcs(wchar_t * __restrict, const char ** __restrict, size_t, + size_t, mbstate_t * __restrict); +size_t wcsnrtombs(char * __restrict, const wchar_t ** __restrict, size_t, + size_t, mbstate_t * __restrict); + +int wcscoll_l(const wchar_t *, const wchar_t *, locale_t); +size_t wcsxfrm_l(wchar_t *, const wchar_t *, size_t, locale_t); +int wcsncasecmp_l(const wchar_t *, const wchar_t *, size_t, locale_t); +int wcscasecmp_l(const wchar_t *, const wchar_t *, locale_t); + +float wcstof_l(const wchar_t * __restrict, wchar_t ** __restrict, locale_t); +double wcstod_l(const wchar_t * __restrict, wchar_t ** __restrict, locale_t); +long double wcstold_l(const wchar_t * __restrict, wchar_t ** __restrict, + locale_t); +long int wcstol_l(const wchar_t * __restrict, wchar_t ** __restrict, int, + locale_t); +unsigned long int wcstoul_l(const wchar_t * __restrict, + wchar_t ** __restrict, int, locale_t); +/* LONGLONG */ +long long int wcstoll_l(const wchar_t * __restrict, wchar_t ** __restrict, int, + locale_t); +/* LONGLONG */ +unsigned long long int wcstoull_l(const wchar_t * __restrict, + wchar_t ** __restrict, int, locale_t); +int wcwidth_l(wchar_t, locale_t); +int wcswidth_l(const wchar_t *, size_t, locale_t); +__END_DECLS +#endif /* _POSIX_C_SOURCE || _NETBSD_SOURCE */ + +#if defined(_NETBSD_SOURCE) +__BEGIN_DECLS +wint_t btowc_l(int, locale_t); +size_t mbrlen_l(const char * __restrict, size_t, mbstate_t * __restrict, + locale_t); +size_t mbrtowc_l(wchar_t * __restrict, const char * __restrict, size_t, + mbstate_t * __restrict, locale_t); +int mbsinit_l(const mbstate_t *, locale_t); +size_t mbsrtowcs_l(wchar_t * __restrict, const char ** __restrict, size_t, + mbstate_t * __restrict, locale_t); +size_t mbsnrtowcs_l(wchar_t * __restrict, const char ** __restrict, size_t, + size_t, mbstate_t * __restrict, locale_t); +size_t wcrtomb_l(char * __restrict, wchar_t, mbstate_t * __restrict, locale_t); +size_t wcsrtombs_l(char * __restrict, const wchar_t ** __restrict, size_t, + mbstate_t * __restrict, locale_t); +size_t wcsnrtombs_l(char * __restrict, const wchar_t ** __restrict, size_t, + size_t, mbstate_t * __restrict, locale_t); +int wctob_l(wint_t, locale_t); + +int fwprintf_l(FILE * __restrict, locale_t, const wchar_t * __restrict, ...); +int swprintf_l(wchar_t * __restrict, size_t n, locale_t, + const wchar_t * __restrict, ...); +int vfwprintf_l(FILE * __restrict, locale_t, + const wchar_t * __restrict, __va_list); +int vswprintf_l(wchar_t * __restrict, size_t, locale_t, + const wchar_t * __restrict, __va_list); +int vwprintf_l(locale_t, const wchar_t * __restrict, __va_list); +int wprintf_l(locale_t, const wchar_t * __restrict, ...); + +int fwscanf_l(FILE * __restrict, locale_t, const wchar_t * __restrict, ...); +int swscanf_l(const wchar_t * __restrict, locale_t, const wchar_t * + __restrict, ...); +int wscanf_l(locale_t, const wchar_t * __restrict, ...); +int vfwscanf_l(FILE * __restrict, locale_t, const wchar_t * __restrict, + __va_list); +int vswscanf_l(const wchar_t * __restrict, locale_t, const wchar_t * __restrict, + __va_list); +int vwscanf_l(locale_t, const wchar_t * __restrict, __va_list); +__END_DECLS +#endif /* _NETBSD_SOURCE */ + #endif /* !_WCHAR_H_ */