[ANNOUNCEMENT] Updated: sqlite3-3.8.7.1-1 for Cygwin/Cygwin64

Alexpux alexpux@gmail.com
Sat Nov 8 21:41:00 GMT 2014


> 4 нояб. 2014 г., в 15:26, Jan Nijtmans написал(а):
> 
> SQLite is a software library that implements a self-contained,
> serverless, zero-configuration, transactional SQL database engine
> 
> Changes since 3.8.6-1
> =====================
> * Updated to upstream 3.8.7.1 release. See:
>     <http://www.sqlite.org/changes.html>
>  Main new feature: "pragma threads=?" (default=0, max = 8). This
>  enables SQLite to use multiple processor cores at the same
>  time for sorting operations. See:
>    <http://www.sqlite.org/pragma.html#pragma_threads>
> * Additional SQLite (minor) bug-fixes, cherry-picked from SQLite trunk:
>  * Add special handling for static mutexes in sqlite3_mutex_alloc()
>    when automatic calls to sqlite3_initialize() are enabled
>    <http://www.sqlite.org/src/info/7857d27caa>
>  * Fix the %c format character in sqlite3VXPrintf() so that it correctly
>    handles precisions larger than 70
>    <http://www.sqlite.org/src/info/08a27440f1>
>  * Fix a (probably harmless) bug in the CSV output mode of
>    the command-line shell
>    <http://www.sqlite.org/src/info/19fe4a0a47>
>  * Change the command-line shell man-page to use the ".tr"
>    troff directive instead of ".cc" for escaping the initial "."
>    characters in the ".help" output
>    <http://www.sqlite.org/src/info/67f0d469da>
> * Additional SQLite bug-fixes, rejected (apparently) upstream
>  but important (and simple) enough for Cygwin:
>  * VFS filename truncation issues
>    <http://www.sqlite.org/src/info/c060923a54>
>  * Wrong filename handling in sqlite3_load_extension() for Cygwin
>    <http://osdir.com/ml/sqlite-users/2014-02/msg00431.html>
>  * pragma database_list returns win32 paths on Cygwin
>    <http://osdir.com/ml/sqlite-users/2014-02/msg00515.html>
>  * ISO time leap second
>    <http://osdir.com/ml/sqlite-users/2014-07/msg00606.html>
>  * update to Unicode 7.0 for FTS3 tokenizer
> 

Hi!
We tried to update MSYS2 sqlite3 to the same version and found that on i686 doesn’t work properly because the wrong calling convention is used when calling GetModuleHandleW and SetDllDirectoryW.
Here is the patch to fix this issue:

diff -Naur sqlite-autoconf-3080701-orig/sqlite3.c sqlite-autoconf-3080701/sqlite3.c
--- sqlite-autoconf-3080701-orig/sqlite3.c	2014-11-08 20:34:01.593800000 +0300
+++ sqlite-autoconf-3080701/sqlite3.c	2014-11-08 20:37:42.146600000 +0300
@@ -33758,14 +33758,14 @@
   { "GetModuleHandleW",         (SYSCALL)0,                      0 },
 #endif
 
-#define osGetModuleHandleW ((HMODULE(*)(LPCWSTR))aSyscall[76].pCurrent)
+#define osGetModuleHandleW ((HMODULE(WINAPI*)(LPCWSTR))aSyscall[76].pCurrent)
 
 #if defined(SQLITE_WIN32_HAS_WIDE) && !defined(SQLITE_OMIT_LOAD_EXTENSION)
   { "SetDllDirectoryW",         (SYSCALL)SetDllDirectoryW,       0 },
 #else
   { "SetDllDirectoryW",         (SYSCALL)0,                      0 },
 #endif
 
-#define osSetDllDirectoryW ((BOOL(*)(LPCWSTR))aSyscall[77].pCurrent)
+#define osSetDllDirectoryW ((BOOL(WINAPI*)(LPCWSTR))aSyscall[77].pCurrent)
 
 #if defined(__CYGWIN__)
   { "getenv",                   (SYSCALL)getenv,                 0 },

Regards,
Alexey.

> --
> Jan Nijtmans
> 
> --
> Problem reports:       http://cygwin.com/problems.html
> FAQ:                   http://cygwin.com/faq/
> Documentation:         http://cygwin.com/docs.html
> Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> 


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list