Lines Matching refs:pat
67 _utbm_char_t *pat;
113 _utbm_match(utbm_pattern_t pat, ucs2_t *text, ucs2_t *start, ucs2_t *end,
136 if (pat->pat_used == 1) {
144 cp = pat->pat + (pat->pat_used - 1);
146 for (count = pat->patlen; start > text && count > 0;) {
150 if (pat->flags & UTBM_IGNORE_NONSPACING) {
166 if (pat->flags & UTBM_SPACE_COMPRESS) {
248 free((char *) pattern->pat);
257 utbm_compile(ucs2_t *pat, unsigned long patlen, unsigned long flags,
266 if (p == 0 || pat == 0 || *pat == 0 || patlen == 0)
289 p->pat = (_utbm_char_t *) malloc(sizeof(_utbm_char_t) * patlen);
292 p->pat = (_utbm_char_t *)
293 realloc((char *) p->pat, sizeof(_utbm_char_t) * patlen);
304 for (have_space = 0, cp = p->pat, i = 0; i < patlen; i++) {
305 c1 = pat[i];
306 c2 = (i + 1 < patlen) ? pat[i + 1] : ~0;
387 p->pat_used = cp - p->pat;
394 cp = p->pat;
434 utbm_exec(utbm_pattern_t pat, ucs2_t *text, unsigned long textlen,
440 if (pat == 0 || pat->pat_used == 0 || text == 0 || textlen == 0 ||
441 textlen < pat->patlen)
444 start = text + pat->patlen;
455 while ((k = _utbm_skip(pat, start, end))) {
463 _utbm_match(pat, text, start, end, match_start, match_end))
466 start += pat->md4;