about summary refs log tree commit diff
path: root/src/exit
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2018-10-13 00:55:48 -0400
committerRich Felker <dalias@aerifal.cx>2018-10-13 01:28:07 -0400
commit481006fd8887b80c4f794085179047e28102b01a (patch)
tree88d0d14996530069c6c4116cb73a9d40b0465ac0 /src/exit
parentd44b07fc904f6a0d31ba025f3e9f423c1e47547e (diff)
downloadmusl-481006fd8887b80c4f794085179047e28102b01a.tar.gz
musl-481006fd8887b80c4f794085179047e28102b01a.tar.xz
musl-481006fd8887b80c4f794085179047e28102b01a.zip
allow escaped path-separator slashes in glob
previously (before and after rewrite), spurious escaping of path
separators as \/ was not treated the same as /, but rather got split
as an unpaired \ at the end of the fnmatch pattern and an unescaped /,
resulting in a mismatch/error.

for the case of \/ as part of the maximal literal prefix, remove the
explicit rejection of it and move the handling of / below escape
processing.

for the case of \/ after a proper glob pattern, it's hard to parse the
pattern, so don't. instead cheat and count repetitions of \ prior to
the already-found / character. if there are an odd number, the last is
escaping the /, so back up the split position by one. now the
char clobbered by null termination is variable, so save it and restore
as needed.
Diffstat (limited to 'src/exit')
0 files changed, 0 insertions, 0 deletions