Accept clients as sessions in cmd_find_get_session.

pull/325/head
nicm 2016-03-03 14:14:46 +00:00
parent bcb41a09b3
commit fa81d838da
1 changed files with 9 additions and 1 deletions

View File

@ -401,6 +401,7 @@ int
cmd_find_get_session(struct cmd_find_state *fs, const char *session)
{
struct session *s, *s_loop;
struct client *c;
log_debug("%s: %s", __func__, session);
@ -417,6 +418,13 @@ cmd_find_get_session(struct cmd_find_state *fs, const char *session)
if (fs->s != NULL)
return (0);
/* Look for as a client. */
c = cmd_find_client(NULL, session, 1);
if (c != NULL && c->session != NULL) {
fs->s = c->session;
return (0);
}
/* Stop now if exact only. */
if (fs->flags & CMD_FIND_EXACT_SESSION)
return (-1);
@ -1209,7 +1217,7 @@ cmd_find_client(struct cmd_q *cmdq, const char *target, int quiet)
const char *path;
/* A NULL argument means the current client. */
if (target == NULL) {
if (cmdq != NULL && target == NULL) {
c = cmd_find_current_client(cmdq);
if (c == NULL && !quiet)
cmdq_error(cmdq, "no current client");