* Europagate, 1995
*
* $Log: cclfind.c,v $
- * Revision 1.2 1995-09-27 15:02:44 quinn
+ * Revision 1.4 1995-11-01 13:54:20 quinn
+ * Minor adjustments
+ *
+ * Revision 1.3 1995/09/29 17:11:59 quinn
+ * Smallish
+ *
+ * Revision 1.2 1995/09/27 15:02:44 quinn
* Modified function heads & prototypes.
*
* Revision 1.1 1995/04/10 10:28:19 quinn
static char *copy_token_name (struct ccl_token *tp)
{
- char *str = malloc (tp->len + 1);
+ char *str = xmalloc (tp->len + 1);
assert (str);
memcpy (str, tp->name, tp->len);
str[tp->len] = '\0';
static struct ccl_rpn_node *mk_node (enum rpn_node_kind kind)
{
struct ccl_rpn_node *p;
- p = malloc (sizeof(*p));
+ p = xmalloc (sizeof(*p));
assert (p);
p->kind = kind;
return p;
}
-void MDF ccl_rpn_delete (struct ccl_rpn_node *rpn)
+void ccl_rpn_delete (struct ccl_rpn_node *rpn)
{
struct ccl_rpn_attr *attr, *attr1;
if (!rpn)
ccl_rpn_delete (rpn->u.p[1]);
break;
case CCL_RPN_TERM:
- free (rpn->u.t.term);
+ xfree (rpn->u.t.term);
for (attr = rpn->u.t.attr_list; attr; attr = attr1)
{
attr1 = attr->next;
- free (attr);
+ xfree (attr);
}
break;
case CCL_RPN_SET:
- free (rpn->u.setname);
+ xfree (rpn->u.setname);
break;
case CCL_RPN_PROX:
ccl_rpn_delete (rpn->u.p[0]);
ccl_rpn_delete (rpn->u.p[1]);
break;
}
- free (rpn);
+ xfree (rpn);
}
static struct ccl_rpn_node *find_spec (struct ccl_rpn_attr **qa);
{
struct ccl_rpn_attr *n;
- n = malloc (sizeof(*n));
+ n = xmalloc (sizeof(*n));
assert (n);
n->type = type;
n->value = value;
lookahead = lookahead->next;
}
p = mk_node (CCL_RPN_TERM);
- p->u.t.term = malloc (len);
+ p->u.t.term = xmalloc (len);
assert (p->u.t.term);
p->u.t.attr_list = NULL;
p->u.t.term[0] = '\0';
{
ccl_error = CCL_ERR_TRUNC_NOT_BOTH;
if (qa)
- free (qa);
+ xfree (qa);
ccl_rpn_delete (p);
return NULL;
}
{
ccl_error = CCL_ERR_TRUNC_NOT_RIGHT;
if (qa)
- free (qa);
+ xfree (qa);
ccl_rpn_delete (p);
return NULL;
}
{
ccl_error = CCL_ERR_TRUNC_NOT_LEFT;
if (qa)
- free (qa);
+ xfree (qa);
ccl_rpn_delete (p);
return NULL;
}
}
for (lookahead = look_token; lookahead != la; lookahead=lookahead->next)
no++;
- ap = malloc (no * sizeof(*ap));
+ ap = xmalloc (no * sizeof(*ap));
assert (ap);
for (i=0; look_token != la; i++)
{
if (!ap[i])
{
ccl_error = CCL_ERR_UNKNOWN_QUAL;
- free (ap);
+ xfree (ap);
return NULL;
}
ADVANCE;
if (KIND != CCL_TOK_EQ)
{
ccl_error = CCL_ERR_EQ_EXPECTED;
- free (ap);
+ xfree (ap);
return NULL;
}
ADVANCE;
ADVANCE;
if (!(p = find_spec (ap)))
{
- free (ap);
+ xfree (ap);
return NULL;
}
if (KIND != CCL_TOK_RP)
{
ccl_error = CCL_ERR_RP_EXPECTED;
ccl_rpn_delete (p);
- free (ap);
+ xfree (ap);
return NULL;
}
ADVANCE;
}
else
p = search_terms (ap);
- free (ap);
+ xfree (ap);
return p;
}
rel = 0;
add_attr (p1, CCL_BIB1_REL, 4);
p->u.p[1] = p2;
add_attr (p2, CCL_BIB1_REL, 2);
- free (ap);
+ xfree (ap);
return p;
}
else /* = term - */
{
add_attr (p1, CCL_BIB1_REL, 4);
- free (ap);
+ xfree (ap);
return p1;
}
}
else
{
add_attr (p1, CCL_BIB1_REL, rel);
- free (ap);
+ xfree (ap);
return p1;
}
}
ADVANCE;
p = search_term (ap);
add_attr (p, CCL_BIB1_REL, 2);
- free (ap);
+ xfree (ap);
return p;
}
ccl_error = CCL_ERR_TERM_EXPECTED;
}
- free (ap);
+ xfree (ap);
return NULL;
}
return p1;
}
-struct ccl_rpn_node MDF *ccl_find (CCL_bibset abibset, struct ccl_token *list,
+struct ccl_rpn_node *ccl_find (CCL_bibset abibset, struct ccl_token *list,
int *error, const char **pos)
{
struct ccl_rpn_node *p;
return p;
}
-struct ccl_rpn_node MDF *ccl_find_str (CCL_bibset bibset, const char *str,
+struct ccl_rpn_node *ccl_find_str (CCL_bibset bibset, const char *str,
int *error, int *pos)
{
struct ccl_token *list;