* Copyright (C) 1995-2005, Index Data ApS
* See the file LICENSE for details.
*
- * $Id: marcdump.c,v 1.26 2005-01-15 19:47:15 adam Exp $
+ * $Id: marcdump.c,v 1.28 2005-03-06 21:27:09 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] [-I] [-v] file...\n",
+ fprintf (stderr, "Usage: %s [-c cfile] [-f from] [-t to] [-x] [-O] [-X] [-e] [-I] [-v] file...\n",
prog);
}
#endif
#endif
- while ((r = options("pvc:xOXIf:t:2", argv, argc, &arg)) != -2)
+ while ((r = options("pvc:xOeXIf:t:2", argv, argc, &arg)) != -2)
{
int count;
no++;
case 'O':
xml = YAZ_MARC_OAIMARC;
break;
+ case 'e':
+ xml = YAZ_MARC_XCHANGE;
+ break;
case 'X':
xml = YAZ_MARC_MARCXML;
break;
while (1)
{
int len;
- char *result;
+ char *result = 0;
int rlen;
r = fread (buf, 1, 5, inf);
if (r < len)
break;
r = yaz_marc_decode_buf (mt, buf, -1, &result, &rlen);
- if (r <= 0)
- break;
- fwrite (result, rlen, 1, stdout);
+ if (result)
+ fwrite (result, rlen, 1, stdout);
#if HAVE_XML2
- if (libxml_dom_test)
+ if (r > 0 && libxml_dom_test)
{
xmlDocPtr doc = xmlParseMemory(result, rlen);
if (!doc)
}
}
#endif
- if (cfile)
+ if (r > 0 && cfile)
{
char *p = buf;
int i;