+void wrbuf_diags(WRBUF b, int num_diagnostics, Z_DiagRec **diags)
+{
+ /* we only dump the first diag - that keeps the log cleaner. */
+ wrbuf_puts(b," ERROR ");
+ if (diags[0]->which != Z_DiagRec_defaultFormat)
+ wrbuf_puts(b,"(diag not in default format?)");
+ else
+ {
+ Z_DefaultDiagFormat *e = diags[0]->u.defaultFormat;
+ if (e->condition)
+ wrbuf_printf(b, ODR_INT_PRINTF " ",*e->condition);
+ else
+ wrbuf_puts(b, "?? ");
+ if ((e->which==Z_DefaultDiagFormat_v2Addinfo) && (e->u.v2Addinfo))
+ wrbuf_puts(b, e->u.v2Addinfo);
+ else if ((e->which==Z_DefaultDiagFormat_v3Addinfo) && (e->u.v3Addinfo))
+ wrbuf_puts(b, e->u.v3Addinfo);
+ wrbuf_puts(b, " ");
+ }
+}
+
+void yaz_facet_list_to_wrbuf(WRBUF w, const Z_FacetList *fl)
+{
+ int i;
+ for (i = 0; i < fl->num; i++)
+ {
+ Z_FacetField *ff = fl->elements[i];
+
+ if (i)
+ wrbuf_puts(w, ", ");
+ yaz_attributes_to_wrbuf(w, ff->attributes);
+ }
+}
+