]> granicus.if.org Git - graphviz/commitdiff
remove guards on calls to 'free'
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 6 Nov 2021 00:09:15 +0000 (17:09 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Wed, 10 Nov 2021 14:46:50 +0000 (06:46 -0800)
It is a no-op to call `free(NULL)`, so we can rephrase this code into something
more concise and simple.

lib/edgepaint/edge_distinct_coloring.c
lib/expr/exparse.y
lib/neatogen/overlap.c
lib/sfdpgen/Multilevel.c
lib/sfdpgen/post_process.c
lib/sfdpgen/sfdpinit.c
lib/sfdpgen/spring_electrical.c
lib/sparse/DotIO.c
lib/sparse/LinkedList.c
lib/sparse/QuadTree.c
lib/sparse/SparseMatrix.c

index 48fa75777d0d8f4ad5d09f23d60e084aa12f84de..c7fd27c5a89dd482b4b8907b26dc962c75c27a3e 100644 (file)
@@ -258,7 +258,7 @@ Agraph_t* edge_distinct_coloring(char *color_scheme, char *lightness, Agraph_t*
   FREE(x);
   if (xsplines){
     for (i = 0; i < ne; i++){
-      if (xsplines[i]) FREE(xsplines[i]);
+      FREE(xsplines[i]);
     }
     FREE(xsplines);
   }
index f49ffd2bade5d50ab825f7c049e0d892bac528e3..796376d1e328c76f9e3ef1dd7c4675448ba41c32 100644 (file)
@@ -368,8 +368,7 @@ statement   :       '{' statement_list '}'
 
                        $$ = exnewnode(expr.program, $1->index, 1, INTEGER, $3, exnewnode(expr.program, DEFAULT, 1, 0, sw->defcase, sw->firstcase));
                        expr.swstate = expr.swstate->prev;
-                       if (sw->base)
-                               free(sw->base);
+                       free(sw->base);
                        if (sw != &swstate)
                                free(sw);
                        expr.declare = 0;
index 8828c18899e91b36238bdaef9a357394bae04888..1a54f759e68dd3d436599dcdf14ec417d218b525 100644 (file)
@@ -261,9 +261,9 @@ static void relative_position_constraints_delete(void *d){
   relative_position_constraints data;
   if (!d) return;
   data = (relative_position_constraints) d;
-  if (data->irn) FREE(data->irn);
-  if (data->jcn) FREE(data->jcn);
-  if (data->val) FREE(data->val);
+  FREE(data->irn);
+  FREE(data->jcn);
+  FREE(data->val);
   /* other stuff inside relative_position_constraints is assed back to the user hence no need to deallocator*/
   FREE(d);
 }
index f510935920053bde12ee5ee076fda3a6755f0276..f6432268f1c662cc00ad5ec3de8484af322a2b3a 100644 (file)
@@ -1074,15 +1074,15 @@ static void Multilevel_coarsen_internal(SparseMatrix A, SparseMatrix *cA, Sparse
     goto RETURN;
   }
  RETURN:
-  if (matching) FREE(matching);
-  if (vset) FREE(vset);
-  if (irn) FREE(irn);
-  if (jcn) FREE(jcn);
-  if (val) FREE(val);
+  FREE(matching);
+  FREE(vset);
+  FREE(irn);
+  FREE(jcn);
+  FREE(val);
   if (B) SparseMatrix_delete(B);
 
-  if(cluster) FREE(cluster);
-  if(clusterp) FREE(clusterp);
+  FREE(cluster);
+  FREE(clusterp);
 }
 
 void Multilevel_coarsen(SparseMatrix A, SparseMatrix *cA, SparseMatrix D, SparseMatrix *cD, real *node_wgt, real **cnode_wgt,
index b00d73c5cdd8c60c0f098bec4dcc2418265a7693..66e30550dbfca0946c22116c34b1f575eea8f33f 100644 (file)
@@ -748,7 +748,7 @@ void StressMajorizationSmoother_delete(StressMajorizationSmoother sm){
   if (!sm) return;
   if (sm->Lw) SparseMatrix_delete(sm->Lw);
   if (sm->Lwd) SparseMatrix_delete(sm->Lwd);
-  if (sm->lambda) FREE(sm->lambda);
+  FREE(sm->lambda);
   if (sm->data) sm->data_deallocator(sm->data);
   FREE(sm);
 }
index d2e061a6290b9a8eb93ade403b5f434a851ec1ec..e4b6046c1718bcf4496b8eec4644c2d243f80ee9 100644 (file)
@@ -151,7 +151,7 @@ static void sfdpLayout(graph_t * g, spring_electrical_control ctrl,
     free(pos);
     SparseMatrix_delete (A);
     if (D) SparseMatrix_delete (D);
-    if (edge_label_nodes) FREE(edge_label_nodes);
+    FREE(edge_label_nodes);
 }
 
 static int
index 200034109d1102f84bf6e31cce4737bb07114eb7..7806b879d43fa0402977648d699232a9408061ae 100644 (file)
@@ -902,14 +902,13 @@ static void spring_electrical_embedding_slow(int dim, SparseMatrix A0, spring_el
     oned_optimizer_delete(qtree_level_optimizer);
     ctrl->max_qtree_level = max_qtree_level;
   }
-  if (xold) FREE(xold);
+  FREE(xold);
   if (A != A0) SparseMatrix_delete(A);
-  if (f) FREE(f);
-  if (center) FREE(center);
-  if (supernode_wgts) FREE(supernode_wgts);
-  if (distances) FREE(distances);
+  FREE(f);
+  FREE(center);
+  FREE(supernode_wgts);
+  FREE(distances);
   FREE(force);
-
 }
 
 
@@ -1150,13 +1149,12 @@ void spring_electrical_embedding(int dim, SparseMatrix A0, spring_electrical_con
     oned_optimizer_delete(qtree_level_optimizer);
     ctrl->max_qtree_level = max_qtree_level;
   }
-  if (xold) FREE(xold);
+  FREE(xold);
   if (A != A0) SparseMatrix_delete(A);
-  if (f) FREE(f);
-  if (center) FREE(center);
-  if (supernode_wgts) FREE(supernode_wgts);
-  if (distances) FREE(distances);
-
+  FREE(f);
+  FREE(center);
+  FREE(supernode_wgts);
+  FREE(distances);
 }
 
 static void scale_coord(int n, int dim, real *x, int *id, int *jd, real *d, real dj){
@@ -1433,13 +1431,12 @@ static void spring_maxent_embedding(int dim, SparseMatrix A0, SparseMatrix D, sp
   if (ctrl->beautify_leaves) beautify_leaves(dim, A, x);
 
  RETURN:
-  if (xold) FREE(xold);
+  FREE(xold);
   if (A != A0) SparseMatrix_delete(A);
-  if (f) FREE(f);
-  if (center) FREE(center);
-  if (supernode_wgts) FREE(supernode_wgts);
-  if (distances) FREE(distances);
-
+  FREE(f);
+  FREE(center);
+  FREE(supernode_wgts);
+  FREE(distances);
 }
 
 
@@ -1631,13 +1628,12 @@ void spring_electrical_spring_embedding(int dim, SparseMatrix A0, SparseMatrix D
   if (ctrl->beautify_leaves) beautify_leaves(dim, A, x);
 
  RETURN:
-  if (xold) FREE(xold);
+  FREE(xold);
   if (A != A0) SparseMatrix_delete(A);
-  if (f) FREE(f);
-  if (center) FREE(center);
-  if (supernode_wgts) FREE(supernode_wgts);
-  if (distances) FREE(distances);
-
+  FREE(f);
+  FREE(center);
+  FREE(supernode_wgts);
+  FREE(distances);
 }
 
 
index bc06d5a5c68bd49d98b0e2a9c5b61e9209299050..717059ff04cf263246cd84a308481087560b0a8c 100644 (file)
@@ -260,7 +260,7 @@ done:
     FREE(J);
     FREE(val);
   }
