Fixed bug in tagging.
[yaz-moved-to-github.git] / asn / prt-exp.c
index 2904d45..fa6ab2b 100644 (file)
@@ -4,14 +4,28 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: prt-exp.c,v $
- * Revision 1.1  1995-08-10 08:54:02  quinn
+ * Revision 1.6  1995-12-14 11:09:09  quinn
+ * Fixed bug in tagging.
+ *
+ * Revision 1.5  1995/12/05  11:15:50  quinn
+ * Work.
+ *
+ * Revision 1.4  1995/09/29  17:11:54  quinn
+ * Smallish
+ *
+ * Revision 1.3  1995/09/27  15:02:42  quinn
+ * Modified function heads & prototypes.
+ *
+ * Revision 1.2  1995/08/15  11:59:43  quinn
+ * Updated External
+ *
+ * Revision 1.1  1995/08/10  08:54:02  quinn
  * Added Explain
  *
  *
  */
 
 #include <proto.h>
-#include <prt-exp.h>
 
 int z_LanguageCode(ODR o, char **p, int opt);
 int z_CommonInfo(ODR o, Z_CommonInfo **p, int opt);
@@ -126,7 +140,10 @@ int z_HumanString(ODR o, Z_HumanString **p, int opt)
     if (o->direction == ODR_DECODE)
        *p = odr_malloc(o, sizeof(**p));
     else if (!*p)
+    {
+       o->t_class = -1;
        return opt && odr_ok(o);
+    }
     if (odr_sequence_of(o, z_HumanStringUnit, &(*p)->strings,
        &(*p)->num_strings))
        return 1;
@@ -162,7 +179,10 @@ int z_IconObject(ODR o, Z_IconObject **p, int opt)
     if (o->direction == ODR_DECODE)
        *p = odr_malloc(o, sizeof(**p));
     else if (!*p)
+    {
+       o->t_class = -1;
        return opt;
+    }
     if (odr_sequence_of(o, z_IconObjectUnit, &(*p)->iconUnits,
        &(*p)->num_iconUnits))
        return 1;
@@ -642,7 +662,7 @@ int z_DatabaseInfo(ODR o, Z_DatabaseInfo **p, int opt)
         odr_implicit(o, z_HumanString, &(*p)->disclaimers, ODR_CONTEXT,
            12, 1) &&
         odr_implicit(o, z_HumanString, &(*p)->news, ODR_CONTEXT, 13, 1) &&
-       ((odr_constructed_begin(o, p, ODR_CONTEXT, 14) &&
+       ((odr_constructed_begin(o, &(*p)->recordCount, ODR_CONTEXT, 14) &&
            odr_choice(o, arm, &(*p)->recordCount, &(*p)->recordCount_which) &&
            odr_constructed_end(o)) || odr_ok(o)) &&
         odr_implicit(o, z_HumanString, &(*p)->defaultOrder, ODR_CONTEXT,
@@ -923,7 +943,7 @@ int z_ExtendedServicesInfo(ODR o, Z_ExtendedServicesInfo **p, int opt)
         odr_implicit(o, odr_bool, &(*p)->retentionSupported, ODR_CONTEXT, 8, 0) &&
         odr_implicit(o, odr_integer, &(*p)->waitAction, ODR_CONTEXT, 9, 0) &&
         odr_implicit(o, z_HumanString, &(*p)->description, ODR_CONTEXT, 10, 1) &&
-        odr_implicit(o, odr_external, &(*p)->specificExplain, ODR_CONTEXT, 11, 1) &&
+        odr_implicit(o, z_External, &(*p)->specificExplain, ODR_CONTEXT, 11, 1) &&
         odr_implicit(o, z_InternationalString, &(*p)->esASN, ODR_CONTEXT, 12, 1) &&
         odr_sequence_end(o);
 }
@@ -1150,7 +1170,7 @@ int z_ProcessingInformation(ODR o, Z_ProcessingInformation **p, int opt)
            3, 0) &&
         odr_implicit(o, odr_oid, &(*p)->oid, ODR_CONTEXT, 4, 0) &&
         odr_implicit(o, z_HumanString, &(*p)->description, ODR_CONTEXT, 5, 1) &&
-        odr_implicit(o, odr_external, &(*p)->instructions, ODR_CONTEXT, 6, 1) &&
+        odr_implicit(o, z_External, &(*p)->instructions, ODR_CONTEXT, 6, 1) &&
         odr_sequence_end(o);
 }