X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fopac_to_xml.c;h=f365082167efa73c73c8058ce100c0b572b100f9;hp=eb3fcddabb9d652c95f69561f6202d4b409de2a4;hb=6533da485c4fcf4bc1bb6d70d0b18b13602381ff;hpb=6437a10ee3d3160d01d04afe071901e8f496ad34 diff --git a/src/opac_to_xml.c b/src/opac_to_xml.c index eb3fcdd..f365082 100644 --- a/src/opac_to_xml.c +++ b/src/opac_to_xml.c @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2013 Index Data + * Copyright (C) Index Data * See the file LICENSE for details. */ /** @@ -31,10 +31,11 @@ static void opac_element_str(WRBUF wrbuf, yaz_iconv_t cd1, yaz_iconv_t cd2, wrbuf_puts(wrbuf, ">"); pos = wrbuf->pos; /* save position */ - if (wrbuf_iconv_write_x(wrbuf, cd1, data, strlen(data), 1) && cd2) + if (wrbuf_iconv_write2(wrbuf, cd1, data, strlen(data), wrbuf_xmlputs_n) + && cd2) { wrbuf->pos = pos; /* rewind to pos */ - wrbuf_iconv_write_x(wrbuf, cd2, data, strlen(data), 1); + wrbuf_iconv_write2(wrbuf, cd2, data, strlen(data), wrbuf_xmlputs_n); } wrbuf_puts(wrbuf, "\n"); opac_element_bool(wrbuf, 4, "availableNow", d->circulationData[j]->availableNow); - opac_element_str(wrbuf, cd1, cd2, 4, "availabiltyDate", + opac_element_str(wrbuf, cd1, cd2, 4, "availabilityDate", d->circulationData[j]->availablityDate); opac_element_str(wrbuf, cd1, cd2, 4, "availableThru", d->circulationData[j]->availableThru); @@ -190,6 +191,22 @@ void yaz_opac_decode_wrbuf(yaz_marc_t mt, Z_OPACRecord *r, WRBUF wrbuf) yaz_opac_decode_wrbuf2(mt, r, wrbuf, 0); } +int yaz_opac_check_marc21_coding(const char *charset, Z_OPACRecord *r) +{ + if (r->bibliographicRecord) + { + Z_External *ext = r->bibliographicRecord; + if (ext->which == Z_External_octet) + { + return yaz_marc_check_marc21_coding( + charset, + (const char *) ext->u.octet_aligned->buf, + ext->u.octet_aligned->len); + } + } + return 0; +} + /* * Local variables: * c-basic-offset: 4