Home | History | Annotate | Download | only in src

Lines Matching refs:domain

103 typedef struct domain {
113 struct domain *next;
361 destroy_domain(domain_t *domain) {
366 for (ptr = domain->trans_to_raw[i]; ptr;) {
372 domain->trans_to_raw[i] = NULL;
376 for (ptr = domain->raw_to_trans[i]; ptr;) {
385 domain->raw_to_trans[i] = NULL;
387 while (domain->base_classifications) {
388 base_classification_t *next = domain->base_classifications->next;
389 free(domain->base_classifications->trans);
390 ebitmap_destroy(&domain->base_classifications->level->cat);
391 free(domain->base_classifications->level);
392 free(domain->base_classifications);
393 domain->base_classifications = next;
395 pcre_free(domain->base_classification_regexp);
396 while (domain->groups)
397 destroy_group(&domain->groups, domain->groups);
398 free(domain->name);
399 free(domain);
406 domain_t *domain = calloc(1, sizeof(domain_t));
407 if (!domain) {
410 domain->name = strdup(name);
411 if (!domain->name) {
418 *d = domain;
420 return domain;
424 destroy_domain(domain);
603 add_base_classification(domain_t *domain, char *raw, char *trans) {
620 for (i=&domain->base_classifications; *i; i=&(*i)->next)
630 add_cache(domain_t *domain, char *raw, char *trans) {
644 if (add_to_hashtable(domain->raw_to_trans, map->raw, map) < 0)
647 if (add_to_hashtable(domain->trans_to_raw, map->trans, map) < 0)
723 static domain_t *domain;
777 if (!strcmp(raw, "Domain")) {
778 domain = create_domain(tok);
783 if (!domain) {
784 domain = create_domain("Default");
785 if (!domain)
816 group = create_group(&domain->groups, tok);
846 if (add_base_classification(domain, raw, tok) < 0) {
851 if (add_cache(domain, raw, tok) < 0)
934 find_in_hashtable(const char *range, domain_t *domain, context_map_node_t **table) {
938 trans = strdup((table == domain->raw_to_trans) ? map->trans: map->raw);
985 build_regexps(domain_t *domain) {
994 for (n_el = 0, bc = domain->base_classifications; bc; bc = bc->next) {
1004 for (i=0, bc = domain->base_classifications; bc; bc = bc->next) {
1017 log_debug(">>> %s classification regexp=%s\n", domain->name, buffer);
1018 build_regexp(&domain->base_classification_regexp, buffer);
1020 for (g = domain->groups; g; g = g->next) {
1029 log_debug(">>> %s %s prefix regexp=%s\n", domain->name, g->name, buffer);
1070 log_debug(">>> %s %s modifier regexp=%s\n", domain->name, g->name, buffer);
1080 log_debug(">>> %s %s suffix regexp=%s\n", domain->name, g->name, buffer);
1089 compute_raw_from_trans(const char *level, domain_t *domain) {
1117 if (!domain->base_classification_regexp)
1118 if (build_regexps(domain) < 0)
1120 if (!domain->base_classification_regexp)
1123 rc = pcre_exec(domain->base_classification_regexp, 0, work, work_len, 0, PCRE_ANCHORED, ovector, OVECCOUNT);
1129 for (bc = domain->base_classifications; bc; bc = bc->next) {
1161 for (g = domain->groups; g && !change && !complete; g = g->next) {
1281 compute_trans_from_raw(const char *level, domain_t *domain) {
1320 for (bc = domain->base_classifications; bc && !done; bc = bc->next) {
1335 for (g = domain->groups; g; g = g->next) {
1365 for (g = domain->groups; g && hamming; g = g->next) {
1505 domain_t *domain = domains;
1506 for (;domain; domain = domain->next) {
1507 trans = find_in_hashtable(range, domain, domain->raw_to_trans);
1519 trans = compute_trans_from_raw(range, domain);
1521 if (add_cache(domain, range, trans) < 0) {
1528 ltrans = find_in_hashtable(lrange, domain, domain->raw_to_trans);
1530 ltrans = compute_trans_from_raw(lrange, domain);
1532 if (add_cache(domain, lrange, ltrans) < 0) {
1546 utrans = find_in_hashtable(urange, domain, domain->raw_to_trans);
1548 utrans = compute_trans_from_raw(urange, domain);
1550 if (add_cache(domain, urange, utrans) < 0) {
1629 domain_t *domain = domains;
1630 for (;domain; domain = domain->next) {
1631 raw = find_in_hashtable(range, domain, domain->trans_to_raw);
1643 raw = compute_raw_from_trans(range, domain);
1645 char *canonical = find_in_hashtable(raw, domain, domain->raw_to_trans);
1647 canonical = compute_trans_from_raw(raw, domain);
1649 if (add_cache(domain, raw, canonical) < 0) {
1656 if (add_cache(domain, raw, range) < 0) {
1666 lraw = find_in_hashtable(lrange, domain, domain->trans_to_raw);
1668 lraw = compute_raw_from_trans(lrange, domain);
1670 char *canonical = find_in_hashtable(lraw, domain, domain->raw_to_trans);
1672 canonical = compute_trans_from_raw(lraw, domain);
1674 if (add_cache(domain, lraw, canonical) < 0) {
1682 if (add_cache(domain, lraw, lrange) < 0) {
1697 uraw = find_in_hashtable(urange, domain, domain->trans_to_raw);
1699 uraw = compute_raw_from_trans(urange, domain);
1701 char *canonical = find_in_hashtable(uraw, domain, domain->raw_to_trans);
1703 canonical = compute_trans_from_raw(uraw, domain);
1705 if (add_cache(domain, uraw, canonical) < 0) {
1714 if (add_cache(domain, uraw, urange) < 0) {