discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=90fcc55f1e852af99c2f8c1075d5b88e32ddfac0
commit 90fcc55f1e852af99c2f8c1075d5b88e32ddfac0 Author: Mike Blumenkrantz <[email protected]> Date: Tue Sep 27 11:18:38 2016 -0400 add e_util_open(), unify all callers of enlightenment_open ref adbba1042b6cf4a17e34d2fa22157ab7e838fcfa --- src/bin/e_utils.c | 17 +++++++++++++++++ src/bin/e_utils.h | 2 ++ src/modules/teamwork/e_mod_tw.c | 11 ++--------- src/modules/tiling/e_mod_config.c | 10 +--------- src/modules/wireless/wireless.c | 16 ++++------------ 5 files changed, 26 insertions(+), 30 deletions(-) diff --git a/src/bin/e_utils.c b/src/bin/e_utils.c index 63c337e..5b4dc56 100644 --- a/src/bin/e_utils.c +++ b/src/bin/e_utils.c @@ -1441,3 +1441,20 @@ e_util_memclear(void *s, size_t n) { memset_ptr(s, 0, n); } + + +E_API Ecore_Exe * +e_util_open(const char *exe, void *data) +{ + char *sb; + size_t size = 65536, len; + Ecore_Exe *ret; + + sb = malloc(size); + snprintf(sb, size, "%s/enlightenment_open ", e_prefix_bin_get()); + len = strlen(sb); + sb = e_util_string_append_quoted(sb, &size, &len, exe); + ret = ecore_exe_run(sb, data); + free(sb); + return ret; +} diff --git a/src/bin/e_utils.h b/src/bin/e_utils.h index 574894c..44dcd6e 100644 --- a/src/bin/e_utils.h +++ b/src/bin/e_utils.h @@ -65,6 +65,8 @@ E_API void e_util_string_list_free(Eina_List *l); E_API void e_util_memclear(void *s, size_t n); +E_API Ecore_Exe *e_util_open(const char *exe, void *data); + static inline void e_util_pointer_center(const E_Client *ec) { diff --git a/src/modules/teamwork/e_mod_tw.c b/src/modules/teamwork/e_mod_tw.c index c478844..dae03d5 100644 --- a/src/modules/teamwork/e_mod_tw.c +++ b/src/modules/teamwork/e_mod_tw.c @@ -519,15 +519,8 @@ tw_link_hide(E_Client *ec, const char *uri) EINTERN void tw_link_open(E_Client *ec, const char *uri) { - char *sb; - size_t size = 4096, len = sizeof(E_BINDIR "/enlightenment_open ") - 1; - - if (!ec->focused) return; - sb = malloc(size); - memcpy(sb, E_BINDIR "/enlightenment_open ", len); - sb = e_util_string_append_quoted(sb, &size, &len, uri); - ecore_exe_run(sb, NULL); - free(sb); + if (ec->focused) + e_util_open(uri, NULL); } static Eet_Data_Descriptor * diff --git a/src/modules/tiling/e_mod_config.c b/src/modules/tiling/e_mod_config.c index 6f5ef43..e3ae764 100644 --- a/src/modules/tiling/e_mod_config.c +++ b/src/modules/tiling/e_mod_config.c @@ -14,15 +14,7 @@ struct _E_Widget_Smart_Data static void _open_browser_help_cb(void *data EINA_UNUSED, void *obj EINA_UNUSED) { - const char *url = "https://phab.enlightenment.org/w/emodules/tiling2/"; - char *sb; - size_t size = 4096, len = sizeof(E_BINDIR "/enlightenment_open ") - 1; - - sb = malloc(size); - memcpy(sb, E_BINDIR "/enlightenment_open ", len); - sb = e_util_string_append_quoted(sb, &size, &len, url); - ecore_exe_run(sb, NULL); - free(sb); + e_util_open("https://phab.enlightenment.org/w/emodules/tiling2/", NULL); } /* Some defines to make coding with the e_widget_* easier for configuration diff --git a/src/modules/wireless/wireless.c b/src/modules/wireless/wireless.c index 31911ba..ffb99a4 100644 --- a/src/modules/wireless/wireless.c +++ b/src/modules/wireless/wireless.c @@ -1442,18 +1442,10 @@ _wireless_auth_external_deny(void *data, Evas_Object *obj EINA_UNUSED, void *eve static void _wireless_auth_external_allow(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { - char *sb, *uri = data; - const char *bindir; - size_t size = PATH_MAX, len; - - bindir = e_prefix_bin_get(); - len = strlen(bindir); - sb = malloc(size); - snprintf(sb, size, "%s/enlightenment_open", bindir); - sb = e_util_string_append_quoted(sb, &size, &len, uri); - DBG("launched command: %s", sb); - ecore_exe_run(sb, NULL); - free(sb); + char *uri = data; + + e_util_open(uri, NULL); + DBG("launched uri: %s", uri); free(uri); auth_popup = 0; } --
