[PATCH] Fix c_align for arrays in orbit-imodule idl -> iinterface code
- From: Christophe Saout <christophe saout de>
- To: orbit-list gnome org
- Subject: [PATCH] Fix c_align for arrays in orbit-imodule idl -> iinterface code
- Date: Sat, 22 May 2004 02:27:10 +0200
Hi,
there's a bug in ORBit-imodule where some c_aligns are not set in the
IDL -> IModule code.
The ARRAY case creates multiple nested types at once, but the code below
expects only one new typecode to be created (where the new c_align gets
calculated), so just copy the c_align from the children when a new array
TypeCode is created.
--- ORBit2-2.10.1.orig/src/services/imodule/orbit-imodule-utils.c 2002-12-28 22:32:00.000000000 +0100
+++ ORBit2-2.10.1/src/services/imodule/orbit-imodule-utils.c 2004-05-22 02:22:37.196835168 +0200
@@ -670,6 +670,7 @@
retval = CORBA_ORB_create_array_tc (NULL,
IDL_INTEGER (IDL_LIST (sizer).data).value,
subtc, &env);
+ retval->c_align = subtc->c_align;
CORBA_Object_release ((CORBA_Object) subtc, NULL);
for (sizer = IDL_LIST (sizer).prev; sizer; sizer = IDL_LIST (sizer).prev) {
@@ -677,6 +678,7 @@
retval = CORBA_ORB_create_array_tc (NULL,
IDL_INTEGER (IDL_LIST (sizer).data).value,
subtc, &env);
+ retval->c_align = subtc->c_align;
CORBA_Object_release ((CORBA_Object) subtc, NULL);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]