#include <common/runas.h>
#include <common/hashtable/hashtable.h>
#include <common/hashtable/utils.h>
+#include <common/string-utils/string-utils.h>
#include <lttng/event-rule/event-rule-internal.h>
#include <lttng/event-rule/tracepoint-internal.h>
#include <lttng/log-level-rule.h>
tracepoint = container_of(
rule, struct lttng_event_rule_tracepoint, parent);
- status = lttng_event_rule_tracepoint_get_exclusions_count(rule, &exclusion_count);
+ status = lttng_event_rule_tracepoint_get_name_pattern_exclusion_count(rule, &exclusion_count);
assert(status == LTTNG_EVENT_RULE_STATUS_OK);
pattern_len = strlen(tracepoint->pattern) + 1;
for (i = 0; i < exclusion_count; i++) {
const char *exclusion;
- status = lttng_event_rule_tracepoint_get_exclusion_at_index(
+ status = lttng_event_rule_tracepoint_get_name_pattern_exclusion_at_index(
rule, i, &exclusion);
assert(status == LTTNG_EVENT_RULE_STATUS_OK);
size_t len;
const char *exclusion;
- status = lttng_event_rule_tracepoint_get_exclusion_at_index(
+ status = lttng_event_rule_tracepoint_get_name_pattern_exclusion_at_index(
rule, i, &exclusion);
assert(status == LTTNG_EVENT_RULE_STATUS_OK);
a = container_of(_a, struct lttng_event_rule_tracepoint, parent);
b = container_of(_b, struct lttng_event_rule_tracepoint, parent);
- status = lttng_event_rule_tracepoint_get_exclusions_count(_a, &count_a);
+ status = lttng_event_rule_tracepoint_get_name_pattern_exclusion_count(_a, &count_a);
assert(status == LTTNG_EVENT_RULE_STATUS_OK);
- status = lttng_event_rule_tracepoint_get_exclusions_count(_b, &count_b);
+ status = lttng_event_rule_tracepoint_get_name_pattern_exclusion_count(_b, &count_b);
assert(status == LTTNG_EVENT_RULE_STATUS_OK);
/* Quick checks. */
for (i = 0; i < count_a; i++) {
const char *exclusion_a, *exclusion_b;
- status = lttng_event_rule_tracepoint_get_exclusion_at_index(
+ status = lttng_event_rule_tracepoint_get_name_pattern_exclusion_at_index(
_a, i, &exclusion_a);
assert(status == LTTNG_EVENT_RULE_STATUS_OK);
- status = lttng_event_rule_tracepoint_get_exclusion_at_index(
+ status = lttng_event_rule_tracepoint_get_name_pattern_exclusion_at_index(
_b, i, &exclusion_b);
assert(status == LTTNG_EVENT_RULE_STATUS_OK);
if (strcmp(exclusion_a, exclusion_b)) {
assert(rule);
assert(_agent_filter);
- status = lttng_event_rule_tracepoint_get_pattern(rule, &pattern);
+ status = lttng_event_rule_tracepoint_get_name_pattern(rule, &pattern);
if (status != LTTNG_EVENT_RULE_STATUS_OK) {
ret = -1;
goto end;
abort();
}
- event_rule_status = lttng_event_rule_tracepoint_get_exclusions_count(
+ event_rule_status = lttng_event_rule_tracepoint_get_name_pattern_exclusion_count(
rule, &nb_exclusions);
assert(event_rule_status == LTTNG_EVENT_RULE_STATUS_OK);
if (nb_exclusions == 0) {
const char *exclusion_str;
event_rule_status =
- lttng_event_rule_tracepoint_get_exclusion_at_index(
+ lttng_event_rule_tracepoint_get_name_pattern_exclusion_at_index(
rule, i, &exclusion_str);
assert(event_rule_status == LTTNG_EVENT_RULE_STATUS_OK);
hash ^= lttng_log_level_rule_hash(tp_rule->log_level_rule);
}
- status = lttng_event_rule_tracepoint_get_exclusions_count(rule,
+ status = lttng_event_rule_tracepoint_get_name_pattern_exclusion_count(rule,
&exclusion_count);
assert(status == LTTNG_EVENT_RULE_STATUS_OK);
for (i = 0; i < exclusion_count; i++) {
const char *exclusion;
- status = lttng_event_rule_tracepoint_get_exclusion_at_index(
+ status = lttng_event_rule_tracepoint_get_name_pattern_exclusion_at_index(
rule, i, &exclusion);
assert(status == LTTNG_EVENT_RULE_STATUS_OK);
hash ^= hash_key_str(exclusion, lttng_ht_seed);
destroy_lttng_exclusions_element);
/* Default pattern is '*'. */
- status = lttng_event_rule_tracepoint_set_pattern(rule, "*");
+ status = lttng_event_rule_tracepoint_set_name_pattern(rule, "*");
if (status != LTTNG_EVENT_RULE_STATUS_OK) {
lttng_event_rule_destroy(rule);
rule = NULL;
goto end;
}
- status = lttng_event_rule_tracepoint_add_exclusion(rule, exclusion);
+ status = lttng_event_rule_tracepoint_add_name_pattern_exclusion(rule, exclusion);
if (status != LTTNG_EVENT_RULE_STATUS_OK) {
ERR("Failed to add event rule tracepoint exclusion \"%s\".",
exclusion);
offset += *exclusion_len;
}
- status = lttng_event_rule_tracepoint_set_pattern(rule, pattern);
+ status = lttng_event_rule_tracepoint_set_name_pattern(rule, pattern);
if (status != LTTNG_EVENT_RULE_STATUS_OK) {
ERR("Failed to set event rule tracepoint pattern.");
ret = -1;
return ret;
}
-enum lttng_event_rule_status lttng_event_rule_tracepoint_set_pattern(
+enum lttng_event_rule_status lttng_event_rule_tracepoint_set_name_pattern(
struct lttng_event_rule *rule, const char *pattern)
{
char *pattern_copy = NULL;
goto end;
}
+ /* Normalize the pattern. */
+ strutils_normalize_star_glob_pattern(pattern_copy);
+
free(tracepoint->pattern);
tracepoint->pattern = pattern_copy;
return status;
}
-enum lttng_event_rule_status lttng_event_rule_tracepoint_get_pattern(
+enum lttng_event_rule_status lttng_event_rule_tracepoint_get_name_pattern(
const struct lttng_event_rule *rule, const char **pattern)
{
struct lttng_event_rule_tracepoint *tracepoint;
return status;
}
-enum lttng_event_rule_status lttng_event_rule_tracepoint_add_exclusion(
+enum lttng_event_rule_status lttng_event_rule_tracepoint_add_name_pattern_exclusion(
struct lttng_event_rule *rule,
const char *exclusion)
{
return status;
}
-enum lttng_event_rule_status lttng_event_rule_tracepoint_get_exclusions_count(
+enum lttng_event_rule_status lttng_event_rule_tracepoint_get_name_pattern_exclusion_count(
const struct lttng_event_rule *rule, unsigned int *count)
{
struct lttng_event_rule_tracepoint *tracepoint;
return status;
}
-enum lttng_event_rule_status lttng_event_rule_tracepoint_get_exclusion_at_index(
+enum lttng_event_rule_status lttng_event_rule_tracepoint_get_name_pattern_exclusion_at_index(
const struct lttng_event_rule *rule,
unsigned int index,
const char **exclusion)
tracepoint = container_of(
rule, struct lttng_event_rule_tracepoint, parent);
- if (lttng_event_rule_tracepoint_get_exclusions_count(rule, &count) !=
+ if (lttng_event_rule_tracepoint_get_name_pattern_exclusion_count(rule, &count) !=
LTTNG_EVENT_RULE_STATUS_OK) {
goto end;
}