aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormistachkin <mistachkin@noemail.net>2013-07-31 22:39:26 +0000
committermistachkin <mistachkin@noemail.net>2013-07-31 22:39:26 +0000
commitaa82eba40d90cc43bf5c2cc4f0c837c9b03b277b (patch)
treecaab5a36e3bacca69a72a2b290061dda1fffe42f /src
parent16a2e7a0536b9a6535ad732ab5a089cdef30087b (diff)
downloadsqlite-aa82eba40d90cc43bf5c2cc4f0c837c9b03b277b.tar.gz
sqlite-aa82eba40d90cc43bf5c2cc4f0c837c9b03b277b.zip
Slight modifications to path name translation handling for Cygwin.
FossilOrigin-Name: 33ba1f4c5dc2ef8292adf17a32ade0cde0887d88
Diffstat (limited to 'src')
-rw-r--r--src/os_win.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/os_win.c b/src/os_win.c
index 1f178e1ff..3647b0e47 100644
--- a/src/os_win.c
+++ b/src/os_win.c
@@ -17,6 +17,7 @@
#ifdef __CYGWIN__
# include <sys/cygwin.h>
+# include <errno.h>
#endif
/*
@@ -4530,13 +4531,20 @@ static int winFullPathname(
** one by prepending the data directory and a slash.
*/
char zOut[SQLITE_WIN32_MAX_PATH+1];
- memset(zOut, 0, SQLITE_WIN32_MAX_PATH+1);
- cygwin_conv_path(CCP_POSIX_TO_WIN_A|CCP_RELATIVE, zRelative, zOut,
- SQLITE_WIN32_MAX_PATH+1);
+ if( cygwin_conv_path(CCP_POSIX_TO_WIN_A|CCP_RELATIVE, zRelative, zOut,
+ SQLITE_WIN32_MAX_PATH+1)<0 ){
+ winLogError(SQLITE_CANTOPEN_FULLPATH, (DWORD)errno, "cygwin_conv_path",
+ zRelative);
+ return SQLITE_CANTOPEN_FULLPATH;
+ }
sqlite3_snprintf(MIN(nFull, pVfs->mxPathname), zFull, "%s\\%s",
sqlite3_data_directory, zOut);
}else{
- cygwin_conv_path(CCP_POSIX_TO_WIN_A, zRelative, zFull, nFull);
+ if( cygwin_conv_path(CCP_POSIX_TO_WIN_A, zRelative, zFull, nFull)<0 ){
+ winLogError(SQLITE_CANTOPEN_FULLPATH, (DWORD)errno, "cygwin_conv_path",
+ zRelative);
+ return SQLITE_CANTOPEN_FULLPATH;
+ }
}
return SQLITE_OK;
#endif