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
Add support for privately defined extended service, xml update, with
[yaz-moved-to-github.git]
/
src
/
oid.c
diff --git
a/src/oid.c
b/src/oid.c
index
b7ec98d
..
bd40674
100644
(file)
--- a/
src/oid.c
+++ b/
src/oid.c
@@
-1,8
+1,8
@@
/*
/*
- * Copyright (c) 1995-2004, Index Data
+ * Copyright (C) 1995-2005, Index Data ApS
* See the file LICENSE for details.
*
* See the file LICENSE for details.
*
- * $Id: oid.c,v 1.6 2004-12-30 00:12:54 adam Exp $
+ * $Id: oid.c,v 1.9 2005-06-06 10:29:33 adam Exp $
*/
/**
*/
/**
@@
-317,17
+317,19
@@
static oident standard_oids[] =
"ID-Charset" },
{PROTO_Z3950, CLASS_USERINFO,VAL_CQL, {16, 2, -1},
"CQL"},
"ID-Charset" },
{PROTO_Z3950, CLASS_USERINFO,VAL_CQL, {16, 2, -1},
"CQL"},
- {PROTO_GENERAL, CLASS_GENERAL, VAL_UCS2, {1,0,10646,1,0,2,-1},
+ {PROTO_GENERAL, CLASS_GENERAL, VAL_UCS2, {1,0,10646,1,0,2,-1},
"UCS-2"},
"UCS-2"},
- {PROTO_GENERAL, CLASS_GENERAL, VAL_UCS4, {1,0,10646,1,0,4,-1},
+ {PROTO_GENERAL, CLASS_GENERAL, VAL_UCS4, {1,0,10646,1,0,4,-1},
"UCS-4"},
"UCS-4"},
- {PROTO_GENERAL, CLASS_GENERAL, VAL_UTF16, {1,0,10646,1,0,5,-1},
+ {PROTO_GENERAL, CLASS_GENERAL, VAL_UTF16, {1,0,10646,1,0,5,-1},
"UTF-16"},
"UTF-16"},
- {PROTO_GENERAL, CLASS_GENERAL, VAL_UTF8, {1,0,10646,1,0,8,-1},
+ {PROTO_GENERAL, CLASS_GENERAL, VAL_UTF8, {1,0,10646,1,0,8,-1},
"UTF-8"},
"UTF-8"},
- {PROTO_Z3950, CLASS_USERINFO,VAL_OCLCUI, {10, 1000, 17, 1, -1},
+ {PROTO_Z3950, CLASS_USERINFO,VAL_OCLCUI, {10, 1000, 17, 1, -1},
"OCLC-userInfo"},
"OCLC-userInfo"},
- {PROTO_NOP, CLASS_NOP, VAL_NOP, {-1}, 0 }
+ {PROTO_Z3950, CLASS_EXTSERV, VAL_XMLUPDATE, {9,1000,105,4,-1},
+ "XMLUpdate-ES"},
+ {PROTO_NOP, CLASS_NOP, VAL_NOP, {-1}, 0 }
};
/* OID utilities */
};
/* OID utilities */
@@
-493,7
+495,6
@@
struct oident *oid_addent (int *oid, enum oid_proto proto,
nmem_mutex_enter (oid_mutex);
if (!oident)
{
nmem_mutex_enter (oid_mutex);
if (!oident)
{
- char desc_str[200];
struct oident_list *oident_list;
oident_list = (struct oident_list *)
nmem_malloc (oid_nmem, sizeof(*oident_list));
struct oident_list *oident_list;
oident_list = (struct oident_list *)
nmem_malloc (oid_nmem, sizeof(*oident_list));
@@
-503,14
+504,20
@@
struct oident *oid_addent (int *oid, enum oid_proto proto,
if (!desc)
{
if (!desc)
{
+ char desc_str[OID_SIZE*10];
int i;
int i;
- sprintf (desc_str, "%d", *oid);
- for (i = 1; i < 12 && oid[i] >= 0; i++)
- sprintf (desc_str+strlen(desc_str), ".%d", oid[i]);
- desc = desc_str;
+ *desc_str = '\0';
+ if (*oid >= 0)
+ {
+ sprintf (desc_str, "%d", *oid);
+ for (i = 1; i < OID_SIZE && oid[i] >= 0; i++)
+ sprintf (desc_str+strlen(desc_str), ".%d", oid[i]);
+ }
+ oident->desc = nmem_strdup(oid_nmem, desc_str);
}
}
- oident->desc = nmem_strdup (oid_nmem, desc);
+ else
+ oident->desc = nmem_strdup(oid_nmem, desc);
if (value == VAL_DYNAMIC)
oident->value = (enum oid_value) (++oid_value_dynamic);
else
if (value == VAL_DYNAMIC)
oident->value = (enum oid_value) (++oid_value_dynamic);
else