1#include "dthdr.h"
2
3/* Walk a dictionary and all dictionaries viewed through it.
4** userf: user function
5**
6** Written by Kiem-Phong Vo (5/25/96)
7*/
8
9int dtwalk(reg Dt_t* dt, int (*userf)(Dt_t*, void*, void*), void* data)
10{
11 reg void *obj, *next;
12 reg Dt_t* walk;
13 reg int rv;
14
15 for(obj = dtfirst(dt); obj; )
16 { if(!(walk = dt->walk) )
17 walk = dt;
18 next = dtnext(dt,obj);
19 if((rv = (*userf)(walk, obj, data )) < 0)
20 return rv;
21 obj = next;
22 }
23 return 0;
24}
25