aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrh <>2024-09-18 15:38:05 +0000
committerdrh <>2024-09-18 15:38:05 +0000
commitae2a4acf8d5c56661901cb9830d67d6c847afcbb (patch)
tree66faf08a07beeedfcf657ca3189555af8e27137a
parenteaa50b866075f4c1a19065600e4f1bae059eb505 (diff)
downloadsqlite-ae2a4acf8d5c56661901cb9830d67d6c847afcbb.tar.gz
sqlite-ae2a4acf8d5c56661901cb9830d67d6c847afcbb.zip
Fix sqlite3-rsync so that it recognizes drive-letters on the front of pathnames
in Windows, and does not misinterpret them as hostnames. FossilOrigin-Name: 54a3bbd5781f76bd73f5276b632d1107312f7a789134910793262317edd8359c
-rw-r--r--manifest12
-rw-r--r--manifest.uuid2
-rw-r--r--tool/sqlite3-rsync.c20
3 files changed, 20 insertions, 14 deletions
diff --git a/manifest b/manifest
index d371868d8..2eab375cf 100644
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sharmless\sstatic\sanalyzer\swarning\sin\ssqlite3-rsync.
-D 2024-09-17T22:57:08.639
+C Fix\ssqlite3-rsync\sso\sthat\sit\srecognizes\sdrive-letters\son\sthe\sfront\sof\spathnames\nin\sWindows,\sand\sdoes\snot\smisinterpret\sthem\sas\shostnames.
+D 2024-09-18T15:38:05.984
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -2174,7 +2174,7 @@ F tool/speedtest8inst1.c 7ce07da76b5e745783e703a834417d725b7d45fd
F tool/spellsift.tcl 52b4b04dc4333c7ab024f09d9d66ed6b6f7c6eb00b38497a09f338fa55d40618 x
F tool/split-sqlite3c.tcl 5aa60643afca558bc732b1444ae81a522326f91e1dc5665b369c54f09e20de60
F tool/sqldiff.c 847fc8fcfddf5ce4797b7394cad6372f2f5dc17d8186e2ef8fb44d50fae4f44a
-F tool/sqlite3-rsync.c f4904e012de382a6ffaf67032f684c209c003eb819e3db7999f393550798c53a
+F tool/sqlite3-rsync.c 187b262035c1159b047dbfa1959c168b87b5a153b63465e8c8bd1b54fabf4460
F tool/sqlite3_analyzer.c.in 8da2b08f56eeac331a715036cf707cc20f879f231362be0c22efd682e2b89b4f
F tool/sqltclsh.c.in 1bcc2e9da58fadf17b0bf6a50e68c1159e602ce057210b655d50bad5aaaef898
F tool/sqltclsh.tcl 862f4cf1418df5e1315b5db3b5ebe88969e2a784525af5fbf9596592f14ed848
@@ -2213,8 +2213,8 @@ F vsixtest/vsixtest.tcl 6195aba1f12a5e10efc2b8c0009532167be5e301abe5b31385638080
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 97528788145b83a1486dbaf09326ebedbc07bd0b47a57cdff773885b0b984604
-R de863a50ae68edb342391097eaaa3380
+P a63e412b6b2939422ecfa99d91fccb7a9c61e1533bb0db20ff12f3815ef41a2c
+R 64239a9e7fef3c7cc0e28ec0a65d0646
U drh
-Z d1cb55d24cd7d46dead0c36bd671adaa
+Z f93b9837214dfb9db0480248c539a72c
# Remove this line to create a well-formed Fossil manifest.
diff --git a/manifest.uuid b/manifest.uuid
index d4cf2dec5..662cc718b 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-a63e412b6b2939422ecfa99d91fccb7a9c61e1533bb0db20ff12f3815ef41a2c
+54a3bbd5781f76bd73f5276b632d1107312f7a789134910793262317edd8359c
diff --git a/tool/sqlite3-rsync.c b/tool/sqlite3-rsync.c
index 55136a6a7..1be206a75 100644
--- a/tool/sqlite3-rsync.c
+++ b/tool/sqlite3-rsync.c
@@ -1558,14 +1558,20 @@ sqlite3_int64 currentTime(void){
** from the path.
*/
static char *hostSeparator(const char *zIn){
- char *zColon;
- char *zDirSep;
+ char *zPath = strchr(zIn, ':');
+ if( zPath==0 ) return 0;
+#ifdef _WIN32
+ if( isalpha(zIn[0]) && zIn[1]==':' && (zIn[2]=='/' || zIn[2]=='\\') ){
+ return 0;
+ }
+#endif
+ while( zIn<zPath ){
+ if( zIn[0]=='/' ) return 0;
+ if( zIn[0]=='\\' ) return 0;
+ zIn++;
+ }
+ return zPath;
- zColon = strchr(zIn, ':');
- if( zColon==0 ) return 0;
- zDirSep = strchr(zIn, '/');
- if( zDirSep==0 || zDirSep>zColon ) return zColon;
- return 0;
}
/*