Lines Matching refs:rcp
1458 struct regcache *rcp; in int_regwcomp() local
1462 rcp = ((struct reghashq *)qp)->regcachep; in int_regwcomp()
1463 if (*rcp->pattern == *pattern && in int_regwcomp()
1464 wcscmp(rcp->pattern, pattern) == 0) in int_regwcomp()
1469 if (rcp != (struct regcache *)reglink.q_forw) { in int_regwcomp()
1470 remque(&rcp->lq); in int_regwcomp()
1471 insque(&rcp->lq, ®link); in int_regwcomp()
1473 if (rcp->refcnt == 0) in int_regwcomp()
1475 rcp->refcnt++; in int_regwcomp()
1476 *(struct regcache **)r = rcp; in int_regwcomp()
1490 if ((rcp = malloc(sizeof (struct regcache))) == NULL) in int_regwcomp()
1492 rcp->re = re; in int_regwcomp()
1493 if ((rcp->pattern = wsdup(pattern)) == NULL) { in int_regwcomp()
1495 free(rcp); in int_regwcomp()
1498 rcp->refcnt = 1; in int_regwcomp()
1499 insque(&rcp->lq, ®link); in int_regwcomp()
1500 insque(&rcp->hash.hq, ®hash[key]); in int_regwcomp()
1501 rcp->hash.regcachep = rcp; in int_regwcomp()
1503 *(struct regcache **)r = rcp; in int_regwcomp()
1512 struct regcache *rcp; in int_regwfree() local
1514 rcp = (struct regcache *)r; in int_regwfree()
1516 if (--rcp->refcnt != 0) in int_regwfree()
1530 rcp = (struct regcache *)qp; in int_regwfree()
1531 if (rcp->refcnt != 0) in int_regwfree()
1539 remque(&rcp->lq); in int_regwfree()
1540 remque(&rcp->hash.hq); in int_regwfree()
1543 free(rcp->pattern); in int_regwfree()
1544 regfree(&rcp->re); in int_regwfree()
1545 free(rcp); in int_regwfree()
1554 struct regcache *rcp; in int_regwerror() local
1556 rcp = (struct regcache *)r; in int_regwerror()
1557 return (regerror(errcode, &rcp->re, errbuf, bufsiz)); in int_regwerror()
1570 struct regcache *rcp; in int_regwexec() local
1580 rcp = (struct regcache *)r; in int_regwexec()
1582 i = regexec(&rcp->re, mbs, nsub, mbsub, flags); in int_regwexec()