• Home
  • Raw
  • Download

Lines Matching refs:regex

67 	pcre2_code *regex; /* compiled regular expression */  member
70 int regex_prepare_data(struct regex_data **regex, char const *pattern_string, in regex_prepare_data() argument
75 *regex = regex_data_create(); in regex_prepare_data()
76 if (!(*regex)) in regex_prepare_data()
79 (*regex)->regex = pcre2_compile( in regex_prepare_data()
82 if (!(*regex)->regex) { in regex_prepare_data()
89 regex_data_free(*regex); in regex_prepare_data()
90 *regex = NULL; in regex_prepare_data()
105 int regex_load_mmap(struct mmap_area *mmap_area, struct regex_data **regex, in regex_load_mmap() argument
125 *regex = regex_data_create(); in regex_load_mmap()
126 if (!*regex) in regex_load_mmap()
129 rc = pcre2_serialize_decode(&(*regex)->regex, 1, in regex_load_mmap()
145 regex_data_free(*regex); in regex_load_mmap()
146 *regex = NULL; in regex_load_mmap()
150 int regex_writef(struct regex_data *regex, FILE *fp, int do_write_precompregex) in regex_writef() argument
160 rc = pcre2_serialize_encode((const pcre2_code **)&regex->regex, in regex_writef()
211 void regex_data_free(struct regex_data *regex) in regex_data_free() argument
213 if (regex) { in regex_data_free()
214 if (regex->regex) in regex_data_free()
215 pcre2_code_free(regex->regex); in regex_data_free()
216 free(regex); in regex_data_free()
220 int regex_match(struct regex_data *regex, char const *subject, int partial) in regex_match() argument
243 match_data = pcre2_match_data_create_from_pattern(regex->regex, in regex_match()
250 regex->regex, (PCRE2_SPTR)subject, PCRE2_ZERO_TERMINATED, 0, in regex_match()
281 rc = pcre2_pattern_info(regex1->regex, PCRE2_INFO_SIZE, &len1); in regex_cmp()
283 rc = pcre2_pattern_info(regex2->regex, PCRE2_INFO_SIZE, &len2); in regex_cmp()
285 if (len1 != len2 || memcmp(regex1->regex, regex2->regex, len1)) in regex_cmp()
325 pcre *regex; /* compiled regular expression */ member
332 int regex_prepare_data(struct regex_data **regex, char const *pattern_string, in regex_prepare_data() argument
337 *regex = regex_data_create(); in regex_prepare_data()
338 if (!(*regex)) in regex_prepare_data()
341 (*regex)->regex = in regex_prepare_data()
344 if (!(*regex)->regex) in regex_prepare_data()
347 (*regex)->owned = 1; in regex_prepare_data()
349 (*regex)->sd = pcre_study((*regex)->regex, 0, &errordata->error_buffer); in regex_prepare_data()
350 if (!(*regex)->sd && errordata->error_buffer) in regex_prepare_data()
356 regex_data_free(*regex); in regex_prepare_data()
357 *regex = NULL; in regex_prepare_data()
366 int regex_load_mmap(struct mmap_area *mmap_area, struct regex_data **regex, in regex_load_mmap() argument
377 *regex = regex_data_create(); in regex_load_mmap()
378 if (!(*regex)) in regex_load_mmap()
381 (*regex)->owned = 0; in regex_load_mmap()
382 (*regex)->regex = (pcre *)mmap_area->next_addr; in regex_load_mmap()
391 rc = pcre_fullinfo((*regex)->regex, NULL, PCRE_INFO_SIZE, &info_len); in regex_load_mmap()
400 (*regex)->lsd.study_data = (void *)mmap_area->next_addr; in regex_load_mmap()
401 (*regex)->lsd.flags |= PCRE_EXTRA_STUDY_DATA; in regex_load_mmap()
407 rc = pcre_fullinfo((*regex)->regex, &(*regex)->lsd, in regex_load_mmap()
417 regex_data_free(*regex); in regex_load_mmap()
418 *regex = NULL; in regex_load_mmap()
422 static inline pcre_extra *get_pcre_extra(struct regex_data *regex) in get_pcre_extra() argument
424 if (!regex) return NULL; in get_pcre_extra()
425 if (regex->owned) { in get_pcre_extra()
426 return regex->sd; in get_pcre_extra()
427 } else if (regex->lsd.study_data) { in get_pcre_extra()
428 return &regex->lsd; in get_pcre_extra()
434 int regex_writef(struct regex_data *regex, FILE *fp, in regex_writef() argument
441 pcre_extra *sd = get_pcre_extra(regex); in regex_writef()
444 rc = pcre_fullinfo(regex->regex, NULL, PCRE_INFO_SIZE, &size); in regex_writef()
455 len = fwrite(regex->regex, 1, to_write, fp); in regex_writef()
462 pcre_fullinfo(regex->regex, sd, PCRE_INFO_STUDYSIZE, &size); in regex_writef()
484 void regex_data_free(struct regex_data *regex) in regex_data_free() argument
486 if (regex) { in regex_data_free()
487 if (regex->owned) { in regex_data_free()
488 if (regex->regex) in regex_data_free()
489 pcre_free(regex->regex); in regex_data_free()
490 if (regex->sd) in regex_data_free()
491 pcre_free_study(regex->sd); in regex_data_free()
493 free(regex); in regex_data_free()
497 int regex_match(struct regex_data *regex, char const *subject, int partial) in regex_match() argument
501 rc = pcre_exec(regex->regex, get_pcre_extra(regex), in regex_match()
529 rc = pcre_fullinfo(regex1->regex, NULL, PCRE_INFO_SIZE, &len1); in regex_cmp()
531 rc = pcre_fullinfo(regex2->regex, NULL, PCRE_INFO_SIZE, &len2); in regex_cmp()
533 if (len1 != len2 || memcmp(regex1->regex, regex2->regex, len1)) in regex_cmp()