Testing if pointer on memory to free is not NULL is unnecessary
since g_free() does the test itself.
---
 gattrib/src/s_sheet_data.c    |    2 +-
 gattrib/src/s_table.c         |   21 +++-------
 gattrib/src/s_toplevel.c      |   31 ++++----------
 gnetlist/src/g_rc.c           |   16 ++------
 gnetlist/src/i_vars.c         |    4 +-
 gnetlist/src/parsecmd.c       |    4 +-
 gnetlist/src/s_hierarchy.c    |    8 +---
 gnetlist/src/s_net.c          |    9 +---
 gnetlist/src/s_netattrib.c    |   16 ++------
 gnetlist/src/s_netlist.c      |    8 +---
 gnetlist/src/s_rename.c       |   10 +----
 gnetlist/src/vams_misc.c      |    4 +-
 gschem/src/gschem_dialog.c    |    4 +-
 gschem/src/i_basic.c          |    2 +-
 gschem/src/i_callbacks.c      |   14 +++----
 gschem/src/o_misc.c           |    4 +-
 gschem/src/o_picture.c        |    3 +-
 gschem/src/o_slot.c           |   20 ++++-----
 gschem/src/o_text.c           |    8 +---
 gschem/src/o_undo.c           |    4 +-
 gschem/src/x_attribedit.c     |    4 +-
 gschem/src/x_dialog.c         |    2 +-
 gschem/src/x_image.c          |    3 +-
 gschem/src/x_multiattrib.c    |    8 ++--
 gsymcheck/src/s_check.c       |   17 ++------
 gsymcheck/src/s_symstruct.c   |    4 +-
 libgeda/src/f_basic.c         |    4 +-
 libgeda/src/g_rc.c            |   64 +++++++----------------------
 libgeda/src/g_smob.c          |    8 ++--
 libgeda/src/i_vars.c          |    4 +-
 libgeda/src/o_attrib.c        |   88 +++++++++++++++++++---------------------
 libgeda/src/o_complex_basic.c |   10 ++--
 libgeda/src/o_picture.c       |    4 +-
 libgeda/src/o_text_basic.c    |   26 ++++++------
 libgeda/src/s_attrib.c        |    3 +-
 libgeda/src/s_basic.c         |   42 ++++++-------------
 libgeda/src/s_color.c         |   16 ++------
 libgeda/src/s_hierarchy.c     |    6 +--
 libgeda/src/s_papersizes.c    |    3 +-
 libgeda/src/s_slib.c          |   12 ++----
 libgeda/src/s_undo.c          |    6 +--
 41 files changed, 186 insertions(+), 340 deletions(-)

diff --git a/gattrib/src/s_sheet_data.c b/gattrib/src/s_sheet_data.c
index fc05ad4..9ba33ef 100644
--- a/gattrib/src/s_sheet_data.c
+++ b/gattrib/src/s_sheet_data.c
@@ -423,7 +423,7 @@ void s_sheet_data_add_master_pin_attrib_list_items(OBJECT 
*start_obj) {
                    
s_string_list_add_item(sheet_head->master_pin_attrib_list_head, 
                                           &(sheet_head->pin_attrib_count), 
attrib_name);
                  }   /* if (strcmp(attrib_name, "pinnumber") != 0) */ 
-                 if (attrib_value != NULL) g_free(attrib_value);
+                 g_free(attrib_value);
                  g_free(attrib_name);
                  g_free(attrib_text);
                }
diff --git a/gattrib/src/s_table.c b/gattrib/src/s_table.c
index a1530a1..d89bf68 100644
--- a/gattrib/src/s_table.c
+++ b/gattrib/src/s_table.c
@@ -138,12 +138,9 @@ void s_table_destroy(TABLE **table, int row_count, int 
col_count)
 
   for (i = 0; i < row_count; i++) {
     for (j = 0; j < col_count; j++) {
-      if ( (table[i][j]).attrib_value != NULL)
-       g_free( (table[i][j]).attrib_value );
-      if ( (table[i][j]).row_name != NULL)
-       g_free( (table[i][j]).row_name );
-      if ( (table[i][j]).col_name != NULL)
-       g_free( (table[i][j]).col_name );
+      g_free( (table[i][j]).attrib_value );
+      g_free( (table[i][j]).row_name );
+      g_free( (table[i][j]).col_name );
     }
   }
 
