diff options
author | mistachkin <mistachkin@noemail.net> | 2013-07-31 22:27:16 +0000 |
---|---|---|
committer | mistachkin <mistachkin@noemail.net> | 2013-07-31 22:27:16 +0000 |
commit | 16a2e7a0536b9a6535ad732ab5a089cdef30087b (patch) | |
tree | f12994108f40d762bc9cca721786c2d456d9c895 /src | |
parent | 68f7a9e942132d72d87650449b32d7ec179affda (diff) | |
download | sqlite-16a2e7a0536b9a6535ad732ab5a089cdef30087b.tar.gz sqlite-16a2e7a0536b9a6535ad732ab5a089cdef30087b.zip |
Use a new error code to represent a failure to get the configured temporary directory on Windows.
FossilOrigin-Name: c93d891b03c626b9ed01ed5ef2f246b2d4a40a64
Diffstat (limited to 'src')
-rw-r--r-- | src/main.c | 1 | ||||
-rw-r--r-- | src/os_win.c | 10 | ||||
-rw-r--r-- | src/sqlite.h.in | 1 |
3 files changed, 10 insertions, 2 deletions
diff --git a/src/main.c b/src/main.c index 9b25ae26b..d848dc7f5 100644 --- a/src/main.c +++ b/src/main.c @@ -1100,6 +1100,7 @@ const char *sqlite3ErrName(int rc){ case SQLITE_IOERR_SEEK: zName = "SQLITE_IOERR_SEEK"; break; case SQLITE_IOERR_DELETE_NOENT: zName = "SQLITE_IOERR_DELETE_NOENT";break; case SQLITE_IOERR_MMAP: zName = "SQLITE_IOERR_MMAP"; break; + case SQLITE_IOERR_GETTEMPPATH: zName = "SQLITE_IOERR_GETTEMPPATH"; break; case SQLITE_CORRUPT: zName = "SQLITE_CORRUPT"; break; case SQLITE_CORRUPT_VTAB: zName = "SQLITE_CORRUPT_VTAB"; break; case SQLITE_NOTFOUND: zName = "SQLITE_NOTFOUND"; break; diff --git a/src/os_win.c b/src/os_win.c index b8136f0e9..1f178e1ff 100644 --- a/src/os_win.c +++ b/src/os_win.c @@ -3905,7 +3905,10 @@ static int getTempname(int nBuf, char *zBuf){ else if( isNT() ){ char *zMulti; WCHAR zWidePath[MAX_PATH]; - osGetTempPathW(MAX_PATH-30, zWidePath); + if( osGetTempPathW(MAX_PATH-30, zWidePath)==0 ){ + OSTRACE(("TEMP-FILENAME rc=SQLITE_IOERR_GETTEMPPATH\n")); + return SQLITE_IOERR_GETTEMPPATH; + } zMulti = unicodeToUtf8(zWidePath); if( zMulti ){ sqlite3_snprintf(SQLITE_WIN32_MAX_PATH-30, zTempPath, "%s", zMulti); @@ -3919,7 +3922,10 @@ static int getTempname(int nBuf, char *zBuf){ else{ char *zUtf8; char zMbcsPath[SQLITE_WIN32_MAX_PATH]; - osGetTempPathA(SQLITE_WIN32_MAX_PATH-30, zMbcsPath); + if( osGetTempPathA(SQLITE_WIN32_MAX_PATH-30, zMbcsPath)==0 ){ + OSTRACE(("TEMP-FILENAME rc=SQLITE_IOERR_GETTEMPPATH\n")); + return SQLITE_IOERR_GETTEMPPATH; + } zUtf8 = sqlite3_win32_mbcs_to_utf8(zMbcsPath); if( zUtf8 ){ sqlite3_snprintf(SQLITE_WIN32_MAX_PATH-30, zTempPath, "%s", zUtf8); diff --git a/src/sqlite.h.in b/src/sqlite.h.in index 2fc3e80a4..fa33a0a40 100644 --- a/src/sqlite.h.in +++ b/src/sqlite.h.in @@ -473,6 +473,7 @@ int sqlite3_exec( #define SQLITE_IOERR_SEEK (SQLITE_IOERR | (22<<8)) #define SQLITE_IOERR_DELETE_NOENT (SQLITE_IOERR | (23<<8)) #define SQLITE_IOERR_MMAP (SQLITE_IOERR | (24<<8)) +#define SQLITE_IOERR_GETTEMPPATH (SQLITE_IOERR | (25<<8)) #define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8)) #define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8)) #define SQLITE_BUSY_SNAPSHOT (SQLITE_BUSY | (2<<8)) |