aboutsummaryrefslogtreecommitdiff
path: root/c_implementation
diff options
context:
space:
mode:
authorkaotisk <kaotisk@arching-kaos.org>2025-04-27 07:16:57 +0300
committerkaotisk <kaotisk@arching-kaos.org>2025-04-27 07:16:57 +0300
commitd40f8beb4b298cdc07b18fac2cc1dceed4effdc0 (patch)
treea1d2d12b0f0bed1cc2132acf40953241f01e7d47 /c_implementation
parentd8808f1b35490e8929cea7b083eb4b2546619b59 (diff)
downloadarching-kaos-tools-d40f8beb4b298cdc07b18fac2cc1dceed4effdc0.tar.gz
arching-kaos-tools-d40f8beb4b298cdc07b18fac2cc1dceed4effdc0.tar.bz2
arching-kaos-tools-d40f8beb4b298cdc07b18fac2cc1dceed4effdc0.zip
[libaksettings] +test_find()
Diffstat (limited to 'c_implementation')
-rw-r--r--c_implementation/include/libaksettings.h1
-rw-r--r--c_implementation/src/ak_settings.c2
-rw-r--r--c_implementation/tests/test_aksettings.c17
3 files changed, 19 insertions, 1 deletions
diff --git a/c_implementation/include/libaksettings.h b/c_implementation/include/libaksettings.h
index 13e6f6e..505e502 100644
--- a/c_implementation/include/libaksettings.h
+++ b/c_implementation/include/libaksettings.h
@@ -18,6 +18,7 @@ char *ak_settings_get_setting(const char*);
bool ak_settings_set_setting(const char*, const char*);
bool ak_settings_save_settings();
bool ak_settings_load_settings_binary();
+int ak_settings_find_setting(const char *key);
void ak_settings_free_settings();
bool ak_settings_save_settings_binary();
void ak_settings_import_from_environment();
diff --git a/c_implementation/src/ak_settings.c b/c_implementation/src/ak_settings.c
index 324eda2..af390cb 100644
--- a/c_implementation/src/ak_settings.c
+++ b/c_implementation/src/ak_settings.c
@@ -76,7 +76,7 @@ void ak_settings_free_settings() {
settings_count = 0;
}
-static int ak_settings_find_setting(const char *key) {
+int ak_settings_find_setting(const char *key) {
for (int i = 0; i < settings_count; i++) {
if (strcmp(settings[i].key, key) == 0) {
return i;
diff --git a/c_implementation/tests/test_aksettings.c b/c_implementation/tests/test_aksettings.c
index 4e7a091..de9e8e3 100644
--- a/c_implementation/tests/test_aksettings.c
+++ b/c_implementation/tests/test_aksettings.c
@@ -95,11 +95,28 @@ static int test_read_and_dump()
return 0;
}
+static int test_find()
+{
+ printf("Testing: %s\n", __func__);
+ if (!ak_settings_load_settings_binary())
+ {
+ ak_log_warning(__func__, "No existing settings or error loading.\n");
+ }
+ AKSetting* ak_settings;
+ ak_settings = ak_settings_get_all();
+ int i = ak_settings_find_setting("volume");
+ if ( i > -1 )
+ printf("%s=%s\n", ak_settings[i].key, ak_settings[i].value);
+ ak_settings_free_settings();
+ return 0;
+}
+
int main()
{
test_import();
test_ak_settings();
test_ak_settings_read_example();
test_read_and_dump();
+ test_find();
return 0;
}