[cvsnt-dev] compilation fails under Linux

Tony Hoyle tony.hoyle at march-hare.com
Tue Jul 26 22:09:37 BST 2005

Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.

Richard Wirth wrote:

> There are some (minor) issues when building 64 bit binaries:
> In cvsapi/cvs_string.cpp the compiler complains about short used with
> va_arg(): "'short int' is promoted to 'int' when passed through '...'"
> (line 203 ff.)

It does that in 32bit too on some architectures (sparc is one of the iirc).

It depends on how the arch implements its arguments.. the routine is 
primarily so I can catch potential null parameters (which cause solaris 
to blow up) in the windows and linux builds as well.  It's too darned 
useful to only have during debug, as I've found more than once since 
adding it....  I'm not sure how to test for it.. might end up with a 
huge string of ifdefs.

> In cvsapi/odbc/OdbcConnection.cpp all calls to SQLSetEnvAttr() the
> last Parameter is int and NULL is passed. This causes some warnings on
> architectures where sizeof(int) < sizeof(void*).

There's only one SQLSetEnvAttr call :)  I'm guessing the other SQLSet... 
functions are similarly afflicted, but I'll have to check the definitions.

> In cvsapi/odbc/OdbcRecordset.h long and int are mixed up for variables
> used with the odbc interface. This causes error on architectures
> where sizeof(int) != sizeof(long).
I use the ones that are defined in the header files, admittedly the 
microsoft ones...

It's a throwback to when I couldn't use the typedefs as the header file 
was included by cvsapi.h.. now it's private I can use the SQLxxx 


More information about the cvsnt-dev mailing list