@@ -652,9 +649,7 @@ void s_table_gtksheet_to_table(GtkSheet *local_gtk_sheet, 
STRING_LIST *master_ro
 #ifdef DEBUG
       printf("     Updating attrib_value %s\n", attrib_value);
 #endif
-      if ( local_table[row][col].attrib_value != NULL) {
-       g_free( local_table[row][col].attrib_value );
-      }
+      g_free( local_table[row][col].attrib_value );
       if (attrib_value != NULL) {
        local_table[row][col].attrib_value = (gchar *) g_strdup(attrib_value);
       } else {
@@ -665,9 +660,7 @@ void s_table_gtksheet_to_table(GtkSheet *local_gtk_sheet, 
STRING_LIST *master_ro
 #ifdef DEBUG
       printf("     Updating row_name %s\n", row_title);
 #endif
-      if ( local_table[row][col].row_name != NULL) {
-       g_free( local_table[row][col].row_name );
-      }
+      g_free( local_table[row][col].row_name );
       if (row_title != NULL) {
        local_table[row][col].row_name = (gchar *) g_strdup(row_title);
       } else {
@@ -678,9 +671,7 @@ void s_table_gtksheet_to_table(GtkSheet *local_gtk_sheet, 
STRING_LIST *master_ro
 #ifdef DEBUG
       printf("     Updating col_name %s\n", col_title);
 #endif
-      if ( local_table[row][col].col_name != NULL) {
-       g_free( local_table[row][col].col_name );
-      }
+      g_free( local_table[row][col].col_name );
       if (col_title != NULL) {
        local_table[row][col].col_name = (gchar *) g_strdup(col_title);
       } else {
diff --git a/gattrib/src/s_toplevel.c b/gattrib/src/s_toplevel.c
index ca3177e..f1e9046 100644
--- a/gattrib/src/s_toplevel.c
+++ b/gattrib/src/s_toplevel.c
@@ -650,8 +650,8 @@ void s_toplevel_update_component_attribs_in_toplevel(OBJECT 
*o_current,
             (s_attrib_name_in_list(new_comp_attrib_list, old_attrib_name) == 
FALSE) ) {
          s_string_list_add_item(complete_comp_attrib_list, &count, 
old_name_value_pair);
         }
-       if (old_attrib_name) g_free (old_attrib_name);
-       if (old_attrib_value) g_free (old_attrib_value);
+       g_free (old_attrib_name);
+       g_free (old_attrib_value);
       }
  #endif
      g_free(old_name_value_pair);
@@ -777,18 +777,10 @@ void 
s_toplevel_update_component_attribs_in_toplevel(OBJECT *o_current,
     
 
     /* free everything and iterate */
-    if (new_attrib_name != NULL) {
-      g_free(new_attrib_name);  /* Be careful, this can be NULL */
-    }
-    if (new_attrib_value != NULL) {
-      g_free(new_attrib_value);  /* Be careful, this can be NULL */
-    }
-    if (old_attrib_name != NULL) {
-      g_free(old_attrib_name);  /* Be careful, this can be NULL */
-    }
-    if (old_attrib_value != NULL) {
-      g_free(old_attrib_value);  /* Be careful, this can be NULL */
-    }
+    g_free(new_attrib_name);
+    g_free(new_attrib_value);
+    g_free(old_attrib_name);
+    g_free(old_attrib_value);
     local_list = local_list->next;
   }   /*   while (local_list != NULL)  */
   return;
@@ -943,8 +935,7 @@ void s_toplevel_update_pin_attribs_in_toplevel(char 
*refdes, OBJECT *o_pin,
   new_attrib_value = u_basic_breakup_string(new_name_value_pair, '=', 1);
 
   if (strlen(new_attrib_value) == 0) {
-    if (new_attrib_value != NULL)
-      g_free(new_attrib_value);   
+    g_free(new_attrib_value);   
     new_attrib_value = NULL;  /* s_misc_remaining_string doesn't return NULL 
for empty substring. */
   }
   old_attrib_value = o_attrib_search_name_single_count(o_pin, new_attrib_name, 
0);
@@ -995,12 +986,8 @@ void s_toplevel_update_pin_attribs_in_toplevel(char 
*refdes, OBJECT *o_pin,
     /* free everything and iterate */
     g_free(new_name_value_pair);
     g_free(new_attrib_name);
-    if (new_attrib_value != NULL) {
-      g_free(new_attrib_value);  /* Be careful, this can be NULL */
-    }
-    if (old_attrib_value != NULL) {
-      g_free(old_attrib_value);  /* Be careful, this can be NULL */
-    }
+    g_free(new_attrib_value);
+    g_free(old_attrib_value);
     local_list = local_list->next;
   }   /*   while (local_list != NULL)  */
 
diff --git a/gnetlist/src/g_rc.c b/gnetlist/src/g_rc.c
index ba41c67..a03a598 100644
--- a/gnetlist/src/g_rc.c
+++ b/gnetlist/src/g_rc.c
@@ -127,9 +127,7 @@ SCM g_rc_hierarchy_netname_separator(SCM name)
   SCM_ASSERT (scm_is_string (name), name,
               SCM_ARG1, "hierarchy-netname-separator");
 
-  if (default_hierarchy_netname_separator) {
-    g_free(default_hierarchy_netname_separator);
-  }
+  g_free(default_hierarchy_netname_separator);
 
   default_hierarchy_netname_separator = g_strdup (SCM_STRING_CHARS (name));
 
@@ -141,9 +139,7 @@ SCM g_rc_hierarchy_netattrib_separator(SCM name)
   SCM_ASSERT (scm_is_string (name), name,
               SCM_ARG1, "hierarchy-netattrib-separator");
 
-  if (default_hierarchy_netattrib_separator) {
-    g_free(default_hierarchy_netattrib_separator);
-  }
+  g_free(default_hierarchy_netattrib_separator);
 
   default_hierarchy_netattrib_separator = g_strdup (SCM_STRING_CHARS (name));
 
@@ -155,9 +151,7 @@ SCM g_rc_hierarchy_uref_separator(SCM name)
   SCM_ASSERT (scm_is_string (name), name,
               SCM_ARG1, "hierarchy-uref-separator");
 
-  if (default_hierarchy_uref_separator) {
-    g_free(default_hierarchy_uref_separator);
-  }
+  g_free(default_hierarchy_uref_separator);
 
   default_hierarchy_uref_separator = g_strdup (SCM_STRING_CHARS (name));
 
@@ -202,9 +196,7 @@ SCM g_rc_unnamed_netname(SCM name)
   SCM_ASSERT (scm_is_string (name), name,
               SCM_ARG1, "unamed-netname");
 
-  if (default_unnamed_netname) {
-    g_free(default_unnamed_netname);
-  }
+  g_free(default_unnamed_netname);
 
   default_unnamed_netname = g_strdup (SCM_STRING_CHARS (name));
 
diff --git a/gnetlist/src/i_vars.c b/gnetlist/src/i_vars.c
index 9db7dc8..c8203c8 100644
--- a/gnetlist/src/i_vars.c
+++ b/gnetlist/src/i_vars.c
@@ -42,9 +42,7 @@
 #define DEFAULT_BITMAP_DIRECTORY   "non-existant"
 
 #define INIT_STR(w, name, str) {                            \
-    if ((w)->name) {                                        \
-        g_free((w)->name);                                  \
-    }                                                       \
+    g_free((w)->name);                                      \
     (w)->name = g_strdup (((default_ ## name) != NULL) ?    \
                           (default_ ## name) : (str));      \
 }
diff --git a/gnetlist/src/parsecmd.c b/gnetlist/src/parsecmd.c
index cd7129b..19adb01 100644
--- a/gnetlist/src/parsecmd.c
+++ b/gnetlist/src/parsecmd.c
@@ -182,9 +182,7 @@ int parse_commandline(int argc, char *argv[])
            break;
 
        case 'o':
-           if (output_filename) {
-               g_free(output_filename);
-           }
+           g_free(output_filename);
            output_filename = (char *) g_malloc(sizeof(char) *
                                              (strlen(optarg) + 1));
            strcpy(output_filename, optarg);
diff --git a/gnetlist/src/s_hierarchy.c b/gnetlist/src/s_hierarchy.c
index b6c8b0c..11e9c47 100644
--- a/gnetlist/src/s_hierarchy.c
+++ b/gnetlist/src/s_hierarchy.c
@@ -126,13 +126,9 @@ s_hierarchy_traverse(TOPLEVEL * pr_current, OBJECT * 
o_current,
            current_filename = u_basic_breakup_string(attrib, ',', pcount);
        }
 
-       if (attrib) {
-           g_free(attrib);
-       }
+       g_free(attrib);
 
-       if (current_filename) {
-           g_free(current_filename);
-       }
+       g_free(current_filename);
 
        count++;
 
diff --git a/gnetlist/src/s_net.c b/gnetlist/src/s_net.c
index 6eaf591..da1287b 100644
--- a/gnetlist/src/s_net.c
+++ b/gnetlist/src/s_net.c
@@ -210,14 +210,11 @@ char *s_net_return_connected_string(TOPLEVEL * 
pr_current, OBJECT * object,
        }
     }
 
-    if (pinnum)
-       g_free(pinnum);
+    g_free(pinnum);
 
-    if (uref)
-       g_free(uref);
+    g_free(uref);
 
-    if (temp_uref)
-       g_free(temp_uref);
+    g_free(temp_uref);
 
     return (string);
 }
diff --git a/gnetlist/src/s_netattrib.c b/gnetlist/src/s_netattrib.c
index 4e900b7..36a0101 100644
--- a/gnetlist/src/s_netattrib.c
+++ b/gnetlist/src/s_netattrib.c
@@ -215,9 +215,7 @@ s_netattrib_handle(TOPLEVEL * pr_current, OBJECT * 
o_current,
     }
 
 
-    if (value) {
-       g_free(value);
-    }
+    g_free(value);
 
 
     /* for now just look inside the component */
@@ -234,9 +232,7 @@ s_netattrib_handle(TOPLEVEL * pr_current, OBJECT * 
o_current,
            o_attrib_search_name_single_count(o_current, "net", counter);
     }
 
-    if (value) {
-       g_free(value);
-    }
+    g_free(value);
 }
 
 char *s_netattrib_net_search(OBJECT * o_current, char *wanted_pin)
@@ -294,9 +290,7 @@ char *s_netattrib_net_search(OBJECT * o_current, char 
*wanted_pin)
     }
 
 
-    if (value) {
-       g_free(value);
-    }
+    g_free(value);
 
 
     /* now look outside the component */
@@ -341,9 +335,7 @@ char *s_netattrib_net_search(OBJECT * o_current, char 
*wanted_pin)
            o_attrib_search_name_single_count(o_current, "net", counter);
     }
 
-    if (value) {
-       g_free(value);
-    }
+    g_free(value);
 
     if (return_value) {
        return (return_value);
diff --git a/gnetlist/src/s_netlist.c b/gnetlist/src/s_netlist.c
index 3aa7e06..d9e768d 100644
--- a/gnetlist/src/s_netlist.c
+++ b/gnetlist/src/s_netlist.c
@@ -166,9 +166,7 @@ void s_netlist_post_process(TOPLEVEL * pr_current, NETLIST 
* head)
 
                if (pl_current->plid != -1 && pl_current->nets) {
 
-                   if (pl_current->net_name) {
-                       g_free(pl_current->net_name);
-                   }
+                   g_free(pl_current->net_name);
 
                    verbose_print("n");
 
@@ -253,9 +251,7 @@ void s_netlist_name_named_nets (TOPLEVEL *pr_current,
          net_name = NULL;
          n_current = pl_current->nets;
          while (n_current != NULL) {
-           if (n_current->net_name) {
-             g_free (n_current->net_name);
-           }       
+           g_free (n_current->net_name);
            n_current->net_name = s_netlist_netname_of_netid(pr_current,
                                                             named_netlist,
                                                             n_current->nid);
diff --git a/gnetlist/src/s_rename.c b/gnetlist/src/s_rename.c
index 7775083..aaaf3a9 100644
--- a/gnetlist/src/s_rename.c
+++ b/gnetlist/src/s_rename.c
@@ -80,14 +80,8 @@ void s_rename_destroy_all(void)
     {
         for (temp = first_set->first_rename; temp;)
         {
-            if (temp->src) 
-            {
-                g_free(temp->src);
-            }
-            if (temp->dest) 
-           {
-                g_free(temp->dest);
-            }
+            g_free(temp->src);
+            g_free(temp->dest);
            to_free = temp;
            temp = temp->next;
            g_free(to_free);
diff --git a/gnetlist/src/vams_misc.c b/gnetlist/src/vams_misc.c
index 21fc5cf..9b0d0ed 100644
--- a/gnetlist/src/vams_misc.c
+++ b/gnetlist/src/vams_misc.c
@@ -61,8 +61,8 @@ vams_get_attribs_list(OBJECT *object, SCM *list, OBJECT 
**return_found)
         *list = scm_cons (scm_makfrom0str (found_name), *list);
       }
 
-     if (found_name) g_free(found_name);
-     if (found_value) g_free(found_value);
+     g_free(found_name);
+     g_free(found_value);
 #if DEBUG
       printf("0 _%s_\n", found->text->string);
       printf("1 _%s_\n", found_name);
diff --git a/gschem/src/gschem_dialog.c b/gschem/src/gschem_dialog.c
index 0daadbc..7c8410f 100644
--- a/gschem/src/gschem_dialog.c
+++ b/gschem/src/gschem_dialog.c
@@ -279,7 +279,7 @@ static void gschem_dialog_finalize (GObject *object)
 {
   GschemDialog *dialog = GSCHEM_DIALOG (object);
 
-  if (dialog->settings_name) g_free (dialog->settings_name);
+  g_free (dialog->settings_name);
 
   G_OBJECT_CLASS (gschem_dialog_parent_class)->finalize (object);
 }
@@ -303,7 +303,7 @@ static void gschem_dialog_set_property (GObject *object, 
guint property_id, cons
 
   switch(property_id) {
     case PROP_SETTINGS_NAME:
-      if (dialog->settings_name) g_free (dialog->settings_name);
+      g_free (dialog->settings_name);
       dialog->settings_name = g_strdup (g_value_get_string (value));
       break;
     case PROP_GSCHEM_TOPLEVEL:
diff --git a/gschem/src/i_basic.c b/gschem/src/i_basic.c
index 6685736..3381aa4 100644
--- a/gschem/src/i_basic.c
+++ b/gschem/src/i_basic.c
@@ -106,7 +106,7 @@ static const char *i_status_string(GSCHEM_TOPLEVEL 
*w_current)
       return _("Pan Mode");
     case STARTPASTE:
     case ENDPASTE:
-      if (buf) g_free(buf);
+      g_free(buf);
       buf = g_strdup_printf(_("Paste %d Mode"), w_current->buffer_number+1);
       return buf;
     case STARTDRAWNET:
diff --git a/gschem/src/i_callbacks.c b/gschem/src/i_callbacks.c
index 18b40c0..d6247ec 100644
--- a/gschem/src/i_callbacks.c
+++ b/gschem/src/i_callbacks.c
@@ -403,9 +403,7 @@ DEFINE_I_CALLBACK(file_print)
     x_print_setup(w_current, ps_filename);
   }
 
-  if (ps_filename) {
-    g_free(ps_filename);
-  }
+  g_free(ps_filename);
 }
 
 /*! \todo Finish function documentation!!!
@@ -2872,8 +2870,8 @@ DEFINE_I_CALLBACK(hierarchy_down_schematic)
       current_filename = u_basic_breakup_string(attrib, ',', pcount);
     }
 
-    if (attrib)           g_free(attrib);
-    if (current_filename) g_free(current_filename);
+    g_free(attrib);
+    g_free(current_filename);
 
     count++;
 
@@ -3007,9 +3005,9 @@ DEFINE_I_CALLBACK(hierarchy_documentation)
                          object->complex_basename,
                          sourcename);
 
-      if (attrib_doc) g_free(attrib_doc);
-      if (attrib_device) g_free(attrib_device);
-      if (attrib_value) g_free(attrib_value);
+      g_free(attrib_doc);
+      g_free(attrib_device);
+      g_free(attrib_value);
     }
   } else {
     generic_msg_dialog(_("This command retrieves the component documentation 
from the web, but there is no component selected"));
diff --git a/gschem/src/o_misc.c b/gschem/src/o_misc.c
index 1f370af..b548d34 100644
--- a/gschem/src/o_misc.c
+++ b/gschem/src/o_misc.c
@@ -826,8 +826,8 @@ void o_update_component(GSCHEM_TOPLEVEL *w_current, OBJECT 
*o_current)
     attrfound = o_attrib_search_name_single(o_current, name, NULL);
 
     /* free these now since they are no longer being used */
-    if (name) { g_free(name); }
-    if (value) { g_free(value); }
+    g_free(name);
+    g_free(value);
 
     if (attrfound == NULL) {
       /* attribute with same name not found in old component: */
diff --git a/gschem/src/o_picture.c b/gschem/src/o_picture.c
index 0f08c43..cf91611 100644
--- a/gschem/src/o_picture.c
+++ b/gschem/src/o_picture.c
@@ -600,8 +600,7 @@ void o_picture_exchange (GSCHEM_TOPLEVEL *w_current, 
GdkPixbuf *pixbuf,
         /* Erase previous picture */
         o_erase_single(w_current, object);
 
-        if (object->picture->filename != NULL)
-          g_free(object->picture->filename);
+        g_free(object->picture->filename);
 
         object->picture->filename = (char *) g_strdup(filename);
 
diff --git a/gschem/src/o_slot.c b/gschem/src/o_slot.c
index 91c5716..b63ddb4 100644
--- a/gschem/src/o_slot.c
+++ b/gschem/src/o_slot.c
@@ -148,8 +148,8 @@ void o_slot_end(GSCHEM_TOPLEVEL *w_current, char *string, 
int len)
       s_log_message(_("numslots attribute missing\n"));
       s_log_message(
                     _("Slotting not allowed for this component\n"));
-      if (name) g_free(name);
-      if (value) g_free(value);
+      g_free(name);
+      g_free(value);
       return;
     }
 
@@ -164,8 +164,8 @@ void o_slot_end(GSCHEM_TOPLEVEL *w_current, char *string, 
int len)
 
     if (new_slot_number > numslots || new_slot_number <=0 ) {
       s_log_message(_("New slot number out of range\n"));
-      if (name) g_free(name);
-      if (value) g_free(value);
+      g_free(name);
+      g_free(value);
       return;
     }
 
@@ -174,9 +174,7 @@ void o_slot_end(GSCHEM_TOPLEVEL *w_current, char *string, 
int len)
     slot_value = o_attrib_search_slot(object, &slot_text_object);
 
     if (slot_value) {
-      if (slot_text_object->text->string) {
-        g_free(slot_text_object->text->string);
-      }
+      g_free(slot_text_object->text->string);
 
       slot_text_object->text->string = g_strdup (string);
 
@@ -231,14 +229,14 @@ void o_slot_end(GSCHEM_TOPLEVEL *w_current, char *string, 
int len)
     o_redraw_single(w_current,object);
 
     toplevel->page_current->CHANGED = 1;
-    if (name) g_free(name);
-    if (value) g_free(value);
+    g_free(name);
+    g_free(value);
 
   } else {
     fprintf(stderr,
             _("uggg! you tried to slot edit something that doesn't exist!\n"));
-    if (name) g_free(name);
-    if (value) g_free(value);
+    g_free(name);
+    g_free(value);
     exit(-1);
   }
 }
diff --git a/gschem/src/o_text.c b/gschem/src/o_text.c
index 7add762..edf7b65 100644
--- a/gschem/src/o_text.c
+++ b/gschem/src/o_text.c
@@ -441,9 +441,7 @@ void o_text_edit_end(GSCHEM_TOPLEVEL *w_current, char 
*string, int len, int text
 
         /* only change text string if there is only ONE text object selected */
         if (numselect == 1 && string) {
-          if (object->text->string) {
-            g_free(object->text->string);
-          }
+          g_free(object->text->string);
           object->text->string = g_strdup (string);
          /* handle slot= attribute, it's a special case */
          if (g_ascii_strncasecmp (string, "slot=", 5) == 0) {
@@ -496,9 +494,7 @@ void o_text_change(GSCHEM_TOPLEVEL *w_current, OBJECT 
*object, char *string,
   o_erase_single(w_current, object);
 
   /* second change the real object */
-  if (object->text->string) {
-    g_free(object->text->string);
-  }
+  g_free(object->text->string);
 
   object->text->string = g_strdup (string);
   object->visibility = visibility;
diff --git a/gschem/src/o_undo.c b/gschem/src/o_undo.c
index 307d6a1..3d2d2a8 100644
--- a/gschem/src/o_undo.c
+++ b/gschem/src/o_undo.c
@@ -176,9 +176,7 @@ void o_undo_savestate(GSCHEM_TOPLEVEL *w_current, int flag)
   printf("----\n");
 #endif
 
-  if (filename) {
-    g_free(filename);
-  }
+  g_free(filename);
 
   /* Now go through and see if we need to free/remove some undo levels */ 
   /* so we stay within the limits */
diff --git a/gschem/src/x_attribedit.c b/gschem/src/x_attribedit.c
index 08ccef5..97cd73d 100644
--- a/gschem/src/x_attribedit.c
+++ b/gschem/src/x_attribedit.c
@@ -571,8 +571,8 @@ void attrib_edit_dialog(GSCHEM_TOPLEVEL *w_current, OBJECT 
* list, int flag)
     gtk_widget_grab_focus(attrib_combo_entry);
   }
 
-  if (name) g_free(name);
-  if (val) g_free(val);
+  g_free(name);
+  g_free(val);
 
 }
 /***************** End of Attrib Edit dialog box **********************/
diff --git a/gschem/src/x_dialog.c b/gschem/src/x_dialog.c
index 1048ac1..a2aa003 100644
--- a/gschem/src/x_dialog.c
+++ b/gschem/src/x_dialog.c
@@ -3270,7 +3270,7 @@ void major_changed_dialog(GSCHEM_TOPLEVEL* w_current)
                               G_CALLBACK (gtk_widget_destroy),
                               dialog);
 
-    if (refdes_string) g_free(refdes_string);
+    g_free(refdes_string);
   }
 }
 
diff --git a/gschem/src/x_image.c b/gschem/src/x_image.c
index 0017564..d8dcb30 100644
--- a/gschem/src/x_image.c
+++ b/gschem/src/x_image.c
@@ -410,8 +410,7 @@ void x_image_lowlevel(GSCHEM_TOPLEVEL *w_current, const 
char* filename,
           s_log_message(_("Wrote black and white image to [%s] [%d x %d]\n"), 
filename, width, height);
         }
       }
-      if (filetype != NULL)
-        g_free(filetype);
+      g_free(filetype);
       if (pixbuf != NULL)
         g_object_unref(pixbuf);
     }
diff --git a/gschem/src/x_multiattrib.c b/gschem/src/x_multiattrib.c
index d8cd0ea..4aeebe8 100644
--- a/gschem/src/x_multiattrib.c
+++ b/gschem/src/x_multiattrib.c
@@ -721,8 +721,8 @@ static void 
multiattrib_callback_edited_name(GtkCellRendererText *cellrendererte
   newtext = g_strdup_printf ("%s=%s", arg2, value);
 
   if (!x_dialog_validate_attribute(GTK_WINDOW(multiattrib), newtext)) {
-    if (name) g_free (name);
-    if (value) g_free (value);
+    g_free (name);
+    g_free (value);
     g_free(newtext);
     return;
   }
@@ -771,8 +771,8 @@ static void 
multiattrib_callback_edited_value(GtkCellRendererText *cell_renderer
   newtext = g_strdup_printf ("%s=%s", name, arg2);
 
   if (!x_dialog_validate_attribute(GTK_WINDOW(multiattrib), newtext)) {
-    if (name) g_free (name);
-    if (value) g_free (value);
+    g_free (name);
+    g_free (value);
     g_free(newtext);
     return;
   }
diff --git a/gsymcheck/src/s_check.c b/gsymcheck/src/s_check.c
index 26c714e..75cf75a 100644
--- a/gsymcheck/src/s_check.c
+++ b/gsymcheck/src/s_check.c
@@ -304,8 +304,7 @@ s_check_device(OBJECT *o_current, SYMCHECK *s_current)
     s_current->warning_count++;
   } 
 
-  if (temp) 
-    g_free(temp);
+  g_free(temp);
 }
 
 
@@ -380,8 +379,7 @@ s_check_pinseq(OBJECT *object_head, SYMCHECK *s_current)
           found_numbers = g_list_append(found_numbers, number);
           found_first=TRUE;
         } else {
-          if (number)
-            g_free(number);
+          g_free(number);
         }
         
         counter++;
@@ -893,8 +891,7 @@ s_check_slotdef(OBJECT *object_head, SYMCHECK *s_current)
       j++;
     } while (temp);
 
-    if (temp)
-      g_free(temp);
+    g_free(temp);
 
     g_free(slotdef);
     slotdef = NULL;
@@ -963,15 +960,11 @@ s_check_slotdef(OBJECT *object_head, SYMCHECK *s_current)
     }
   }
   
-  if (slotdef) {
-    g_free(slotdef);
-  }
+  g_free(slotdef);
   if (pinlist) {
     /* Free the pinlist */
     for (i = 0; i < s_current->numslots; i++) {
-      if (pinlist[i]) {
-       g_free(pinlist[i]);
-      }
+      g_free(pinlist[i]);
     }
     g_free(pinlist);
   }
diff --git a/gsymcheck/src/s_symstruct.c b/gsymcheck/src/s_symstruct.c
index 33f04de..7c285f8 100644
--- a/gsymcheck/src/s_symstruct.c
+++ b/gsymcheck/src/s_symstruct.c
@@ -137,9 +137,7 @@ s_symstruct_free(SYMCHECK *s_current)
 {
   if (s_current) {
 
-    if (s_current->device_attribute) {
-      g_free(s_current->device_attribute);
-    }
+    g_free(s_current->device_attribute);
 
     g_free(s_current);
   }
diff --git a/libgeda/src/f_basic.c b/libgeda/src/f_basic.c
index daf0ce6..cfb052f 100644
--- a/libgeda/src/f_basic.c
+++ b/libgeda/src/f_basic.c
@@ -213,9 +213,7 @@ int f_open_flags(TOPLEVEL *toplevel, const gchar *filename,
   }
 
   /* write full, absolute filename into page_current->page_filename */
-  if (toplevel->page_current->page_filename) {
-    g_free(toplevel->page_current->page_filename);
-  }
+  g_free(toplevel->page_current->page_filename);
   toplevel->page_current->page_filename = g_strdup(full_filename);
 
   /* Before we open the page, let's load the corresponding gafrc. */
diff --git a/libgeda/src/g_rc.c b/libgeda/src/g_rc.c
index 5fb2f8e..952397f 100644
--- a/libgeda/src/g_rc.c
+++ b/libgeda/src/g_rc.c
@@ -442,9 +442,7 @@ SCM g_rc_component_library(SCM path, SCM name)
     g_free(cwd);
   }
 
-  if (string) {
-    g_free(string);
-  }
+  g_free(string);
 
   return SCM_BOOL_T;
 }
@@ -600,9 +598,7 @@ SCM g_rc_component_library_search(SCM path)
     }
   }
 
