about summary refs log tree commit diff
path: root/Src/glob.c
Commit message (Collapse)AuthorAgeFilesLines
* 52244: Fix a batch of minor defects reported by Coverity.Bart Schaefer2023-10-261-1/+2
| | | | | | Coverity defects 1547831, 1547826 (remove unused function), 1521551, 1500752, 1500747, 1401549, 1372423, 1270645, 1255799, 1255792, 1255789, 1255787, 1255782, 1255750
* 51212: remove STOUC() macroOliver Kiddle2022-12-161-2/+2
| | | | | This served as a workaround for ancient compilers where casts to unsigned char were broken.
* 51080: allow multibyte chars in glob qualifier (u:uname:)Jun-ichi Takimoto2022-12-021-1/+1
|
* 49994: Single-byte equivalence of users/22601 and workers/40891Bart Schaefer2022-04-051-2/+2
|
* 49991: single-byte brace expansion handles $'\0' and control character ↵Bart Schaefer2022-04-041-9/+6
| | | | output aligns with multibyte
* 49955: Src/glob.c: fix bad free in incremental-pattern-search matchingBart Schaefer2022-04-041-3/+10
|
* 49870: Fix NULL reference in match code moreMikael Magnusson2022-03-301-2/+6
| | | | | | | | | | | This reverts "49658: Fix NULL reference in match code." and adds a check inside the block, as well as a failsafe check at the end. The above commit (49658) causes a crash due to ll being calculated as 0 which leads to rr being an invalid pointer. Only adding a check for when ll is 0 just leads to bck-i-search pattern not working at all (the final hunk). Restoring the condition and adding an explicit NULL check for replstr seems to make matters work as intended.
* 49658: Fix NULL reference in match code.Peter Stephenson2021-12-211-1/+1
| | | | | | A test when acquiring the replacement pattern match in the globbing code erroneously allowed the use of a NULL pointer. This appears to be an unnecessary test case added alongside other surgery back in 2008.
* 45291: A glob with a trailing slash will now match unreadable/unexecutable ↵Daniel Shahaf2020-01-151-10/+39
| | | | directories.
* 45181: Fix workers/45164: ${(S)%%} will now consider the empty string as a ↵Daniel Shahaf2020-01-021-2/+2
| | | | potential match.
* 45001: Fix zero-length matches with ${...%...}Peter Stephenson2019-12-121-0/+6
| | | | As the shortest match is preferred, zero-length matches beat any other.
* 45004: Fix typos in commentsMartijn Dekker2019-12-111-2/+2
|
* 44435: Handling digita arguments for :h and :t.Peter Stephenson2019-06-201-1/+1
| | | | | | | Pick number of leading or trailing path components to substitute. Active in history, brace parameters, glob qualifiers. Add tests for all three environments.
* 43091: In the (u) glob qualifier, expand and correct "unknown user" error ↵Daniel Shahaf2018-06-251-2/+4
| | | | messages.
* stat() for glob qualifiers lost information in corner caseDima Kogan2017-11-201-1/+1
|
* 41420: "{.." wasn't check for brace expansion properlyPeter Stephenson2017-07-131-0/+2
|
* 40891: fix more zero-length matches.Peter Stephenson2017-03-231-1/+3
| | | | This time at the end of the trial string.
* 22601: Fix for parameter substitution pattern matches.Peter Stephenson2017-03-231-2/+6
| | | | | It was not possible to math against a zero-length string in some cases.
* 40819: Fix IS_DASH test in BRACE_CCL handlingPeter Stephenson2017-03-101-1/+2
|
* 40760: Always tokenize unquoted - to Dash.Peter Stephenson2017-03-071-10/+13
| | | | | | This fixes use of pattern match character ranges in unusual contexts. Attempt to detect a tokenized - in cases where we don't care.
* 40453: signal handler safety for callers of patcompile(PAT_STATIC), which is ↵Barton E. Schaefer2017-01-291-5/+12
| | | | not re-entrant.
* 40035: Cosmetic fixes for comments and documentation.Eitan Adler2016-11-291-1/+1
| | | | Mostly fixes to doubled words.
* 39958: Add extra byte to PATH_MAX allocations.Peter Stephenson2016-11-171-2/+2
| | | | | This ensures we've got enough space for a null, although this isn't always needed.
* 39723: metafy string passed to pattern in complist.Peter Stephenson2016-10-251-0/+4
| | | | Also additional safety tokenizing a string with Meta characters.
* users/21793: Remove raw integers as glob qualifiers.Peter Stephenson2016-07-281-8/+1
| | | | | | | There was an ancient undocumented feature that these were treated as a file mode to "or" with that of the file under test. The only documented way of doing this has always been the "f" qualifier, so removed the effect of raw integers to make errors more obvious.
* 38853: use strchr()Peter Stephenson2016-07-201-7/+1
|
* 38879: Unmetafy file names for glob sort.Peter Stephenson2016-07-181-1/+29
| | | | | Test using Polish UTF-8 collation sequence that'w known to cause the problems.
* 37868: add 'static' to file local variablesJun-ichi Takimoto2016-02-031-1/+1
|
* 37693: turn Dash into '-' in glob qualifiersPeter Stephenson2016-01-191-1/+4
|
* 37689: ! and ^ need to be tokenised in character setsPeter Stephenson2016-01-191-15/+4
|
* 37678: Now possible to quote "-" in pattern rangePeter Stephenson2016-01-191-3/+19
|
* 37483: save and possibly restore cshnullglob failure state around each ↵Barton E. Schaefer2016-01-011-1/+4
| | | | evaluation of an (e:...:) glob qualifier.
* 37092: make nested ${(P)name} properly refer to parameter on returnPeter Stephenson2015-11-111-1/+1
|
* 37022: add GLOB_STAR_SHORT option to abbreviate ** and ***Peter Stephenson2015-10-301-18/+25
|
* 36711: Allocate unmetafied pattern trial string on the heapPeter Stephenson2015-09-301-25/+0
|
* unposted: fix typo in comment.Barton E. Schaefer2015-09-291-1/+1
|
* 36700: unmetafy early for parameter matchPeter Stephenson2015-09-291-181/+255
|
* 36682: expand pattern interface to optimise unmetaficationPeter Stephenson2015-09-281-25/+31
|
* 36603: glob: fix dirfd leak during Y shortcut qualifierMikael Magnusson2015-09-241-1/+3
|
* 36491: Multibyte support for parameter expansion flags B,E,NJun-ichi Takimoto2015-09-121-3/+3
|
* 36264: glob and pattern variable pathbuf is metafied.Peter Stephenson2015-08-211-4/+10
| | | | | Document this and unmetafy it when passing to system calls, including lchdir() which is a system-level interface.
* 36084: use zrealloc() consistentlyBarton E. Schaefer2015-08-101-1/+1
|
* 36033: a few more queue_signals() to protect global state changesBarton E. Schaefer2015-08-091-0/+4
|
* Add non-metafied character length handling.Peter Stephenson2015-06-121-7/+7
| | | | | | | Use this in regex module and add test using $'\ua0'. Rename mb_metacharinit() to mb_charinit() as it does not involve metafied characters.
* 34965: consistent use of zalloc/zrealloc/zfreeBarton E. Schaefer2015-04-251-3/+3
|
* 34837: avoid loss of original file path when applying colon-modifiers in ↵Barton E. Schaefer2015-04-031-2/+2
| | | | glob qualifiers
* 34634: avoid infinite recursion on (/)# extendedglobBarton E. Schaefer2015-02-271-1/+2
|
* 33876: etc.: Separate errors and keyboards interruptsPeter Stephenson2014-12-111-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Combination of 12 commits from interrupt_abort branch. Basic strategy is to introduce bits to errflag and to set and reset them separately. Remove interrupt status on return to main keymap. Turn off ERRFLAG_INT for always block. Restore bit thereafter: we probably need a new variable in order to allow user interrupts to be reset in the always block. Add TRY_BLOCK_INTERRUPT This works the same as TRY_BLOCK_ERROR, but for a SIGINT, too. Ensure propagation of SIGINT from exited job. If received by foreground job, shell uses ERRFLAG_INT, not ERRFLAG_ERROR, to set the new state. Reset errflag before precmd() Add always block in _main_completion to fix ZLS_COLORS Ensures we get the right state of $ZLS_COLORS at the end of _main_complete even if there's an interrupt. However, the "right state" is a bit messy as it depends on styles.
* 33854: errors end recursion through scanner()Barton E. Schaefer2014-12-071-1/+1
| | | | Makes **/ more easily interruptible
* users/19143: fix depth glob search with trailing slashesPeter Stephenson2014-09-251-0/+3
|