Fossil SCM

fixed error on dir page with unknown checkins

wolfgang 2010-09-27 15:44 wolfgangFormat2CSS_2
Commit 872f6a45e3338b77ed10ec49598343ff2ae7741d
1 file changed +9 -2
+9 -2
--- src/browse.c
+++ src/browse.c
@@ -106,10 +106,11 @@
106106
int cnt, i;
107107
char *zPrefix;
108108
Stmt q;
109109
const char *zCI = P("ci");
110110
int rid = 0;
111
+ char *zUuid = 0;
111112
Blob content;
112113
Blob dirname;
113114
Manifest m;
114115
const char *zSubdirLink;
115116
@@ -126,10 +127,17 @@
126127
if( zCI && (rid = name_to_rid(zCI))!=0 && content_get(rid, &content) ){
127128
if( !manifest_parse(&m, &content) || m.type!=CFTYPE_MANIFEST ){
128129
zCI = 0;
129130
}
130131
}
132
+ /* check existing checkin */
133
+ if (zCI){
134
+ zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid);
135
+ if (!zUuid){
136
+ zCI = 0;
137
+ }
138
+ }
131139
132140
/* Compute the title of the page */
133141
blob_zero(&dirname);
134142
if( zD ){
135143
blob_append(&dirname, "in directory ", -1);
@@ -138,13 +146,12 @@
138146
}else{
139147
blob_append(&dirname, "in the top-level directory", -1);
140148
zPrefix = "";
141149
}
142150
if( zCI ){
143
- char *zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid);
144151
char zShort[20];
145
- memcpy(zShort, zUuid, 10);
152
+ memcpy(zShort, zUuid, 1);
146153
zShort[10] = 0;
147154
@ <h2>Files of check-in [<a href="vinfo?name=%T(zUuid)">%s(zShort)</a>]
148155
@ %s(blob_str(&dirname))</h2>
149156
zSubdirLink = mprintf("%s/dir?ci=%S&amp;name=%T", g.zTop, zUuid, zPrefix);
150157
if( zD ){
151158
--- src/browse.c
+++ src/browse.c
@@ -106,10 +106,11 @@
106 int cnt, i;
107 char *zPrefix;
108 Stmt q;
109 const char *zCI = P("ci");
110 int rid = 0;
 
111 Blob content;
112 Blob dirname;
113 Manifest m;
114 const char *zSubdirLink;
115
@@ -126,10 +127,17 @@
126 if( zCI && (rid = name_to_rid(zCI))!=0 && content_get(rid, &content) ){
127 if( !manifest_parse(&m, &content) || m.type!=CFTYPE_MANIFEST ){
128 zCI = 0;
129 }
130 }
 
 
 
 
 
 
 
131
132 /* Compute the title of the page */
133 blob_zero(&dirname);
134 if( zD ){
135 blob_append(&dirname, "in directory ", -1);
@@ -138,13 +146,12 @@
138 }else{
139 blob_append(&dirname, "in the top-level directory", -1);
140 zPrefix = "";
141 }
142 if( zCI ){
143 char *zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid);
144 char zShort[20];
145 memcpy(zShort, zUuid, 10);
146 zShort[10] = 0;
147 @ <h2>Files of check-in [<a href="vinfo?name=%T(zUuid)">%s(zShort)</a>]
148 @ %s(blob_str(&dirname))</h2>
149 zSubdirLink = mprintf("%s/dir?ci=%S&amp;name=%T", g.zTop, zUuid, zPrefix);
150 if( zD ){
151
--- src/browse.c
+++ src/browse.c
@@ -106,10 +106,11 @@
106 int cnt, i;
107 char *zPrefix;
108 Stmt q;
109 const char *zCI = P("ci");
110 int rid = 0;
111 char *zUuid = 0;
112 Blob content;
113 Blob dirname;
114 Manifest m;
115 const char *zSubdirLink;
116
@@ -126,10 +127,17 @@
127 if( zCI && (rid = name_to_rid(zCI))!=0 && content_get(rid, &content) ){
128 if( !manifest_parse(&m, &content) || m.type!=CFTYPE_MANIFEST ){
129 zCI = 0;
130 }
131 }
132 /* check existing checkin */
133 if (zCI){
134 zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid);
135 if (!zUuid){
136 zCI = 0;
137 }
138 }
139
140 /* Compute the title of the page */
141 blob_zero(&dirname);
142 if( zD ){
143 blob_append(&dirname, "in directory ", -1);
@@ -138,13 +146,12 @@
146 }else{
147 blob_append(&dirname, "in the top-level directory", -1);
148 zPrefix = "";
149 }
150 if( zCI ){
 
151 char zShort[20];
152 memcpy(zShort, zUuid, 1);
153 zShort[10] = 0;
154 @ <h2>Files of check-in [<a href="vinfo?name=%T(zUuid)">%s(zShort)</a>]
155 @ %s(blob_str(&dirname))</h2>
156 zSubdirLink = mprintf("%s/dir?ci=%S&amp;name=%T", g.zTop, zUuid, zPrefix);
157 if( zD ){
158

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button