X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=util%2Fyaziconv.c;h=9f7f7975cce2de57a6c926b42169d8115d54cdbb;hb=5a1156a0d8d50aa07af3eec75e939ed2065d3880;hp=45476145f5ea5deff32f34966b56f54f5e6f4027;hpb=4e82b831a8ac31e25b246a631acde354d8161688;p=yaz-moved-to-github.git diff --git a/util/yaziconv.c b/util/yaziconv.c index 4547614..9f7f797 100644 --- a/util/yaziconv.c +++ b/util/yaziconv.c @@ -1,8 +1,6 @@ -/* - * Copyright (C) 1995-2005, Index Data ApS +/* This file is part of the YAZ toolkit. + * Copyright (C) 1995-2008 Index Data * See the file LICENSE for details. - * - * $Id: yaziconv.c,v 1.3 2005-01-17 13:09:43 adam Exp $ */ #if HAVE_CONFIG_H @@ -44,6 +42,11 @@ void convert (FILE *inf, yaz_iconv_t cd, int verbose) { if (outbuf != outbuf0) fwrite (outbuf0, 1, outbuf - outbuf0, stdout); + outbuf = outbuf0; + outbytesleft = CHUNK_OUT; + r = yaz_iconv (cd, 0, 0, &outbuf, &outbytesleft); + if (outbuf != outbuf0) + fwrite (outbuf0, 1, outbuf - outbuf0, stdout); break; } inbytesleft = r; @@ -51,8 +54,8 @@ void convert (FILE *inf, yaz_iconv_t cd, int verbose) } if (verbose > 1) { - fprintf (stderr, "yaz_iconv: inbytesleft=%d outbytesleft=%d\n", - inbytesleft, outbytesleft); + fprintf (stderr, "yaz_iconv: inbytesleft=%ld outbytesleft=%ld\n", + (long) inbytesleft, (long) outbytesleft); } r = yaz_iconv (cd, &inbuf, &inbytesleft, &outbuf, &outbytesleft); @@ -81,7 +84,7 @@ void convert (FILE *inf, yaz_iconv_t cd, int verbose) } if (r == 0) { - fprintf (stderr, "invalid sequence\n"); + fprintf (stderr, "invalid sequence due to missing input\n"); return ; } inbytesleft += r; @@ -148,7 +151,7 @@ int main (int argc, char **argv) break; default: fprintf (stderr, "yaziconv: Usage\n" - "siconv -f encoding -t encoding [-v] [file]\n"); + "yaziconv -f encoding -t encoding [-v] [file]\n"); exit(1); } } @@ -180,3 +183,11 @@ int main (int argc, char **argv) yaz_iconv_close (cd); return 0; } +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +