MARC XML
[yaz-moved-to-github.git] / util / marcdump.c
index 772cc29..076628e 100644 (file)
@@ -3,7 +3,7 @@
  * See the file LICENSE for details.
  * Sebastian Hammer, Adam Dickmeiss
  *
- * $Id: marcdump.c,v 1.14 2002-02-28 14:28:40 adam Exp $
+ * $Id: marcdump.c,v 1.18 2002-12-03 10:03:27 adam Exp $
  */
 
 #if HAVE_CONFIG_H
@@ -14,7 +14,6 @@
 #include <stdlib.h>
 #include <string.h>
 #include <errno.h>
-#include <yaz/wrbuf.h>
 #include <yaz/marcdisp.h>
 #include <yaz/yaz-util.h>
 #include <yaz/xmalloc.h>
 #ifndef SEEK_END
 #define SEEK_END 2
 #endif
+
+static void usage(const char *prog)
+{
+    fprintf (stderr, "Usage: %s [-c cfile] [-x] [-O] [-X] [-v] file...\n",
+             prog);
+} 
+
 int main (int argc, char **argv)
 {
     int r;
@@ -39,7 +44,7 @@ int main (int argc, char **argv)
     int xml = 0;
     FILE *cfile = 0;
 
-    while ((r = options("vc:x", argv, argc, &arg)) != -2)
+    while ((r = options("vc:xOX", argv, argc, &arg)) != -2)
     {
        int count;
        no++;
@@ -51,7 +56,13 @@ int main (int argc, char **argv)
            cfile = fopen (arg, "w");
            break;
         case 'x':
-            xml = 1;
+            xml = YAZ_MARC_XML;
+            break;
+        case 'O':
+            xml = YAZ_MARC_OAIMARC;
+            break;
+        case 'X':
+            xml = YAZ_MARC_MARCXML;
             break;
         case 0:
            inf = fopen (arg, "r");
@@ -90,7 +101,7 @@ int main (int argc, char **argv)
                    int i;
                    if (count)
                        fprintf (cfile, ",");
-                   fprintf (cfile, "{\n");
+                   fprintf (cfile, "\n");
                    for (i = 0; i < r; i++)
                    {
                        if ((i & 15) == 0)
@@ -101,7 +112,7 @@ int main (int argc, char **argv)
                            fprintf (cfile, "\"\n");
                        
                        }
-                   fprintf (cfile, "\"\n}");
+                   fprintf (cfile, "\"\n");
                }
                count++;
            }
@@ -112,7 +123,7 @@ int main (int argc, char **argv)
            verbose++;
             break;
         default:
-            fprintf (stderr, "Usage: %s [-c cfile] [-v] file...\n", prog);
+            usage(prog);
             exit (1);
         }
     }
@@ -120,7 +131,7 @@ int main (int argc, char **argv)
        fclose (cfile);
     if (!no)
     {
-       fprintf (stderr, "Usage: %s [-v] file...\n", prog);
+        usage(prog);
        exit (1);
     }
     exit (0);