summaryrefslogtreecommitdiff
path: root/sys/src/cmd/rc/tree.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2016-05-15 19:10:37 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2016-05-15 19:10:37 +0200
commit7717051e3ce062fbdb8415e4befa5205d25e80bb (patch)
tree029df0be93da100936c772c5f6a83f0874930cef /sys/src/cmd/rc/tree.c
parent81f867f4fb3d7fd495be3282a01d2e4a9b1a56fd (diff)
rc: fix inband globbing bugs, cleanup
add glob information to the word structure so we wont accidently deglob quoted strings containing the GLOB. we store Globsize(word) in in word->glob which avoids recalculating that values and the check if a word should be globbed quick. globlist() now substitutes the word inplace avoiding the copying when all words are literals and avoids recursion. minor cleanups: use list2str() in execeval(), move octal() to unix.c, remove the (char*) casts to efree().
Diffstat (limited to 'sys/src/cmd/rc/tree.c')
-rw-r--r--sys/src/cmd/rc/tree.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/src/cmd/rc/tree.c b/sys/src/cmd/rc/tree.c
index f7d0b4cf4..9481f0f7b 100644
--- a/sys/src/cmd/rc/tree.c
+++ b/sys/src/cmd/rc/tree.c
@@ -28,7 +28,7 @@ freenodes(void)
u = t->next;
if(t->str)
efree(t->str);
- efree((char *)t);
+ efree(t);
}
treenodes = 0;
}
@@ -144,5 +144,5 @@ freetree(tree *p)
freetree(p->child[2]);
if(p->str)
efree(p->str);
- efree((char *)p);
+ efree(p);
}