version 1.114, 2015/12/13 18:27:47 |
version 1.115, 2015/12/13 18:31:47 |
|
|
struct cmd_state *state = &cmdq->state; |
struct cmd_state *state = &cmdq->state; |
struct args *args = cmd->args; |
struct args *args = cmd->args; |
char *tmp; |
char *tmp; |
int error; |
int error, quiet; |
|
|
tmp = cmd_print(cmd); |
tmp = cmd_print(cmd); |
log_debug("preparing state for: %s (client %p)", tmp, cmdq->client); |
log_debug("preparing state for: %s (client %p)", tmp, cmdq->client); |
|
|
/* Start with an empty state. */ |
/* Start with an empty state. */ |
cmd_clear_state(state); |
cmd_clear_state(state); |
|
|
|
/* No error messages if can fail. */ |
|
quiet = 0; |
|
if (cmd->entry->flags & CMD_CLIENT_CANFAIL) |
|
quiet = 1; |
|
|
/* |
/* |
* If the command wants a client and provides -c or -t, use it. If not, |
* If the command wants a client and provides -c or -t, use it. If not, |
* try the base command instead via cmd_get_state_client. No client is |
* try the base command instead via cmd_get_state_client. No client is |
|
|
state->c = cmd_find_client(cmdq, NULL, 1); |
state->c = cmd_find_client(cmdq, NULL, 1); |
break; |
break; |
case CMD_CLIENT_C: |
case CMD_CLIENT_C: |
state->c = cmd_find_client(cmdq, args_get(args, 'c'), 0); |
state->c = cmd_find_client(cmdq, args_get(args, 'c'), quiet); |
if (state->c == NULL) |
if (!quiet && state->c == NULL) |
return (-1); |
return (-1); |
break; |
break; |
case CMD_CLIENT_T: |
case CMD_CLIENT_T: |
state->c = cmd_find_client(cmdq, args_get(args, 't'), 0); |
state->c = cmd_find_client(cmdq, args_get(args, 't'), quiet); |
if (state->c == NULL) |
if (!quiet && state->c == NULL) |
return (-1); |
return (-1); |
break; |
break; |
default: |
default: |