Lines Matching refs:fnode
107 filenode *fnode; member
146 static void do_file(filenode *fnode, strnodelist *);
148 static int skip_ok(filenode *fnode);
149 static int keep_ok(filenode *fnode);
151 static void satisfy_req(f_reqnode *rnode, filenode *fnode, strnodelist *);
239 strnode_add(strnodelist **listp, char *s, filenode *fnode) in strnode_add() argument
244 ent->node = fnode; in strnode_add()
289 add_require(filenode *fnode, char *s) in add_require() argument
300 rnode->next = fnode->req_list; in add_require()
301 fnode->req_list = rnode; in add_require()
309 add_provide(filenode *fnode, char *s) in add_provide() argument
324 head->fnode = NULL; in add_provide()
363 warnx("file `%s' provides `%s'.", fnode->filename, s); in add_provide()
365 head->next->fnode->filename); in add_provide()
372 pnode->fnode = fnode; in add_provide()
382 f_pnode->next = fnode->prov_list; in add_provide()
383 fnode->prov_list = f_pnode; in add_provide()
390 add_before(filenode *fnode, char *s) in add_before() argument
395 bf_ent->node = fnode; in add_before()
405 add_keyword(filenode *fnode, char *s) in add_keyword() argument
408 strnode_add(&fnode->keyword_list, s, fnode); in add_keyword()
560 head->fnode = NULL; in make_fake_provision()
567 pnode->fnode = node; in make_fake_provision()
619 rnode->next = pnode->fnode->req_list; in insert_before()
620 pnode->fnode->req_list = rnode; in insert_before()
652 generate_graphviz_file_links(Hash_Entry *entry, filenode *fnode) in generate_graphviz_file_links() argument
664 for (fpnode = fnode->prov_list; fpnode && fpnode->entry; in generate_graphviz_file_links()
693 rfpnode = head->next->fnode->prov_list; in generate_graphviz_file_links()
708 filenode *fnode) in generate_loop_for_req() argument
725 if (stack_ptr->node == pnode->fnode) { in generate_loop_for_req()
745 revstack[stack_depth - 2] = fnode->filename; in generate_loop_for_req()
747 fnode->issues_count++; in generate_loop_for_req()
786 satisfy_req(f_reqnode *rnode, filenode *fnode, strnodelist *stack_ptr) in satisfy_req() argument
797 generate_graphviz_file_links(entry, fnode); in satisfy_req()
801 Hash_GetKey(entry), fnode->filename); in satisfy_req()
817 fnode); in satisfy_req()
822 Hash_GetKey(entry), fnode->filename); in satisfy_req()
835 stack_item.node = fnode; in satisfy_req()
842 do_file(head->next->fnode, &stack_item); in satisfy_req()
846 skip_ok(filenode *fnode) in skip_ok() argument
852 for (k = fnode->keyword_list; k; k = k->next) in skip_ok()
860 keep_ok(filenode *fnode) in keep_ok() argument
866 for (k = fnode->keyword_list; k; k = k->next) in keep_ok()
885 do_file(filenode *fnode, strnodelist *stack_ptr) in do_file() argument
893 DPRINTF((stderr, "do_file on %s.\n", fnode->filename)); in do_file()
899 if (fnode->in_progress == SET) { in do_file()
901 fnode->filename); in do_file()
907 fnode->in_progress = SET; in do_file()
913 r = fnode->req_list; in do_file()
914 fnode->sequence = 0; in do_file()
916 satisfy_req(r, fnode, stack_ptr); in do_file()
919 if (head && head->sequence > fnode->sequence) in do_file()
920 fnode->sequence = head->sequence; in do_file()
923 fnode->req_list = NULL; in do_file()
924 fnode->sequence++; in do_file()
927 if (fnode->issues_count) in do_file()
928 fnode->sequence = max_sequence + 1; in do_file()
930 if (max_sequence < fnode->sequence) in do_file()
931 max_sequence = fnode->sequence; in do_file()
937 p = fnode->prov_list; in do_file()
940 if (do_graphviz == true && fnode->issues_count) { in do_file()
949 if (head->sequence < fnode->sequence) in do_file()
950 head->sequence = fnode->sequence; in do_file()
964 fnode->prov_list = NULL; in do_file()
970 if (do_graphviz != true && was_set == 0 && skip_ok(fnode) && in do_file()
971 keep_ok(fnode)) { in do_file()
972 *fn_seqlist = fnode; in do_file()
976 if (fnode->next != NULL) { in do_file()
977 fnode->next->last = fnode->last; in do_file()
979 if (fnode->last != NULL) { in do_file()
980 fnode->last->next = fnode->next; in do_file()
983 if (fnode->issues_count) in do_file()
985 fnode->filename, fnode->issues_count); in do_file()
987 DPRINTF((stderr, "nuking %s\n", fnode->filename)); in do_file()
1041 basename(head->next->fnode->filename)) == 0) { in generate_graphviz_providers()
1046 printf("%s\\n", basename(pnode->fnode->filename)); in generate_graphviz_providers()