/***********************************************************************1* *2* This software is part of the ast package *3* Copyright (c) 1985-2011 AT&T Intellectual Property *4* and is licensed under the *5* Eclipse Public License, Version 1.0 *6* by AT&T Intellectual Property *7* *8* A copy of the License is available at *9* http://www.eclipse.org/org/documents/epl-v10.html *10* (with md5 checksum b35adb5213ca9657e911e9befb180842) *11* *12* Information and Software Systems Research *13* AT&T Research *14* Florham Park NJ *15* *16* Glenn Fowler <[email protected]> *17* David Korn <[email protected]> *18* Phong Vo <[email protected]> *19* *20***********************************************************************/21#include "dthdr.h"2223/* Walk a dictionary and all dictionaries viewed through it.24** userf: user function25**26** Written by Kiem-Phong Vo (5/25/96)27*/2829#if __STD_C30int dtwalk(Dt_t* dt, int (*userf)(Dt_t*, Void_t*, Void_t*), Void_t* data)31#else32int dtwalk(dt,userf,data)33Dt_t* dt;34int(* userf)();35Void_t* data;36#endif37{38Void_t *obj, *next;39Dt_t *walk;40int rv;4142for(obj = dtfirst(dt); obj; )43{ if(!(walk = dt->walk) )44walk = dt;45next = dtnext(dt,obj);46if((rv = (*userf)(walk, obj, data )) < 0)47return rv;48obj = next;49}5051return 0;52}535455