-  if (string) {
-    g_free(string);
-  }
+  g_free(string);
 
   return SCM_BOOL_T;
 }
@@ -650,9 +646,7 @@ SCM g_rc_source_library(SCM path)
     g_free(cwd);
   }
   
-  if (string) {
-    g_free(string);
-  }
+  g_free(string);
   
   return SCM_BOOL_T;
 }
@@ -690,9 +684,7 @@ SCM g_rc_source_library_search(SCM path)
     fprintf (stderr,
              "Invalid path [%s] passed to source-library-search\n",
              string);
-    if (string) {
-      g_free(string);
-    }
+    g_free(string);
     return SCM_BOOL_F;
   }
 
@@ -731,9 +723,7 @@ SCM g_rc_source_library_search(SCM path)
     }
   }
 
-  if (string) {
-    g_free(string);
-  }
+  g_free(string);
 
   return SCM_BOOL_T;
 }
@@ -792,9 +782,7 @@ SCM g_rc_default_series_name(SCM name)
   SCM_ASSERT (scm_is_string (name), name,
               SCM_ARG1, "default-series-name");
 
-  if (default_series_name) {
-    g_free(default_series_name);
-  }
+  g_free(default_series_name);
 
   default_series_name = g_strdup (SCM_STRING_CHARS (name));
 
