=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/cmd-set-environment.c,v retrieving revision 1.5 retrieving revision 1.6 diff -c -r1.5 -r1.6 *** src/usr.bin/tmux/cmd-set-environment.c 2011/04/05 19:37:01 1.5 --- src/usr.bin/tmux/cmd-set-environment.c 2012/07/11 07:10:15 1.6 *************** *** 1,4 **** ! /* $OpenBSD: cmd-set-environment.c,v 1.5 2011/04/05 19:37:01 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: cmd-set-environment.c,v 1.6 2012/07/11 07:10:15 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott *************** *** 27,33 **** * Set an environment variable. */ ! int cmd_set_environment_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_set_environment_entry = { "set-environment", "setenv", --- 27,33 ---- * Set an environment variable. */ ! enum cmd_retval cmd_set_environment_exec(struct cmd *, struct cmd_ctx *); const struct cmd_entry cmd_set_environment_entry = { "set-environment", "setenv", *************** *** 39,45 **** cmd_set_environment_exec }; ! int cmd_set_environment_exec(struct cmd *self, struct cmd_ctx *ctx) { struct args *args = self->args; --- 39,45 ---- cmd_set_environment_exec }; ! enum cmd_retval cmd_set_environment_exec(struct cmd *self, struct cmd_ctx *ctx) { struct args *args = self->args; *************** *** 50,60 **** name = args->argv[0]; if (*name == '\0') { ctx->error(ctx, "empty variable name"); ! return (-1); } if (strchr(name, '=') != NULL) { ctx->error(ctx, "variable name contains ="); ! return (-1); } if (args->argc < 1) --- 50,60 ---- name = args->argv[0]; if (*name == '\0') { ctx->error(ctx, "empty variable name"); ! return (CMD_RETURN_ERROR); } if (strchr(name, '=') != NULL) { ctx->error(ctx, "variable name contains ="); ! return (CMD_RETURN_ERROR); } if (args->argc < 1) *************** *** 66,94 **** env = &global_environ; else { if ((s = cmd_find_session(ctx, args_get(args, 't'), 0)) == NULL) ! return (-1); env = &s->environ; } if (args_has(self->args, 'u')) { if (value != NULL) { ctx->error(ctx, "can't specify a value with -u"); ! return (-1); } environ_unset(env, name); } else if (args_has(self->args, 'r')) { if (value != NULL) { ctx->error(ctx, "can't specify a value with -r"); ! return (-1); } environ_set(env, name, NULL); } else { if (value == NULL) { ctx->error(ctx, "no value specified"); ! return (-1); } environ_set(env, name, value); } ! return (0); } --- 66,94 ---- env = &global_environ; else { if ((s = cmd_find_session(ctx, args_get(args, 't'), 0)) == NULL) ! return (CMD_RETURN_ERROR); env = &s->environ; } if (args_has(self->args, 'u')) { if (value != NULL) { ctx->error(ctx, "can't specify a value with -u"); ! return (CMD_RETURN_ERROR); } environ_unset(env, name); } else if (args_has(self->args, 'r')) { if (value != NULL) { ctx->error(ctx, "can't specify a value with -r"); ! return (CMD_RETURN_ERROR); } environ_set(env, name, NULL); } else { if (value == NULL) { ctx->error(ctx, "no value specified"); ! return (CMD_RETURN_ERROR); } environ_set(env, name, value); } ! return (CMD_RETURN_NORMAL); }