Check-in [47d8fc4944]
Not logged in
Overview

SHA1 Hash:47d8fc4944c2f2bf535a89f069d6f9ce0df5b257
Date: 2009-08-01 12:59:38
User: drh
Comment:Always store g.urlCanonical as the last-sync-url value. Fix for ticket 045f23be750d93c0bd91f179f39c5c829ed01bc6.
Timelines: ancestors | descendants | both | trunk
Other Links: files | ZIP archive | manifest

Tags And Properties
Changes
[hide diffs]

Modified src/clone.c from [f5925839e5] to [89ab820dce].

@@ -56,12 +56,12 @@
     db_record_repository_filename(g.argv[3]);
     db_multi_exec(
       "REPLACE INTO config(name,value)"
       " VALUES('server-code', lower(hex(randomblob(20))));"
       "REPLACE INTO config(name,value)"
-      " VALUES('last-sync-url', 'file://%q');",
-      g.urlName
+      " VALUES('last-sync-url', '%q');",
+      g.urlCanonical
     );
     g.zLogin = db_text(0, "SELECT login FROM user WHERE cap LIKE '%%s%%'");
     if( g.zLogin==0 ){
       db_create_default_users(1);
     }
@@ -73,11 +73,11 @@
     db_record_repository_filename(g.argv[3]);
     db_initial_setup(0, 0);
     user_select();
     db_set("content-schema", CONTENT_SCHEMA, 0);
     db_set("aux-schema", AUX_SCHEMA, 0);
-    db_set("last-sync-url", g.argv[2], 0);
+    db_set("last-sync-url", g.urlCanonical, 0);
     db_multi_exec(
       "REPLACE INTO config(name,value)"
       " VALUES('server-code', lower(hex(randomblob(20))));"
     );
     url_enable_proxy(0);

Modified src/sync.c from [e1f5588a66] to [d4cc7e5a3d].

@@ -83,11 +83,11 @@
   if( zUrl==0 ){
     if( urlOptional ) exit(0);
     usage("URL");
   }
   url_parse(zUrl);
-  db_set("last-sync-url", zUrl, 0);
+  db_set("last-sync-url", g.urlIsFile ? g.urlCanonical : zUrl, 0);
   user_select();
   if( g.argc==2 ){
     if( g.urlPort!=g.urlDfltPort ){
       printf("Server:    %s://%s:%d%s\n",
               g.urlProtocol, g.urlName, g.urlPort, g.urlPath);

Modified src/url.c from [6c8a641bd1] to [17c0d4bc8a].

@@ -87,12 +87,17 @@
       g.urlHostname = g.urlName;
     }
     g.urlPath = mprintf(&zUrl[i]);
     dehttpize(g.urlName);
     dehttpize(g.urlPath);
-    g.urlCanonical = mprintf("%s://%T:%d%T",
-         g.urlProtocol, g.urlName, g.urlPort, g.urlPath);
+    if( g.urlDfltPort==g.urlPort ){
+      g.urlCanonical = mprintf("%s://%T%T",
+                               g.urlProtocol, g.urlName, g.urlPath);
+    }else{
+      g.urlCanonical = mprintf("%s://%T:%d%T",
+                               g.urlProtocol, g.urlName, g.urlPort, g.urlPath);
+    }
   }else if( strncmp(zUrl, "file:", 5)==0 ){
     g.urlIsFile = 1;
     if( zUrl[5]=='/' && zUrl[6]=='/' ){
       i = 7;
     }else{