version 1.31, 2016/01/19 16:01:30 |
version 1.32, 2016/03/03 14:14:46 |
|
|
cmd_find_get_session(struct cmd_find_state *fs, const char *session) |
cmd_find_get_session(struct cmd_find_state *fs, const char *session) |
{ |
{ |
struct session *s, *s_loop; |
struct session *s, *s_loop; |
|
struct client *c; |
|
|
log_debug("%s: %s", __func__, session); |
log_debug("%s: %s", __func__, session); |
|
|
|
|
if (fs->s != NULL) |
if (fs->s != NULL) |
return (0); |
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. */ |
/* Stop now if exact only. */ |
if (fs->flags & CMD_FIND_EXACT_SESSION) |
if (fs->flags & CMD_FIND_EXACT_SESSION) |
return (-1); |
return (-1); |
|
|
const char *path; |
const char *path; |
|
|
/* A NULL argument means the current client. */ |
/* A NULL argument means the current client. */ |
if (target == NULL) { |
if (cmdq != NULL && target == NULL) { |
c = cmd_find_current_client(cmdq); |
c = cmd_find_current_client(cmdq); |
if (c == NULL && !quiet) |
if (c == NULL && !quiet) |
cmdq_error(cmdq, "no current client"); |
cmdq_error(cmdq, "no current client"); |