- if (use_value < 0)
- zebra_setError(zh, YAZ_BIB1_UNSUPP_USE_ATTRIBUTE, use_string);
- else
- zebra_setError_zint(zh, YAZ_BIB1_UNSUPP_USE_ATTRIBUTE, use_value);
- return ZEBRA_FAIL;
+ /* attribute 14=1 does not issue a diagnostic even
+ 1) the attribute is numeric but listed in .att
+ 2) the use attribute is string
+ */
+ AttrType unsup;
+ int unsup_value = 0;
+ attr_init_AttrList(&unsup, attr_list, 14);
+ unsup_value = attr_find(&unsup, 0);
+
+ if (unsup_value != 1)
+ {
+ if (use_value < 0)
+ zebra_setError(zh, YAZ_BIB1_UNSUPP_USE_ATTRIBUTE, use_string);
+ else
+ zebra_setError_zint(zh, YAZ_BIB1_UNSUPP_USE_ATTRIBUTE, use_value);
+ return ZEBRA_FAIL;
+ }