From: Florian Forster Date: Mon, 12 Jul 2010 16:58:30 +0000 (+0200) Subject: src/graph.[ch]: Implement "graph_ident_intersect". X-Git-Tag: v4.0.0~99 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=73702f59d5e5e7d900d288a3848bfd1c72838a7e;p=collection4.git src/graph.[ch]: Implement "graph_ident_intersect". --- diff --git a/src/graph.c b/src/graph.c index c6fb444..2c1afc8 100644 --- a/src/graph.c +++ b/src/graph.c @@ -318,6 +318,17 @@ _Bool graph_matches_ident (graph_config_t *cfg, /* {{{ */ return (ident_matches (selector, cfg->select)); } /* }}} _Bool graph_matches_ident */ +_Bool graph_ident_intersect (graph_config_t *cfg, /* {{{ */ + const graph_ident_t *selector) +{ +#if C4_DEBUG + if ((cfg == NULL) || (selector == NULL)) + return (0); +#endif + + return (ident_intersect (cfg->select, selector)); +} /* }}} _Bool graph_ident_intersect */ + _Bool graph_matches_field (graph_config_t *cfg, /* {{{ */ graph_ident_field_t field, const char *field_value) { diff --git a/src/graph.h b/src/graph.h index b7a7a89..7dca2ce 100644 --- a/src/graph.h +++ b/src/graph.h @@ -62,6 +62,12 @@ _Bool graph_ident_matches (graph_config_t *cfg, const graph_ident_t *ident); _Bool graph_matches_ident (graph_config_t *cfg, const graph_ident_t *selector); +/* Returns true if a file may apply to both, the graphs selector and the + * selector given as argument. If the selectors contradict one another, + * returns false. */ +_Bool graph_ident_intersect (graph_config_t *cfg, + const graph_ident_t *selector); + /* Compares the given string with the appropriate field of the selector. If * the selector field is "/all/" or "/any/", returns true without checking the * instances. See "graph_inst_search_field" for finding all matching