[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