path: root/src/pies.h
diff options
authorSergey Poznyakoff <gray@gnu.org>2019-05-23 13:08:08 +0300
committerSergey Poznyakoff <gray@gnu.org>2019-05-23 13:08:08 +0300
commitbd19f38853dad5a89abada6ee5e7a23c65173894 (patch)
tree57b53cdceeb69db1bb51e8df48eb4f007c6ecb97 /src/pies.h
parent3ad426f88d274535d7e04e12add72534034ac075 (diff)
Revise dependency handling. Correctly display cyclic dependencies.
* src/comp.c (component_log_dep): Remove. (report_cyclic_dependency): New function. (comp_array_remove): New function. (component_build_depmap): Remove erroneous components both from the component table and dependency map. (components_dump_depmap): Avoid trailing whitespace in the output. * src/depmap.c (depmap_clear_all): Remove. (depmap_remove): New function. * src/pies.h (CF_REMOVE): New flag. (depmap_clear_all): Remove prototype. (depmap_remove): New prototype. * tests/Makefile.am: Add new test. * tests/atlocal.in (trimws): New function. * tests/cyclic.at: New test. * tests/testsuite.at: Include new test.
Diffstat (limited to 'src/pies.h')
1 files changed, 3 insertions, 3 deletions
diff --git a/src/pies.h b/src/pies.h
index 70d972a..e7e5d71 100644
--- a/src/pies.h
+++ b/src/pies.h
@@ -196,12 +196,14 @@ enum pies_comp_mode
the environment */
#define CF_RESOLVE 0x080 /* Resolve IP addresses */
#define CF_SIGGROUP 0x100 /* Send signals to the process group */
#define CF_NULLINPUT 0x200 /* Provide null input stream */
+#define CF_REMOVE 0x400 /* Marked for removal */
struct prog;
struct component
@@ -371,15 +373,13 @@ enum pies_depmap_direction
pies_depmap_t depmap_alloc (size_t count);
pies_depmap_t depmap_copy (pies_depmap_t dpm);
void depmap_set (pies_depmap_t dmap, size_t row, size_t col);
int depmap_isset (pies_depmap_t dmap, size_t row, size_t col);
void depmap_clear (pies_depmap_t dmap, size_t row, size_t col);
-void depmap_clear_all (pies_depmap_t dmap, enum pies_depmap_direction dir,
- size_t coord);
+void depmap_remove (pies_depmap_t dmap, size_t n);
void depmap_tc (pies_depmap_t dmap);
size_t depmap_first (pies_depmap_t dmap, enum pies_depmap_direction dir,
size_t coord, pies_depmap_pos_t *ppos);
size_t depmap_next (pies_depmap_t dmap, pies_depmap_pos_t pos);
void depmap_end (pies_depmap_pos_t pos);

Return to:

Send suggestions and report system problems to the System administrator.