yaz_tok_parse_destroy(tp);
}
+static struct ccl_qualifier *ccl_qual_new(CCL_bibset b, const char *name)
+{
+ struct ccl_qualifier *q;
+ q = (struct ccl_qualifier *)xmalloc(sizeof(*q));
+ ccl_assert(q);
+ q->next = b->list;
+ b->list = q;
+ q->name = xstrdup(name);
+ q->attr_list = 0;
+ q->no_sub = 0;
+ q->sub = 0;
+ return q;
+}
/** \brief adds specifies qualifier aliases
q->sub = (struct ccl_qualifier **)
xmalloc(sizeof(*q->sub) * (1+q->no_sub));
for (i = 0; names[i]; i++)
+ {
q->sub[i] = ccl_qual_lookup(b, names[i], strlen(names[i]));
+ if (!q->sub[i])
+ q->sub[i] = ccl_qual_new(b, names[i]);
+ }
}
/** \brief adds specifies attributes for qualifier
if (!strcmp(name, q->name))
break;
if (!q)
- {
- q = (struct ccl_qualifier *)xmalloc(sizeof(*q));
- ccl_assert(q);
-
- q->next = b->list;
- b->list = q;
-
- q->name = xstrdup(name);
- q->attr_list = 0;
-
- q->no_sub = 0;
- q->sub = 0;
- }
+ q = ccl_qual_new(b, name);
attrp = &q->attr_list;
while (*attrp)
attrp = &(*attrp)->next;
switch(pass)
{
case 0:
+ ccl_qual_fitem(bibset, "term dc.title", "comb");
ccl_qual_fitem(bibset, "u=4 s=pw t=l,r", "ti");
ccl_qual_fitem(bibset, "1=1016 s=al,pw t=r", "term");
ccl_qual_fitem(bibset, "t=x", "reg");
ccl_qual_fitem(bibset, "r=r,omiteq", "date");
ccl_qual_fitem(bibset, "r=o", "x");
ccl_qual_fitem(bibset, "dc.title", "title");
- ccl_qual_fitem(bibset, "term dc.title", "comb");
ccl_qual_fitem(bibset, "s=ag", "ag");
break;
case 1: