summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2014-05-08 16:57:26 -0400
committerMike Blumenkrantz <zmike@samsung.com>2014-05-08 17:00:15 -0400
commit4675323286b7bf636efac0e50d2377d549e979fa (patch)
tree3278f15645e9fabbe2b688919a9eda375c607dac
parent43ed52443103e2577b26a5d360c392bcaafb969e (diff)
downloadenlightenment-4675323286b7bf636efac0e50d2377d549e979fa.tar.gz
bugfix: appindicator service name parsing now stringshares correctly
fix T811
-rw-r--r--src/modules/systray/e_mod_notifier_host_dbus.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/modules/systray/e_mod_notifier_host_dbus.c b/src/modules/systray/e_mod_notifier_host_dbus.c
index 17fba756b9..f5de1997df 100644
--- a/src/modules/systray/e_mod_notifier_host_dbus.c
+++ b/src/modules/systray/e_mod_notifier_host_dbus.c
@@ -22,16 +22,13 @@ typedef struct _Notifier_Host_Data {
static Eina_Bool
service_string_parse(const char *item, const char **path, const char **bus_id)
{
- unsigned i;
- for (i = 0; i < strlen(item); i++)
- {
- if (item[i] != '/')
- continue;
- *path = eina_stringshare_add(item+i);
- *bus_id = eina_stringshare_nprintf(i+1, "%s", item);
- return EINA_TRUE;
- }
- return EINA_FALSE;
+ const char *p;
+
+ p = strchr(item, '/');
+ if (!p) return EINA_FALSE;
+ *path = eina_stringshare_add(p);
+ *bus_id = eina_stringshare_add_length(item, p - item);
+ return EINA_TRUE;
}
static Notifier_Item *