aboutsummaryrefslogtreecommitdiff
path: root/posix/tst-fnmatch.input
AgeCommit message (Collapse)Author
2022-01-01Update copyright dates with scripts/update-copyrightsPaul Eggert
I used these shell commands: ../glibc/scripts/update-copyrights $PWD/../gnulib/build-aux/update-copyright (cd ../glibc && git commit -am"[this commit message]") and then ignored the output, which consisted lines saying "FOO: warning: copyright statement not found" for each of 7061 files FOO. I then removed trailing white space from math/tgmath.h, support/tst-support-open-dev-null-range.c, and sysdeps/x86_64/multiarch/strlen-vec.S, to work around the following obscure pre-commit check failure diagnostics from Savannah. I don't know why I run into these diagnostics whereas others evidently do not. remote: *** 912-#endif remote: *** 913: remote: *** 914- remote: *** error: lines with trailing whitespace found ... remote: *** error: sysdeps/unix/sysv/linux/statx_cp.c: trailing lines
2021-09-06Add generic C.UTF-8 locale (Bug 17318)Carlos O'Donell
We add a new C.UTF-8 locale. This locale is not builtin to glibc, but is provided as a distinct locale. The locale provides full support for UTF-8 and this includes full code point sorting via STRCMP-based collation (strcmp or wcscmp). The collation uses a new keyword 'codepoint_collation' which drops all collation rules and generates an empty zero rules collation to enable STRCMP usage in collation. This ensures that we get full code point sorting for C.UTF-8 with a minimal 1406 bytes of overhead (LC_COLLATE structure information and ASCII collating tables). The new locale is added to SUPPORTED. Minimal test data for specific code points (minus those not supported by collate-test) is provided in C.UTF-8.in, and this verifies code point sorting is working reasonably across the range. The locale was tested manually with the full set of code points without failure. The locale is harmonized with locales already shipping in various downstream distributions. A new tst-iconv9 test is added which verifies the C.UTF-8 locale is generally usable. Testing for fnmatch, regexec, and recomp is provided by extending bug-regex1, bugregex19, bug-regex4, bug-regex6, transbug, tst-fnmatch, tst-regcomp-truncated, and tst-regex to use C.UTF-8. Tested on x86_64 or i686 without regression. Reviewed-by: Florian Weimer <fweimer@redhat.com>
2021-09-01posix: remove some iso-8859-encoded charactersDJ Delorie
With the increasing adoption of UTF-8, modern editors may (will?) replace iso-8859-encoded characters in the range 0x80..0xff with their UTF-8 equivalent, as will mailers and other tools. This breaks our testsuite and corrupts patches. So, this patch starts replacing these problematic characters with \OCTal sequences instead (adding support for those in tst-fnmatch.c) or with plain ASCII characters (PTESTS). Reviewed-by: Carlos O'Donell <carlos@redhat.com>
2021-02-23posix: Falling back to non wide mode in case of encoding error [BZ #14185]Adhemerval Zanella
Gnulib has added the proposed fix with aed23714d60 (done in 2005), but recently with a glibc merge with 67306f6 (done in 2020 with sync back) it has fallback to old semantic to return -1 on in case of failure. From gnulib developer feedback it was an oversight. Although the full fix for BZ #14185 would require to rewrite fnmatch implementation to use mbrtowc instead of mbsrtowcs on the full input, this mitigate the issue and it has been used by gnulib for a long time. This patch also removes the alloca usage on the string convertion to wide characters before calling the internal function. Checked on x86_64-linux-gnu.
2021-01-02Update copyright dates with scripts/update-copyrightsPaul Eggert
I used these shell commands: ../glibc/scripts/update-copyrights $PWD/../gnulib/build-aux/update-copyright (cd ../glibc && git commit -am"[this commit message]") and then ignored the output, which consisted lines saying "FOO: warning: copyright statement not found" for each of 6694 files FOO. I then removed trailing white space from benchtests/bench-pthread-locks.c and iconvdata/tst-iconv-big5-hkscs-to-2ucs4.c, to work around this diagnostic from Savannah: remote: *** pre-commit check failed ... remote: *** error: lines with trailing whitespace found remote: error: hook declined to update refs/heads/master
2020-04-15Fix typo in posix/tst-fnmatch.input (Bug 25790)Carlos O'Donell
Reported-by: Michael Builov <mbuilov@gmail.com>
2020-01-01Update copyright dates with scripts/update-copyrights.Joseph Myers
2019-09-07Prefer https to http for gnu.org and fsf.org URLsPaul Eggert
Also, change sources.redhat.com to sourceware.org. This patch was automatically generated by running the following shell script, which uses GNU sed, and which avoids modifying files imported from upstream: sed -ri ' s,(http|ftp)(://(.*\.)?(gnu|fsf|sourceware)\.org($|[^.]|\.[^a-z])),https\2,g s,(http|ftp)(://(.*\.)?)sources\.redhat\.com($|[^.]|\.[^a-z]),https\2sourceware.org\4,g ' \ $(find $(git ls-files) -prune -type f \ ! -name '*.po' \ ! -name 'ChangeLog*' \ ! -path COPYING ! -path COPYING.LIB \ ! -path manual/fdl-1.3.texi ! -path manual/lgpl-2.1.texi \ ! -path manual/texinfo.tex ! -path scripts/config.guess \ ! -path scripts/config.sub ! -path scripts/install-sh \ ! -path scripts/mkinstalldirs ! -path scripts/move-if-change \ ! -path INSTALL ! -path locale/programs/charmap-kw.h \ ! -path po/libc.pot ! -path sysdeps/gnu/errlist.c \ ! '(' -name configure \ -execdir test -f configure.ac -o -f configure.in ';' ')' \ ! '(' -name preconfigure \ -execdir test -f preconfigure.ac ';' ')' \ -print) and then by running 'make dist-prepare' to regenerate files built from the altered files, and then executing the following to cleanup: chmod a+x sysdeps/unix/sysv/linux/riscv/configure # Omit irrelevant whitespace and comment-only changes, # perhaps from a slightly-different Autoconf version. git checkout -f \ sysdeps/csky/configure \ sysdeps/hppa/configure \ sysdeps/riscv/configure \ sysdeps/unix/sysv/linux/csky/configure # Omit changes that caused a pre-commit check to fail like this: # remote: *** error: sysdeps/powerpc/powerpc64/ppc-mcount.S: trailing lines git checkout -f \ sysdeps/powerpc/powerpc64/ppc-mcount.S \ sysdeps/unix/sysv/linux/s390/s390-64/syscall.S # Omit change that caused a pre-commit check to fail like this: # remote: *** error: sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S: last line does not end in newline git checkout -f sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S
2019-01-01Update copyright dates with scripts/update-copyrights.Joseph Myers
* All files with FSF copyright notices: Update copyright dates using scripts/update-copyrights. * locale/programs/charmap-kw.h: Regenerated. * locale/programs/locfile-kw.h: Likewise.
2018-07-25Keep expected behaviour for [a-z] and [A-z] (Bug 23393).Carlos O'Donell
In commit 9479b6d5e08eacce06c6ab60abc9b2f4eb8b71e4 we updated all of the collation data to harmonize with the new version of ISO 14651 which is derived from Unicode 9.0.0. This collation update brought with it some changes to locales which were not desirable by some users, in particular it altered the meaning of the locale-dependent-range regular expression, namely [a-z] and [A-Z], and for en_US it caused uppercase letters to be matched by [a-z] for the first time. The matching of uppercase letters by [a-z] is something which is already known to users of other locales which have this property, but this change could cause significant problems to en_US and other similar locales that had never had this change before. Whether this behaviour is desirable or not is contentious and GNU Awk has this to say on the topic: https://www.gnu.org/software/gawk/manual/html_node/Ranges-and-Locales.html While the POSIX standard also has this further to say: "RE Bracket Expression": http://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_chap09.html "The current standard leaves unspecified the behavior of a range expression outside the POSIX locale. ... As noted above, efforts were made to resolve the differences, but no solution has been found that would be specific enough to allow for portable software while not invalidating existing implementations." In glibc we implement the requirement of ISO POSIX-2:1993 and use collation element order (CEO) to construct the range expression, the API internally is __collseq_table_lookup(). The fact that we use CEO and also have 4-level weights on each collation rule means that we can in practice reorder the collation rules in iso14651_t1_common (the new data) to provide consistent range expression resolution *and* the weights should maintain the expected total order. Therefore this patch does three things: * Reorder the collation rules for the LATIN script in iso14651_t1_common to deinterlace uppercase and lowercase letters in the collation element orders. * Adds new test data en_US.UTF-8.in for sort-test.sh which exercises strcoll* and strxfrm* and ensures the ISO 14651 collation remains. * Add back tests to tst-fnmatch.input and tst-regexloc.c which exercise that [a-z] does not match A or Z. The reordering of the ISO 14651 data is done in an entirely mechanical fashion using the following program attached to the bug: https://sourceware.org/bugzilla/show_bug.cgi?id=23393#c28 It is up for discussion if the iso14651_t1_common data should be refined further to have 3 very tight collation element ranges that include only a-z, A-Z, and 0-9, which would implement the solution sought after in: https://sourceware.org/bugzilla/show_bug.cgi?id=23393#c12 and implemented here: https://www.sourceware.org/ml/libc-alpha/2018-07/msg00854.html No regressions on x86_64. Verified that removal of the iso14651_t1_common change causes tst-fnmatch to regress with: 422: fnmatch ("[a-z]", "A", 0) = 0 (FAIL, expected FNM_NOMATCH) *** ... 425: fnmatch ("[A-Z]", "z", 0) = 0 (FAIL, expected FNM_NOMATCH) ***
2018-02-27Fix test cases tst-fnmatch and tst-regexloc for the new iso14651_t1_common file.Mike FABIAN
See: http://pubs.opengroup.org/onlinepubs/7908799/xbd/re.html > A range expression represents the set of collating elements that fall > between two elements in the current collation sequence, > inclusively. It is expressed as the starting point and the ending > point separated by a hyphen (-). > > Range expressions must not be used in portable applications because > their behaviour is dependent on the collating sequence. Ranges will be > treated according to the current collating sequence, and include such > characters that fall within the range based on that collating > sequence, regardless of character values. This, however, means that > the interpretation will differ depending on collating sequence. If, > for instance, one collating sequence defines ä as a variant of a, > while another defines it as a letter following z, then the expression > [ä-z] is valid in the first language and invalid in the second. Therefore, using [a-z] does not make much sense except in the C/POSIX locale. The new iso14651_t1_common lists upper case and lower case Latin characters in a different order than the old one which causes surprising results for example in the de_DE locale: [a-z] now includes A because A comes after a in iso14651_t1_common but does not include Z because that comes after z in iso14651_t1_common. * posix/tst-fnmatch.input: Fix results for range expressions for non C locales. * posix/tst-regexloc.c: Do not use a range expression for de_DE.ISO-8859-1 locale.
2018-01-01Update copyright dates with scripts/update-copyrights.Joseph Myers
* All files with FSF copyright notices: Update copyright dates using scripts/update-copyrights. * locale/programs/charmap-kw.h: Regenerated. * locale/programs/locfile-kw.h: Likewise.
2017-01-01Update copyright dates with scripts/update-copyrights.Joseph Myers
2016-01-04Update copyright dates with scripts/update-copyrights.Joseph Myers
2015-01-02Update copyright dates with scripts/update-copyrights.Joseph Myers
2014-01-01Update copyright notices with scripts/update-copyrightsAllan McRae
2013-01-02Update copyright notices with scripts/update-copyrights.Joseph Myers
2012-02-09Replace FSF snail mail address with URLs.Paul Eggert
2011-01-14FIx handling of unterminated [ expression in fnmatch.Ulrich Drepper
2004-09-02[BZ #361]Ulrich Drepper
Update. 2004-09-01 Jakub Jelinek <jakub@redhat.com> [BZ #361] * posix/fnmatch_loop.c (FCT): For backslash between brackets, branch to normal_bracket after fetching the next character. * posix/tst-fnmatch.input: Add 25 new tests. Reported by Markus Oberhumer <markus@oberhumer.com>.
2001-10-27Update.Ulrich Drepper
* posix/tst-fnmatch.input: Add tests for - at beginning and end of bracket expression. * string/tst-strxfrm.c (test): Also test __strxfrm_l.
2001-07-06Update to LGPL v2.1.Andreas Jaeger
2001-07-06 Paul Eggert <eggert@twinsun.com> * manual/argp.texi: Remove ignored LGPL copyright notice; it's not appropriate for documentation anyway. * manual/libc-texinfo.sh: "Library General Public License" -> "Lesser General Public License". 2001-07-06 Andreas Jaeger <aj@suse.de> * All files under GPL/LGPL version 2: Place under LGPL version 2.1.
2001-03-28Update.Ulrich Drepper
* posix/fnmatch_loop.c (FCT): Handle !() after * special like @() and +(). * posix/tst-fnmatch.input: Add test cases for matching empty strings.
2001-03-15Update.Ulrich Drepper
* posix/tst-fnmatch.input: Add test case for FNM_PERIOD handling with FNM_EXTMATCH. * posix/fnmatch_loop.c: Optimize handling of ?() and @(). * posix/fnmatch.c: Define STRLEN and STRCAT appropriately. * posix/Versions [libc] (GLIBC_2.2.3): Add fnmatch. * posix/fnmatch.c: Define with new default version GLIBC_2.2.3 to avoid running binaries with libc versions without FNM_EXTMATCH support. * include/wchar.h: Add prototype for __wcscat. * wcsmbs/wcscat.c: Define __wcscat and make wcscat weak alias.
2001-03-15Update.Ulrich Drepper
2001-03-15 Ulrich Drepper <drepper@redhat.com> * posix/fnmatch.h (FNM_EXTMATCH): Define. * posix/fnmatch.c (NO_LEADING_PERIOD): Define. (posixly_correct): Move global variable here. (INT, EXT, END): Name new functions defined in fnmatch_loop.c. (fnmatch): Pretty printing. * posix/fnmatch_loop.c: Add code to handle FNM_EXTMATCH. * posix/tst-fnmatch.c: Recognize EXTMATCH flag. * posix/tst-fnmatch.input: Add tests for extended matching. * posix/testfnm.c: Add test for patterns with multiple ** before /. * posix/fnmatch_loop.c: Fix problem with the test above.
2001-02-02Update.Ulrich Drepper
2001-02-01 Ulrich Drepper <drepper@redhat.com> * Makerules (build-shlib): Add $(extra-B-$(@F:lib%.so=%).so). * configure.in: Test for -z initfirst linker option. * config.make.in: Add have-z-initfirst. * elf/dl-init.c (_dl_init): Split out actual initialization code in new function call_init. If _dl_initfirst is non-NULL initialize first. * elf/dl-load.c (_dl_map_from_fd): If DF_1_INITFIRST flag is set remember object in _dl_initfirst. * elf/soinit.c: Remove special support for calling __pthread_initialize_minimal. * conform/conformtest.pl: Add missing $prepend in type test. * elf/elf.h (SHT_CHECKSUM): New definition. * posix/tst-fnmatch.input: Add tests for [. .] in locales.
2001-01-31Update.Ulrich Drepper
2001-01-31 Ulrich Drepper <drepper@redhat.com> * posix/tst-fnmatch.input: Add test cases for de_DE.UTF-8 locale. * posix/fnmatch_loop.c: Fix handling of [= =] for multibyte charsets.
2000-10-21Update.Ulrich Drepper
* posix/fnmatch_loop.c: Make FNM_LEADING_DIR behave as GNU tar expects it. Patch by Colin Watson <riva.ucam.org>. * posix/tst-fnmatch.input: Add test cases for FNM_LEADING_DIR.
2000-07-05Update.Ulrich Drepper
2000-07-05 Ulrich Drepper <drepper@redhat.com> * locale/loadlocale.c (_nl_unload_locale): Add cast to avoid warning. * locale/programs/ld-collate.c (collate_output): Also write out the collation sequence values and the wide character string for the collation symbol table. * posix/fnmatch.c: Include "../locale/elem-hash.h". * posix/fnmatch_loop.c: Implement collating symbol handling. * posix/tst-fnmatch.input: Add more tests, especially for collating symbol handling. * posix/regex.c: Fix comment.
2000-07-04Update.Ulrich Drepper
* posix/fnmatch_loop.c: Implement equivalence class handling. * posix/tst-fnmatch.input: Add tests for equivalence class handling.
2000-07-04Update.Ulrich Drepper
* posix/tst-fnmatch.input: Add tests for locale dependent behaviour. * posix/tst-fnmatch.c (main): Also set LC_CTYPE category.
2000-07-04Update.Ulrich Drepper
* posix/tst-fnmatch.input: Add more test cases.
2000-07-04Update.Ulrich Drepper
2000-07-04 Ulrich Drepper <drepper@redhat.com> * spinlock.c (__pthread_unlock): Properly place write barrier. Patch by Kaz Kylheku <kaz@ashi.footprints.net>.