summary refs log tree commit diff
path: root/Src/utils.c
Commit message (Collapse)AuthorAgeFilesLines
* 45064: Fix the mktemp() warning, in debug builds only.Daniel Shahaf2019-12-181-0/+25
| | | | | | | | | | | | On Linux, linking to mktemp() generates the following warning: . utils.o: In function `gettempname': ./Src/utils.c:2229: warning: the use of `mktemp' is dangerous, better use `mkstemp' or `mkdtemp' The warning cannot be disabled. Work around that by using mkstemp() instead, and massage its output so it behaves like mktemp(). See the new comment for further details.
* 44714: Take account of CDABLE_VARS while checking spellingJun-ichi Takimoto2019-08-291-0/+2
|
* 44307: allow for atoi() returning a negative numberOliver Kiddle2019-05-201-1/+1
|
* unposted (per 43938): Avoid segfault when unmetafying empty stringdana2018-12-301-1/+1
|
* 43953: Fix rounding/truncation error in %. time-format specifierdana2018-12-291-6/+15
| | | | | | | Also fixes an issue where %. couldn't be used more than once in a format string without strange results Tweaked very slightly per workers/43954
* 43790: failed mailstat could leak memoryKamil Dudka2018-11-091-3/+13
|
* unposted: internals: Document sepjoin().Daniel Shahaf2018-10-141-0/+8
|
* 43464: Another attachtty() fix.Peter Stephenson2018-09-161-0/+4
| | | | | | | | | If list_pipe_job triggered more than once we need to know the most recent process group leader, so record that both if the attach happened in the main shell on in entersubsh(). Also don't pass back proocess group for ESUB_ASYNC subshells.
* 43227: fix memory leaks in term{cap,info}.cJun-ichi Takimoto2018-08-011-0/+37
|
* 43075: Support nanosecond-precision time formattingdana2018-06-201-8/+14
| | | | | | | | * Teach ztrftime() %9. and %N for nanoseconds * Update prompt expansion to pass sub-second times for time formatting * Update zsh/stat to pass sub-second times for atime/mtime/ctime Patch heavily based on Oliver's earlier work @ workers/24059
* 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.