* Europagate, 1995
*
* $Log: cclqual.c,v $
- * Revision 1.6 1997-04-30 08:52:07 quinn
+ * Revision 1.9 1998-02-11 11:53:33 adam
+ * Changed code so that it compiles as C++.
+ *
+ * Revision 1.8 1997/09/29 08:56:38 adam
+ * Changed CCL parser to be thread safe. New type, CCL_parser, declared
+ * and a create/destructers ccl_parser_create/ccl_parser/destory has
+ * been added.
+ *
+ * Revision 1.7 1997/09/01 08:48:12 adam
+ * New windows NT/95 port using MSV5.0. Only a few changes made
+ * to avoid warnings.
+ *
+ * Revision 1.6 1997/04/30 08:52:07 quinn
* Null
*
* Revision 1.5 1996/10/11 15:00:25 adam
break;
if (!q)
{
- struct ccl_qualifier *new_qual = malloc (sizeof(*new_qual));
+ struct ccl_qualifier *new_qual = (struct ccl_qualifier *)malloc (sizeof(*new_qual));
assert (new_qual);
new_qual->next = b->list;
b->list = new_qual;
- new_qual->name = malloc (strlen(name)+1);
+ new_qual->name = (char *)malloc (strlen(name)+1);
assert (new_qual->name);
strcpy (new_qual->name, name);
attrp = &new_qual->attr_list;
{
struct ccl_rpn_attr *attr;
- attr = malloc (sizeof(*attr));
+ attr = (struct ccl_rpn_attr *)malloc (sizeof(*attr));
assert (attr);
attr->type = *pairs++;
attr->value = *pairs++;
*/
CCL_bibset ccl_qual_mk (void)
{
- CCL_bibset b = malloc (sizeof(*b));
+ CCL_bibset b = (CCL_bibset)malloc (sizeof(*b));
assert (b);
b->list = NULL;
return b;
* len: Length of name.
* return: Attribute info. NULL if not found.
*/
-struct ccl_rpn_attr *ccl_qual_search (CCL_bibset b, const char *name, int len)
+struct ccl_rpn_attr *ccl_qual_search (CCL_parser cclp,
+ const char *name, size_t len)
{
struct ccl_qualifier *q;
- assert (b);
- for (q = b->list; q; q = q->next)
+ assert (cclp);
+ if (!cclp->bibset)
+ return NULL;
+ for (q = cclp->bibset->list; q; q = q->next)
if (strlen(q->name) == len)
- if (ccl_case_sensitive)
+ if (cclp->ccl_case_sensitive)
{
if (!memcmp (name, q->name, len))
return q->attr_list;