Changed ES: Update OID
[yaz-moved-to-github.git] / util / oid.c
index af20221..6276424 100644 (file)
@@ -4,7 +4,19 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: oid.c,v $
- * Revision 1.28  1998-10-13 16:01:53  adam
+ * Revision 1.32  1999-02-18 10:30:46  quinn
+ * Changed ES: Update OID
+ *
+ * Revision 1.31  1998/12/03 11:33:05  adam
+ * Added OID's for XML.
+ *
+ * Revision 1.30  1998/10/18 07:48:56  adam
+ * Fixed oid_getentbyoid so that it returns NULL when parsed oid is NULL.
+ *
+ * Revision 1.29  1998/10/14 13:32:35  adam
+ * Added include of string.h.
+ *
+ * Revision 1.28  1998/10/13 16:01:53  adam
  * Implemented support for dynamic object identifiers.
  * Function oid_getvalbyname now accepts raw OID's as well as traditional
  * names.
  */
 
 #include <stdlib.h>
+#include <string.h>
 #include <ctype.h>
 
 #include <oid.h>
@@ -205,7 +218,10 @@ static oident oids[] =
     {PROTO_Z3950,   CLASS_RECSYN,  VAL_ID_SGML,   {5,1000,81,1,-1},"ID-SGML" },
 #endif
     {PROTO_Z3950,   CLASS_RECSYN,  VAL_SOIF,      {5,1000,81,2,-1},"SOIF" },
-
+    {PROTO_Z3950,   CLASS_RECSYN,  VAL_TEXT_XML,  {5,109,10,-1}, "text-XML" },
+    {PROTO_Z3950,   CLASS_RECSYN,  VAL_TEXT_XML,  {5,109,10,-1}, "XML" },
+    {PROTO_Z3950,   CLASS_RECSYN,  VAL_APPLICATION_XML,
+          {5,109,11,-1}, "application-XML" },
     {PROTO_Z3950,   CLASS_RESFORM, VAL_RESOURCE1, {7,1,-1},    "Resource-1"  },
     {PROTO_Z3950,   CLASS_RESFORM, VAL_RESOURCE2, {7,2,-1},    "Resource-2"  },
     {PROTO_Z3950,   CLASS_RESFORM, VAL_UNIVERSE_REPORT,  {7,1000,81,1,-1}, "UNIverse-Resource-Report"},
@@ -218,7 +234,7 @@ static oident oids[] =
     {PROTO_Z3950,   CLASS_EXTSERV, VAL_PQUERY,    {9,2,-1},    "Pers. query" },
     {PROTO_Z3950,   CLASS_EXTSERV, VAL_PCQUERY,   {9,3,-1},    "Per'd query" },
     {PROTO_Z3950,   CLASS_EXTSERV, VAL_ITEMORDER, {9,4,-1},    "Item order"  },
-    {PROTO_Z3950,   CLASS_EXTSERV, VAL_DBUPDATE,  {9,5,-1},    "DB. Update"  },
+    {PROTO_Z3950,   CLASS_EXTSERV, VAL_DBUPDATE,  {9,5,1,1,-1},    "DB. Update"  },
     {PROTO_Z3950,   CLASS_EXTSERV, VAL_EXPORTSPEC,{9,6,-1},    "exp. spec."  },
     {PROTO_Z3950,   CLASS_EXTSERV, VAL_EXPORTINV, {9,7,-1},    "exp. inv."   },
 
@@ -412,8 +428,6 @@ static struct oident *oid_getentbyoid_x(int *o)
     struct oident_list *ol;
     
     /* determine protocol type */
-    if (!o)
-        return 0;
     if ((prelen = match_prefix(o, z3950_prefix)) != 0)
         proto = PROTO_Z3950;
     else if ((prelen = match_prefix(o, sr_prefix)) != 0)
@@ -513,6 +527,9 @@ struct oident *oid_addent (int *oid, int proto, int oclass,
 struct oident *oid_getentbyoid(int *oid)
 {
     struct oident *oident;
+
+    if (!oid)
+       return 0;
     oid_init ();
     oident = oid_getentbyoid_x (oid);
     if (!oident)