@@ -813,9 +801,7 @@ SCM g_rc_untitled_name(SCM name)
   SCM_ASSERT (scm_is_string (name), name,
               SCM_ARG1, "untitled-name");
 
-  if (default_untitled_name) {
-    g_free(default_untitled_name);
-  }
+  g_free(default_untitled_name);
 
   default_untitled_name = g_strdup (SCM_STRING_CHARS (name));
 
@@ -844,15 +830,11 @@ SCM g_rc_font_directory(SCM path)
     fprintf (stderr,
              "Invalid path [%s] passed to font-directory\n",
              string);
-    if (string) {
-      g_free(string);
-    }
+    g_free(string);
     return SCM_BOOL_F;
   }
 
-  if (default_font_directory) {
-    g_free(default_font_directory);
-  }
+  g_free(default_font_directory);
   default_font_directory = string;
 
   return SCM_BOOL_T;
@@ -880,15 +862,11 @@ SCM g_rc_scheme_directory(SCM path)
     fprintf (stderr,
              "Invalid path [%s] passed to scheme-directory\n",
              string);
-    if (string) {
-      g_free(string);
-    }
+    g_free(string);
     return SCM_BOOL_F;
   }
 
-  if (default_scheme_directory) {
-    g_free(default_scheme_directory);
-  }
+  g_free(default_scheme_directory);
   default_scheme_directory = string;
 
   return SCM_BOOL_T;
