30 lines
709 B
C
30 lines
709 B
C
/*
|
|
* Bob Denny 28-Aug-82 Remove reference to stdio.h
|
|
* Scott Guthery 20-Nov-83 Adapt for IBM PC & DeSmet C
|
|
*/
|
|
|
|
#include <lex.h>
|
|
|
|
_lmovb(lp, c, st)
|
|
register int c, st;
|
|
register struct lextab *lp;
|
|
{
|
|
int base;
|
|
|
|
while ((base = lp->llbase[st]+c) > lp->llnxtmax ||
|
|
(lp->llcheck[base] & 0377) != st) {
|
|
|
|
if (st != lp->llendst) {
|
|
/*
|
|
* This miscompiled on Decus C many years ago:
|
|
* st = lp->lldefault[st] & 0377;
|
|
*/
|
|
base = lp->lldefault[st] & 0377;
|
|
st = base;
|
|
}
|
|
else
|
|
return(-1);
|
|
}
|
|
return(lp->llnext[base]&0377);
|
|
}
|