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
Allows second argument for YAZ_INIT to hold required version of YAZ.
[yaz-moved-to-github.git]
/
util
/
marcdump.c
diff --git
a/util/marcdump.c
b/util/marcdump.c
index
e46beab
..
00d7596
100644
(file)
--- a/
util/marcdump.c
+++ b/
util/marcdump.c
@@
-3,7
+3,7
@@
* See the file LICENSE for details.
* Sebastian Hammer, Adam Dickmeiss
*
* 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
*/
#if HAVE_CONFIG_H
@@
-36,7
+36,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] [-v] file...\n",
+ fprintf (stderr, "Usage: %s [-c cfile] [-f from] [-t to] [-x] [-O] [-X] [-I] [-v] file...\n",
prog);
}
prog);
}
@@
-58,10
+58,12
@@
int main (int argc, char **argv)
setlocale(LC_CTYPE, "");
#endif
#if HAVE_LANGINFO_H
setlocale(LC_CTYPE, "");
#endif
#if HAVE_LANGINFO_H
+#ifdef CODESET
to = nl_langinfo(CODESET);
#endif
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++;
{
int count;
no++;
@@
-87,8
+89,11
@@
int main (int argc, char **argv)
case 'X':
xml = YAZ_MARC_MARCXML;
break;
case 'X':
xml = YAZ_MARC_MARCXML;
break;
+ case 'I':
+ xml = YAZ_MARC_ISO2709;
+ break;
case 0:
case 0:
- inf = fopen (arg, "r");
+ inf = fopen (arg, "rb");
count = 0;
if (!inf)
{
count = 0;
if (!inf)
{
@@
-112,6
+117,7
@@
int main (int argc, char **argv)
"unsupported\n", from, to);
exit(2);
}
"unsupported\n", from, to);
exit(2);
}
+ yaz_marc_iconv(mt, cd);
}
yaz_marc_xml(mt, xml);
yaz_marc_debug(mt, verbose);
}
yaz_marc_xml(mt, xml);
yaz_marc_debug(mt, verbose);
@@
-134,6
+140,9
@@
int main (int argc, char **argv)
r = yaz_marc_decode_buf (mt, buf, -1, &result, &rlen);
if (r <= 0)
break;
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
if (!cd)
fwrite (result, rlen, 1, stdout);
else
@@
-158,7
+167,7
@@
int main (int argc, char **argv)
fwrite (outbuf, outp - outbuf, 1, stdout);
}
}
fwrite (outbuf, outp - outbuf, 1, stdout);
}
}
-
+#endif
if (cfile)
{
char *p = buf;
if (cfile)
{
char *p = buf;
@@
-182,9
+191,11
@@
int main (int argc, char **argv)
count++;
if (cd)
yaz_iconv_close(cd);
count++;
if (cd)
yaz_iconv_close(cd);
+ yaz_marc_destroy(mt);
}
if (cfile)
fprintf (cfile, "};\n");
}
if (cfile)
fprintf (cfile, "};\n");
+ fclose(inf);
break;
case 'v':
verbose++;
break;
case 'v':
verbose++;