From 01f0062d2de9d77a8b6a35ec2256f15f935075f6 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Fri, 5 Jan 2024 18:39:36 +0100 Subject: [PATCH] cli: Support showing session by login --- cli.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/cli.c b/cli.c index e184e88..391a32f 100644 --- a/cli.c +++ b/cli.c @@ -419,13 +419,21 @@ static int cmd_show_session(struct cli_def *cli, const char *command, char **arg // Show individual session for (i = 0; i < argc; i++) { - unsigned int s, b_in, b_out; - s = atoi(argv[i]); - if (s <= 0 || s >= MAXSESSION) + unsigned int s, b_in, b_out, r; + + for (s = 0; s < MAXSESSION; s++) + if (!strcmp(argv[i], session[s].user)) + break; + if (s >= MAXSESSION) { - cli_print(cli, "Invalid session id \"%s\"", argv[i]); - continue; + s = atoi(argv[i]); + if (s <= 0 || s >= MAXSESSION) + { + cli_print(cli, "Invalid session id \"%s\"", argv[i]); + continue; + } } + cli_print(cli, "\r\nSession %d:", s); cli_print(cli, "\tUser:\t\t%s", session[s].user[0] ? session[s].user : "none"); cli_print(cli, "\tCalling Num:\t%s", session[s].calling);