Print this page
2964 need POSIX 2008 locale object support
*** 5,14 ****
--- 5,19 ----
* The Regents of the University of California. All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Paul Borman at Krystal Technologies.
*
+ * Copyright (c) 2011 The FreeBSD Foundation
+ * All rights reserved.
+ * Portions of this software were developed by David Chisnall
+ * under sponsorship from the FreeBSD Foundation.
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*** 58,77 ****
size_t, size_t, mbstate_t *_RESTRICT_KYWD);
/* setup defaults */
int
! _none_init(_RuneLocale *rl)
{
! charset_is_ascii = 1;
! __mbrtowc = _none_mbrtowc;
! __mbsinit = _none_mbsinit;
! __mbsnrtowcs = _none_mbsnrtowcs;
! __wcrtomb = _none_wcrtomb;
! __wcsnrtombs = _none_wcsnrtombs;
! _CurrentRuneLocale = rl;
return (0);
}
static int
_none_mbsinit(const mbstate_t *unused)
--- 63,83 ----
size_t, size_t, mbstate_t *_RESTRICT_KYWD);
/* setup defaults */
int
! _none_init(struct xlocale_ctype *l, _RuneLocale *rl)
{
! charset_is_ascii = 1; /* XXX */
! l->__mbrtowc = _none_mbrtowc;
! l->__mbsinit = _none_mbsinit;
! l->__mbsnrtowcs = _none_mbsnrtowcs;
! l->__wcrtomb = _none_wcrtomb;
! l->__wcsnrtombs = _none_wcsnrtombs;
! l->runes = rl;
! /* XXX */
return (0);
}
static int
_none_mbsinit(const mbstate_t *unused)
*** 195,199 ****
--- 201,229 ----
size_t (*__wcrtomb)(char *_RESTRICT_KYWD, wchar_t, mbstate_t *_RESTRICT_KYWD) =
_none_wcrtomb;
size_t (*__wcsnrtombs)(char *_RESTRICT_KYWD, const wchar_t **_RESTRICT_KYWD,
size_t, size_t, mbstate_t *_RESTRICT_KYWD) = _none_wcsnrtombs;
+
+ struct xlocale_ctype __xlocale_global_ctype = {
+ {{0}, "C"},
+ (_RuneLocale*)&_DefaultRuneLocale,
+ _none_mbrtowc,
+ _none_mbsinit,
+ _none_mbsnrtowcs,
+ _none_wcrtomb,
+ _none_wcsnrtombs,
+ 1, /* __mb_cur_max */
+ 256 /* __mb_sb_limit */
+ };
+
+ const struct xlocale_ctype __xlocale_C_ctype = {
+ {{0}, "C"},
+ (_RuneLocale*)&_DefaultRuneLocale,
+ _none_mbrtowc,
+ _none_mbsinit,
+ _none_mbsnrtowcs,
+ _none_wcrtomb,
+ _none_wcsnrtombs,
+ 1, /* __mb_cur_max */
+ 256 /* __mb_sb_limit */
+ };