Further ODR tests
authorAdam Dickmeiss <adam@indexdata.dk>
Tue, 20 May 2003 20:21:34 +0000 (20:21 +0000)
committerAdam Dickmeiss <adam@indexdata.dk>
Tue, 20 May 2003 20:21:34 +0000 (20:21 +0000)
odr/odr_util.c
odr/tstodr.c

index 26a672c..c8b35b8 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (c) 1995-2003, Index Data
  * See the file LICENSE for details.
  *
- * $Id: odr_util.c,v 1.23 2003-05-20 19:55:30 adam Exp $
+ * $Id: odr_util.c,v 1.24 2003-05-20 20:21:34 adam Exp $
  */
 #if HAVE_CONFIG_H
 #include <config.h>
@@ -87,8 +87,7 @@ int odr_missing(ODR o, int opt, const char *name)
         return 0;
     if (!opt)
     {
-        printf ("odr_missing set error : %s\n", name);
-        odr_seterror(o, OREQUIRED, 55);
+        odr_seterror(o, OREQUIRED, 53);
         odr_setaddinfo(o, name);
     }
     return opt;
index 4d681a1..11aa4c9 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (c) 1995-2003, Index Data
  * See the file LICENSE for details.
  *
- * $Id: tstodr.c,v 1.3 2003-05-20 19:55:30 adam Exp $
+ * $Id: tstodr.c,v 1.4 2003-05-20 20:21:34 adam Exp $
  *
  */
 #include <stdio.h>
@@ -78,6 +78,28 @@ void tst_MySequence2(ODR encode, ODR decode)
         exit(13);
 }
 
+void tst_MySequence3(ODR encode, ODR decode)
+{
+    char buf[40];
+    int i;
+    Yc_MySequence *t;
+
+    srand(123);
+    for (i = 0; i<1000; i++)
+    {
+        int j;
+        for (j = 0; j<sizeof(buf); j++)
+            buf[j] = rand();
+
+        for (j = 1; j<sizeof(buf); j++)
+        {
+            odr_setbuf(decode, buf, j, 0);
+            yc_MySequence(decode, &t, 0, 0);
+            odr_reset(decode);
+        }
+    }
+}
+
 int main(int argc, char **argv)
 {
     ODR odr_encode = odr_createmem(ODR_ENCODE);
@@ -85,6 +107,7 @@ int main(int argc, char **argv)
 
     tst_MySequence1(odr_encode, odr_decode);
     tst_MySequence2(odr_encode, odr_decode);
+    tst_MySequence3(odr_encode, odr_decode);
 
     odr_destroy(odr_encode);
     odr_destroy(odr_decode);