* LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*
- * $Id: odr.h,v 1.19 2005-01-27 09:04:07 adam Exp $
+ * $Id: odr.h,v 1.20 2005-05-26 21:47:16 adam Exp $
*/
/**
const char *name);
YAZ_EXPORT int ber_bitstring(ODR o, Odr_bitmask *p, int cons);
YAZ_EXPORT int odr_generalstring(ODR o, char **p, int opt, const char *name);
-YAZ_EXPORT int ber_oidc(ODR o, Odr_oid *p);
+YAZ_EXPORT int ber_oidc(ODR o, Odr_oid *p, int max_oid_size);
YAZ_EXPORT int odr_oid(ODR o, Odr_oid **p, int opt, const char *name);
YAZ_EXPORT int odr_choice(ODR o, Odr_arm arm[], void *p, void *whichp,
const char *name);
-- Small ASN.1 spec for tstodr test
--- $Id: tstodr.asn,v 1.1 2003-10-27 12:21:38 adam Exp $
+-- $Id: tstodr.asn,v 1.2 2005-05-26 21:47:16 adam Exp $
tstodrcodec
{tstodrcodec} DEFINITIONS ::=
BEGIN
fifth [5] IMPLICIT INTEGER {
enum1(0),
enum2(1)
- }
+ },
+ myoid [6] IMPLICIT OBJECT IDENTIFIER
}
END
* Copyright (C) 1995-2005, Index Data ApS
* See the file LICENSE for details.
*
- * $Id: tstodr.c,v 1.4 2005-02-01 17:23:36 adam Exp $
+ * $Id: tstodr.c,v 1.5 2005-05-26 21:47:16 adam Exp $
*
*/
#include <stdlib.h>
#include <stdio.h>
#include <yaz/odr.h>
+#include <yaz/oid.h>
#include "tstodrcodec.h"
+#define MYOID "1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19"
+
void tst_MySequence1(ODR encode, ODR decode)
{
char *ber_buf;
s->third = odr_intdup(encode, 1);
s->fourth = odr_nullval();
s->fifth = odr_intdup(encode, YC_MySequence_enum1);
+
+ s->myoid = odr_getoidbystr(decode, MYOID);
if (!yc_MySequence(encode, &s, 0, 0))
exit(1);
exit(7);
if (!t->fifth || *t->fifth != YC_MySequence_enum1)
exit(8);
+ if (!t->myoid)
+ exit(9);
+ else
+ {
+ int *myoid = odr_getoidbystr(decode, MYOID);
+ struct oident *oident;
+
+ if (oid_oidcmp(myoid, t->myoid))
+ exit(10);
+ oident = oid_getentbyoid(t->myoid);
+ }
}
void tst_MySequence2(ODR encode, ODR decode)
s->third = odr_intdup(encode, 1);
s->fourth = odr_nullval();
s->fifth = odr_intdup(encode, YC_MySequence_enum1);
+ s->myoid = odr_getoidbystr(encode, MYOID);
if (yc_MySequence(encode, &s, 0, 0)) /* should fail */
exit(9);