text: Use a GSList of enabled probe names, not an array.
This commit is contained in:
parent
db9679afc9
commit
d53e4e8d92
|
@ -40,23 +40,27 @@ SR_PRIV void flush_linebufs(struct context *ctx, uint8_t *outbuf)
|
|||
{
|
||||
static int max_probename_len = 0;
|
||||
int len, i;
|
||||
GSList *l;
|
||||
char *probe_name;
|
||||
|
||||
if (ctx->linebuf[0] == 0)
|
||||
return;
|
||||
|
||||
if (max_probename_len == 0) {
|
||||
/* First time through... */
|
||||
for (i = 0; ctx->probelist[i]; i++) {
|
||||
len = strlen(ctx->probelist[i]);
|
||||
for (l = ctx->probenames; l; l = l->next) {
|
||||
probe_name = l->data;
|
||||
len = strlen(probe_name);
|
||||
if (len > max_probename_len)
|
||||
max_probename_len = len;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; ctx->probelist[i]; i++) {
|
||||
for (i = 0, l = ctx->probenames; l; l = l->next, i++) {
|
||||
probe_name = l->data;
|
||||
sprintf((char *)outbuf + strlen((const char *)outbuf),
|
||||
"%*s:%s\n", max_probename_len,
|
||||
ctx->probelist[i], ctx->linebuf + i * ctx->linebuf_len);
|
||||
probe_name, ctx->linebuf + i * ctx->linebuf_len);
|
||||
}
|
||||
|
||||
/* Mark trigger with a ^ character. */
|
||||
|
@ -91,15 +95,16 @@ SR_PRIV int init(struct sr_output *o, int default_spl, enum outputmode mode)
|
|||
|
||||
o->internal = ctx;
|
||||
ctx->num_enabled_probes = 0;
|
||||
ctx->probenames = NULL;
|
||||
|
||||
for (l = o->sdi->probes; l; l = l->next) {
|
||||
probe = l->data;
|
||||
if (!probe->enabled)
|
||||
continue;
|
||||
ctx->probelist[ctx->num_enabled_probes++] = probe->name;
|
||||
ctx->probenames = g_slist_append(ctx->probenames, probe->name);
|
||||
ctx->num_enabled_probes++;
|
||||
}
|
||||
|
||||
ctx->probelist[ctx->num_enabled_probes] = 0;
|
||||
ctx->unitsize = (ctx->num_enabled_probes + 7) / 8;
|
||||
ctx->line_offset = 0;
|
||||
ctx->spl_cnt = 0;
|
||||
|
|
|
@ -36,7 +36,7 @@ struct context {
|
|||
unsigned int unitsize;
|
||||
int line_offset;
|
||||
int linebuf_len;
|
||||
char *probelist[SR_MAX_NUM_PROBES + 1];
|
||||
GSList *probenames;
|
||||
uint8_t *linebuf;
|
||||
int spl_cnt;
|
||||
uint8_t *linevalues;
|
||||
|
|
Loading…
Reference in New Issue