GRASS Programmer's Manual
6.5.svn(2014)-r66266
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
btree/next.c
Go to the documentation of this file.
1
#include <grass/btree.h>
2
3
int
btree_next
(BTREE * B,
void
**key,
void
**
data
)
4
{
5
int
q
;
6
7
if
(B->N <= 0)
8
return
0;
9
10
/* if rewound, start at root and go all the way to the left */
11
if
(B->cur == 0)
12
B->cur = 1;
13
14
/* go to the right */
15
else
16
B->cur = B->node[B->cur].right;
17
18
if
(B->cur == 0)
/* no more */
19
return
0;
20
21
if
(B->cur < 0)
/* thread. stop here */
22
B->cur = -(B->cur);
23
else
/* go all the way left */
24
while
((q = B->node[B->cur].left))
25
B->cur = q;
26
27
*key = B->node[B->cur].key;
28
*data = B->node[B->cur].data;
29
30
return
1;
31
}
forms.q
tuple q
Definition:
forms.py:2019
menudata.data
tuple data
Definition:
core/menudata.py:219
btree_next
int btree_next(BTREE *B, void **key, void **data)
Definition:
btree/next.c:3
lib
btree
next.c
Generated on Sat Jan 2 2016 01:46:49 for GRASS Programmer's Manual by
1.8.5