* Sebastian Hammer, Adam Dickmeiss
*
* $Log: attribute.c,v $
- * Revision 1.6 1997-09-17 12:19:11 adam
+ * Revision 1.7 1997-10-29 12:05:01 adam
+ * Server produces diagnostic "Unsupported Attribute Set" when appropriate.
+ *
+ * Revision 1.6 1997/09/17 12:19:11 adam
* Zebra version corresponds to YAZ version 1.4.
* Changed Zebra server so that it doesn't depend on global common_resource.
*
if (!zi->registered_sets)
load_atts(zi);
for (p = zi->registered_sets; p; p = p->next)
- if (p->reference == set && (r = getatt(p, att)))
+ if (p->reference == set)
break;;
if (!p)
- return 0;
+ return -2;
+ if (!(r = getatt(p, att)))
+ return -1;
res->attset_ordinal = r->parent->ordinal;
res->local_attributes = r->locals;
- return 1;
+ return 0;
}
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: zrpn.c,v $
- * Revision 1.68 1997-10-27 14:33:06 adam
+ * Revision 1.69 1997-10-29 12:05:02 adam
+ * Server produces diagnostic "Unsupported Attribute Set" when appropriate.
+ *
+ * Revision 1.68 1997/10/27 14:33:06 adam
* Moved towards generic character mapping depending on "structure"
* field in abstract syntax file. Fixed a few memory leaks. Fixed
* bug with negative integers when doing searches with relational
int max_pos, prefix_len = 0;
termp = *term_sub;
- if (!att_getentbyatt (zi, &attp, curAttributeSet, use_value))
+ if ((r=att_getentbyatt (zi, &attp, curAttributeSet, use_value)))
{
- logf (LOG_DEBUG, "att_getentbyatt fail. set=%d use=%d",
- curAttributeSet, use_value);
- zi->errCode = 114;
+ logf (LOG_DEBUG, "att_getentbyatt fail. set=%d use=%d r=%d",
+ curAttributeSet, use_value, r);
+ if (r == -1)
+ zi->errCode = 114;
+ else
+ zi->errCode = 121;
return -1;
}
if (zebTargetInfo_curDatabase (zi->zti, basenames[base_no]))
use_value = 1016;
for (base_no = 0; base_no < num_bases && ord_no < 32; base_no++)
{
+ int r;
attent attp;
data1_local_attribute *local_attr;
- if (!att_getentbyatt (zi, &attp, attributeset, use_value))
+ if ((r=att_getentbyatt (zi, &attp, attributeset, use_value)))
{
logf (LOG_DEBUG, "att_getentbyatt fail. set=%d use=%d",
attributeset, use_value);
- return zi->errCode = 114;
+ if (r == -1)
+ zi->errCode = 114;
+ else
+ zi->errCode = 121;
}
if (zebTargetInfo_curDatabase (zi->zti, basenames[base_no]))
{