-/* $Id: rset.c,v 1.48 2005-06-06 21:31:09 adam Exp $
+/* $Id: rset.c,v 1.50 2005-06-07 14:53:39 adam Exp $
Copyright (C) 1995-2005
Index Data ApS
}
}
+struct ord_list *ord_list_create(NMEM nmem)
+{
+ return 0;
+}
+
+struct ord_list *ord_list_append(NMEM nmem, struct ord_list *list,
+ int ord)
+{
+ struct ord_list *n = nmem_malloc(nmem, sizeof(*n));
+ n->ord = ord;
+ n->next = list;
+ return n;
+}
+
+struct ord_list *ord_list_dup(NMEM nmem, struct ord_list *list)
+{
+ struct ord_list *n = ord_list_create(nmem);
+ for (; list; list = list->next)
+ n = ord_list_append(nmem, n, list->ord);
+ return n;
+}
+
/**
\brief Creates a TERMID entry.
\param name Term/Name buffer with given length
\param type Term Type, Z_Term_general, Z_Term_characterString,..
\param nmem memory for term.
\param ol ord list
+ \param reg_type register type
*/
TERMID rset_term_create(const char *name, int length, const char *flags,
- int type, NMEM nmem, struct ord_list *ol)
+ int type, NMEM nmem, struct ord_list *ol,
+ int reg_type)
{
TERMID t;
else
t->flags = nmem_strdup(nmem, flags);
t->type = type;
+ t->reg_type = reg_type;
t->rankpriv = 0;
t->rset = 0;
- t->ol = ol;
+ t->ol = ord_list_dup(nmem, ol);
return t;
}