* See the file LICENSE for details.
* Sebastian Hammer, Adam Dickmeiss
*
- * $Id: marcdump.c,v 1.21 2003-02-12 22:02:33 adam Exp $
+ * $Id: marcdump.c,v 1.23 2003-12-11 00:37:23 adam Exp $
*/
#if HAVE_CONFIG_H
static void usage(const char *prog)
{
- fprintf (stderr, "Usage: %s [-c cfile] [-f from] [-t to] [-x] [-O] [-X] [-v] file...\n",
+ fprintf (stderr, "Usage: %s [-c cfile] [-f from] [-t to] [-x] [-O] [-X] [-I] [-v] file...\n",
prog);
}
setlocale(LC_CTYPE, "");
#endif
#if HAVE_LANGINFO_H
+#ifdef CODESET
to = nl_langinfo(CODESET);
#endif
+#endif
- while ((r = options("vc:xOXf:t:", argv, argc, &arg)) != -2)
+ while ((r = options("vc:xOXIf:t:", argv, argc, &arg)) != -2)
{
int count;
no++;
case 'X':
xml = YAZ_MARC_MARCXML;
break;
+ case 'I':
+ xml = YAZ_MARC_ISO2709;
+ break;
case 0:
- inf = fopen (arg, "r");
+ inf = fopen (arg, "rb");
count = 0;
if (!inf)
{
"unsupported\n", from, to);
exit(2);
}
+ yaz_marc_iconv(mt, cd);
}
yaz_marc_xml(mt, xml);
yaz_marc_debug(mt, verbose);
r = yaz_marc_decode_buf (mt, buf, -1, &result, &rlen);
if (r <= 0)
break;
+#if 1
+ fwrite (result, rlen, 1, stdout);
+#else
if (!cd)
fwrite (result, rlen, 1, stdout);
else
fwrite (outbuf, outp - outbuf, 1, stdout);
}
}
-
+#endif
if (cfile)
{
char *p = buf;
count++;
if (cd)
yaz_iconv_close(cd);
+ yaz_marc_destroy(mt);
}
if (cfile)
fprintf (cfile, "};\n");
+ fclose(inf);
break;
case 'v':
verbose++;