#include "common/argpar/argpar.h"
#include "common/dynamic-array.hpp"
#include "common/mi-lttng.hpp"
+#include "lttng/action/list-internal.hpp"
-#include <stdio.h>
/* For lttng_condition_type_str(). */
#include "lttng/condition/condition-internal.hpp"
#include "lttng/condition/event-rule-matches-internal.hpp"
#include "lttng/condition/event-rule-matches.h"
+
/* For lttng_domain_type_str(). */
#include "lttng/domain-internal.hpp"
+
/* For lttng_event_rule_kernel_syscall_emission_site_str() */
#include "../loglevel.hpp"
#include "lttng/event-rule/kernel-syscall-internal.hpp"
#define INDENTATION_LEVEL_STR " "
-typedef enum lttng_event_rule_status (*event_rule_logging_get_name_pattern)(
- const struct lttng_event_rule *rule, const char **pattern);
-typedef enum lttng_event_rule_status (*event_rule_logging_get_filter)(
- const struct lttng_event_rule *rule, const char **expression);
-typedef enum lttng_event_rule_status (*event_rule_logging_get_log_level_rule)(
- const struct lttng_event_rule *rule, const struct lttng_log_level_rule **log_level_rule);
+using event_rule_logging_get_name_pattern =
+ enum lttng_event_rule_status (*)(const struct lttng_event_rule *, const char **);
+using event_rule_logging_get_filter =
+ enum lttng_event_rule_status (*)(const struct lttng_event_rule *, const char **);
+using event_rule_logging_get_log_level_rule = enum lttng_event_rule_status (*)(
+ const struct lttng_event_rule *, const struct lttng_log_level_rule **);
enum {
OPT_HELP,
static const char *get_pretty_loglevel_name(enum lttng_event_rule_type event_rule_type,
int loglevel)
{
- const char *name = NULL;
+ const char *name = nullptr;
switch (event_rule_type) {
case LTTNG_EVENT_RULE_TYPE_USER_TRACEPOINT:
const char *pattern;
const char *filter;
int log_level;
- const struct lttng_log_level_rule *log_level_rule = NULL;
+ const struct lttng_log_level_rule *log_level_rule = nullptr;
unsigned int exclusions_count;
int i;
const char *pattern;
const char *filter;
int log_level;
- const struct lttng_log_level_rule *log_level_rule = NULL;
- const char *type_str = NULL;
+ const struct lttng_log_level_rule *log_level_rule = nullptr;
+ const char *type_str = nullptr;
event_rule_logging_get_name_pattern logging_get_name_pattern;
event_rule_logging_get_filter logging_get_filter;
enum lttng_event_expr_status status;
parent_expr = lttng_event_expr_array_field_element_get_parent_expr(event_expr);
- LTTNG_ASSERT(parent_expr != NULL);
+ LTTNG_ASSERT(parent_expr != nullptr);
print_one_event_expr(parent_expr);
size_t action_path_length)
{
enum lttng_error_code error_query_ret;
- struct lttng_error_query_results *results = NULL;
+ struct lttng_error_query_results *results = nullptr;
const char *trigger_name;
uid_t trigger_uid;
enum lttng_trigger_status trigger_status;
{
enum lttng_action_type action_type;
enum lttng_action_status action_status;
- const struct lttng_rate_policy *policy = NULL;
+ const struct lttng_rate_policy *policy = nullptr;
const char *value;
action_type = lttng_action_get_type(action);
static void print_trigger_errors(const struct lttng_trigger *trigger)
{
enum lttng_error_code error_query_ret;
- struct lttng_error_query_results *results = NULL;
+ struct lttng_error_query_results *results = nullptr;
enum lttng_trigger_status trigger_status;
const char *trigger_name;
uid_t trigger_uid;
static void print_condition_errors(const struct lttng_trigger *trigger)
{
enum lttng_error_code error_query_ret;
- struct lttng_error_query_results *results = NULL;
+ struct lttng_error_query_results *results = nullptr;
enum lttng_trigger_status trigger_status;
const char *trigger_name;
uid_t trigger_uid;
action = lttng_trigger_get_const_action(trigger);
action_type = lttng_action_get_type(action);
if (action_type == LTTNG_ACTION_TYPE_LIST) {
- unsigned int count, i;
- enum lttng_action_status action_status;
+ uint64_t action_path_index = 0;
MSG(" actions:");
-
- action_status = lttng_action_list_get_count(action, &count);
- LTTNG_ASSERT(action_status == LTTNG_ACTION_STATUS_OK);
-
- for (i = 0; i < count; i++) {
- const uint64_t action_path_index = i;
- const struct lttng_action *subaction =
- lttng_action_list_get_at_index(action, i);
-
+ for (auto subaction : lttng::ctl::const_action_list_view(action)) {
_MSG(" ");
print_one_action(trigger, subaction, &action_path_index, 1);
+ action_path_index++;
}
} else {
_MSG(" action:");
- print_one_action(trigger, action, NULL, 0);
+ print_one_action(trigger, action, nullptr, 0);
}
print_trigger_errors(trigger);
enum lttng_trigger_status trigger_status;
unsigned int num_triggers;
- lttng_dynamic_pointer_array_init(&sorted_triggers, NULL);
+ lttng_dynamic_pointer_array_init(&sorted_triggers, nullptr);
trigger_status = lttng_triggers_get_count(triggers, &num_triggers);
if (trigger_status != LTTNG_TRIGGER_STATUS_OK) {
int cmd_list_triggers(int argc, const char **argv)
{
int ret;
- struct argpar_iter *argpar_iter = NULL;
- const struct argpar_item *argpar_item = NULL;
- struct lttng_triggers *triggers = NULL;
- struct mi_writer *mi_writer = NULL;
+ struct argpar_iter *argpar_iter = nullptr;
+ const struct argpar_item *argpar_item = nullptr;
+ struct lttng_triggers *triggers = nullptr;
+ struct mi_writer *mi_writer = nullptr;
argc--;
argv++;
while (true) {
enum parse_next_item_status status;
- status = parse_next_item(argpar_iter, &argpar_item, 1, argv, true, NULL, NULL);
+ status =
+ parse_next_item(argpar_iter, &argpar_item, 1, argv, true, nullptr, nullptr);
if (status == PARSE_NEXT_ITEM_STATUS_ERROR ||
status == PARSE_NEXT_ITEM_STATUS_ERROR_MEMORY) {
goto error;