diff options
Diffstat (limited to 'src/cmd/lex/parser.y')
| -rw-r--r-- | src/cmd/lex/parser.y | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/cmd/lex/parser.y b/src/cmd/lex/parser.y index 8e7285d0..2d57e3f3 100644 --- a/src/cmd/lex/parser.y +++ b/src/cmd/lex/parser.y @@ -120,13 +120,13 @@ r: CHAR } else p = psave; - $$.i = mn1(RCCL,(int)p); + $$.i = mnp(RCCL,p); cclinter(1); } | CCL - ={ $$.i = mn1(RCCL,$1.i); } + ={ $$.i = mnp(RCCL,$1.cp); } | NCCL - ={ $$.i = mn1(RNCCL,$1.i); } + ={ $$.i = mnp(RNCCL,$1.cp); } | r '*' ={ $$.i = mn1(STAR,$1.i); } | r '+' @@ -253,7 +253,8 @@ yylex(void) right = myalloc(treesize,sizeof(*right)); nullstr = myalloc(treesize,sizeof(*nullstr)); parent = myalloc(treesize,sizeof(*parent)); - if(name == 0 || left == 0 || right == 0 || parent == 0 || nullstr == 0) + ptr = myalloc(treesize,sizeof(*ptr)); + if(name == 0 || left == 0 || right == 0 || parent == 0 || nullstr == 0 || ptr == 0) error("Too little core for parse tree"); return(freturn(DELIM)); case 'p': case 'P': /* has overridden number of positions */ |
