projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
lttng add-trigger: parse condition / action name as option arguments
[lttng-tools.git]
/
src
/
bin
/
lttng
/
commands
/
add_trigger.c
diff --git
a/src/bin/lttng/commands/add_trigger.c
b/src/bin/lttng/commands/add_trigger.c
index d460c0ffbda494a31aedd1b1832f498587254c00..fdfbecfaa0afbb8e23d65747fce8d5c61db02c40 100644
(file)
--- a/
src/bin/lttng/commands/add_trigger.c
+++ b/
src/bin/lttng/commands/add_trigger.c
@@
-1293,23
+1293,13
@@
struct condition_descr condition_descrs[] = {
};
static
};
static
-struct lttng_condition *parse_condition(int *argc, const char ***argv)
+struct lttng_condition *parse_condition(const char *condition_name, int *argc,
+ const char ***argv)
{
int i;
struct lttng_condition *cond;
{
int i;
struct lttng_condition *cond;
- const char *condition_name;
const struct condition_descr *descr = NULL;
const struct condition_descr *descr = NULL;
- if (*argc == 0) {
- ERR("Missing condition name.");
- goto error;
- }
-
- condition_name = (*argv)[0];
-
- (*argc)--;
- (*argv)++;
-
for (i = 0; i < ARRAY_SIZE(condition_descrs); i++) {
if (strcmp(condition_name, condition_descrs[i].name) == 0) {
descr = &condition_descrs[i];
for (i = 0; i < ARRAY_SIZE(condition_descrs); i++) {
if (strcmp(condition_name, condition_descrs[i].name) == 0) {
descr = &condition_descrs[i];
@@
-1499,8
+1489,8
@@
struct lttng_action *handle_action_notify(int *argc, const char ***argv)
error:
lttng_action_destroy(action);
action = NULL;
error:
lttng_action_destroy(action);
action = NULL;
- free(error);
end:
end:
+ free(error);
lttng_rate_policy_destroy(policy);
argpar_state_destroy(state);
argpar_item_destroy(item);
lttng_rate_policy_destroy(policy);
argpar_state_destroy(state);
argpar_item_destroy(item);
@@
-1999,23
+1989,12
@@
struct action_descr action_descrs[] = {
};
static
};
static
-struct lttng_action *parse_action(int *argc, const char ***argv)
+struct lttng_action *parse_action(
const char *action_name,
int *argc, const char ***argv)
{
int i;
struct lttng_action *action;
{
int i;
struct lttng_action *action;
- const char *action_name;
const struct action_descr *descr = NULL;
const struct action_descr *descr = NULL;
- if (*argc == 0) {
- ERR("Missing action name.");
- goto error;
- }
-
- action_name = (*argv)[0];
-
- (*argc)--;
- (*argv)++;
-
for (i = 0; i < ARRAY_SIZE(action_descrs); i++) {
if (strcmp(action_name, action_descrs[i].name) == 0) {
descr = &action_descrs[i];
for (i = 0; i < ARRAY_SIZE(action_descrs); i++) {
if (strcmp(action_name, action_descrs[i].name) == 0) {
descr = &action_descrs[i];
@@
-2045,8
+2024,8
@@
static const
struct argpar_opt_descr add_trigger_options[] = {
{ OPT_HELP, 'h', "help", false },
{ OPT_LIST_OPTIONS, '\0', "list-options", false },
struct argpar_opt_descr add_trigger_options[] = {
{ OPT_HELP, 'h', "help", false },
{ OPT_LIST_OPTIONS, '\0', "list-options", false },
- { OPT_CONDITION, '\0', "condition",
fals
e },
- { OPT_ACTION, '\0', "action",
fals
e },
+ { OPT_CONDITION, '\0', "condition",
tru
e },
+ { OPT_ACTION, '\0', "action",
tru
e },
{ OPT_ID, '\0', "id", true },
{ OPT_USER_ID, '\0', "user-id", true },
ARGPAR_OPT_DESCR_SENTINEL,
{ OPT_ID, '\0', "id", true },
{ OPT_USER_ID, '\0', "user-id", true },
ARGPAR_OPT_DESCR_SENTINEL,
@@
-2139,7
+2118,7
@@
int cmd_add_trigger(int argc, const char **argv)
goto error;
}
goto error;
}
- condition = parse_condition(&my_argc, &my_argv);
+ condition = parse_condition(
item_opt->arg,
&my_argc, &my_argv);
if (!condition) {
/*
* An error message was already printed by
if (!condition) {
/*
* An error message was already printed by
@@
-2152,7
+2131,7
@@
int cmd_add_trigger(int argc, const char **argv)
}
case OPT_ACTION:
{
}
case OPT_ACTION:
{
- action = parse_action(&my_argc, &my_argv);
+ action = parse_action(
item_opt->arg,
&my_argc, &my_argv);
if (!action) {
/*
* An error message was already printed by
if (!action) {
/*
* An error message was already printed by
This page took
0.025617 seconds
and
4
git commands to generate.