2 * Copyright (c) 1995-1998, Index Data.
3 * See the file LICENSE for details.
4 * Sebastian Hammer, Adam Dickmeiss
6 * $Log: d1_prtree.c,v $
7 * Revision 1.4 1998-05-18 13:07:06 adam
8 * Changed the way attribute sets are handled by the retriaval module.
9 * Extended Explain conversion / schema.
10 * Modified server and client to work with ASN.1 compiled protocol handlers.
12 * Revision 1.3 1998/02/27 14:05:34 adam
13 * Added printing of integer nodes.
15 * Revision 1.2 1997/11/06 11:36:44 adam
16 * Implemented variant match on simple elements -data1 tree and Espec-1.
18 * Revision 1.1 1997/10/27 14:04:07 adam
19 * New debug utility, data1_pr_tree, that dumps a data1 tree.
26 static void pr_tree (data1_handle dh, data1_node *n, FILE *out, int level)
28 fprintf (out, "%*s", level, "");
32 fprintf (out, "root abstract syntax=%s\n", n->u.root.type);
35 fprintf (out, "tag type=%s\n", n->u.tag.tag);
38 fprintf (out, "data type=");
39 switch (n->u.data.what)
42 fprintf (out, "inctxt\n");
45 fprintf (out, "incbin\n");
48 fprintf (out, "text '%.*s'\n", n->u.data.len, n->u.data.data);
51 fprintf (out, "num %.*s\n", n->u.data.len, n->u.data.data);
54 fprintf (out, "oid %.*s\n", n->u.data.len, n->u.data.data);
57 fprintf (out, "unknown(%d)\n", n->u.data.what);
62 fprintf (out, "variant\n");
64 if (n->u.variant.type->name)
65 fprintf (out, " class=%s type=%d value=%s\n",
66 n->u.variant.type->name, n->u.variant.type->type,
71 fprintf (out, "unknown(%d)\n", n->which);
74 pr_tree (dh, n->child, out, level+4);
76 pr_tree (dh, n->next, out, level);
80 void data1_pr_tree (data1_handle dh, data1_node *n, FILE *out)
82 pr_tree (dh, n, out, 0);