X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng%2Fcommands%2Flist.c;h=229648e07cebe7018d2dfa80fc67151fff97a15c;hp=49470ab86b91d00fc8032f5062b8b89429599ad0;hb=a7a533cd65d544e8beebabcca5fe906e27af4707;hpb=2d97a0067600335f07eecb2c1d9ba68fc164583e diff --git a/src/bin/lttng/commands/list.c b/src/bin/lttng/commands/list.c index 49470ab86..229648e07 100644 --- a/src/bin/lttng/commands/list.c +++ b/src/bin/lttng/commands/list.c @@ -1539,16 +1539,23 @@ static int list_tracker_ids(enum lttng_tracker_type tracker_type) { int ret = 0; int enabled = 1; - struct lttng_tracker_id **ids = NULL; + struct lttng_tracker_ids *ids = NULL; size_t nr_ids, i; + const struct lttng_tracker_id *id; - ret = lttng_list_tracker_ids(handle, tracker_type, &ids, &nr_ids); + ret = lttng_list_tracker_ids(handle, tracker_type, &ids); if (ret) { return ret; } - if (nr_ids == 1 && lttng_tracker_id_get_type(ids[0]) == LTTNG_ID_ALL) { - enabled = 0; + + nr_ids = lttng_tracker_ids_get_count(ids); + if (nr_ids == 1) { + id = lttng_tracker_ids_get_at_index(ids, 0); + if (id && lttng_tracker_id_get_type(id) == LTTNG_ID_ALL) { + enabled = 0; + } } + if (enabled) { _MSG("%s tracker: [", get_tracker_str(tracker_type)); @@ -1562,11 +1569,17 @@ static int list_tracker_ids(enum lttng_tracker_type tracker_type) } for (i = 0; i < nr_ids; i++) { - struct lttng_tracker_id *id = ids[i]; - enum lttng_tracker_id_status status; + enum lttng_tracker_id_status status = + LTTNG_TRACKER_ID_STATUS_OK; int value; const char *value_string; + id = lttng_tracker_ids_get_at_index(ids, i); + if (!id) { + ret = CMD_ERROR; + goto end; + } + switch (lttng_tracker_id_get_type(id)) { case LTTNG_ID_ALL: break; @@ -1627,7 +1640,7 @@ static int list_tracker_ids(enum lttng_tracker_type tracker_type) } } end: - lttng_tracker_ids_destroy(ids, nr_ids); + lttng_tracker_ids_destroy(ids); return ret; }