There are a few problems with your patch. +# ifdef _WIN32_WCE + static HANDLE loadLibraryUtf8(const char *z){ + WCHAR zWide[MAX_PATH]; + MultiByteToWideChar(CP_ACP,0,z,-1,zWide,MAX_PATH); + return LoadLibrary(zWide); + } +# define SQLITE_OPEN_LIBRARY(A) loadLibraryUtf8(A) +# define SQLITE_FIND_SYMBOL(A,B) GetProcAddressA(A,B) +# else +# define SQLITE_OPEN_LIBRARY(A) LoadLibrary(A) +# define SQLITE_FIND_SYMBOL(A,B) GetProcAddress(A,B) +# endif
The problem in question is not a Windows CE only one. It occurs with any client that builds in Unicode mode. Therefore you need to test for the _UNICODE define instead of _WINCE. Windows CE compilers will also set _UNICODE (I believe - Robert?). CP_ACP is not UTF-8. Use either CP_UTF8 or your own UTF-8 conversion functions from the OS library. Note also that MultiByteToWideChar may fail or return ERROR_NO_UNICODE_TRANSLATION (1113L) for UTF-8 conversions. There is no GetProcAddressA. You need to use GetProcAddress. The patch will need to be something like the following. Which I have tested and builds with no errors or warnings in _UNICODE mode. Still need someone to test it in WINCE to be sure. # include <windows.h> # define SQLITE_LIBRARY_TYPE HANDLE -# define SQLITE_OPEN_LIBRARY(A) LoadLibrary(A) +# ifdef _UNICODE +static HANDLE loadLibraryUtf8(const char *z){ + WCHAR zWide[MAX_PATH]; + DWORD dwLen = MultiByteToWideChar(CP_UTF8,0,z,-1,zWide,MAX_PATH); + if (dwLen == 0 || dwLen > MAX_PATH) return NULL; + return LoadLibraryW(zWide); +} +# define SQLITE_OPEN_LIBRARY(A) loadLibraryUtf8(A) +# else +# define SQLITE_OPEN_LIBRARY(A) LoadLibrary(A) +# endif # define SQLITE_FIND_SYMBOL(A,B) GetProcAddress(A,B) # define SQLITE_CLOSE_LIBRARY(A) FreeLibrary(A) Regards, Brodie [EMAIL PROTECTED] wrote: > Can somebody with access to wince please test patch [3537] > for me and let me know if it works to fix ticket #2023. > > http://www.sqlite.org/cvstrac/chngview?cn=3537 > http://www.sqlite.org/cvstrac/tktview?tn=2023 > > -- > D. Richard Hipp <[EMAIL PROTECTED]> > > > ----------------------------------------------------------------------------- > To unsubscribe, send email to [EMAIL PROTECTED] > ----------------------------------------------------------------------------- > > ----------------------------------------------------------------------------- To unsubscribe, send email to [EMAIL PROTECTED] -----------------------------------------------------------------------------