-  if (valD) FREE(valD);
+  FREE(valD);
 
   return A;
 }
index e542b900c071193dcc833e9e4ddce603870dd0d9..34808c45b7e18cd314a0b379a75a9d6c8d07cc87 100644 (file)
@@ -37,7 +37,7 @@ void SingleLinkedList_delete(SingleLinkedList head,  void (*linklist_deallocator
   do {
     next = head->next;
     if (head->data) linklist_deallocator(head->data);
-    if (head) FREE(head);
+    FREE(head);
     head = next;
   } while (head);
 
@@ -91,7 +91,7 @@ void DoubleLinkedList_delete(DoubleLinkedList head,  void (*linklist_deallocator
   do {
     next = head->next;
     if (head->data) linklist_deallocator(head->data);
-    if (head) FREE(head);
+    FREE(head);
     head = next;
   } while (head);
 
index b99974e6fa93c3c57496cc8310bac515fae5b02f..b10e9ff4bb7f5a259cb753eb2822f8f144ee9c34 100644 (file)
@@ -421,7 +421,7 @@ void QuadTree_delete(QuadTree q){
   dim = q->dim;
   FREE(q->center);
   FREE(q->average);
-  if (q->data) FREE(q->data);
+  FREE(q->data);
   if (q->qts){
     for (i = 0; i < 1<<dim; i++){
       QuadTree_delete(q->qts[i]);
index 9b72848e9ceb04ff935a4cfded99a32a89a2dd36..db181d3c8abf52673d1bbaa84bb958376f392b6f 100644 (file)
@@ -407,9 +407,9 @@ void SparseMatrix_delete(SparseMatrix A){
   /* return a sparse matrix skeleton with row dimension m and storage nz. If nz == 0, 
      only row pointers are allocated */
   if (!A) return;
-  if (A->ia) FREE(A->ia);
-  if (A->ja) FREE(A->ja);
-  if (A->a) FREE(A->a);
+  FREE(A->ia);
+  FREE(A->ja);
+  FREE(A->a);
   FREE(A);
 }
 static void SparseMatrix_print_csr(char *c, SparseMatrix A){
@@ -994,7 +994,7 @@ SparseMatrix SparseMatrix_add(SparseMatrix A, SparseMatrix B){
   C->nz = nz;
 
  RETURN:
-  if (mask) FREE(mask);
+  FREE(mask);
 
   return C;
 }
@@ -2003,7 +2003,7 @@ void SparseMatrix_weakly_connected_components(SparseMatrix A0, int *ncomp, int *
     
   }
   if (A != A0) SparseMatrix_delete(A);
-  if (levelset_ptr) FREE(levelset_ptr);
+  FREE(levelset_ptr);
 
   FREE(mask);
 }
@@ -2289,11 +2289,10 @@ SparseMatrix SparseMatrix_get_augmented(SparseMatrix A){
   B = SparseMatrix_from_coordinate_arrays(nz, m + n, m + n, irn, jcn, val, type, A->size);
   SparseMatrix_set_symmetric(B);
   SparseMatrix_set_pattern_symmetric(B);
-  if (irn) FREE(irn);
-  if (jcn) FREE(jcn);
-  if (val) FREE(val);
+  FREE(irn);
+  FREE(jcn);
+  FREE(val);
   return B;
-
 }
 
 SparseMatrix SparseMatrix_to_square_matrix(SparseMatrix A, int bipartite_options){
@@ -2477,7 +2476,7 @@ SparseMatrix SparseMatrix_set_entries_to_real_one(SparseMatrix A){
   real *a;
   int i;
 
-  if (A->a) FREE(A->a);
+  FREE(A->a);
   A->a = MALLOC(sizeof(real)*((size_t)A->nz));
   a = (real*) (A->a);
   for (i = 0; i < A->nz; i++) a[i] = 1.;
@@ -2555,14 +2554,13 @@ int SparseMatrix_distance_matrix(SparseMatrix D0, int weighted, real **dist0){
     }
   }
 
-  if (levelset_ptr) FREE(levelset_ptr);
-  if (levelset) FREE(levelset);
-  if (mask) FREE(mask);
+  FREE(levelset_ptr);
+  FREE(levelset);
+  FREE(mask);
   
   if (D != D0) SparseMatrix_delete(D);
-  if (list) FREE(list);
+  FREE(list);
   return flag;
-
 }
 
 SparseMatrix SparseMatrix_distance_matrix_khops(int khops, SparseMatrix D0, int weighted){
@@ -2640,13 +2638,13 @@ SparseMatrix SparseMatrix_distance_matrix_khops(int khops, SparseMatrix D0, int
   C = SparseMatrix_from_coordinate_format(B);
   SparseMatrix_delete(B);
 
-  if (levelset_ptr) FREE(levelset_ptr);
-  if (levelset) FREE(levelset);
-  if (mask) FREE(mask);
-  if (dist) FREE(dist);
+  FREE(levelset_ptr);
+  FREE(levelset);
+  FREE(mask);
+  FREE(dist);
 
   if (D != D0) SparseMatrix_delete(D);
-  if (list) FREE(list);
+  FREE(list);
   /* I can not find a reliable way to make the matrix symmetric. Right now I use a mask array to
      limit consider of only nodes with in k hops, but even this is not symmetric. e.g.,
      . 10  10    10  10