version 1.2, 2009/08/11 12:53:37 |
version 1.3, 2009/11/13 19:53:29 |
|
|
const struct cmd_entry cmd_set_environment_entry = { |
const struct cmd_entry cmd_set_environment_entry = { |
"set-environment", "setenv", |
"set-environment", "setenv", |
"[-gru] " CMD_TARGET_SESSION_USAGE " name [value]", |
"[-gru] " CMD_TARGET_SESSION_USAGE " name [value]", |
CMD_ARG12, CMD_CHFLAG('g')|CMD_CHFLAG('r')|CMD_CHFLAG('u'), |
CMD_ARG12, "gru", |
NULL, |
NULL, |
cmd_target_parse, |
cmd_target_parse, |
cmd_set_environment_exec, |
cmd_set_environment_exec, |
|
|
return (-1); |
return (-1); |
} |
} |
|
|
if (data->chflags & CMD_CHFLAG('g')) |
if (cmd_check_flag(data->chflags, 'g')) |
env = &global_environ; |
env = &global_environ; |
else { |
else { |
if ((s = cmd_find_session(ctx, data->target)) == NULL) |
if ((s = cmd_find_session(ctx, data->target)) == NULL) |
|
|
env = &s->environ; |
env = &s->environ; |
} |
} |
|
|
if (data->chflags & CMD_CHFLAG('u')) { |
if (cmd_check_flag(data->chflags, 'u')) { |
if (data->arg2 != NULL) { |
if (data->arg2 != NULL) { |
ctx->error(ctx, "can't specify a value with -u"); |
ctx->error(ctx, "can't specify a value with -u"); |
return (-1); |
return (-1); |
} |
} |
environ_unset(env, data->arg); |
environ_unset(env, data->arg); |
} else if (data->chflags & CMD_CHFLAG('r')) { |
} else if (cmd_check_flag(data->chflags, 'r')) { |
if (data->arg2 != NULL) { |
if (data->arg2 != NULL) { |
ctx->error(ctx, "can't specify a value with -r"); |
ctx->error(ctx, "can't specify a value with -r"); |
return (-1); |
return (-1); |