Hello.
I'm using SQLite in my project that compiles by MSVC 6.0 in
Windows XP. I've upgraded SQLite library from 3.7.8 to
3.7.10 and got a problem. Builds went fine, but when I was
launching my application, I got memory fault. Application
faulted on first call of sqlite3_open_v2() function. I
tracked it down and found, that fault caused by call of
osGetFullPathNameW() in winFullPathname(). By some reason
pointer, that must point to GetFullPathNameW() was NULL. As
I understand it is because SQLITE_OS_WINNT was defined as 0,
because I haven't defined _WIN32_WINNT. I think that SQLite
realized that there is no wide char support
(SQLITE_WIN32_HAS_WIDE was not defined). I wonder is this
correct? MSDN says, that GetFullPathNameW() is present since
Windows 95, so i thought function GetFullPathNameW() can be
used when _WIN32_WINNT is not defined. For now I've just
defined _WIN32_WINNT as 0x500, but not sure is it correct,
and will my application works if it will be launched under
Windows 9X. Test case for reproducing problem is included.
Just put sqlite3.c and sqlite3.h in same directory as
included files test.c and makefile.vc and run nmake -f
makefile.vc. After that just run test.exe.
OS Windows XP SP3, Compiler Microsoft Visual Studio 6.0 SP5,
SQLite sources
http://www.sqlite.org/sqlite-amalgamation-3071000.zip
PS.Sorry for my bad English.
--
WBR,
darkelf mailto:dark...@ukr.net
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users