Bump year
[yaz-moved-to-github.git] / src / oid.c
index 4bb5902..ac33b0e 100644 (file)
--- a/src/oid.c
+++ b/src/oid.c
@@ -1,11 +1,14 @@
 /*
- * Copyright (c) 1995-2003, Index Data
+ * Copyright (C) 1995-2005, Index Data ApS
  * See the file LICENSE for details.
  *
- * $Id: oid.c,v 1.2 2003-11-19 13:47:05 mike Exp $
+ * $Id: oid.c,v 1.7 2005-01-15 19:47:14 adam Exp $
  */
 
-/*
+/**
+ * \file oid.c
+ * \brief Implements OID database
+ *
  * More or less protocol-transparent OID database.
  * We could (and should?) extend this so that the user app can add new
  * entries to the list at initialization.
@@ -114,6 +117,9 @@ static oident standard_oids[] =
      "Intermarc"},
     {PROTO_Z3950,   CLASS_RECSYN,  VAL_CCF,          {5,3,-1},
      "CCF"},
+    /* MARC21 is just an alias for the original USmarc */
+    {PROTO_Z3950,   CLASS_RECSYN,  VAL_USMARC,       {5,10,-1},
+     "MARC21"},
     {PROTO_Z3950,   CLASS_RECSYN,  VAL_USMARC,       {5,10,-1},
      "USmarc"},
     {PROTO_Z3950,   CLASS_RECSYN,  VAL_UKMARC,       {5,11,-1},
@@ -305,6 +311,8 @@ static oident standard_oids[] =
      "Zthes-tagset"},
     {PROTO_Z3950,   CLASS_NEGOT,   VAL_CHARNEG3,     {15,3,-1},
      "CharSetandLanguageNegotiation-3"},
+    {PROTO_Z3950,   CLASS_NEGOT,   VAL_CHARNEG4,     {15,4,-1},
+     "CharSetandLanguageNegotiation-4"},
     {PROTO_Z3950,   CLASS_NEGOT,   VAL_ID_CHARSET,   {15,1000,81,1,-1},
      "ID-Charset" },
     {PROTO_Z3950,   CLASS_USERINFO,VAL_CQL,          {16, 2, -1},
@@ -534,7 +542,7 @@ static oid_value oid_getval_raw(const char *name)
     int val = 0, i = 0, oid[OID_SIZE];
     struct oident *oident;
     
-    while (isdigit (*name))
+    while (isdigit (*(const unsigned char *) name))
     {
         val = val*10 + (*name - '0');
         name++;
@@ -560,7 +568,7 @@ oid_value oid_getvalbyname(const char *name)
     struct oident_list *ol;
 
     oid_init ();
-    if (isdigit (*name))
+    if (isdigit (*(const unsigned char *) name))
         return oid_getval_raw (name);
     for (ol = oident_table; ol; ol = ol->next)
        if (!yaz_matchstr(ol->oident.desc, name))