X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=rset%2Frset.c;h=c7821d31fc790aa6e9319a9b54f06af5d3bdabd1;hb=1285f0f6eeb151a62b69d8d3381c54ace03e55d4;hp=38f02e8207065fb424727b6a297ecbc8336826bb;hpb=a876f6c2860bf13e36f47c8ce938d74b4ce98b8e;p=idzebra-moved-to-github.git diff --git a/rset/rset.c b/rset/rset.c index 38f02e8..c7821d3 100644 --- a/rset/rset.c +++ b/rset/rset.c @@ -1,4 +1,4 @@ -/* $Id: rset.c,v 1.47 2005-06-02 11:59:54 adam Exp $ +/* $Id: rset.c,v 1.49 2005-06-07 07:41:05 adam Exp $ Copyright (C) 1995-2005 Index Data ApS @@ -277,6 +277,28 @@ void rset_get_one_term(RSET ct, TERMID *terms, int maxterms, int *curterm) } } +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 @@ -284,9 +306,10 @@ void rset_get_one_term(RSET ct, TERMID *terms, int maxterms, int *curterm) \param flags for term \param type Term Type, Z_Term_general, Z_Term_characterString,.. \param nmem memory for term. + \param ol ord list */ TERMID rset_term_create(const char *name, int length, const char *flags, - int type, NMEM nmem) + int type, NMEM nmem, struct ord_list *ol) { TERMID t; @@ -310,6 +333,7 @@ TERMID rset_term_create(const char *name, int length, const char *flags, t->type = type; t->rankpriv = 0; t->rset = 0; + t->ol = ord_list_dup(nmem, ol); return t; }