X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;ds=sidebyside;f=util%2Fmarcdump.c;h=fff06123e87e84ec45032f5fdf1ccdbcdaf25208;hb=66632b7fb00f84ddc2a00a3a46ac459eb35e052e;hp=43ff281eab5495c20f0e8e183154232bae6e5fa6;hpb=b3d1527a6d94b1af17bf36c7781be9679c3fbfc9;p=yaz-moved-to-github.git diff --git a/util/marcdump.c b/util/marcdump.c index 43ff281..fff0612 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); @@ -218,6 +220,7 @@ static void dump(const char *fname, const char *from, const char *to, yaz_marc_xml(mt, output_format); yaz_marc_enable_collection(mt); 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) @@ -341,7 +344,7 @@ static void dump(const char *fname, const char *from, const char *to, } len_result = rlen; r = yaz_marc_decode_buf(mt, buf, -1, &result, &len_result); - if (r > 0 && result) + if (r > 0 && result && len_result) { if (fwrite(result, len_result, 1, stdout) != 1) { @@ -530,6 +533,7 @@ int main (int argc, char **argv) /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab