-// Close connection and set state to error
-void client_fatal(struct client *cl)
-{
- client_show_raw_error(cl, "client connection failure");
- yaz_log(YLOG_WARN, "Fatal error from %s", client_get_url(cl));
- connection_destroy(cl->connection);
- client_set_state(cl, Client_Error);
-}
-
-
-static int diag_to_wrbuf(Z_DiagRec **pp, int num, WRBUF w)
-{
- int code = 0;
- int i;
- for (i = 0; i<num; i++)
- {
- Z_DiagRec *p = pp[i];
- if (i)
- wrbuf_puts(w, "; ");
- if (p->which != Z_DiagRec_defaultFormat)
- {
- wrbuf_puts(w, "? Not in default format");
- }
- else
- {
- Z_DefaultDiagFormat *r = p->u.defaultFormat;
-
- if (!r->diagnosticSetId)
- wrbuf_puts(w, "? Missing diagset");
- else
- {
- oid_class oclass;
- char diag_name_buf[OID_STR_MAX];
- const char *diag_name = 0;
- diag_name = yaz_oid_to_string_buf
- (r->diagnosticSetId, &oclass, diag_name_buf);
- wrbuf_puts(w, diag_name);
- }
- if (!code)
- code = *r->condition;
- wrbuf_printf(w, " %d %s", *r->condition,
- diagbib1_str(*r->condition));
- switch (r->which)
- {
- case Z_DefaultDiagFormat_v2Addinfo:
- wrbuf_printf(w, " -- v2 addinfo '%s'", r->u.v2Addinfo);
- break;
- case Z_DefaultDiagFormat_v3Addinfo:
- wrbuf_printf(w, " -- v3 addinfo '%s'", r->u.v3Addinfo);
- break;
- }
- }
- }
- return code;
-}
-
-
-