@@ -916,15 +894,11 @@ SCM g_rc_bitmap_directory(SCM path)
     fprintf (stderr,
              "Invalid path [%s] passed to bitmap-directory\n",
              string);
-    if (string) {
-      g_free(string);
-    }
+    g_free(string);
     return SCM_BOOL_F;
   }
 
-  if (default_bitmap_directory) {
-    g_free(default_bitmap_directory);
-  }
+  g_free(default_bitmap_directory);
   default_bitmap_directory = string;
 
   return SCM_BOOL_T;
@@ -942,9 +916,7 @@ SCM g_rc_bus_ripper_symname(SCM scmsymname)
   SCM_ASSERT (scm_is_string (scmsymname), scmsymname,
               SCM_ARG1, "bus-ripper-symname");
 
-  if (default_bus_ripper_symname) {
-    g_free(default_bus_ripper_symname);
-  }
+  g_free(default_bus_ripper_symname);
   default_bus_ripper_symname = g_strdup (SCM_STRING_CHARS (scmsymname));
 
   return SCM_BOOL_T;
@@ -962,9 +934,7 @@ SCM g_rc_postscript_prolog(SCM scmsymname)
   SCM_ASSERT (scm_is_string (scmsymname), scmsymname,
               SCM_ARG1, "postsript-prolog");
 
-  if (default_postscript_prolog) {
-    g_free(default_postscript_prolog);
-  }
+  g_free(default_postscript_prolog);
 
   /* take care of any shell variables */
   default_postscript_prolog =
@@ -1105,9 +1075,7 @@ SCM g_rc_always_promote_attributes(SCM scmsymname)
   SCM_ASSERT (scm_is_string (scmsymname), scmsymname,
               SCM_ARG1, "always-promote-attributes");
 
-  if (default_always_promote_attributes) {
-    g_free(default_always_promote_attributes);
-  }
+  g_free(default_always_promote_attributes);
   default_always_promote_attributes = 
     g_strdup_printf(" %s ", SCM_STRING_CHARS (scmsymname));
 
diff --git a/libgeda/src/g_smob.c b/libgeda/src/g_smob.c
index 644e874..ca2527e 100644
--- a/libgeda/src/g_smob.c
+++ b/libgeda/src/g_smob.c
@@ -136,8 +136,8 @@ SCM g_get_attrib_name_value(SCM attrib_smob)
                             &name, &value );
     returned = scm_cons (scm_makfrom0str (name),
                          scm_makfrom0str (value));
-    if (name) g_free(name);
-    if (value) g_free(value);
+    g_free(name);
+    g_free(value);
   }
 
   return returned;
