summaryrefslogtreecommitdiffstats
path: root/Src/parse.c
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-04-15 18:21:49 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-04-15 18:21:49 +0000
commit640a840d2e94f0fc245ef8632050c37af23c6b94 (patch)
treebc0835572657666fe6d27cb73ea8a716e683925a /Src/parse.c
parentzsh-3.1.5-pws-12 (diff)
downloadzsh-640a840d2e94f0fc245ef8632050c37af23c6b94.tar
zsh-640a840d2e94f0fc245ef8632050c37af23c6b94.tar.gz
zsh-640a840d2e94f0fc245ef8632050c37af23c6b94.tar.bz2
zsh-640a840d2e94f0fc245ef8632050c37af23c6b94.tar.lz
zsh-640a840d2e94f0fc245ef8632050c37af23c6b94.tar.xz
zsh-640a840d2e94f0fc245ef8632050c37af23c6b94.tar.zst
zsh-640a840d2e94f0fc245ef8632050c37af23c6b94.zip
zsh-3.1.5-pws-13zsh-3.1.5-pws-13
Diffstat (limited to 'Src/parse.c')
-rw-r--r--Src/parse.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/Src/parse.c b/Src/parse.c
index eb8398b1a..043aa0f0d 100644
--- a/Src/parse.c
+++ b/Src/parse.c
@@ -955,9 +955,17 @@ par_simple(Cmd c)
nocorrect = 1;
else if (tok == ENVSTRING) {
struct varasg *v = (struct varasg *)make_varnode();
+ char *p;
v->type = PM_SCALAR;
- equalsplit(v->name = tokstr, &v->str);
+ v->name = tokstr;
+ for (p = tokstr; *p && *p != Inbrack && *p != '='; p++);
+ if (*p == Inbrack && !skipparens(Inbrack, Outbrack, &p) &&
+ *p == '=') {
+ *p = '\0';
+ v->str = p + 1;
+ } else
+ equalsplit(tokstr, &v->str);
addlinknode(c->vars, v);
isnull = 0;
} else if (tok == ENVARRAY) {