~ubuntu-branches/ubuntu/lucid/graphviz/lucid-security

« back to all changes in this revision

Viewing changes to cdt/dtwalk.c

  • Committer: Bazaar Package Importer
  • Author(s): Stephen M Moraco
  • Date: 2002-02-05 18:52:12 UTC
  • Revision ID: james.westby@ubuntu.com-20020205185212-8i04c70te00rc40y
Tags: upstream-1.7.16
ImportĀ upstreamĀ versionĀ 1.7.16

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
    This software may only be used by you under license from AT&T Corp.
 
3
    ("AT&T").  A copy of AT&T's Source Code Agreement is available at
 
4
    AT&T's Internet website having the URL:
 
5
    <http://www.research.att.com/sw/tools/graphviz/license/source.html>
 
6
    If you received this software without first entering into a license
 
7
    with AT&T, you have an infringing copy of this software and cannot use
 
8
    it without violating AT&T's intellectual property rights.
 
9
*/
 
10
#include        "dthdr.h"
 
11
 
 
12
#ifdef DMALLOC
 
13
#include "dmalloc.h"
 
14
#endif
 
15
 
 
16
/*      Walk a dictionary and all dictionaries viewed through it.
 
17
**      userf:  user function
 
18
**
 
19
**      Written by Kiem-Phong Vo (5/25/96)
 
20
*/
 
21
 
 
22
#if __STD_C
 
23
int dtwalk(reg Dt_t* dt, int (*userf)(Dt_t*, Void_t*, Void_t*), Void_t* data)
 
24
#else
 
25
int dtwalk(dt,userf,data)
 
26
reg Dt_t*       dt;
 
27
int(*           userf)();
 
28
Void_t*         data;
 
29
#endif
 
30
{
 
31
        reg Void_t      *obj, *next;
 
32
        reg Dt_t*       walk;
 
33
        reg int         rv;
 
34
 
 
35
        for(obj = dtfirst(dt); obj; )
 
36
        {       if(!(walk = dt->walk) )
 
37
                        walk = dt;
 
38
                next = dtnext(dt,obj);
 
39
                if((rv = (*userf)(walk, obj, data )) < 0)
 
40
                        return rv;
 
41
                obj = next;
 
42
        }
 
43
        return 0;
 
44
}