ses_group_t* g;
ses_node_t* node;
ses_edge_t* edge;
+ int i;
+ int j;
if (nodes->size <= 0)
return 0;
assert(0 == scf_vector_del(nodes, node));
- int i;
- int j;
for (i = 0; i < g->nodes->size; i++) {
node = g->nodes->data[i];
}
assert(0 == nodes->size);
- assert(0 == edges->size);
+
+ for (i = 0; i < edges->size; i++) {
+ edge = edges->data[i];
+
+ edge->index = i;
+ }
+
return 0;
}
if (ret < 0)
goto error;
- if (0 == nodes->size) {
- ses_edges_print(edges);
-
- ret = __ses_nodes_solve(f, nodes, edges, changed, ps, count);
- goto error;
- }
-
ret = __ses_nodes_split(groups, nodes, edges);
if (ret < 0)
goto error;
goto error;
}
+ if (edges->size > 0) {
+ ses_edges_print(edges);
+
+ ret = __ses_nodes_solve(f, nodes, edges, changed, ps, count);
+ goto error;
+ }
+
error:
scf_vector_clear(nodes, (void (*)(void*) )ses_node_free);
scf_vector_clear(edges, (void (*)(void*) )ses_edge_free);