summaryrefslogtreecommitdiffabout
path: root/src/comp.c
authorSergey Poznyakoff <gray@gnu.org.ua>2016-02-22 10:31:56 (GMT)
committer Sergey Poznyakoff <gray@gnu.org.ua>2016-02-22 10:33:46 (GMT)
commitbfa3617a79292e3569587c65cd218b69bdfd28a2 (patch) (side-by-side diff)
tree8b094ec15dbb50be7324b3aa2f0d7486146a04d3 /src/comp.c
parenta9bd91de478ab29fa7bac2093479a1ccee1bbd87 (diff)
downloadpies-bfa3617a79292e3569587c65cd218b69bdfd28a2.tar.gz
pies-bfa3617a79292e3569587c65cd218b69bdfd28a2.tar.bz2
Provide a default single-user entry in init mode
This complements 6aac230c. The entry is created unless a component for runlevel S already exists. * src/comp.c (component_foreach): New function. * src/pies.h: Likewise. * src/sysvinit.c (inittab_parse): Provide default S entry unless one is already defined.
Diffstat (limited to 'src/comp.c') (more/less context) (ignore whitespace changes)
-rw-r--r--src/comp.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/comp.c b/src/comp.c
index 38e440e..43772c2 100644
--- a/src/comp.c
+++ b/src/comp.c
@@ -812,6 +812,23 @@ component_depmap_next (pies_depmap_pos_t pos)
return NULL;
return comp_array[n];
}
+
+int
+component_foreach (int (*filter) (struct component *, void *), void *data)
+{
+ struct component *comp;
+ int rc = 0;
+ struct complist *list = &comp_list[cur];
+
+ for (comp = list->head; comp; )
+ {
+ struct component *next = comp->next;
+ if ((rc = filter (comp, data)) != 0)
+ break;
+ comp = next;
+ }
+ return rc;
+}

Return to:

Send suggestions and report system problems to the System administrator.