@@ -297,6 +297,10 @@ static void acmp_add_btree_leaves(acmp_btree_node_t *node, acmp_node_t *nodes[],
297
297
if ((pos - lb) > 1 ) {
298
298
left = lb + (pos - lb) / 2 ;
299
299
node->left = reinterpret_cast <acmp_btree_node_t *>(calloc (1 , sizeof (acmp_btree_node_t )));
300
+ node->left ->node = NULL ;
301
+ node->left ->right = NULL ;
302
+ node->left ->left = NULL ;
303
+ node->left ->letter = 0 ;
300
304
/* ENH: Check alloc succeded */
301
305
node->left ->node = nodes[left];
302
306
node->left ->letter = nodes[left]->letter ;
@@ -307,6 +311,10 @@ static void acmp_add_btree_leaves(acmp_btree_node_t *node, acmp_node_t *nodes[],
307
311
if ((rb - pos) > 1 ) {
308
312
right = pos + (rb - pos) / 2 ;
309
313
node->right = reinterpret_cast <acmp_btree_node_t *>(calloc (1 , sizeof (acmp_btree_node_t )));
314
+ node->right ->node = NULL ;
315
+ node->right ->right = NULL ;
316
+ node->right ->left = NULL ;
317
+ node->right ->letter = 0 ;
310
318
/* ENH: Check alloc succeded */
311
319
node->right ->node = nodes[right];
312
320
node->right ->letter = nodes[right]->letter ;
@@ -355,8 +363,12 @@ static void acmp_build_binary_tree(ACMP *parser, acmp_node_t *node) {
355
363
nodes[i] = nodes[j];
356
364
nodes[j] = tmp;
357
365
}
358
- if (node->btree ) { free (node->btree ); node->btree = NULL ; }
366
+ if (node->btree != NULL ) {
367
+ free (node->btree );
368
+ node->btree = NULL ;
369
+ }
359
370
node->btree = reinterpret_cast <acmp_btree_node_t *>(calloc (1 , sizeof (acmp_btree_node_t )));
371
+
360
372
/* ENH: Check alloc succeded */
361
373
pos = count / 2 ;
362
374
node->btree ->node = nodes[pos];
@@ -365,7 +377,9 @@ static void acmp_build_binary_tree(ACMP *parser, acmp_node_t *node) {
365
377
for (i = 0 ; i < count; i++) {
366
378
if (nodes[i]->child != NULL ) acmp_build_binary_tree (parser, nodes[i]);
367
379
}
368
- free (nodes);
380
+ if (nodes != NULL ) {
381
+ free (nodes);
382
+ }
369
383
}
370
384
371
385
/* *
@@ -532,9 +546,11 @@ int acmp_process_quick(ACMPT *acmpt, const char **match, const char *data, size_
532
546
const char *end;
533
547
int offset = 0 ;
534
548
549
+ /*
535
550
if (acmpt->parser->is_failtree_done == 0) {
536
551
acmp_prepare(acmpt->parser);
537
552
};
553
+ */
538
554
539
555
parser = acmpt->parser ;
540
556
if (acmpt->ptr == NULL ) acmpt->ptr = parser->root_node ;
0 commit comments