Hi Kamath, Adb headers already follow that and you will never get redefinition problems including many of them.
Thanks Dimuthu On Mon, Apr 21, 2008 at 7:02 PM, Kamath, Navin <[EMAIL PROTECTED]> wrote: > > > > > Hi, > > > > The right way to do it is to define it in a header file and provide header > macro guards inside the header file > > > > #ifndef SOME_UNIQUE_IDENTIFIER > > #define SOME_UNIQUE_IDENTIFIER > > > > // struct defn > > //whatever else > > > > #endif /*SOME_UNIQUE_IDENTIFIER*/ > > > > But I am new to Axis2 as well, so better wait for more comments from experts > before implementing it rapidly > > > > Regards, > > Navin > > ________________________________ > > > From: Lefrancois, Carl [mailto:[EMAIL PROTECTED] > Sent: 21 April 2008 14:26 > To: Apache AXIS C User List > Subject: RE : WSDL2C: structure definition is generated in C file so sizeof > fails compilation > > > > > > > > Hi Alebu, > > > > > > I may be mistaken, but there will be some type redefinition problems if the > struct is defined in a header that is included by many other files. Is it > possible to create an instance of the struct and use sizeof() on that at > run-time? HTH > > > > > > > > > -----Message d'origine----- > De : alebu [mailto:[EMAIL PROTECTED] > Envoyé : lundi, avril 21, 2008 08:38 > À : Apache AXIS C User List > Objet : WSDL2C: structure definition is generated in C file so sizeof fails > compilation > > Hi, I am generating web service using WSDL2C. In generated code I got such a > division of sources: > In header (.h) file i got type declaration like: > typedef struct adb_my_type adb_my_type_t; > > But adb_my_type structure is located in source file (.c): > struct adb_my_type { > // declaration of my_type > }; > > Such a location of sources creates a problem when I trying to allocate > memory for such a structure. > sizeof(adb_my_type_t) fails with incomplete type ... > As I understand, it happens because compiler can't discover exact size of > structure from header, because actual information > is available only from source file. > I moved declaration to header like: > struct adb_my_type { > // declaration of my_type > }; > typedef struct adb_my_type adb_my_type_t; > > And now everything works fine, so I think that it is better to generate > code in such way. > Or maybe there is some motivation to do it like it is made for now? > If so, then what is that motivation? And how then to get size of structure? > I think It is code generator bug so thats why I actually write that letter. > > > > > ________________________________ > > > > "Ce message est confidentiel, à l'usage exclusif du destinataire ci-dessus > et son contenu ne représente en aucun cas un engagement de la part de AXA, > sauf en cas de stipulation expresse et par écrit de la part de AXA. Toute > publication, utilisation ou diffusion, même partielle, doit être autorisée > préalablement. Si vous n'êtes pas destinataire de ce message, merci d'en > avertir immédiatement l'expéditeur." > > "This e-mail message is confidential, for the exclusive use of the > addressee and its contents shall not constitute a commitment by AXA, except > as otherwise specifically provided in writing by AXA. Any unauthorized > disclosure, use or dissemination, either whole or partial, is prohibited. If > you are not the intended recipient of the message, please notify the sender > immediately." ---------------------------- > IONA Technologies PLC (registered in Ireland) > Registered Number: 171387 > Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
