diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2016-05-15 19:10:37 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2016-05-15 19:10:37 +0200 |
commit | 7717051e3ce062fbdb8415e4befa5205d25e80bb (patch) | |
tree | 029df0be93da100936c772c5f6a83f0874930cef /sys/src/cmd/rc/tree.c | |
parent | 81f867f4fb3d7fd495be3282a01d2e4a9b1a56fd (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.c | 4 |
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); } |