[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