fix memory leak spotted by seb in gc_id_new. this whole thing is pretty confusing; I'm glad we don't have docs for it

SVN revision: 72689
This commit is contained in:
Mike Blumenkrantz 2012-06-22 07:21:51 +00:00
parent d36c803b73
commit 74edef9f46
9 changed files with 30 additions and 32 deletions

View File

@ -455,13 +455,13 @@ _gc_icon(E_Gadcon_Client_Class *client_class __UNUSED__, Evas *evas)
}
static const char *
_gc_id_new(E_Gadcon_Client_Class *client_class __UNUSED__)
_gc_id_new(E_Gadcon_Client_Class *client_class)
{
char buf[PATH_MAX];
static char buf[PATH_MAX];
snprintf(buf, sizeof(buf), "%s.%d", client_class->name,
eina_list_count(backlight_instances));
return strdup(buf);
eina_list_count(backlight_instances) + 1);
return buf;
}
static void

View File

@ -167,11 +167,11 @@ _gc_icon(E_Gadcon_Client_Class *client_class __UNUSED__, Evas *evas)
static const char *
_gc_id_new(E_Gadcon_Client_Class *client_class)
{
char buf[PATH_MAX];
static char buf[PATH_MAX];
snprintf(buf, sizeof(buf), "%s.%d", client_class->name,
eina_list_count(battery_config->instances));
return strdup(buf);
eina_list_count(battery_config->instances) + 1);
return buf;
}
static void

View File

@ -677,13 +677,12 @@ _gc_icon(E_Gadcon_Client_Class *client_class __UNUSED__, Evas *evas)
static const char *
_gc_id_new(E_Gadcon_Client_Class *client_class)
_gc_id_new(E_Gadcon_Client_Class *client_class __UNUSED__)
{
char buf[PATH_MAX];
Config_Item *ci = NULL;
snprintf(buf, sizeof(buf), "%s.%d", client_class->name,
eina_list_count(clock_instances));
return strdup(buf);
ci = _conf_item_get(NULL);
return ci->id;
}
static Config_Item *

View File

@ -201,13 +201,12 @@ _conf_item_get(const char *id)
}
static const char *
_gc_id_new(E_Gadcon_Client_Class *client_class)
_gc_id_new(E_Gadcon_Client_Class *client_class __UNUSED__)
{
char buf[PATH_MAX];
Gadget_Config *ci = NULL;
snprintf(buf, sizeof(buf), "%s.%d", client_class->name,
eina_inlist_count(instances));
return strdup(buf);
ci = _conf_item_get(NULL);
return ci->id;
}
/***************************************************************************/

View File

@ -272,11 +272,11 @@ _gc_icon(E_Gadcon_Client_Class *client_class __UNUSED__, Evas *evas)
static const char *
_gc_id_new(E_Gadcon_Client_Class *client_class __UNUSED__)
{
char buf[PATH_MAX];
static char buf[PATH_MAX];
snprintf(buf, sizeof(buf), "%s.%d", _gc_class.name,
(eina_list_count(instances) + 1));
return strdup(buf);
return buf;
}
/* local functions */

View File

@ -225,13 +225,13 @@ _gc_icon(E_Gadcon_Client_Class *client_class __UNUSED__, Evas *evas)
}
static const char *
_gc_id_new(E_Gadcon_Client_Class *client_class __UNUSED__)
_gc_id_new(E_Gadcon_Client_Class *client_class)
{
char buf[PATH_MAX];
static char buf[PATH_MAX];
snprintf(buf, sizeof(buf), "%s.%d", client_class->name,
eina_list_count(ibar_config->instances));
return strdup(buf);
eina_list_count(ibar_config->instances) + 1);
return buf;
}
static void

View File

@ -232,11 +232,11 @@ _gc_icon(E_Gadcon_Client_Class *client_class __UNUSED__, Evas *evas)
static const char *
_gc_id_new(E_Gadcon_Client_Class *client_class)
{
char buf[PATH_MAX];
static char buf[PATH_MAX];
snprintf(buf, sizeof(buf), "%s.%d", client_class->name,
eina_list_count(ibox_config->instances));
return strdup(buf);
eina_list_count(ibox_config->instances) + 1);
return buf;
}
static void

View File

@ -273,11 +273,11 @@ _gc_icon(E_Gadcon_Client_Class *client_class __UNUSED__, Evas *evas)
static const char *
_gc_id_new(E_Gadcon_Client_Class *client_class)
{
char buf[PATH_MAX];
static char buf[PATH_MAX];
snprintf(buf, sizeof(buf), "%s.%d", client_class->name,
eina_list_count(pager_config->instances));
return strdup(buf);
eina_list_count(pager_config->instances) + 1);
return buf;
}
static Pager *

View File

@ -257,11 +257,11 @@ _gc_label(E_Gadcon_Client_Class *client_class __UNUSED__)
static const char *
_gc_id_new(E_Gadcon_Client_Class *client_class)
{
char buf[PATH_MAX];
static char buf[PATH_MAX];
snprintf(buf, sizeof(buf), "%s.%d", client_class->name,
eina_list_count(instances));
return strdup(buf);
eina_list_count(instances) + 1);
return buf;
}
static Evas_Object *