summaryrefslogtreecommitdiff
path: root/usr.bin/tmux/cmd.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/tmux/cmd.c')
-rw-r--r--usr.bin/tmux/cmd.c14
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);