On 08/02/2023 05:14, Brian Inglis wrote:
Hi folks,
Under dash 0.5.12 parameter expansion using regexp classes [[:space:]]
to trim no longer works, but releases up to 0.5.11.5 still work
correctly with the same environment and default config options.
In the attached dash script and logs, one of our users has an abstruse
string they use to clean up build command lines, but I trimmed that down
to the locale-dependent [[:space:]] regexp, then to the ASCII whitespace
characters generated by echo, and only the last still works with 0.5.12,
all work under 0.5.11.5.
Nothing obvious jumps out from the commitdiffs between then and now, so
I am hoping some possible cause occurs to you.
Build environment was Cygwin+newlib autoreconf with autoconf 2.71,
autogen 5.18.16, automake 1.16.5, gcc 11.3, binutils 2.29, coreutils
9.0, dash 0.5.11.5 as sh.
Hi,
dash 0.5.12 includes commit 7638476c
<https://git.kernel.org/pub/scm/utils/dash/dash.git/commit/?id=7638476c18f2a8451b05d49f4e767ee1f98cfc17>
which enables the use of libc's fnmatch() by default. Looking at newlib
sources,
<https://github.com/eblot/newlib/blob/master/newlib/libc/posix/fnmatch.c>,
it appears that newlib's fnmatch() does not support character classes
and should not be used for dash. Would you be able to check that
explicitly passing --disable-fnmatch to the configure options gets it
working properly again?
Cheers,
Harald van Dijk