GCC Code Coverage Report


Directory: src/
File: src/common/type.c
Date: 2023-03-02 23:19:03
Exec Total Coverage
Lines: 15 15 100.0%
Functions: 3 3 100.0%
Branches: 2 12 16.7%

Line Branch Exec Source
1 #include <core.h>
2 #include <comparator.h>
3
4
5 /**
6 * Free allocated GTree & unref comparator for GC access
7 */
8 void
9 163 freeNativeBTree(napi_env env, void *finalize_data, void *finalize_hint) {
10 163 BTree_t *bTree = (BTree_t *) finalize_data;
11
12 // Unref comparator function for GC access
13
1/6
✓ Branch 0 taken 163 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
163 NAPI_CALL(env, false,
14 napi_delete_reference(env, bTree->comparator));
15 // Destroy native bTree & release memory
16 163 g_tree_destroy(bTree->nativeTree);
17
18 // Release BTree_t struct memory
19 163 g_free((gpointer) bTree);
20 163 }
21
22 static void
23 1495 freeTreeValue(gpointer treeValue) {
24
1/6
✓ Branch 0 taken 1495 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
1495 FREE_NODE(treeValue);
25 1495 }
26
27 BTree_t*
28 163 btreeAlloc(napi_env env)
29 {
30 // Allocate memory for usre data wich recived in native comparator
31 163 BTree_t *bTree = g_new(BTree_t, 1);
32
33 // Initialize native BTree with native comparator & additional user data
34 // Key & Value is same pointer (ES object). Need free one of key or value.
35 163 GTree *nativeTree = g_tree_new_full(nativeComparator, bTree, NULL, freeTreeValue);
36
37 // Fill user data
38 163 bTree->nativeTree = nativeTree;
39 163 bTree->env = env;
40
41 163 return bTree;
42 }
43