summary refs log tree commit diff
path: root/Src/utils.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* 37314: upgrade quotedzputs() for non-printable output.Peter Stephenson2015-12-061-27/+144
| | | | | Use nicechar with $'..' quoting; upgrade nicechar() etc. to use suitable output.
* 37296: Avoid needless calloc().Daniel Shahaf2015-12-031-11/+13
|
* 37191: fix strftime() expansion issue with %p and %P.Peter Stephenson2015-11-221-4/+11
| | | | | In some locales the output from this can validly be empty, so we need to treat them specially.
* unposted: small typo againPeter Stephenson2015-10-241-1/+1
|
* unposted: small typoPeter Stephenson2015-10-241-1/+1
|
* 36944: extend fd management to zsocketPeter Stephenson2015-10-241-10/+15
|
* 36941: Mark file descripors in ztcp as used.Peter Stephenson2015-10-241-0/+26
| | | | | Allow such file descriptors to be either internal and closed on exec or external and so managed explicitly by module.
* 36773: limit CORRECT / CORRECT_ALL to directory names in cases where it is ↵Barton E. Schaefer2015-10-041-19/+30
| | | | obvious that a directory is expected
* 36562: sanitize $PWD on import, per POSIXBarton E. Schaefer2015-09-191-3/+17
|
* cf. 36554: remove unnecessary pointer dereferenceBarton E. Schaefer2015-09-191-1/+1
|
* 36552 plus test: fix Nularg string in quotestring(QT_DOLLARS)Barton E. Schaefer2015-09-171-0/+6
|
* 36380: Avoid gcc case syntaxMikael Magnusson2015-09-011-1/+2
|
* 36376: handle signals during read1char() so it is possible to interrupt ↵Barton E. Schaefer2015-09-011-1/+6
| | | | correct/correctall prompts
* 36262: Replace fix for missing unmeta in chdir().Peter Stephenson2015-08-211-4/+9
| | | | | | | It was needed in the argument to one of a pair of lchdir()s rather than within zchdir(). Add tests for the case of a character with 0x83 within it.