#include #include #include "regexp.h" #include "regcomp.h" /* * Machine state */ Relist* _relist[2]; Relist* _reliste[2]; int _relistsize = LISTINCREMENT; /* * save a new match in mp */ extern void _renewmatch(Resub *mp, int ms, Resublist *sp) { int i; if(mp==0 || ms<=0) return; if(mp[0].s.sp==0 || sp->m[0].s.spm[0].s.sp==mp[0].s.sp && sp->m[0].e.ep>mp[0].e.ep)){ for(i=0; im[i]; for(; iinst; p++){ if(p->inst == ip){ if((sep)->m[0].s.sp < p->se.m[0].s.sp) p->se = *sep; return 0; } } p->inst = ip; p->se = *sep; (++p)->inst = 0; return p; }