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

Reply via email to