* Sebastian Hammer, Adam Dickmeiss
*
* $Log: d1_grs.c,v $
- * Revision 1.8 1996-12-05 13:17:49 quinn
+ * Revision 1.10 1997-09-17 12:10:36 adam
+ * YAZ version 1.4.
+ *
+ * Revision 1.9 1997/05/14 06:54:03 adam
+ * C++ support.
+ *
+ * Revision 1.8 1996/12/05 13:17:49 quinn
* Fixed GRS-1 null-ref
*
* Revision 1.7 1996/10/11 11:57:23 quinn
#define D1_VARIANTARRAY 20 /* fixed max length on sup'd variant-list. Lazy me */
-Z_GenericRecord *data1_nodetogr(data1_node *n, int select, ODR o, int *len);
-
static Z_ElementMetaData *get_ElementMetaData(ODR o)
{
Z_ElementMetaData *r = odr_malloc(o, sizeof(*r));
assert(p->which == DATA1N_variant);
t = v->triples[num] = odr_malloc(o, sizeof(*t));
t->variantSetId = 0;
- t->class = odr_malloc(o, sizeof(int));
- *t->class = p->u.variant.type->class->class;
+ t->zclass = odr_malloc(o, sizeof(int));
+ *t->zclass = p->u.variant.type->zclass->zclass;
t->type = odr_malloc(o, sizeof(int));
*t->type = p->u.variant.type->type;
return 0;
}
-static Z_ElementData *nodetoelementdata(data1_node *n, int select, int leaf,
- ODR o, int *len)
+static Z_ElementData *nodetoelementdata(data1_handle dh, data1_node *n,
+ int select, int leaf,
+ ODR o, int *len)
{
Z_ElementData *res = odr_malloc(o, sizeof(*res));
else
{
res->which = Z_ElementData_subtree;
- if (!(res->u.subtree = data1_nodetogr(n->parent, select, o, len)))
+ if (!(res->u.subtree = data1_nodetogr (dh, n->parent, select, o, len)))
return 0;
}
return res;
}
-static Z_TaggedElement *nodetotaggedelement(data1_node *n, int select, ODR o,
- int *len)
+static Z_TaggedElement *nodetotaggedelement(data1_handle dh, data1_node *n,
+ int select, ODR o,
+ int *len)
{
Z_TaggedElement *res = odr_malloc(o, sizeof(*res));
data1_tag *tag = 0;
*/
else if (n->which == DATA1N_data || n->which == DATA1N_variant)
{
- if (!(tag = data1_gettagbyname(n->root->u.root.absyn->tagset,
- "wellKnown")))
+ if (!(tag = data1_gettagbyname (dh, n->root->u.root.absyn->tagset,
+ "wellKnown")))
{
logf(LOG_WARN, "Unable to locate tag for 'wellKnown'");
return 0;
res->content->which = Z_ElementData_noDataRequested;
res->content->u.noDataRequested = ODR_NULLVAL;
}
- else if (!(res->content = nodetoelementdata(data, select, leaf, o, len)))
+ else if (!(res->content = nodetoelementdata (dh, data, select, leaf,
+ o, len)))
return 0;
*len += 10;
return res;
}
-Z_GenericRecord *data1_nodetogr(data1_node *n, int select, ODR o, int *len)
+Z_GenericRecord *data1_nodetogr(data1_handle dh, data1_node *n,
+ int select, ODR o, int *len)
{
Z_GenericRecord *res = odr_malloc(o, sizeof(*res));
data1_node *c;
if (c->which == DATA1N_tag && select && !c->u.tag.node_selected)
continue;
if (!(res->elements[res->num_elements++] =
- nodetotaggedelement(c, select, o, len)))
+ nodetotaggedelement (dh, c, select, o, len)))
return 0;
}
return res;