Blame


1 b2cfc4e2 2003-09-30 devnull #include "lib9.h"
2 b2cfc4e2 2003-09-30 devnull #include "regexp9.h"
3 b2cfc4e2 2003-09-30 devnull #include "regcomp.h"
4 b2cfc4e2 2003-09-30 devnull
5 b2cfc4e2 2003-09-30 devnull extern Relist*
6 b2cfc4e2 2003-09-30 devnull _rrenewemptythread(Relist *lp, /* _relist to add to */
7 b2cfc4e2 2003-09-30 devnull Reinst *ip, /* instruction to add */
8 b2cfc4e2 2003-09-30 devnull Rune *rsp) /* pointers to subexpressions */
9 b2cfc4e2 2003-09-30 devnull {
10 b2cfc4e2 2003-09-30 devnull Relist *p;
11 b2cfc4e2 2003-09-30 devnull
12 b2cfc4e2 2003-09-30 devnull for(p=lp; p->inst; p++){
13 b2cfc4e2 2003-09-30 devnull if(p->inst == ip){
14 b2cfc4e2 2003-09-30 devnull if(rsp < p->se.m[0].s.rsp) {
15 b2cfc4e2 2003-09-30 devnull memset((void *)&p->se, 0, sizeof(p->se));
16 b2cfc4e2 2003-09-30 devnull p->se.m[0].s.rsp = rsp;
17 b2cfc4e2 2003-09-30 devnull }
18 b2cfc4e2 2003-09-30 devnull return 0;
19 b2cfc4e2 2003-09-30 devnull }
20 b2cfc4e2 2003-09-30 devnull }
21 b2cfc4e2 2003-09-30 devnull p->inst = ip;
22 b2cfc4e2 2003-09-30 devnull memset((void *)&p->se, 0, sizeof(p->se));
23 b2cfc4e2 2003-09-30 devnull p->se.m[0].s.rsp = rsp;
24 b2cfc4e2 2003-09-30 devnull (++p)->inst = 0;
25 b2cfc4e2 2003-09-30 devnull return p;
26 b2cfc4e2 2003-09-30 devnull }