Print this page
2964 need POSIX 2008 locale object support

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/libc/port/locale/mblocal.h
          +++ new/usr/src/lib/libc/port/locale/mblocal.h
↓ open down ↓ 21 lines elided ↑ open up ↑
  22   22   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  23   23   * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  24   24   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  25   25   * SUCH DAMAGE.
  26   26   */
  27   27  
  28   28  #ifndef _MBLOCAL_H_
  29   29  #define _MBLOCAL_H_
  30   30  
  31   31  #include "runetype.h"
       32 +#include "xlocale_private.h"
       33 +
       34 +/*
       35 + * Conversion function pointers for current encoding.
       36 + */
       37 +struct xlocale_ctype {
       38 +        struct xlocale_component header;
       39 +        _RuneLocale *runes;
       40 +        size_t (*__mbrtowc)(wchar_t *_RESTRICT_KYWD, const char *_RESTRICT_KYWD,
       41 +            size_t, mbstate_t *_RESTRICT_KYWD);
       42 +        int (*__mbsinit)(const mbstate_t *);
       43 +        size_t (*__mbsnrtowcs)(wchar_t *_RESTRICT_KYWD, const char **_RESTRICT_KYWD,
       44 +            size_t, size_t, mbstate_t *_RESTRICT_KYWD);
       45 +        size_t (*__wcrtomb)(char *_RESTRICT_KYWD, wchar_t, mbstate_t *_RESTRICT_KYWD);
       46 +        size_t (*__wcsnrtombs)(char *_RESTRICT_KYWD, const wchar_t **_RESTRICT_KYWD,
       47 +            size_t, size_t, mbstate_t *_RESTRICT_KYWD);
       48 +        int __mb_cur_max;
       49 +        int __mb_sb_limit;
       50 +};
       51 +#define XLOCALE_CTYPE(x)        ((struct xlocale_ctype*)(x)->components[XLC_CTYPE])
  32   52  
  33   53  /*
  34   54   * Rune initialization function prototypes.
  35   55   */
  36   56  int     _none_init(_RuneLocale *);
  37   57  int     _UTF8_init(_RuneLocale *);
  38   58  int     _EUC_CN_init(_RuneLocale *);
  39   59  int     _EUC_JP_init(_RuneLocale *);
  40   60  int     _EUC_KR_init(_RuneLocale *);
  41   61  int     _EUC_TW_init(_RuneLocale *);
↓ open down ↓ 31 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX