+void ccl_set_attr_numeric(struct ccl_rpn_node *p, const char *set,
+ int type, int value)
+{
+ struct ccl_rpn_attr *n;
+ for (n = p->u.t.attr_list; n; n = n->next)
+ if (n->type == type)
+ {
+ xfree(n->set);
+ n->set = set ? xstrdup(set) : 0;
+ if (n->kind == CCL_RPN_ATTR_STRING)
+ xfree(n->value.str);
+ n->kind = CCL_RPN_ATTR_NUMERIC;
+ n->value.numeric = value;
+ return;
+ }
+ ccl_add_attr_numeric(p, set, type, value);
+}
+