From c04a67deb04cca17263db9e54b44fa1bd6a732d5 Mon Sep 17 00:00:00 2001 From: Mikael Kanstrup Date: Wed, 21 Dec 2016 11:27:20 +0100 Subject: [PATCH] hostapd_cli: Add completion for get command Add command completion support for get command. Signed-off-by: Mikael Kanstrup --- hostapd/hostapd_cli.c | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/hostapd/hostapd_cli.c b/hostapd/hostapd_cli.c index 6d087c26d..e35bd9de5 100644 --- a/hostapd/hostapd_cli.c +++ b/hostapd/hostapd_cli.c @@ -1100,6 +1100,31 @@ static int hostapd_cli_cmd_get(struct wpa_ctrl *ctrl, int argc, char *argv[]) } +static char ** hostapd_complete_get(const char *str, int pos) +{ + int arg = get_cmd_arg_num(str, pos); + const char *fields[] = { + "version", "tls_library", + }; + int i, num_fields = ARRAY_SIZE(fields); + + if (arg == 1) { + char **res; + + res = os_calloc(num_fields + 1, sizeof(char *)); + if (!res) + return NULL; + for (i = 0; i < num_fields; i++) { + res[i] = os_strdup(fields[i]); + if (!res[i]) + return res; + } + return res; + } + return NULL; +} + + #ifdef CONFIG_FST static int hostapd_cli_cmd_fst(struct wpa_ctrl *ctrl, int argc, char *argv[]) { @@ -1429,7 +1454,7 @@ static const struct hostapd_cli_cmd hostapd_cli_commands[] = { "= exit hostapd_cli" }, { "set", hostapd_cli_cmd_set, hostapd_complete_set, " = set runtime variables" }, - { "get", hostapd_cli_cmd_get, NULL, + { "get", hostapd_cli_cmd_get, hostapd_complete_get, " = get runtime info" }, { "set_qos_map_set", hostapd_cli_cmd_set_qos_map_set, NULL, " = set QoS Map set element" },