[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: Using consistent calling convention declarations (ITS 1074)
I don't see any problem doing this in regards to UNIX
builds. I'd suggesting first applying the changes to
one of the smaller libraries (e.g. -lldif) and then
see what issues pop up in other build environments.
Kurt
At 02:57 PM 2001-09-06, Dave Steck wrote:
>There's a problem with inconsistent function declarations in the CLDAP client code.
>
>The include files prototype functions like this:
> LDAP_F ( int ) ldap_search_ext ( ... );
>
>But the source code usually declares functions like this, without the LDAP_F:
> int ldap_search_ext (...)
> { ... }
>
>LDAP_F is a macro in ldap_cdefs.h which gives the developer some control over the calling convention.
>By leaving out the LDAP_F in the function declaration, it's making an assumption about the compiler defaults. In MSVC6, the default compiler options cause compilation errors in our build environment.
>
>For various reasons, we can't just change the compiler option. To build the library as a DLL, we've had to modify all the source code to declare it consistently (1000's of places!). Makes synching with OpenLDAP very painful. Same situation for LDAP_LDIF_F, LDAP_LUTIL_F, etc.
>
>I'd like to propose modifying the source code to declare functions consistently.
>Functions that are exported MUST have the LDAP_F declaration.
>For purely internal private functions, I don't care whether it contains LDAP_F or not, as long as it matches.
>
>I'd be willing to do the work (he who whines... :)
>Does anyone have reasons this should not be done?
>Is it going to cause anyone problems?
>
>-------------
>Dave Steck
>Novell, Inc., the leading provider of Net services software