diff options
Diffstat (limited to 'src/sourceoutput.c')
-rw-r--r-- | src/sourceoutput.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/sourceoutput.c b/src/sourceoutput.c index d4e7a50f..8021b522 100644 --- a/src/sourceoutput.c +++ b/src/sourceoutput.c @@ -3,6 +3,7 @@ #include <string.h> #include "sourceoutput.h" +#include "strbuf.h" struct source_output* source_output_new(struct source *s, struct sample_spec *spec, const char *name) { struct source_output *o; @@ -45,3 +46,25 @@ void source_output_kill(struct source_output*i) { if (i->kill) i->kill(i); } + +char *source_output_list_to_string(struct core *c) { + struct strbuf *s; + struct source_output *o; + uint32_t index = IDXSET_INVALID; + assert(c); + + s = strbuf_new(); + assert(s); + + strbuf_printf(s, "%u source outputs(s) available.\n", idxset_ncontents(c->source_outputs)); + + for (o = idxset_first(c->source_outputs, &index); o; o = idxset_next(c->source_outputs, &index)) { + assert(o->source); + strbuf_printf(s, " %c index: %u, name: <%s>, source: <%u>\n", + o->index, + o->name, + o->source->index); + } + + return strbuf_tostring_free(s); +} |