Portál AbcLinuxu, 12. května 2025 05:10
int ppp_getinput(char *buf, int maxlen);
#undef YY_INPUT
#define YY_INPUT(buf, retval, maxlen) (retval = ppp_getinput(buf, maxlen))
struct {
char *data;
int len;
void *lex;
} ppp_data;
int ppp_from_mem(char *buf, int len)
{
ppp_data.data = buf;
ppp_data.len = len;
yyparse();
return 0;
}
int ppp_getinput(char *buf, int maxlen)
{
int retval = 0;
if ( maxlen > ppp_data.len ) {
maxlen = ppp_data.len;
}
memcpy(buf, ppp_data.data, maxlen);
ppp_data.data += maxlen;
ppp_data.len -= maxlen;
retval = maxlen;
return retval;
}
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.