diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2013-02-22 23:04:53 +0000 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2013-02-22 23:04:53 +0000 |
commit | 3a2e9d805a80e683078994d86a5390bf5deed9fc (patch) | |
tree | 3800077b20ff9c9f7b34c8dd21c20f70209ca9d3 /cmd.c | |
parent | 911ef4e69a483d11045551628971761e8d1ecc22 (diff) | |
download | rtmux-3a2e9d805a80e683078994d86a5390bf5deed9fc.tar.gz rtmux-3a2e9d805a80e683078994d86a5390bf5deed9fc.tar.bz2 rtmux-3a2e9d805a80e683078994d86a5390bf5deed9fc.zip |
Fix error reporting for client commands by adding a flag to cmd_find_client to
tell it whether or not to show errors, sometimes it's needed and sometimes not.
Diffstat (limited to 'cmd.c')
-rw-r--r-- | cmd.c | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -516,15 +516,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. */ @@ -536,7 +540,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); |