Exemplo n.º 1
0
static void yaz_apt_to_wrbuf(WRBUF b, const Z_AttributesPlusTerm *zapt)
{
    int num_attributes = zapt->attributes->num_attributes;
    int i;
    for (i = 0; i<num_attributes; i++)
        yaz_attribute_element_to_wrbuf(b,zapt->attributes->attributes[i]);
    
    switch (zapt->term->which)
    {
    case Z_Term_general:
        yaz_encode_pqf_term(b, (const char *)zapt->term->u.general->buf,
                            zapt->term->u.general->len);
        break;
    case Z_Term_characterString:
        wrbuf_printf(b, "@term string ");
        yaz_encode_pqf_term(b, zapt->term->u.characterString,
                            strlen(zapt->term->u.characterString));
        break;
    case Z_Term_numeric:
        wrbuf_printf(b, "@term numeric " ODR_INT_PRINTF " ",
                     *zapt->term->u.numeric);
        break;
    case Z_Term_null:
        wrbuf_printf(b, "@term null x");
        break;
    default:
        wrbuf_printf(b, "@term null unknown%d ", zapt->term->which);
    }
}
Exemplo n.º 2
0
static void yaz_attributes_to_wrbuf(WRBUF w, const Z_AttributeList *al)
{
    int i;
    for (i = 0; i < al->num_attributes; i++)
        yaz_attribute_element_to_wrbuf(w, al->attributes[i]);
}