summaryrefslogtreecommitdiff
path: root/src/analysis/block.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2019-03-04 20:52:50 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2019-03-04 20:52:50 (GMT)
commit27c21356d494824850005932f3dee5f38d7a8e82 (patch)
tree6d7381f9cde78d28b4664f73ef03d0adb5b7b288 /src/analysis/block.c
parent72bebbd9dc7d59f69e23442b6c5b5526feb2a1a9 (diff)
Provided access to the graph layout from Python.
Diffstat (limited to 'src/analysis/block.c')
-rw-r--r--src/analysis/block.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/analysis/block.c b/src/analysis/block.c
index 85c8017..8dd76cf 100644
--- a/src/analysis/block.c
+++ b/src/analysis/block.c
@@ -636,7 +636,10 @@ GBlockList *g_block_list_new(size_t count)
result = g_object_new(G_TYPE_BLOCK_LIST, NULL);
- result->blocks = calloc(count, sizeof(GCodeBlock *));
+ if (count == 0)
+ result->blocks = NULL;
+ else
+ result->blocks = calloc(count, sizeof(GCodeBlock *));
result->count = count;
@@ -696,12 +699,12 @@ void g_block_list_add_block(GBlockList *list, GCodeBlock *block, size_t index)
}
-
/******************************************************************************
* *
-* Paramètres : list = ensemble des blocs de code à traiter. *
+* Paramètres : list = liste de blocs de code à compléter. *
+* block = bloc de code à intégrer. *
* *
-* Description : Etablit les liens entre les blocs de code et leurs voisins. *
+* Description : Ajoute un bloc de code à une liste en construction. *
* *
* Retour : - *
* *
@@ -709,8 +712,13 @@ void g_block_list_add_block(GBlockList *list, GCodeBlock *block, size_t index)
* *
******************************************************************************/
-void g_block_list_resolve_links(const GBlockList *list)
+void g_block_list_append_block(GBlockList *list, GCodeBlock *block)
{
+ list->blocks = realloc(list->blocks, ++list->count * sizeof(GCodeBlock *));
+
+ list->blocks[list->count - 1] = block;
+
+ g_code_block_set_index(block, list->count - 1);
}