diff options
Diffstat (limited to 'usr.bin/tmux/cmd.c')
-rw-r--r-- | usr.bin/tmux/cmd.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/usr.bin/tmux/cmd.c b/usr.bin/tmux/cmd.c index fa921129db7..fa400c8bb33 100644 --- a/usr.bin/tmux/cmd.c +++ b/usr.bin/tmux/cmd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd.c,v 1.78 2013/03/22 15:54:29 nicm Exp $ */ +/* $OpenBSD: cmd.c,v 1.79 2013/03/24 09:27:20 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -517,15 +517,19 @@ cmd_choose_client(struct clients *cc) /* Find the target client or report an error and return NULL. */ struct client * -cmd_find_client(struct cmd_ctx *ctx, const char *arg) +cmd_find_client(struct cmd_ctx *ctx, const char *arg, int quiet) { struct client *c; char *tmparg; size_t arglen; /* A NULL argument means the current client. */ - if (arg == NULL) - return (cmd_current_client(ctx)); + if (arg == NULL) { + c = cmd_current_client(ctx); + if (c == NULL && !quiet) + ctx->error(ctx, "no clients"); + return (c); + } tmparg = xstrdup(arg); /* Trim a single trailing colon if any. */ @@ -537,7 +541,7 @@ cmd_find_client(struct cmd_ctx *ctx, const char *arg) c = cmd_lookup_client(tmparg); /* If no client found, report an error. */ - if (c == NULL) + if (c == NULL && !quiet) ctx->error(ctx, "client not found: %s", tmparg); free(tmparg); |