Lines Matching +defs:match +defs:end
85 regmatch_t *match;
409 if (n <= 1 && (match[0].rm_so > le))
410 cspace(&SS, s, match[0].rm_so - le, APPEND);
413 if (lastempty || (match[0].rm_so - le) ||
414 match[0].rm_so != match[0].rm_eo) {
416 /* Want this match: append replacement. */
421 /* Want a later match: append original. */
422 if (match[0].rm_eo - le)
423 cspace(&SS, s, match[0].rm_eo - le,
429 /* Move past this match. */
430 s = ps + match[0].rm_eo;
431 slen = psl - match[0].rm_eo;
432 le = match[0].rm_eo;
435 * After a zero-length match, advance one byte,
436 * and at the end of the line, terminate.
438 if (match[0].rm_so == match[0].rm_eo) {
673 match[0].rm_so = start;
674 match[0].rm_eo = stop;
677 nomatch ? 0 : maxnsub + 1, match, eflags | REG_STARTEND);
689 * regsub - perform substitutions after a regexp match
722 } else if (match[no].rm_so != -1 && match[no].rm_eo != -1) {
723 len = match[no].rm_eo - match[no].rm_so;
725 memmove(dst, string + match[no].rm_so, len);
765 cfclose(struct s_command *cp, struct s_command *end)
768 for (; cp != end; cp = cp->next)