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

« back to all changes in this revision

Viewing changes to cdt/dtextract.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
/*      Extract objects of a dictionary.
 
17
**
 
18
**      Written by Kiem-Phong Vo (5/25/96).
 
19
*/
 
20
 
 
21
#if __STD_C
 
22
Dtlink_t* dtextract(reg Dt_t* dt)
 
23
#else
 
24
Dtlink_t* dtextract(dt)
 
25
reg Dt_t*       dt;
 
26
#endif
 
27
{
 
28
        reg Dtlink_t    *list, **s, **ends;
 
29
 
 
30
        if(dt->data->type&(DT_OSET|DT_OBAG) )
 
31
                list = dt->data->here;
 
32
        else if(dt->data->type&(DT_SET|DT_BAG))
 
33
        {       list = dtflatten(dt);
 
34
                for(ends = (s = dt->data->htab) + dt->data->ntab; s < ends; ++s)
 
35
                        *s = NIL(Dtlink_t*);
 
36
        }
 
37
        else /*if(dt->data->type&(DT_LIST|DT_STACK|DT_QUEUE))*/
 
38
        {       list = dt->data->head;
 
39
                dt->data->head = NIL(Dtlink_t*);
 
40
        }
 
41
 
 
42
        dt->data->type &= ~DT_FLATTEN;
 
43
        dt->data->size = 0;
 
44
        dt->data->here = NIL(Dtlink_t*);
 
45
 
 
46
        return list;
 
47
}