1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-10-22 16:20:23 +02:00

44446: Fix here document with file descriptor declarator.

Add unit test.
This commit is contained in:
Peter Stephenson 2019-06-24 20:19:19 +01:00
parent 1b1cb44161
commit 4384fdc7f0
3 changed files with 16 additions and 2 deletions

View file

@ -1,3 +1,8 @@
2019-06-24 Peter Stephenson <p.w.stephenson@ntlworld.com>
* 44446: Src/parse.c, Test/A04redirect.ztst: fix here document
with file descriptor declarator.
2019-06-23 Peter Stephenson <p.w.stephenson@ntlworld.com>
* Martijn: 44443: Src/builtin.c: POSIX allows exporting readonly

View file

@ -2279,7 +2279,8 @@ par_redir(int *rp, char *idstring)
void
setheredoc(int pc, int type, char *str, char *termstr, char *munged_termstr)
{
ecbuf[pc] = WCB_REDIR(type | REDIR_FROM_HEREDOC_MASK);
int varid = WC_REDIR_VARID(ecbuf[pc]) ? REDIR_VARID_MASK : 0;
ecbuf[pc] = WCB_REDIR(type | REDIR_FROM_HEREDOC_MASK | varid);
ecbuf[pc + 2] = ecstrcode(str);
ecbuf[pc + 3] = ecstrcode(termstr);
ecbuf[pc + 4] = ecstrcode(munged_termstr);

View file

@ -692,11 +692,19 @@
>b
>d
umask 0777
(umask 0777
cat <<' HERE'
look ma, no permissions
HERE
cat <<<"it's a miracle"
)
0:Here-{string,document}s succeed with restrictive umask
> look ma, no permissions
>it's a miracle
exec {testfd}<<' HERE'
This is, in some sense, a here document.
HERE
cat <&$testfd
0:Regression test for here document with fd declarator
> This is, in some sense, a here document.