From 8b6ce7b8ad5f02fba58acd13bfd96f150a27891d Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Wed, 12 Jul 2017 18:39:00 -0500 Subject: 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(). --- embed/ephy-embed-utils.c | 5 +---- lib/ephy-search-engine-manager.c | 13 +++++++++++++ lib/ephy-search-engine-manager.h | 2 ++ 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 @@ -148,6 +148,19 @@ ephy_search_engine_manager_get_address (EphySearchEngineManager *manager, return NULL; } +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); -- cgit v1.2.1