Diff
Not logged in

Differences From:

File src/info.c part of check-in [81a96aadf3] - Change CGI parameter name rid to uuid for the /zip URL. by cle on 2008-08-17 11:37:15. [view]

To:

File src/info.c part of check-in [5fb14b9a0f] - Include non-sym- tags in tagview web page. Also merge mainline into tagview branch. by eric on 2008-08-21 20:59:01. Also file src/info.c part of check-in [8745d0d579] - Merge tagview branch into mainline by eric on 2008-09-06 13:29:29. [view]

@@ -916,15 +916,32 @@
 ** Figure out what the UUID is and jump to it.
 */
 void info_page(void){
   const char *zName;
+  Blob uuid;
   int rid, nName;
 
   zName = P("name");
   if( zName==0 ) fossil_redirect_home();
   nName = strlen(zName);
   if( nName<4 || nName>UUID_SIZE || !validate16(zName, nName) ){
-    fossil_redirect_home();
+    switch( sym_tag_to_uuid(zName, &uuid) ){
+      case 1: {
+        /* got one UUID, use it */
+        zName = blob_str(&uuid);
+        break;
+      }
+      case 2: {
+        /* go somewhere to show the multiple UUIDs */
+        tagview_page();
+        return;
+        break;
+      }
+      default: {
+        fossil_redirect_home();
+        break;
+      }
+    }
   }
   if( db_exists("SELECT 1 FROM ticket WHERE tkt_uuid GLOB '%s*'", zName) ){
     tktview_page();
     return;