for (i = 0; i < len; i++)
if (strchr(" \"{", term[i]))
break;
- if (i == len && i)
- wrbuf_write(b, term, len);
+ if (len > 0 && i == len)
+ {
+ if (term[0] == '@')
+ wrbuf_putc(b, '\\');
+ for (i = 0; i < len; i++)
+ {
+ if (term[i] == '\\')
+ wrbuf_putc(b, '\\');
+ wrbuf_putc(b, term[i]);
+ }
+ }
else
{
wrbuf_putc(b, '"');
- for (i = 0; i<len; i++)
+ for (i = 0; i < len; i++)
{
- if (term[i] == '"')
+ if (term[i] == '"' || term[i] == '\\')
wrbuf_putc(b, '\\');
wrbuf_putc(b, term[i]);
}
wrbuf_printf(b, ODR_INT_PRINTF, *element->value.numeric);
break;
case Z_AttributeValue_complex:
- for (i = 0; i<element->value.complex->num_list; i++)
+ for (i = 0; i < element->value.complex->num_list; i++)
{
if (i)
wrbuf_puts(b, ",");
{
int num_attributes = zapt->attributes->num_attributes;
int i;
- for (i = 0; i<num_attributes; i++)
+ for (i = 0; i < num_attributes; i++)
yaz_attribute_element_to_wrbuf(b,zapt->attributes->attributes[i]);
switch (zapt->term->which)
wrbuf_puts(b,"(diag not in default format?)");
else
{
- Z_DefaultDiagFormat *e=diags[0]->u.defaultFormat;
+ Z_DefaultDiagFormat *e = diags[0]->u.defaultFormat;
if (e->condition)
wrbuf_printf(b, ODR_INT_PRINTF " ",*e->condition);
else