]> granicus.if.org Git - libass/commitdiff
Get rid of NULL checks for free
authorGrigori Goronzy <greg@blackbox>
Mon, 9 Aug 2010 01:28:29 +0000 (03:28 +0200)
committerGrigori Goronzy <greg@blackbox>
Mon, 9 Aug 2010 03:58:00 +0000 (05:58 +0200)
The useless "if (foo) free(foo)" idiom is all over the place, just
get rid of it finally...

libass/ass.c
libass/ass_bitmap.c
libass/ass_font.c
libass/ass_fontconfig.c
libass/ass_library.c
libass/ass_parse.c
libass/ass_render.c

index b080ff9a07df3c9d87868d22faea45463aa71e61..cc66e1a1f9fbd5c0e41a87b0e5c5b7d35e3ad0da 100644 (file)
@@ -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);
 }
 
 // ==============================================================================================
index 9211a7c0080d80a2928c96dd6c2e47e10ed76831..522bce7c9000b7afc4fbfcb061d4ff63c54132ca 100644 (file)
@@ -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)
index 1c0535fba09c95537b20050641c360d3c7bc3033..0b061bf1ac8fe6204a6eec1ff18a346b0cd94324 100644 (file)
@@ -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);
 }
 
index a582690e3329892cb3f3e62ee722c97436862238..031f4fac85c5165efcb0d120f4779fe1064e030b 100644 (file)
@@ -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);
 }
index eef1aa2cd81c1065ab9b978b0eb4f3dd8b73eed0..13b5dab23b3b0aa171eab1756b5dff1ee8fa193a 100644 (file)
@@ -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;
index cac5760063538a3a4c381bd6ab9e43cd69098c32..776416d9b01d6291e02df2934de6442c9bd2e43d 100644 (file)
@@ -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")) {
index caea6b9d40d20f43a2bccefdc2ce004b6b98f96a..c9607769c8abd9316e5a1bcfcf4efbe32162158f 100644 (file)
@@ -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);