2003-12-11 Michael Chastain <mec.gnu@mindspring.com>
* rlmbutil.h: Require HAVE_MBSTATE_T for HANDLE_MULTIBYTE. Revert requirement of HAVE_MBRTOWC. Delete macro definitions that attempted to fake mbstate_t if HAVE_MBSRTOCWS is defined and HAVE_MBSTATE_T is not defined.
This commit is contained in:
parent
b145f546d4
commit
f4daae620b
2 changed files with 20 additions and 13 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2003-12-11 Michael Chastain <mec.gnu@mindspring.com>
|
||||||
|
|
||||||
|
* rlmbutil.h: Require HAVE_MBSTATE_T for HANDLE_MULTIBYTE.
|
||||||
|
Revert requirement of HAVE_MBRTOWC. Delete macro definitions
|
||||||
|
that attempted to fake mbstate_t if HAVE_MBSRTOCWS is defined
|
||||||
|
and HAVE_MBSTATE_T is not defined.
|
||||||
|
|
||||||
2003-06-14 H.J. Lu <hongjiu.lu@intel.com>
|
2003-06-14 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
* support/config.guess: Update to 2003-06-12 version.
|
* support/config.guess: Update to 2003-06-12 version.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* rlmbutil.h -- utility functions for multibyte characters. */
|
/* rlmbutil.h -- utility functions for multibyte characters. */
|
||||||
|
|
||||||
/* Copyright (C) 2001 Free Software Foundation, Inc.
|
/* Copyright (C) 2001, 2003 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of the GNU Readline Library, a library for
|
This file is part of the GNU Readline Library, a library for
|
||||||
reading lines of text with interactive input and history editing.
|
reading lines of text with interactive input and history editing.
|
||||||
|
@ -30,27 +30,27 @@
|
||||||
/************************************************/
|
/************************************************/
|
||||||
|
|
||||||
/* For platforms which support the ISO C amendement 1 functionality we
|
/* For platforms which support the ISO C amendement 1 functionality we
|
||||||
support user defined character classes. */
|
support user defined character classes.
|
||||||
|
|
||||||
|
Some platforms have the multibyte functions such as mbsrtowcs but
|
||||||
|
are lacking the multitype type mbstate_t. BeOS (unknown version)
|
||||||
|
and HP/UX 11.23 without _XOPEN_SOURCE=500 are like this.
|
||||||
|
|
||||||
|
We really need mbstate_t type to operate properly. For example, see
|
||||||
|
compute_lcd_of_matches, where two mbstate_t's are active at the same
|
||||||
|
time. So we require both the functions and the mbstate_t type in
|
||||||
|
order to enable multibyte support. */
|
||||||
|
|
||||||
/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>. */
|
/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>. */
|
||||||
#if defined (HAVE_WCTYPE_H) && defined (HAVE_WCHAR_H)
|
#if defined (HAVE_WCTYPE_H) && defined (HAVE_WCHAR_H)
|
||||||
# include <wchar.h>
|
# include <wchar.h>
|
||||||
# include <wctype.h>
|
# include <wctype.h>
|
||||||
# if defined (HAVE_MBRTOWC) && defined (HAVE_MBSRTOWCS)
|
# if defined (HAVE_MBSTATE_T) && defined (HAVE_MBSRTOWCS)
|
||||||
/* system is supposed to support XPG5 */
|
/* system is supposed to support XPG5 */
|
||||||
# define HANDLE_MULTIBYTE 1
|
# define HANDLE_MULTIBYTE 1
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */
|
|
||||||
#if HANDLE_MULTIBYTE && !defined (HAVE_MBSTATE_T)
|
|
||||||
# define wcsrtombs(dest, src, len, ps) (wcsrtombs) (dest, src, len, 0)
|
|
||||||
# define mbsrtowcs(dest, src, len, ps) (mbsrtowcs) (dest, src, len, 0)
|
|
||||||
# define wcrtomb(s, wc, ps) (wcrtomb) (s, wc, 0)
|
|
||||||
# define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0)
|
|
||||||
# define mbrlen(s, n, ps) (mbrlen) (s, n, 0)
|
|
||||||
# define mbstate_t int
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Make sure MB_LEN_MAX is at least 16 on systems that claim to be able to
|
/* Make sure MB_LEN_MAX is at least 16 on systems that claim to be able to
|
||||||
handle multibyte chars (some systems define MB_LEN_MAX as 1) */
|
handle multibyte chars (some systems define MB_LEN_MAX as 1) */
|
||||||
#ifdef HANDLE_MULTIBYTE
|
#ifdef HANDLE_MULTIBYTE
|
||||||
|
|
Loading…
Reference in a new issue