raster pushed a commit to branch master.
commit a484403db8d2bd78bce88b7f596ac4c8c4abb2b2
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date: Tue Jul 16 20:39:03 2013 +0900
fix a bunch of reallocs self-assigning the same var
---
src/bin/edje/edje_cc_handlers.c | 66 ++++++++++++++++++++---------------------
1 file changed, 32 insertions(+), 34 deletions(-)
diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index efcf71c..b6ecc6a 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -1377,11 +1377,6 @@ st_externals_external(void)
edje_file->external_dir->entries = entries;
memset(edje_file->external_dir->entries +
edje_file->external_dir->entries_count - 1,
0, sizeof (Edje_External_Directory_Entry));
- if (!edje_file->external_dir->entries)
- {
- ERR("not enough memory");
- exit(-1);
- }
edje_file->external_dir->entries[edje_file->external_dir->entries_count
- 1].entry = mem_strdup(ex->name);
}
@@ -1475,14 +1470,8 @@ st_images_image(void)
exit(-1);
}
edje_file->image_dir->entries = img;
-
memset(edje_file->image_dir->entries + edje_file->image_dir->entries_count
- 1,
0, sizeof (Edje_Image_Directory_Entry));
- if (!edje_file->image_dir->entries)
- {
- ERR("No enough memory.");
- exit(-1);
- }
img = edje_file->image_dir->entries + edje_file->image_dir->entries_count -
1;
@@ -1563,19 +1552,23 @@ st_images_image(void)
static void
ob_images_set(void)
{
+ Edje_Image_Directory_Set *sets;
+
if (!edje_file->image_dir)
edje_file->image_dir = mem_alloc(SZ(Edje_Image_Directory));
edje_file->image_dir->sets_count++;
- edje_file->image_dir->sets = realloc(edje_file->image_dir->sets,
- sizeof (Edje_Image_Directory_Set) *
edje_file->image_dir->sets_count);
- memset(edje_file->image_dir->sets + edje_file->image_dir->sets_count - 1,
- 0, sizeof (Edje_Image_Directory_Set));
- if (!edje_file->image_dir->sets)
+ sets = realloc(edje_file->image_dir->sets,
+ sizeof (Edje_Image_Directory_Set) *
edje_file->image_dir->sets_count);
+ if (!sets)
{
ERR("Not enough memory.");
exit(-1);
}
+ edje_file->image_dir->sets = sets;
+ memset(edje_file->image_dir->sets + edje_file->image_dir->sets_count - 1,
+ 0, sizeof (Edje_Image_Directory_Set));
+
edje_file->image_dir->sets[edje_file->image_dir->sets_count - 1].id =
edje_file->image_dir->sets_count - 1;
}
@@ -2288,17 +2281,16 @@ st_collections_group_sound_sample_name(void)
}
edje_file->sound_dir->samples_count++;
- edje_file->sound_dir->samples =
- realloc(edje_file->sound_dir->samples,
- sizeof(Edje_Sound_Sample) *
- edje_file->sound_dir->samples_count);
-
- if (!edje_file->sound_dir->samples)
+ sample = realloc(edje_file->sound_dir->samples,
+ sizeof(Edje_Sound_Sample) *
+ edje_file->sound_dir->samples_count);
+ if (!sample)
{
ERR("No enough memory.");
exit(-1);
}
-
+ edje_file->sound_dir->samples = sample;
+
sample =
edje_file->sound_dir->samples +
edje_file->sound_dir->samples_count - 1;
@@ -2404,16 +2396,15 @@ st_collections_group_sound_tone(void)
}
}
edje_file->sound_dir->tones_count++;
- edje_file->sound_dir->tones =
- realloc(edje_file->sound_dir->tones,
- sizeof (Edje_Sound_Tone) *
- edje_file->sound_dir->tones_count);
-
- if (!edje_file->sound_dir->tones)
+ tone = realloc(edje_file->sound_dir->tones,
+ sizeof (Edje_Sound_Tone) *
+ edje_file->sound_dir->tones_count);
+ if (!tone)
{
ERR("No enough memory.");
exit(-1);
}
+ edje_file->sound_dir->tones = tone;
tone = edje_file->sound_dir->tones + edje_file->sound_dir->tones_count - 1;
memset(tone, 0, sizeof (Edje_Sound_Tone));
@@ -3186,16 +3177,23 @@ static void
st_collections_group_limits_vertical(void)
{
Edje_Part_Collection *pc;
- Edje_Limit *el;
+ Edje_Limit *el, **elp;
check_arg_count(2);
- el = mem_alloc(SZ(Edje_Limit));
-
pc = eina_list_data_get(eina_list_last(edje_collections));
pc->limits.vertical_count++;
- pc->limits.vertical = realloc(pc->limits.vertical,
pc->limits.vertical_count * sizeof (Edje_Limit *));
- if (!pc->limits.vertical || !el)
+ elp = realloc(pc->limits.vertical,
+ pc->limits.vertical_count * sizeof (Edje_Limit *));
+ if (!elp)
+ {
+ ERR("Not enough memory.");
+ exit(-1);
+ }
+ pc->limits.vertical = elp;
+
+ el = mem_alloc(SZ(Edje_Limit));
+ if (!el)
{
ERR("Not enough memory.");
exit(-1);
--
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk