projects
/
yaz-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Support XInclude for XML config
[yaz-moved-to-github.git]
/
util
/
marcdump.c
diff --git
a/util/marcdump.c
b/util/marcdump.c
index
d441855
..
6dd79d1
100644
(file)
--- a/
util/marcdump.c
+++ b/
util/marcdump.c
@@
-1,8
+1,8
@@
/*
/*
- * Copyright (c) 1995-2004, Index Data
+ * Copyright (C) 1995-2005, Index Data ApS
* See the file LICENSE for details.
*
* See the file LICENSE for details.
*
- * $Id: marcdump.c,v 1.25 2004-08-07 08:18:20 adam Exp $
+ * $Id: marcdump.c,v 1.28 2005-03-06 21:27:09 adam Exp $
*/
#if HAVE_CONFIG_H
*/
#if HAVE_CONFIG_H
@@
-45,7
+45,7
@@
static void usage(const char *prog)
{
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);
}
prog);
}
@@
-123,7
+123,7
@@
int main (int argc, char **argv)
#endif
#endif
#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++;
{
int count;
no++;
@@
-146,6
+146,9
@@
int main (int argc, char **argv)
case 'O':
xml = YAZ_MARC_OAIMARC;
break;
case 'O':
xml = YAZ_MARC_OAIMARC;
break;
+ case 'e':
+ xml = YAZ_MARC_XCHANGE;
+ break;
case 'X':
xml = YAZ_MARC_MARCXML;
break;
case 'X':
xml = YAZ_MARC_MARCXML;
break;
@@
-190,7
+193,7
@@
int main (int argc, char **argv)
while (1)
{
int len;
while (1)
{
int len;
- char *result;
+ char *result = 0;
int rlen;
r = fread (buf, 1, 5, inf);
int rlen;
r = fread (buf, 1, 5, inf);
@@
-213,11
+216,10
@@
int main (int argc, char **argv)
if (r < len)
break;
r = yaz_marc_decode_buf (mt, buf, -1, &result, &rlen);
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 HAVE_XML2
- if (libxml_dom_test)
+ if (r > 0 && libxml_dom_test)
{
xmlDocPtr doc = xmlParseMemory(result, rlen);
if (!doc)
{
xmlDocPtr doc = xmlParseMemory(result, rlen);
if (!doc)
@@
-253,7
+255,7
@@
int main (int argc, char **argv)
}
}
#endif
}
}
#endif
- if (cfile)
+ if (r > 0 && cfile)
{
char *p = buf;
int i;
{
char *p = buf;
int i;