about summary refs log tree commit diff
path: root/Src/utils.c
Commit message (Collapse)AuthorAgeFilesLines
* 42650: fix 42156 for zero-sized terminalsBarton E. Schaefer2018-04-151-5/+7
| | | | Also fix harmless no-op typo from hand-applying 42636 for previous commit.
* 42636: fix GLOB_DOTS for !(RM_STAR_SILENT)Barton E. Schaefer2018-04-151-4/+5
| | | | Also fix paste-o in older log entry
* 42607, CVE-2018-1100: check bounds on buffer in mail checkingOliver Kiddle2018-04-071-3/+5
|
* 42595: remove dead code flagged by coverityOliver Kiddle2018-04-071-3/+1
|
* 42560: silence sign-compare compiler warningsOliver Kiddle2018-03-301-3/+3
|
* 42539: prevent overflow of PATH_MAX-sized buffer in spelling correctionOliver Kiddle2018-03-281-5/+9
|
* 42538: Temporarily set umask for here document.Martijn Dekker2018-03-271-0/+4
| | | | Done while signals are queued.
* 42480: optimize $#var for single-byte character setsBarton E. Schaefer2018-03-251-1/+1
|
* 42518, CVE-2018-1071: check bounds when copying path in hashcmd()Oliver Kiddle2018-03-241-3/+3
|
* 42332: Special case unsigned printf formats.Peter Stephenson2018-01-311-0/+61
| | | | | For constants we can avoid a conversion to signed by examining the expression before passing to math eval.
* 42156: new CHECK_RUNNING_JOBS option demanded by bash groupiesPeter Stephenson2017-12-221-2/+2
| | | | | | | Also new job options. Also suppress debug error if rows or columns are reported as zero as this is normal without a physical terminal.
* unposted (cf. 41672): checkrmall: Record the 41672 bug in a TODO.Daniel Shahaf2017-09-211-0/+3
|
* unposted (cf. 41707): internal: Document the count==0 case of checkrmall().Daniel Shahaf2017-09-211-1/+3
|
* unposted: internal: Document zreaddir().Daniel Shahaf2017-09-111-0/+10
|
* Revert "41499 (with one further tweak): POSIX_STRINGS behaviour."Peter Stephenson2017-08-081-18/+2
| | | | | | | This reverts commit 2eacbef91913fe967335812900d43cf2edfa54d9. Conflicts: ChangeLog
* 41499 (with one further tweak): POSIX_STRINGS behaviour.Peter Stephenson2017-08-071-2/+18
| | | | | Ignore a terminating delimiter when splitting as separators despite being called separators are terminators.
* 41484: Make ${(q+)...} quote backsleshes.Martijn Dekker2017-08-031-1/+5
|
* 22760: fix partial string length reports with NO_MULTIBYTEPeter Stephenson2017-07-021-1/+1
|
* 41090: Replace iswprint() if unicode9 is enabled.Jun-ichi Takimoto2017-05-121-2/+2
| | | | If wcwidth() or iswprint() is broken, force enable unicode9.
* 40181: Fix buffer overrun in xsymlinks.Peter Stephenson2017-05-091-3/+11
| | | | | There was no check for copying to the internal xbuf2 for a preliminary test.
* 40994: unmeta_one() need not count MetaJun-ichi Takimoto2017-04-231-8/+1
|
* 40935: User names need metafying.Orlov Sergey2017-04-101-3/+3
| | | | | On some systems they can contain 8-bit characters and on all systems this is logically correct anyway.
* 40763: count wide characters and Cmatcher pointers more sanely in ↵Barton E. Schaefer2017-03-081-0/+42
| | | | | | | cfp_matcher_pats(), and count characters in pattern_match() the same way to stay in sync Might not fix wide-char matching in completion matcher-lists but should avoid wild pointer crash
* 40760: Always tokenize unquoted - to Dash.Peter Stephenson2017-03-071-3/+7
| | | | | | This fixes use of pattern match character ranges in unusual contexts. Attempt to detect a tokenized - in cases where we don't care.
* 39982: $SPROMPT: Don't accept a spelling correction at space/tab.Daniel Shahaf2016-11-241-4/+4
| | | | | The patch also downscopes a couple of local variables, with no functional change.
* 39958: Add extra byte to PATH_MAX allocations.Peter Stephenson2016-11-171-6/+6
| | | | | This ensures we've got enough space for a null, although this isn't always needed.
* 39943: no need to compute arrlen() in arrdup_max() when max == 0.Barton E. Schaefer2016-11-151-2/+3
|
* 39949: Special case for "-" in directory names.Peter Stephenson2016-11-151-31/+39
| | | | | It can be sh-tokenized to Dash to allow for appearing in ranges after substitution, so needs to be turned back to "-" in that case.
* 39906: More multibyte optimisations for US-ASCII.Peter Stephenson2016-11-141-3/+23
| | | | | This treats characters 0 to 0x7f as single byte US-ASCII along the lines we already do in other places in the code.
* 39886 based on 39877: Optimise arrdup to arrdup_max.Peter Stephenson2016-11-091-0/+25
| | | | Only duplicate as much of the array as is needed.
* unposted: follow up to 39867: don't need test against zeroPeter Stephenson2016-11-081-1/+1
|
* 39867, tweaked: Use cast to unsigned char to test character.Peter Stephenson2016-11-081-1/+1
| | | | | We want the unsigned variant to be <= 0x7f. Use the normal STOUC() macro and turn this into a single test.
* 39825: optimise mb_metastrlenend() for 7-bit character.Peter Stephenson2016-11-041-1/+16
| | | | | | As the shell relies intimately on US-ASCII as a subset we can skip the multibyte functions if we are dealing with a complete 7-bit character.
* 39470: failure to open a supposedly unique temp file name should result in ↵Barton E. Schaefer2016-09-291-0/+4
| | | | | | an error Also band-aid for signal-related race conditions in temp file name generation
* 39252: internal: quotestring: Drop the 'e' parameter, which no caller uses.Daniel Shahaf2016-09-111-23/+4
|
* 39087: fix 'conditionally uninitialized' variablesJun-ichi Takimoto2016-08-231-1/+3
|
* 39046 + 39061: New :P history modifier.Daniel Shahaf2016-08-221-6/+8
|
* 38971: Start using the new arrlen_ge() / arrlen_le() helpers.Daniel Shahaf2016-08-011-1/+1
|
* 38973: Optimize indexing array parameters.Daniel Shahaf2016-08-011-0/+40
| | | | | | | | | | | % () { for 1 in $prefix/zsh/bin/zsh Src/zsh; do $1 -f -c 'a=( {1..1000000} ); repeat 3 time ( repeat 300 : $a[1] )'; done } ( repeat 300; do; : $a[1]; done; ) 1.68s user 0.01s system 98% cpu 1.718 total ( repeat 300; do; : $a[1]; done; ) 1.69s user 0.01s system 99% cpu 1.710 total ( repeat 300; do; : $a[1]; done; ) 1.69s user 0.01s system 99% cpu 1.714 total ( repeat 300; do; : $a[1]; done; ) 0.00s user 0.01s system 72% cpu 0.022 total ( repeat 300; do; : $a[1]; done; ) 0.00s user 0.01s system 72% cpu 0.022 total ( repeat 300; do; : $a[1]; done; ) 0.01s user 0.01s system 69% cpu 0.023 total
* 21603: Make read_poll more interruptible.Peter Stephenson2016-06-021-1/+1
| | | | | If we interrupted the first read we still did the fallback read. This is wrong.
* 37946: make rm * warnings more informative.Peter Stephenson2016-02-111-4/+27
| | | | Now count files that would be deleted up to 100.
* 37868: add 'static' to file local variablesJun-ichi Takimoto2016-02-031-2/+2
|
* 37780: Care printing error if nothing to print.Kamil Dudka2016-01-251-3/+4
|
* 37776: Set errflag before calls to zwarning().Peter Stephenson2016-01-251-2/+2
| | | | This avoids an attempt to call zerr() or zerrnam() recusrively.
* 37678: Now possible to quote "-" in pattern rangePeter Stephenson2016-01-191-1/+1
|
* unposted: Extend docstring of callhookfunc().Daniel Shahaf2016-01-151-0/+3
|
* 37348: Tests and fix for ${(q+)...}.Peter Stephenson2015-12-081-1/+1
| | | | Needs dupstring() for empty string case.
* 37344: restore old printable quoting, add ${(q+)...}.Peter Stephenson2015-12-071-46/+218
| | | | | | The \C- form is only used inside quotedzputs(). ${(q+)...} outputs a quotedzputs() representation.
* 37331: Use a single chracter to represent an MB_INCOMPLETE.Peter Stephenson2015-12-071-6/+10
| | | | | This is as it is likely to appear as a single character in output even if it has multiple octets.
* 37326: comment only: multibyte string lenght/width countingPeter Stephenson2015-12-061-0/+11
|