@@ -189,8 +189,8 @@ SCM g_set_attrib_value_internal(SCM attrib_smob, SCM 
scm_value,
     *world = attribute->world;
     *o_attrib = attribute->attribute->object;
 
-    if (name) g_free(name);
-    if (old_value) g_free(old_value);
+    g_free(name);
+    g_free(old_value);
   }
 
   return SCM_UNDEFINED;
diff --git a/libgeda/src/i_vars.c b/libgeda/src/i_vars.c
index 507714f..b79649d 100644
--- a/libgeda/src/i_vars.c
+++ b/libgeda/src/i_vars.c
@@ -28,9 +28,7 @@
 
 /*! \def INIT_STR(w, name, str) */
 #define INIT_STR(w, name, str) {                                        \
-        if ((w)->name) {                                                \
-                g_free((w)->name);                                      \
-        }                                                               \
+        g_free((w)->name);                                              \
         (w)->name = g_strdup(((default_ ## name) != NULL) ?             \
                              (default_ ## name) : (str));               \
 }
diff --git a/libgeda/src/o_attrib.c b/libgeda/src/o_attrib.c
index e54c5ba..e26a20e 100644
--- a/libgeda/src/o_attrib.c
+++ b/libgeda/src/o_attrib.c
@@ -655,9 +655,7 @@ int o_attrib_get_name_value(char *string, char **name_ptr, 
char **value_ptr )
  */
 void o_attrib_free_current(TOPLEVEL *toplevel)
 {
-  if (toplevel->current_attribute) {
-    g_free(toplevel->current_attribute);
-  }
+  g_free(toplevel->current_attribute);
   toplevel->current_attribute=NULL;
 }
 
@@ -805,8 +803,8 @@ char *o_attrib_search_name(OBJECT *list, char *name, int 
counter)
                   return_string = (char *) 
                     g_malloc(sizeof(char)*strlen(found_value)+1);
                   strcpy(return_string, found_value);
-                 if (found_name) g_free(found_name);
-                 if (found_value) g_free(found_value);
+                 g_free(found_name);
+                 g_free(found_value);
                   return(return_string);
                 }
               }
@@ -828,8 +826,8 @@ char *o_attrib_search_name(OBJECT *list, char *name, int 
counter)
     /* search for attributes outside */
 
     if (o_current->type == OBJ_TEXT) {
-      if (found_name) g_free(found_name);
-      if (found_value) g_free(found_value);
+      g_free(found_name);
+      g_free(found_value);
       val = o_attrib_get_name_value(o_current->text->string, 
                                     &found_name, &found_value);
       if (val) {
@@ -840,8 +838,8 @@ char *o_attrib_search_name(OBJECT *list, char *name, int 
counter)
             return_string = (char *) 
               g_malloc(sizeof(char)* strlen(found_value)+1);
             strcpy(return_string, found_value);
-           if (found_name) g_free(found_name);
-           if (found_value) g_free(found_value);
+           g_free(found_name);
+           g_free(found_value);
             return(return_string);
           }
         }
@@ -853,8 +851,8 @@ char *o_attrib_search_name(OBJECT *list, char *name, int 
counter)
     o_current=o_current->next;
   }
        
-  if (found_name) g_free(found_name);
-  if (found_value) g_free(found_value);
+  g_free(found_name);
+  g_free(found_value);
   return (NULL);
 } 
 
@@ -965,16 +963,16 @@ char *o_attrib_search_string_partial(OBJECT *object, char 
*search_for,
                                       &found_name, &found_value);
         if (val) {
           return_string = g_strdup(found_value);
-         if (found_name) g_free(found_name);
-         if (found_value) g_free(found_value);
+         g_free(found_name);
+         g_free(found_value);
          return(return_string);
         }
       }
     }
   }    
        
-  if (found_name) g_free(found_name);
-  if (found_value) g_free(found_value);
+  g_free(found_name);
+  g_free(found_value);
   return (NULL);
 } 
 
@@ -1095,8 +1093,8 @@ OBJECT *o_attrib_search_attrib_value(GList *list, char 
*value, char *name,
               internal_counter++;      
             } else {
               if (strstr(found_name, name)) {
-               if (found_name) g_free(found_name);
-               if (found_value) g_free(found_value);
+               g_free(found_name);
+               g_free(found_value);
                 return(found);
               }
             }
@@ -1110,8 +1108,8 @@ OBJECT *o_attrib_search_attrib_value(GList *list, char 
*value, char *name,
     a_iter = g_list_next (a_iter);
   }
 
-  if (found_name) g_free(found_name);
-  if (found_value) g_free(found_value);
+  g_free(found_name);
+  g_free(found_value);
   return (NULL);
 } 
 
@@ -1164,8 +1162,8 @@ o_attrib_search_attrib_name(GList *list, char *name, int 
counter)
               return_string = (char *) 
                 g_malloc(sizeof(char)* strlen(found_value)+1);
               strcpy(return_string, found_value);
-             if (found_name) g_free(found_name);
-             if (found_value) g_free(found_value);
+             g_free(found_name);
+             g_free(found_value);
               return(return_string);
             }
           }
@@ -1177,8 +1175,8 @@ o_attrib_search_attrib_name(GList *list, char *name, int 
counter)
     a_iter = g_list_next (a_iter);
   }
 
-  if (found_name) g_free(found_name);
-  if (found_value) g_free(found_value);
+  g_free(found_name);
+  g_free(found_value);
   return (NULL);
 } 
 
@@ -1226,8 +1224,8 @@ char *o_attrib_search_toplevel(OBJECT *list, char *name, 
int counter)
             return_string = (char *) 
               g_malloc(sizeof(char)* strlen(found_value)+1);
             strcpy(return_string, found_value);
-           if (found_name) g_free(found_name);
-           if (found_value) g_free(found_value);
+           g_free(found_name);
+           g_free(found_value);
             return(return_string);
           }
         }
@@ -1239,8 +1237,8 @@ char *o_attrib_search_toplevel(OBJECT *list, char *name, 
int counter)
     o_current=o_current->next;
   }
        
-  if (found_name) g_free(found_name);
-  if (found_value) g_free(found_value);
+  g_free(found_name);
+  g_free(found_value);
   return (NULL);
 } 
 
@@ -1294,8 +1292,8 @@ char *o_attrib_search_name_single(OBJECT *object, char 
*name,
               if (return_found) {
                 *return_found = found;
               }
-             if (found_name) g_free(found_name);
-             if (found_value) g_free(found_value);
+             g_free(found_name);
+             g_free(found_value);
               return(return_string);
             }
            if (found_name) { g_free(found_name); found_name = NULL; }
@@ -1315,8 +1313,8 @@ char *o_attrib_search_name_single(OBJECT *object, char 
*name,
   /* search for attributes outside */
 
   if (o_current->type == OBJ_TEXT) {
-    if (found_name) g_free(found_name);
-    if (found_value) g_free(found_value);
+    g_free(found_name);
+    g_free(found_value);
     val = o_attrib_get_name_value(o_current->text->string, 
                                   &found_name, &found_value);
 
@@ -1328,8 +1326,8 @@ char *o_attrib_search_name_single(OBJECT *object, char 
*name,
         if (return_found) {
           *return_found = o_current;
         }
-       if (found_name) g_free(found_name);
-       if (found_value) g_free(found_value);
+       g_free(found_name);
+       g_free(found_value);
         return(return_string);
       }
       if (found_name) { g_free(found_name); found_name = NULL; }
@@ -1341,8 +1339,8 @@ char *o_attrib_search_name_single(OBJECT *object, char 
*name,
     *return_found = NULL;
   }
   
-  if (found_name) g_free(found_name);
-  if (found_value) g_free(found_value);
+  g_free(found_name);
+  g_free(found_value);
   return (NULL);
 } 
 
@@ -1400,8 +1398,8 @@ char *o_attrib_search_name_single_count(OBJECT *object, 
char *name,
                 return_string = (char *) 
                   g_malloc(sizeof(char)* strlen(found_value)+1);
                 strcpy(return_string, found_value);
-               if (found_name) g_free(found_name);
-               if (found_value) g_free(found_value);
+               g_free(found_name);
+               g_free(found_value);
                 return(return_string);
               }
             }
