Added implementation-codes directive for .mar files
authorAdam Dickmeiss <adam@indexdata.dk>
Tue, 30 Dec 2008 15:44:45 +0000 (16:44 +0100)
committerAdam Dickmeiss <adam@indexdata.dk>
Tue, 30 Dec 2008 15:44:45 +0000 (16:44 +0100)
data1/d1_marc.c
tab/usmarc.mar

index 8cd728b..1f9c8b8 100644 (file)
@@ -148,6 +148,21 @@ data1_marctab *data1_read_marctab (data1_handle dh, const char *file)
            }
            res->force_identifier_length = atoi(argv[1]);
        }
+       else if (!strcmp(*argv, "implementation-codes"))
+       {
+           if (argc != 2)
+           {
+               yaz_log(YLOG_WARN, "%s:%d: Missing arg for %s", file, lineno,
+                       *argv);
+               continue;
+           }
+            /* up to 4 characters .. space pad */
+            if (strlen(argv[1]) > 4)
+               yaz_log(YLOG_WARN, "%s:%d: Max 4 characters for "
+                                   "implementation-codes", file, lineno);
+            else
+                memcpy(res->implementation_codes, argv[1], strlen(argv[1]));
+       }
        else
            yaz_log(YLOG_WARN, "%s:%d: Unknown directive '%s'", file, lineno,
                    *argv);
index 348c9a1..eae1ea5 100644 (file)
@@ -1,2 +1,5 @@
 name usmarc
 reference USmarc
+
+# Defines implementation codes (offset 6..9) 
+#implementation-codes ABCD