error in interbase.c

php.internals

Kevin Waterson

22 years ago
I have been getting a compile error when compiling with interbase /home/kevin/php5-200309100330/ext/interbase/interbase.c:328: parse error before "ISC_LONG" make: *** [ext/interbase/interbase.lo] Error 1 line 328 is.. qd->gds_quad_low = (unsigned ISC_LONG) (res & 0xFFFFFFFF); */ removing the unsigned fixes it for me qd->gds_quad_low = (ISC_LONG) (res & 0xFFFFFFFF); using firebird 1.5.0 Kind regards Kevin
-- ______ (_____ \ _____) ) ____ ____ ____ ____ | ____/ / _ ) / _ | / ___) / _ ) | | ( (/ / ( ( | |( (___ ( (/ / |_| \____) \_||_| \____) \____) Kevin Waterson Port Macquarie, Australia

Ard Biesheuvel

22 years ago
> line 328 is.. > qd->gds_quad_low = (unsigned ISC_LONG) (res & 0xFFFFFFFF); */ > > removing the unsigned fixes it for me > qd->gds_quad_low = (ISC_LONG) (res & 0xFFFFFFFF); >
Thanks for the report. It was only changed recently because IB < 6 doesn't define ISC_ULONG. Apparently, FB defines ISC_LONG as 'signed long' which doesn't make sense if you prepend 'unsigned'. As it only matter for size, ISC_LONG is just as good. Changed back in CVS
-- Ard