@@ -1423,8 +1421,8 @@ char *o_attrib_search_name_single_count(OBJECT *object, 
char *name,
   /* search for attributes outside */
 
   if (o_current->type == OBJ_TEXT) {
-    if (found_name) g_free(found_name);
-    if (found_value) g_free(found_value);
+    g_free(found_name);
+    g_free(found_value);
     val = o_attrib_get_name_value(o_current->text->string, 
                                   &found_name, &found_value);
 
@@ -1436,8 +1434,8 @@ char *o_attrib_search_name_single_count(OBJECT *object, 
char *name,
           return_string = (char *) 
             g_malloc(sizeof(char)* strlen(found_value)+1);
           strcpy(return_string, found_value);
-         if (found_name) g_free(found_name);
-         if (found_value) g_free(found_value);
+         g_free(found_name);
+         g_free(found_value);
           return(return_string);
         }
       }
@@ -1446,8 +1444,8 @@ char *o_attrib_search_name_single_count(OBJECT *object, 
char *name,
     }
   }    
   
-  if (found_name) g_free(found_name);
-  if (found_value) g_free(found_value);
+  g_free(found_name);
+  g_free(found_value);
   return (NULL);
 } 
 
@@ -1750,9 +1748,7 @@ void o_attrib_slot_update(TOPLEVEL *toplevel, OBJECT 
*object)
         
         o_text_recreate(toplevel, o_pinnum_object);
       }
-      if (string) {
-       g_free(string);
-      }
+      g_free(string);
 
       pin_counter++;
     } else {
diff --git a/libgeda/src/o_complex_basic.c b/libgeda/src/o_complex_basic.c
index 7b8f673..03cd837 100644
--- a/libgeda/src/o_complex_basic.c
+++ b/libgeda/src/o_complex_basic.c
@@ -271,8 +271,8 @@ int o_complex_is_eligible_attribute (TOPLEVEL *toplevel, 
OBJECT *object,
       }
       
       g_free(padded_name);
-      if (name) g_free(name);
-      if (value) g_free(value);
+      g_free(name);
+      g_free(value);
       if (promotableAttribute)
        return TRUE;
     }
@@ -1553,7 +1553,7 @@ o_complex_check_symversion(TOPLEVEL* toplevel, OBJECT* 
object)
   /* if inside_value and outside_value match, then symbol versions are okay */
 
 done:
-  if (inside) g_free(inside);
-  if (outside) g_free(outside);
-  if (refdes) g_free(refdes);
+  g_free(inside);
+  g_free(outside);
+  g_free(refdes);
 }
diff --git a/libgeda/src/o_picture.c b/libgeda/src/o_picture.c
index c404dfb..9ce2595 100644
--- a/libgeda/src/o_picture.c
+++ b/libgeda/src/o_picture.c
@@ -289,9 +289,7 @@ char *o_picture_save(OBJECT *object)
                          object->picture->embedded+0x30, 
                          object->picture->filename);
   }
-  if (encoded_picture != NULL) {
-    g_free(encoded_picture);
-  }
+  g_free(encoded_picture);
 
   return(out);
 }
diff --git a/libgeda/src/o_text_basic.c b/libgeda/src/o_text_basic.c
index e127be5..f896400 100644
--- a/libgeda/src/o_text_basic.c
+++ b/libgeda/src/o_text_basic.c
@@ -238,7 +238,7 @@ OBJECT *o_text_load_font(TOPLEVEL *toplevel, gunichar 
needed_char)
 
   o_font_set->font_prim_objs = return_head(o_font_set->font_prim_objs);
 
-  if (temp_string) g_free(temp_string);
+  g_free(temp_string);
 
   return(o_font_set->font_prim_objs);
 }
@@ -996,9 +996,9 @@ OBJECT *o_text_add(TOPLEVEL *toplevel, OBJECT *object_list,
   /* Update bounding box */
   o_text_recalc( toplevel, object_list );
 
-  if (name) g_free(name);
-  if (value) g_free(value);
-  if (output_string) g_free(output_string);
+  g_free(name);
+  g_free(value);
+  g_free(output_string);
   return(object_list);
 }
 
@@ -1362,9 +1362,9 @@ void o_text_recreate(TOPLEVEL *toplevel, OBJECT 
*o_current)
   o_text_recalc( toplevel, o_current );
 
   toplevel->page_current->object_parent = temp_parent;
-  if (name) g_free(name);
-  if (value) g_free(value);
-  if (output_string) g_free(output_string);
+  g_free(name);
+  g_free(value);
+  g_free(output_string);
 }
 
 /*! \todo Finish function documentation!!!
@@ -1501,7 +1501,7 @@ void o_text_print_text_width(FILE *fp, char 
*output_string)
     if (single_len > max_len)
     {
       max_len = strlen(single_line);
-      if (max_length_line) g_free(max_length_line);
+      g_free(max_length_line);
       max_length_line = g_strdup (single_line);
     }
   }
@@ -1521,8 +1521,8 @@ void o_text_print_text_width(FILE *fp, char 
*output_string)
   /* .95 is a fudge factor */
   fprintf(fp, ") stringwidth pop\n");
 
-  if (single_line) g_free(single_line);
-  if (max_length_line) g_free(max_length_line);
+  g_free(single_line);
+  g_free(max_length_line);
 }
 
 /*! \todo Finish function documentation!!!
@@ -1744,9 +1744,9 @@ void o_text_print(TOPLEVEL *toplevel, FILE *fp, OBJECT 
*o_current,
   fprintf(fp,"] %d %d %d %f text\n",angle,x,y,font_size);
 
   
-  if (output_string) g_free(output_string);
-  if (name) g_free(name);
-  if (value) g_free(value);
+  g_free(output_string);
+  g_free(name);
+  g_free(value);
 }
 
 
diff --git a/libgeda/src/s_attrib.c b/libgeda/src/s_attrib.c
index 8eca8f4..f0d5430 100644
--- a/libgeda/src/s_attrib.c
+++ b/libgeda/src/s_attrib.c
@@ -116,8 +116,7 @@ void s_attrib_free()
   int i;
 
   for (i = 0; i < attrib_index; i++) {
-     if (attrib[i].attrib_name)
-        g_free(attrib[i].attrib_name);
+     g_free(attrib[i].attrib_name);
   }
 
   attrib_index=0;
diff --git a/libgeda/src/s_basic.c b/libgeda/src/s_basic.c
index 2eab043..b6169f2 100644
--- a/libgeda/src/s_basic.c
+++ b/libgeda/src/s_basic.c
@@ -353,45 +353,35 @@ s_delete_object(TOPLEVEL *toplevel, OBJECT *o_current)
     }
     o_current->line = NULL;
 
-    if (o_current->circle) {
-      /*       printf("sdeleting circle\n");*/
-      g_free(o_current->circle);
-    }
+    /* printf("sdeleting circle\n");*/
+    g_free(o_current->circle);
     o_current->circle = NULL;
 
