1
0
mirror of https://https.git.savannah.gnu.org/git/gnulib.git synced 2026-04-28 06:33:36 +00:00
Paul Eggert 4731b2d916 dfa: always use char32_t not wchar_t
This should help merges changes from Gawk, which always uses the
char32_t API though that’s sometimes implemented with the wchar_t
API even on platforms where wchar_t and char32_t act differently.
The idea is to use char32_t uniformly in both the dfa and regex
modules, so that they get consistent answers on all platforms.
* lib/dfa.c, lib/localeinfo.c, lib/localeinfo.h: If GAWK, do not
include <wctype.h> or redefine the Gnulib char32_t types and
functions to be wchar.h and wctype.h functions or define mbszero
and streq, as I think I have a better way to do this with Gawk
that is less intrusive here; instead, always include <uchar.h>.
* lib/dfa.c: Do not include <wchar.h>.  Include "getext.h" before
including "xalloc.h" and "localinfo.h", as Gnulib doesn’t care
about the order and this works better with Gawk’s way of overriding Gnulib.
(parse_bracket_exp): Use && instead of &; either is correct and
both are equally fast nowadays but && triggers a warning in some
Gawk compiles.
* lib/dfa.h (_GL_ATTRIBUTE_MALLOC, _GL_ATTRIBUTE_DEALLOC)
(_GL_ATTRIBUTE_DEALLOC_FREE)
(_GL_ATTRIBUTE_RETURNS_NONNULL) [!_GL_ATTRIBUTE_MALLOC]:
Remove, as Gawk’s custom.h can define them.
* lib/localeinfo.c: Go back to using <verify.h> and ‘verify’
instead of using static_assert which Gawk can’t easily use because
it does not use Gnulib’s assert-h module.
* lib/localeinfo.h: Do not include <limits.h>, avoding some
namespace pollution.
(struct localeinfo): Use (unsigned char) -1 instead of UCHAR_MAX
to avoid the need to include <limits.h>.
* modules/dfa (Depends-on): Remove wchar-h.
2026-04-24 17:29:50 -07:00
2026-04-20 07:22:45 -07:00
2026-01-01 10:37:05 -08:00
2022-01-08 20:58:14 +01:00
2026-04-24 17:29:50 -07:00
2026-04-13 19:19:09 -07:00
2026-01-01 10:37:05 -08:00
2026-01-01 10:37:05 -08:00
2016-09-05 09:21:54 -07:00
2026-04-24 17:29:50 -07:00
2024-12-07 15:59:11 +01:00
2026-01-01 10:37:05 -08:00
2026-02-16 09:29:10 +01:00
2026-01-01 10:37:05 -08:00
2026-02-28 21:17:44 +01:00
2026-02-15 11:01:33 -08:00

Please create and read the docs with

  $ cd doc
  $ make gnulib.html
  $ xdg-open gnulib.html

or read the online manual at

  https://www.gnu.org/software/gnulib/manual/gnulib.html
Description
No description provided
Readme 1,011 MiB
Languages
C 80.3%
M4 9.3%
Shell 3.8%
C++ 2.6%
Python 1.6%
Other 2.2%