GRASS GIS 8 Programmer's Manual  8.4.0dev(2024)-bb27c0570b
create.c
Go to the documentation of this file.
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <grass/btree.h>
4 
5 int btree_create(BTREE *B, int (*cmp)(const void *, const void *), int incr)
6 {
7  if (incr <= 0)
8  incr = 1;
9 
10  B->N = 0;
11  B->cur = 0;
12  B->tlen = B->incr = incr;
13 
14  /* must have at least 2 nodes, since node[0] is never used */
15  if (B->tlen == 1)
16  B->tlen = 2;
17 
18  B->cmp = cmp;
19  B->node = (BTREE_NODE *)malloc(B->tlen * sizeof(BTREE_NODE));
20  if (B->node == NULL)
21  return 0;
22  return 1;
23 }
#define NULL
Definition: ccmath.h:32
int btree_create(BTREE *B, int(*cmp)(const void *, const void *), int incr)
Definition: create.c:5
void * malloc(YYSIZE_T)
Definition: btree.h:11
int N
Definition: btree.h:14
int(* cmp)(const void *, const void *)
Definition: btree.h:17
int cur
Definition: btree.h:16
int incr
Definition: btree.h:15
BTREE_NODE * node
Definition: btree.h:12
int tlen
Definition: btree.h:13