-    if (o_current->arc) {
-      /*       printf("sdeleting arc\n");*/
-      g_free(o_current->arc);
-    }
+    /* printf("sdeleting arc\n");*/
+    g_free(o_current->arc);
     o_current->arc = NULL;
 
-    if (o_current->box) {
-      /*       printf("sdeleting box\n");*/
-      g_free(o_current->box);
-    }
+    /* printf("sdeleting box\n");*/
+    g_free(o_current->box);
     o_current->box = NULL;
 
     if (o_current->picture) {
       /*       printf("sdeleting picture\n");*/
 
-      if (o_current->picture->file_content)
-        g_free(o_current->picture->file_content);
+      g_free(o_current->picture->file_content);
       if (o_current->picture->original_picture)
        g_object_unref(o_current->picture->original_picture);
       if (o_current->picture->displayed_picture)
        g_object_unref(o_current->picture->displayed_picture);
 
-      if (o_current->picture->filename)
-       g_free(o_current->picture->filename);
+      g_free(o_current->picture->filename);
       g_free(o_current->picture);
     }
     o_current->picture = NULL;
 
     if (o_current->text) {
-      if (o_current->text->string) {
-                               /*printf("sdeleting text->string\n");*/
-        g_free(o_current->text->string); 
-      }
+      /*printf("sdeleting text->string\n");*/
+      g_free(o_current->text->string); 
       o_current->text->string = NULL;
 
       if (o_current->text->prim_objs) {
@@ -406,17 +396,13 @@ s_delete_object(TOPLEVEL *toplevel, OBJECT *o_current)
     }
     o_current->text = NULL;
 
-    if (o_current->name) {
-      /*       printf("sdeleting name\n");*/
-      g_free(o_current->name);
-    }
+    /* printf("sdeleting name\n");*/
+    g_free(o_current->name);
     o_current->name = NULL;
 
 
-    if (o_current->complex_basename) {
-      /*       printf("sdeleting complex_basename\n");*/
-      g_free(o_current->complex_basename); 
-    }
+    /* printf("sdeleting complex_basename\n");*/
+    g_free(o_current->complex_basename); 
     o_current->complex_basename = NULL;
 
     if (o_current->complex) {
diff --git a/libgeda/src/s_color.c b/libgeda/src/s_color.c
index c3028b8..6bf85f6 100644
--- a/libgeda/src/s_color.c
+++ b/libgeda/src/s_color.c
@@ -80,9 +80,7 @@ int s_color_request(int color_index, char *color_name,
 
   /* search for the color name see if it's already been alloced */
 
-  if (colors[color_index].color_name) {
-    g_free(colors[color_index].color_name);    
-  }
+  g_free(colors[color_index].color_name);      
 
   colors[color_index].color_name = g_strdup (color_name);
 
@@ -114,15 +112,9 @@ void s_color_destroy_all(void)
   int i;
 
   for (i = 0; i < MAX_COLORS; i++) {
-    if (colors[i].color_name) {
-      g_free(colors[i].color_name);
-    }
-    if (colors[i].outline_color_name) {
-      g_free(colors[i].outline_color_name);
-    }
-    if (colors[i].ps_color_string) {
-      g_free(colors[i].ps_color_string);
-    }
+    g_free(colors[i].color_name);
+    g_free(colors[i].outline_color_name);
+    g_free(colors[i].ps_color_string);
     colors[i].image_red = -1;
     colors[i].image_green = -1;
     colors[i].image_blue = -1;
diff --git a/libgeda/src/s_hierarchy.c b/libgeda/src/s_hierarchy.c
index 2e207c8..214422c 100644
--- a/libgeda/src/s_hierarchy.c
+++ b/libgeda/src/s_hierarchy.c
@@ -159,8 +159,7 @@ void s_hierarchy_down_schematic_multiple (TOPLEVEL 
*toplevel,
     if (found) {
       toplevel->page_current = found;
       s_page_goto(toplevel, found);
-      if (string) 
-        g_free(string);
+      g_free(string);
       return;
     }
 
@@ -181,8 +180,7 @@ void s_hierarchy_down_schematic_multiple (TOPLEVEL 
*toplevel,
     toplevel->page_current->up = parent->pid;
     /* toplevel->page_current->down = NULL; not needed */
 
-    if (string) 
-      g_free(string);
+    g_free(string);
 
     string = s_slib_search(filename, SLIB_SEARCH_NEXT);
   }
diff --git a/libgeda/src/s_papersizes.c b/libgeda/src/s_papersizes.c
index d2369f7..2291448 100644
--- a/libgeda/src/s_papersizes.c
+++ b/libgeda/src/s_papersizes.c
@@ -121,8 +121,7 @@ void s_papersizes_free()
   int i;
 
   for (i = 0; i < papersizes_index; i++) {
-    if (papersizes[i].papersize_name)
-      g_free(papersizes[i].papersize_name);
+    g_free(papersizes[i].papersize_name);
   }
 
   papersizes_index=0;
diff --git a/libgeda/src/s_slib.c b/libgeda/src/s_slib.c
index ac5ea74..c5b1d5d 100644
--- a/libgeda/src/s_slib.c
+++ b/libgeda/src/s_slib.c
@@ -367,8 +367,7 @@ char *s_slib_search(const char *filename, int flag)
       break;
   }
 
-  if (processed_name)
-    g_free(processed_name);
+  g_free(processed_name);
 
   /* don't forget to g_free this string */
   return(string);
@@ -408,8 +407,7 @@ void s_slib_free()
   int i;
 
   for (i = 0; i < slib_index; i++) {
-    if (slib[i].dir_name)
-      g_free(slib[i].dir_name);
+    g_free(slib[i].dir_name);
   }
 
   slib_index=0;
@@ -487,8 +485,7 @@ char *s_slib_getfiles(char *directory, int flag)
       ptr = NULL;
 
       for (j = 0 ; j < count ;j++) {
-        if (whole_dir[j]) 
-          g_free(whole_dir[j]);
+        g_free(whole_dir[j]);
       }
       count = current = 0 ;
 
@@ -505,8 +502,7 @@ char *s_slib_getfiles(char *directory, int flag)
       ptr = NULL;
 
       for (j = 0 ; j < count ;j++) {
-        if (whole_dir[j]) 
-          g_free(whole_dir[j]);
+        g_free(whole_dir[j]);
       }
       count = current = 0 ;
 
diff --git a/libgeda/src/s_undo.c b/libgeda/src/s_undo.c
index 791bcb8..5fce02d 100644
--- a/libgeda/src/s_undo.c
+++ b/libgeda/src/s_undo.c
@@ -198,7 +198,7 @@ void s_undo_destroy_all(TOPLEVEL *toplevel, UNDO *head)
 
   while (u_current != NULL) {
     u_prev = u_current->prev;  
-    if (u_current->filename) g_free(u_current->filename);
+    g_free(u_current->filename);
                
     if (u_current->object_head) {
       s_delete_list_fromstart(toplevel,
@@ -239,9 +239,7 @@ void s_undo_remove(TOPLEVEL *toplevel, UNDO *head, UNDO 
*u_tos)
       else
         u_current->prev = NULL;
 
-      if (u_current->filename) {
-        g_free(u_current->filename);   
-      }
+      g_free(u_current->filename);     
 
       if (u_current->object_head) {
         s_delete_list_fromstart(toplevel,
-- 
1.5.6




_______________________________________________
geda-dev mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev

Reply via email to