Lines Matching defs:pat
1404 VarPattern *pat = (VarPattern *)patp;
1412 if ((ptr = Str_SYSVMatch(word, pat->lhs, &len)) != NULL) {
1413 varexp = Var_Subst(NULL, pat->rhs, ctx, VARF_WANTRES);
1653 VarREError(int reerr, regex_t *pat, const char *str)
1658 errlen = regerror(reerr, pat, 0, 0);
1660 regerror(reerr, pat, errbuf, errlen);
1686 VarREPattern *pat;
1700 pat = patternp;
1702 if ((pat->flags & (VAR_SUB_ONE|VAR_SUB_MATCHED)) ==
1707 xrv = regexec(&pat->re, wp, pat->nsub, pat->matches, flags);
1712 pat->flags |= VAR_SUB_MATCHED;
1713 if (pat->matches[0].rm_so > 0) {
1715 Buf_AddBytes(buf, pat->matches[0].rm_so, wp);
1718 for (rp = pat->replace; *rp; rp++) {
1743 if (n > pat->nsub) {
1747 } else if ((pat->matches[n].rm_so == -1) &&
1748 (pat->matches[n].rm_eo == -1)) {
1753 subbuf = wp + pat->matches[n].rm_so;
1754 sublen = pat->matches[n].rm_eo - pat->matches[n].rm_so;
1766 wp += pat->matches[0].rm_eo;
1767 if (pat->flags & VAR_SUB_GLOBAL) {
1769 if (pat->matches[0].rm_so == 0 && pat->matches[0].rm_eo == 0) {
1784 VarREError(xrv, &pat->re, "Unexpected regex error");