Building posix/bug-regex22.c fails with GCC mainline because of
-Wformat-overflow= warnings for NULL arguments to %s formats.
This is *not* testing how glibc handles such format arguments; in the
context of the messages in question it makes no sense to pass NULL to
such a %s format (the code passes s, inside "if (s == NULL)"). So
this patch changes the code not to pass such a format argument at all
(which means the string passed is constant, so no need to use printf
at all - however, there are two separate tests here with different
length arguments passed to re_compile_pattern, so it *does* make sense
to make the strings used different so that in the event of failure
it's clear which one of the tests failed).
Tested with build-many-glibcs.py with GCC mainline for
aarch64-linux-gnu.
* posix/bug-regex22.c (main): Use puts with distinct error
messages for unexpected success of re_compile_pattern, not printf
with NULL argument to %s.
2004-01-14 Jakub Jelinek <jakub@redhat.com>
* posix/regcomp.c (peek_token_bracket): Check remaining
string length before re_string_peek_byte (x, 1).
(parse_bracket_symbol): Likewise.
* posix/regex_internal.h (re_string_is_single_byte_char): Return
true at last byte in the string.
* posix/bug-regex22.c (main): Add new test.
2004-01-05 Jakub Jelinek <jakub@redhat.com>
* posix/regcomp.c (regcomp): Fix comment typo.
(regfree): Free preg->translate, clear buffer, allocated, fastmap
and translate fields.
* posix/regcomp.c (build_charclass, buld_charclass_op): Change first
argument to unsigned RE_TRANSLATE_TYPE.
* posix/regex_internal.h (re_string_t): Change trans type to
unsigned RE_TRANSLATE_TYPE.
* posix/regex_internal.c (re_string_construct_common): Cast
trans to unsigned RE_TRANSLATE_TYPE.
(re_string_peek_byte_case, re_string_fetch_byte_case): Avoid fast
path if pstr->trans. Never translate the character through
pstr->trans.
* posix/Makefile (tests): Add bug-regex22.
(bug-regex22-ENV): Set.
* posix/bug-regex22.c: New test.