aboutsummaryrefslogtreecommitdiff
path: root/src/Utility
diff options
context:
space:
mode:
Diffstat (limited to 'src/Utility')
-rw-r--r--src/Utility/Utility.c9
-rw-r--r--src/Utility/Utility.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/src/Utility/Utility.c b/src/Utility/Utility.c
index 5183efe..35fc491 100644
--- a/src/Utility/Utility.c
+++ b/src/Utility/Utility.c
@@ -217,6 +217,15 @@ int user_engines_contains(const char *engine_id, char **ids, int count) {
return 0;
}
+char *get_default_search_engine(void) {
+ char *cookie = get_cookie("default_engine");
+ if (cookie && (strcmp(cookie, "all") == 0 || is_engine_id_enabled(cookie)))
+ return cookie;
+
+ free(cookie);
+ return strdup("all");
+}
+
void free_string_matrix(char ***matrix, int *inner_counts, int row_count) {
if (matrix) {
for (int i = 0; i < row_count; i++) {
diff --git a/src/Utility/Utility.h b/src/Utility/Utility.h
index a78fe65..a194f21 100644
--- a/src/Utility/Utility.h
+++ b/src/Utility/Utility.h
@@ -30,6 +30,7 @@ char *get_locale(const char *default_locale);
int is_engine_id_enabled(const char *engine_id);
int get_user_engines(char ***out_ids, int *out_count);
int user_engines_contains(const char *engine_id, char **ids, int count);
+char *get_default_search_engine(void);
void free_string_matrix(char ***matrix, int *inner_counts, int row_count);