projects
/
yaz-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added destroy element to data1_node.
[yaz-moved-to-github.git]
/
retrieval
/
d1_read.c
diff --git
a/retrieval/d1_read.c
b/retrieval/d1_read.c
index
910fa0e
..
e164202
100644
(file)
--- a/
retrieval/d1_read.c
+++ b/
retrieval/d1_read.c
@@
-4,7
+4,14
@@
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: d1_read.c,v $
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: d1_read.c,v $
- * Revision 1.4 1995-11-13 09:27:36 quinn
+ * Revision 1.6 1995-12-12 16:37:08 quinn
+ * Added destroy element to data1_node.
+ *
+ * Revision 1.5 1995/12/11 15:22:37 quinn
+ * Added last_child field to the node.
+ * Rewrote schema-mapping.
+ *
+ * Revision 1.4 1995/11/13 09:27:36 quinn
* Fiddling with the variant stuff.
*
* Revision 1.3 1995/11/01 16:34:57 quinn
* Fiddling with the variant stuff.
*
* Revision 1.3 1995/11/01 16:34:57 quinn
@@
-97,8
+104,9
@@
data1_node *data1_mk_node(void)
else
if (!(r = xmalloc(sizeof(*r))))
abort();
else
if (!(r = xmalloc(sizeof(*r))))
abort();
- r->next = r->child = r->parent = 0;
+ r->next = r->child = r->last_child = r->parent = 0;
r->num_children = 0;
r->num_children = 0;
+ r->destroy = 0;
return r;
}
return r;
}
@@
-118,6
+126,8
@@
void data1_free_tree(data1_node *t)
data1_free_tree(p);
p = pn;
}
data1_free_tree(p);
p = pn;
}
+ if (t->destroy)
+ (*t->destroy)(t);
fr_node(t);
}
fr_node(t);
}
@@
-343,6
+353,7
@@
data1_node *data1_read_node(char **buf, data1_node *parent, int *line,
*/
while ((*pp = data1_read_node(buf, res, line, absyn)))
{
*/
while ((*pp = data1_read_node(buf, res, line, absyn)))
{
+ res->last_child = *pp;
res->num_children++;
pp = &(*pp)->next;
}
res->num_children++;
pp = &(*pp)->next;
}