* 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.7 2005-08-22 20:34:23 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->first = odr_intdup(encode, 12345);
s->second = odr_malloc(encode, sizeof(*s->second));
- s->second->buf = "hello";
+ s->second->buf = (unsigned char *) "hello";
s->second->len = 5;
s->second->size = 0;
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->first = 0; /* deliberately miss this .. */
s->second = odr_malloc(encode, sizeof(*s->second));
- s->second->buf = "hello";
+ s->second->buf = (unsigned char *) "hello";
s->second->len = 5;
s->second->size = 0;
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);
odr_destroy(odr_decode);
exit(0);
}
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+