Shane Harrelson <sh...@...> writes: > I'd be worried that other 64 bit calculations are going wrong as well. > > Can you verify what type sqlite3_int64 is being set to in your environment? > > Also can you try the following (note the L suffix on the constants): > > static const sqlite3_int64 max32BitValue = > (sqlite3_int64)2000000000L + (sqlite3_int64)2000000000L + > (sqlite3_int64)294967296L; > Results not as I expected. Adding L didn't change anything. However, removing the casts leaving just this: 2000000000L + 2000000000L + 294967296L; results in compiler error: Numeric constant too large in function winCurrentTime
Then I tried this: 2L*2000000000L + 294967296L; No compiler error but still left with a result of zero. Remaining options which do work (with or without the L) are: Amazingly: 4294967296L; or this: 0x0100000000L; or this: (sqlite3_int64)1<<32; // but only with typecast 4eanlss _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users