From 58055bf4b43508b34cbc4f17fe8429ddad2080ed Mon Sep 17 00:00:00 2001 From: Camden Dixie O'Brien Date: Fri, 19 May 2023 16:15:55 +0100 Subject: [PATCH] Allow no args in settings command All settings are printed in a tabulated format if no ID specified --- components/settings/settings.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/components/settings/settings.c b/components/settings/settings.c index 3df9087..4eb68a7 100644 --- a/components/settings/settings.c +++ b/components/settings/settings.c @@ -173,7 +173,14 @@ static void add_callback(ItemIndex item, SettingsCallback callback) static int command_func(int argc, char **argv) { - if (argc == 2) { + if (argc == 1) { + char buffer[SETTINGS_MAX_VALUE_SIZE]; + for (unsigned i = 0; i < ITEM_COUNT; ++i) { + (void)get(i, buffer, SETTINGS_MAX_VALUE_SIZE); + printf("%-15s %s\n", state[i].id, buffer); + } + return 0; + } else if (argc == 2) { for (unsigned i = 0; i < ITEM_COUNT; ++i) { if (strcmp(state[i].id, argv[1]) != 0) continue; @@ -210,7 +217,7 @@ void settings_init() console_register( "settings", "Get or set a setting", - "settings OR settings ", command_func); + "settings [id] OR settings ", command_func); } void settings_set_hostname(const char *hostname)