+static
+void print_indentation(unsigned int indentation_level)
+{
+ unsigned int i;
+
+ for (i = 0; i < indentation_level; i++) {
+ _MSG(INDENTATION_LEVEL_STR);
+ }
+}
+
+static
+void print_error_query_results(struct lttng_error_query_results *results,
+ unsigned int base_indentation_level)
+{
+ unsigned int i, count, printed_errors_count = 0;
+ enum lttng_error_query_results_status results_status;
+
+ results_status = lttng_error_query_results_get_count(results, &count);
+ assert(results_status == LTTNG_ERROR_QUERY_RESULTS_STATUS_OK);
+
+ assert(results);
+
+ print_indentation(base_indentation_level);
+ _MSG("errors:");
+
+ for (i = 0; i < count; i++) {
+ const struct lttng_error_query_result *result;
+ enum lttng_error_query_result_status result_status;
+ const char *result_name;
+ const char *result_description;
+ uint64_t result_value;
+
+ results_status = lttng_error_query_results_get_result(
+ results, &result, i);
+ assert(results_status == LTTNG_ERROR_QUERY_RESULTS_STATUS_OK);
+
+ result_status = lttng_error_query_result_get_name(
+ result, &result_name);
+ assert(result_status == LTTNG_ERROR_QUERY_RESULT_STATUS_OK);
+ result_status = lttng_error_query_result_get_description(
+ result, &result_description);
+ assert(result_status == LTTNG_ERROR_QUERY_RESULT_STATUS_OK);
+
+
+ if (lttng_error_query_result_get_type(result) ==
+ LTTNG_ERROR_QUERY_RESULT_TYPE_COUNTER) {
+ result_status = lttng_error_query_result_counter_get_value(
+ result, &result_value);
+ assert(result_status ==
+ LTTNG_ERROR_QUERY_RESULT_STATUS_OK);
+ if (result_value == 0) {
+ continue;
+ }
+
+ MSG("");
+ print_indentation(base_indentation_level + 1);
+
+ _MSG("%s: %" PRIu64, result_name, result_value);
+ printed_errors_count++;
+ } else {
+ MSG("");
+ print_indentation(base_indentation_level + 1);
+ _MSG("Unknown error query result type for result '%s' (%s)",
+ result_name, result_description);
+ continue;
+ }
+ }
+
+ if (printed_errors_count == 0) {
+ _MSG(" none");
+ }
+}
+