diff options
| author | Bart Schaefer <schaefer@zsh.org> | 2024-03-04 21:36:45 -0800 |
|---|---|---|
| committer | Bart Schaefer <schaefer@zsh.org> | 2024-03-04 21:36:45 -0800 |
| commit | d27ea2ae02275b255f9efbf929d1dc7932aebc57 (patch) | |
| tree | bb9ea78b977ee50661be30b9cb99b05522d7234b /Src/params.c | |
| parent | unposted: fix typo in entry attribution (diff) | |
| download | zsh-d27ea2ae02275b255f9efbf929d1dc7932aebc57.tar zsh-d27ea2ae02275b255f9efbf929d1dc7932aebc57.tar.gz zsh-d27ea2ae02275b255f9efbf929d1dc7932aebc57.tar.bz2 zsh-d27ea2ae02275b255f9efbf929d1dc7932aebc57.tar.lz zsh-d27ea2ae02275b255f9efbf929d1dc7932aebc57.tar.xz zsh-d27ea2ae02275b255f9efbf929d1dc7932aebc57.tar.zst zsh-d27ea2ae02275b255f9efbf929d1dc7932aebc57.zip | |
unposted (cf. 52617): only scalars can instantiate a declared named reference
Diffstat (limited to 'Src/params.c')
| -rw-r--r-- | Src/params.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Src/params.c b/Src/params.c index 263cd0c52..4bcf41c22 100644 --- a/Src/params.c +++ b/Src/params.c @@ -1050,8 +1050,14 @@ createparam(char *name, int flags) name = refname; oldpm = NULL; } else { - if (!(lastpm->node.flags & PM_READONLY)) - lastpm->node.flags |= PM_UNSET; + if (!(lastpm->node.flags & PM_READONLY)) { + if (flags) { + /* Only plain scalar assignment allowed */ + zerr("%s: can't change type of named reference", + name); /* Differs from ksh93u+ */ + return NULL; + } + } return lastpm; } } else { |
