#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/syscall-internal.h>
struct lttng_event_rule_syscall *syscall;
enum lttng_event_rule_status status;
const char *filter;
- struct lttng_filter_bytecode *bytecode = NULL;
+ struct lttng_bytecode *bytecode = NULL;
assert(rule);
return syscall->internal_filter.filter;
}
-static const struct lttng_filter_bytecode *
+static const struct lttng_bytecode *
lttng_event_rule_syscall_get_internal_filter_bytecode(
const struct lttng_event_rule *rule)
{
{
struct lttng_event_rule *rule = NULL;
struct lttng_event_rule_syscall *syscall_rule;
+ enum lttng_event_rule_status status;
syscall_rule = zmalloc(sizeof(struct lttng_event_rule_syscall));
if (!syscall_rule) {
syscall_rule->parent.generate_exclusions =
lttng_event_rule_syscall_generate_exclusions;
syscall_rule->parent.hash = lttng_event_rule_syscall_hash;
+
+ /* Default pattern is '*'. */
+ status = lttng_event_rule_syscall_set_pattern(rule, "*");
+ if (status != LTTNG_EVENT_RULE_STATUS_OK) {
+ lttng_event_rule_destroy(rule);
+ rule = NULL;
+ }
+
end:
return rule;
}
goto end;
}
- if (syscall->pattern) {
- free(syscall->pattern);
- }
+ strutils_normalize_star_glob_pattern(pattern_copy);
+
+ free(syscall->pattern);
syscall->pattern = pattern_copy;
pattern_copy = NULL;