xref: /csrg-svn/old/lex/libln/yyless.c (revision 17666)
1*17666Sralph /*	@(#)yyless.c	4.2	01/09/85	*/
29920Ssam 
yyless(x)39920Ssam yyless(x)
49920Ssam {
59920Ssam extern char yytext[];
69920Ssam register char *lastch, *ptr;
79920Ssam extern int yyleng;
89920Ssam extern int yyprevious;
99920Ssam lastch = yytext+yyleng;
109920Ssam if (x>=0 && x <= yyleng)
119920Ssam 	ptr = x + yytext;
129920Ssam else
13*17666Sralph 	ptr = (char *) x;
149920Ssam while (lastch > ptr)
159920Ssam 	yyunput(*--lastch);
169920Ssam *lastch = 0;
179920Ssam if (ptr >yytext)
189920Ssam 	yyprevious = *--lastch;
199920Ssam yyleng = ptr-yytext;
209920Ssam }
21