X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=util%2Fmarcdump.c;h=533714d25e69d5230e9a6f8674a482ea2f7e050e;hb=7b4adcc54d64c9196a8c19a7f69c850774b8776b;hp=15021fe506dfbc5631cf309859ce30b8332060c5;hpb=fa45ad3fa8a1dae7d030efd16ce6371777566813;p=yaz-moved-to-github.git diff --git a/util/marcdump.c b/util/marcdump.c index 15021fe..533714d 100644 --- a/util/marcdump.c +++ b/util/marcdump.c @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2009 Index Data + * Copyright (C) 1995-2010 Index Data * See the file LICENSE for details. */ @@ -142,7 +142,9 @@ static void marcdump_read_xml(yaz_marc_t mt, const char *fname) fprintf(stderr, "yaz_marc_read_xml failed\n"); else { - yaz_marc_write_mode(mt, wrbuf); + int write_rc = yaz_marc_write_mode(mt, wrbuf); + if (write_rc) + yaz_log(YLOG_WARN, "yaz_marc_write_mode: write error: %d", write_rc); fputs(wrbuf_cstr(wrbuf), stdout); wrbuf_rewind(wrbuf); @@ -215,12 +217,14 @@ static void dump(const char *fname, const char *from, const char *to, } yaz_marc_iconv(mt, cd); } - yaz_marc_xml(mt, output_format); yaz_marc_enable_collection(mt); + yaz_marc_set_read_format(mt, input_format); + yaz_marc_set_write_format(mt, output_format); yaz_marc_write_using_libxml2(mt, write_using_libxml2); + yaz_marc_write_turbo_format(mt, output_format == YAZ_MARC_TMARCXML); yaz_marc_debug(mt, verbose); - if (input_format == YAZ_MARC_MARCXML || input_format == YAZ_MARC_XCHANGE) + if (input_format == YAZ_MARC_MARCXML || input_format == YAZ_MARC_TMARCXML || input_format == YAZ_MARC_XCHANGE) { #if YAZ_HAVE_XML2 marcdump_read_xml(mt, fname);