From 32083be82b7b533fa85c36ae5ccacea94857fafa Mon Sep 17 00:00:00 2001 From: Grigori Goronzy Date: Mon, 9 Aug 2010 03:28:29 +0200 Subject: Get rid of NULL checks for free The useless "if (foo) free(foo)" idiom is all over the place, just get rid of it finally... --- libass/ass.c | 36 ++++++++++++++---------------------- libass/ass_bitmap.c | 20 +++++++------------- libass/ass_font.c | 3 +-- libass/ass_fontconfig.c | 9 ++++----- libass/ass_library.c | 5 ++--- libass/ass_parse.c | 3 +-- libass/ass_render.c | 9 ++++----- 7 files changed, 33 insertions(+), 52 deletions(-) diff --git a/libass/ass.c b/libass/ass.c index b080ff9..cc66e1a 100644 --- a/libass/ass.c +++ b/libass/ass.c @@ -65,26 +65,22 @@ void ass_free_track(ASS_Track *track) int i; if (track->parser_priv) { - if (track->parser_priv->fontname) - free(track->parser_priv->fontname); - if (track->parser_priv->fontdata) - free(track->parser_priv->fontdata); + free(track->parser_priv->fontname); + free(track->parser_priv->fontdata); free(track->parser_priv); } - if (track->style_format) - free(track->style_format); - if (track->event_format) - free(track->event_format); + free(track->style_format); + free(track->event_format); if (track->styles) { for (i = 0; i < track->n_styles; ++i) ass_free_style(track, i); - free(track->styles); } + free(track->styles); if (track->events) { for (i = 0; i < track->n_events; ++i) ass_free_event(track, i); - free(track->events); } + free(track->events); free(track->name); free(track); } @@ -136,23 +132,19 @@ int ass_alloc_event(ASS_Track *track) void ass_free_event(ASS_Track *track, int eid) { ASS_Event *event = track->events + eid; - if (event->Name) - free(event->Name); - if (event->Effect) - free(event->Effect); - if (event->Text) - free(event->Text); - if (event->render_priv) - free(event->render_priv); + + free(event->Name); + free(event->Effect); + free(event->Text); + free(event->render_priv); } void ass_free_style(ASS_Track *track, int sid) { ASS_Style *style = track->styles + sid; - if (style->Name) - free(style->Name); - if (style->FontName) - free(style->FontName); + + free(style->Name); + free(style->FontName); } // ============================================================================================== diff --git a/libass/ass_bitmap.c b/libass/ass_bitmap.c index 9211a7c..522bce7 100644 --- a/libass/ass_bitmap.c +++ b/libass/ass_bitmap.c @@ -113,8 +113,7 @@ static void resize_tmp(ASS_SynthPriv *priv, int w, int h) priv->tmp_w *= 2; while (priv->tmp_h < h) priv->tmp_h *= 2; - if (priv->tmp) - free(priv->tmp); + free(priv->tmp); priv->tmp = malloc((priv->tmp_w + 1) * priv->tmp_h * sizeof(short)); } @@ -127,12 +126,9 @@ ASS_SynthPriv *ass_synth_init(double radius) void ass_synth_done(ASS_SynthPriv *priv) { - if (priv->tmp) - free(priv->tmp); - if (priv->g) - free(priv->g); - if (priv->gt2) - free(priv->gt2); + free(priv->tmp); + free(priv->g); + free(priv->gt2); free(priv); } @@ -149,11 +145,9 @@ static Bitmap *alloc_bitmap(int w, int h) void ass_free_bitmap(Bitmap *bm) { - if (bm) { - if (bm->buffer) - free(bm->buffer); - free(bm); - } + if (bm) + free(bm->buffer); + free(bm); } static Bitmap *copy_bitmap(const Bitmap *src) diff --git a/libass/ass_font.c b/libass/ass_font.c index 1c0535f..0b061bf 100644 --- a/libass/ass_font.c +++ b/libass/ass_font.c @@ -562,8 +562,7 @@ void ass_font_free(ASS_Font *font) for (i = 0; i < font->n_faces; ++i) if (font->faces[i]) FT_Done_Face(font->faces[i]); - if (font->desc.family) - free(font->desc.family); + free(font->desc.family); free(font); } diff --git a/libass/ass_fontconfig.c b/libass/ass_fontconfig.c index a582690..031f4fa 100644 --- a/libass/ass_fontconfig.c +++ b/libass/ass_fontconfig.c @@ -521,14 +521,13 @@ int fontconfig_update(FCInstance *priv) void fontconfig_done(FCInstance *priv) { + + if (priv) { #ifdef CONFIG_FONTCONFIG - if (priv && priv->config) FcConfigDestroy(priv->config); #endif - if (priv && priv->path_default) free(priv->path_default); - if (priv && priv->family_default) free(priv->family_default); - if (priv) - free(priv); + } + free(priv); } diff --git a/libass/ass_library.c b/libass/ass_library.c index eef1aa2..13b5dab 100644 --- a/libass/ass_library.c +++ b/libass/ass_library.c @@ -59,8 +59,7 @@ void ass_library_done(ASS_Library *priv) void ass_set_fonts_dir(ASS_Library *priv, const char *fonts_dir) { - if (priv->fonts_dir) - free(priv->fonts_dir); + free(priv->fonts_dir); priv->fonts_dir = fonts_dir ? strdup(fonts_dir) : 0; } @@ -79,8 +78,8 @@ void ass_set_style_overrides(ASS_Library *priv, char **list) if (priv->style_overrides) { for (p = priv->style_overrides; *p; ++p) free(*p); - free(priv->style_overrides); } + free(priv->style_overrides); if (!list) return; diff --git a/libass/ass_parse.c b/libass/ass_parse.c index cac5760..776416d 100644 --- a/libass/ass_parse.c +++ b/libass/ass_parse.c @@ -455,8 +455,7 @@ static char *parse_tag(ASS_Renderer *render_priv, char *p, double pwr) family[p - start] = '\0'; } else family = strdup(render_priv->state.style->FontName); - if (render_priv->state.family) - free(render_priv->state.family); + free(render_priv->state.family); render_priv->state.family = family; update_font(render_priv); } else if (mystrcmp(&p, "alpha")) { diff --git a/libass/ass_render.c b/libass/ass_render.c index caea6b9..c960776 100644 --- a/libass/ass_render.c +++ b/libass/ass_render.c @@ -145,14 +145,13 @@ void ass_renderer_done(ASS_Renderer *render_priv) FT_Stroker_Done(render_priv->state.stroker); render_priv->state.stroker = 0; } - if (render_priv && render_priv->ftlibrary) + if (render_priv->ftlibrary) FT_Done_FreeType(render_priv->ftlibrary); - if (render_priv && render_priv->fontconfig_priv) + if (render_priv->fontconfig_priv) fontconfig_done(render_priv->fontconfig_priv); - if (render_priv && render_priv->synth_priv) + if (render_priv->synth_priv) ass_synth_done(render_priv->synth_priv); - if (render_priv && render_priv->eimg) - free(render_priv->eimg); + free(render_priv->eimg); free(render_priv->text_info.glyphs); free(render_priv->text_info.lines); -- cgit v1.2.3