mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-12 13:01:09 +03:00
When compiled for WinRT, avoid using the FORMAT_MESSAGE_ALLOCATE_BUFFER flag to FormatMessage (i.e. because LocalFree is unavailable).
FossilOrigin-Name: 9eb331be7e905d11d9075ce1596478b55a7f488b
This commit is contained in:
12
manifest
12
manifest
@@ -1,5 +1,5 @@
|
|||||||
C When\srunning\son\sWindows\swith\san\sNT-based\skernel,\salways\suse\sthe\sLockFileEx/UnlockFileEx\sfunctions\s(with\sthe\scorrect\sflags).
|
C When\scompiled\sfor\sWinRT,\savoid\susing\sthe\sFORMAT_MESSAGE_ALLOCATE_BUFFER\sflag\sto\sFormatMessage\s(i.e.\sbecause\sLocalFree\sis\sunavailable).
|
||||||
D 2012-03-02T22:38:49.501
|
D 2012-03-02T23:53:54.759
|
||||||
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
||||||
F Makefile.in 3f79a373e57c3b92dabf76f40b065e719d31ac34
|
F Makefile.in 3f79a373e57c3b92dabf76f40b065e719d31ac34
|
||||||
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
||||||
@@ -167,7 +167,7 @@ F src/os.h c3a9db9e8e16f564e1a40cea1687dad69634262c
|
|||||||
F src/os_common.h 92815ed65f805560b66166e3583470ff94478f04
|
F src/os_common.h 92815ed65f805560b66166e3583470ff94478f04
|
||||||
F src/os_os2.c 4a75888ba3dfc820ad5e8177025972d74d7f2440
|
F src/os_os2.c 4a75888ba3dfc820ad5e8177025972d74d7f2440
|
||||||
F src/os_unix.c 0e3d2942d228d0366fb80a3640f35caf413b66d1
|
F src/os_unix.c 0e3d2942d228d0366fb80a3640f35caf413b66d1
|
||||||
F src/os_win.c f6b9fa7a93d16779b0504d8c5d438fdd0ef022bb
|
F src/os_win.c bde6f1867d1fca808dabf43f8caaa7130b3e666a
|
||||||
F src/pager.c 3955b62cdb5bb64559607cb474dd12a6c8e1d4a5
|
F src/pager.c 3955b62cdb5bb64559607cb474dd12a6c8e1d4a5
|
||||||
F src/pager.h ef1eaf8593e78f73885c1dfac27ad83bee23bdc5
|
F src/pager.h ef1eaf8593e78f73885c1dfac27ad83bee23bdc5
|
||||||
F src/parse.y 1ddd71ae55f4b7cbb2672526ea4de023de0f519e
|
F src/parse.y 1ddd71ae55f4b7cbb2672526ea4de023de0f519e
|
||||||
@@ -991,7 +991,7 @@ F tool/tostr.awk e75472c2f98dd76e06b8c9c1367f4ab07e122d06
|
|||||||
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
|
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
|
||||||
F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a
|
F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a
|
||||||
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
|
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
|
||||||
P a782d2dc3cd4ef49ed46b361cdd331be846c3d50
|
P 3e7ba3ddb956056b8132ed383feed4f329c634e0
|
||||||
R 5657a63a45c0ba0c63e40023bb562ed0
|
R fa5ae504586a17ee7bea7c3ad368dd9c
|
||||||
U mistachkin
|
U mistachkin
|
||||||
Z a7d3129db9e33b537945aea438ba067d
|
Z c2c4f50ec9e4a87a7802b817ca07287e
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
3e7ba3ddb956056b8132ed383feed4f329c634e0
|
9eb331be7e905d11d9075ce1596478b55a7f488b
|
||||||
14
src/os_win.c
14
src/os_win.c
@@ -1132,6 +1132,17 @@ static int getLastErrorMsg(DWORD lastErrno, int nBuf, char *zBuf){
|
|||||||
char *zOut = 0;
|
char *zOut = 0;
|
||||||
|
|
||||||
if( isNT() ){
|
if( isNT() ){
|
||||||
|
#if SQLITE_OS_WINRT
|
||||||
|
WCHAR zTempWide[MAX_PATH+1]; /* NOTE: Somewhat arbitrary. */
|
||||||
|
dwLen = osFormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM |
|
||||||
|
FORMAT_MESSAGE_IGNORE_INSERTS,
|
||||||
|
NULL,
|
||||||
|
lastErrno,
|
||||||
|
0,
|
||||||
|
zTempWide,
|
||||||
|
MAX_PATH,
|
||||||
|
0);
|
||||||
|
#else
|
||||||
LPWSTR zTempWide = NULL;
|
LPWSTR zTempWide = NULL;
|
||||||
dwLen = osFormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER |
|
dwLen = osFormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER |
|
||||||
FORMAT_MESSAGE_FROM_SYSTEM |
|
FORMAT_MESSAGE_FROM_SYSTEM |
|
||||||
@@ -1142,13 +1153,16 @@ static int getLastErrorMsg(DWORD lastErrno, int nBuf, char *zBuf){
|
|||||||
(LPWSTR) &zTempWide,
|
(LPWSTR) &zTempWide,
|
||||||
0,
|
0,
|
||||||
0);
|
0);
|
||||||
|
#endif
|
||||||
if( dwLen > 0 ){
|
if( dwLen > 0 ){
|
||||||
/* allocate a buffer and convert to UTF8 */
|
/* allocate a buffer and convert to UTF8 */
|
||||||
sqlite3BeginBenignMalloc();
|
sqlite3BeginBenignMalloc();
|
||||||
zOut = unicodeToUtf8(zTempWide);
|
zOut = unicodeToUtf8(zTempWide);
|
||||||
sqlite3EndBenignMalloc();
|
sqlite3EndBenignMalloc();
|
||||||
|
#if !SQLITE_OS_WINRT
|
||||||
/* free the system buffer allocated by FormatMessage */
|
/* free the system buffer allocated by FormatMessage */
|
||||||
osLocalFree(zTempWide);
|
osLocalFree(zTempWide);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifdef SQLITE_WIN32_HAS_ANSI
|
#ifdef SQLITE_WIN32_HAS_ANSI
|
||||||
|
|||||||
Reference in New Issue
Block a user