This is the mail archive of the mailing list for the GDB project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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
is 4.3.

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
(see rlmbutil.h):

    #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
    #  endif

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. has been updated accordingly. I also updated the condition in
rlmbutil.h to make sure both mbsrtowcs and mbsrtowc are available before
enabling multibyte.

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.
        - regenerate.

        - make sure mbsrtowc is available before enabling multibyte support.

Joel Brobecker,
Ada Core Technologies, Inc.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]