Jun-ichi Takimoto
0bc1edef5a
45536: fix handling of 8bit character under C-locale
...
correctly escape unprintable 8bit character by using \M-
2020-03-17 15:11:04 +09:00
Peter Stephenson
a6a1b28b98
45487: Missing mod_export declarations for AIX
2020-02-24 10:55:48 +00:00
dana
ed21a7b700
unposted: zerrmsg(): Fix macro guard missed in previous commit
2019-12-26 14:57:07 -06:00
Daniel Shahaf
81185f4c61
internal: Allow %L in zerrmsg() in non-debug builds, too.
...
This will let error messages include long integers.
2019-12-26 11:49:45 +00:00
Daniel Shahaf
3c4b3c8798
45064: Fix the mktemp() warning, in debug builds only.
...
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.
2019-12-18 06:01:47 +00:00
Jun-ichi Takimoto
a98e13ed1f
44714: Take account of CDABLE_VARS while checking spelling
2019-08-29 18:21:50 +09:00
Oliver Kiddle
3de2333b08
44307: allow for atoi() returning a negative number
2019-05-20 00:14:01 +02:00
dana
7951ede1db
unposted (per 43938): Avoid segfault when unmetafying empty string
2018-12-30 03:42:07 -06:00
dana
162c198aab
43953: Fix rounding/truncation error in %. time-format specifier
...
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
2018-12-29 05:24:25 -06:00
Kamil Dudka
d50e204b0c
43790: failed mailstat could leak memory
2018-11-09 11:06:08 +00:00
Daniel Shahaf
bf9da44931
unposted: internals: Document sepjoin().
2018-10-14 14:02:34 +00:00
Peter Stephenson
551ff84272
43464: Another attachtty() fix.
...
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.
2018-09-16 19:13:38 +01:00
Jun-ichi Takimoto
ad9f07e66f
43227: fix memory leaks in term{cap,info}.c
2018-08-01 21:36:44 +09:00
dana
394f3a47e4
43075: Support nanosecond-precision time formatting
...
* 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
2018-06-20 17:29:56 -05:00
Barton E. Schaefer
68d9526220
42650: fix 42156 for zero-sized terminals
...
Also fix harmless no-op typo from hand-applying 42636 for previous commit.
2018-04-15 11:06:43 -07:00
Barton E. Schaefer
517cda3832
42636: fix GLOB_DOTS for !(RM_STAR_SILENT)
...
Also fix paste-o in older log entry
2018-04-15 10:57:27 -07:00
Oliver Kiddle
31f7220563
42607, CVE-2018-1100: check bounds on buffer in mail checking
2018-04-07 18:28:38 +02:00
Oliver Kiddle
bd05c4b2de
42595: remove dead code flagged by coverity
2018-04-07 14:37:46 +02:00
Oliver Kiddle
bdf09270be
42560: silence sign-compare compiler warnings
2018-03-30 12:13:59 +02:00
Oliver Kiddle
c053c6a079
42539: prevent overflow of PATH_MAX-sized buffer in spelling correction
2018-03-28 09:00:58 +02:00
Martijn Dekker
fa0105f78c
42538: Temporarily set umask for here document.
...
Done while signals are queued.
2018-03-27 09:32:55 +01:00
Barton E. Schaefer
9bc391105f
42480: optimize $#var for single-byte character sets
2018-03-25 18:01:25 -07:00
Oliver Kiddle
679b71ec4d
42518, CVE-2018-1071: check bounds when copying path in hashcmd()
2018-03-24 15:04:02 +01:00
Peter Stephenson
2cbf6b6a19
42332: Special case unsigned printf formats.
...
For constants we can avoid a conversion to signed by examining
the expression before passing to math eval.
2018-01-31 09:14:40 +00:00
Peter Stephenson
5f6a52c06c
42156: new CHECK_RUNNING_JOBS option demanded by bash groupies
...
Also new job options.
Also suppress debug error if rows or columns are reported as zero as
this is normal without a physical terminal.
2017-12-22 20:21:23 +00:00
Daniel Shahaf
ced82745ea
unposted (cf. 41672): checkrmall: Record the 41672 bug in a TODO.
2017-09-21 18:17:19 +00:00
Daniel Shahaf
15bed0db40
unposted (cf. 41707): internal: Document the count==0 case of checkrmall().
2017-09-21 18:14:01 +00:00
Daniel Shahaf
ed7497e379
unposted: internal: Document zreaddir().
2017-09-11 15:06:08 +00:00
Peter Stephenson
a9b579a9d3
Revert "41499 (with one further tweak): POSIX_STRINGS behaviour."
...
This reverts commit 2eacbef919
.
Conflicts:
ChangeLog
2017-08-08 19:04:49 +01:00
Peter Stephenson
2eacbef919
41499 (with one further tweak): POSIX_STRINGS behaviour.
...
Ignore a terminating delimiter when splitting as separators
despite being called separators are terminators.
2017-08-07 18:47:43 +01:00
Martijn Dekker
a51cd62b45
41484: Make ${(q+)...} quote backsleshes.
2017-08-03 21:32:20 +01:00
Peter Stephenson
e8edd42f7f
22760: fix partial string length reports with NO_MULTIBYTE
2017-07-02 20:29:00 +01:00
Jun-ichi Takimoto
171e7fa4c1
41090: Replace iswprint() if unicode9 is enabled.
...
If wcwidth() or iswprint() is broken, force enable unicode9.
2017-05-12 12:10:13 +09:00
Peter Stephenson
c7a9cf465d
40181: Fix buffer overrun in xsymlinks.
...
There was no check for copying to the internal xbuf2 for a
preliminary test.
2017-05-09 17:49:18 +01:00
Jun-ichi Takimoto
3c78f14d5c
40994: unmeta_one() need not count Meta
2017-04-23 23:58:44 +09:00
Orlov Sergey
a11b241d4a
40935: User names need metafying.
...
On some systems they can contain 8-bit characters and on all systems
this is logically correct anyway.
2017-04-10 09:55:06 +01:00
Barton E. Schaefer
071017965f
40763: count wide characters and Cmatcher pointers more sanely in 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
2017-03-08 21:26:55 -08:00
Peter Stephenson
f3f8537cfa
40760: Always tokenize unquoted - to Dash.
...
This fixes use of pattern match character ranges in unusual contexts.
Attempt to detect a tokenized - in cases where we don't care.
2017-03-07 10:43:58 +00:00
Daniel Shahaf
b3a88a53d3
39982: $SPROMPT: Don't accept a spelling correction at space/tab.
...
The patch also downscopes a couple of local variables, with no
functional change.
2016-11-24 08:18:28 +00:00
Peter Stephenson
a62e1640bc
39958: Add extra byte to PATH_MAX allocations.
...
This ensures we've got enough space for a null, although this
isn't always needed.
2016-11-17 19:49:17 +00:00
Barton E. Schaefer
98b7960c78
39943: no need to compute arrlen() in arrdup_max() when max == 0.
2016-11-15 10:04:14 -08:00
Peter Stephenson
921b39ac6b
39949: Special case for "-" in directory names.
...
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.
2016-11-15 18:01:32 +00:00
Peter Stephenson
99acd1e7f4
39906: More multibyte optimisations for US-ASCII.
...
This treats characters 0 to 0x7f as single byte US-ASCII along
the lines we already do in other places in the code.
2016-11-14 10:12:04 +00:00
Peter Stephenson
a1633e09a7
39886 based on 39877: Optimise arrdup to arrdup_max.
...
Only duplicate as much of the array as is needed.
2016-11-09 11:54:57 +00:00
Peter Stephenson
1683371fa5
unposted: follow up to 39867: don't need test against zero
2016-11-08 10:51:03 +00:00
Peter Stephenson
39521515c3
39867, tweaked: Use cast to unsigned char to test character.
...
We want the unsigned variant to be <= 0x7f. Use the normal STOUC()
macro and turn this into a single test.
2016-11-08 10:09:26 +00:00
Peter Stephenson
9c68ef083b
39825: optimise mb_metastrlenend() for 7-bit character.
...
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.
2016-11-04 09:56:51 +00:00
Barton E. Schaefer
e61ed2b80d
39470: failure to open a supposedly unique temp file name should result in an error
...
Also band-aid for signal-related race conditions in temp file name generation
2016-09-29 11:16:24 -07:00
Daniel Shahaf
f368720b8b
39252: internal: quotestring: Drop the 'e' parameter, which no caller uses.
2016-09-11 09:22:18 +00:00
Jun-ichi Takimoto
acad0620ef
39087: fix 'conditionally uninitialized' variables
2016-08-23 18:18:50 +09:00