]> granicus.if.org Git - graphviz/commitdiff
Agglomerative_Ink_Bundling_new: remove 'pick' manual memory management
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 15 Jan 2022 21:34:22 +0000 (13:34 -0800)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sun, 16 Jan 2022 18:51:42 +0000 (10:51 -0800)
lib/mingle/agglomerative_bundling.cpp

index 93c8b6c91f542552834706cc26e7cb1ea44ab592..eaf36c0c18995c37331e3ea3c39a6fe9f8ffd0ad 100644 (file)
@@ -287,7 +287,6 @@ static Agglomerative_Ink_Bundling Agglomerative_Ink_Bundling_establish(Agglomera
 static Agglomerative_Ink_Bundling Agglomerative_Ink_Bundling_new(SparseMatrix A0, pedge *edges, double angle_param, double angle){
   /* give a link of edges and their nearest neighbor graph, return a multilevel of edge bundling based on ink saving */
   Agglomerative_Ink_Bundling grid;
-  int *pick;
   SparseMatrix A = A0;
 
   if (!SparseMatrix_is_symmetric(A, FALSE) || A->type != MATRIX_TYPE_REAL){
@@ -295,10 +294,10 @@ static Agglomerative_Ink_Bundling Agglomerative_Ink_Bundling_new(SparseMatrix A0
   }
   grid = Agglomerative_Ink_Bundling_init(A, edges, 0);
 
-  pick = (int*)MALLOC(sizeof(int)*A0->m);
+  std::vector<int> pick(A0->m);
   
-  grid = Agglomerative_Ink_Bundling_establish(grid, pick, angle_param, angle);
-  free(pick);
+  grid = Agglomerative_Ink_Bundling_establish(grid, pick.data(), angle_param,
+                                              angle);
 
   if (A != A0) grid->delete_top_level_A = TRUE;/* be sure to clean up later */