Issue 2307: Error in C language specification (c_mapping-rtf) Source: (, ) Nature: Uncategorized Issue Severity: Summary: Summary: There is very probably a small error in the C language specification. Below is what I wrote to the mailing list concerned with building the ORBit ORB. It was confirmed by one of the main coders behind ORBit. > This is something else, but I was more confused because the OMG "C language > mapping" spec at page 19-39 really seems to contain an error. > In that example, they also create an application specific servant structure called > AppServant, and they set the finalizer using > > AppServant my_servant = ... > > my_servant.epv._base_epv.finalize = my_finalizer_func; > > That should really have been (at least, that"s what I think): > > my_servant.base.vepv._base_epv.finalize = my_finalizer_func; > > I hope you agree with me there, or else I"m probably getting out of touch with C. Resolution: Revised Text: Actions taken: January 18, 1999: received issue March 2, 1999: issue moved to c_mapping-rtf Discussion: End of Annotations:===== Date: Tue, 19 Jan 1999 00:27:35 +0100 From: Erwin Bolwidt Organization: Project Buzz and ZAP! X-Accept-Language: en To: issues@omg.org Subject: Error in C language specification Hello, There is very probably a small error in the C language specification. Below is what I wrote to the mailing list concerned with building the ORBit ORB. It was confirmed by one of the main coders behind ORBit. > This is something else, but I was more confused because the OMG "C language > mapping" spec at page 19-39 really seems to contain an error. > In that example, they also create an application specific servant structure called > AppServant, and they set the finalizer using > > AppServant my_servant = ... > > my_servant.epv._base_epv.finalize = my_finalizer_func; > > That should really have been (at least, that's what I think): > > my_servant.base.vepv._base_epv.finalize = my_finalizer_func; > > I hope you agree with me there, or else I'm probably getting out of touch with C. Best regards, Erwin Bolwidt X-Mozilla-Status2: 00000000 Message-ID: <369935E2.DD190651@xs4all.nl> Date: Mon, 11 Jan 1999 00:21:06 +0100 From: Erwin Bolwit Organization: Project Buzz and ZAP! X-Mailer: Mozilla 4.5 [en] (WinNT; I) X-Accept-Language: en MIME-Version: 1.0 To: orbit-list@cuc.edu Subject: Re: Confused about servant structures. References: <36992845.1362742E@xs4all.nl> <19990110230241.A29545@iidick.swan.ac.uk> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Dick Porter wrote: > Note the lack of a * in the line: > > POA_WSI_ServerContext servant; > > This just overlays the second structure on the first, so a cast will allow you > to pretend that you have a POA_WSI_ServerContext without the trailing elements. > Wow, you're amazing. I was getting completely starry-eyed. This is something else, but I was more confused because the OMG "C language mapping" spec at page 19-39 really seems to contain an error. In that example, they also create an application specific servant structure called AppServant, and they set the finalizer using AppServant my_servant = ... my_servant.epv._base_epv.finalize = my_finalizer_func; That should really have been (at least, that's what I think): my_servant.base.vepv._base_epv.finalize = my_finalizer_func; I hope you agree with me there, or else I'm probably getting out of touch with C. - Erwin