#include #include "xlocale.h" #include "xwchar.h" int _C_init __P((_LocaleInfo *loc)); void _C_stateinit __P((mbstate_t *)); int _C_mbsinit __P((const mbstate_t *)); size_t _C_mbrtowc __P((wchar_t *, const char *, size_t, mbstate_t *)); size_t _C_wcrtomb __P((char *, wchar_t, mbstate_t *)); int _C_init(loc) _LocaleInfo *loc; { loc->mbcurmax = 1; loc->stateinit = _C_stateinit; loc->mbsinit = _C_mbsinit; loc->mbrtowc = _C_mbrtowc; loc->wcrtomb = _C_wcrtomb; return 0; } void _C_stateinit(state) mbstate_t *state; { } int _C_mbsinit(state) const mbstate_t *state; { return 1; } size_t _C_mbrtowc(pwc, s, len, mbs) wchar_t *pwc; const char *s; size_t len; mbstate_t *mbs; { if (s == NULL){ return 0; /* no state */ } *pwc = *s; return 1; } size_t _C_wcrtomb(s, wc, wcs) char *s; wchar_t wc; mbstate_t *wcs; { if (s == NULL) return 0; if (!IS_LATIN_1(wc) > 0x0000ff) return -1; *s = (wc & 0xff); return 1; } u_char _mb_cur_max_ = 1; int (*_mbsinit_) __P((const mbstate_t *)) = _C_mbsinit; size_t (*_mbrtowc_) __P((wchar_t *, const char *, size_t, mbstate_t *)) = _C_mbrtowc; size_t (*_wcrtomb_) __P((char *, wchar_t, mbstate_t *)) = _C_wcrtomb;; _LocaleInfo _default_locinfo = { 1, _C_stateinit, _C_mbsinit, _C_mbrtowc, _C_wcrtomb, NULL }; _LocaleInfo _locinfo = { 1, _C_stateinit, _C_mbsinit, _C_mbrtowc, _C_wcrtomb, NULL };