X-Git-Url: https://pd.if.org/git/?p=pdclib;a=blobdiff_plain;f=includes%2Fwchar.h;h=1be74dce28933cfa0372e0505dd19fb78c4005b1;hp=4ac64c5e269c30716caa1360ac803d6c36132fd5;hb=1d9d92ba957a0b8307c9a65c35867fde68e6533b;hpb=ac3f809c3c10347c110fac3db93af0954eda98bb diff --git a/includes/wchar.h b/includes/wchar.h index 4ac64c5..1be74dc 100644 --- a/includes/wchar.h +++ b/includes/wchar.h @@ -1,37 +1,56 @@ -// ---------------------------------------------------------------------------- -// $Id$ -// ---------------------------------------------------------------------------- -// Public Domain C Library - http://pdclib.sourceforge.net -// This code is Public Domain. Use, modify, and redistribute at will. -// ---------------------------------------------------------------------------- -// Extended multibyte and wide character utilities -// ---------------------------------------------------------------------------- +/* ---------------------------------------------------------------------------- + * $Id$ + * ---------------------------------------------------------------------------- + * Public Domain C Library - http://pdclib.sourceforge.net + * This code is Public Domain. Use, modify, and redistribute at will. + * ---------------------------------------------------------------------------- + * Extended multibyte and wide character utilities + * --------------------------------------------------------------------------*/ -#ifndef __WCHAR_H -#define __WCHAR_H __WCHAR_H +#ifndef _WCHAR_H +#define _WCHAR_H _CHAR_H -// ---------------------------------------------------------------------------- -// MACROS +#ifndef _NULL +#include "__intern.h" +#endif -#define NULL 0 -#define WCHAR_MAX // TODO -#define WCHAR_MIN // TODO -#define WEOF // TODO +/* TODO: Documentation */ -// ---------------------------------------------------------------------------- -// TYPEDEFS +/* ---------------------------------------------------------------------------- + * MACROS + * --------------------------------------------------------------------------*/ -typedef mbstate_t; -typedef size_t; -typedef wint_t; -struct tm; +#define NULL _NULL +#define WCHAR_MAX _WCHAR_MAX +#define WCHAR_MIN _WCHAR_MIN +#define WEOF _WEOF -#ifndef __cplusplus -typedef wchar_t; -#endif // __cplusplus +/* ---------------------------------------------------------------------------- + * TYPEDEFS + * --------------------------------------------------------------------------*/ -// ---------------------------------------------------------------------------- -// FUNCTIONS +/* TODO: Get struct tm into __intern.h */ + +#ifndef _SIZE_T +#define _SIZE_T _SIZE_T +typedef __size_t size_t; +#endif /* _SIZE_T */ + +#ifndef _WCHAR_T +#define _WCHAR_T _WCHAR_T +typedef __wchar_t wchar_t; +#endif /* _WCHAR_T */ + +#ifndef _WINT_T +#define _WINT_T _WINT_T +typedef __wint_t wint_t; +#endif /* _WINT_T */ + +typedef mbstate_t; /* TODO - to __intern.h / __personality.h? */ + +/* ---------------------------------------------------------------------------- + * FUNCTIONS + * --------------------------------------------------------------------------*/ wint_t fgetwc( FILE * stream ); wchar_t * fgetws( wchar_t * restrict s, int n, FILE * restrict stream ); @@ -93,27 +112,10 @@ wchar_t * wmemcpy( wchar_t * restrict s1, const wchar_t * restrict s2, size_t n wchar_t * wmemmove( wchar_t * s1, const wchar_t * s2, size_t n ); wchar_t * wmemset( wchar_t * s, wchar_t c, size_t n ); -#ifdef __cplusplus - -const wchar_t * wcschr( const wchar_t * s, wchar_t c ); -wchar_t * wcschr( wchar_t * s, wchar_t c ); -const wchar_t * wcspbrk( const wchar_t * s1, const wchar_t * s2 ); -wchar_t * wcspbrk( wchar_t * s1, const wchar_t * s2 ); -const wchar_t * wcsrchr( const wchar_t * s, wchar_t c ); -wchar_t * wcsrchr( wchar_t * s, wchar_t c ); -const wchar_t * wcsstr( const wchar_t * s1, const wchar_t * s2 ); -wchar_t * wcsstr( wchar_t * s1, const wchar_t * s2 ); -const wchar_t * wmemchr( const wchar_t * s, wchar_t c, size_t n ); -wchar_t * wmemchr( wchar_t * s, wchar_t c, size_t n ); - -#else - wchar_t * wcschr( const wchar_t * s, wchar_t c ); wchar_t * wcspbrk( const wchar_t * s1, const wchar_t * s2 ); wchar_t * wcsrchr( const wchar_t * s, wchar_t c ); wchar_t * wcsstr( const wchar_t * s1, const wchar_t * s2 ); wchar_t * wmemchr( const wchar_t * s, wchar_t c, size_t n); -#endif // __cplusplus - -#endif // __WCHAR_H +#endif /* _WCHAR_H */