2014-08-15 12:50 GMT+02:00 Jan Nijtmans <jan.nijtm...@gmail.com>: > Looking at the function sqlite3_win32_is_nt() > It should simply return 1 on any > currently supported platform. Looking closely, > it returns 0 on Windows RT, but who cares .... > (leaving the "why" as practice for the reader)
It looks like this is on its way to being corrected: <www.sqlite.org/src/info/2f59e71fbf> However, I don't think this will work on Win95/98/NT (not that I really care ......). The reason: GetVersionExW() will be called to check whether the kernal is NT-based, but Win95/98/NT is not NT-based so it doesn't have this function ;-). Suggested solution: <http://www.sqlite.org/src/info/169fc47e16> Second-best suggested solution as patch below (based on the winrt branch) Regards, Jan Nijtmans Index: src/os_win.c ================================================================== --- src/os_win.c +++ src/os_win.c @@ -1323,17 +1323,17 @@ ** kernel. */ return 1; #elif defined(SQLITE_WIN32_GETVERSIONEX) && SQLITE_WIN32_GETVERSIONEX if( osInterlockedCompareExchange(&sqlite3_os_type, 0, 0)==0 ){ -#if defined(SQLITE_WIN32_HAS_WIDE) +#if !defined(SQLITE_WIN32_HAS_ANSI) OSVERSIONINFOW sInfo; sInfo.dwOSVersionInfoSize = sizeof(sInfo); osGetVersionExW(&sInfo); osInterlockedCompareExchange(&sqlite3_os_type, (sInfo.dwPlatformId == VER_PLATFORM_WIN32_NT) ? 2 : 1, 0); -#elif defined(SQLITE_WIN32_HAS_ANSI) +#else OSVERSIONINFOA sInfo; sInfo.dwOSVersionInfoSize = sizeof(sInfo); osGetVersionExA(&sInfo); osInterlockedCompareExchange(&sqlite3_os_type, (sInfo.dwPlatformId == VER_PLATFORM_WIN32_NT) ? 2 : 1, 0); _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users