This is the mail archive of the
mailing list for the GDB project.
Missing check for mbsrtowc causes compilation failure on HP/UX 11.11
- From: Joel Brobecker <brobecker at gnat dot com>
- To: bash-maintainers at gnu dot org
- Cc: gdb-patches at sources dot redhat dot com
- Date: Tue, 28 Jan 2003 09:03:17 +0400
- Subject: Missing check for mbsrtowc causes compilation failure on HP/UX 11.11
Dear readline maintainers,
I noticed a compilation failure in the readline module of the current
sources of GDB (extracted from CVS). This is occuring on HP/UX 11.11,
using GCC 3.2.1. I think that the readline version number used in GDB
The compilation fails inside _rl_vi_change_mbchar_case (vi_mode.c)
because the compiler could not find mbrtowc. I searched this function,
and found that it is not provided by this system, but I could find
mbrtowcs. I then saw that _rl_vi_change_mbchar_case is compiled only
if HANDLE_MULTIBYTE is set. In turn, HANDLE_MULTIBYTE is set only if
#if defined (HAVE_WCTYPE_H) && defined (HAVE_WCHAR_H)
# include <wchar.h>
# include <wctype.h>
# if defined (HAVE_MBSRTOWCS) /* system is supposed to support XPG5 */
# define HANDLE_MULTIBYTE 1
It seems that configure is only checking for mbsrtowcs, but not mbsrtowc.
This works on HP/UX 11.00 where neither of these functions are provided,
but not on HP/UX 11.11 where mbsrtowcs is defined.
I therefore made the following change, where I added a check for mbsrtowc.
config.h.in has been updated accordingly. I also updated the condition in
rlmbutil.h to make sure both mbsrtowcs and mbsrtowc are available before
The patch is attached.
Concerning copyright assignments, I am not sure what will be needed. The
company I work for has an assignment on file with the FSF for GDB work.
I hope this will be sufficient.
- add check for mbsrtowc.
- make sure mbsrtowc is available before enabling multibyte support.
Ada Core Technologies, Inc.