[freetds] CS_INT size bug

jklowden at schemamania.org jklowden at schemamania.org
Sat Sep 2 15:13:06 EDT 2006


On Sat, Sep 02, 2006 at 12:04:59PM +0200, Norbert Sendetzky wrote:
> Hi all
> 
> The 32 bit types CS_INT and tds_sysdep_int32_type are incorrectly defined 
> to "int", which is only true for 32bit plattforms. 
... 
> --- freetds-0.64/include/tds_sysdep_public.h    2006-08-19 15:33:07.000000000 
> +0200
> +++ freetds-0.64.new/include/tds_sysdep_public.h        2006-09-02 
> 11:53:21.000000000 +0200
> @@ -46,7 +46,7 @@
>  #endif                         /* !tds_sysdep_int16_type */
> 
>  #ifndef tds_sysdep_int32_type
> -#define tds_sysdep_int32_type int      /* 32-bit int */
> +#define tds_sysdep_int32_type long     /* 32-bit int */
>  #endif                         /* !tds_sysdep_int32_type */

tds_sysdep_public.h is generated by the configure script, which tests the 
machine it's run on and sets the size of tds_sysdep_int32_type accordingly.  

If you were to run configure on a 32-bit machine and move the resulting 
source code tree to a 64-bit one, I'd expect the error you're encountering
(unless you used the --build option).  

If you didn't do anything so fancy, please have a look at config.log and 
let us know what hardware architecture you're using.  Maybe the config.guess
file has become outdated.  

Regards, 

--jkl




More information about the FreeTDS mailing list