[omniORB] omniORB 3 pre-release 3 is now available

David Scott djs@uk.research.att.com
Mon, 3 Jul 2000 16:05:51 +0100 (BST)


Hi,

On Mon, 3 Jul 2000, Gary D. Duzan wrote:

>    Under AIX 4.2.1 and xlC 3.1.4, I get this when compiling the
> one of our application stubs:
>
> [undefined typecode error message snipped]

This bug has now (hopefully) been fixed in our internal cvs tree and will
propagate to the external server overnight. Since the patch is so small,
here it is:

--- src/lib/omniORB2/omniidl_be/cxx/dynskel/typecode.py	2000/06/26
16:23:27	1.14.2.6
+++ src/lib/omniORB2/omniidl_be/cxx/dynskel/typecode.py	2000/07/03
14:42:34
@@ -439,7 +439,19 @@
         memberType = child.memberType()
         if isinstance(memberType, idltype.Declared):
             memberType.decl().accept(self)
+        elif isinstance(memberType, idltype.Sequence):
+            # anonymous sequence (maybe sequence<sequence<...<T>>>)
+            # Find the ultimate base type, and if it's user declared then
+            # produce a typecode definition for it.
+            base_type = memberType.seqType()
+            while isinstance(base_type, idltype.Sequence):
+                base_type = base_type.seqType()
 
+            # careful of recursive structs
+            if isinstance(base_type, idltype.Declared) and \
+               not(recursive(base_type.decl())):
+                base_type.decl().accept(self)
+                        

Sorry about that!

-- 
  Dave Scott, Research Engineer, AT&T Laboratories Cambridge UK