summaryrefslogtreecommitdiff
path: root/tree.c
diff options
context:
space:
mode:
authorToby Goodwin <toby@paccrat.org>2014-09-01 22:39:21 +0100
committerToby Goodwin <toby@paccrat.org>2015-05-16 21:23:25 +0100
commit517ced5334f62771153cc16c73ba382c7da42f8e (patch)
treef62f04e7732e3cf01fe4a76b805f9733b4e4a77a /tree.c
parent4648857ce124cff7bbe41f29cfadf0f8a2393b1e (diff)
fix both Zekoll and Neukirchen bugs
Diffstat (limited to 'tree.c')
-rw-r--r--tree.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/tree.c b/tree.c
index 37db4cd..60b42e3 100644
--- a/tree.c
+++ b/tree.c
@@ -81,7 +81,7 @@ extern Node *treecpy(Node *s, void *(*alloc)(size_t)) {
n->u[2].i = s->u[2].i;
break;
case nWord:
- n = (*alloc)(offsetof(Node, u[2]));
+ n = (*alloc)(offsetof(Node, u[3]));
n->u[0].s = strcpy((char *) (*alloc)(strlen(s->u[0].s) + 1), s->u[0].s);
if (s->u[1].s != NULL) {
size_t i = strlen(s->u[0].s);
@@ -89,6 +89,7 @@ extern Node *treecpy(Node *s, void *(*alloc)(size_t)) {
memcpy(n->u[1].s, s->u[1].s, i);
} else
n->u[1].s = NULL;
+ n->u[2].i = s->u[2].i;
break;
case nBang: case nNowait: case nCase:
case nCount: case nFlat: case nRmfn: case nSubshell: case nVar: