64-bit fixes. [jmk] --rw-rw-r-- M 1146153 glenda sys 6076 Dec 30 00:45 sys/src/cmd/lex/lmain.c /n/sourcesdump/2005/1230/plan9/sys/src/cmd/lex/lmain.c:137,143 - /n/sourcesdump/2005/1231/plan9/sys/src/cmd/lex/lmain.c:137,143 gch(); /* may be gotten: def, subs, sname, stchar, ccl, dchar */ get1core(); - /* may be gotten: name, left, right, nullstr, parent */ + /* may be gotten: name, left, right, nullstr, parent, ptr */ strcpy((char*)sp, "INITIAL"); sname[0] = sp; sp += strlen("INITIAL") + 1; /n/sourcesdump/2005/1230/plan9/sys/src/cmd/lex/lmain.c:246,251 - /n/sourcesdump/2005/1231/plan9/sys/src/cmd/lex/lmain.c:246,252 free(right); free(parent); free(nullstr); + free(ptr); free(state); free(sname); free(stchar); [jmk] --rw-rw-r-- M 1146153 glenda sys 10121 Dec 30 00:45 sys/src/cmd/lex/sub1.c /n/sourcesdump/2005/1230/plan9/sys/src/cmd/lex/sub1.c:345,351 - /n/sourcesdump/2005/1231/plan9/sys/src/cmd/lex/sub1.c:345,351 if(strlen(p) == 0) nullstr[tptr] = TRUE; break; default: - warning("bad switch mnp %d %P", a, p); + error("bad switch mnp %d %P", a, p); break; } if(tptr > treesize) /n/sourcesdump/2005/1230/plan9/sys/src/cmd/lex/sub1.c:440,446 - /n/sourcesdump/2005/1231/plan9/sys/src/cmd/lex/sub1.c:440,448 switch(i){ case RNULLS: return(mn0(i)); - case RCCL: case RNCCL: case FINAL: case S1FINAL: case S2FINAL: + case RCCL: case RNCCL: + return(mnp(i,ptr[n])); + case FINAL: case S1FINAL: case S2FINAL: return(mn1(i,left[n])); case STAR: case QUEST: case PLUS: case CARAT: return(mn1(i,dupl(left[n]))); /n/sourcesdump/2005/1230/plan9/sys/src/cmd/lex/sub1.c:550,560 - /n/sourcesdump/2005/1231/plan9/sys/src/cmd/lex/sub1.c:552,562 break; case RCCL: print("ccl "); - allprint(left[t]); + allprint(ptr[t]); break; case RNCCL: print("nccl "); - allprint(left[t]); + allprint(ptr[t]); break; case DIV: print("/ %d %d",left[t],right[t]); [jmk] --rw-rw-r-- M 1146153 glenda sys 17089 Dec 30 00:45 sys/src/cmd/lex/sub2.c /n/sourcesdump/2005/1230/plan9/sys/src/cmd/lex/sub2.c:238,244 - /n/sourcesdump/2005/1231/plan9/sys/src/cmd/lex/sub2.c:238,244 else switch(name[curpos]){ case RCCL: tryit = TRUE; - q = (uchar *)left[curpos]; + q = ptr[curpos]; while(*q){ for(j=1;j