summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Catanzaro <mcatanzaro@igalia.com>2017-07-12 18:39:00 -0500
committerMichael Catanzaro <mcatanzaro@igalia.com>2017-07-12 18:58:45 -0500
commit8b6ce7b8ad5f02fba58acd13bfd96f150a27891d (patch)
tree56469cf169896912fc7a05bb1e59d3d87e67b004
parent8d7b39a69e31c0764ac62399062e219f23e16c8e (diff)
downloadepiphany-8b6ce7b8ad5f02fba58acd13bfd96f150a27891d.tar.gz
search-engine-manager: Add convenience function to get default address
Add ephy_search_engine_manager_get_address_for_default_engine(), a simpler way to get the address of the default search engine without having to make separate calls to ephy_search_engine_manager_get_default_engine() and ephy_search_engine_manager_get_address().
-rw-r--r--embed/ephy-embed-utils.c5
-rw-r--r--lib/ephy-search-engine-manager.c13
-rw-r--r--lib/ephy-search-engine-manager.h2
3 files changed, 16 insertions, 4 deletions
diff --git a/embed/ephy-embed-utils.c b/embed/ephy-embed-utils.c
index de1d5d08e..2da1f5c40 100644
--- a/embed/ephy-embed-utils.c
+++ b/embed/ephy-embed-utils.c
@@ -270,15 +270,13 @@ ephy_embed_utils_autosearch_address (const char *search_key)
{
char *query_param;
const char *address_search;
- char *default_name;
char *effective_address;
EphyEmbedShell *shell;
EphySearchEngineManager *search_engine_manager;
shell = ephy_embed_shell_get_default ();
search_engine_manager = ephy_embed_shell_get_search_engine_manager (shell);
- default_name = ephy_search_engine_manager_get_default_engine (search_engine_manager);
- address_search = ephy_search_engine_manager_get_address (search_engine_manager, default_name);
+ address_search = ephy_search_engine_manager_get_address_for_default_engine (search_engine_manager);
query_param = soup_form_encode ("q", search_key, NULL);
#pragma GCC diagnostic push
@@ -288,7 +286,6 @@ ephy_embed_utils_autosearch_address (const char *search_key)
effective_address = g_strdup_printf (address_search, query_param + 2);
#pragma GCC diagnostic pop
g_free (query_param);
- g_free (default_name);
return effective_address;
}
diff --git a/lib/ephy-search-engine-manager.c b/lib/ephy-search-engine-manager.c
index 4c86c5412..f65110ac1 100644
--- a/lib/ephy-search-engine-manager.c
+++ b/lib/ephy-search-engine-manager.c
@@ -149,6 +149,19 @@ ephy_search_engine_manager_get_address (EphySearchEngineManager *manager,
}
const char *
+ephy_search_engine_manager_get_address_for_default_engine (EphySearchEngineManager *manager)
+{
+ char *name;
+ const char *address;
+
+ name = ephy_search_engine_manager_get_default_engine (manager);
+ address = ephy_search_engine_manager_get_address (manager, name);
+ g_free (name);
+
+ return address;
+}
+
+const char *
ephy_search_engine_manager_get_bang (EphySearchEngineManager *manager,
const char *name)
{
diff --git a/lib/ephy-search-engine-manager.h b/lib/ephy-search-engine-manager.h
index 2e92396f8..f0381608e 100644
--- a/lib/ephy-search-engine-manager.h
+++ b/lib/ephy-search-engine-manager.h
@@ -39,6 +39,8 @@ G_DECLARE_FINAL_TYPE (EphySearchEngineManager, ephy_search_engine_manager, EPHY,
EphySearchEngineManager *ephy_search_engine_manager_new (void);
const char *ephy_search_engine_manager_get_address (EphySearchEngineManager *manager,
const char *name);
+const char *ephy_search_engine_manager_get_address_for_default_engine
+ (EphySearchEngineManager *manager);
const char *ephy_search_engine_manager_get_bang (EphySearchEngineManager *manager,
const char *name);
char *ephy_search_engine_manager_get_default_engine (EphySearchEngineManager *manager);