mirror of
https://github.com/adtools/clib2.git
synced 2025-12-08 14:59:05 +00:00
Add a few extra wide-character prototypes and the missing typedef locale_t
This commit is contained in:
@@ -59,6 +59,10 @@ extern "C" {
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
|
typedef void *locale_t;
|
||||||
|
|
||||||
|
/****************************************************************************/
|
||||||
|
|
||||||
struct lconv
|
struct lconv
|
||||||
{
|
{
|
||||||
char * decimal_point; /* Decimal point character (non-monetary). */
|
char * decimal_point; /* Decimal point character (non-monetary). */
|
||||||
|
|||||||
@@ -447,6 +447,11 @@ extern lldiv_t lldiv(long long n,long long d);
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
|
extern int mbtowc(wchar_t *restrict pwc, const char *restrict s, size_t n);
|
||||||
|
extern int wctomb(char *s, wchar_t wchar);
|
||||||
|
|
||||||
|
/****************************************************************************/
|
||||||
|
|
||||||
#endif /* __GNUC__ || (__STDC_VERSION__ && __STDC_VERSION__ >= 199901L) */
|
#endif /* __GNUC__ || (__STDC_VERSION__ && __STDC_VERSION__ >= 199901L) */
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|||||||
@@ -59,6 +59,10 @@
|
|||||||
#include <time.h>
|
#include <time.h>
|
||||||
#endif /* _TIME_H */
|
#endif /* _TIME_H */
|
||||||
|
|
||||||
|
#ifndef _LOCALE_H
|
||||||
|
#include <locale.h>
|
||||||
|
#endif /* _LOCALE_H */
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
@@ -81,9 +85,6 @@ typedef long mbstate_t;
|
|||||||
extern wint_t btowc(int c);
|
extern wint_t btowc(int c);
|
||||||
extern int wctob(wint_t c);
|
extern int wctob(wint_t c);
|
||||||
extern int mbsinit(const mbstate_t *ps);
|
extern int mbsinit(const mbstate_t *ps);
|
||||||
#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
|
|
||||||
extern size_t mbrlen(const char *restrict s, size_t n, mbstate_t *restrict ps);
|
|
||||||
#endif /* __STDC_VERSION__ && __STDC_VERSION__ >= 199901L */
|
|
||||||
extern size_t wcrtomb(char *s, wchar_t wc, mbstate_t *ps);
|
extern size_t wcrtomb(char *s, wchar_t wc, mbstate_t *ps);
|
||||||
extern size_t mbsrtowcs(wchar_t *pwcs, const char **src, size_t n, mbstate_t *ps);
|
extern size_t mbsrtowcs(wchar_t *pwcs, const char **src, size_t n, mbstate_t *ps);
|
||||||
extern size_t wcsrtombs(char *s, const wchar_t **src, size_t n, mbstate_t *ps);
|
extern size_t wcsrtombs(char *s, const wchar_t **src, size_t n, mbstate_t *ps);
|
||||||
@@ -178,14 +179,20 @@ extern size_t wcsftime(wchar_t *s, size_t maxsize, const wchar_t *format, const
|
|||||||
|
|
||||||
#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
|
#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
|
||||||
|
|
||||||
|
extern size_t mbrlen(const char *restrict s, size_t n, mbstate_t *restrict ps);
|
||||||
|
extern size_t mbrtowc(wchar_t *restrict pwc, const char *restrict s, size_t n, mbstate_t *restrict ps);
|
||||||
|
extern int mbsinit(const mbstate_t *ps);
|
||||||
|
extern size_t mbsnrtowcs(wchar_t *restrict dst, const char **restrict src, size_t nmc, size_t len, mbstate_t *restrict ps);
|
||||||
|
extern size_t mbsrtowcs(wchar_t *restrict dst, const char **restrict src, size_t len, mbstate_t *restrict ps);
|
||||||
|
|
||||||
|
extern size_t wcrtomb(char *restrict s, wchar_t wc, mbstate_t *restrict ps);extern int wcscoll_l(const wchar_t *ws1, const wchar_t *ws2, locale_t loc);
|
||||||
|
extern size_t wcscspn(const wchar_t *ws1, const wchar_t *ws2);
|
||||||
|
extern size_t wcsnrtombs(char *restrict dst, const wchar_t **restrict src, size_t nwc, size_t len, mbstate_t *restrict ps);
|
||||||
|
extern wchar_t * wcsrchr(const wchar_t *ws, wchar_t wc);
|
||||||
|
extern size_t wcsrtombs(char *restrict dst, const wchar_t **restrict src, size_t len, mbstate_t *restrict ps);
|
||||||
extern long long wcstoll(const wchar_t *str, wchar_t **ptr, int base);
|
extern long long wcstoll(const wchar_t *str, wchar_t **ptr, int base);
|
||||||
extern unsigned long long wcstoull(const wchar_t *str, wchar_t **ptr, int base);
|
extern unsigned long long wcstoull(const wchar_t *str, wchar_t **ptr, int base);
|
||||||
|
|
||||||
extern size_t mbrtowc_l(wchar_t *restrict pwc, const char *restrict s, size_t n, mbstate_t *restrict ps, locale_t loc);
|
|
||||||
extern int wcscoll_l(const wchar_t *ws1, const wchar_t *ws2, locale_t loc);
|
|
||||||
extern size_t wcscspn(const wchar_t *ws1, const wchar_t *ws2);
|
|
||||||
extern wchar_t * wcsrchr(const wchar_t *ws, wchar_t wc);
|
|
||||||
|
|
||||||
#endif /* __STDC_VERSION__ && __STDC_VERSION__ >= 199901L */
|
#endif /* __STDC_VERSION__ && __STDC_VERSION__ >= 199901L */
|
||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|||||||
@@ -37,9 +37,13 @@
|
|||||||
|
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
|
|
||||||
|
#if defined(defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L))
|
||||||
|
|
||||||
int
|
int
|
||||||
mbtowc(wchar_t *pwc, const char *s, size_t n)
|
mbtowc(wchar_t *restrict pwc, const char *restrict s, size_t n)
|
||||||
{
|
{
|
||||||
/* ZZZ unimplemented */
|
/* ZZZ unimplemented */
|
||||||
return(-1);
|
return(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user