summaryrefslogtreecommitdiff
path: root/src/modules/rtv/rtv.c
diff options
context:
space:
mode:
authorVito Caputo <vcaputo@pengaru.com>2019-11-20 12:50:20 -0800
committerVito Caputo <vcaputo@pengaru.com>2019-11-20 12:50:20 -0800
commit7a77cc1a7c6c05c6623d78b5a895f2f004ba6cf9 (patch)
treecc9f2aca03f8d7e72c3742cab8a1af6032a6ace5 /src/modules/rtv/rtv.c
parent2ab8f3c6a74f308a0909ff2963fe4216832e2f32 (diff)
settings: add setting_desc_t.random() method
To facilitate random setting of these flexible string-oriented settings, support a random helper supplied with the description. This helper would return a valid random string to be used with the respective setting being described. Immediate use case is the rtv module, which also gets fixed up to use it in this commit.
Diffstat (limited to 'src/modules/rtv/rtv.c')
-rw-r--r--src/modules/rtv/rtv.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/modules/rtv/rtv.c b/src/modules/rtv/rtv.c
index a9d0399..c4c6dd2 100644
--- a/src/modules/rtv/rtv.c
+++ b/src/modules/rtv/rtv.c
@@ -73,7 +73,13 @@ static char * randomize_module_setup(const rototiller_module_t *module)
return NULL;
while (module->setup(settings, &desc) > 0) {
- if (desc->values) {
+ if (desc->random) {
+ char *value;
+
+ value = desc->random();
+ settings_add_value(settings, desc->key, value);
+ free(value);
+ } else if (desc->values) {
int n;
for (n = 0; desc->values[n]; n++);
© All Rights Reserved